{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/utils/date.js","webpack:///./src/views/apps/help-desk/category-list/CategoryUsers.vue?7555","webpack:///./src/views/apps/help-desk/category-list/CategoryUserAdd.vue?cdd8","webpack:///src/views/apps/help-desk/category-list/CategoryUserAdd.vue","webpack:///./src/views/apps/help-desk/category-list/CategoryUserAdd.vue?5b41","webpack:///./src/views/apps/help-desk/category-list/CategoryUserAdd.vue","webpack:///src/views/apps/help-desk/category-list/CategoryUsers.vue","webpack:///./src/views/apps/help-desk/category-list/CategoryUsers.vue?1b9a","webpack:///./src/views/apps/help-desk/category-list/CategoryUsers.vue","webpack:///./node_modules/core-js/internals/to-index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/core-js/internals/array-copy-within.js","webpack:///./node_modules/core-js/modules/es.typed-array.subarray.js","webpack:///./node_modules/core-js/internals/to-offset.js","webpack:///./src/components/List.vue?51e0","webpack:///./node_modules/core-js/modules/es.typed-array.sort.js","webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/core-js/modules/es.typed-array.slice.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./src/components/List.vue?a00a","webpack:///./src/components/ExcelTemplateUploader.vue?ce8e","webpack:///src/components/ExcelTemplateUploader.vue","webpack:///./src/components/ExcelTemplateUploader.vue?9453","webpack:///./src/components/ExcelTemplateUploader.vue","webpack:///./src/components/ListHeader.vue?eef4","webpack:///./src/components/ListHeaderFilter.vue?b720","webpack:///./src/components/ListHeaderFilterModal.vue?8e3c","webpack:///src/components/ListHeaderFilterModal.vue","webpack:///./src/components/ListHeaderFilterModal.vue?5914","webpack:///./src/components/ListHeaderFilterModal.vue","webpack:///src/components/ListHeaderFilter.vue","webpack:///./src/components/ListHeaderFilter.vue?42a4","webpack:///./src/components/ListHeaderFilter.vue","webpack:///src/components/ListHeader.vue","webpack:///./src/components/ListHeader.vue?8da9","webpack:///./src/components/ListHeader.vue","webpack:///src/components/List.vue","webpack:///./src/components/List.vue?1f13","webpack:///./src/components/List.vue","webpack:///./node_modules/core-js/modules/es.typed-array.last-index-of.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/media/media.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/core-js/modules/es.typed-array.find-index.js","webpack:///./node_modules/core-js/modules/es.typed-array.set.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/core-js/modules/es.typed-array.map.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./src/@core/comp-functions/forms/form-validation.js","webpack:///./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/core-js/modules/es.typed-array.join.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./node_modules/core-js/modules/es.typed-array.iterator.js","webpack:///./node_modules/core-js/internals/array-buffer.js","webpack:///./node_modules/core-js/modules/es.typed-array.some.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-string.js","webpack:///./src/services/useradmin.service.js","webpack:///./node_modules/core-js/modules/es.typed-array.fill.js","webpack:///./node_modules/core-js/internals/typed-array-constructor.js","webpack:///./node_modules/core-js/internals/ieee754.js","webpack:///./node_modules/core-js/internals/array-fill.js","webpack:///./node_modules/core-js/modules/es.typed-array.includes.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/bootstrap-vue/esm/constants/date.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack:///./node_modules/core-js/internals/typed-array-from.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/core-js/modules/es.typed-array.every.js","webpack:///./node_modules/core-js/internals/array-buffer-native.js","webpack:///./node_modules/core-js/modules/es.array-buffer.slice.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack:///./src/components/FileUploader.vue?a79e","webpack:///src/components/FileUploader.vue","webpack:///./src/components/FileUploader.vue?64cb","webpack:///./src/components/FileUploader.vue","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/sidebar.js","webpack:///./node_modules/core-js/modules/es.typed-array.filter.js","webpack:///./node_modules/bootstrap-vue/esm/components/calendar/calendar.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-datepicker/form-datepicker.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/form-file.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-append.js","webpack:///./node_modules/core-js/modules/es.typed-array.reverse.js","webpack:///./node_modules/core-js/modules/es.typed-array.find.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/modules/es.typed-array.for-each.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/directives/hover/hover.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-btn-label-control/bv-form-btn-label-control.js","webpack:///./node_modules/core-js/internals/array-last-index-of.js","webpack:///./src/services/file.service.js","webpack:///./node_modules/core-js/modules/es.typed-array.index-of.js","webpack:///./node_modules/core-js/internals/array-buffer-view-core.js","webpack:///./node_modules/core-js/internals/to-positive-integer.js"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","props","label","role","small","tag","type","variant","BSpinner","extend","name","functional","render","h","_ref","_class","data","slots","scopedSlots","$slots","$scopedSlots","$label","staticClass","attrs","class","concat","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","Array","from","test","len","length","arr2","Symbol","iterator","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","err","isArray","_construct","Parent","args","Class","_isNativeReflectConstruct","Reflect","construct","a","apply","Constructor","Function","bind","instance","_setPrototypeOf","arguments","sham","Proxy","Date","e","p","setPrototypeOf","__proto__","createDate","_len","_key","parseYMD","date","trim","_date$split$map","split","map","v","_date$split$map2","year","month","day","getFullYear","getMonth","getDate","formatYMD","resolveLocale","locales","calendar","filter","fmt","Intl","DateTimeFormat","resolvedOptions","locale","createDateFormatter","options","dtf","format","datesEqual","date1","date2","firstDateOfMonth","setDate","lastDateOfMonth","setMonth","addYears","numberOfYears","setFullYear","oneMonthAgo","oneMonthAhead","oneYearAgo","oneYearAhead","oneDecadeAgo","oneDecadeAhead","constrainDate","min","max","_vm","this","_h","$createElement","_c","_self","isSidebarActive","on","$event","refCategoryUserList","refreshData","ref","actions","tableColumns","tableActions","fetchCategoryUsers","filters","deleteCategoryUser","_u","fn","item","avatar","avatarText","nombreCompleto","proxy","_v","nombreUsuario","staticRenderFns","resetForm","val","$emit","hide","$t","handleSubmit","preventDefault","onSubmit","errors","$store","state","appConfig","isRTL","users","option","userName","$can","model","ticketCategoriaUsuario","callback","$$v","$set","expression","directives","rawName","modifiers","components","BSidebar","BForm","BRow","BFormGroup","BButton","BFormInvalidFeedback","vSelect","ValidationObserver","ValidationProvider","Boolean","required","setup","ticketCategoriaId","fetchUsers","collection","router","createCategoryUser","optionService","refFormObserver","component","List","CategoryUserAdd","BMedia","BAvatar","BLink","fetchCategoryUser","toInteger","toLength","module","exports","it","number","RangeError","fails","wellKnownSymbol","IS_PURE","ITERATOR","url","URL","searchParams","result","pathname","forEach","toJSON","sort","href","get","String","URLSearchParams","username","host","hash","title","replacer","str","capitalizedArray","word","capitalized","charAt","toUpperCase","join","nameArray","is","x","y","toObject","toAbsoluteIndex","Math","copyWithin","target","start","O","to","end","count","inc","ArrayBufferViewCore","speciesConstructor","aTypedArray","exportTypedArrayMethod","begin","beginIndex","buffer","byteOffset","BYTES_PER_ELEMENT","toPositiveInteger","BYTES","offset","$sort","comparefn","b","autoBom","console","warn","Blob","c","d","XMLHttpRequest","open","responseType","onload","g","response","onerror","error","send","status","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","f","self","global","navigator","userAgent","saveAs","HTMLAnchorElement","webkitURL","j","createElement","download","rel","origin","location","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","body","innerText","HTMLElement","safari","FileReader","k","onloadend","replace","readAsDataURL","l","m","$reduceRight","right","callbackfn","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","source","getOwnPropertyDescriptors","defineProperties","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","trigger","placement","fallbackPlacement","container","animation","id","html","interactive","disabled","delay","boundary","boundaryPadding","customClass","show","arg","mod","selectedTriggers","toLowerCase","applyTooltip","el","$parent","context","parent","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","componentUpdated","$nextTick","unbind","_watch","_makeModelMixin","defaultValue","validator","modelMixin","mixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","event","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","startNumber","numberOfPages","_","classes","limit","page","keyCode","immediatePropagation","currentTarget","align","ariaLabel","ellipsisClass","ellipsisText","firstClass","firstNumber","firstText","hideEllipsis","hideGotoEndButtons","labelFirstPage","labelLastPage","labelNextPage","labelPage","labelPrevPage","lastClass","lastNumber","lastText","nextClass","nextText","pageClass","pills","prevClass","prevText","size","paginationMixin","mixins","currentPage","localNumberOfPages","localLimit","computed","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","math","lastPageNumber","pageList","_this$paginationParam","pages","idx","_i2","_i3","watch","newValue","oldValue","created","_this","methods","handleKeyNav","shiftKey","isNav","propagation","focusFirst","focusPrev","focusLast","focusNext","getButtons","$el","btn","focusCurrent","_this2","find","_this3","_this4","reverse","_this5","buttons","index","indexOf","_this6","_this7","pageNumbers","_this$paginationParam2","fill","$buttons","isActivePage","pageNumber","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","isDisabled","scope","$btnContent","normalizeSlot","$inner","linkProps","tabindex","ariaControls","onClick","keydown","makeEllipsis","isLast","makePageButton","active","tabIndex","btnContent","makePage","content","$firstPageBtn","$lastPageBtn","$pagination","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","perPage","totalRows","BPagination","pageSizeNumberOfPages","clickEvt","cancelable","vueTarget","defaultPrevented","contains","pageNum","aTypedArrayConstructor","$slice","FORCED","Int8Array","list","C","EOF","$","DESCRIPTORS","USE_NATIVE_URL","redefine","anInstance","has","assign","arrayFrom","codeAt","toASCII","setToStringTag","URLSearchParamsModule","InternalStateModule","NativeURL","getInternalSearchParamsState","getState","setInternalState","set","getInternalURLState","getterFor","floor","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","input","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","pop","parseInt","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","code","encodeURIComponent","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","string","normalized","second","startsWithWindowsDriveLetter","third","shortenURLsPath","path","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","base","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","port","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","that","urlString","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","URLPrototype","output","accessorDescriptor","getter","setter","nativeCreateObjectURL","nativeRevokeObjectURL","blob","forced","searchQuery","searchPlaceholder","staticStyle","tableColumnsValue","refetchRecordsFunction","sortByValue","isSortDirDesc","_l","slotName","_t","totalRecords","action","disabledCondition","aclAction","aclResource","routeName","$router","params","resolveTableActionParams","icon","dataMeta","Showing","of","onChangePage","uploadTemplateSelectCustomer","uploadTemplateFunction","refTable","refresh","success","deleteRecord","uploading","uploadErrors","templateFile","mensajeLecturaExcel","onDeleteFile","hojas","selectedSheet","selectCustomer","customers","r","selectedCustomer","loadTemplate","onUploadAgain","BModal","BAlert","FileUploader","heightFade","default","fetchOptions","refModal","emit","perPageOptions","perPageValue","searchQueryValue","onFilter","toolTip","routeParams","resolveComponent","BFormDatepicker","BFormCheckbox","domainName","domainTextOptions","fetchTextOptions","ListFilterModal","BCol","BDropdown","BDropdownItem","BFormInput","ListFilter","Number","BCard","BTable","BCardText","ListHeader","ExcelTemplateUploader","keyField","sortBy","sortDirDesc","controllerName","modelName","refetchRecords","refetchRecordsName","uploadTemplate","fetchReport","fetchTemplate","deleteMethod","reportName","templateName","tableStore","metaDataViewModel","Fields","offSet","element","axios","records","total","downloadReportAction","i18n","downloadReport","downloadTemplateAction","downloadTemplate","tableActionDelete","refModalDelete","recordIdForDelete","uploadTemplateAction","localItemsCount","store","tableAction","param","refExcelTemplateUploader","beforeMount","$swal","text","confirmButton","buttonsStyling","$lastIndexOf","searchElement","verticalAlign","BMediaAside","children","BMediaBody","noBody","rightAlign","$children","slotScope","$aside","BInputGroupPrepend","append","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","$findIndex","findIndex","predicate","toOffset","arrayLike","src","$map","mapfn","isText","BInputGroupAddon","formValidation","resetFormData","clearFormData","resetObserver","reset","getValidationState","dirty","validated","fieldRequired","changed","valid","nextTick","clearForm","createTypedArrayConstructor","init","appendHtml","prepend","prependHtml","BInputGroup","$prepend","hasPrependSlot","domProps","$append","hasAppendSlot","$join","separator","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","counter","charCodeAt","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","q","t","qMinusT","baseMinusT","encoded","labels","parseCountDown","parseShow","dismissLabel","dismissible","fade","countDown","localShow","clearCountDownInterval","$_countDownTimeout","$_filterTimer","beforeDestroy","dismiss","clearTimeout","$alert","$dismissButton","ArrayIterators","Uint8Array","arrayValues","values","arrayKeys","arrayEntries","entries","nativeTypedArrayIterator","CORRECT_ITER_NAME","typedArrayValues","NATIVE_ARRAY_BUFFER","createNonEnumerableProperty","redefineAll","toIndex","IEEE754","getPrototypeOf","getOwnPropertyNames","arrayFill","getInternalState","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_LENGTH","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","$DataView","$DataViewPrototype","ObjectPrototype","packIEEE754","pack","unpackIEEE754","unpack","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","view","isLittleEndian","intIndex","byteLength","bytes","conversion","NaN","ArrayBufferPrototype","testView","nativeSetInt8","setInt8","getInt8","setUint8","unsafe","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","ArrayBuffer","DataView","$some","some","Uint8ArrayPrototype","arrayToString","arrayJoin","IS_NOT_ARRAY_METHOD","useradminService","common","throwError","API_URL","process","then","catch","fetchAllUsers","createUser","Promise","resolve","reject","post","fetchUser","updateUser","put","partialUpdateUser","patch","deleteUser","delete","fetchUserClaims","createUserClaim","deleteUserClaim","fetchRoles","fetchUserRoles","createUserRole","deleteUserRole","roleName","fetchUserLogins","deleteUserLogins","loginProvider","providerKey","updateUserPassword","fetchUserLogs","$fill","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferModule","createPropertyDescriptor","toPrimitive","classof","isObject","create","typedArrayFrom","setSpecies","definePropertyModule","getOwnPropertyDescriptorModule","inheritIfRequired","nativeDefineProperty","nativeGetOwnPropertyDescriptor","round","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_TAG","TypedArray","TypedArrayPrototype","isTypedArray","fromList","isArrayBuffer","klass","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","descriptor","stat","TYPE","wrapper","CLAMPED","match","CONSTRUCTOR_NAME","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructor","TypedArrayConstructorPrototype","exported","addElement","dummy","typedArrayOffset","$length","$len","Infinity","abs","log","LN2","mantissaLength","exponent","mantissa","exponentLength","eMax","eBias","rt","sign","nBits","argumentsLength","endPos","$includes","includes","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","searcher","RegExp","res","rx","S","previousLastIndex","lastIndex","notARegExp","correctIsRegExpLogic","nativeEndsWith","endsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","endPosition","checkCorrectnessOfIteration","iterable","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","arrowPadding","BVPopper","attachment","getAttachment","templateType","popperConfig","getOffset","flip","behavior","arrow","preventOverflow","padding","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","$_popper","popperCreate","handleDestroy","$once","updated","updatePopper","destroyPopper","destroyed","parentNode","removeChild","$refs","arrowOffset","width","destroy","scheduleUpdate","renderTemplate","appear","beforeEnter","afterEnter","beforeLeave","afterLeave","BVTooltipTemplate","extends","templateClasses","noninteractive","templateAttributes","$attrs","scopedStyleAttrs","templateListeners","mouseenter","mouseleave","focusin","focusout","$title","innerHTML","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","BVTooltip","activeTrigger","computedId","computedDelay","computedTriggers","identity","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","array","listen","handleTemplateUpdate","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","noop","getTarget","scopeId","deactivated","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","appendChild","hideTemplate","clearActiveTriggers","localPlacementTarget","_unused","removeAriaDescribedby","restoreTitle","getTemplateElement","dropdownOpen","showEvt","buildEvent","emitEvent","addAriaDescribedby","force","tip","hideEvt","prevHoverState","leave","getTargetId","isInModal","isDropdown","clearInterval","desc","relatedTarget","componentId","bvEvent","emitOnRoot","setRootListener","events","$root","method","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","_this9","documentElement","__vue__","enter","eventTarget","toggle","_this10","_this11","getBuiltIn","createIteratorConstructor","hasOwn","getIterator","getIteratorMethod","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","percentDecode","sequence","decodeURIComponent","deserialize","serialize","parseSearchParams","attribute","entry","attributes","validateArgumentsLength","passed","URLSearchParamsIterator","kind","step","URLSearchParamsConstructor","iteratorMethod","entryIterator","entryNext","first","URLSearchParamsPrototype","splice","getAll","found","entriesIndex","sliceIndex","boundFunction","fetch","headers","CALENDAR_GREGORY","CALENDAR_LONG","CALENDAR_NARROW","CALENDAR_SHORT","DATE_FORMAT_2_DIGIT","DATE_FORMAT_NUMERIC","$copyWithin","isArrayIteratorMethod","mapping","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","plain","formCustomMixin","custom","$every","every","nativeArrayBufferSlice","INCORRECT_SLICE","fin","viewSource","viewTarget","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","_createForOfIteratorHelper","allowArrayLike","F","s","normalCompletion","didErr","_e2","importingFile","onUploadFile","BFormFile","fileName","fileType","createFile","createExcelTemplateFile","reader","readAsArrayBuffer","image","blobURL","blobResize","arrayBuffer","byteArray","uploadFile","CLASS_NAME","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","ariaLabelledby","backdrop","backdropVariant","bgVariant","bodyClass","closeLabel","footerClass","headerClass","lazy","noCloseOnBackdrop","noCloseOnEsc","noCloseOnRouteChange","noEnforceFocus","noHeader","noHeaderClose","noSlide","shadow","sidebarClass","textVariant","zIndex","renderHeaderTitle","ctx","safeId","renderHeaderClose","renderHeader","$content","$close","renderBody","renderFooter","$footer","renderContent","$header","isOpen","renderBackdrop","onBackdropClick","inheritAttrs","visible","transitionProps","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","hasTitle","hasNormalizedSlot","titleId","computedAttrs","bvAttrs","emitState","fullPath","$_returnFocusEl","mounted","listenOnRoot","handleToggle","handleSync","activated","emitSync","onKeydown","onTopTrapFocus","tabables","enforceFocus","onBottomTrapFocus","onBeforeEnter","onAfterEnter","onAfterLeave","$sidebar","style","$backdrop","$tabTrapTop","$tabTrapBottom","$filter","block","dateDisabledFn","dateFormatOptions","weekday","dateInfoFn","direction","hidden","hideHeader","initialDate","labelCalendar","labelCurrentMonth","labelHelp","labelNav","labelNextDecade","labelNextMonth","labelNextYear","labelNoDateSelected","labelPrevDecade","labelPrevMonth","labelPrevYear","labelSelected","labelToday","navButtonVariant","noHighlightToday","noKeyNav","readonly","roleDescription","selectedVariant","showDecadeNav","startWeekday","todayVariant","valueAsDate","weekdayHeaderFormat","BCalendar","selected","selectedYMD","activeYMD","getToday","gridHasFocus","isLive","valueId","widgetId","navId","gridId","gridCaptionId","gridHelpId","activeId","selectedDate","activeDate","computedMin","computedMax","computedWeekStarts","computedLocale","computedDateDisabledFn","computedDateInfoFn","calendarLocale","calendarYear","calendarMonth","calendarFirstDay","calendarDaysInMonth","computedVariant","computedTodayVariant","computedNavButtonVariant","dir","selectedFormatted","formatDateString","activeFormatted","dateDisabled","rtl","dateOutOfRange","rangeFn","ymd","hour","minute","formatYearMonth","formatWeekdayName","formatWeekdayNameShort","formatDay","nf","NumberFormat","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","prevDecadeDisabled","prevYearDisabled","prevMonthDisabled","thisMonthDisabled","nextMonthDisabled","nextYearDisabled","nextDecadeDisabled","matrix","firstDay","daysInMonth","startIndex","getDay","weekOffset","currentDay","week","dayYMD","dayDisabled","dateInfo","isThisMonth","info","calendarHeadings","old","newYMD","oldYMD","setLive","grid","emitSelected","setGridFocusFlag","onKeydownWrapper","altKey","ctrlKey","checkDate","constrainedToday","onKeydownGrid","onClickDay","clickedDate","gotoPrevDecade","gotoPrevYear","gotoPrevMonth","gotoCurrentMonth","gotoNextMonth","gotoNextYear","gotoNextDecade","onHeaderClick","hideDecadeNav","todayYMD","highlightToday","for","labelSelectedDate","navScope","navProps","shiftV","navPrevProps","flipH","navNextProps","$prevDecadeIcon","$prevYearIcon","$prevMonthIcon","$thisMonthIcon","$nextMonthIcon","$nextYearIcon","$nextDecadeIcon","makeNavBtn","handler","btnDisabled","shortcut","$nav","$gridCaption","$gridWeekDays","$gridBody","$cells","dIndex","isSelected","isActive","isToday","idCell","$btn","pointerEvents","$gridHelp","$grid","$slot","$widget","lang","calendarProps","formBtnLabelControlProps","calendarWidth","closeButton","closeButtonVariant","dark","labelCloseButton","labelResetButton","labelTodayButton","noCloseOnSelect","resetButton","resetButtonVariant","resetValue","todayButton","todayButtonVariant","localYMD","isVisible","localLocale","formattedValue","calendarYM","computedLang","computedResetValue","control","setAndClose","onSelected","onInput","onContext","onTodayButton","onResetButton","onCloseButton","onShow","onShown","onHidden","defaultButtonFn","isHovered","hasFocus","$props","placeholder","_label","_label2","$calendar","menuClass","shown","_objectSpread2","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","inject","bvGroup","isChecked","checked","computedLocalChecked","isRadio","setIndeterminate","computedLocalCheckedWatcher","$input","indeterminate","handleChange","_ref$target","uncheckedValue","localChecked","isGroup","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","getDataTransferItemEntry","getAsEntry","webkitGetAsEntry","getAllFileEntries","dataTransferItemList","traverseDirectories","all","isDirectory","getAllFileEntriesInDirectory","createReader","isFile","$path","directoryReader","entryPromises","readDirectoryEntries","readEntries","accept","browseText","capture","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","files","dragging","dropAllowed","computedAccept","extOrType","startMatch","endMatch","computedCapture","form","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","labelContent","allowed","filesTraversed","names","$_form","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","items","add","_unused2","handleFiles","isDrop","filteredFiles","focusHandler","onChange","_event$dataTransfer","webkitRelativePath","onDragenter","_event$dataTransfer2","dropEffect","onDragover","_event$dataTransfer3","onDragleave","onDrop","stateClass","change","dragenter","dragover","dragleave","drop","_typeof","today","$reduce","left","BInputGroupAppend","middle","$find","BInputGroupText","_methods","button","buttonVariant","inline","formRadioCheckMixin","isBtnMode","isPlain","isCustom","isSwitch","switches","switch","isInline","isRequired","computedName","groupName","computedForm","computedSize","computedState","computedButtonVariant","buttonClasses","_ref2","handleFocus","$button","aFunction","createMethod","IS_RIGHT","memo","$forEach","textTag","PROP","MOUSEENTER","MOUSELEAVE","createListener","listener","_ref$value","hasListener","handlerChanged","VBHover","dropdown","buttonOnly","BVFormBtnLabelControl","idButton","idLabel","idMenu","idWrapper","computedDir","setFocus","handleHover","hovered","invalid","btnScope","opened","mousedown","onMousedown","scale","$hidden","$menu","sizeFormClass","directionClass","boundaryClass","arrayMethodUsesToLength","nativeLastIndexOf","lastIndexOf","NEGATIVE_ZERO","USES_TO_LENGTH","ACCESSORS","1","fileService","fetchFile","idArchivo","fetchFileStreaming","fetchFileDigitalRecord","fetchFileDigitalRecordStreaming","createFiles","archivos","$indexOf","NAME","uid","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","isPrototypeOf","TO_STRING_TAG","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","ARRAY","KEY","property","exportTypedArrayStaticMethod"],"mappings":"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","file":"js/chunk-029b9e44.2bdf22c1.js","sourcesContent":["function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_SPINNER } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_LABEL } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n label: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING, 'status'),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n type: makeProp(PROP_TYPE_STRING, 'border'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_SPINNER); // --- Main component ---\n// @vue/component\n\nexport var BSpinner = /*#__PURE__*/Vue.extend({\n name: NAME_SPINNER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var $label = normalizeSlot(SLOT_NAME_LABEL, {}, $scopedSlots, $slots) || props.label;\n\n if ($label) {\n $label = h('span', {\n staticClass: 'sr-only'\n }, $label);\n }\n\n return h(props.tag, mergeData(data, {\n attrs: {\n role: $label ? props.role || 'status' : null,\n 'aria-hidden': $label ? null : 'true'\n },\n class: (_class = {}, _defineProperty(_class, \"spinner-\".concat(props.type), props.type), _defineProperty(_class, \"spinner-\".concat(props.type, \"-sm\"), props.small), _defineProperty(_class, \"text-\".concat(props.variant), props.variant), _class)\n }), [$label || h()]);\n }\n});","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure 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 _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n// Date utility functions\nimport { CALENDAR_GREGORY } from '../constants/date';\nimport { RX_DATE, RX_DATE_SPLIT } from '../constants/regex';\nimport { concat } from './array';\nimport { identity } from './identity';\nimport { isDate, isString } from './inspect';\nimport { toInteger } from './number'; // --- Date utility methods ---\n// Create or clone a date (`new Date(...)` shortcut)\n\nexport var createDate = function createDate() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _construct(Date, args);\n}; // Parse a date sting, or Date object, into a Date object (with no time information)\n\nexport var parseYMD = function parseYMD(date) {\n if (isString(date) && RX_DATE.test(date.trim())) {\n var _date$split$map = date.split(RX_DATE_SPLIT).map(function (v) {\n return toInteger(v, 1);\n }),\n _date$split$map2 = _slicedToArray(_date$split$map, 3),\n year = _date$split$map2[0],\n month = _date$split$map2[1],\n day = _date$split$map2[2];\n\n return createDate(year, month - 1, day);\n } else if (isDate(date)) {\n return createDate(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n return null;\n}; // Format a date object as `YYYY-MM-DD` format\n\nexport var formatYMD = function formatYMD(date) {\n date = parseYMD(date);\n\n if (!date) {\n return null;\n }\n\n var year = date.getFullYear();\n var month = \"0\".concat(date.getMonth() + 1).slice(-2);\n var day = \"0\".concat(date.getDate()).slice(-2);\n return \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n}; // Given a locale (or locales), resolve the browser available locale\n\nexport var resolveLocale = function resolveLocale(locales)\n/* istanbul ignore next */\n{\n var calendar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : CALENDAR_GREGORY;\n locales = concat(locales).filter(identity);\n var fmt = new Intl.DateTimeFormat(locales, {\n calendar: calendar\n });\n return fmt.resolvedOptions().locale;\n}; // Create a `Intl.DateTimeFormat` formatter function\n\nexport var createDateFormatter = function createDateFormatter(locale, options)\n/* istanbul ignore next */\n{\n var dtf = new Intl.DateTimeFormat(locale, options);\n return dtf.format;\n}; // Determine if two dates are the same date (ignoring time portion)\n\nexport var datesEqual = function datesEqual(date1, date2) {\n // Returns true of the date portion of two date objects are equal\n // We don't compare the time portion\n return formatYMD(date1) === formatYMD(date2);\n}; // --- Date \"math\" utility methods (for BCalendar component mainly) ---\n\nexport var firstDateOfMonth = function firstDateOfMonth(date) {\n date = createDate(date);\n date.setDate(1);\n return date;\n};\nexport var lastDateOfMonth = function lastDateOfMonth(date) {\n date = createDate(date);\n date.setMonth(date.getMonth() + 1);\n date.setDate(0);\n return date;\n};\nexport var addYears = function addYears(date, numberOfYears) {\n date = createDate(date);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear() + numberOfYears); // Handle Feb 29th for leap years\n\n if (date.getMonth() !== month) {\n date.setDate(0);\n }\n\n return date;\n};\nexport var oneMonthAgo = function oneMonthAgo(date) {\n date = createDate(date);\n var month = date.getMonth();\n date.setMonth(month - 1); // Handle when days in month are different\n\n if (date.getMonth() === month) {\n date.setDate(0);\n }\n\n return date;\n};\nexport var oneMonthAhead = function oneMonthAhead(date) {\n date = createDate(date);\n var month = date.getMonth();\n date.setMonth(month + 1); // Handle when days in month are different\n\n if (date.getMonth() === (month + 2) % 12) {\n date.setDate(0);\n }\n\n return date;\n};\nexport var oneYearAgo = function oneYearAgo(date) {\n return addYears(date, -1);\n};\nexport var oneYearAhead = function oneYearAhead(date) {\n return addYears(date, 1);\n};\nexport var oneDecadeAgo = function oneDecadeAgo(date) {\n return addYears(date, -10);\n};\nexport var oneDecadeAhead = function oneDecadeAhead(date) {\n return addYears(date, 10);\n}; // Helper function to constrain a date between two values\n// Always returns a `Date` object or `null` if no date passed\n\nexport var constrainDate = function constrainDate(date) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n // Ensure values are `Date` objects (or `null`)\n date = parseYMD(date);\n min = parseYMD(min) || date;\n max = parseYMD(max) || date; // Return a new `Date` object (or `null`)\n\n return date ? date < min ? min : date > max ? max : date : null;\n};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('category-user-add',{attrs:{\"is-sidebar-active\":_vm.isSidebarActive},on:{\"update:isSidebarActive\":function($event){_vm.isSidebarActive=$event},\"update:is-sidebar-active\":function($event){_vm.isSidebarActive=$event},\"refresh-data\":function () { _vm.refCategoryUserList.refreshData() }}}),_c('list',{ref:\"refCategoryUserList\",attrs:{\"sort-by\":\"TicketCategoriaUsuarioId\",\"refetch-records-name\":\"usuarios\",\"key-field\":\"TicketCategoriaUsuarioId\",\"actions\":_vm.actions,\"table-columns\":_vm.tableColumns,\"table-actions\":_vm.tableActions,\"refetch-records\":_vm.fetchCategoryUsers,\"filters\":_vm.filters,\"delete-method\":_vm.deleteCategoryUser},on:{\"update:filters\":function($event){_vm.filters=$event}},scopedSlots:_vm._u([{key:\"cell(nombreUsuario)\",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.nombreCompleto),\"variant\":\"light-danger\"}})]},proxy:true}],null,true)},[_c('b-link',{staticClass:\"font-weight-bold d-block text-nowrap\"},[_vm._v(\" \"+_vm._s(data.item.nombreCompleto)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(\"@\"+_vm._s(data.item.nombreUsuario))])],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-sidebar',{attrs:{\"id\":\"add-new-user-sidebar\",\"visible\":_vm.isSidebarActive,\"bg-variant\":\"white\",\"sidebar-class\":\"sidebar-lg\",\"shadow\":\"\",\"backdrop\":\"\",\"no-header\":\"\",\"right\":\"\",\"width\":\"500\"},on:{\"hidden\":_vm.resetForm,\"change\":function (val) { return _vm.$emit('update:is-sidebar-active', val); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hide = ref.hide;\nreturn [_c('div',{staticClass:\"\\n d-flex\\n justify-content-between\\n align-items-center\\n content-sidebar-header\\n px-2\\n py-1\\n \"},[_c('h5',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"AppUser.list.addNewUser\"))+\" \")]),_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\":_vm.$t('AppHelpDesk.columns.user'),\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-group',{attrs:{\"label\":_vm.$t('AppHelpDesk.columns.user'),\"label-for\":\"usuario\",\"state\":errors.length > 0 ? false : null}},[_c('v-select',{attrs:{\"id\":\"usuario\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"label\":\"name\",\"options\":_vm.users,\"reduce\":function (option) { return option.userName; },\"disabled\":!_vm.$can('write', 'MesaAyuda')},model:{value:(_vm.ticketCategoriaUsuario.nombreUsuario),callback:function ($$v) {_vm.$set(_vm.ticketCategoriaUsuario, \"nombreUsuario\", $$v)},expression:\"ticketCategoriaUsuario.nombreUsuario\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":errors.length > 0 ? false : null}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")])],1)]}}],null,true)}),(_vm.$can('write', 'MesaAyuda'))?_c('b-row',{staticClass:\"float-right mt-2 mb-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(\" \"+_vm._s(_vm.$t(\"Lists.Add\"))+\" \")])],1):_vm._e()],1)]}}],null,true)})]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n $emit('update:is-sidebar-active', val)\"\r\n >\r\n \r\n \r\n \r\n \r\n {{ $t(\"AppUser.list.addNewUser\") }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 ? false : null\"\r\n >\r\n option.userName\"\r\n :disabled=\"!$can('write', 'MesaAyuda')\"\r\n />\r\n 0 ? false : null\"\r\n >\r\n {{ errors[0] }}\r\n \r\n \r\n \r\n \r\n \r\n {{ $t(\"Lists.Add\") }}\r\n \r\n \r\n \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!./CategoryUserAdd.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!./CategoryUserAdd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CategoryUserAdd.vue?vue&type=template&id=8dbdf02a&\"\nimport script from \"./CategoryUserAdd.vue?vue&type=script&lang=js&\"\nexport * from \"./CategoryUserAdd.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n { refCategoryUserList.refreshData() }\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ data.item.nombreCompleto }}\r\n \r\n @{{ data.item.nombreUsuario }}\r\n \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!./CategoryUsers.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!./CategoryUsers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CategoryUsers.vue?vue&type=template&id=23db0fa8&\"\nimport script from \"./CategoryUsers.vue?vue&type=script&lang=js&\"\nexport * from \"./CategoryUsers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\n\n// `ToIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\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","// `SameValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\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!./List.vue?vue&type=style&index=0&id=1b3d6a78&lang=scss&scoped=true&\"","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","var _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 `` wrapper\n\n if (isNav) {\n return h('nav', {\n attrs: {\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-hidden': disabled ? 'true' : 'false',\n 'aria-label': isNav ? ariaLabel || null : null\n }\n }, [$pagination]);\n }\n\n return $pagination;\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});","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',{staticClass:\"mb-0\",attrs:{\"no-body\":\"\"}},[_c('list-header',{attrs:{\"actions\":_vm.actions,\"filters\":_vm.filters,\"per-page\":_vm.perPage,\"search-query\":_vm.searchQuery,\"search-placeholder\":_vm.searchPlaceholder},on:{\"update:filters\":function($event){_vm.filters=$event},\"update:perPage\":function($event){_vm.perPage=$event},\"update:per-page\":function($event){_vm.perPage=$event},\"update:searchQuery\":function($event){_vm.searchQuery=$event},\"update:search-query\":function($event){_vm.searchQuery=$event},\"on-filter\":_vm.refreshData}}),_c('b-table',{ref:\"refTable\",staticStyle:{\"overflow-y\":\"clip\"},attrs:{\"responsive\":\"\",\"fields\":_vm.tableColumnsValue,\"items\":_vm.refetchRecordsFunction,\"primary-key\":\"id\",\"sort-by\":_vm.sortByValue,\"show-empty\":\"\",\"empty-text\":_vm.$t('Components.List.NoMatchingRecordsFound'),\"sort-desc\":_vm.isSortDirDesc,\"tbody-td-class\":\"table-succes\",\"fixed\":false},on:{\"update:sortBy\":function($event){_vm.sortByValue=$event},\"update:sort-by\":function($event){_vm.sortByValue=$event},\"update:sortDesc\":function($event){_vm.isSortDirDesc=$event},\"update:sort-desc\":function($event){_vm.isSortDirDesc=$event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(_,slotName){return {key:slotName,fn:function(scope){return [_vm._t(slotName,null,null,scope)]}}}),{key:\"cell(actions)\",fn:function(data){return [_c('b-dropdown',{class:_vm.totalRecords == 1 ? 'm-3': '',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)},_vm._l((_vm.tableActions),function(action){return _c('b-dropdown-item',{key:action.name,attrs:{\"disabled\":(action.disabledCondition && action.disabledCondition(data.item)) || !_vm.$can(action.aclAction, action.aclResource)},on:{\"click\":function($event){action.routeName ? _vm.$router.push({ name: action.routeName, params: _vm.resolveTableActionParams(action, data.item)}) : action.click(data.item)}}},[_c('feather-icon',{attrs:{\"icon\":action.icon}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(_vm._s(action.label))])],1)}),1)]}}],null,true)}),_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(_vm._s(_vm.$t('Components.List.Showing'))+\" \"+_vm._s(_vm.dataMeta.Showing)+\" \"+_vm._s(_vm.$t('Components.List.To'))+\" \"+_vm._s(_vm.dataMeta.to)+\" \"+_vm._s(_vm.$t('Components.List.Of'))+\" \"+_vm._s(_vm.dataMeta.of)+\" \"+_vm._s(_vm.$t('Components.List.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.totalRecords,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},on:{\"update:totalRows\":function($event){_vm.totalRecords=$event},\"update:total-rows\":function($event){_vm.totalRecords=$event},\"update:perPage\":function($event){_vm.perPage=$event},\"update:per-page\":function($event){_vm.perPage=$event},\"change\":_vm.onChangePage},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),_c('excel-template-uploader',{ref:\"refExcelTemplateUploader\",attrs:{\"select-customer\":_vm.uploadTemplateSelectCustomer},on:{\"on-upload\":_vm.uploadTemplateFunction,\"on-upload-callback\":function () {\n _vm.refTable.refresh()\n _vm.success(_vm.$t('Components.List.TemplateUploadedTitle'), _vm.$t('Components.List.TemplateUploadedText'))\n }}}),_c('b-modal',{ref:\"refModalDelete\",attrs:{\"title\":_vm.$t('Components.List.DeleteConfirmationTitle')},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{attrs:{\"variant\":\"outline-danger\"},on:{\"click\":_vm.deleteRecord}},[_c('feather-icon',{staticClass:\"align-middle text-body\",attrs:{\"icon\":\"TrashIcon\",\"size\":\"16\"}}),_vm._v(\" \"+_vm._s(_vm.$t('Components.List.DeleteConfirmationYes'))+\" \")],1)]},proxy:true}])},[_c('b-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('Components.List.DeleteConfirmationMessage'))+\" \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"refModal\",attrs:{\"no-close-on-backdrop\":\"\",\"hide-footer\":\"\",\"modal-class\":\"modal-primary\",\"centered\":\"\",\"title\":_vm.$t('Components.ExcelTemplateUploader.Title')}},[(!_vm.uploading && _vm.uploadErrors.length === 0)?_c('div',{attrs:{\"id\":\"upload-template\"}},[(_vm.templateFile.mensajeLecturaExcel)?_c('b-alert',{directives:[{name:\"height-fade\",rawName:\"v-height-fade\"}],staticClass:\"p-1\",attrs:{\"show\":\"\",\"fade\":\"\",\"variant\":_vm.templateFile.mensajeLecturaExcel === 'OK' ? 'success' : 'danger'}},[_vm._v(\" \"+_vm._s(_vm.templateFile.mensajeLecturaExcel === 'OK' ? _vm.$t('Components.ExcelTemplateUploader.ExcelFileOk') : _vm.$t('Components.ExcelTemplateUploader.ExcelFileError'))+\" \")]):_vm._e(),_c('b-form-group',{attrs:{\"label\":_vm.$t('Components.ExcelTemplateUploader.File')}},[_c('file-uploader',{attrs:{\"file-type\":\"excelTemplate\"},on:{\"on-delete-file\":_vm.onDeleteFile},model:{value:(_vm.templateFile),callback:function ($$v) {_vm.templateFile=$$v},expression:\"templateFile\"}})],1),(_vm.templateFile.hojas)?_c('b-form-group',{attrs:{\"label\":_vm.$t('Components.ExcelTemplateUploader.SelectBookSheet')}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.templateFile.hojas,\"clearable\":false},model:{value:(_vm.selectedSheet),callback:function ($$v) {_vm.selectedSheet=$$v},expression:\"selectedSheet\"}})],1):_vm._e(),(_vm.selectCustomer && _vm.templateFile.hojas)?_c('b-form-group',{attrs:{\"label\":_vm.$t('Components.ExcelTemplateUploader.Customer')}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.customers,\"reduce\":function (r) { return r.id; },\"label\":\"texto\",\"clearable\":false},model:{value:(_vm.selectedCustomer),callback:function ($$v) {_vm.selectedCustomer=$$v},expression:\"selectedCustomer\"}})],1):_vm._e(),(_vm.selectedSheet !== '' && (!_vm.selectCustomer || _vm.selectCustomer && _vm.selectedCustomer > 0))?_c('b-button',{attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":_vm.loadTemplate}},[_c('feather-icon',{staticClass:\"align-middle\",attrs:{\"icon\":\"UploadIcon\",\"size\":\"20\"}}),_c('strong',[_vm._v(\" \"+_vm._s(_vm.$t('Components.ExcelTemplateUploader.LoadExcelTemplate')))])],1):_vm._e()],1):_vm._e(),(_vm.uploading)?_c('div',{attrs:{\"id\":\"uploading-template\"}},[_c('b-spinner',{attrs:{\"block\":\"\"}}),_c('strong',[_vm._v(\" \"+_vm._s(_vm.$t('Components.ExcelTemplateUploader.LoadingTemplate')))])],1):_vm._e(),(_vm.uploadErrors.length > 0)?_c('div',{attrs:{\"id\":\"upload-errors\"}},[_c('b-alert',{directives:[{name:\"height-fade\",rawName:\"v-height-fade\"}],staticClass:\"p-1\",attrs:{\"show\":\"\",\"fade\":\"\",\"variant\":\"danger\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('Components.ExcelTemplateUploader.UploadErrors'))+\": \")]),(Array.isArray(_vm.uploadErrors))?_c('div',_vm._l((_vm.uploadErrors),function(error){return _c('span',{key:error},[_c('li',[_vm._v(_vm._s(error))])])}),0):_vm._e(),(!Array.isArray(_vm.uploadErrors))?_c('span',[_vm._v(_vm._s(_vm.uploadErrors))]):_vm._e()]),_c('b-button',{attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.onUploadAgain()}}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.ExcelTemplateUploader.UploadAgain'))+\" \")])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n {{ templateFile.mensajeLecturaExcel === 'OK' ? $t('Components.ExcelTemplateUploader.ExcelFileOk') : $t('Components.ExcelTemplateUploader.ExcelFileError') }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n r.id\"\r\n label=\"texto\"\r\n :clearable=\"false\"\r\n />\r\n \r\n 0)\"\r\n variant=\"primary\"\r\n block\r\n @click=\"loadTemplate\"\r\n >\r\n \r\n {{ $t('Components.ExcelTemplateUploader.LoadExcelTemplate') }}\r\n \r\n \r\n \r\n \r\n {{ $t('Components.ExcelTemplateUploader.LoadingTemplate') }}\r\n \r\n 0\"\r\n id=\"upload-errors\"\r\n >\r\n \r\n {{ $t('Components.ExcelTemplateUploader.UploadErrors') }}: \r\n \r\n \r\n {{ error }}\r\n \r\n \r\n {{ uploadErrors }}\r\n \r\n \r\n {{ $t('Components.ExcelTemplateUploader.UploadAgain') }}\r\n \r\n \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!./ExcelTemplateUploader.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!./ExcelTemplateUploader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExcelTemplateUploader.vue?vue&type=template&id=3b79291b&\"\nimport script from \"./ExcelTemplateUploader.vue?vue&type=script&lang=js&\"\nexport * from \"./ExcelTemplateUploader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _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\":\"2\"}},[_c('label',[_vm._v(_vm._s(_vm.$t('Components.ListHeader.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.perPageValue),callback:function ($$v) {_vm.perPageValue=$$v},expression:\"perPageValue\"}}),_c('label',[_vm._v(_vm._s(_vm.$t('Components.ListHeader.Entries')))])],1),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('div',{staticClass:\"d-flex align-items-center justify-content-end\"},[_c('b-form-input',{staticClass:\"d-inline-block mr-1\",attrs:{\"placeholder\":_vm.$t('Components.ListHeader.Search') + _vm.searchPlaceholder},model:{value:(_vm.searchQueryValue),callback:function ($$v) {_vm.searchQueryValue=$$v},expression:\"searchQueryValue\"}})],1)]),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[(_vm.filters.length > 0)?_c('list-filter',{attrs:{\"filters\":_vm.filters},on:{\"update:filters\":function($event){_vm.filters=$event},\"on-filter\":_vm.onFilter}}):_vm._e()],1),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[(_vm.actions.length > 0)?_c('b-dropdown',{attrs:{\"variant\":\"outline-primary\",\"right\":_vm.$store.state.appConfig.isRTL,\"block\":\"\",\"menu-class\":\"w-100\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{staticClass:\"align-middle\",attrs:{\"icon\":\"CommandIcon\",\"size\":\"16\"}}),_vm._v(\" \"+_vm._s(_vm.$t('Components.ListHeader.Actions'))+\" \")]},proxy:true}],null,false,180020307)},_vm._l((_vm.actions),function(action){return _c('b-dropdown-item',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-info\",modifiers:{\"hover\":true,\"v-info\":true}}],key:action.label,attrs:{\"title\":action.toolTip ? action.toolTip: '',\"disabled\":!_vm.$can(action.aclAction, action.aclResource)},on:{\"click\":function($event){action.routeName ? _vm.$router.push({ name: action.routeName, params: action.routeParams}) : action.click()}}},[_c('feather-icon',{attrs:{\"icon\":action.icon}}),(action.name === 'dateAndHour')?_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(_vm._s(action.value ? _vm.$t('Components.List.Filters.DateWhitoutHour') : _vm.$t('Components.List.Filters.FormatDate')))]):_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(_vm._s(action.label))])],1)}),1):_vm._e()],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('div',[_c('b-button',{attrs:{\"variant\":\"outline-info\",\"block\":\"\"},on:{\"click\":function($event){return _vm.refModal.show()}}},[_c('feather-icon',{staticClass:\"align-middle\",attrs:{\"icon\":\"FilterIcon\",\"size\":\"16\"}}),_vm._v(\" \"+_vm._s(_vm.$t('Components.ListHeaderFilter.Filters'))+\" \")],1),_c('list-filter-modal',{ref:\"refModal\",attrs:{\"filters\":_vm.filters},on:{\"update:filters\":function($event){_vm.filters=$event},\"on-filter\":_vm.onFilter}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"refModal\",attrs:{\"no-close-on-backdrop\":\"\",\"hide-footer\":\"\",\"modal-class\":\"modal-primary\",\"centered\":\"\",\"title\":_vm.$t('Components.ListHeaderFilterModal.Title')}},[_c('b-form',_vm._l((_vm.filters),function(filter){return _c('b-form-group',{key:filter.name,attrs:{\"label\":filter.label}},[_c(_vm.resolveComponent(filter.type),{tag:\"component\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"label\":\"texto\",\"options\":filter.options,\"reduce\":function (option) { return option.id; },\"placeholder\":filter.label,\"disabled\":filter.disabled && filter.disabled === true,\"reset-button\":\"\",\"locale\":\"es\"},model:{value:(filter.value),callback:function ($$v) {_vm.$set(filter, \"value\", $$v)},expression:\"filter.value\"}})],1)}),1),_c('b-button',{attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":_vm.onFilter}},[_c('feather-icon',{staticClass:\"align-middle\",attrs:{\"icon\":\"FilterIcon\",\"size\":\"20\"}}),_vm._v(\" \"+_vm._s(_vm.$t('Components.ListHeaderFilterModal.Filter'))+\" \")],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n option.id\"\r\n :placeholder=\"filter.label\"\r\n :disabled=\"filter.disabled && filter.disabled === true\"\r\n reset-button\r\n locale=\"es\"\r\n />\r\n \r\n \r\n \r\n \r\n {{ $t('Components.ListHeaderFilterModal.Filter') }}\r\n \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!./ListHeaderFilterModal.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!./ListHeaderFilterModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ListHeaderFilterModal.vue?vue&type=template&id=0f111214&\"\nimport script from \"./ListHeaderFilterModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ListHeaderFilterModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n {{ $t('Components.ListHeaderFilter.Filters') }}\r\n \r\n \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!./ListHeaderFilter.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!./ListHeaderFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ListHeaderFilter.vue?vue&type=template&id=7789564a&\"\nimport script from \"./ListHeaderFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./ListHeaderFilter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n \r\n \r\n {{ $t('Components.ListHeader.Show') }}\r\n \r\n {{ $t('Components.ListHeader.Entries') }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\"\r\n :filters.sync=\"filters\"\r\n @on-filter=\"onFilter\"\r\n />\r\n \r\n \r\n \r\n 0\"\r\n variant=\"outline-primary\"\r\n :right=\"$store.state.appConfig.isRTL\"\r\n block\r\n menu-class=\"w-100\"\r\n >\r\n \r\n \r\n {{ $t('Components.ListHeader.Actions') }}\r\n \r\n \r\n \r\n {{ action.value ? $t('Components.List.Filters.DateWhitoutHour') : $t('Components.List.Filters.FormatDate') }}\r\n {{ action.label }}\r\n \r\n \r\n \r\n \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!./ListHeader.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!./ListHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ListHeader.vue?vue&type=template&id=76d7913e&\"\nimport script from \"./ListHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./ListHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ action.label }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ $t('Components.List.Showing') }} {{ dataMeta.Showing }} {{ $t('Components.List.To') }} {{ dataMeta.to }} {{ $t('Components.List.Of') }} {{ dataMeta.of }} {{ $t('Components.List.Entries') }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n refTable.refresh()\r\n success($t('Components.List.TemplateUploadedTitle'), $t('Components.List.TemplateUploadedText'))\r\n }\r\n \"\r\n />\r\n \r\n \r\n {{ $t('Components.List.DeleteConfirmationMessage') }}\r\n \r\n \r\n \r\n \r\n {{ $t('Components.List.DeleteConfirmationYes') }}\r\n \r\n \r\n \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!./List.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!./List.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=1b3d6a78&scoped=true&\"\nimport script from \"./List.vue?vue&type=script&lang=js&\"\nexport * from \"./List.vue?vue&type=script&lang=js&\"\nimport style0 from \"./List.vue?vue&type=style&index=0&id=1b3d6a78&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 \"1b3d6a78\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\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_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, 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\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_PREPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_PREPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupPrepend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_PREPEND,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: false\n })\n }), children);\n }\n});","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_ADDON } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n isText: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_ADDON); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAddon = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_ADDON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var append = props.append;\n return h(props.tag, mergeData(data, {\n class: {\n 'input-group-append': append,\n 'input-group-prepend': !append\n },\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(BInputGroupText, children)] : children);\n }\n});","import { ref, nextTick } from '@vue/composition-api'\r\n\r\n// ===========================================================\r\n// ! This is coupled with \"veeValidate\" plugin\r\n// ===========================================================\r\n\r\nexport default function formValidation(resetFormData, clearFormData = () => {}) {\r\n // ------------------------------------------------\r\n // refFormObserver\r\n // ! This is for veeValidate Observer\r\n // * Used for veeValidate form observer\r\n // ------------------------------------------------\r\n const refFormObserver = ref(null)\r\n\r\n // ------------------------------------------------\r\n // resetObserver\r\n // ! This function is coupled with veeValidate\r\n // * It resets form observer\r\n // ------------------------------------------------\r\n const resetObserver = () => {\r\n refFormObserver.value.reset()\r\n }\r\n\r\n // ------------------------------------------------\r\n // getValidationState\r\n // ! This function is coupled with veeValidate\r\n // * It returns true/false based on validation\r\n // ------------------------------------------------\r\n // eslint-disable-next-line object-curly-newline\r\n const getValidationState = ({ dirty, validated, required: fieldRequired, changed, valid = null }) => {\r\n const result = dirty || validated ? valid : null\r\n return !fieldRequired && !changed ? null : result\r\n }\r\n\r\n // ------------------------------------------------\r\n // resetForm\r\n // ! This function is coupled with veeValidate\r\n // * This uses resetFormData arg to reset form data\r\n // ------------------------------------------------\r\n const resetForm = () => {\r\n resetFormData()\r\n nextTick(() => {\r\n resetObserver()\r\n })\r\n }\r\n\r\n // ------------------------------------------------\r\n // clearForm\r\n // ! This function is coupled with veeValidate\r\n // * This uses clearFormData arg to reset form data\r\n // ------------------------------------------------\r\n const clearForm = () => {\r\n clearFormData()\r\n nextTick(() => {\r\n resetObserver()\r\n })\r\n }\r\n\r\n return {\r\n refFormObserver,\r\n resetObserver,\r\n getValidationState,\r\n resetForm,\r\n clearForm,\r\n }\r\n}\r\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\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_INPUT_GROUP } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_APPEND, SLOT_NAME_DEFAULT, SLOT_NAME_PREPEND } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAppend } from './input-group-append';\nimport { BInputGroupPrepend } from './input-group-prepend';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_STRING),\n appendHtml: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n prepend: makeProp(PROP_TYPE_STRING),\n prependHtml: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BInputGroup = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var prepend = props.prepend,\n prependHtml = props.prependHtml,\n append = props.append,\n appendHtml = props.appendHtml,\n size = props.size;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $prepend = h();\n var hasPrependSlot = hasNormalizedSlot(SLOT_NAME_PREPEND, $scopedSlots, $slots);\n\n if (hasPrependSlot || prepend || prependHtml) {\n $prepend = h(BInputGroupPrepend, [hasPrependSlot ? normalizeSlot(SLOT_NAME_PREPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(prependHtml, prepend)\n })]);\n }\n\n var $append = h();\n var hasAppendSlot = hasNormalizedSlot(SLOT_NAME_APPEND, $scopedSlots, $slots);\n\n if (hasAppendSlot || append || appendHtml) {\n $append = h(BInputGroupAppend, [hasAppendSlot ? normalizeSlot(SLOT_NAME_APPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(appendHtml, append)\n })]);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, \"input-group-\".concat(size), size),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), [$prepend, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots), $append]);\n }\n});","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\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 { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_ALERT } from '../../constants/components';\nimport { EVENT_NAME_DISMISSED, EVENT_NAME_DISMISS_COUNT_DOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DISMISS } from '../../constants/slots';\nimport { requestAF } from '../../utils/dom';\nimport { isBoolean, isNumeric } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('show', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Convert `show` value to a number\n\n\nvar parseCountDown = function parseCountDown(show) {\n if (show === '' || isBoolean(show)) {\n return 0;\n }\n\n show = toInteger(show, 0);\n return show > 0 ? show : 0;\n}; // Convert `show` value to a boolean\n\n\nvar parseShow = function parseShow(show) {\n if (show === '' || show === true) {\n return true;\n }\n\n if (toInteger(show, 0) < 1) {\n // Boolean will always return false for the above comparison\n return false;\n }\n\n return !!show;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n dismissLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n dismissible: makeProp(PROP_TYPE_BOOLEAN, false),\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING, 'info')\n})), NAME_ALERT); // --- Main component ---\n// @vue/component\n\nexport var BAlert = /*#__PURE__*/Vue.extend({\n name: NAME_ALERT,\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this[MODEL_PROP_NAME])\n };\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n this.countDown = parseCountDown(newValue);\n this.localShow = parseShow(newValue);\n }), _defineProperty(_watch, \"countDown\", function countDown(newValue) {\n var _this = this;\n\n this.clearCountDownInterval();\n var show = this[MODEL_PROP_NAME]; // Ignore if `show` transitions to a boolean value\n\n if (isNumeric(show)) {\n this.$emit(EVENT_NAME_DISMISS_COUNT_DOWN, newValue); // Update the v-model if needed\n\n if (show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n\n if (newValue > 0) {\n this.localShow = true;\n this.$_countDownTimeout = setTimeout(function () {\n _this.countDown--;\n }, 1000);\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(function () {\n requestAF(function () {\n _this.localShow = false;\n });\n });\n }\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n var show = this[MODEL_PROP_NAME]; // Only emit dismissed events for dismissible or auto-dismissing alerts\n\n if (!newValue && (this.dismissible || isNumeric(show))) {\n this.$emit(EVENT_NAME_DISMISSED);\n } // Only emit booleans if we weren't passed a number via v-model\n\n\n if (!isNumeric(show) && show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_filterTimer = null;\n var show = this[MODEL_PROP_NAME];\n this.countDown = parseCountDown(show);\n this.localShow = parseShow(show);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearCountDownInterval();\n },\n methods: {\n dismiss: function dismiss() {\n this.clearCountDownInterval();\n this.countDown = 0;\n this.localShow = false;\n },\n clearCountDownInterval: function clearCountDownInterval() {\n clearTimeout(this.$_countDownTimeout);\n this.$_countDownTimeout = null;\n }\n },\n render: function render(h) {\n var $alert = h();\n\n if (this.localShow) {\n var dismissible = this.dismissible,\n variant = this.variant;\n var $dismissButton = h();\n\n if (dismissible) {\n // Add dismiss button\n $dismissButton = h(BButtonClose, {\n attrs: {\n 'aria-label': this.dismissLabel\n },\n on: {\n click: this.dismiss\n }\n }, [this.normalizeSlot(SLOT_NAME_DISMISS)]);\n }\n\n $alert = h('div', {\n staticClass: 'alert',\n class: _defineProperty({\n 'alert-dismissible': dismissible\n }, \"alert-\".concat(variant), variant),\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': true\n },\n key: this[COMPONENT_UID_KEY]\n }, [$dismissButton, this.normalizeSlot()]);\n }\n\n return h(BVTransition, {\n props: {\n noFade: !this.fade\n }\n }, [$alert]);\n }\n});","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new NativeArrayBuffer(); // eslint-disable-line no-new\n new NativeArrayBuffer(1.5); // eslint-disable-line no-new\n new NativeArrayBuffer(NaN); // eslint-disable-line no-new\n return NativeArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var nativeSetInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","import axios from '@axios'\r\nimport common from '@/libs/common'\r\n\r\nexport default function useradminService() {\r\n const { throwError } = common()\r\n const API_URL = process.env.VUE_APP_ADUACORE_JPMANAGEMENT_API_URL\r\n\r\n /* Standard prefix names:\r\n Post: create, Get: fetch,\r\n Put: update, Patch: partialUpdate,\r\n Delete: delete\r\n */\r\n\r\n // General ---------------------------------------\r\n const fetchUsers = (data, callback) => {\r\n axios\r\n .get(`${API_URL}/admin/users`, { params: data })\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n const fetchAllUsers = callback => {\r\n axios\r\n .get(`${API_URL}/admin/users/All`)\r\n .then(response => {\r\n callback(response.data.collection)\r\n })\r\n .catch(error => {\r\n throwError(error)\r\n })\r\n }\r\n const createUser = data => new Promise((resolve, reject) => {\r\n axios\r\n .post(`${API_URL}/admin/users`, data)\r\n .then(response => resolve(response.data))\r\n .catch(error => reject(error.response.data))\r\n })\r\n // {\r\n // axios\r\n // .post(`${API_URL}/admin/users`, data)\r\n // .then(response => {\r\n // callback(response.data)\r\n // })\r\n // .catch(error => throwError(error))\r\n // }\r\n const fetchUser = (userName, callback) => {\r\n axios\r\n .get(`${API_URL}/admin/users/${userName}`)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n const updateUser = (data, callback) => {\r\n axios\r\n .put(`${API_URL}/admin/users/${data.userName}`, data)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n // Verificar\r\n const partialUpdateUser = (data, callback) => {\r\n axios\r\n .patch(`${API_URL}/admin/users/${data.userName}`, data)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n const deleteUser = (userName, callback) => {\r\n axios\r\n .delete(`${API_URL}/admin/users/${userName}`)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n // Claims ----------------------------------------\r\n const fetchUserClaims = ({ userName }, data, callback) => {\r\n axios\r\n .get(`${API_URL}/admin/users/${userName}/claims`, { params: data })\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n const createUserClaim = ({ userName }, data, callback) => {\r\n axios\r\n .post(`${API_URL}/admin/users/${userName}/claims`, data)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n const deleteUserClaim = ({ userName, type }, data, callback) => {\r\n axios\r\n .delete(`${API_URL}/admin/users/${userName}/claims/${type}`, { params: data })\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n // Roles -----------------------------------------\r\n const fetchRoles = callback => {\r\n axios\r\n .get(`${API_URL}/roles`)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n const fetchUserRoles = ({ userName }, callback) => {\r\n axios\r\n .get(`${API_URL}/admin/users/${userName}/roles`)\r\n .then(response => {\r\n if (response.data === '') callback([])\r\n else callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n const createUserRole = (data, callback) => {\r\n axios\r\n .post(`${API_URL}/admin/users/${data.userName}/roles`, { role: data.role })\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n const deleteUserRole = ({ userName, roleName }, callback) => {\r\n axios\r\n .delete(`${API_URL}/admin/users/${userName}/roles/${roleName}`)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n // Others ----------------------------------------\r\n const fetchUserLogins = ({ userName }, callback) => {\r\n axios\r\n .get(`${API_URL}/admin/users/${userName}/logins`)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n // Verificar\r\n const deleteUserLogins = ({ userName }, data, callback) => {\r\n axios\r\n .delete(`${API_URL}/admin/users/${userName}/logins`, { loginProvider: data.loginProvider, providerKey: data.providerKey })\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n const updateUserPassword = ({ userName }, data, callback) => {\r\n axios\r\n .put(`${API_URL}/admin/users/${userName}/password`, data)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n const fetchUserLogs = ({ userName }, data, callback) => {\r\n axios\r\n .get(`${API_URL}/admin/users/${userName}/logs`, { limit: data.limit, offset: data.offset, search: data.search })\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n\r\n return {\r\n fetchUsers,\r\n fetchAllUsers,\r\n createUser,\r\n fetchUser,\r\n updateUser,\r\n partialUpdateUser,\r\n deleteUser,\r\n fetchUserClaims,\r\n createUserClaim,\r\n deleteUserClaim,\r\n fetchRoles,\r\n fetchUserRoles,\r\n createUserRole,\r\n deleteUserRole,\r\n fetchUserLogins,\r\n deleteUserLogins,\r\n updateUserPassword,\r\n fetchUserLogs,\r\n }\r\n}\r\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","// IEEE754 conversions based on https://github.com/feross/ieee754\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = 1 / 0;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","/* eslint-disable no-new */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","// Base on-demand component for tooltip / popover templates\n//\n// Currently:\n// Responsible for positioning and transitioning the template\n// Templates are only instantiated when shown, and destroyed when hidden\n//\nimport Popper from 'popper.js';\nimport { Vue } from '../../../vue';\nimport { NAME_POPPER } from '../../../constants/components';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { HTMLElement, SVGElement } from '../../../constants/safe-types';\nimport { getCS, requestAF, select } from '../../../utils/dom';\nimport { toFloat } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props';\nimport { BVTransition } from '../../transition/bv-transition'; // --- Constants ---\n\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n};\nvar OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n}; // --- Props ---\n\nexport var props = {\n // The minimum distance (in `px`) from the edge of the\n // tooltip/popover that the arrow can be positioned\n arrowPadding: makeProp(PROP_TYPE_NUMBER_STRING, 6),\n // 'scrollParent', 'viewport', 'window', or `Element`\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 5),\n fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n placement: makeProp(PROP_TYPE_STRING, 'top'),\n // Element that the tooltip/popover is positioned relative to\n target: makeProp([HTMLElement, SVGElement])\n}; // --- Main component ---\n// @vue/component\n\nexport var BVPopper = /*#__PURE__*/Vue.extend({\n name: NAME_POPPER,\n props: props,\n data: function data() {\n return {\n // reactive props set by parent\n noFade: false,\n // State related data\n localShow: true,\n attachment: this.getAttachment(this.placement)\n };\n },\n computed: {\n /* istanbul ignore next */\n templateType: function templateType() {\n // Overridden by template component\n return 'unknown';\n },\n popperConfig: function popperConfig() {\n var _this = this;\n\n var placement = this.placement;\n return {\n placement: this.getAttachment(placement),\n modifiers: {\n offset: {\n offset: this.getOffset(placement)\n },\n flip: {\n behavior: this.fallbackPlacement\n },\n // `arrow.element` can also be a reference to an HTML Element\n // maybe we should make this a `$ref` in the templates?\n arrow: {\n element: '.arrow'\n },\n preventOverflow: {\n padding: this.boundaryPadding,\n boundariesElement: this.boundary\n }\n },\n onCreate: function onCreate(data) {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n /* istanbul ignore next: can't test in JSDOM */\n _this.popperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n // Handle flipping arrow classes\n _this.popperPlacementChange(data);\n }\n };\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Note: We are created on-demand, and should be guaranteed that\n // DOM is rendered/ready by the time the created hook runs\n this.$_popper = null; // Ensure we show as we mount\n\n this.localShow = true; // Create popper instance before shown\n\n this.$on(EVENT_NAME_SHOW, function (el) {\n _this2.popperCreate(el);\n }); // Self destruct handler\n\n var handleDestroy = function handleDestroy() {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once(HOOK_EVENT_NAME_DESTROYED, handleDestroy); // Self destruct after hidden\n\n this.$once(EVENT_NAME_HIDDEN, handleDestroy);\n },\n beforeMount: function beforeMount() {\n // Ensure that the attachment position is correct before mounting\n // as our propsData is added after `new Template({...})`\n this.attachment = this.getAttachment(this.placement);\n },\n updated: function updated() {\n // Update popper if needed\n // TODO: Should this be a watcher on `this.popperConfig` instead?\n this.updatePopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroyPopper();\n },\n destroyed: function destroyed() {\n // Make sure template is removed from DOM\n var el = this.$el;\n el && el.parentNode && el.parentNode.removeChild(el);\n },\n methods: {\n // \"Public\" method to trigger hide template\n hide: function hide() {\n this.localShow = false;\n },\n // Private\n getAttachment: function getAttachment(placement) {\n return AttachmentMap[String(placement).toUpperCase()] || 'auto';\n },\n getOffset: function getOffset(placement) {\n if (!this.offset) {\n // Could set a ref for the arrow element\n var arrow = this.$refs.arrow || select('.arrow', this.$el);\n var arrowOffset = toFloat(getCS(arrow).width, 0) + toFloat(this.arrowPadding, 0);\n\n switch (OffsetMap[String(placement).toUpperCase()] || 0) {\n /* istanbul ignore next: can't test in JSDOM */\n case +1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"+50%p - \".concat(arrowOffset, \"px\");\n\n /* istanbul ignore next: can't test in JSDOM */\n\n case -1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"-50%p + \".concat(arrowOffset, \"px\");\n\n default:\n return 0;\n }\n }\n /* istanbul ignore next */\n\n\n return this.offset;\n },\n popperCreate: function popperCreate(el) {\n this.destroyPopper(); // We use `el` rather than `this.$el` just in case the original\n // mountpoint root element type was changed by the template\n\n this.$_popper = new Popper(this.target, el, this.popperConfig);\n },\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n updatePopper: function updatePopper() {\n this.$_popper && this.$_popper.scheduleUpdate();\n },\n popperPlacementChange: function popperPlacementChange(data) {\n // Callback used by popper to adjust the arrow placement\n this.attachment = this.getAttachment(data.placement);\n },\n\n /* istanbul ignore next */\n renderTemplate: function renderTemplate(h) {\n // Will be overridden by templates\n return h('div');\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n var noFade = this.noFade; // Note: 'show' and 'fade' classes are only appled during transition\n\n return h(BVTransition, {\n // Transitions as soon as mounted\n props: {\n appear: true,\n noFade: noFade\n },\n on: {\n // Events used by parent component/instance\n beforeEnter: function beforeEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOW, el);\n },\n afterEnter: function afterEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOWN, el);\n },\n beforeLeave: function beforeLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDE, el);\n },\n afterLeave: function afterLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDDEN, el);\n }\n }\n }, [this.localShow ? this.renderTemplate(h) : h()]);\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_TOOLTIP_TEMPLATE } from '../../../constants/components';\nimport { EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { scopedStyleMixin } from '../../../mixins/scoped-style';\nimport { BVPopper } from './bv-popper'; // --- Props ---\n\nexport var props = {\n // Used only by the directive versions\n html: makeProp(PROP_TYPE_BOOLEAN, false),\n // Other non-reactive (while open) props are pulled in from BVPopper\n id: makeProp(PROP_TYPE_STRING)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltipTemplate = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_TEMPLATE,\n extends: BVPopper,\n mixins: [scopedStyleMixin],\n props: props,\n data: function data() {\n // We use data, rather than props to ensure reactivity\n // Parent component will directly set this data\n return {\n title: '',\n content: '',\n variant: null,\n customClass: null,\n interactive: true\n };\n },\n computed: {\n templateType: function templateType() {\n return 'tooltip';\n },\n templateClasses: function templateClasses() {\n var _ref;\n\n var variant = this.variant,\n attachment = this.attachment,\n templateType = this.templateType;\n return [(_ref = {\n // Disables pointer events to hide the tooltip when the user\n // hovers over its content\n noninteractive: !this.interactive\n }, _defineProperty(_ref, \"b-\".concat(templateType, \"-\").concat(variant), variant), _defineProperty(_ref, \"bs-\".concat(templateType, \"-\").concat(attachment), attachment), _ref), this.customClass];\n },\n templateAttributes: function templateAttributes() {\n var id = this.id;\n return _objectSpread(_objectSpread({}, this.$parent.$parent.$attrs), {}, {\n id: id,\n role: 'tooltip',\n tabindex: '-1'\n }, this.scopedStyleAttrs);\n },\n templateListeners: function templateListeners() {\n var _this = this;\n\n // Used for hover/focus trigger listeners\n return {\n mouseenter:\n /* istanbul ignore next */\n function mouseenter(event) {\n _this.$emit(EVENT_NAME_MOUSEENTER, event);\n },\n mouseleave:\n /* istanbul ignore next */\n function mouseleave(event) {\n _this.$emit(EVENT_NAME_MOUSELEAVE, event);\n },\n focusin:\n /* istanbul ignore next */\n function focusin(event) {\n _this.$emit(EVENT_NAME_FOCUSIN, event);\n },\n focusout:\n /* istanbul ignore next */\n function focusout(event) {\n _this.$emit(EVENT_NAME_FOCUSOUT, event);\n }\n };\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n var title = this.title; // Title can be a scoped slot function\n\n var $title = isFunction(title) ? title({}) : title; // Directive versions only\n\n var domProps = this.html && !isFunction(title) ? {\n innerHTML: title\n } : {};\n return h('div', {\n staticClass: 'tooltip b-tooltip',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n staticClass: 'arrow',\n ref: 'arrow'\n }), h('div', {\n staticClass: 'tooltip-inner',\n domProps: domProps\n }, [$title])]);\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\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { COMPONENT_UID_KEY, Vue } from '../../../vue';\nimport { NAME_MODAL, NAME_TOOLTIP_HELPER } from '../../../constants/components';\nimport { EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, contains, getAttr, getById, hasAttr, hasClass, isDisabled, isElement, isVisible, removeAttr, requestAF, select, setAttr } from '../../../utils/dom';\nimport { eventOff, eventOn, eventOnOff, getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { getScopeId } from '../../../utils/get-scope-id';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { noop } from '../../../utils/noop';\nimport { toInteger } from '../../../utils/number';\nimport { keys } from '../../../utils/object';\nimport { warn } from '../../../utils/warn';\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root';\nimport { BVTooltipTemplate } from './bv-tooltip-template'; // --- Constants ---\n// Modal container selector for appending tooltip/popover\n\nvar MODAL_SELECTOR = '.modal-content'; // Modal `$root` hidden event\n\nvar ROOT_EVENT_NAME_MODAL_HIDDEN = getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN); // Sidebar container selector for appending tooltip/popover\n\nvar SIDEBAR_SELECTOR = '.b-sidebar'; // For finding the container to append to\n\nvar CONTAINER_SELECTOR = [MODAL_SELECTOR, SIDEBAR_SELECTOR].join(', '); // For dropdown sniffing\n\nvar DROPDOWN_CLASS = 'dropdown';\nvar DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'; // Data attribute to temporary store the `title` attribute's value\n\nvar DATA_TITLE_ATTR = 'data-original-title'; // Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\n\nvar templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null,\n // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Interactive state (Boolean)\n interactive: true,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltip = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin],\n data: function data() {\n return _objectSpread(_objectSpread({}, templateData), {}, {\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n });\n },\n computed: {\n templateType: function templateType() {\n // Overwritten by BVPopover\n return 'tooltip';\n },\n computedId: function computedId() {\n return this.id || \"__bv_\".concat(this.templateType, \"_\").concat(this[COMPONENT_UID_KEY], \"__\");\n },\n computedDelay: function computedDelay() {\n // Normalizes delay into object form\n var delay = {\n show: 0,\n hide: 0\n };\n\n if (isPlainObject(this.delay)) {\n delay.show = mathMax(toInteger(this.delay.show, 0), 0);\n delay.hide = mathMax(toInteger(this.delay.hide, 0), 0);\n } else if (isNumber(this.delay) || isString(this.delay)) {\n delay.show = delay.hide = mathMax(toInteger(this.delay, 0), 0);\n }\n\n return delay;\n },\n computedTriggers: function computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return concat(this.triggers).filter(identity).join(' ').trim().toLowerCase().split(/\\s+/).sort();\n },\n isWithActiveTrigger: function isWithActiveTrigger() {\n for (var trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n },\n computedTemplateData: function computedTemplateData() {\n var title = this.title,\n content = this.content,\n variant = this.variant,\n customClass = this.customClass,\n noFade = this.noFade,\n interactive = this.interactive;\n return {\n title: title,\n content: content,\n variant: variant,\n customClass: customClass,\n noFade: noFade,\n interactive: interactive\n };\n }\n },\n watch: {\n computedTriggers: function computedTriggers(newTriggers, oldTriggers) {\n var _this = this;\n\n // Triggers have changed, so re-register them\n\n /* istanbul ignore next */\n if (!looseEqual(newTriggers, oldTriggers)) {\n this.$nextTick(function () {\n // Disable trigger listeners\n _this.unListen(); // Clear any active triggers that are no longer in the list of triggers\n\n\n oldTriggers.forEach(function (trigger) {\n if (!arrayIncludes(newTriggers, trigger)) {\n if (_this.activeTrigger[trigger]) {\n _this.activeTrigger[trigger] = false;\n }\n }\n }); // Re-enable the trigger listeners\n\n _this.listen();\n });\n }\n },\n computedTemplateData: function computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate();\n },\n title: function title(newValue, oldValue) {\n // Make sure to hide the tooltip when the title is set empty\n if (newValue !== oldValue && !newValue) {\n this.hide();\n }\n },\n disabled: function disabled(newValue) {\n if (newValue) {\n this.disable();\n } else {\n this.enable();\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive properties\n this.$_tip = null;\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.$_visibleInterval = null;\n this.$_enabled = !this.disabled;\n this.$_noop = noop.bind(this); // Destroy ourselves when the parent is destroyed\n\n if (this.$parent) {\n this.$parent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n });\n }\n\n this.$nextTick(function () {\n var target = _this2.getTarget();\n\n if (target && contains(document.body, target)) {\n // Copy the parent's scoped style attribute\n _this2.scopeId = getScopeId(_this2.$parent); // Set up all trigger handlers and listeners\n\n _this2.listen();\n } else {\n /* istanbul ignore next */\n warn(isString(_this2.target) ? \"Unable to find target element by ID \\\"#\".concat(_this2.target, \"\\\" in document.\") : 'The provided target is no valid HTML element.', _this2.templateType);\n }\n });\n },\n\n /* istanbul ignore next */\n updated: function updated() {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide();\n },\n beforeDestroy: function beforeDestroy() {\n // Remove all handler/listeners\n this.unListen();\n this.setWhileOpenListeners(false); // Clear any timeouts/intervals\n\n this.clearHoverTimeout();\n this.clearVisibilityInterval(); // Destroy the template\n\n this.destroyTemplate(); // Remove any other private properties created during create\n\n this.$_noop = null;\n },\n methods: {\n // --- Methods for creating and destroying the template ---\n getTemplate: function getTemplate() {\n // Overridden by BVPopover\n return BVTooltipTemplate;\n },\n updateData: function updateData() {\n var _this3 = this;\n\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n var titleUpdated = false;\n keys(templateData).forEach(function (prop) {\n if (!isUndefined(data[prop]) && _this3[prop] !== data[prop]) {\n _this3[prop] = data[prop];\n\n if (prop === 'title') {\n titleUpdated = true;\n }\n }\n }); // If the title has updated, we may need to handle the `title`\n // attribute on the trigger target\n // We only do this while the template is open\n\n if (titleUpdated && this.localShow) {\n this.fixTitle();\n }\n },\n createTemplateAndShow: function createTemplateAndShow() {\n // Creates the template instance and show it\n var container = this.getContainer();\n var Template = this.getTemplate();\n var $tip = this.$_tip = new Template({\n parent: this,\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: toInteger(this.offset, 0),\n arrowPadding: toInteger(this.arrowPadding, 0),\n boundaryPadding: toInteger(this.boundaryPadding, 0)\n }\n }); // We set the initial reactive data (values that can be changed while open)\n\n this.handleTemplateUpdate(); // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n\n $tip.$once(EVENT_NAME_SHOW, this.onTemplateShow); // When the template has completed showing\n\n $tip.$once(EVENT_NAME_SHOWN, this.onTemplateShown); // When the template has started to hide\n\n $tip.$once(EVENT_NAME_HIDE, this.onTemplateHide); // When the template has completed hiding\n\n $tip.$once(EVENT_NAME_HIDDEN, this.onTemplateHidden); // When the template gets destroyed for any reason\n\n $tip.$once(HOOK_EVENT_NAME_DESTROYED, this.destroyTemplate); // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n\n $tip.$on(EVENT_NAME_FOCUSIN, this.handleEvent);\n $tip.$on(EVENT_NAME_FOCUSOUT, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSEENTER, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSELEAVE, this.handleEvent); // Mount (which triggers the `show`)\n\n $tip.$mount(container.appendChild(document.createElement('div'))); // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate: function hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide(); // Clear out any stragging active triggers\n\n this.clearActiveTriggers(); // Reset the hover state\n\n this.$_hoverState = '';\n },\n // Destroy the template instance and reset state\n destroyTemplate: function destroyTemplate() {\n this.setWhileOpenListeners(false);\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers();\n this.localPlacementTarget = null;\n\n try {\n this.$_tip.$destroy();\n } catch (_unused) {}\n\n this.$_tip = null;\n this.removeAriaDescribedby();\n this.restoreTitle();\n this.localShow = false;\n },\n getTemplateElement: function getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null;\n },\n handleTemplateUpdate: function handleTemplateUpdate() {\n var _this4 = this;\n\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n var $tip = this.$_tip;\n\n if ($tip) {\n var props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']; // Only update the values if they have changed\n\n props.forEach(function (prop) {\n if ($tip[prop] !== _this4[prop]) {\n $tip[prop] = _this4[prop];\n }\n });\n }\n },\n // --- Show/Hide handlers ---\n // Show the tooltip\n show: function show() {\n var target = this.getTarget();\n\n if (!target || !contains(document.body, target) || !isVisible(target) || this.dropdownOpen() || (isUndefinedOrNull(this.title) || this.title === '') && (isUndefinedOrNull(this.content) || this.content === '')) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return;\n } // If tip already exists, exit early\n\n\n if (this.$_tip || this.localShow) {\n /* istanbul ignore next */\n return;\n } // In the process of showing\n\n\n this.localShow = true; // Create a cancelable BvEvent\n\n var showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvt.defaultPrevented) {\n // Destroy the template (if for some reason it was created)\n this.destroyTemplate();\n return;\n } // Fix the title attribute on target\n\n\n this.fixTitle(); // Set aria-describedby on target\n\n this.addAriaDescribedby(); // Create and show the tooltip\n\n this.createTemplateAndShow();\n },\n hide: function hide() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // Hide the tooltip\n var tip = this.getTemplateElement();\n /* istanbul ignore if */\n\n if (!tip || !this.localShow) {\n this.restoreTitle();\n return;\n } // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n\n\n var hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvt);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n return;\n } // Tell the template to hide\n\n\n this.hideTemplate();\n },\n forceHide: function forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return;\n } // Disable while open listeners/watchers\n // This is also done in the template `hide` event handler\n\n\n this.setWhileOpenListeners(false); // Clear any hover enter/leave event\n\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers(); // Disable the fade animation on the template\n\n if (this.$_tip) {\n this.$_tip.noFade = true;\n } // Hide the tip (with force = true)\n\n\n this.hide(true);\n },\n enable: function enable() {\n this.$_enabled = true; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_ENABLED));\n },\n disable: function disable() {\n this.$_enabled = false; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_DISABLED));\n },\n // --- Handlers for template events ---\n // When template is inserted into DOM, but not yet shown\n onTemplateShow: function onTemplateShow() {\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n },\n // When template show transition completes\n onTemplateShown: function onTemplateShown() {\n var prevHoverState = this.$_hoverState;\n this.$_hoverState = '';\n /* istanbul ignore next: occasional Node 10 coverage error */\n\n if (prevHoverState === 'out') {\n this.leave(null);\n } // Emit a non-cancelable BvEvent 'shown'\n\n\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN));\n },\n // When template is starting to hide\n onTemplateHide: function onTemplateHide() {\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n },\n // When template has completed closing (just before it self destructs)\n onTemplateHidden: function onTemplateHidden() {\n // Destroy the template\n this.destroyTemplate(); // Emit a non-cancelable BvEvent 'shown'\n\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN));\n },\n // --- Helper methods ---\n getTarget: function getTarget() {\n var target = this.target;\n\n if (isString(target)) {\n target = getById(target.replace(/^#/, ''));\n } else if (isFunction(target)) {\n target = target();\n } else if (target) {\n target = target.$el || target;\n }\n\n return isElement(target) ? target : null;\n },\n getPlacementTarget: function getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget();\n },\n getTargetId: function getTargetId() {\n // Returns the ID of the trigger element\n var target = this.getTarget();\n return target && target.id ? target.id : null;\n },\n getContainer: function getContainer() {\n // Handle case where container may be a component ref\n var container = this.container ? this.container.$el || this.container : false;\n var body = document.body;\n var target = this.getTarget(); // If we are in a modal, we append to the modal, If we\n // are in a sidebar, we append to the sidebar, else append\n // to body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n\n return container === false ? closest(CONTAINER_SELECTOR, target) || body :\n /*istanbul ignore next */\n isString(container) ?\n /*istanbul ignore next */\n getById(container.replace(/^#/, '')) || body :\n /*istanbul ignore next */\n body;\n },\n getBoundary: function getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent';\n },\n isInModal: function isInModal() {\n var target = this.getTarget();\n return target && closest(MODAL_SELECTOR, target);\n },\n isDropdown: function isDropdown() {\n // Returns true if trigger is a dropdown\n var target = this.getTarget();\n return target && hasClass(target, DROPDOWN_CLASS);\n },\n dropdownOpen: function dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n var target = this.getTarget();\n return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target);\n },\n clearHoverTimeout: function clearHoverTimeout() {\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimeout = null;\n },\n clearVisibilityInterval: function clearVisibilityInterval() {\n clearInterval(this.$_visibleInterval);\n this.$_visibleInterval = null;\n },\n clearActiveTriggers: function clearActiveTriggers() {\n for (var trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false;\n }\n },\n addAriaDescribedby: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.computedId).join(' ').trim(); // Update/add aria-described by\n\n setAttr(target, 'aria-describedby', desc);\n },\n removeAriaDescribedby: function removeAriaDescribedby() {\n var _this5 = this;\n\n // Remove aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this5.computedId;\n }).join(' ').trim(); // Update or remove aria-describedby\n\n if (desc) {\n /* istanbul ignore next */\n setAttr(target, 'aria-describedby', desc);\n } else {\n removeAttr(target, 'aria-describedby');\n }\n },\n fixTitle: function fixTitle() {\n // If the target has a `title` attribute,\n // remove it and store it on a data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, 'title')) {\n // Get `title` attribute value and remove it from target\n var title = getAttr(target, 'title');\n setAttr(target, 'title', ''); // Only set the data attribute when the value is truthy\n\n if (title) {\n setAttr(target, DATA_TITLE_ATTR, title);\n }\n }\n },\n restoreTitle: function restoreTitle() {\n // If the target had a `title` attribute,\n // restore it and remove the data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, DATA_TITLE_ATTR)) {\n // Get data attribute value and remove it from target\n var title = getAttr(target, DATA_TITLE_ATTR);\n removeAttr(target, DATA_TITLE_ATTR); // Only restore the `title` attribute when the value is truthy\n\n if (title) {\n setAttr(target, 'title', title);\n }\n }\n },\n // --- BvEvent helpers ---\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Defaults to a non-cancellable event\n return new BvEvent(type, _objectSpread({\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this\n }, options));\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(this.templateType, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n // --- Event handler setup methods ---\n listen: function listen() {\n var _this6 = this;\n\n // Enable trigger event handlers\n var el = this.getTarget();\n\n if (!el) {\n /* istanbul ignore next */\n return;\n } // Listen for global show/hide events\n\n\n this.setRootListener(true); // Set up our listeners on the target trigger element\n\n this.computedTriggers.forEach(function (trigger) {\n if (trigger === 'click') {\n eventOn(el, 'click', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n\n /* istanbul ignore next */\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'mouseleave', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }\n }, this);\n },\n\n /* istanbul ignore next */\n unListen: function unListen() {\n var _this7 = this;\n\n // Remove trigger event handlers\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n var target = this.getTarget(); // Stop listening for global show/hide/enable/disable events\n\n this.setRootListener(false); // Clear out any active target listeners\n\n events.forEach(function (event) {\n target && eventOff(target, event, _this7.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }, this);\n },\n setRootListener: function setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n var $root = this.$root;\n\n if ($root) {\n var method = on ? '$on' : '$off';\n var type = this.templateType;\n $root[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n $root[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n $root[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n $root[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\n }\n },\n setWhileOpenListeners: function setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on); // Dropdown open events (if we are attached to a dropdown)\n\n this.setDropdownListener(on); // Periodic $element visibility check\n // For handling when tip target is in , tabs, carousel, etc\n\n this.visibleCheck(on); // On-touch start listeners\n\n this.setOnTouchStartListener(on);\n },\n // Handler for periodic visibility check\n visibleCheck: function visibleCheck(on) {\n var _this8 = this;\n\n this.clearVisibilityInterval();\n var target = this.getTarget();\n var tip = this.getTemplateElement();\n\n if (on) {\n this.$_visibleInterval = setInterval(function () {\n if (tip && _this8.localShow && (!target.parentNode || !isVisible(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n _this8.forceHide();\n }\n }, 100);\n }\n },\n setModalListener: function setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this.$root[on ? '$on' : '$off'](ROOT_EVENT_NAME_MODAL_HIDDEN, this.forceHide);\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */\n setOnTouchStartListener: function setOnTouchStartListener(on) {\n var _this9 = this;\n\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(function (el) {\n eventOnOff(on, el, 'mouseover', _this9.$_noop);\n });\n }\n },\n setDropdownListener: function setDropdownListener(on) {\n var target = this.getTarget();\n\n if (!target || !this.$root || !this.isDropdown) {\n return;\n } // We can listen for dropdown shown events on its instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n\n\n if (target.__vue__) {\n target.__vue__[on ? '$on' : '$off'](EVENT_NAME_SHOWN, this.forceHide);\n }\n },\n // --- Event handlers ---\n handleEvent: function handleEvent(event) {\n // General trigger event handler\n // target is the trigger element\n var target = this.getTarget();\n\n if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return;\n }\n\n var type = event.type;\n var triggers = this.computedTriggers;\n\n if (type === 'click' && arrayIncludes(triggers, 'click')) {\n this.click(event);\n } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(event);\n } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `event` includes `relatedTarget` (element losing focus)\n this.enter(event);\n } else if (type === 'focusout' && (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur')) || type === 'mouseleave' && arrayIncludes(triggers, 'hover')) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n var tip = this.getTemplateElement(); // `eventTarget` is the element which is losing focus/hover and\n\n var eventTarget = event.target; // `relatedTarget` is the element gaining focus/hover\n\n var relatedTarget = event.relatedTarget;\n /* istanbul ignore next */\n\n if ( // From tip to target\n tip && contains(tip, eventTarget) && contains(target, relatedTarget) || // From target to tip\n tip && contains(target, eventTarget) && contains(tip, relatedTarget) || // Within tip\n tip && contains(tip, eventTarget) && contains(tip, relatedTarget) || // Within target\n contains(target, eventTarget) && contains(target, relatedTarget)) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return;\n } // Otherwise trigger a leave\n\n\n this.leave(event);\n }\n },\n doHide: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide();\n }\n },\n doShow: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doDisable: function doDisable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically disable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doEnable: function doEnable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically enable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable();\n }\n },\n click: function click(event) {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Get around a WebKit bug where `click` does not trigger focus events\n // On most browsers, `click` triggers a `focusin`/`focus` event first\n // Needed so that trigger 'click blur' works on iOS\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/5099\n // We use `currentTarget` rather than `target` to trigger on the\n // element, not the inner content\n\n\n attemptFocus(event.currentTarget);\n this.activeTrigger.click = !this.activeTrigger.click;\n\n if (this.isWithActiveTrigger) {\n this.enter(null);\n } else {\n /* istanbul ignore next */\n this.leave(null);\n }\n },\n\n /* istanbul ignore next */\n toggle: function toggle() {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n\n\n if (this.localShow) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n },\n enter: function enter() {\n var _this10 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Opening trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n /* istanbul ignore next */\n\n\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in';\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'in';\n\n if (!this.computedDelay.show) {\n this.show();\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle();\n this.$_hoverTimeout = setTimeout(function () {\n /* istanbul ignore else */\n if (_this10.$_hoverState === 'in') {\n _this10.show();\n } else if (!_this10.localShow) {\n _this10.restoreTitle();\n }\n }, this.computedDelay.show);\n }\n },\n leave: function leave() {\n var _this11 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Closing trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false;\n /* istanbul ignore next */\n\n if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false;\n this.activeTrigger.hover = false;\n }\n }\n /* istanbul ignore next: ignore for now */\n\n\n if (this.isWithActiveTrigger) {\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'out';\n\n if (!this.computedDelay.hide) {\n this.hide();\n } else {\n this.$_hoverTimeout = setTimeout(function () {\n if (_this11.$_hoverState === 'out') {\n _this11.hide();\n }\n }, this.computedDelay.hide);\n }\n }\n }\n});","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","export var CALENDAR_GREGORY = 'gregory';\nexport var CALENDAR_LONG = 'long';\nexport var CALENDAR_NARROW = 'narrow';\nexport var CALENDAR_SHORT = 'short';\nexport var DATE_FORMAT_2_DIGIT = '2-digit';\nexport var DATE_FORMAT_NUMERIC = 'numeric';","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\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","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formCustomMixin = Vue.extend({\n props: props,\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n }\n});","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anObject = require('../internals/an-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar nativeArrayBufferSlice = ArrayBuffer.prototype.slice;\n\nvar INCORRECT_SLICE = fails(function () {\n return !new ArrayBuffer(2).slice(1, undefined).byteLength;\n});\n\n// `ArrayBuffer.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice\n$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {\n slice: function slice(start, end) {\n if (nativeArrayBufferSlice !== undefined && end === undefined) {\n return nativeArrayBufferSlice.call(anObject(this), start); // FF fix\n }\n var length = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first));\n var viewSource = new DataView(this);\n var viewTarget = new DataView(result);\n var index = 0;\n while (first < fin) {\n viewTarget.setUint8(index++, viewSource.getUint8(first++));\n } return result;\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.value === '' && !_vm.importingFile)?_c('b-input-group',[_c('b-form-file',{attrs:{\"browse-text\":_vm.$t('fileUploader.browseText'),\"placeholder\":_vm.$t('fileUploader.noFileSelected'),\"state\":_vm.state},on:{\"input\":_vm.onUploadFile},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}})],1):_vm._e(),(_vm.value !== '' && _vm.file)?_c('div',[_vm._v(\" \"+_vm._s(_vm.file.name)+\" \"),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",attrs:{\"icon\":\"XCircleIcon\",\"size\":\"16\"},on:{\"click\":_vm.onDeleteFile}})],1):_vm._e(),(_vm.importingFile)?_c('div',[_c('b-spinner'),_vm._v(\" Cargando archivo... \")],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n {{ file.name }}\r\n \r\n \r\n \r\n \r\n Cargando archivo...\r\n \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!./FileUploader.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!./FileUploader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FileUploader.vue?vue&type=template&id=38dfd9f3&\"\nimport script from \"./FileUploader.vue?vue&type=script&lang=js&\"\nexport * from \"./FileUploader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_COLLAPSE, NAME_SIDEBAR } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_HIDDEN, EVENT_NAME_SHOWN } from '../../constants/events';\nimport { CODE_ESC } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER, SLOT_NAME_HEADER_CLOSE, SLOT_NAME_TITLE } from '../../constants/slots';\nimport { attemptFocus, contains, getActiveElement, getTabables } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIconX } from '../../icons/icons';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar CLASS_NAME = 'b-sidebar';\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // If `true`, shows a basic backdrop\n backdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n backdropVariant: makeProp(PROP_TYPE_STRING, 'dark'),\n bgVariant: makeProp(PROP_TYPE_STRING, 'light'),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // `aria-label` for close button\n closeLabel: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnRouteChange: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n noHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n noSlide: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n shadow: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sidebarClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n textVariant: makeProp(PROP_TYPE_STRING, 'dark'),\n title: makeProp(PROP_TYPE_STRING),\n width: makeProp(PROP_TYPE_STRING),\n zIndex: makeProp(PROP_TYPE_NUMBER_STRING)\n})), NAME_SIDEBAR); // --- Render methods ---\n\nvar renderHeaderTitle = function renderHeaderTitle(h, ctx) {\n // Render a empty `` when to title was provided\n var title = ctx.normalizeSlot(SLOT_NAME_TITLE, ctx.slotScope) || ctx.title;\n\n if (!title) {\n return h('span');\n }\n\n return h('strong', {\n attrs: {\n id: ctx.safeId('__title__')\n }\n }, [title]);\n};\n\nvar renderHeaderClose = function renderHeaderClose(h, ctx) {\n if (ctx.noHeaderClose) {\n return h();\n }\n\n var closeLabel = ctx.closeLabel,\n textVariant = ctx.textVariant,\n hide = ctx.hide;\n return h(BButtonClose, {\n props: {\n ariaLabel: closeLabel,\n textVariant: textVariant\n },\n on: {\n click: hide\n },\n ref: 'close-button'\n }, [ctx.normalizeSlot(SLOT_NAME_HEADER_CLOSE) || h(BIconX)]);\n};\n\nvar renderHeader = function renderHeader(h, ctx) {\n if (ctx.noHeader) {\n return h();\n }\n\n var $content = ctx.normalizeSlot(SLOT_NAME_HEADER, ctx.slotScope);\n\n if (!$content) {\n var $title = renderHeaderTitle(h, ctx);\n var $close = renderHeaderClose(h, ctx);\n $content = ctx.right ? [$close, $title] : [$title, $close];\n }\n\n return h('header', {\n staticClass: \"\".concat(CLASS_NAME, \"-header\"),\n class: ctx.headerClass,\n key: 'header'\n }, $content);\n};\n\nvar renderBody = function renderBody(h, ctx) {\n return h('div', {\n staticClass: \"\".concat(CLASS_NAME, \"-body\"),\n class: ctx.bodyClass,\n key: 'body'\n }, [ctx.normalizeSlot(SLOT_NAME_DEFAULT, ctx.slotScope)]);\n};\n\nvar renderFooter = function renderFooter(h, ctx) {\n var $footer = ctx.normalizeSlot(SLOT_NAME_FOOTER, ctx.slotScope);\n\n if (!$footer) {\n return h();\n }\n\n return h('footer', {\n staticClass: \"\".concat(CLASS_NAME, \"-footer\"),\n class: ctx.footerClass,\n key: 'footer'\n }, [$footer]);\n};\n\nvar renderContent = function renderContent(h, ctx) {\n // We render the header even if `lazy` is enabled as it\n // acts as the accessible label for the sidebar\n var $header = renderHeader(h, ctx);\n\n if (ctx.lazy && !ctx.isOpen) {\n return $header;\n }\n\n return [$header, renderBody(h, ctx), renderFooter(h, ctx)];\n};\n\nvar renderBackdrop = function renderBackdrop(h, ctx) {\n if (!ctx.backdrop) {\n return h();\n }\n\n var backdropVariant = ctx.backdropVariant;\n return h('div', {\n directives: [{\n name: 'show',\n value: ctx.localShow\n }],\n staticClass: 'b-sidebar-backdrop',\n class: _defineProperty({}, \"bg-\".concat(backdropVariant), backdropVariant),\n on: {\n click: ctx.onBackdropClick\n }\n });\n}; // --- Main component ---\n// @vue/component\n\n\nexport var BSidebar = /*#__PURE__*/Vue.extend({\n name: NAME_SIDEBAR,\n mixins: [attrsMixin, idMixin, modelMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n var visible = !!this[MODEL_PROP_NAME];\n return {\n // Internal `v-model` state\n localShow: visible,\n // For lazy render triggering\n isOpen: visible\n };\n },\n computed: {\n transitionProps: function transitionProps() {\n return this.noSlide ?\n /* istanbul ignore next */\n {\n css: true\n } : {\n css: true,\n enterClass: '',\n enterActiveClass: 'slide',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: 'slide',\n leaveToClass: ''\n };\n },\n slotScope: function slotScope() {\n var hide = this.hide,\n right = this.right,\n visible = this.localShow;\n return {\n hide: hide,\n right: right,\n visible: visible\n };\n },\n hasTitle: function hasTitle() {\n var $scopedSlots = this.$scopedSlots,\n $slots = this.$slots;\n return !this.noHeader && !this.hasNormalizedSlot(SLOT_NAME_HEADER) && !!(this.normalizeSlot(SLOT_NAME_TITLE, this.slotScope, $scopedSlots, $slots) || this.title);\n },\n titleId: function titleId() {\n return this.hasTitle ? this.safeId('__title__') : null;\n },\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n tabindex: '-1',\n role: 'dialog',\n 'aria-modal': this.backdrop ? 'true' : 'false',\n 'aria-hidden': this.localShow ? null : 'true',\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || this.titleId || null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localShow = newValue;\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState(newValue);\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_watch, \"$route\", function $route() {\n var newValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var oldValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.noCloseOnRouteChange && newValue.fullPath !== oldValue.fullPath) {\n this.hide();\n }\n }), _watch),\n created: function created() {\n // Define non-reactive properties\n this.$_returnFocusEl = null;\n },\n mounted: function mounted() {\n var _this = this;\n\n // Add `$root` listeners\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggle);\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, this.handleSync); // Send out a gratuitous state event to ensure toggle button is synced\n\n this.$nextTick(function () {\n _this.emitState(_this.localShow);\n });\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n this.localShow = false;\n this.$_returnFocusEl = null;\n },\n methods: {\n hide: function hide() {\n this.localShow = false;\n },\n emitState: function emitState() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.localShow;\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, this.safeId(), state);\n },\n emitSync: function emitSync() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.localShow;\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), state);\n },\n handleToggle: function handleToggle(id) {\n // Note `safeId()` can be null until after mount\n if (id && id === this.safeId()) {\n this.localShow = !this.localShow;\n }\n },\n handleSync: function handleSync(id) {\n var _this2 = this;\n\n // Note `safeId()` can be null until after mount\n if (id && id === this.safeId()) {\n this.$nextTick(function () {\n _this2.emitSync(_this2.localShow);\n });\n }\n },\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode;\n\n if (!this.noCloseOnEsc && keyCode === CODE_ESC && this.localShow) {\n this.hide();\n }\n },\n onBackdropClick: function onBackdropClick() {\n if (this.localShow && !this.noCloseOnBackdrop) {\n this.hide();\n }\n },\n\n /* istanbul ignore next */\n onTopTrapFocus: function onTopTrapFocus() {\n var tabables = getTabables(this.$refs.content);\n this.enforceFocus(tabables.reverse()[0]);\n },\n\n /* istanbul ignore next */\n onBottomTrapFocus: function onBottomTrapFocus() {\n var tabables = getTabables(this.$refs.content);\n this.enforceFocus(tabables[0]);\n },\n onBeforeEnter: function onBeforeEnter() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n this.$_returnFocusEl = getActiveElement(IS_BROWSER ? [document.body] : []); // Trigger lazy render\n\n this.isOpen = true;\n },\n onAfterEnter: function onAfterEnter(el) {\n if (!contains(el, getActiveElement())) {\n this.enforceFocus(el);\n }\n\n this.$emit(EVENT_NAME_SHOWN);\n },\n onAfterLeave: function onAfterLeave() {\n this.enforceFocus(this.$_returnFocusEl);\n this.$_returnFocusEl = null; // Trigger lazy render\n\n this.isOpen = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n enforceFocus: function enforceFocus(el) {\n if (!this.noEnforceFocus) {\n attemptFocus(el);\n }\n }\n },\n render: function render(h) {\n var _ref;\n\n var bgVariant = this.bgVariant,\n width = this.width,\n textVariant = this.textVariant,\n localShow = this.localShow;\n var shadow = this.shadow === '' ? true : this.shadow;\n var $sidebar = h(this.tag, {\n staticClass: CLASS_NAME,\n class: [(_ref = {\n shadow: shadow === true\n }, _defineProperty(_ref, \"shadow-\".concat(shadow), shadow && shadow !== true), _defineProperty(_ref, \"\".concat(CLASS_NAME, \"-right\"), this.right), _defineProperty(_ref, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_ref, \"text-\".concat(textVariant), textVariant), _ref), this.sidebarClass],\n style: {\n width: width\n },\n attrs: this.computedAttrs,\n directives: [{\n name: 'show',\n value: localShow\n }],\n ref: 'content'\n }, [renderContent(h, this)]);\n $sidebar = h('transition', {\n props: this.transitionProps,\n on: {\n beforeEnter: this.onBeforeEnter,\n afterEnter: this.onAfterEnter,\n afterLeave: this.onAfterLeave\n }\n }, [$sidebar]);\n var $backdrop = h(BVTransition, {\n props: {\n noFade: this.noSlide\n }\n }, [renderBackdrop(h, this)]);\n var $tabTrapTop = h();\n var $tabTrapBottom = h();\n\n if (this.backdrop && localShow) {\n $tabTrapTop = h('div', {\n attrs: {\n tabindex: '0'\n },\n on: {\n focus: this.onTopTrapFocus\n }\n });\n $tabTrapBottom = h('div', {\n attrs: {\n tabindex: '0'\n },\n on: {\n focus: this.onBottomTrapFocus\n }\n });\n }\n\n return h('div', {\n staticClass: 'b-sidebar-outer',\n style: {\n zIndex: this.zIndex\n },\n attrs: {\n tabindex: '-1'\n },\n on: {\n keydown: this.onKeydown\n }\n }, [$tabTrapTop, $sidebar, $tabTrapBottom, $backdrop]);\n }\n});","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\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_CALENDAR } from '../../constants/components';\nimport { CALENDAR_GREGORY, CALENDAR_LONG, CALENDAR_NARROW, CALENDAR_SHORT, DATE_FORMAT_2_DIGIT, DATE_FORMAT_NUMERIC } from '../../constants/date';\nimport { EVENT_NAME_CONTEXT, EVENT_NAME_SELECTED } from '../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_ENTER, CODE_HOME, CODE_LEFT, CODE_PAGEDOWN, CODE_PAGEUP, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_DATE_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_NAV_NEXT_DECADE, SLOT_NAME_NAV_NEXT_MONTH, SLOT_NAME_NAV_NEXT_YEAR, SLOT_NAME_NAV_PEV_DECADE, SLOT_NAME_NAV_PEV_MONTH, SLOT_NAME_NAV_PEV_YEAR, SLOT_NAME_NAV_THIS_MONTH } from '../../constants/slots';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { createDate, createDateFormatter, constrainDate as _constrainDate, datesEqual, firstDateOfMonth, formatYMD, lastDateOfMonth, oneMonthAgo, oneMonthAhead, oneYearAgo, oneYearAhead, oneDecadeAgo, oneDecadeAhead, parseYMD, resolveLocale } from '../../utils/date';\nimport { attemptBlur, attemptFocus, requestAF } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isArray, isPlainObject, isString } from '../../utils/inspect';\nimport { isLocaleRTL } from '../../utils/locale';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { mathMax } 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 { attrsMixin } from '../../mixins/attrs';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIconChevronLeft, BIconChevronDoubleLeft, BIconChevronBarLeft, BIconCircleFill } from '../../icons/icons'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_DATE_STRING\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n // Makes calendar the full width of its parent container\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n dateDisabledFn: makeProp(PROP_TYPE_FUNCTION),\n // `Intl.DateTimeFormat` object\n dateFormatOptions: makeProp(PROP_TYPE_OBJECT, {\n year: DATE_FORMAT_NUMERIC,\n month: CALENDAR_LONG,\n day: DATE_FORMAT_NUMERIC,\n weekday: CALENDAR_LONG\n }),\n // Function to set a class of (classes) on the date cell\n // if passed a string or an array\n // TODO:\n // If the function returns an object, look for class prop for classes,\n // and other props for handling events/details/descriptions\n dateInfoFn: makeProp(PROP_TYPE_FUNCTION),\n // 'ltr', 'rtl', or `null` (for auto detect)\n direction: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // When `true`, renders a comment node, but keeps the component instance active\n // Mainly for , so that we can get the component's value and locale\n // But we might just use separate date formatters, using the resolved locale\n // (adjusted for the gregorian calendar)\n hidden: makeProp(PROP_TYPE_BOOLEAN, false),\n // When `true` makes the selected date header `sr-only`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // This specifies the calendar year/month/day that will be shown when\n // first opening the datepicker if no v-model value is provided\n // Default is the current date (or `min`/`max`)\n initialDate: makeProp(PROP_TYPE_DATE_STRING),\n // Labels for buttons and keyboard shortcuts\n labelCalendar: makeProp(PROP_TYPE_STRING, 'Calendar'),\n labelCurrentMonth: makeProp(PROP_TYPE_STRING, 'Current month'),\n labelHelp: makeProp(PROP_TYPE_STRING, 'Use cursor keys to navigate calendar dates'),\n labelNav: makeProp(PROP_TYPE_STRING, 'Calendar navigation'),\n labelNextDecade: makeProp(PROP_TYPE_STRING, 'Next decade'),\n labelNextMonth: makeProp(PROP_TYPE_STRING, 'Next month'),\n labelNextYear: makeProp(PROP_TYPE_STRING, 'Next year'),\n labelNoDateSelected: makeProp(PROP_TYPE_STRING, 'No date selected'),\n labelPrevDecade: makeProp(PROP_TYPE_STRING, 'Previous decade'),\n labelPrevMonth: makeProp(PROP_TYPE_STRING, 'Previous month'),\n labelPrevYear: makeProp(PROP_TYPE_STRING, 'Previous year'),\n labelSelected: makeProp(PROP_TYPE_STRING, 'Selected date'),\n labelToday: makeProp(PROP_TYPE_STRING, 'Today'),\n // Locale(s) to use\n // Default is to use page/browser default setting\n locale: makeProp(PROP_TYPE_ARRAY_STRING),\n max: makeProp(PROP_TYPE_DATE_STRING),\n min: makeProp(PROP_TYPE_DATE_STRING),\n // Variant color to use for the navigation buttons\n navButtonVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n // Disable highlighting today's date\n noHighlightToday: makeProp(PROP_TYPE_BOOLEAN, false),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n roleDescription: makeProp(PROP_TYPE_STRING),\n // Variant color to use for the selected date\n selectedVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // When `true` enables the decade navigation buttons\n showDecadeNav: makeProp(PROP_TYPE_BOOLEAN, false),\n // Day of week to start calendar on\n // `0` (Sunday), `1` (Monday), ... `6` (Saturday)\n startWeekday: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n // Variant color to use for today's date (defaults to `selectedVariant`)\n todayVariant: makeProp(PROP_TYPE_STRING),\n // Always return the `v-model` value as a date object\n valueAsDate: makeProp(PROP_TYPE_BOOLEAN, false),\n // Format of the weekday names at the top of the calendar\n // `short` is typically a 3 letter abbreviation,\n // `narrow` is typically a single letter\n // `long` is the full week day name\n // Although some locales may override this (i.e `ar`, etc.)\n weekdayHeaderFormat: makeProp(PROP_TYPE_STRING, CALENDAR_SHORT, function (value) {\n return arrayIncludes([CALENDAR_LONG, CALENDAR_SHORT, CALENDAR_NARROW], value);\n }),\n // Has no effect if prop `block` is set\n width: makeProp(PROP_TYPE_STRING, '270px')\n})), NAME_CALENDAR); // --- Main component ---\n// @vue/component\n\nexport var BCalendar = Vue.extend({\n name: NAME_CALENDAR,\n // Mixin order is important!\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n var selected = formatYMD(this[MODEL_PROP_NAME]) || '';\n return {\n // Selected date\n selectedYMD: selected,\n // Date in calendar grid that has `tabindex` of `0`\n activeYMD: selected || formatYMD(_constrainDate(this.initialDate || this.getToday()), this.min, this.max),\n // Will be true if the calendar grid has/contains focus\n gridHasFocus: false,\n // Flag to enable the `aria-live` region(s) after mount\n // to prevent screen reader \"outbursts\" when mounting\n isLive: false\n };\n },\n computed: {\n valueId: function valueId() {\n return this.safeId();\n },\n widgetId: function widgetId() {\n return this.safeId('_calendar-wrapper_');\n },\n navId: function navId() {\n return this.safeId('_calendar-nav_');\n },\n gridId: function gridId() {\n return this.safeId('_calendar-grid_');\n },\n gridCaptionId: function gridCaptionId() {\n return this.safeId('_calendar-grid-caption_');\n },\n gridHelpId: function gridHelpId() {\n return this.safeId('_calendar-grid-help_');\n },\n activeId: function activeId() {\n return this.activeYMD ? this.safeId(\"_cell-\".concat(this.activeYMD, \"_\")) : null;\n },\n // TODO: Use computed props to convert `YYYY-MM-DD` to `Date` object\n selectedDate: function selectedDate() {\n // Selected as a `Date` object\n return parseYMD(this.selectedYMD);\n },\n activeDate: function activeDate() {\n // Active as a `Date` object\n return parseYMD(this.activeYMD);\n },\n computedMin: function computedMin() {\n return parseYMD(this.min);\n },\n computedMax: function computedMax() {\n return parseYMD(this.max);\n },\n computedWeekStarts: function computedWeekStarts() {\n // `startWeekday` is a prop (constrained to `0` through `6`)\n return mathMax(toInteger(this.startWeekday, 0), 0) % 7;\n },\n computedLocale: function computedLocale() {\n // Returns the resolved locale used by the calendar\n return resolveLocale(concat(this.locale).filter(identity), CALENDAR_GREGORY);\n },\n computedDateDisabledFn: function computedDateDisabledFn() {\n var dateDisabledFn = this.dateDisabledFn;\n return hasPropFunction(dateDisabledFn) ? dateDisabledFn : function () {\n return false;\n };\n },\n // TODO: Change `dateInfoFn` to handle events and notes as well as classes\n computedDateInfoFn: function computedDateInfoFn() {\n var dateInfoFn = this.dateInfoFn;\n return hasPropFunction(dateInfoFn) ? dateInfoFn : function () {\n return {};\n };\n },\n calendarLocale: function calendarLocale() {\n // This locale enforces the gregorian calendar (for use in formatter functions)\n // Needed because IE 11 resolves `ar-IR` as islamic-civil calendar\n // and IE 11 (and some other browsers) do not support the `calendar` option\n // And we currently only support the gregorian calendar\n var fmt = new Intl.DateTimeFormat(this.computedLocale, {\n calendar: CALENDAR_GREGORY\n });\n var calendar = fmt.resolvedOptions().calendar;\n var locale = fmt.resolvedOptions().locale;\n /* istanbul ignore if: mainly for IE 11 and a few other browsers, hard to test in JSDOM */\n\n if (calendar !== CALENDAR_GREGORY) {\n // Ensure the locale requests the gregorian calendar\n // Mainly for IE 11, and currently we can't handle non-gregorian calendars\n // TODO: Should we always return this value?\n locale = locale.replace(/-u-.+$/i, '').concat('-u-ca-gregory');\n }\n\n return locale;\n },\n calendarYear: function calendarYear() {\n return this.activeDate.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.activeDate.getMonth();\n },\n calendarFirstDay: function calendarFirstDay() {\n // We set the time for this date to 12pm to work around\n // date formatting issues in Firefox and Safari\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/5818\n return createDate(this.calendarYear, this.calendarMonth, 1, 12);\n },\n calendarDaysInMonth: function calendarDaysInMonth() {\n // We create a new date as to not mutate the original\n var date = createDate(this.calendarFirstDay);\n date.setMonth(date.getMonth() + 1, 0);\n return date.getDate();\n },\n computedVariant: function computedVariant() {\n return \"btn-\".concat(this.selectedVariant || 'primary');\n },\n computedTodayVariant: function computedTodayVariant() {\n return \"btn-outline-\".concat(this.todayVariant || this.selectedVariant || 'primary');\n },\n computedNavButtonVariant: function computedNavButtonVariant() {\n return \"btn-outline-\".concat(this.navButtonVariant || 'primary');\n },\n isRTL: function isRTL() {\n // `true` if the language requested is RTL\n var dir = toString(this.direction).toLowerCase();\n\n if (dir === 'rtl') {\n /* istanbul ignore next */\n return true;\n } else if (dir === 'ltr') {\n /* istanbul ignore next */\n return false;\n }\n\n return isLocaleRTL(this.computedLocale);\n },\n context: function context() {\n var selectedYMD = this.selectedYMD,\n activeYMD = this.activeYMD;\n var selectedDate = parseYMD(selectedYMD);\n var activeDate = parseYMD(activeYMD);\n return {\n // The current value of the `v-model`\n selectedYMD: selectedYMD,\n selectedDate: selectedDate,\n selectedFormatted: selectedDate ? this.formatDateString(selectedDate) : this.labelNoDateSelected,\n // Which date cell is considered active due to navigation\n activeYMD: activeYMD,\n activeDate: activeDate,\n activeFormatted: activeDate ? this.formatDateString(activeDate) : '',\n // `true` if the date is disabled (when using keyboard navigation)\n disabled: this.dateDisabled(activeDate),\n // Locales used in formatting dates\n locale: this.computedLocale,\n calendarLocale: this.calendarLocale,\n rtl: this.isRTL\n };\n },\n // Computed props that return a function reference\n dateOutOfRange: function dateOutOfRange() {\n // Check whether a date is within the min/max range\n // Returns a new function ref if the pops change\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n var min = this.computedMin,\n max = this.computedMax;\n return function (date) {\n // Handle both `YYYY-MM-DD` and `Date` objects\n date = parseYMD(date);\n return min && date < min || max && date > max;\n };\n },\n dateDisabled: function dateDisabled() {\n var _this = this;\n\n // Returns a function for validating if a date is within range\n // We grab this variables first to ensure a new function ref\n // is generated when the props value changes\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n var rangeFn = this.dateOutOfRange; // Return the function ref\n\n return function (date) {\n // Handle both `YYYY-MM-DD` and `Date` objects\n date = parseYMD(date);\n var ymd = formatYMD(date);\n return !!(rangeFn(date) || _this.computedDateDisabledFn(ymd, date));\n };\n },\n // Computed props that return date formatter functions\n formatDateString: function formatDateString() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, _objectSpread(_objectSpread({\n // Ensure we have year, month, day shown for screen readers/ARIA\n // If users really want to leave one of these out, they can\n // pass `undefined` for the property value\n year: DATE_FORMAT_NUMERIC,\n month: DATE_FORMAT_2_DIGIT,\n day: DATE_FORMAT_2_DIGIT\n }, this.dateFormatOptions), {}, {\n // Ensure hours/minutes/seconds are not shown\n // As we do not support the time portion (yet)\n hour: undefined,\n minute: undefined,\n second: undefined,\n // Ensure calendar is gregorian\n calendar: CALENDAR_GREGORY\n }));\n },\n formatYearMonth: function formatYearMonth() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, {\n year: DATE_FORMAT_NUMERIC,\n month: CALENDAR_LONG,\n calendar: CALENDAR_GREGORY\n });\n },\n formatWeekdayName: function formatWeekdayName() {\n // Long weekday name for weekday header aria-label\n return createDateFormatter(this.calendarLocale, {\n weekday: CALENDAR_LONG,\n calendar: CALENDAR_GREGORY\n });\n },\n formatWeekdayNameShort: function formatWeekdayNameShort() {\n // Weekday header cell format\n // defaults to 'short' 3 letter days, where possible\n return createDateFormatter(this.calendarLocale, {\n weekday: this.weekdayHeaderFormat || CALENDAR_SHORT,\n calendar: CALENDAR_GREGORY\n });\n },\n formatDay: function formatDay() {\n // Calendar grid day number formatter\n // We don't use DateTimeFormatter here as it can place extra\n // character(s) after the number (i.e the `zh` locale)\n var nf = new Intl.NumberFormat([this.computedLocale], {\n style: 'decimal',\n minimumIntegerDigits: 1,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n notation: 'standard'\n }); // Return a formatter function instance\n\n return function (date) {\n return nf.format(date.getDate());\n };\n },\n // Disabled states for the nav buttons\n prevDecadeDisabled: function prevDecadeDisabled() {\n var min = this.computedMin;\n return this.disabled || min && lastDateOfMonth(oneDecadeAgo(this.activeDate)) < min;\n },\n prevYearDisabled: function prevYearDisabled() {\n var min = this.computedMin;\n return this.disabled || min && lastDateOfMonth(oneYearAgo(this.activeDate)) < min;\n },\n prevMonthDisabled: function prevMonthDisabled() {\n var min = this.computedMin;\n return this.disabled || min && lastDateOfMonth(oneMonthAgo(this.activeDate)) < min;\n },\n thisMonthDisabled: function thisMonthDisabled() {\n // TODO: We could/should check if today is out of range\n return this.disabled;\n },\n nextMonthDisabled: function nextMonthDisabled() {\n var max = this.computedMax;\n return this.disabled || max && firstDateOfMonth(oneMonthAhead(this.activeDate)) > max;\n },\n nextYearDisabled: function nextYearDisabled() {\n var max = this.computedMax;\n return this.disabled || max && firstDateOfMonth(oneYearAhead(this.activeDate)) > max;\n },\n nextDecadeDisabled: function nextDecadeDisabled() {\n var max = this.computedMax;\n return this.disabled || max && firstDateOfMonth(oneDecadeAhead(this.activeDate)) > max;\n },\n // Calendar dates generation\n calendar: function calendar() {\n var matrix = [];\n var firstDay = this.calendarFirstDay;\n var calendarYear = firstDay.getFullYear();\n var calendarMonth = firstDay.getMonth();\n var daysInMonth = this.calendarDaysInMonth;\n var startIndex = firstDay.getDay(); // `0`..`6`\n\n var weekOffset = (this.computedWeekStarts > startIndex ? 7 : 0) - this.computedWeekStarts; // Build the calendar matrix\n\n var currentDay = 0 - weekOffset - startIndex;\n\n for (var week = 0; week < 6 && currentDay < daysInMonth; week++) {\n // For each week\n matrix[week] = []; // The following could be a map function\n\n for (var j = 0; j < 7; j++) {\n // For each day in week\n currentDay++;\n var date = createDate(calendarYear, calendarMonth, currentDay);\n var month = date.getMonth();\n var dayYMD = formatYMD(date);\n var dayDisabled = this.dateDisabled(date); // TODO: This could be a normalizer method\n\n var dateInfo = this.computedDateInfoFn(dayYMD, parseYMD(dayYMD));\n dateInfo = isString(dateInfo) || isArray(dateInfo) ?\n /* istanbul ignore next */\n {\n class: dateInfo\n } : isPlainObject(dateInfo) ? _objectSpread({\n class: ''\n }, dateInfo) :\n /* istanbul ignore next */\n {\n class: ''\n };\n matrix[week].push({\n ymd: dayYMD,\n // Cell content\n day: this.formatDay(date),\n label: this.formatDateString(date),\n // Flags for styling\n isThisMonth: month === calendarMonth,\n isDisabled: dayDisabled,\n // TODO: Handle other dateInfo properties such as notes/events\n info: dateInfo\n });\n }\n }\n\n return matrix;\n },\n calendarHeadings: function calendarHeadings() {\n var _this2 = this;\n\n return this.calendar[0].map(function (d) {\n return {\n text: _this2.formatWeekdayNameShort(parseYMD(d.ymd)),\n label: _this2.formatWeekdayName(parseYMD(d.ymd))\n };\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n var selected = formatYMD(newValue) || '';\n var old = formatYMD(oldValue) || '';\n\n if (!datesEqual(selected, old)) {\n this.activeYMD = selected || this.activeYMD;\n this.selectedYMD = selected;\n }\n }), _defineProperty(_watch, \"selectedYMD\", function selectedYMD(newYMD, oldYMD) {\n // TODO:\n // Should we compare to `formatYMD(this.value)` and emit\n // only if they are different?\n if (newYMD !== oldYMD) {\n this.$emit(MODEL_EVENT_NAME, this.valueAsDate ? parseYMD(newYMD) || null : newYMD || '');\n }\n }), _defineProperty(_watch, \"context\", function context(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT, newValue);\n }\n }), _defineProperty(_watch, \"hidden\", function hidden(newValue) {\n // Reset the active focused day when hidden\n this.activeYMD = this.selectedYMD || formatYMD(this[MODEL_PROP_NAME] || this.constrainDate(this.initialDate || this.getToday())); // Enable/disable the live regions\n\n this.setLive(!newValue);\n }), _watch),\n created: function created() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.$emit(EVENT_NAME_CONTEXT, _this3.context);\n });\n },\n mounted: function mounted() {\n this.setLive(true);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.setLive(true);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n this.setLive(false);\n },\n beforeDestroy: function beforeDestroy() {\n this.setLive(false);\n },\n methods: {\n // Public method(s)\n focus: function focus() {\n if (!this.disabled) {\n attemptFocus(this.$refs.grid);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n attemptBlur(this.$refs.grid);\n }\n },\n // Private methods\n setLive: function setLive(on) {\n var _this4 = this;\n\n if (on) {\n this.$nextTick(function () {\n requestAF(function () {\n _this4.isLive = true;\n });\n });\n } else {\n this.isLive = false;\n }\n },\n getToday: function getToday() {\n return parseYMD(createDate());\n },\n constrainDate: function constrainDate(date) {\n // Constrains a date between min and max\n // returns a new `Date` object instance\n return _constrainDate(date, this.computedMin, this.computedMax);\n },\n emitSelected: function emitSelected(date) {\n var _this5 = this;\n\n // Performed in a `$nextTick()` to (probably) ensure\n // the input event has emitted first\n this.$nextTick(function () {\n _this5.$emit(EVENT_NAME_SELECTED, formatYMD(date) || '', parseYMD(date) || null);\n });\n },\n // Event handlers\n setGridFocusFlag: function setGridFocusFlag(event) {\n // Sets the gridHasFocus flag to make date \"button\" look focused\n this.gridHasFocus = !this.disabled && event.type === 'focus';\n },\n onKeydownWrapper: function onKeydownWrapper(event) {\n // Calendar keyboard navigation\n // Handles PAGEUP/PAGEDOWN/END/HOME/LEFT/UP/RIGHT/DOWN\n // Focuses grid after updating\n if (this.noKeyNav) {\n /* istanbul ignore next */\n return;\n }\n\n var altKey = event.altKey,\n ctrlKey = event.ctrlKey,\n keyCode = event.keyCode;\n\n if (!arrayIncludes([CODE_PAGEUP, CODE_PAGEDOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_UP, CODE_RIGHT, CODE_DOWN], keyCode)) {\n /* istanbul ignore next */\n return;\n }\n\n stopEvent(event);\n var activeDate = createDate(this.activeDate);\n var checkDate = createDate(this.activeDate);\n var day = activeDate.getDate();\n var constrainedToday = this.constrainDate(this.getToday());\n var isRTL = this.isRTL;\n\n if (keyCode === CODE_PAGEUP) {\n // PAGEUP - Previous month/year\n activeDate = (altKey ? ctrlKey ? oneDecadeAgo : oneYearAgo : oneMonthAgo)(activeDate); // We check the first day of month to be in rage\n\n checkDate = createDate(activeDate);\n checkDate.setDate(1);\n } else if (keyCode === CODE_PAGEDOWN) {\n // PAGEDOWN - Next month/year\n activeDate = (altKey ? ctrlKey ? oneDecadeAhead : oneYearAhead : oneMonthAhead)(activeDate); // We check the last day of month to be in rage\n\n checkDate = createDate(activeDate);\n checkDate.setMonth(checkDate.getMonth() + 1);\n checkDate.setDate(0);\n } else if (keyCode === CODE_LEFT) {\n // LEFT - Previous day (or next day for RTL)\n activeDate.setDate(day + (isRTL ? 1 : -1));\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_RIGHT) {\n // RIGHT - Next day (or previous day for RTL)\n activeDate.setDate(day + (isRTL ? -1 : 1));\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_UP) {\n // UP - Previous week\n activeDate.setDate(day - 7);\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_DOWN) {\n // DOWN - Next week\n activeDate.setDate(day + 7);\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_HOME) {\n // HOME - Today\n activeDate = constrainedToday;\n checkDate = activeDate;\n } else if (keyCode === CODE_END) {\n // END - Selected date, or today if no selected date\n activeDate = parseYMD(this.selectedDate) || constrainedToday;\n checkDate = activeDate;\n }\n\n if (!this.dateOutOfRange(checkDate) && !datesEqual(activeDate, this.activeDate)) {\n // We only jump to date if within min/max\n // We don't check for individual disabled dates though (via user function)\n this.activeYMD = formatYMD(activeDate);\n } // Ensure grid is focused\n\n\n this.focus();\n },\n onKeydownGrid: function onKeydownGrid(event) {\n // Pressing enter/space on grid to select active date\n var keyCode = event.keyCode;\n var activeDate = this.activeDate;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n stopEvent(event);\n\n if (!this.disabled && !this.readonly && !this.dateDisabled(activeDate)) {\n this.selectedYMD = formatYMD(activeDate);\n this.emitSelected(activeDate);\n } // Ensure grid is focused\n\n\n this.focus();\n }\n },\n onClickDay: function onClickDay(day) {\n // Clicking on a date \"button\" to select it\n var selectedDate = this.selectedDate,\n activeDate = this.activeDate;\n var clickedDate = parseYMD(day.ymd);\n\n if (!this.disabled && !day.isDisabled && !this.dateDisabled(clickedDate)) {\n if (!this.readonly) {\n // If readonly mode, we don't set the selected date, just the active date\n // If the clicked date is equal to the already selected date, we don't update the model\n this.selectedYMD = formatYMD(datesEqual(clickedDate, selectedDate) ? selectedDate : clickedDate);\n this.emitSelected(clickedDate);\n }\n\n this.activeYMD = formatYMD(datesEqual(clickedDate, activeDate) ? activeDate : createDate(clickedDate)); // Ensure grid is focused\n\n this.focus();\n }\n },\n gotoPrevDecade: function gotoPrevDecade() {\n this.activeYMD = formatYMD(this.constrainDate(oneDecadeAgo(this.activeDate)));\n },\n gotoPrevYear: function gotoPrevYear() {\n this.activeYMD = formatYMD(this.constrainDate(oneYearAgo(this.activeDate)));\n },\n gotoPrevMonth: function gotoPrevMonth() {\n this.activeYMD = formatYMD(this.constrainDate(oneMonthAgo(this.activeDate)));\n },\n gotoCurrentMonth: function gotoCurrentMonth() {\n // TODO: Maybe this goto date should be configurable?\n this.activeYMD = formatYMD(this.constrainDate(this.getToday()));\n },\n gotoNextMonth: function gotoNextMonth() {\n this.activeYMD = formatYMD(this.constrainDate(oneMonthAhead(this.activeDate)));\n },\n gotoNextYear: function gotoNextYear() {\n this.activeYMD = formatYMD(this.constrainDate(oneYearAhead(this.activeDate)));\n },\n gotoNextDecade: function gotoNextDecade() {\n this.activeYMD = formatYMD(this.constrainDate(oneDecadeAhead(this.activeDate)));\n },\n onHeaderClick: function onHeaderClick() {\n if (!this.disabled) {\n this.activeYMD = this.selectedYMD || formatYMD(this.getToday());\n this.focus();\n }\n }\n },\n render: function render(h) {\n var _this6 = this;\n\n // If `hidden` prop is set, render just a placeholder node\n if (this.hidden) {\n return h();\n }\n\n var valueId = this.valueId,\n widgetId = this.widgetId,\n navId = this.navId,\n gridId = this.gridId,\n gridCaptionId = this.gridCaptionId,\n gridHelpId = this.gridHelpId,\n activeId = this.activeId,\n disabled = this.disabled,\n noKeyNav = this.noKeyNav,\n isLive = this.isLive,\n isRTL = this.isRTL,\n activeYMD = this.activeYMD,\n selectedYMD = this.selectedYMD,\n safeId = this.safeId;\n var hideDecadeNav = !this.showDecadeNav;\n var todayYMD = formatYMD(this.getToday());\n var highlightToday = !this.noHighlightToday; // Header showing current selected date\n\n var $header = h('output', {\n staticClass: 'form-control form-control-sm text-center',\n class: {\n 'text-muted': disabled,\n readonly: this.readonly || disabled\n },\n attrs: {\n id: valueId,\n for: gridId,\n role: 'status',\n tabindex: disabled ? null : '-1',\n // Mainly for testing purposes, as we do not know\n // the exact format `Intl` will format the date string\n 'data-selected': toString(selectedYMD),\n // We wait until after mount to enable `aria-live`\n // to prevent initial announcement on page render\n 'aria-live': isLive ? 'polite' : 'off',\n 'aria-atomic': isLive ? 'true' : null\n },\n on: {\n // Transfer focus/click to focus grid\n // and focus active date (or today if no selection)\n click: this.onHeaderClick,\n focus: this.onHeaderClick\n }\n }, this.selectedDate ? [// We use `bdi` elements here in case the label doesn't match the locale\n // Although IE 11 does not deal with at all (equivalent to a span)\n h('bdi', {\n staticClass: 'sr-only'\n }, \" (\".concat(toString(this.labelSelected), \") \")), h('bdi', this.formatDateString(this.selectedDate))] : this.labelNoDateSelected || \"\\xA0\" // ' '\n );\n $header = h('header', {\n staticClass: 'b-calendar-header',\n class: {\n 'sr-only': this.hideHeader\n },\n attrs: {\n title: this.selectedDate ? this.labelSelectedDate || null : null\n }\n }, [$header]); // Content for the date navigation buttons\n\n var navScope = {\n isRTL: isRTL\n };\n var navProps = {\n shiftV: 0.5\n };\n\n var navPrevProps = _objectSpread(_objectSpread({}, navProps), {}, {\n flipH: isRTL\n });\n\n var navNextProps = _objectSpread(_objectSpread({}, navProps), {}, {\n flipH: !isRTL\n });\n\n var $prevDecadeIcon = this.normalizeSlot(SLOT_NAME_NAV_PEV_DECADE, navScope) || h(BIconChevronBarLeft, {\n props: navPrevProps\n });\n var $prevYearIcon = this.normalizeSlot(SLOT_NAME_NAV_PEV_YEAR, navScope) || h(BIconChevronDoubleLeft, {\n props: navPrevProps\n });\n var $prevMonthIcon = this.normalizeSlot(SLOT_NAME_NAV_PEV_MONTH, navScope) || h(BIconChevronLeft, {\n props: navPrevProps\n });\n var $thisMonthIcon = this.normalizeSlot(SLOT_NAME_NAV_THIS_MONTH, navScope) || h(BIconCircleFill, {\n props: navProps\n });\n var $nextMonthIcon = this.normalizeSlot(SLOT_NAME_NAV_NEXT_MONTH, navScope) || h(BIconChevronLeft, {\n props: navNextProps\n });\n var $nextYearIcon = this.normalizeSlot(SLOT_NAME_NAV_NEXT_YEAR, navScope) || h(BIconChevronDoubleLeft, {\n props: navNextProps\n });\n var $nextDecadeIcon = this.normalizeSlot(SLOT_NAME_NAV_NEXT_DECADE, navScope) || h(BIconChevronBarLeft, {\n props: navNextProps\n }); // Utility to create the date navigation buttons\n\n var makeNavBtn = function makeNavBtn(content, label, handler, btnDisabled, shortcut) {\n return h('button', {\n staticClass: 'btn btn-sm border-0 flex-fill',\n class: [_this6.computedNavButtonVariant, {\n disabled: btnDisabled\n }],\n attrs: {\n title: label || null,\n type: 'button',\n tabindex: noKeyNav ? '-1' : null,\n 'aria-label': label || null,\n 'aria-disabled': btnDisabled ? 'true' : null,\n 'aria-keyshortcuts': shortcut || null\n },\n on: btnDisabled ? {} : {\n click: handler\n }\n }, [h('div', {\n attrs: {\n 'aria-hidden': 'true'\n }\n }, [content])]);\n }; // Generate the date navigation buttons\n\n\n var $nav = h('div', {\n staticClass: 'b-calendar-nav d-flex',\n attrs: {\n id: navId,\n role: 'group',\n tabindex: noKeyNav ? '-1' : null,\n 'aria-hidden': disabled ? 'true' : null,\n 'aria-label': this.labelNav || null,\n 'aria-controls': gridId\n }\n }, [hideDecadeNav ? h() : makeNavBtn($prevDecadeIcon, this.labelPrevDecade, this.gotoPrevDecade, this.prevDecadeDisabled, 'Ctrl+Alt+PageDown'), makeNavBtn($prevYearIcon, this.labelPrevYear, this.gotoPrevYear, this.prevYearDisabled, 'Alt+PageDown'), makeNavBtn($prevMonthIcon, this.labelPrevMonth, this.gotoPrevMonth, this.prevMonthDisabled, 'PageDown'), makeNavBtn($thisMonthIcon, this.labelCurrentMonth, this.gotoCurrentMonth, this.thisMonthDisabled, 'Home'), makeNavBtn($nextMonthIcon, this.labelNextMonth, this.gotoNextMonth, this.nextMonthDisabled, 'PageUp'), makeNavBtn($nextYearIcon, this.labelNextYear, this.gotoNextYear, this.nextYearDisabled, 'Alt+PageUp'), hideDecadeNav ? h() : makeNavBtn($nextDecadeIcon, this.labelNextDecade, this.gotoNextDecade, this.nextDecadeDisabled, 'Ctrl+Alt+PageUp')]); // Caption for calendar grid\n\n var $gridCaption = h('header', {\n staticClass: 'b-calendar-grid-caption text-center font-weight-bold',\n class: {\n 'text-muted': disabled\n },\n attrs: {\n id: gridCaptionId,\n 'aria-live': isLive ? 'polite' : null,\n 'aria-atomic': isLive ? 'true' : null\n },\n key: 'grid-caption'\n }, this.formatYearMonth(this.calendarFirstDay)); // Calendar weekday headings\n\n var $gridWeekDays = h('div', {\n staticClass: 'b-calendar-grid-weekdays row no-gutters border-bottom',\n attrs: {\n 'aria-hidden': 'true'\n }\n }, this.calendarHeadings.map(function (d, idx) {\n return h('small', {\n staticClass: 'col text-truncate',\n class: {\n 'text-muted': disabled\n },\n attrs: {\n title: d.label === d.text ? null : d.label,\n 'aria-label': d.label\n },\n key: idx\n }, d.text);\n })); // Calendar day grid\n\n var $gridBody = this.calendar.map(function (week) {\n var $cells = week.map(function (day, dIndex) {\n var _class;\n\n var isSelected = day.ymd === selectedYMD;\n var isActive = day.ymd === activeYMD;\n var isToday = day.ymd === todayYMD;\n var idCell = safeId(\"_cell-\".concat(day.ymd, \"_\")); // \"fake\" button\n\n var $btn = h('span', {\n staticClass: 'btn border-0 rounded-circle text-nowrap',\n // Should we add some classes to signify if today/selected/etc?\n class: (_class = {\n // Give the fake button a focus ring\n focus: isActive && _this6.gridHasFocus,\n // Styling\n disabled: day.isDisabled || disabled,\n active: isSelected\n }, _defineProperty(_class, _this6.computedVariant, isSelected), _defineProperty(_class, _this6.computedTodayVariant, isToday && highlightToday && !isSelected && day.isThisMonth), _defineProperty(_class, 'btn-outline-light', !(isToday && highlightToday) && !isSelected && !isActive), _defineProperty(_class, 'btn-light', !(isToday && highlightToday) && !isSelected && isActive), _defineProperty(_class, 'text-muted', !day.isThisMonth && !isSelected), _defineProperty(_class, 'text-dark', !(isToday && highlightToday) && !isSelected && !isActive && day.isThisMonth), _defineProperty(_class, 'font-weight-bold', (isSelected || day.isThisMonth) && !day.isDisabled), _class),\n on: {\n click: function click() {\n return _this6.onClickDay(day);\n }\n }\n }, day.day);\n return h('div', // Cell with button\n {\n staticClass: 'col p-0',\n class: day.isDisabled ? 'bg-light' : day.info.class || '',\n attrs: {\n id: idCell,\n role: 'button',\n 'data-date': day.ymd,\n // Primarily for testing purposes\n // Only days in the month are presented as buttons to screen readers\n 'aria-hidden': day.isThisMonth ? null : 'true',\n 'aria-disabled': day.isDisabled || disabled ? 'true' : null,\n 'aria-label': [day.label, isSelected ? \"(\".concat(_this6.labelSelected, \")\") : null, isToday ? \"(\".concat(_this6.labelToday, \")\") : null].filter(identity).join(' '),\n // NVDA doesn't convey `aria-selected`, but does `aria-current`,\n // ChromeVox doesn't convey `aria-current`, but does `aria-selected`,\n // so we set both attributes for robustness\n 'aria-selected': isSelected ? 'true' : null,\n 'aria-current': isSelected ? 'date' : null\n },\n key: dIndex\n }, [$btn]);\n }); // Return the week \"row\"\n // We use the first day of the weeks YMD value as a\n // key for efficient DOM patching / element re-use\n\n return h('div', {\n staticClass: 'row no-gutters',\n key: week[0].ymd\n }, $cells);\n });\n $gridBody = h('div', {\n // A key is only required on the body if we add in transition support\n staticClass: 'b-calendar-grid-body',\n style: disabled ? {\n pointerEvents: 'none'\n } : {} // key: this.activeYMD.slice(0, -3)\n\n }, $gridBody);\n var $gridHelp = h('footer', {\n staticClass: 'b-calendar-grid-help border-top small text-muted text-center bg-light',\n attrs: {\n id: gridHelpId\n }\n }, [h('div', {\n staticClass: 'small'\n }, this.labelHelp)]);\n var $grid = h('div', {\n staticClass: 'b-calendar-grid form-control h-auto text-center',\n attrs: {\n id: gridId,\n role: 'application',\n tabindex: noKeyNav ? '-1' : disabled ? null : '0',\n 'data-month': activeYMD.slice(0, -3),\n // `YYYY-MM`, mainly for testing\n 'aria-roledescription': this.labelCalendar || null,\n 'aria-labelledby': gridCaptionId,\n 'aria-describedby': gridHelpId,\n // `aria-readonly` is not considered valid on `role=\"application\"`\n // https://www.w3.org/TR/wai-aria-1.1/#aria-readonly\n // 'aria-readonly': this.readonly && !disabled ? 'true' : null,\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-activedescendant': activeId\n },\n on: {\n keydown: this.onKeydownGrid,\n focus: this.setGridFocusFlag,\n blur: this.setGridFocusFlag\n },\n ref: 'grid'\n }, [$gridCaption, $gridWeekDays, $gridBody, $gridHelp]); // Optional bottom slot\n\n var $slot = this.normalizeSlot();\n $slot = $slot ? h('footer', {\n staticClass: 'b-calendar-footer'\n }, $slot) : h();\n var $widget = h('div', {\n staticClass: 'b-calendar-inner',\n style: this.block ? {} : {\n width: this.width\n },\n attrs: {\n id: widgetId,\n dir: isRTL ? 'rtl' : 'ltr',\n lang: this.computedLocale || null,\n role: 'group',\n 'aria-disabled': disabled ? 'true' : null,\n // If datepicker controls an input, this will specify the ID of the input\n 'aria-controls': this.ariaControls || null,\n // This should be a prop (so it can be changed to Date picker, etc, localized\n 'aria-roledescription': this.roleDescription || null,\n 'aria-describedby': [// Should the attr (if present) go last?\n // Or should this attr be a prop?\n this.bvAttrs['aria-describedby'], valueId, gridHelpId].filter(identity).join(' ')\n },\n on: {\n keydown: this.onKeydownWrapper\n }\n }, [$header, $nav, $grid, $slot]); // Wrap in an outer div that can be styled\n\n return h('div', {\n staticClass: 'b-calendar',\n class: {\n 'd-block': this.block\n }\n }, [$widget]);\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_FORM_DATEPICKER } from '../../constants/components';\nimport { EVENT_NAME_CONTEXT, EVENT_NAME_HIDDEN, EVENT_NAME_SHOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_DATE_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BUTTON_CONTENT } from '../../constants/slots';\nimport { createDate, constrainDate, formatYMD, parseYMD } from '../../utils/date';\nimport { attemptBlur, attemptFocus } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { omit, pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { BIconCalendar, BIconCalendarFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BCalendar, props as BCalendarProps } from '../calendar/calendar';\nimport { BVFormBtnLabelControl, props as BVFormBtnLabelControlProps } from '../form-btn-label-control/bv-form-btn-label-control'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_DATE_STRING\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nvar calendarProps = omit(BCalendarProps, ['block', 'hidden', 'id', 'noKeyNav', 'roleDescription', 'value', 'width']);\nvar formBtnLabelControlProps = omit(BVFormBtnLabelControlProps, ['formattedValue', 'id', 'lang', 'rtl', 'value']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), calendarProps), formBtnLabelControlProps), {}, {\n // Width of the calendar dropdown\n calendarWidth: makeProp(PROP_TYPE_STRING, '270px'),\n closeButton: makeProp(PROP_TYPE_BOOLEAN, false),\n closeButtonVariant: makeProp(PROP_TYPE_STRING, 'outline-secondary'),\n // Dark mode\n dark: makeProp(PROP_TYPE_BOOLEAN, false),\n labelCloseButton: makeProp(PROP_TYPE_STRING, 'Close'),\n labelResetButton: makeProp(PROP_TYPE_STRING, 'Reset'),\n labelTodayButton: makeProp(PROP_TYPE_STRING, 'Select today'),\n noCloseOnSelect: makeProp(PROP_TYPE_BOOLEAN, false),\n resetButton: makeProp(PROP_TYPE_BOOLEAN, false),\n resetButtonVariant: makeProp(PROP_TYPE_STRING, 'outline-danger'),\n resetValue: makeProp(PROP_TYPE_DATE_STRING),\n todayButton: makeProp(PROP_TYPE_BOOLEAN, false),\n todayButtonVariant: makeProp(PROP_TYPE_STRING, 'outline-primary')\n})), NAME_FORM_DATEPICKER); // --- Main component ---\n// @vue/component\n\nexport var BFormDatepicker = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_DATEPICKER,\n mixins: [idMixin, modelMixin],\n props: props,\n data: function data() {\n return {\n // We always use `YYYY-MM-DD` value internally\n localYMD: formatYMD(this[MODEL_PROP_NAME]) || '',\n // If the popup is open\n isVisible: false,\n // Context data from BCalendar\n localLocale: null,\n isRTL: false,\n formattedValue: '',\n activeYMD: ''\n };\n },\n computed: {\n calendarYM: function calendarYM() {\n // Returns the calendar year/month\n // Returns the `YYYY-MM` portion of the active calendar date\n return this.activeYMD.slice(0, -3);\n },\n computedLang: function computedLang() {\n return (this.localLocale || '').replace(/-u-.*$/i, '') || null;\n },\n computedResetValue: function computedResetValue() {\n return formatYMD(constrainDate(this.resetValue)) || '';\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n this.localYMD = formatYMD(newValue) || '';\n }), _defineProperty(_watch, \"localYMD\", function localYMD(newValue) {\n // We only update the v-model when the datepicker is open\n if (this.isVisible) {\n this.$emit(MODEL_EVENT_NAME, this.valueAsDate ? parseYMD(newValue) || null : newValue || '');\n }\n }), _defineProperty(_watch, \"calendarYM\", function calendarYM(newValue, oldValue) {\n // Displayed calendar month has changed\n // So possibly the calendar height has changed...\n // We need to update popper computed position\n if (newValue !== oldValue && oldValue) {\n try {\n this.$refs.control.updatePopper();\n } catch (_unused) {}\n }\n }), _watch),\n methods: {\n // Public methods\n focus: function focus() {\n if (!this.disabled) {\n attemptFocus(this.$refs.control);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n attemptBlur(this.$refs.control);\n }\n },\n // Private methods\n setAndClose: function setAndClose(ymd) {\n var _this = this;\n\n this.localYMD = ymd; // Close calendar popup, unless `noCloseOnSelect`\n\n if (!this.noCloseOnSelect) {\n this.$nextTick(function () {\n _this.$refs.control.hide(true);\n });\n }\n },\n onSelected: function onSelected(ymd) {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.setAndClose(ymd);\n });\n },\n onInput: function onInput(ymd) {\n if (this.localYMD !== ymd) {\n this.localYMD = ymd;\n }\n },\n onContext: function onContext(ctx) {\n var activeYMD = ctx.activeYMD,\n isRTL = ctx.isRTL,\n locale = ctx.locale,\n selectedYMD = ctx.selectedYMD,\n selectedFormatted = ctx.selectedFormatted;\n this.isRTL = isRTL;\n this.localLocale = locale;\n this.formattedValue = selectedFormatted;\n this.localYMD = selectedYMD;\n this.activeYMD = activeYMD; // Re-emit the context event\n\n this.$emit(EVENT_NAME_CONTEXT, ctx);\n },\n onTodayButton: function onTodayButton() {\n // Set to today (or min/max if today is out of range)\n this.setAndClose(formatYMD(constrainDate(createDate(), this.min, this.max)));\n },\n onResetButton: function onResetButton() {\n this.setAndClose(this.computedResetValue);\n },\n onCloseButton: function onCloseButton() {\n this.$refs.control.hide(true);\n },\n // Menu handlers\n onShow: function onShow() {\n this.isVisible = true;\n },\n onShown: function onShown() {\n var _this3 = this;\n\n this.$nextTick(function () {\n attemptFocus(_this3.$refs.calendar);\n\n _this3.$emit(EVENT_NAME_SHOWN);\n });\n },\n onHidden: function onHidden() {\n this.isVisible = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n // Render helpers\n defaultButtonFn: function defaultButtonFn(_ref) {\n var isHovered = _ref.isHovered,\n hasFocus = _ref.hasFocus;\n return this.$createElement(isHovered || hasFocus ? BIconCalendarFill : BIconCalendar, {\n attrs: {\n 'aria-hidden': 'true'\n }\n });\n }\n },\n render: function render(h) {\n var localYMD = this.localYMD,\n disabled = this.disabled,\n readonly = this.readonly,\n dark = this.dark,\n $props = this.$props,\n $scopedSlots = this.$scopedSlots;\n var placeholder = isUndefinedOrNull(this.placeholder) ? this.labelNoDateSelected : this.placeholder; // Optional footer buttons\n\n var $footer = [];\n\n if (this.todayButton) {\n var label = this.labelTodayButton;\n $footer.push(h(BButton, {\n props: {\n disabled: disabled || readonly,\n size: 'sm',\n variant: this.todayButtonVariant\n },\n attrs: {\n 'aria-label': label || null\n },\n on: {\n click: this.onTodayButton\n }\n }, label));\n }\n\n if (this.resetButton) {\n var _label = this.labelResetButton;\n $footer.push(h(BButton, {\n props: {\n disabled: disabled || readonly,\n size: 'sm',\n variant: this.resetButtonVariant\n },\n attrs: {\n 'aria-label': _label || null\n },\n on: {\n click: this.onResetButton\n }\n }, _label));\n }\n\n if (this.closeButton) {\n var _label2 = this.labelCloseButton;\n $footer.push(h(BButton, {\n props: {\n disabled: disabled,\n size: 'sm',\n variant: this.closeButtonVariant\n },\n attrs: {\n 'aria-label': _label2 || null\n },\n on: {\n click: this.onCloseButton\n }\n }, _label2));\n }\n\n if ($footer.length > 0) {\n $footer = [h('div', {\n staticClass: 'b-form-date-controls d-flex flex-wrap',\n class: {\n 'justify-content-between': $footer.length > 1,\n 'justify-content-end': $footer.length < 2\n }\n }, $footer)];\n }\n\n var $calendar = h(BCalendar, {\n staticClass: 'b-form-date-calendar w-100',\n props: _objectSpread(_objectSpread({}, pluckProps(calendarProps, $props)), {}, {\n hidden: !this.isVisible,\n value: localYMD,\n valueAsDate: false,\n width: this.calendarWidth\n }),\n on: {\n selected: this.onSelected,\n input: this.onInput,\n context: this.onContext\n },\n scopedSlots: pick($scopedSlots, ['nav-prev-decade', 'nav-prev-year', 'nav-prev-month', 'nav-this-month', 'nav-next-month', 'nav-next-year', 'nav-next-decade']),\n key: 'calendar',\n ref: 'calendar'\n }, $footer);\n return h(BVFormBtnLabelControl, {\n staticClass: 'b-form-datepicker',\n props: _objectSpread(_objectSpread({}, pluckProps(formBtnLabelControlProps, $props)), {}, {\n formattedValue: localYMD ? this.formattedValue : '',\n id: this.safeId(),\n lang: this.computedLang,\n menuClass: [{\n 'bg-dark': dark,\n 'text-light': dark\n }, this.menuClass],\n placeholder: placeholder,\n rtl: this.isRTL,\n value: localYMD\n }),\n on: {\n show: this.onShow,\n shown: this.onShown,\n hidden: this.onHidden\n },\n scopedSlots: _defineProperty({}, SLOT_NAME_BUTTON_CONTENT, $scopedSlots[SLOT_NAME_BUTTON_CONTENT] || this.defaultButtonFn),\n ref: 'control'\n }, [$calendar]);\n }\n});","var _objectSpread2;\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_FORM_CHECKBOX } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { isArray } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { looseIndexOf } from '../../utils/loose-index-of';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check'; // --- Constants ---\n\nvar MODEL_PROP_NAME_INDETERMINATE = 'indeterminate';\nvar MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, formRadioCheckProps), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, MODEL_PROP_NAME_INDETERMINATE, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"switch\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"uncheckedValue\", makeProp(PROP_TYPE_ANY, false)), _defineProperty(_objectSpread2, \"value\", makeProp(PROP_TYPE_ANY, true)), _objectSpread2))), NAME_FORM_CHECKBOX); // --- Main component ---\n// @vue/component\n\nexport var BFormCheckbox = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props: props,\n computed: {\n isChecked: function isChecked() {\n var value = this.value,\n checked = this.computedLocalChecked;\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value);\n },\n isRadio: function isRadio() {\n return false;\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME_INDETERMINATE, function (newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue);\n }\n }),\n mounted: function mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE]);\n },\n methods: {\n computedLocalCheckedWatcher: function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n var $input = this.$refs.input;\n\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate);\n }\n }\n },\n handleChange: function handleChange(_ref) {\n var _this = this;\n\n var _ref$target = _ref.target,\n checked = _ref$target.checked,\n indeterminate = _ref$target.indeterminate;\n var value = this.value,\n uncheckedValue = this.uncheckedValue; // Update `computedLocalChecked`\n\n var localChecked = this.computedLocalChecked;\n\n if (isArray(localChecked)) {\n var index = looseIndexOf(localChecked, value);\n\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value);\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1));\n }\n } else {\n localChecked = checked ? value : uncheckedValue;\n }\n\n this.computedLocalChecked = localChecked; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n\n _this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate);\n });\n },\n setIndeterminate: function setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false;\n }\n\n var $input = this.$refs.input;\n\n if ($input) {\n $input.indeterminate = state; // Emit update event to prop\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state);\n }\n }\n }\n});","import { looseEqual } from './loose-equal'; // Assumes that the first argument is an array\n\nexport var looseIndexOf = function looseIndexOf(array, value) {\n for (var i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i;\n }\n }\n\n return -1;\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_FORM_FILE } from '../../constants/components';\nimport { HAS_PROMISE_SUPPORT } from '../../constants/env';\nimport { EVENT_NAME_CHANGE, EVENT_OPTIONS_PASSIVE } from '../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DROP_PLACEHOLDER, SLOT_NAME_FILE_NAME, SLOT_NAME_PLACEHOLDER } from '../../constants/slots';\nimport { RX_EXTENSION, RX_STAR } from '../../constants/regex';\nimport { File } from '../../constants/safe-types';\nimport { from as arrayFrom, flatten, flattenDeep } from '../../utils/array';\nimport { cloneDeep } from '../../utils/clone-deep';\nimport { closest } from '../../utils/dom';\nimport { eventOn, eventOff, stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props';\nimport { escapeRegExp } from '../../utils/string';\nimport { warn } from '../../utils/warn';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { props as formSizeProps } from '../../mixins/form-size'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: [PROP_TYPE_ARRAY, File],\n defaultValue: null,\n validator: function validator(value) {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME_FORM_FILE);\n return true;\n }\n\n return isUndefinedOrNull(value) || isValidValue(value);\n }\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nvar VALUE_EMPTY_DEPRECATED_MSG = 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'; // --- Helper methods ---\n\nvar isValidValue = function isValidValue(value) {\n return isFile(value) || isArray(value) && value.every(function (v) {\n return isValidValue(v);\n });\n}; // Helper method to \"safely\" get the entry from a data-transfer item\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getDataTransferItemEntry = function getDataTransferItemEntry(item) {\n return isFunction(item.getAsEntry) ? item.getAsEntry() : isFunction(item.webkitGetAsEntry) ? item.webkitGetAsEntry() : null;\n}; // Drop handler function to get all files\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getAllFileEntries = function getAllFileEntries(dataTransferItemList) {\n var traverseDirectories = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return Promise.all(arrayFrom(dataTransferItemList).filter(function (item) {\n return item.kind === 'file';\n }).map(function (item) {\n var entry = getDataTransferItemEntry(item);\n\n if (entry) {\n if (entry.isDirectory && traverseDirectories) {\n return getAllFileEntriesInDirectory(entry.createReader(), \"\".concat(entry.name, \"/\"));\n } else if (entry.isFile) {\n return new Promise(function (resolve) {\n entry.file(function (file) {\n file.$path = '';\n resolve(file);\n });\n });\n }\n }\n\n return null;\n }).filter(identity));\n}; // Get all the file entries (recursive) in a directory\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getAllFileEntriesInDirectory = function getAllFileEntriesInDirectory(directoryReader) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var entryPromises = [];\n\n var readDirectoryEntries = function readDirectoryEntries() {\n directoryReader.readEntries(function (entries) {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then(function (entries) {\n return flatten(entries);\n }));\n } else {\n entryPromises.push(Promise.all(entries.map(function (entry) {\n if (entry) {\n if (entry.isDirectory) {\n return getAllFileEntriesInDirectory(entry.createReader(), \"\".concat(path).concat(entry.name, \"/\"));\n } else if (entry.isFile) {\n return new Promise(function (resolve) {\n entry.file(function (file) {\n file.$path = \"\".concat(path).concat(file.name);\n resolve(file);\n });\n });\n }\n }\n\n return null;\n }).filter(identity)));\n readDirectoryEntries();\n }\n });\n };\n\n readDirectoryEntries();\n });\n}; // --- Props ---\n\n\nvar props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formCustomProps), formStateProps), formSizeProps), {}, {\n accept: makeProp(PROP_TYPE_STRING, ''),\n browseText: makeProp(PROP_TYPE_STRING, 'Browse'),\n // Instruct input to capture from camera\n capture: makeProp(PROP_TYPE_BOOLEAN, false),\n directory: makeProp(PROP_TYPE_BOOLEAN, false),\n dropPlaceholder: makeProp(PROP_TYPE_STRING, 'Drop files here'),\n fileNameFormatter: makeProp(PROP_TYPE_FUNCTION),\n multiple: makeProp(PROP_TYPE_BOOLEAN, false),\n noDrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noDropPlaceholder: makeProp(PROP_TYPE_STRING, 'Not allowed'),\n // TODO:\n // Should we deprecate this and only support flat file structures?\n // Nested file structures are only supported when files are dropped\n // A Chromium \"bug\" prevents `webkitEntries` from being populated\n // on the file input's `change` event and is marked as \"WontFix\"\n // Mozilla implemented the behavior the same way as Chromium\n // See: https://bugs.chromium.org/p/chromium/issues/detail?id=138987\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326031\n noTraverse: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING, 'No file chosen')\n})), NAME_FORM_FILE); // --- Main component ---\n// @vue/component\n\nexport var BFormFile = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_FILE,\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formStateMixin, formCustomMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n files: [],\n dragging: false,\n // IE 11 doesn't respect setting `event.dataTransfer.dropEffect`,\n // so we handle it ourselves as well\n // https://stackoverflow.com/a/46915971/2744776\n dropAllowed: !this.noDrop,\n hasFocus: false\n };\n },\n computed: {\n // Convert `accept` to an array of `[{ RegExpr, isMime }, ...]`\n computedAccept: function computedAccept() {\n var accept = this.accept;\n accept = (accept || '').trim().split(/[,\\s]+/).filter(identity); // Allow any file type/extension\n\n if (accept.length === 0) {\n return null;\n }\n\n return accept.map(function (extOrType) {\n var prop = 'name';\n var startMatch = '^';\n var endMatch = '$';\n\n if (RX_EXTENSION.test(extOrType)) {\n // File extension /\\.ext$/\n startMatch = '';\n } else {\n // MIME type /^mime\\/.+$/ or /^mime\\/type$/\n prop = 'type';\n\n if (RX_STAR.test(extOrType)) {\n endMatch = '.+$'; // Remove trailing `*`\n\n extOrType = extOrType.slice(0, -1);\n }\n } // Escape all RegExp special chars\n\n\n extOrType = escapeRegExp(extOrType);\n var rx = new RegExp(\"\".concat(startMatch).concat(extOrType).concat(endMatch));\n return {\n rx: rx,\n prop: prop\n };\n });\n },\n computedCapture: function computedCapture() {\n var capture = this.capture;\n return capture === true || capture === '' ? true : capture || null;\n },\n computedAttrs: function computedAttrs() {\n var name = this.name,\n disabled = this.disabled,\n required = this.required,\n form = this.form,\n computedCapture = this.computedCapture,\n accept = this.accept,\n multiple = this.multiple,\n directory = this.directory;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n type: 'file',\n id: this.safeId(),\n name: name,\n disabled: disabled,\n required: required,\n form: form || null,\n capture: computedCapture,\n accept: accept || null,\n multiple: multiple,\n directory: directory,\n webkitdirectory: directory,\n 'aria-required': required ? 'true' : null\n });\n },\n computedFileNameFormatter: function computedFileNameFormatter() {\n var fileNameFormatter = this.fileNameFormatter;\n return hasPropFunction(fileNameFormatter) ? fileNameFormatter : this.defaultFileNameFormatter;\n },\n clonedFiles: function clonedFiles() {\n return cloneDeep(this.files);\n },\n flattenedFiles: function flattenedFiles() {\n return flattenDeep(this.files);\n },\n fileNames: function fileNames() {\n return this.flattenedFiles.map(function (file) {\n return file.name;\n });\n },\n labelContent: function labelContent() {\n // Draging active\n\n /* istanbul ignore next: used by drag/drop which can't be tested easily */\n if (this.dragging && !this.noDrop) {\n return (// TODO: Add additional scope with file count, and other not-allowed reasons\n this.normalizeSlot(SLOT_NAME_DROP_PLACEHOLDER, {\n allowed: this.dropAllowed\n }) || (this.dropAllowed ? this.dropPlaceholder : this.$createElement('span', {\n staticClass: 'text-danger'\n }, this.noDropPlaceholder))\n );\n } // No file chosen\n\n\n if (this.files.length === 0) {\n return this.normalizeSlot(SLOT_NAME_PLACEHOLDER) || this.placeholder;\n }\n\n var flattenedFiles = this.flattenedFiles,\n clonedFiles = this.clonedFiles,\n fileNames = this.fileNames,\n computedFileNameFormatter = this.computedFileNameFormatter; // There is a slot for formatting the files/names\n\n if (this.hasNormalizedSlot(SLOT_NAME_FILE_NAME)) {\n return this.normalizeSlot(SLOT_NAME_FILE_NAME, {\n files: flattenedFiles,\n filesTraversed: clonedFiles,\n names: fileNames\n });\n }\n\n return computedFileNameFormatter(flattenedFiles, clonedFiles, fileNames);\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (!newValue || isArray(newValue) && newValue.length === 0) {\n this.reset();\n }\n }), _defineProperty(_watch, \"files\", function files(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n var multiple = this.multiple,\n noTraverse = this.noTraverse;\n var files = !multiple || noTraverse ? flattenDeep(newValue) : newValue;\n this.$emit(MODEL_EVENT_NAME, multiple ? files : files[0] || null);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_form = null;\n },\n mounted: function mounted() {\n // Listen for form reset events, to reset the file input\n var $form = closest('form', this.$el);\n\n if ($form) {\n eventOn($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE);\n this.$_form = $form;\n }\n },\n beforeDestroy: function beforeDestroy() {\n var $form = this.$_form;\n\n if ($form) {\n eventOff($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE);\n }\n },\n methods: {\n isFileValid: function isFileValid(file) {\n if (!file) {\n return false;\n }\n\n var accept = this.computedAccept;\n return accept ? accept.some(function (a) {\n return a.rx.test(file[a.prop]);\n }) : true;\n },\n isFilesArrayValid: function isFilesArrayValid(files) {\n var _this = this;\n\n return isArray(files) ? files.every(function (file) {\n return _this.isFileValid(file);\n }) : this.isFileValid(files);\n },\n defaultFileNameFormatter: function defaultFileNameFormatter(flattenedFiles, clonedFiles, fileNames) {\n return fileNames.join(', ');\n },\n setFiles: function setFiles(files) {\n // Reset the dragging flags\n this.dropAllowed = !this.noDrop;\n this.dragging = false; // Set the selected files\n\n this.files = this.multiple ? this.directory ? files : flattenDeep(files) : flattenDeep(files).slice(0, 1);\n },\n\n /* istanbul ignore next: used by Drag/Drop */\n setInputFiles: function setInputFiles(files) {\n // Try an set the file input files array so that `required`\n // constraint works for dropped files (will fail in IE11 though)\n // To be used only when dropping files\n try {\n // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655\n var dataTransfer = new ClipboardEvent('').clipboardData || new DataTransfer(); // Add flattened files to temp `dataTransfer` object to get a true `FileList` array\n\n flattenDeep(cloneDeep(files)).forEach(function (file) {\n // Make sure to remove the custom `$path` attribute\n delete file.$path;\n dataTransfer.items.add(file);\n });\n this.$refs.input.files = dataTransfer.files;\n } catch (_unused) {}\n },\n reset: function reset() {\n // IE 11 doesn't support setting `$input.value` to `''` or `null`\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well\n // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n var $input = this.$refs.input;\n $input.value = '';\n $input.type = '';\n $input.type = 'file';\n } catch (_unused2) {}\n\n this.files = [];\n },\n handleFiles: function handleFiles(files) {\n var isDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (isDrop) {\n // When dropped, make sure to filter files with the internal `accept` logic\n var filteredFiles = files.filter(this.isFilesArrayValid); // Only update files when we have any after filtering\n\n if (filteredFiles.length > 0) {\n this.setFiles(filteredFiles); // Try an set the file input's files array so that `required`\n // constraint works for dropped files (will fail in IE 11 though)\n\n this.setInputFiles(filteredFiles);\n }\n } else {\n // We always update the files from the `change` event\n this.setFiles(files);\n }\n },\n focusHandler: function focusHandler(event) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a `[type=file]:focus ~ sibling` selector issue,\n // so we add a `focus` class to get around these bugs\n if (this.plain || event.type === 'focusout') {\n this.hasFocus = false;\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true;\n }\n },\n onChange: function onChange(event) {\n var _this2 = this;\n\n var type = event.type,\n target = event.target,\n _event$dataTransfer = event.dataTransfer,\n dataTransfer = _event$dataTransfer === void 0 ? {} : _event$dataTransfer;\n var isDrop = type === 'drop'; // Always emit original event\n\n this.$emit(EVENT_NAME_CHANGE, event);\n var items = arrayFrom(dataTransfer.items || []);\n\n if (HAS_PROMISE_SUPPORT && items.length > 0 && !isNull(getDataTransferItemEntry(items[0]))) {\n // Drop handling for modern browsers\n // Supports nested directory structures in `directory` mode\n\n /* istanbul ignore next: not supported in JSDOM */\n getAllFileEntries(items, this.directory).then(function (files) {\n return _this2.handleFiles(files, isDrop);\n });\n } else {\n // Standard file input handling (native file input change event),\n // or fallback drop mode (IE 11 / Opera) which don't support `directory` mode\n var files = arrayFrom(target.files || dataTransfer.files || []).map(function (file) {\n // Add custom `$path` property to each file (to be consistent with drop mode)\n file.$path = file.webkitRelativePath || '';\n return file;\n });\n this.handleFiles(files, isDrop);\n }\n },\n onDragenter: function onDragenter(event) {\n stopEvent(event);\n this.dragging = true;\n var _event$dataTransfer2 = event.dataTransfer,\n dataTransfer = _event$dataTransfer2 === void 0 ? {} : _event$dataTransfer2; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none';\n this.dropAllowed = false;\n return;\n }\n /* istanbul ignore next: not supported in JSDOM */\n\n\n dataTransfer.dropEffect = 'copy';\n },\n // Note this event fires repeatedly while the mouse is over the dropzone at\n // intervals in the milliseconds, so avoid doing much processing in here\n onDragover: function onDragover(event) {\n stopEvent(event);\n this.dragging = true;\n var _event$dataTransfer3 = event.dataTransfer,\n dataTransfer = _event$dataTransfer3 === void 0 ? {} : _event$dataTransfer3; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none';\n this.dropAllowed = false;\n return;\n }\n /* istanbul ignore next: not supported in JSDOM */\n\n\n dataTransfer.dropEffect = 'copy';\n },\n onDragleave: function onDragleave(event) {\n var _this3 = this;\n\n stopEvent(event);\n this.$nextTick(function () {\n _this3.dragging = false; // Reset `dropAllowed` to default\n\n _this3.dropAllowed = !_this3.noDrop;\n });\n },\n // Triggered by a file drop onto drop target\n onDrop: function onDrop(event) {\n var _this4 = this;\n\n stopEvent(event);\n this.dragging = false; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n this.$nextTick(function () {\n // Reset `dropAllowed` to default\n _this4.dropAllowed = !_this4.noDrop;\n });\n return;\n }\n\n this.onChange(event);\n }\n },\n render: function render(h) {\n var custom = this.custom,\n plain = this.plain,\n size = this.size,\n dragging = this.dragging,\n stateClass = this.stateClass,\n bvAttrs = this.bvAttrs; // Form Input\n\n var $input = h('input', {\n class: [{\n 'form-control-file': plain,\n 'custom-file-input': custom,\n focus: custom && this.hasFocus\n }, stateClass],\n // With IE 11, the input gets in the \"way\" of the drop events,\n // so we move it out of the way by putting it behind the label\n // Bootstrap v4 has it in front\n style: custom ? {\n zIndex: -5\n } : {},\n attrs: this.computedAttrs,\n on: {\n change: this.onChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.reset\n },\n ref: 'input'\n });\n\n if (plain) {\n return $input;\n } // Overlay label\n\n\n var $label = h('label', {\n staticClass: 'custom-file-label',\n class: {\n dragging: dragging\n },\n attrs: {\n for: this.safeId(),\n // This goes away in Bootstrap v5\n 'data-browse': this.browseText || null\n }\n }, [h('span', {\n staticClass: 'd-block form-file-text',\n // `pointer-events: none` is used to make sure\n // the drag events fire only on the label\n style: {\n pointerEvents: 'none'\n }\n }, [this.labelContent])]); // Return rendered custom file input\n\n return h('div', {\n staticClass: 'custom-file b-form-file',\n class: [_defineProperty({}, \"b-custom-control-\".concat(size), size), stateClass, bvAttrs.class],\n style: bvAttrs.style,\n attrs: {\n id: this.safeId('_BV_file_outer_')\n },\n on: {\n dragenter: this.onDragenter,\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n }, [$input, $label]);\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","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_APPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_APPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAppend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_APPEND,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: true\n })\n }), children);\n }\n});","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_TEXT } 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_INPUT_GROUP_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupText = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_TEXT,\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: 'input-group-text'\n }), children);\n }\n});","var _watch, _methods;\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 { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { EVENT_NAME_CHANGE } from '../constants/events';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { isBoolean } from '../utils/inspect';\nimport { looseEqual } from '../utils/loose-equal';\nimport { makeModelMixin } from '../utils/model';\nimport { sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { attrsMixin } from './attrs';\nimport { formControlMixin, props as formControlProps } from './form-control';\nimport { formCustomMixin, props as formCustomProps } from './form-custom';\nimport { formSizeMixin, props as formSizeProps } from './form-size';\nimport { formStateMixin, props as formStateProps } from './form-state';\nimport { idMixin, props as idProps } from './id';\nimport { normalizeSlotMixin } from './normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('checked', {\n defaultValue: null\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(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formSizeProps), formStateProps), formCustomProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n})), 'formRadioCheckControls'); // --- Mixin ---\n// @vue/component\n\nexport var formRadioCheckMixin = Vue.extend({\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formSizeMixin, formStateMixin, formCustomMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n };\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked;\n },\n set: function set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value;\n } else {\n this.localChecked = value;\n }\n }\n },\n isChecked: function isChecked() {\n return looseEqual(this.value, this.computedLocalChecked);\n },\n isRadio: function isRadio() {\n return true;\n },\n isGroup: function isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup;\n },\n isBtnMode: function isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button;\n },\n isPlain: function isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain;\n },\n isCustom: function isCustom() {\n return this.isBtnMode ? false : !this.isPlain;\n },\n isSwitch: function isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain ? false : this.isGroup ? this.bvGroup.switches : this.switch;\n },\n isInline: function isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline;\n },\n isDisabled: function isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled;\n },\n isRequired: function isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required);\n },\n computedName: function computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null;\n },\n computedForm: function computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null;\n },\n computedSize: function computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || '';\n },\n computedState: function computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null;\n },\n computedButtonVariant: function computedButtonVariant() {\n // Local variant preferred over group variant\n var buttonVariant = this.buttonVariant;\n\n if (buttonVariant) {\n return buttonVariant;\n }\n\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant;\n }\n\n return 'secondary';\n },\n buttonClasses: function buttonClasses() {\n var _ref;\n\n var computedSize = this.computedSize;\n return ['btn', \"btn-\".concat(this.computedButtonVariant), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(computedSize), computedSize), _defineProperty(_ref, \"disabled\", this.isDisabled), _defineProperty(_ref, \"active\", this.isChecked), _defineProperty(_ref, \"focus\", this.hasFocus), _ref)];\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.isDisabled,\n required = this.isRequired;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled: disabled,\n required: required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function () {\n this[\"\".concat(MODEL_PROP_NAME, \"Watcher\")].apply(this, arguments);\n }), _defineProperty(_watch, \"computedLocalChecked\", function computedLocalChecked() {\n this.computedLocalCheckedWatcher.apply(this, arguments);\n }), _watch),\n methods: (_methods = {}, _defineProperty(_methods, \"\".concat(MODEL_PROP_NAME, \"Watcher\"), function Watcher(newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue;\n }\n }), _defineProperty(_methods, \"computedLocalCheckedWatcher\", function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_methods, \"handleChange\", function handleChange(_ref2) {\n var _this = this;\n\n var checked = _ref2.target.checked;\n var value = this.value;\n var localChecked = checked ? value : null;\n this.computedLocalChecked = value; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n });\n }), _defineProperty(_methods, \"handleFocus\", function handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true;\n } else if (event.type === 'blur') {\n this.hasFocus = false;\n }\n }\n }), _defineProperty(_methods, \"focus\", function focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input);\n }\n }), _defineProperty(_methods, \"blur\", function blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input);\n }\n }), _methods),\n render: function render(h) {\n var isRadio = this.isRadio,\n isBtnMode = this.isBtnMode,\n isPlain = this.isPlain,\n isCustom = this.isCustom,\n isInline = this.isInline,\n isSwitch = this.isSwitch,\n computedSize = this.computedSize,\n bvAttrs = this.bvAttrs;\n var $content = this.normalizeSlot();\n var $input = h('input', {\n class: [{\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n }, isBtnMode ? '' : this.stateClass],\n directives: [{\n name: 'model',\n value: this.computedLocalChecked\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: _objectSpread({\n change: this.handleChange\n }, isBtnMode ? {\n focus: this.handleFocus,\n blur: this.handleFocus\n } : {}),\n key: 'input',\n ref: 'input'\n });\n\n if (isBtnMode) {\n var $button = h('label', {\n class: this.buttonClasses\n }, [$input, $content]);\n\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', {\n class: ['btn-group-toggle', 'd-inline-block']\n }, [$button]);\n }\n\n return $button;\n } // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n\n\n var $label = h();\n\n if (!(isPlain && !$content)) {\n $label = h('label', {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: {\n for: this.safeId()\n }\n }, $content);\n }\n\n return h('div', {\n class: [_defineProperty({\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio\n }, \"b-custom-control-\".concat(computedSize), computedSize && !isBtnMode), bvAttrs.class],\n style: bvAttrs.style\n }, [$input, $label]);\n }\n});","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TEXT,\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.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","// v-b-hover directive\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { eventOnOff } from '../../utils/events';\nimport { isFunction } from '../../utils/inspect'; // --- Constants ---\n\nvar PROP = '__BV_hover_handler__';\nvar MOUSEENTER = 'mouseenter';\nvar MOUSELEAVE = 'mouseleave'; // --- Helper methods ---\n\nvar createListener = function createListener(handler) {\n var listener = function listener(event) {\n handler(event.type === MOUSEENTER, event);\n };\n\n listener.fn = handler;\n return listener;\n};\n\nvar updateListeners = function updateListeners(on, el, listener) {\n eventOnOff(on, el, MOUSEENTER, listener, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, el, MOUSELEAVE, listener, EVENT_OPTIONS_NO_CAPTURE);\n}; // --- Directive bind/unbind/update handler ---\n\n\nvar directive = function directive(el, _ref) {\n var _ref$value = _ref.value,\n handler = _ref$value === void 0 ? null : _ref$value;\n\n if (IS_BROWSER) {\n var listener = el[PROP];\n var hasListener = isFunction(listener);\n var handlerChanged = !(hasListener && listener.fn === handler);\n\n if (hasListener && handlerChanged) {\n updateListeners(false, el, listener);\n delete el[PROP];\n }\n\n if (isFunction(handler) && handlerChanged) {\n el[PROP] = createListener(handler);\n updateListeners(true, el, el[PROP]);\n }\n }\n}; // VBHover directive\n\n\nexport var VBHover = {\n bind: directive,\n componentUpdated: directive,\n unbind: function unbind(el) {\n directive(el, {\n value: null\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\n//\n// Private component used by `b-form-datepicker` and `b-form-timepicker`\n//\nimport { Vue } from '../../vue';\nimport { NAME_FORM_BUTTON_LABEL_CONTROL } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { attemptBlur, attemptFocus } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown';\nimport { props as formControlProps } from '../../mixins/form-control';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { VBHover } from '../../directives/hover/hover';\nimport { BIconChevronDown } from '../../icons/icons'; // --- Props ---\n\nexport var props = sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formSizeProps), formStateProps), omit(dropdownProps, ['disabled'])), omit(formControlProps, ['autofocus'])), {}, {\n // When `true`, renders a `btn-group` wrapper and visually hides the label\n buttonOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n // Applicable in button mode only\n buttonVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n // This is the value shown in the label\n // Defaults back to `value`\n formattedValue: makeProp(PROP_TYPE_STRING),\n // Value placed in `.sr-only` span inside label when value is present\n labelSelected: makeProp(PROP_TYPE_STRING),\n lang: makeProp(PROP_TYPE_STRING),\n // Extra classes to apply to the `dropdown-menu` div\n menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // This is the value placed on the hidden input when no value selected\n placeholder: makeProp(PROP_TYPE_STRING),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n // Tri-state prop: `true`, `false` or `null`\n rtl: makeProp(PROP_TYPE_BOOLEAN, null),\n value: makeProp(PROP_TYPE_STRING, '')\n})); // --- Main component ---\n// @vue/component\n\nexport var BVFormBtnLabelControl = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_BUTTON_LABEL_CONTROL,\n directives: {\n 'b-hover': VBHover\n },\n mixins: [idMixin, formSizeMixin, formStateMixin, dropdownMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n isHovered: false,\n hasFocus: false\n };\n },\n computed: {\n idButton: function idButton() {\n return this.safeId();\n },\n idLabel: function idLabel() {\n return this.safeId('_value_');\n },\n idMenu: function idMenu() {\n return this.safeId('_dialog_');\n },\n idWrapper: function idWrapper() {\n return this.safeId('_outer_');\n },\n computedDir: function computedDir() {\n return this.rtl === true ? 'rtl' : this.rtl === false ? 'ltr' : null;\n }\n },\n methods: {\n focus: function focus() {\n if (!this.disabled) {\n attemptFocus(this.$refs.toggle);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n attemptBlur(this.$refs.toggle);\n }\n },\n setFocus: function setFocus(event) {\n this.hasFocus = event.type === 'focus';\n },\n handleHover: function handleHover(hovered) {\n this.isHovered = hovered;\n }\n },\n render: function render(h) {\n var _class;\n\n var idButton = this.idButton,\n idLabel = this.idLabel,\n idMenu = this.idMenu,\n idWrapper = this.idWrapper,\n disabled = this.disabled,\n readonly = this.readonly,\n required = this.required,\n name = this.name,\n state = this.state,\n visible = this.visible,\n size = this.size,\n isHovered = this.isHovered,\n hasFocus = this.hasFocus,\n labelSelected = this.labelSelected,\n buttonVariant = this.buttonVariant,\n buttonOnly = this.buttonOnly;\n var value = toString(this.value) || '';\n var invalid = state === false || required && !value;\n var btnScope = {\n isHovered: isHovered,\n hasFocus: hasFocus,\n state: state,\n opened: visible\n };\n var $button = h('button', {\n staticClass: 'btn',\n class: (_class = {}, _defineProperty(_class, \"btn-\".concat(buttonVariant), buttonOnly), _defineProperty(_class, \"btn-\".concat(size), size), _defineProperty(_class, 'h-auto', !buttonOnly), _defineProperty(_class, 'dropdown-toggle', buttonOnly), _defineProperty(_class, 'dropdown-toggle-no-caret', buttonOnly), _class),\n attrs: {\n id: idButton,\n type: 'button',\n disabled: disabled,\n 'aria-haspopup': 'dialog',\n 'aria-expanded': visible ? 'true' : 'false',\n 'aria-invalid': invalid ? 'true' : null,\n 'aria-required': required ? 'true' : null\n },\n directives: [{\n name: 'b-hover',\n value: this.handleHover\n }],\n on: {\n mousedown: this.onMousedown,\n click: this.toggle,\n keydown: this.toggle,\n // Handle ENTER, SPACE and DOWN\n '!focus': this.setFocus,\n '!blur': this.setFocus\n },\n ref: 'toggle'\n }, [this.hasNormalizedSlot(SLOT_NAME_BUTTON_CONTENT) ? this.normalizeSlot(SLOT_NAME_BUTTON_CONTENT, btnScope) :\n /* istanbul ignore next */\n h(BIconChevronDown, {\n props: {\n scale: 1.25\n }\n })]); // Hidden input\n\n var $hidden = h();\n\n if (name && !disabled) {\n $hidden = h('input', {\n attrs: {\n type: 'hidden',\n name: name || null,\n form: this.form || null,\n value: value\n }\n });\n } // Dropdown content\n\n\n var $menu = h('div', {\n staticClass: 'dropdown-menu',\n class: [this.menuClass, {\n show: visible,\n 'dropdown-menu-right': this.right\n }],\n attrs: {\n id: idMenu,\n role: 'dialog',\n tabindex: '-1',\n 'aria-modal': 'false',\n 'aria-labelledby': idLabel\n },\n on: {\n keydown: this.onKeydown // Handle ESC\n\n },\n ref: 'menu'\n }, [this.normalizeSlot(SLOT_NAME_DEFAULT, {\n opened: visible\n })]); // Value label\n\n var $label = h('label', {\n class: buttonOnly ? 'sr-only' // Hidden in button only mode\n : ['form-control', 'text-break', 'text-wrap', 'bg-transparent', // Mute the text if showing the placeholder\n {\n 'text-muted': !value\n }, this.stateClass, this.sizeFormClass],\n attrs: {\n id: idLabel,\n for: idButton,\n 'aria-invalid': invalid ? 'true' : null,\n 'aria-required': required ? 'true' : null\n },\n directives: [{\n name: 'b-hover',\n value: this.handleHover\n }],\n on: {\n // Disable bubbling of the click event to\n // prevent menu from closing and re-opening\n '!click':\n /* istanbul ignore next */\n function click(event) {\n stopEvent(event, {\n preventDefault: false\n });\n }\n }\n }, [value ? this.formattedValue || value : this.placeholder || '', // Add the selected label for screen readers when a value is provided\n value && labelSelected ? h('bdi', {\n staticClass: 'sr-only'\n }, labelSelected) : '']); // Return the custom form control wrapper\n\n return h('div', {\n staticClass: 'b-form-btn-label-control dropdown',\n class: [this.directionClass, this.boundaryClass, [{\n 'btn-group': buttonOnly,\n 'form-control': !buttonOnly,\n 'd-flex': !buttonOnly,\n 'h-auto': !buttonOnly,\n 'align-items-stretch': !buttonOnly,\n focus: hasFocus && !buttonOnly,\n show: visible,\n 'is-valid': state === true,\n 'is-invalid': state === false\n }, buttonOnly ? null : this.sizeFormClass]],\n attrs: {\n id: idWrapper,\n role: buttonOnly ? null : 'group',\n lang: this.lang || null,\n dir: this.computedDir,\n 'aria-disabled': disabled,\n 'aria-readonly': readonly && !disabled,\n 'aria-labelledby': idLabel,\n 'aria-invalid': state === false || required && !value ? 'true' : null,\n 'aria-required': required ? 'true' : null\n }\n }, [$button, $hidden, $menu, $label]);\n }\n});","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar min = Math.min;\nvar nativeLastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\n// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : nativeLastIndexOf;\n","import axios from '@axios'\r\nimport common from '@/libs/common'\r\n\r\nexport default function fileService() {\r\n const { throwError } = common()\r\n const API_URL = `${process.env.VUE_APP_ADUACORE_API_URL}/api`\r\n\r\n /* Standard prefix names:\r\n Post: create, Get: fetch,\r\n Put: update, Patch: partialUpdate,\r\n Delete: delete\r\n */\r\n\r\n const fetchFile = (idArchivo, callback) => {\r\n axios\r\n .get(`${API_URL}/Archivos/${idArchivo}`)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n\r\n const fetchFileStreaming = (idArchivo, callback) => {\r\n axios\r\n .get(`${API_URL}/Archivos/${idArchivo}/Streaming`)\r\n .then(response => {\r\n callback(response.data)\r\n })\r\n .catch(error => throwError(error))\r\n }\r\n\r\n const fetchFileDigitalRecord = idArchivo => new Promise((resolve, reject) => {\r\n axios\r\n .get(`${API_URL}/Archivos/ExpedienteDigital/${idArchivo}`)\r\n .then(response => {\r\n resolve(response)\r\n })\r\n .catch(error => reject(error))\r\n })\r\n\r\n const fetchFileDigitalRecordStreaming = idArchivo => new Promise((resolve, reject) => {\r\n axios\r\n .get(`${API_URL}/Archivos/ExpedienteDigital/${idArchivo}/Streaming`)\r\n .then(response => {\r\n resolve(response)\r\n })\r\n .catch(error => reject(error))\r\n })\r\n\r\n const createFile = file => new Promise((resolve, reject) => {\r\n axios\r\n .post(`${API_URL}/Archivos`, file)\r\n .then(response => {\r\n resolve(response.data)\r\n })\r\n .catch(error => {\r\n reject()\r\n throwError(error)\r\n })\r\n })\r\n\r\n const createFiles = files => new Promise((resolve, reject) => {\r\n axios\r\n .post(`${API_URL}/Archivos/Multiples`, { archivos: files })\r\n .then(response => {\r\n resolve(response.data)\r\n })\r\n .catch(error => {\r\n reject()\r\n throwError(error)\r\n })\r\n })\r\n\r\n const createExcelTemplateFile = file => new Promise((resolve, reject) => {\r\n axios\r\n .post(`${API_URL}/Archivos/PlantillaExcel`, file)\r\n .then(response => {\r\n resolve(response.data)\r\n })\r\n .catch(error => {\r\n reject()\r\n throwError(error)\r\n })\r\n })\r\n\r\n return {\r\n fetchFile,\r\n fetchFileStreaming,\r\n createFile,\r\n createFiles,\r\n createExcelTemplateFile,\r\n fetchFileDigitalRecord,\r\n fetchFileDigitalRecordStreaming,\r\n }\r\n}\r\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n"],"sourceRoot":""}
{{ $t('Components.ExcelTemplateUploader.UploadErrors') }}: