{"version":3,"sources":["webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/core-js/modules/es.string.includes.js","webpack:///./node_modules/core-js/modules/es.number.parse-int.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/bootstrap-vue/esm/constants/components.js","webpack:///./node_modules/bootstrap-vue/esm/constants/events.js","webpack:///./node_modules/bootstrap-vue/esm/constants/props.js","webpack:///./node_modules/bootstrap-vue/esm/constants/regex.js","webpack:///./node_modules/bootstrap-vue/esm/constants/env.js","webpack:///./node_modules/bootstrap-vue/esm/constants/safe-types.js","webpack:///./node_modules/bootstrap-vue/esm/utils/inspect.js","webpack:///./node_modules/bootstrap-vue/esm/utils/object.js","webpack:///./node_modules/bootstrap-vue/esm/utils/bv-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/utils/array.js","webpack:///./node_modules/bootstrap-vue/esm/utils/number.js","webpack:///./node_modules/bootstrap-vue/esm/utils/string.js","webpack:///./node_modules/bootstrap-vue/esm/utils/dom.js","webpack:///./node_modules/bootstrap-vue/esm/utils/math.js","webpack:///./node_modules/bootstrap-vue/esm/utils/clone-deep.js","webpack:///./node_modules/bootstrap-vue/esm/constants/config.js","webpack:///./node_modules/bootstrap-vue/esm/utils/memoize.js","webpack:///./node_modules/bootstrap-vue/esm/utils/config.js","webpack:///./node_modules/bootstrap-vue/esm/utils/identity.js","webpack:///./node_modules/bootstrap-vue/esm/utils/props.js","webpack:///./node_modules/bootstrap-vue/esm/constants/key-codes.js","webpack:///./node_modules/bootstrap-vue/esm/constants/slots.js","webpack:///./node_modules/bootstrap-vue/esm/utils/events.js","webpack:///./node_modules/bootstrap-vue/esm/utils/model.js","webpack:///./node_modules/bootstrap-vue/esm/utils/warn.js","webpack:///./node_modules/bootstrap-vue/esm/utils/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/utils/router.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-equal.js","webpack:///./node_modules/bootstrap-vue/esm/utils/cache.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/attrs.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-root.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listeners.js","webpack:///./node_modules/bootstrap-vue/esm/components/link/link.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/loglevel/lib/loglevel.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/babel-helper-vue-jsx-merge-props/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/env.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/scriptjs/dist/script.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/@fortawesome/free-solid-svg-icons/index.es.js","webpack:///./node_modules/core-js/modules/es.object.from-entries.js","webpack:///./node_modules/core-js/internals/number-parse-int.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/core-js/modules/es.parse-int.js","webpack:///./node_modules/vue-content-loader/dist/vue-content-loader.es.js","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack:///./node_modules/lodash/isSymbol.js"],"names":["Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","module","exports","fails","wellKnownSymbol","IS_PURE","ITERATOR","url","URL","searchParams","pathname","forEach","key","toJSON","sort","href","get","String","URLSearchParams","username","host","hash","is","x","y","isObjectLike","$","$reduce","left","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","STRICT_METHOD","CHROME_BUG","target","proto","forced","reduce","callbackfn","this","arguments","length","isObject","type","notARegExp","requireObjectCoercible","correctIsRegExpLogic","includes","searchString","indexOf","parseInt","stat","Number","redefine","anObject","flags","TO_STRING","RegExpPrototype","RegExp","nativeToString","NOT_GENERIC","source","INCORRECT_NAME","name","R","p","rf","f","unsafe","NAME_LINK","NAME_PAGINATION","EVENT_NAME_CHANGE","EVENT_NAME_CLICK","EVENT_NAME_INPUT","EVENT_NAME_PAGE_CLICK","HOOK_EVENT_NAME_BEFORE_DESTROY","ROOT_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_SEPARATOR","PROP_TYPE_ANY","PROP_TYPE_ARRAY","Array","PROP_TYPE_BOOLEAN","Boolean","PROP_TYPE_FUNCTION","Date","Function","PROP_TYPE_NUMBER","PROP_TYPE_OBJECT","PROP_TYPE_STRING","PROP_TYPE_ARRAY_OBJECT_STRING","PROP_TYPE_ARRAY_STRING","PROP_TYPE_BOOLEAN_NUMBER_STRING","PROP_TYPE_FUNCTION_STRING","PROP_TYPE_NUMBER_STRING","PROP_TYPE_OBJECT_STRING","RX_BV_PREFIX","RX_HYPHENATE","RX_ENCODED_COMMA","RX_ENCODE_REVERSE","HAS_WINDOW_SUPPORT","window","HAS_DOCUMENT_SUPPORT","document","HAS_NAVIGATOR_SUPPORT","navigator","IS_BROWSER","WINDOW","DOCUMENT","NAVIGATOR","USER_AGENT","userAgent","toLowerCase","test","passiveEventSupported","options","addEventListener","removeEventListener","_unused","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","IntersectionObserverEntry","_typeof","obj","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_inherits","subClass","superClass","create","writable","configurable","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Reflect","construct","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Map","_isNativeFunction","has","set","Wrapper","_construct","enumerable","Parent","args","a","push","bind","sham","Proxy","fn","o","setPrototypeOf","__proto__","getPrototypeOf","Element","_Object","_super","HTMLElement","SVGElement","File","toType","isUndefined","isNull","isUndefinedOrNull","isFunction","isBoolean","isString","isArray","isPlainObject","isDate","isEvent","Event","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","i","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","assign","optionalProps","props","prop","descriptor","sortKeys","readonlyDescriptor","_defineProperties","_createClass","protoProps","staticProps","BvEvent","eventInit","concat","Defaults","cancelable","nativeEvent","relatedTarget","vueTarget","componentId","defaultPrevented","preventDefault","from","_len","_key","fillFn","mapFn","map","toInteger","defaultValue","NaN","integer","isNaN","str","replace","val","spaces","JSON","stringify","ELEMENT_PROTO","matchesEl","s","join","matches","msMatchesSelector","webkitMatchesSelector","isElement","closest","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","MutationObserver","WebKitMutationObserver","MozMutationObserver","el","nodeType","Node","ELEMENT_NODE","excludes","activeElement","some","isActiveElement","parentNode","body","getStyle","bcr","getBCR","height","width","disabled","hasAttr","hasClass","selector","root","querySelectorAll","parent","child","contains","className","classList","getAttr","attr","getAttribute","hasAttribute","style","getBoundingClientRect","attemptFocus","focus","attemptBlur","blur","_unused2","mathMin","Math","min","mathMax","max","mathCeil","abs","ceil","mathFloor","floor","pow","round","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","n","slice","iter","len","arr2","cloneDeep","PROP_NAME","DEFAULT_BREAKPOINT","cache","argsKey","VueProto","bvConfig","getConfigValue","getComponentConfig","propKey","_getBreakpointsCached","identity","breakpoints","requiredOrValidator","validator","required","default","keysToPluck","objToPluck","transformFn","memo","componentKey","configurablePropDefaultFnName","CODE_DOWN","CODE_LEFT","CODE_RIGHT","CODE_SPACE","CODE_UP","SLOT_NAME_DEFAULT","SLOT_NAME_ELLIPSIS_TEXT","SLOT_NAME_FIRST_TEXT","SLOT_NAME_LAST_TEXT","SLOT_NAME_NEXT_TEXT","SLOT_NAME_PAGE","SLOT_NAME_PREV_TEXT","stopEvent","event","_ref","_ref$preventDefault","_ref$propagation","propagation","_ref$immediatePropaga","immediatePropagation","stopPropagation","stopImmediatePropagation","eventName","_ref$type","_ref$defaultValue","_ref$validator","_ref$event","mixin","extend","model","message","console","warn","names","$scopedSlots","$slots","slot","scope","normalizeSlotMixin","methods","hasNormalizedSlot","scopedSlots","slots","normalizeSlot","vNodes","ANCHOR_TAG","encodeReserveReplacer","c","charCodeAt","encodeURIComponent","decodeURIComponent","query","results","value2","computeTag","thisOrParent","to","routerComponentName","hasRouter","$router","$nuxt","_ref2","rel","_ref3","fallback","toFallback","path","charAt","compareArrays","b","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","propName","handler","newValue","oldValue","$delete","$data","$set","proxyPropName","data","watch","attrsMixin","listenOnRootMixin","listenOnRoot","callback","_this","$root","$on","$off","listenOnRootOnce","_this2","$once","emitOnRoot","_this$$root","$emit","listenersMixin","_watch","ROOT_EVENT_NAME_CLICKED","routerLinkProps","activeClass","append","exact","exactActiveClass","routerTag","nuxtLinkProps","noPrefetch","prefetch","active","BLink","mixins","inheritAttrs","computed","computedTag","isRouterLink","computedRel","computedHref","computedProps","computedAttrs","bvAttrs","tabindex","computedListeners","bvListeners","click","onClick","_arguments","eventIsEvent","suppliedHandler","currentTarget","__vue__","h","$el","render","class","attrs","_makeModelMixin","modelMixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","startNumber","numberOfPages","_","number","classes","limit","page","keyCode","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","currentPage","localNumberOfPages","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","lastPageNumber","pageList","_this$paginationParam","pages","idx","_i","_i2","_i3","created","$nextTick","handleKeyNav","shiftKey","isNav","focusFirst","focusPrev","focusLast","focusNext","getButtons","btn","focusCurrent","find","_this3","_this4","reverse","_this5","buttons","index","_this6","_this7","pageNumbers","_this$paginationParam2","fill","$buttons","isActivePage","pageNumber","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","isDisabled","$btnContent","$inner","staticClass","linkProps","role","ariaControls","on","keydown","makeEllipsis","isLast","makePageButton","tabIndex","btnContent","makePage","content","$firstPageBtn","offset","$lastPageBtn","$pagination","ref","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","perPage","totalRows","BPagination","pageSizeNumberOfPages","clickEvt","pageNum","objectToString","EOF","DESCRIPTORS","USE_NATIVE_URL","global","anInstance","arrayFrom","codeAt","toASCII","setToStringTag","URLSearchParamsModule","InternalStateModule","NativeURL","getInternalSearchParamsState","getState","setInternalState","getInternalURLState","getterFor","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","split","pop","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","code","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","string","normalized","second","startsWithWindowsDriveLetter","third","shortenURLsPath","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","state","buffer","seenAt","seenBracket","seenPasswordToken","port","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","that","urlString","searchParamsState","updateSearchParams","updateURL","serializeURL","origin","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","URLPrototype","output","error","accessorDescriptor","getter","setter","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","freeGlobal","freeSelf","nullTag","undefinedTag","baseGetTag","defineIterator","STRING_ITERATOR","getInternalState","iterated","point","done","now","nextTick","setTimeout","platform","arch","execPath","title","pid","browser","env","argv","binding","Error","cwd","chdir","dir","resolve","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","reWhitespace","trimmedEndIndex","toObject","callWithSafeIterationClosing","isArrayIteratorMethod","toLength","createProperty","getIteratorMethod","arrayLike","step","next","O","C","argumentsLength","mapfn","mapping","iteratorMethod","isRegExp","it","definition","noop","undefinedType","isIE","logMethods","bindMethod","methodName","method","traceForIE","log","trace","realMethod","replaceLoggingMethods","level","loggerName","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","defaultLevel","factory","currentLevel","storageKey","persistLevelIfPossible","levelNum","levelName","toUpperCase","localStorage","ignore","cookie","getPersistedLevel","storedLevel","location","exec","levels","clearPersistedLevel","removeItem","getLevel","setLevel","persist","SILENT","setDefaultLevel","resetLevel","enableAll","TRACE","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","logger","_log","noConflict","getLoggers","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","counter","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","currentValue","inputLength","bias","basicLength","handledCPCount","m","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","label","encoded","labels","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","IndexedObject","nativeAssign","A","B","symbol","alphabet","chr","T","propertyIsEnumerable","S","j","toPrimitive","definePropertyModule","createPropertyDescriptor","propertyKey","fixRegExpWellKnownSymbolLogic","sameValue","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","searcher","res","rx","previousLastIndex","lastIndex","reTrimStart","baseTrim","nestRE","mergeFn","objs","aa","bb","nestedKey","temp","getEnv","process","getNoWarn","getBuiltIn","redefineAll","createIteratorConstructor","hasOwn","classof","getIterator","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","bytes","percentDecode","sequence","deserialize","replacer","match","serialize","parseSearchParams","attribute","entry","attributes","entries","validateArgumentsLength","passed","URLSearchParamsIterator","params","kind","URLSearchParamsConstructor","entryIterator","entryNext","first","init","URLSearchParamsPrototype","splice","getAll","found","entriesIndex","sliceIndex","boundFunction","values","fetch","headers","iteratorClose","ENTRIES","scriptpath","urlArgs","doc","head","getElementsByTagName","readyState","onreadystatechange","list","ids","delay","scripts","every","ar","each","$script","paths","idOrDone","optDone","idOrDoneIsDone","id","queue","loopFn","item","dset","loading","force","loaded","createElement","onload","onerror","async","src","insertBefore","lastChild","order","ready","deps","req","missing","dep","METHOD_NAME","argument","MATCH","error1","error2","commonjsGlobal","createCommonjsModule","humps","_processKeys","convert","_isObject","_isDate","_isRegExp","_isBoolean","_isFunction","l","_isArray","separateWords","separator","camelize","_isNumerical","substr","pascalize","camelized","decamelize","_processor","depascalize","camelizeKeys","decamelizeKeys","pascalizeKeys","depascalizeKeys","_extends","objectWithoutProperties","toConsumableArray","styleToObject","trim","acc","pair","classToObject","cls","combineClassObjects","element","children","_data$class","dClass","_data$style","dStyle","_data$attrs","dAttrs","remainingData","PRODUCTION","_console","objectWithKey","_classes","spin","spinPulse","spinReverse","pulse","beat","fade","flash","fixedWidth","border","listItem","inverse","flip","rotation","pull","swapOpacity","addStaticClass","what","normalizeIconArgs","icon$$1","prefix","iconName","icon","FontAwesomeIcon","functional","mask","transform","context","iconArgs","maskArgs","renderedIcon","abstract","convertCurry","toNumber","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","valueOf","isBinary","faAddressCard","faAngleRight","faBookOpen","faChevronDown","faEnvelope","faExpandAlt","faFax","faFileAlt","faGlobe","faInfoCircle","faMobileAlt","faNewspaper","faPhone","faPlayCircle","faSearch","faTimes","faVideo","iterate","fromEntries","iterable","v","AS_ENTRIES","whitespaces","$parseInt","hex","FORCED","$includes","addToUnscopables","aFunction","createMethod","IS_RIGHT","right","normalizeArray","allowAboveRoot","up","last","basename","start","end","matchedSlash","xs","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSlash","relative","fromParts","toParts","samePartsLength","outputParts","sep","dirname","hasRoot","ext","extname","startDot","startPart","preDotState","parseIntImplementation","uid","random","substring","ContentLoader","speed","preserveAspectRatio","baseUrl","primaryColor","secondaryColor","primaryOpacity","secondaryOpacity","uniqueKey","animate","idClip","idGradient","viewBox","version","ry","attributeName","dur","repeatCount","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_s","err","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","performance","_ref$userAgent","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","IS_IE","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_FAMILY_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_FA_PSEUDO_ELEMENT_PENDING","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","MUTATION_APPROACH_ASYNC","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PREFIX_TO_STYLE","STYLE_TO_PREFIX","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","RESERVED_CLASSES","initial","FontAwesomeConfig","getAttrConfig","querySelector","coerce","_default","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","_config","config","w","styles","hooks","shims","namespace","functions","listener","domready","doScroll","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","emit","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","arg","invokeResolver","resolver","promise","resolvePromise","rejectPromise","reason","reject","invokeCallback","subscriber","owner","settled","_state","_data","then","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","onFulfillment","onRejection","fulfilled","rejected","catch","all","promises","remaining","race","picked","Promise","d","meaninglessTransform","rotate","flipX","flipY","isReserved","insertCss","css","setAttribute","innerHTML","headChildren","childNodes","beforeChild","tagName","idPool","nextUniqueId","toArray","array","classArray","node","getIconName","htmlEscape","joinAttributes","joinStyles","styleName","transformIsMeaningful","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","transformForCss","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","ALL_SPACE","fillBlack","deGroup","makeIconMasking","main","explicitMaskId","maskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconStandard","styleString","asIcon","asSymbol","makeInlineSvgAbstract","_params$icons","icons","titleId","_params$watchable","watchable","isUploadedIcon","widthClass","attrClass","uploadedIconWidthStyle","makeLayersTextAbstract","_params$watchable2","makeLayersCounterAbstract","noop$1","preamble","begin","perf","bindInternal4","thisContext","subject","initialValue","toHex","unicode","defineIcons","_params$skipHooks","skipHooks","expanded","addPack","_byUnicode","_byLigature","_byOldName","build","lookup","reducer","ligatures","ligature","hasRegular","shim","oldName","byUnicode","byLigature","byOldName","styles$1","emptyCanonicalIcon","rest","getCanonicalIcon","autoFetchSvg","iconFromMapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","noop$2","isWatched","i2svg","getMutator","mutators","mutator","mutation","newOuterHTML","outerHTML","newNode","replaceChild","nest","forSvg","splitClasses","toSvg","toNode","newInnerHTML","performOperationSync","op","perform","mutations","callbackFunction","frame","disableObservation","enableObservation","mo","observe","treeCallback","nodeCallback","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","mutationRecord","addedNodes","_getCanonicalIcon","childList","characterData","subtree","disconnect","styleParser","classParser","existingPrefix","existingIconName","innerText","parseTransformString","transformString","parseFloat","transformParser","symbolParser","attributesParser","extraAttributes","maskParser","blankMeta","parseMeta","_classParser","extraClasses","extraStyles","MissingIcon","stack","FILL","ANIMATION_BASE","attributeType","RING","OPACITY_ANIMATE","DOT","cx","cy","r","QUESTION","opacity","EXCLAMATION","styles$2","asFoundIcon","_icon$slice","_icon$slice2","vectorData","findIcon","styles$3","generateSvgReplacementMutation","nodeMeta","generateLayersText","computedFontSize","getComputedStyle","fontSize","boundingClientRect","generateMutation","onTree","htmlClassList","hclAdd","suffix","add","hclRemove","remove","prefixes","prefixesDomQuery","candidates","resolvedMutations","onNode","replaceForPosition","position","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","getPropertyValue","fontWeight","removeChild","_content","hexValue","iconIdentifier","meta","firstChild","appendChild","removeAttribute","processable","operations","baseStyles","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","Library","definitions","additions","_pullDefinitions","0","_normalized$key","ensureCss","_cssInserted","apiObject","abstractCreator","container","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","resolveIcons","maybeIconDefinition","iconDefinition","noAuto","dom","_params$node","_params$callback","autoReplaceSvgRoot","autoReplace","parse","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","text","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","_params$title3","_params$classes3","_params$attributes3","_params$styles3","layer","assembler","_params$classes4","api","_params$autoReplaceSv","symbolTag"],"mappings":"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","file":"js/chunk-site-vendors.js","sourcesContent":["var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","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","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar parseInt = require('../internals/number-parse-int');\n\n// `Number.parseInt` method\n// https://tc39.es/ecma262/#sec-number.parseint\n$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, {\n parseInt: parseInt\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","// Component names\nexport var NAME_ALERT = 'BAlert';\nexport var NAME_ASPECT = 'BAspect';\nexport var NAME_AVATAR = 'BAvatar';\nexport var NAME_AVATAR_GROUP = 'BAvatarGroup';\nexport var NAME_BADGE = 'BBadge';\nexport var NAME_BREADCRUMB = 'BBreadcrumb';\nexport var NAME_BREADCRUMB_ITEM = 'BBreadcrumbItem';\nexport var NAME_BREADCRUMB_LINK = 'BBreadcrumbLink';\nexport var NAME_BUTTON = 'BButton';\nexport var NAME_BUTTON_CLOSE = 'BButtonClose';\nexport var NAME_BUTTON_GROUP = 'BButtonGroup';\nexport var NAME_BUTTON_TOOLBAR = 'BButtonToolbar';\nexport var NAME_CALENDAR = 'BCalendar';\nexport var NAME_CARD = 'BCard';\nexport var NAME_CARD_BODY = 'BCardBody';\nexport var NAME_CARD_FOOTER = 'BCardFooter';\nexport var NAME_CARD_GROUP = 'BCardGroup';\nexport var NAME_CARD_HEADER = 'BCardHeader';\nexport var NAME_CARD_IMG = 'BCardImg';\nexport var NAME_CARD_IMG_LAZY = 'BCardImgLazy';\nexport var NAME_CARD_SUB_TITLE = 'BCardSubTitle';\nexport var NAME_CARD_TEXT = 'BCardText';\nexport var NAME_CARD_TITLE = 'BCardTitle';\nexport var NAME_CAROUSEL = 'BCarousel';\nexport var NAME_CAROUSEL_SLIDE = 'BCarouselSlide';\nexport var NAME_COL = 'BCol';\nexport var NAME_COLLAPSE = 'BCollapse';\nexport var NAME_CONTAINER = 'BContainer';\nexport var NAME_DROPDOWN = 'BDropdown';\nexport var NAME_DROPDOWN_DIVIDER = 'BDropdownDivider';\nexport var NAME_DROPDOWN_FORM = 'BDropdownForm';\nexport var NAME_DROPDOWN_GROUP = 'BDropdownGroup';\nexport var NAME_DROPDOWN_HEADER = 'BDropdownHeader';\nexport var NAME_DROPDOWN_ITEM = 'BDropdownItem';\nexport var NAME_DROPDOWN_ITEM_BUTTON = 'BDropdownItemButton';\nexport var NAME_DROPDOWN_TEXT = 'BDropdownText';\nexport var NAME_EMBED = 'BEmbed';\nexport var NAME_FORM = 'BForm';\nexport var NAME_FORM_CHECKBOX = 'BFormCheckbox';\nexport var NAME_FORM_CHECKBOX_GROUP = 'BFormCheckboxGroup';\nexport var NAME_FORM_DATALIST = 'BFormDatalist';\nexport var NAME_FORM_DATEPICKER = 'BFormDatepicker';\nexport var NAME_FORM_FILE = 'BFormFile';\nexport var NAME_FORM_GROUP = 'BFormGroup';\nexport var NAME_FORM_INPUT = 'BFormInput';\nexport var NAME_FORM_INVALID_FEEDBACK = 'BFormInvalidFeedback';\nexport var NAME_FORM_RADIO = 'BFormRadio';\nexport var NAME_FORM_RADIO_GROUP = 'BFormRadioGroup';\nexport var NAME_FORM_RATING = 'BFormRating';\nexport var NAME_FORM_ROW = 'BFormRow';\nexport var NAME_FORM_SELECT = 'BFormSelect';\nexport var NAME_FORM_SELECT_OPTION = 'BFormSelectOption';\nexport var NAME_FORM_SELECT_OPTION_GROUP = 'BFormSelectOptionGroup';\nexport var NAME_FORM_SPINBUTTON = 'BFormSpinbutton';\nexport var NAME_FORM_TAG = 'BFormTag';\nexport var NAME_FORM_TAGS = 'BFormTags';\nexport var NAME_FORM_TEXT = 'BFormText';\nexport var NAME_FORM_TEXTAREA = 'BFormTextarea';\nexport var NAME_FORM_TIMEPICKER = 'BFormTimepicker';\nexport var NAME_FORM_VALID_FEEDBACK = 'BFormValidFeedback';\nexport var NAME_ICON = 'BIcon';\nexport var NAME_ICONSTACK = 'BIconstack';\nexport var NAME_ICON_BASE = 'BIconBase';\nexport var NAME_IMG = 'BImg';\nexport var NAME_IMG_LAZY = 'BImgLazy';\nexport var NAME_INPUT_GROUP = 'BInputGroup';\nexport var NAME_INPUT_GROUP_ADDON = 'BInputGroupAddon';\nexport var NAME_INPUT_GROUP_APPEND = 'BInputGroupAppend';\nexport var NAME_INPUT_GROUP_PREPEND = 'BInputGroupPrepend';\nexport var NAME_INPUT_GROUP_TEXT = 'BInputGroupText';\nexport var NAME_JUMBOTRON = 'BJumbotron';\nexport var NAME_LINK = 'BLink';\nexport var NAME_LIST_GROUP = 'BListGroup';\nexport var NAME_LIST_GROUP_ITEM = 'BListGroupItem';\nexport var NAME_MEDIA = 'BMedia';\nexport var NAME_MEDIA_ASIDE = 'BMediaAside';\nexport var NAME_MEDIA_BODY = 'BMediaBody';\nexport var NAME_MODAL = 'BModal';\nexport var NAME_MSG_BOX = 'BMsgBox';\nexport var NAME_NAV = 'BNav';\nexport var NAME_NAVBAR = 'BNavbar';\nexport var NAME_NAVBAR_BRAND = 'BNavbarBrand';\nexport var NAME_NAVBAR_NAV = 'BNavbarNav';\nexport var NAME_NAVBAR_TOGGLE = 'BNavbarToggle';\nexport var NAME_NAV_FORM = 'BNavForm';\nexport var NAME_NAV_ITEM = 'BNavItem';\nexport var NAME_NAV_ITEM_DROPDOWN = 'BNavItemDropdown';\nexport var NAME_NAV_TEXT = 'BNavText';\nexport var NAME_OVERLAY = 'BOverlay';\nexport var NAME_PAGINATION = 'BPagination';\nexport var NAME_PAGINATION_NAV = 'BPaginationNav';\nexport var NAME_POPOVER = 'BPopover';\nexport var NAME_PROGRESS = 'BProgress';\nexport var NAME_PROGRESS_BAR = 'BProgressBar';\nexport var NAME_ROW = 'BRow';\nexport var NAME_SIDEBAR = 'BSidebar';\nexport var NAME_SKELETON = 'BSkeleton';\nexport var NAME_SKELETON_ICON = 'BSkeletonIcon';\nexport var NAME_SKELETON_IMG = 'BSkeletonImg';\nexport var NAME_SKELETON_TABLE = 'BSkeletonTable';\nexport var NAME_SKELETON_WRAPPER = 'BSkeletonWrapper';\nexport var NAME_SPINNER = 'BSpinner';\nexport var NAME_TAB = 'BTab';\nexport var NAME_TABLE = 'BTable';\nexport var NAME_TABLE_CELL = 'BTableCell';\nexport var NAME_TABLE_LITE = 'BTableLite';\nexport var NAME_TABLE_SIMPLE = 'BTableSimple';\nexport var NAME_TABS = 'BTabs';\nexport var NAME_TBODY = 'BTbody';\nexport var NAME_TFOOT = 'BTfoot';\nexport var NAME_TH = 'BTh';\nexport var NAME_THEAD = 'BThead';\nexport var NAME_TIME = 'BTime';\nexport var NAME_TOAST = 'BToast';\nexport var NAME_TOASTER = 'BToaster';\nexport var NAME_TOOLTIP = 'BTooltip';\nexport var NAME_TR = 'BTr'; // Helper component names\n\nexport var NAME_COLLAPSE_HELPER = 'BVCollapse';\nexport var NAME_FORM_BUTTON_LABEL_CONTROL = 'BVFormBtnLabelControl';\nexport var NAME_FORM_RATING_STAR = 'BVFormRatingStar';\nexport var NAME_POPOVER_HELPER = 'BVPopover';\nexport var NAME_POPOVER_TEMPLATE = 'BVPopoverTemplate';\nexport var NAME_POPPER = 'BVPopper';\nexport var NAME_TAB_BUTTON_HELPER = 'BVTabButton';\nexport var NAME_TOAST_POP = 'BVToastPop';\nexport var NAME_TOOLTIP_HELPER = 'BVTooltip';\nexport var NAME_TOOLTIP_TEMPLATE = 'BVTooltipTemplate';\nexport var NAME_TRANSITION = 'BVTransition';\nexport var NAME_TRANSPORTER = 'BVTransporter';\nexport var NAME_TRANSPORTER_TARGET = 'BVTransporterTarget';","export var EVENT_NAME_ACTIVATE_TAB = 'activate-tab';\nexport var EVENT_NAME_BLUR = 'blur';\nexport var EVENT_NAME_CANCEL = 'cancel';\nexport var EVENT_NAME_CHANGE = 'change';\nexport var EVENT_NAME_CHANGED = 'changed';\nexport var EVENT_NAME_CLICK = 'click';\nexport var EVENT_NAME_CLOSE = 'close';\nexport var EVENT_NAME_CONTEXT = 'context';\nexport var EVENT_NAME_CONTEXT_CHANGED = 'context-changed';\nexport var EVENT_NAME_DESTROYED = 'destroyed';\nexport var EVENT_NAME_DISABLE = 'disable';\nexport var EVENT_NAME_DISABLED = 'disabled';\nexport var EVENT_NAME_DISMISSED = 'dismissed';\nexport var EVENT_NAME_DISMISS_COUNT_DOWN = 'dismiss-count-down';\nexport var EVENT_NAME_ENABLE = 'enable';\nexport var EVENT_NAME_ENABLED = 'enabled';\nexport var EVENT_NAME_FILTERED = 'filtered';\nexport var EVENT_NAME_FIRST = 'first';\nexport var EVENT_NAME_FOCUSIN = 'focusin';\nexport var EVENT_NAME_FOCUSOUT = 'focusout';\nexport var EVENT_NAME_HEAD_CLICKED = 'head-clicked';\nexport var EVENT_NAME_HIDDEN = 'hidden';\nexport var EVENT_NAME_HIDE = 'hide';\nexport var EVENT_NAME_IMG_ERROR = 'img-error';\nexport var EVENT_NAME_INPUT = 'input';\nexport var EVENT_NAME_LAST = 'last';\nexport var EVENT_NAME_MOUSEENTER = 'mouseenter';\nexport var EVENT_NAME_MOUSELEAVE = 'mouseleave';\nexport var EVENT_NAME_NEXT = 'next';\nexport var EVENT_NAME_OK = 'ok';\nexport var EVENT_NAME_OPEN = 'open';\nexport var EVENT_NAME_PAGE_CLICK = 'page-click';\nexport var EVENT_NAME_PAUSED = 'paused';\nexport var EVENT_NAME_PREV = 'prev';\nexport var EVENT_NAME_REFRESH = 'refresh';\nexport var EVENT_NAME_REFRESHED = 'refreshed';\nexport var EVENT_NAME_REMOVE = 'remove';\nexport var EVENT_NAME_ROW_CLICKED = 'row-clicked';\nexport var EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu';\nexport var EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked';\nexport var EVENT_NAME_ROW_HOVERED = 'row-hovered';\nexport var EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked';\nexport var EVENT_NAME_ROW_SELECTED = 'row-selected';\nexport var EVENT_NAME_ROW_UNHOVERED = 'row-unhovered';\nexport var EVENT_NAME_SELECTED = 'selected';\nexport var EVENT_NAME_SHOW = 'show';\nexport var EVENT_NAME_SHOWN = 'shown';\nexport var EVENT_NAME_SLIDING_END = 'sliding-end';\nexport var EVENT_NAME_SLIDING_START = 'sliding-start';\nexport var EVENT_NAME_SORT_CHANGED = 'sort-changed';\nexport var EVENT_NAME_TAG_STATE = 'tag-state';\nexport var EVENT_NAME_TOGGLE = 'toggle';\nexport var EVENT_NAME_UNPAUSED = 'unpaused';\nexport var EVENT_NAME_UPDATE = 'update';\nexport var HOOK_EVENT_NAME_BEFORE_DESTROY = 'hook:beforeDestroy';\nexport var HOOK_EVENT_NAME_DESTROYED = 'hook:destroyed';\nexport var MODEL_EVENT_NAME_PREFIX = 'update:';\nexport var ROOT_EVENT_NAME_PREFIX = 'bv';\nexport var ROOT_EVENT_NAME_SEPARATOR = '::';\nexport var EVENT_OPTIONS_PASSIVE = {\n passive: true\n};\nexport var EVENT_OPTIONS_NO_CAPTURE = {\n passive: true,\n capture: false\n};","// General types\nexport var PROP_TYPE_ANY = undefined;\nexport var PROP_TYPE_ARRAY = Array;\nexport var PROP_TYPE_BOOLEAN = Boolean;\nexport var PROP_TYPE_DATE = Date;\nexport var PROP_TYPE_FUNCTION = Function;\nexport var PROP_TYPE_NUMBER = Number;\nexport var PROP_TYPE_OBJECT = Object;\nexport var PROP_TYPE_REG_EXP = RegExp;\nexport var PROP_TYPE_STRING = String; // Multiple types\n\nexport var PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION];\nexport var PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT];\nexport var PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING];\nexport var PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING];\nexport var PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER];\nexport var PROP_TYPE_BOOLEAN_NUMBER_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING];\nexport var PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING];\nexport var PROP_TYPE_DATE_STRING = [PROP_TYPE_DATE, PROP_TYPE_STRING];\nexport var PROP_TYPE_FUNCTION_STRING = [PROP_TYPE_FUNCTION, PROP_TYPE_STRING];\nexport var PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING];\nexport var PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING];\nexport var PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION];\nexport var PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING];","// --- General ---\nexport var RX_ARRAY_NOTATION = /\\[(\\d+)]/g;\nexport var RX_BV_PREFIX = /^(BV?)/;\nexport var RX_DIGITS = /^\\d+$/;\nexport var RX_EXTENSION = /^\\..+/;\nexport var RX_HASH = /^#/;\nexport var RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/;\nexport var RX_HTML_TAGS = /(<([^>]+)>)/gi;\nexport var RX_HYPHENATE = /\\B([A-Z])/g;\nexport var RX_LOWER_UPPER = /([a-z])([A-Z])/g;\nexport var RX_NUMBER = /^[0-9]*\\.?[0-9]+$/;\nexport var RX_PLUS = /\\+/g;\nexport var RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g;\nexport var RX_SPACES = /[\\s\\uFEFF\\xA0]+/g;\nexport var RX_SPACE_SPLIT = /\\s+/;\nexport var RX_STAR = /\\/\\*$/;\nexport var RX_START_SPACE_WORD = /(\\s|^)(\\w)/g;\nexport var RX_TRIM_LEFT = /^\\s+/;\nexport var RX_TRIM_RIGHT = /\\s+$/;\nexport var RX_UNDERSCORE = /_/g;\nexport var RX_UN_KEBAB = /-(\\w)/g; // --- Date ---\n// Loose YYYY-MM-DD matching, ignores any appended time inforation\n// Matches '1999-12-20', '1999-1-1', '1999-01-20T22:51:49.118Z', '1999-01-02 13:00:00'\n\nexport var RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/; // Used to split off the date parts of the YYYY-MM-DD string\n\nexport var RX_DATE_SPLIT = /-|\\s|T/; // Time string RegEx (optional seconds)\n\nexport var RX_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/; // --- URL ---\n// HREFs must end with a hash followed by at least one non-hash character\n\nexport var RX_HREF = /^.*(#[^#]+)$/;\nexport var RX_ENCODED_COMMA = /%2C/g;\nexport var RX_ENCODE_REVERSE = /[!'()*]/g;\nexport var RX_QUERY_START = /^(\\?|#|&)/; // --- Aspect ---\n\nexport var RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/;\nexport var RX_ASPECT_SEPARATOR = /[/:]/; // --- Grid ---\n\nexport var RX_COL_CLASS = /^col-/; // --- Icon ---\n\nexport var RX_ICON_PREFIX = /^BIcon/; // --- Locale ---\n\nexport var RX_STRIP_LOCALE_MODS = /-u-.+/;","export var HAS_WINDOW_SUPPORT = typeof window !== 'undefined';\nexport var HAS_DOCUMENT_SUPPORT = typeof document !== 'undefined';\nexport var HAS_NAVIGATOR_SUPPORT = typeof navigator !== 'undefined';\nexport var HAS_PROMISE_SUPPORT = typeof Promise !== 'undefined';\n/* istanbul ignore next: JSDOM always returns false */\n\nexport var HAS_MUTATION_OBSERVER_SUPPORT = typeof MutationObserver !== 'undefined' || typeof WebKitMutationObserver !== 'undefined' || typeof MozMutationObserver !== 'undefined';\nexport var IS_BROWSER = HAS_WINDOW_SUPPORT && HAS_DOCUMENT_SUPPORT && HAS_NAVIGATOR_SUPPORT;\nexport var WINDOW = HAS_WINDOW_SUPPORT ? window : {};\nexport var DOCUMENT = HAS_DOCUMENT_SUPPORT ? document : {};\nexport var NAVIGATOR = HAS_NAVIGATOR_SUPPORT ? navigator : {};\nexport var USER_AGENT = (NAVIGATOR.userAgent || '').toLowerCase();\nexport var IS_JSDOM = USER_AGENT.indexOf('jsdom') > 0;\nexport var IS_IE = /msie|trident/.test(USER_AGENT); // Determine if the browser supports the option passive for events\n\nexport var HAS_PASSIVE_EVENT_SUPPORT = function () {\n var passiveEventSupported = false;\n\n if (IS_BROWSER) {\n try {\n var options = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true;\n }\n\n };\n WINDOW.addEventListener('test', options, options);\n WINDOW.removeEventListener('test', options, options);\n } catch (_unused) {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false;\n }\n }\n\n return passiveEventSupported;\n}();\nexport var HAS_TOUCH_SUPPORT = IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0);\nexport var HAS_POINTER_EVENT_SUPPORT = IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent);\n/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\n\nexport var HAS_INTERACTION_OBSERVER_SUPPORT = IS_BROWSER && 'IntersectionObserver' in WINDOW && 'IntersectionObserverEntry' in WINDOW && // Edge 15 and UC Browser lack support for `isIntersecting`\n// but we an use `intersectionRatio > 0` instead\n// 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n'intersectionRatio' in WINDOW.IntersectionObserverEntry.prototype;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\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 _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { HAS_WINDOW_SUPPORT, WINDOW } from './env';\n/* istanbul ignore next */\n\nexport var Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : /*#__PURE__*/function (_Object) {\n _inherits(Element, _Object);\n\n var _super = _createSuper(Element);\n\n function Element() {\n _classCallCheck(this, Element);\n\n return _super.apply(this, arguments);\n }\n\n return Element;\n}( /*#__PURE__*/_wrapNativeSuper(Object));\n/* istanbul ignore next */\n\nexport var HTMLElement = HAS_WINDOW_SUPPORT ? WINDOW.HTMLElement : /*#__PURE__*/function (_Element) {\n _inherits(HTMLElement, _Element);\n\n var _super2 = _createSuper(HTMLElement);\n\n function HTMLElement() {\n _classCallCheck(this, HTMLElement);\n\n return _super2.apply(this, arguments);\n }\n\n return HTMLElement;\n}(Element);\n/* istanbul ignore next */\n\nexport var SVGElement = HAS_WINDOW_SUPPORT ? WINDOW.SVGElement : /*#__PURE__*/function (_Element2) {\n _inherits(SVGElement, _Element2);\n\n var _super3 = _createSuper(SVGElement);\n\n function SVGElement() {\n _classCallCheck(this, SVGElement);\n\n return _super3.apply(this, arguments);\n }\n\n return SVGElement;\n}(Element);\n/* istanbul ignore next */\n\nexport var File = HAS_WINDOW_SUPPORT ? WINDOW.File : /*#__PURE__*/function (_Object2) {\n _inherits(File, _Object2);\n\n var _super4 = _createSuper(File);\n\n function File() {\n _classCallCheck(this, File);\n\n return _super4.apply(this, arguments);\n }\n\n return File;\n}( /*#__PURE__*/_wrapNativeSuper(Object));","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { RX_NUMBER } from '../constants/regex';\nimport { File } from '../constants/safe-types'; // --- Convenience inspection utilities ---\n\nexport var toType = function toType(value) {\n return _typeof(value);\n};\nexport var toRawType = function toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n};\nexport var toRawTypeLC = function toRawTypeLC(value) {\n return toRawType(value).toLowerCase();\n};\nexport var isUndefined = function isUndefined(value) {\n return value === undefined;\n};\nexport var isNull = function isNull(value) {\n return value === null;\n};\nexport var isEmptyString = function isEmptyString(value) {\n return value === '';\n};\nexport var isUndefinedOrNull = function isUndefinedOrNull(value) {\n return isUndefined(value) || isNull(value);\n};\nexport var isUndefinedOrNullOrEmpty = function isUndefinedOrNullOrEmpty(value) {\n return isUndefinedOrNull(value) || isEmptyString(value);\n};\nexport var isFunction = function isFunction(value) {\n return toType(value) === 'function';\n};\nexport var isBoolean = function isBoolean(value) {\n return toType(value) === 'boolean';\n};\nexport var isString = function isString(value) {\n return toType(value) === 'string';\n};\nexport var isNumber = function isNumber(value) {\n return toType(value) === 'number';\n};\nexport var isNumeric = function isNumeric(value) {\n return RX_NUMBER.test(String(value));\n};\nexport var isPrimitive = function isPrimitive(value) {\n return isBoolean(value) || isString(value) || isNumber(value);\n};\nexport var isArray = function isArray(value) {\n return Array.isArray(value);\n}; // Quick object check\n// This is primarily used to tell Objects from primitive values\n// when we know the value is a JSON-compliant type\n// Note object could be a complex type like array, Date, etc.\n\nexport var isObject = function isObject(obj) {\n return obj !== null && _typeof(obj) === 'object';\n}; // Strict object type check\n// Only returns true for plain JavaScript objects\n\nexport var isPlainObject = function isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n};\nexport var isDate = function isDate(value) {\n return value instanceof Date;\n};\nexport var isEvent = function isEvent(value) {\n return value instanceof Event;\n};\nexport var isFile = function isFile(value) {\n return value instanceof File;\n};\nexport var isRegExp = function isRegExp(value) {\n return toRawType(value) === 'RegExp';\n};\nexport var isPromise = function isPromise(value) {\n return !isUndefinedOrNull(value) && isFunction(value.then) && isFunction(value.catch);\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 { isObject } from './inspect'; // --- Static ---\n\nexport var assign = function assign() {\n return Object.assign.apply(Object, arguments);\n};\nexport var create = function create(proto, optionalProps) {\n return Object.create(proto, optionalProps);\n};\nexport var defineProperties = function defineProperties(obj, props) {\n return Object.defineProperties(obj, props);\n};\nexport var defineProperty = function defineProperty(obj, prop, descriptor) {\n return Object.defineProperty(obj, prop, descriptor);\n};\nexport var freeze = function freeze(obj) {\n return Object.freeze(obj);\n};\nexport var getOwnPropertyNames = function getOwnPropertyNames(obj) {\n return Object.getOwnPropertyNames(obj);\n};\nexport var getOwnPropertyDescriptor = function getOwnPropertyDescriptor(obj, prop) {\n return Object.getOwnPropertyDescriptor(obj, prop);\n};\nexport var getOwnPropertySymbols = function getOwnPropertySymbols(obj) {\n return Object.getOwnPropertySymbols(obj);\n};\nexport var getPrototypeOf = function getPrototypeOf(obj) {\n return Object.getPrototypeOf(obj);\n};\nexport var is = function is(value1, value2) {\n return Object.is(value1, value2);\n};\nexport var isFrozen = function isFrozen(obj) {\n return Object.isFrozen(obj);\n};\nexport var keys = function keys(obj) {\n return Object.keys(obj);\n}; // --- \"Instance\" ---\n\nexport var hasOwnProperty = function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n};\nexport var toString = function toString(obj) {\n return Object.prototype.toString.call(obj);\n}; // --- Utilities ---\n// Shallow copy an object\n\nexport var clone = function clone(obj) {\n return _objectSpread({}, obj);\n}; // Return a shallow copy of object with the specified properties only\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n\nexport var pick = function pick(obj, props) {\n return keys(obj).filter(function (key) {\n return props.indexOf(key) !== -1;\n }).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n}; // Return a shallow copy of object with the specified properties omitted\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n\nexport var omit = function omit(obj, props) {\n return keys(obj).filter(function (key) {\n return props.indexOf(key) === -1;\n }).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n}; // Merges two object deeply together\n// See: https://gist.github.com/Salakar/1d7137de9cb8b704e48a\n\nexport var mergeDeep = function mergeDeep(target, source) {\n if (isObject(target) && isObject(source)) {\n keys(source).forEach(function (key) {\n if (isObject(source[key])) {\n if (!target[key] || !isObject(target[key])) {\n target[key] = source[key];\n }\n\n mergeDeep(target[key], source[key]);\n } else {\n assign(target, _defineProperty({}, key, source[key]));\n }\n });\n }\n\n return target;\n}; // Returns a shallow copy of the object with keys in sorted order\n\nexport var sortKeys = function sortKeys(obj) {\n return keys(obj).sort().reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n}; // Convenience method to create a read-only descriptor\n\nexport var readonlyDescriptor = function readonlyDescriptor() {\n return {\n enumerable: true,\n configurable: false,\n writable: false\n };\n};","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { assign, defineProperty, defineProperties, readonlyDescriptor } from './object';\nexport var BvEvent = /*#__PURE__*/function () {\n function BvEvent(type) {\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvEvent);\n\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\"Failed to construct '\".concat(this.constructor.name, \"'. 1 argument required, \").concat(arguments.length, \" given.\"));\n } // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n\n\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, {\n type: type\n }); // Freeze some props as readonly, but leave them enumerable\n\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n }); // Create a private variable using closure scoping\n\n var defaultPrevented = false; // Recreate preventDefault method. One way setter\n\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true;\n }\n }; // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n\n\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get: function get() {\n return defaultPrevented;\n }\n });\n }\n\n _createClass(BvEvent, null, [{\n key: \"Defaults\",\n get: function get() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n };\n }\n }]);\n\n return BvEvent;\n}();","import { isFunction } from './inspect'; // --- Static ---\n\nexport var from = function from() {\n return Array.from.apply(Array, arguments);\n}; // --- Instance ---\n\nexport var arrayIncludes = function arrayIncludes(array, value) {\n return array.indexOf(value) !== -1;\n};\nexport var concat = function concat() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return Array.prototype.concat.apply([], args);\n}; // --- Utilities ---\n\nexport var createArray = function createArray(length, fillFn) {\n var mapFn = isFunction(fillFn) ? fillFn : function () {\n return fillFn;\n };\n return Array.apply(null, {\n length: length\n }).map(mapFn);\n};\nexport var flatten = function flatten(array) {\n return array.reduce(function (result, item) {\n return concat(result, item);\n }, []);\n};\nexport var flattenDeep = function flattenDeep(array) {\n return array.reduce(function (result, item) {\n return concat(result, Array.isArray(item) ? flattenDeep(item) : item);\n }, []);\n};","// Number utilities\n// Converts a value (string, number, etc.) to an integer number\n// Assumes radix base 10\nexport var toInteger = function toInteger(value) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;\n var integer = parseInt(value, 10);\n return isNaN(integer) ? defaultValue : integer;\n}; // Converts a value (string, number, etc.) to a number\n\nexport var toFloat = function toFloat(value) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;\n var float = parseFloat(value);\n return isNaN(float) ? defaultValue : float;\n}; // Converts a value (string, number, etc.) to a string\n// representation with `precision` digits after the decimal\n// Returns the string 'NaN' if the value cannot be converted\n\nexport var toFixed = function toFixed(val, precision) {\n return toFloat(val).toFixed(toInteger(precision, 0));\n};","// String utilities\nimport { RX_HYPHENATE, RX_LOWER_UPPER, RX_REGEXP_REPLACE, RX_START_SPACE_WORD, RX_TRIM_LEFT, RX_TRIM_RIGHT, RX_UNDERSCORE, RX_UN_KEBAB } from '../constants/regex';\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'; // --- Utilities ---\n// Converts PascalCase or camelCase to kebab-case\n\nexport var kebabCase = function kebabCase(str) {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase();\n}; // Converts a kebab-case or camelCase string to PascalCase\n\nexport var pascalCase = function pascalCase(str) {\n str = kebabCase(str).replace(RX_UN_KEBAB, function (_, c) {\n return c ? c.toUpperCase() : '';\n });\n return str.charAt(0).toUpperCase() + str.slice(1);\n}; // Converts a string, including strings in camelCase or snake_case, into Start Case\n// It keeps original single quote and hyphen in the word\n// https://github.com/UrbanCompass/to-start-case\n\nexport var startCase = function startCase(str) {\n return str.replace(RX_UNDERSCORE, ' ').replace(RX_LOWER_UPPER, function (str, $1, $2) {\n return $1 + ' ' + $2;\n }).replace(RX_START_SPACE_WORD, function (str, $1, $2) {\n return $1 + $2.toUpperCase();\n });\n}; // Lowercases the first letter of a string and returns a new string\n\nexport var lowerFirst = function lowerFirst(str) {\n str = isString(str) ? str.trim() : String(str);\n return str.charAt(0).toLowerCase() + str.slice(1);\n}; // Uppercases the first letter of a string and returns a new string\n\nexport var upperFirst = function upperFirst(str) {\n str = isString(str) ? str.trim() : String(str);\n return str.charAt(0).toUpperCase() + str.slice(1);\n}; // Escape characters to be used in building a regular expression\n\nexport var escapeRegExp = function escapeRegExp(str) {\n return str.replace(RX_REGEXP_REPLACE, '\\\\$&');\n}; // Convert a value to a string that can be rendered\n// `undefined`/`null` will be converted to `''`\n// Plain objects and arrays will be JSON stringified\n\nexport var toString = function toString(val) {\n var spaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n return isUndefinedOrNull(val) ? '' : isArray(val) || isPlainObject(val) && val.toString === Object.prototype.toString ? JSON.stringify(val, null, spaces) : String(val);\n}; // Remove leading white space from a string\n\nexport var trimLeft = function trimLeft(str) {\n return toString(str).replace(RX_TRIM_LEFT, '');\n}; // Remove Trailing white space from a string\n\nexport var trimRight = function trimRight(str) {\n return toString(str).replace(RX_TRIM_RIGHT, '');\n}; // Remove leading and trailing white space from a string\n\nexport var trim = function trim(str) {\n return toString(str).trim();\n}; // Lower case a string\n\nexport var lowerCase = function lowerCase(str) {\n return toString(str).toLowerCase();\n}; // Upper case a string\n\nexport var upperCase = function upperCase(str) {\n return toString(str).toUpperCase();\n};","import { DOCUMENT, WINDOW } from '../constants/env';\nimport { Element } from '../constants/safe-types';\nimport { from as arrayFrom } from './array';\nimport { isFunction, isNull } from './inspect';\nimport { toFloat } from './number';\nimport { toString } from './string'; // --- Constants ---\n\nvar ELEMENT_PROTO = Element.prototype;\nvar TABABLE_SELECTOR = ['button', '[href]:not(.disabled)', 'input', 'select', 'textarea', '[tabindex]', '[contenteditable]'].map(function (s) {\n return \"\".concat(s, \":not(:disabled):not([disabled])\");\n}).join(', '); // --- Normalization utils ---\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\n/* istanbul ignore next */\n\nexport var matchesEl = ELEMENT_PROTO.matches || ELEMENT_PROTO.msMatchesSelector || ELEMENT_PROTO.webkitMatchesSelector; // See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n\n/* istanbul ignore next */\n\nexport var closestEl = ELEMENT_PROTO.closest || function (sel) {\n var el = this;\n\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el;\n }\n\n el = el.parentElement || el.parentNode;\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE);\n\n return null;\n}; // `requestAnimationFrame()` convenience method\n\n/* istanbul ignore next: JSDOM always returns the first option */\n\nexport var requestAF = WINDOW.requestAnimationFrame || WINDOW.webkitRequestAnimationFrame || WINDOW.mozRequestAnimationFrame || WINDOW.msRequestAnimationFrame || WINDOW.oRequestAnimationFrame || // Fallback, but not a true polyfill\n// Only needed for Opera Mini\n\n/* istanbul ignore next */\nfunction (cb) {\n return setTimeout(cb, 16);\n};\nexport var MutationObs = WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null; // --- Utils ---\n// Remove a node from DOM\n\nexport var removeNode = function removeNode(el) {\n return el && el.parentNode && el.parentNode.removeChild(el);\n}; // Determine if an element is an HTML element\n\nexport var isElement = function isElement(el) {\n return !!(el && el.nodeType === Node.ELEMENT_NODE);\n}; // Get the currently active HTML element\n\nexport var getActiveElement = function getActiveElement() {\n var excludes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var activeElement = DOCUMENT.activeElement;\n return activeElement && !excludes.some(function (el) {\n return el === activeElement;\n }) ? activeElement : null;\n}; // Returns `true` if a tag's name equals `name`\n\nexport var isTag = function isTag(tag, name) {\n return toString(tag).toLowerCase() === toString(name).toLowerCase();\n}; // Determine if an HTML element is the currently active element\n\nexport var isActiveElement = function isActiveElement(el) {\n return isElement(el) && el === getActiveElement();\n}; // Determine if an HTML element is visible - Faster than CSS check\n\nexport var isVisible = function isVisible(el) {\n if (!isElement(el) || !el.parentNode || !contains(DOCUMENT.body, el)) {\n // Note this can fail for shadow dom elements since they\n // are not a direct descendant of document.body\n return false;\n }\n\n if (getStyle(el, 'display') === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n\n /* istanbul ignore next */\n return false;\n } // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n\n\n var bcr = getBCR(el);\n return !!(bcr && bcr.height > 0 && bcr.width > 0);\n}; // Determine if an element is disabled\n\nexport var isDisabled = function isDisabled(el) {\n return !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled');\n}; // Cause/wait-for an element to reflow its content (adjusting its height/width)\n\nexport var reflow = function reflow(el) {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight;\n}; // Select all elements matching selector. Returns `[]` if none found\n\nexport var selectAll = function selectAll(selector, root) {\n return arrayFrom((isElement(root) ? root : DOCUMENT).querySelectorAll(selector));\n}; // Select a single element, returns `null` if not found\n\nexport var select = function select(selector, root) {\n return (isElement(root) ? root : DOCUMENT).querySelector(selector) || null;\n}; // Determine if an element matches a selector\n\nexport var matches = function matches(el, selector) {\n return isElement(el) ? matchesEl.call(el, selector) : false;\n}; // Finds closest element matching selector. Returns `null` if not found\n\nexport var closest = function closest(selector, root) {\n var includeRoot = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!isElement(root)) {\n return null;\n }\n\n var el = closestEl.call(root, selector); // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n\n return includeRoot ? el : el === root ? null : el;\n}; // Returns true if the parent element contains the child element\n\nexport var contains = function contains(parent, child) {\n return parent && isFunction(parent.contains) ? parent.contains(child) : false;\n}; // Get an element given an ID\n\nexport var getById = function getById(id) {\n return DOCUMENT.getElementById(/^#/.test(id) ? id.slice(1) : id) || null;\n}; // Add a class to an element\n\nexport var addClass = function addClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className);\n }\n}; // Remove a class from an element\n\nexport var removeClass = function removeClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className);\n }\n}; // Test if an element has a class\n\nexport var hasClass = function hasClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className);\n }\n\n return false;\n}; // Set an attribute on an element\n\nexport var setAttr = function setAttr(el, attr, value) {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value);\n }\n}; // Remove an attribute from an element\n\nexport var removeAttr = function removeAttr(el, attr) {\n if (attr && isElement(el)) {\n el.removeAttribute(attr);\n }\n}; // Get an attribute value from an element\n// Returns `null` if not found\n\nexport var getAttr = function getAttr(el, attr) {\n return attr && isElement(el) ? el.getAttribute(attr) : null;\n}; // Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\n\nexport var hasAttr = function hasAttr(el, attr) {\n return attr && isElement(el) ? el.hasAttribute(attr) : null;\n}; // Set an style property on an element\n\nexport var setStyle = function setStyle(el, prop, value) {\n if (prop && isElement(el)) {\n el.style[prop] = value;\n }\n}; // Remove an style property from an element\n\nexport var removeStyle = function removeStyle(el, prop) {\n if (prop && isElement(el)) {\n el.style[prop] = '';\n }\n}; // Get an style property value from an element\n// Returns `null` if not found\n\nexport var getStyle = function getStyle(el, prop) {\n return prop && isElement(el) ? el.style[prop] || null : null;\n}; // Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n\nexport var getBCR = function getBCR(el) {\n return isElement(el) ? el.getBoundingClientRect() : null;\n}; // Get computed style object for an element\n\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\n\nexport var getCS = function getCS(el) {\n var getComputedStyle = WINDOW.getComputedStyle;\n return getComputedStyle && isElement(el) ? getComputedStyle(el) : {};\n}; // Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\n\nexport var getSel = function getSel() {\n var getSelection = WINDOW.getSelection;\n return getSelection ? WINDOW.getSelection() : null;\n}; // Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\n\nexport var offset = function offset(el)\n/* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */\n{\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset;\n }\n\n var bcr = getBCR(el);\n\n if (bcr) {\n var win = el.ownerDocument.defaultView;\n _offset.top = bcr.top + win.pageYOffset;\n _offset.left = bcr.left + win.pageXOffset;\n }\n\n return _offset;\n}; // Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\n\nexport var position = function position(el)\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n{\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el)) {\n return _offset;\n }\n\n var parentOffset = {\n top: 0,\n left: 0\n };\n var elStyles = getCS(el);\n\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset;\n } else {\n _offset = offset(el);\n var doc = el.ownerDocument;\n var offsetParent = el.offsetParent || doc.documentElement;\n\n while (offsetParent && (offsetParent === doc.body || offsetParent === doc.documentElement) && getCS(offsetParent).position === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent);\n var offsetParentStyles = getCS(offsetParent);\n parentOffset.top += toFloat(offsetParentStyles.borderTopWidth, 0);\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0);\n }\n }\n\n return {\n top: _offset.top - parentOffset.top - toFloat(elStyles.marginTop, 0),\n left: _offset.left - parentOffset.left - toFloat(elStyles.marginLeft, 0)\n };\n}; // Find all tabable elements in the given element\n// Assumes users have not used `tabindex` > `0` on elements\n\nexport var getTabables = function getTabables() {\n var rootEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n return selectAll(TABABLE_SELECTOR, rootEl).filter(isVisible).filter(function (el) {\n return el.tabIndex > -1 && !el.disabled;\n });\n}; // Attempt to focus an element, and return `true` if successful\n\nexport var attemptFocus = function attemptFocus(el) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n el.focus(options);\n } catch (_unused) {}\n\n return isActiveElement(el);\n}; // Attempt to blur an element, and return `true` if successful\n\nexport var attemptBlur = function attemptBlur(el) {\n try {\n el.blur();\n } catch (_unused2) {}\n\n return !isActiveElement(el);\n};","// Math utilty functions\nexport var mathMin = Math.min;\nexport var mathMax = Math.max;\nexport var mathAbs = Math.abs;\nexport var mathCeil = Math.ceil;\nexport var mathFloor = Math.floor;\nexport var mathPow = Math.pow;\nexport var mathRound = Math.round;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { isArray, isPlainObject } from './inspect';\nimport { keys } from './object';\nexport var cloneDeep = function cloneDeep(obj) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : obj;\n\n if (isArray(obj)) {\n return obj.reduce(function (result, val) {\n return [].concat(_toConsumableArray(result), [cloneDeep(val, val)]);\n }, []);\n }\n\n if (isPlainObject(obj)) {\n return keys(obj).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, cloneDeep(obj[key], obj[key])));\n }, {});\n }\n\n return defaultValue;\n};","export var NAME = 'BvConfig';\nexport var PROP_NAME = '$bvConfig';\nexport var DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl'];","import { create } from './object';\nexport var memoize = function memoize(fn) {\n var cache = create(null);\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsKey = JSON.stringify(args);\n return cache[argsKey] = cache[argsKey] || fn.apply(null, args);\n };\n};","import { Vue } from '../vue';\nimport { DEFAULT_BREAKPOINT, PROP_NAME } from '../constants/config';\nimport { cloneDeep } from './clone-deep';\nimport { memoize } from './memoize'; // --- Constants ---\n\nvar VueProto = Vue.prototype; // --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config value,\n// to prevent mutation of the user config object\n// Get the current config\n\nexport var getConfig = function getConfig() {\n var bvConfig = VueProto[PROP_NAME];\n return bvConfig ? bvConfig.getConfig() : {};\n}; // Method to grab a config value based on a dotted/array notation key\n\nexport var getConfigValue = function getConfigValue(key) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n var bvConfig = VueProto[PROP_NAME];\n return bvConfig ? bvConfig.getConfigValue(key, defaultValue) : cloneDeep(defaultValue);\n}; // Method to grab a config value for a particular component\n\nexport var getComponentConfig = function getComponentConfig(key) {\n var propKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n // Return the particular config value for key if specified,\n // otherwise we return the full config (or an empty object if not found)\n return propKey ? getConfigValue(\"\".concat(key, \".\").concat(propKey), defaultValue) : getConfigValue(key, {});\n}; // Get all breakpoint names\n\nexport var getBreakpoints = function getBreakpoints() {\n return getConfigValue('breakpoints', DEFAULT_BREAKPOINT);\n}; // Private method for caching breakpoint names\n\nvar _getBreakpointsCached = memoize(function () {\n return getBreakpoints();\n}); // Get all breakpoint names (cached)\n\n\nexport var getBreakpointsCached = function getBreakpointsCached() {\n return cloneDeep(_getBreakpointsCached());\n}; // Get breakpoints with the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\n\nexport var getBreakpointsUp = function getBreakpointsUp() {\n var breakpoints = getBreakpoints();\n breakpoints[0] = '';\n return breakpoints;\n}; // Get breakpoints with the smallest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n\nexport var getBreakpointsUpCached = memoize(function () {\n var breakpoints = getBreakpointsCached();\n breakpoints[0] = '';\n return breakpoints;\n}); // Get breakpoints with the largest breakpoint set as ''\n\nexport var getBreakpointsDown = function getBreakpointsDown() {\n var breakpoints = getBreakpoints();\n breakpoints[breakpoints.length - 1] = '';\n return breakpoints;\n}; // Get breakpoints with the largest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n\n/* istanbul ignore next: we don't use this method anywhere, yet */\n\nexport var getBreakpointsDownCached = function getBreakpointsDownCached() {\n var breakpoints = getBreakpointsCached();\n breakpoints[breakpoints.length - 1] = '';\n return breakpoints;\n};","export var identity = function identity(x) {\n return x;\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 { PROP_TYPE_ANY } from '../constants/props';\nimport { cloneDeep } from './clone-deep';\nimport { getComponentConfig } from './config';\nimport { identity } from './identity';\nimport { isArray, isFunction, isObject, isUndefined } from './inspect';\nimport { clone, hasOwnProperty, keys } from './object';\nimport { lowerFirst, upperFirst } from './string'; // Prefix a property\n\nexport var prefixPropName = function prefixPropName(prefix, value) {\n return prefix + upperFirst(value);\n}; // Remove a prefix from a property\n\nexport var unprefixPropName = function unprefixPropName(prefix, value) {\n return lowerFirst(value.replace(prefix, ''));\n}; // Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n// Use data last parameters to allow for currying\n\nexport var suffixPropName = function suffixPropName(suffix, value) {\n return value + (suffix ? upperFirst(suffix) : '');\n}; // Generates a prop object\n\nexport var makeProp = function makeProp() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : PROP_TYPE_ANY;\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n var requiredOrValidator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n var validator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;\n var required = requiredOrValidator === true;\n validator = required ? validator : requiredOrValidator;\n return _objectSpread(_objectSpread(_objectSpread({}, type ? {\n type: type\n } : {}), required ? {\n required: required\n } : isUndefined(value) ? {} : {\n default: isObject(value) ? function () {\n return value;\n } : value\n }), isUndefined(validator) ? {} : {\n validator: validator\n });\n}; // Copies props from one array/object to a new array/object\n// Prop values are also cloned as new references to prevent possible\n// mutation of original prop object values\n// Optionally accepts a function to transform the prop name\n\nexport var copyProps = function copyProps(props) {\n var transformFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : identity;\n\n if (isArray(props)) {\n return props.map(transformFn);\n }\n\n var copied = {};\n\n for (var prop in props) {\n /* istanbul ignore else */\n if (hasOwnProperty(props, prop)) {\n // If the prop value is an object, do a shallow clone\n // to prevent potential mutations to the original object\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop];\n }\n }\n\n return copied;\n}; // Given an array of properties or an object of property keys,\n// plucks all the values off the target object, returning a new object\n// that has props that reference the original prop values\n\nexport var pluckProps = function pluckProps(keysToPluck, objToPluck) {\n var transformFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : identity;\n return (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce(function (memo, prop) {\n memo[transformFn(prop)] = objToPluck[prop];\n return memo;\n }, {});\n}; // Make a prop object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\n\nexport var makePropConfigurable = function makePropConfigurable(prop, key, componentKey) {\n return _objectSpread(_objectSpread({}, cloneDeep(prop)), {}, {\n default: function bvConfigurablePropDefault() {\n var value = getComponentConfig(componentKey, key, prop.default);\n return isFunction(value) ? value() : value;\n }\n });\n}; // Make a props object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\n\nexport var makePropsConfigurable = function makePropsConfigurable(props, componentKey) {\n return keys(props).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, makePropConfigurable(props[key], key, componentKey)));\n }, {});\n}; // Get function name we use in `makePropConfigurable()`\n// for the prop default value override to compare\n// against in `hasPropFunction()`\n\nvar configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name; // Detect wether the given value is currently a function\n// and isn't the props default function\n\nexport var hasPropFunction = function hasPropFunction(fn) {\n return isFunction(fn) && fn.name !== configurablePropDefaultFnName;\n};","export var CODE_BACKSPACE = 8;\nexport var CODE_BREAK = 19;\nexport var CODE_DELETE = 46;\nexport var CODE_DOWN = 40;\nexport var CODE_END = 35;\nexport var CODE_ENTER = 13;\nexport var CODE_ESC = 27;\nexport var CODE_HOME = 36;\nexport var CODE_LEFT = 37;\nexport var CODE_PAGEDOWN = 34;\nexport var CODE_PAGEUP = 33;\nexport var CODE_RIGHT = 39;\nexport var CODE_SPACE = 32;\nexport var CODE_UP = 38;","export var SLOT_NAME_ADD_BUTTON_TEXT = 'add-button-text';\nexport var SLOT_NAME_APPEND = 'append';\nexport var SLOT_NAME_ASIDE = 'aside';\nexport var SLOT_NAME_BADGE = 'badge';\nexport var SLOT_NAME_BOTTOM_ROW = 'bottom-row';\nexport var SLOT_NAME_BUTTON_CONTENT = 'button-content';\nexport var SLOT_NAME_CUSTOM_FOOT = 'custom-foot';\nexport var SLOT_NAME_DECREMENT = 'decrement';\nexport var SLOT_NAME_DEFAULT = 'default';\nexport var SLOT_NAME_DESCRIPTION = 'description';\nexport var SLOT_NAME_DISMISS = 'dismiss';\nexport var SLOT_NAME_DROP_PLACEHOLDER = 'drop-placeholder';\nexport var SLOT_NAME_ELLIPSIS_TEXT = 'ellipsis-text';\nexport var SLOT_NAME_EMPTY = 'empty';\nexport var SLOT_NAME_EMPTYFILTERED = 'emptyfiltered';\nexport var SLOT_NAME_FILE_NAME = 'file-name';\nexport var SLOT_NAME_FIRST = 'first';\nexport var SLOT_NAME_FIRST_TEXT = 'first-text';\nexport var SLOT_NAME_FOOTER = 'footer';\nexport var SLOT_NAME_HEADER = 'header';\nexport var SLOT_NAME_HEADER_CLOSE = 'header-close';\nexport var SLOT_NAME_ICON_CLEAR = 'icon-clear';\nexport var SLOT_NAME_ICON_EMPTY = 'icon-empty';\nexport var SLOT_NAME_ICON_FULL = 'icon-full';\nexport var SLOT_NAME_ICON_HALF = 'icon-half';\nexport var SLOT_NAME_IMG = 'img';\nexport var SLOT_NAME_INCREMENT = 'increment';\nexport var SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback';\nexport var SLOT_NAME_LABEL = 'label';\nexport var SLOT_NAME_LAST_TEXT = 'last-text';\nexport var SLOT_NAME_LEAD = 'lead';\nexport var SLOT_NAME_LOADING = 'loading';\nexport var SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop';\nexport var SLOT_NAME_MODAL_CANCEL = 'modal-cancel';\nexport var SLOT_NAME_MODAL_FOOTER = 'modal-footer';\nexport var SLOT_NAME_MODAL_HEADER = 'modal-header';\nexport var SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close';\nexport var SLOT_NAME_MODAL_OK = 'modal-ok';\nexport var SLOT_NAME_MODAL_TITLE = 'modal-title';\nexport var SLOT_NAME_NAV_NEXT_DECADE = 'nav-next-decade';\nexport var SLOT_NAME_NAV_NEXT_MONTH = 'nav-next-month';\nexport var SLOT_NAME_NAV_NEXT_YEAR = 'nav-next-year';\nexport var SLOT_NAME_NAV_PEV_DECADE = 'nav-prev-decade';\nexport var SLOT_NAME_NAV_PEV_MONTH = 'nav-prev-month';\nexport var SLOT_NAME_NAV_PEV_YEAR = 'nav-prev-year';\nexport var SLOT_NAME_NAV_THIS_MONTH = 'nav-this-month';\nexport var SLOT_NAME_NEXT_TEXT = 'next-text';\nexport var SLOT_NAME_OVERLAY = 'overlay';\nexport var SLOT_NAME_PAGE = 'page';\nexport var SLOT_NAME_PLACEHOLDER = 'placeholder';\nexport var SLOT_NAME_PREPEND = 'prepend';\nexport var SLOT_NAME_PREV_TEXT = 'prev-text';\nexport var SLOT_NAME_ROW_DETAILS = 'row-details';\nexport var SLOT_NAME_TABLE_BUSY = 'table-busy';\nexport var SLOT_NAME_TABLE_CAPTION = 'table-caption';\nexport var SLOT_NAME_TABLE_COLGROUP = 'table-colgroup';\nexport var SLOT_NAME_TABS_END = 'tabs-end';\nexport var SLOT_NAME_TABS_START = 'tabs-start';\nexport var SLOT_NAME_TEXT = 'text';\nexport var SLOT_NAME_THEAD_TOP = 'thead-top';\nexport var SLOT_NAME_TITLE = 'title';\nexport var SLOT_NAME_TOAST_TITLE = 'toast-title';\nexport var SLOT_NAME_TOP_ROW = 'top-row';\nexport var SLOT_NAME_VALID_FEEDBACK = 'valid-feedback';","import { HAS_PASSIVE_EVENT_SUPPORT } from '../constants/env';\nimport { ROOT_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_SEPARATOR } from '../constants/events';\nimport { RX_BV_PREFIX } from '../constants/regex';\nimport { isObject } from './inspect';\nimport { kebabCase } from './string'; // --- Utils ---\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\n\nexport var parseEventOptions = function parseEventOptions(options) {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return isObject(options) ? options : {\n capture: !!options || false\n };\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options);\n }\n}; // Attach an event listener to an element\n\nexport var eventOn = function eventOn(el, eventName, handler, options) {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options));\n }\n}; // Remove an event listener from an element\n\nexport var eventOff = function eventOff(el, eventName, handler, options) {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, parseEventOptions(options));\n }\n}; // Utility method to add/remove a event listener based on first argument (boolean)\n// It passes all other arguments to the `eventOn()` or `eventOff` method\n\nexport var eventOnOff = function eventOnOff(on) {\n var method = on ? eventOn : eventOff;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n method.apply(void 0, args);\n}; // Utility method to prevent the default event handling and propagation\n\nexport var stopEvent = function stopEvent(event) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$preventDefault = _ref.preventDefault,\n preventDefault = _ref$preventDefault === void 0 ? true : _ref$preventDefault,\n _ref$propagation = _ref.propagation,\n propagation = _ref$propagation === void 0 ? true : _ref$propagation,\n _ref$immediatePropaga = _ref.immediatePropagation,\n immediatePropagation = _ref$immediatePropaga === void 0 ? false : _ref$immediatePropaga;\n\n if (preventDefault) {\n event.preventDefault();\n }\n\n if (propagation) {\n event.stopPropagation();\n }\n\n if (immediatePropagation) {\n event.stopImmediatePropagation();\n }\n}; // Helper method to convert a component/directive name to a base event name\n// `getBaseEventName('BNavigationItem')` => 'navigation-item'\n// `getBaseEventName('BVToggle')` => 'toggle'\n\nvar getBaseEventName = function getBaseEventName(value) {\n return kebabCase(value.replace(RX_BV_PREFIX, ''));\n}; // Get a root event name by component/directive and event name\n// `getBaseEventName('BModal', 'show')` => 'bv::modal::show'\n\n\nexport var getRootEventName = function getRootEventName(name, eventName) {\n return [ROOT_EVENT_NAME_PREFIX, getBaseEventName(name), eventName].join(ROOT_EVENT_NAME_SEPARATOR);\n}; // Get a root action event name by component/directive and action name\n// `getRootActionEventName('BModal', 'show')` => 'bv::show::modal'\n\nexport var getRootActionEventName = function getRootActionEventName(name, actionName) {\n return [ROOT_EVENT_NAME_PREFIX, actionName, getBaseEventName(name)].join(ROOT_EVENT_NAME_SEPARATOR);\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { EVENT_NAME_INPUT } from '../constants/events';\nimport { PROP_TYPE_ANY } from '../constants/props';\nimport { makeProp } from './props';\nexport var makeModelMixin = function makeModelMixin(prop) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? PROP_TYPE_ANY : _ref$type,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? undefined : _ref$defaultValue,\n _ref$validator = _ref.validator,\n validator = _ref$validator === void 0 ? undefined : _ref$validator,\n _ref$event = _ref.event,\n event = _ref$event === void 0 ? EVENT_NAME_INPUT : _ref$event;\n\n var props = _defineProperty({}, prop, makeProp(type, defaultValue, validator)); // @vue/component\n\n\n var mixin = Vue.extend({\n model: {\n prop: prop,\n event: event\n },\n props: props\n });\n return {\n mixin: mixin,\n props: props,\n prop: prop,\n event: event\n };\n};","import { IS_BROWSER, HAS_PROMISE_SUPPORT, HAS_MUTATION_OBSERVER_SUPPORT } from '../constants/env';\nimport { getNoWarn } from './env';\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\n\nexport var warn = function warn(message)\n/* istanbul ignore next */\n{\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (!getNoWarn()) {\n console.warn(\"[BootstrapVue warn]: \".concat(source ? \"\".concat(source, \" - \") : '').concat(message));\n }\n};\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nexport var warnNotClient = function warnNotClient(source) {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n return false;\n } else {\n warn(\"\".concat(source, \": Can not be called during SSR.\"));\n return true;\n }\n};\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nexport var warnNoPromiseSupport = function warnNoPromiseSupport(source) {\n /* istanbul ignore else */\n if (HAS_PROMISE_SUPPORT) {\n return false;\n } else {\n warn(\"\".concat(source, \": Requires Promise support.\"));\n return true;\n }\n};\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nexport var warnNoMutationObserverSupport = function warnNoMutationObserverSupport(source) {\n /* istanbul ignore else */\n if (HAS_MUTATION_OBSERVER_SUPPORT) {\n return false;\n } else {\n warn(\"\".concat(source, \": Requires MutationObserver support.\"));\n return true;\n }\n};","import { concat } from './array';\nimport { identity } from './identity';\nimport { isFunction } from './inspect'; // Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\n\nexport var hasNormalizedSlot = function hasNormalizedSlot(names) {\n var $scopedSlots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var $slots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n // Ensure names is an array\n names = concat(names).filter(identity); // Returns true if the either a $scopedSlot or $slot exists with the specified name\n\n return names.some(function (name) {\n return $scopedSlots[name] || $slots[name];\n });\n};\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\n\nexport var normalizeSlot = function normalizeSlot(names) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var $scopedSlots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var $slots = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // Ensure names is an array\n names = concat(names).filter(identity);\n var slot;\n\n for (var i = 0; i < names.length && !slot; i++) {\n var name = names[i];\n slot = $scopedSlots[name] || $slots[name];\n } // Note: in Vue 2.6.x, all named slots are also scoped slots\n\n\n return isFunction(slot) ? slot(scope) : slot;\n};","import { Vue } from '../vue';\nimport { SLOT_NAME_DEFAULT } from '../constants/slots';\nimport { hasNormalizedSlot as _hasNormalizedSlot, normalizeSlot as _normalizeSlot } from '../utils/normalize-slot';\nimport { concat } from '../utils/array'; // @vue/component\n\nexport var normalizeSlotMixin = Vue.extend({\n methods: {\n // Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name\n // `name` can be a string name or an array of names\n hasNormalizedSlot: function hasNormalizedSlot() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SLOT_NAME_DEFAULT;\n var scopedSlots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.$scopedSlots;\n var slots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.$slots;\n return _hasNormalizedSlot(name, scopedSlots, slots);\n },\n // Returns an array of rendered VNodes if slot found, otherwise `undefined`\n // `name` can be a string name or an array of names\n normalizeSlot: function normalizeSlot() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SLOT_NAME_DEFAULT;\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var scopedSlots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.$scopedSlots;\n var slots = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.$slots;\n\n var vNodes = _normalizeSlot(name, scope, scopedSlots, slots);\n\n return vNodes ? concat(vNodes) : vNodes;\n }\n }\n});","import { RX_ENCODED_COMMA, RX_ENCODE_REVERSE, RX_PLUS, RX_QUERY_START } from '../constants/regex';\nimport { isTag } from './dom';\nimport { isArray, isNull, isPlainObject, isString, isUndefined } from './inspect';\nimport { keys } from './object';\nimport { toString } from './string';\nvar ANCHOR_TAG = 'a'; // Method to replace reserved chars\n\nvar encodeReserveReplacer = function encodeReserveReplacer(c) {\n return '%' + c.charCodeAt(0).toString(16);\n}; // Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\n\n\nvar encode = function encode(str) {\n return encodeURIComponent(toString(str)).replace(RX_ENCODE_REVERSE, encodeReserveReplacer).replace(RX_ENCODED_COMMA, ',');\n};\n\nvar decode = decodeURIComponent; // Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\n\nexport var stringifyQueryObj = function stringifyQueryObj(obj) {\n if (!isPlainObject(obj)) {\n return '';\n }\n\n var query = keys(obj).map(function (key) {\n var value = obj[key];\n\n if (isUndefined(value)) {\n return '';\n } else if (isNull(value)) {\n return encode(key);\n } else if (isArray(value)) {\n return value.reduce(function (results, value2) {\n if (isNull(value2)) {\n results.push(encode(key));\n } else if (!isUndefined(value2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(value2));\n }\n\n return results;\n }, []).join('&');\n } // Faster than string interpolation\n\n\n return encode(key) + '=' + encode(value);\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(function (x) {\n return x.length > 0;\n }).join('&');\n return query ? \"?\".concat(query) : '';\n};\nexport var parseQuery = function parseQuery(query) {\n var parsed = {};\n query = toString(query).trim().replace(RX_QUERY_START, '');\n\n if (!query) {\n return parsed;\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(RX_PLUS, ' ').split('=');\n var key = decode(parts.shift());\n var value = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (isUndefined(parsed[key])) {\n parsed[key] = value;\n } else if (isArray(parsed[key])) {\n parsed[key].push(value);\n } else {\n parsed[key] = [parsed[key], value];\n }\n });\n return parsed;\n};\nexport var isLink = function isLink(props) {\n return !!(props.href || props.to);\n};\nexport var isRouterLink = function isRouterLink(tag) {\n return !!(tag && !isTag(tag, 'a'));\n};\nexport var computeTag = function computeTag(_ref, thisOrParent) {\n var to = _ref.to,\n disabled = _ref.disabled,\n routerComponentName = _ref.routerComponentName;\n var hasRouter = !!thisOrParent.$router;\n\n if (!hasRouter || hasRouter && (disabled || !to)) {\n return ANCHOR_TAG;\n } // TODO:\n // Check registered components for existence of user supplied router link component name\n // We would need to check PascalCase, kebab-case, and camelCase versions of name:\n // const name = routerComponentName\n // const names = [name, PascalCase(name), KebabCase(name), CamelCase(name)]\n // exists = names.some(name => !!thisOrParent.$options.components[name])\n // And may want to cache the result for performance or we just let the render fail\n // if the component is not registered\n\n\n return routerComponentName || (thisOrParent.$nuxt ? 'nuxt-link' : 'router-link');\n};\nexport var computeRel = function computeRel() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n target = _ref2.target,\n rel = _ref2.rel;\n\n return target === '_blank' && isNull(rel) ? 'noopener' : rel || null;\n};\nexport var computeHref = function computeHref() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n href = _ref3.href,\n to = _ref3.to;\n\n var tag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ANCHOR_TAG;\n var fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '#';\n var toFallback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '/';\n\n // Return `href` when explicitly provided\n if (href) {\n return href;\n } // We've checked for `$router` in `computeTag()`, so `isRouterLink()` indicates a live router\n // When deferring to Vue Router's ``, don't use the `href` attribute at all\n // We return `null`, and then remove `href` from the attributes passed to ``\n\n\n if (isRouterLink(tag)) {\n return null;\n } // Fallback to `to` prop (if `to` is a string)\n\n\n if (isString(to)) {\n return to || toFallback;\n } // Fallback to `to.path' + `to.query` + `to.hash` prop (if `to` is an object)\n\n\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n var path = toString(to.path);\n var query = stringifyQueryObj(to.query);\n var hash = toString(to.hash);\n hash = !hash || hash.charAt(0) === '#' ? hash : \"#\".concat(hash);\n return \"\".concat(path).concat(query).concat(hash) || toFallback;\n } // If nothing is provided return the fallback\n\n\n return fallback;\n};","import { hasOwnProperty, keys } from './object';\nimport { isArray, isDate, isObject } from './inspect'; // Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\n\nvar compareArrays = function compareArrays(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n var equal = true;\n\n for (var i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n\n return equal;\n};\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\n\n\nexport var looseEqual = function looseEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n var aValidType = isDate(a);\n var bValidType = isDate(b);\n\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n\n aValidType = isArray(a);\n bValidType = isArray(b);\n\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false;\n }\n\n aValidType = isObject(a);\n bValidType = isObject(b);\n\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false;\n }\n\n var aKeysCount = keys(a).length;\n var bKeysCount = keys(b).length;\n\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n\n for (var key in a) {\n var aHasKey = hasOwnProperty(a, key);\n var bHasKey = hasOwnProperty(b, key);\n\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n\n return String(a) === String(b);\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { cloneDeep } from './clone-deep';\nimport { looseEqual } from './loose-equal';\nimport { hasOwnProperty, keys } from './object';\n\nvar isEmpty = function isEmpty(value) {\n return !value || keys(value).length === 0;\n};\n\nexport var makePropWatcher = function makePropWatcher(propName) {\n return {\n handler: function handler(newValue, oldValue) {\n if (looseEqual(newValue, oldValue)) {\n return;\n }\n\n if (isEmpty(newValue) || isEmpty(oldValue)) {\n this[propName] = cloneDeep(newValue);\n return;\n }\n\n for (var key in oldValue) {\n if (!hasOwnProperty(newValue, key)) {\n this.$delete(this.$data[propName], key);\n }\n }\n\n for (var _key in newValue) {\n this.$set(this.$data[propName], _key, newValue[_key]);\n }\n }\n };\n};\nexport var makePropCacheMixin = function makePropCacheMixin(propName, proxyPropName) {\n return Vue.extend({\n data: function data() {\n return _defineProperty({}, proxyPropName, cloneDeep(this[propName]));\n },\n watch: _defineProperty({}, propName, makePropWatcher(proxyPropName))\n });\n};","import { makePropCacheMixin } from '../utils/cache';\nexport var attrsMixin = makePropCacheMixin('$attrs', 'bvAttrs');","import { Vue } from '../vue';\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'; // @vue/component\n\nexport var listenOnRootMixin = Vue.extend({\n methods: {\n /**\n * Safely register event listeners on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a `$root` listener, it also registers a listener on\n * the component's `beforeDestroy()` hook to automatically remove the\n * event listener from the `$root` instance\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot: function listenOnRoot(event, callback) {\n var _this = this;\n\n this.$root.$on(event, callback);\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this.$root.$off(event, callback);\n });\n },\n\n /**\n * Safely register a `$once()` event listener on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce: function listenOnRootOnce(event, callback) {\n var _this2 = this;\n\n this.$root.$once(event, callback);\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$root.$off(event, callback);\n });\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `vm.$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot: function emitOnRoot(event) {\n var _this$$root;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_this$$root = this.$root).$emit.apply(_this$$root, [event].concat(args));\n }\n }\n});","import { makePropCacheMixin } from '../utils/cache';\nexport var listenersMixin = makePropCacheMixin('$listeners', 'bvListeners');","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_LINK } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { attemptBlur, attemptFocus, isTag } from '../../utils/dom';\nimport { getRootEventName, stopEvent } from '../../utils/events';\nimport { isBoolean, isEvent, isFunction, isUndefined } from '../../utils/inspect';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { computeHref, computeRel, computeTag, isRouterLink as _isRouterLink } from '../../utils/router';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_CLICKED = getRootEventName(NAME_LINK, 'clicked'); // --- Props ---\n// `` specific props\n\nexport var routerLinkProps = {\n activeClass: makeProp(PROP_TYPE_STRING),\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n event: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK),\n exact: makeProp(PROP_TYPE_BOOLEAN, false),\n exactActiveClass: makeProp(PROP_TYPE_STRING),\n replace: makeProp(PROP_TYPE_BOOLEAN, false),\n routerTag: makeProp(PROP_TYPE_STRING, 'a'),\n to: makeProp(PROP_TYPE_OBJECT_STRING)\n}; // `` specific props\n\nexport var nuxtLinkProps = {\n noPrefetch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Must be `null` to fall back to the value defined in the\n // `nuxt.config.js` configuration file for `router.prefetchLinks`\n // We convert `null` to `undefined`, so that Nuxt.js will use the\n // compiled default\n // Vue treats `undefined` as default of `false` for Boolean props,\n // so we must set it as `null` here to be a true tri-state prop\n prefetch: makeProp(PROP_TYPE_BOOLEAN, null)\n}; // All `` props\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, nuxtLinkProps), routerLinkProps), {}, {\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n href: makeProp(PROP_TYPE_STRING),\n // Must be `null` if no value provided\n rel: makeProp(PROP_TYPE_STRING, null),\n // To support 3rd party router links based on `` (i.e. `g-link` for Gridsome)\n // Default is to auto choose between `` and ``\n // Gridsome doesn't provide a mechanism to auto detect and has caveats\n // such as not supporting FQDN URLs or hash only URLs\n routerComponentName: makeProp(PROP_TYPE_STRING),\n target: makeProp(PROP_TYPE_STRING, '_self')\n})), NAME_LINK); // --- Main component ---\n// @vue/component\n\nexport var BLink = /*#__PURE__*/Vue.extend({\n name: NAME_LINK,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n computed: {\n computedTag: function computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n var to = this.to,\n disabled = this.disabled,\n routerComponentName = this.routerComponentName;\n return computeTag({\n to: to,\n disabled: disabled,\n routerComponentName: routerComponentName\n }, this);\n },\n isRouterLink: function isRouterLink() {\n return _isRouterLink(this.computedTag);\n },\n computedRel: function computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n var target = this.target,\n rel = this.rel;\n return computeRel({\n target: target,\n rel: rel\n });\n },\n computedHref: function computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n var to = this.to,\n href = this.href;\n return computeHref({\n to: to,\n href: href\n }, this.computedTag);\n },\n computedProps: function computedProps() {\n var prefetch = this.prefetch;\n return this.isRouterLink ? _objectSpread(_objectSpread({}, pluckProps(_objectSpread(_objectSpread({}, routerLinkProps), nuxtLinkProps), this)), {}, {\n // Coerce `prefetch` value `null` to be `undefined`\n prefetch: isBoolean(prefetch) ? prefetch : undefined,\n // Pass `router-tag` as `tag` prop\n tag: this.routerTag\n }) : {};\n },\n computedAttrs: function computedAttrs() {\n var bvAttrs = this.bvAttrs,\n href = this.computedHref,\n rel = this.computedRel,\n disabled = this.disabled,\n target = this.target,\n routerTag = this.routerTag,\n isRouterLink = this.isRouterLink;\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, bvAttrs), href ? {\n href: href\n } : {}), isRouterLink && !isTag(routerTag, 'a') ? {} : {\n rel: rel,\n target: target\n }), {}, {\n tabindex: disabled ? '-1' : isUndefined(bvAttrs.tabindex) ? null : bvAttrs.tabindex,\n 'aria-disabled': disabled ? 'true' : null\n });\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n });\n }\n },\n methods: {\n onClick: function onClick(event) {\n var _arguments = arguments;\n var eventIsEvent = isEvent(event);\n var isRouterLink = this.isRouterLink;\n var suppliedHandler = this.bvListeners.click;\n\n if (eventIsEvent && this.disabled) {\n // Stop event from bubbling up\n // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing its thing\n stopEvent(event, {\n immediatePropagation: true\n });\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && event.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', event)` on its Vue instance\n event.currentTarget.__vue__.$emit(EVENT_NAME_CLICK, event);\n } // Call the suppliedHandler(s), if any provided\n\n\n concat(suppliedHandler).filter(function (h) {\n return isFunction(h);\n }).forEach(function (handler) {\n handler.apply(void 0, _toConsumableArray(_arguments));\n }); // Emit the global `$root` click event\n\n this.emitOnRoot(ROOT_EVENT_NAME_CLICKED, event); // TODO: Remove deprecated 'clicked::link' event with next major release\n\n this.emitOnRoot('clicked::link', event);\n } // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n\n\n if (eventIsEvent && !isRouterLink && this.computedHref === '#') {\n stopEvent(event, {\n propagation: false\n });\n }\n },\n focus: function focus() {\n attemptFocus(this.$el);\n },\n blur: function blur() {\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n var active = this.active,\n disabled = this.disabled;\n return h(this.computedTag, _defineProperty({\n class: {\n active: active,\n disabled: disabled\n },\n attrs: this.computedAttrs,\n props: this.computedProps\n }, this.isRouterLink ? 'nativeOn' : 'on', this.computedListeners), this.normalizeSlot());\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { NAME_PAGINATION } from '../constants/components';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_FUNCTION_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { SLOT_NAME_ELLIPSIS_TEXT, SLOT_NAME_FIRST_TEXT, SLOT_NAME_LAST_TEXT, SLOT_NAME_NEXT_TEXT, SLOT_NAME_PAGE, SLOT_NAME_PREV_TEXT } from '../constants/slots';\nimport { createArray } from '../utils/array';\nimport { attemptFocus, getActiveElement, getAttr, isDisabled, isVisible, selectAll } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { isFunction, isNull } from '../utils/inspect';\nimport { mathFloor, mathMax, mathMin } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string';\nimport { warn } from '../utils/warn';\nimport { normalizeSlotMixin } from '../mixins/normalize-slot';\nimport { BLink } from '../components/link/link'; // Common props, computed, data, render function, and methods\n// for `` and ``\n// --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: null,\n\n /* istanbul ignore next */\n validator: function validator(value) {\n if (!isNull(value) && toInteger(value, 0) < 1) {\n warn('\"v-model\" value must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // Threshold of limit size when we start/stop showing ellipsis\n\nvar ELLIPSIS_THRESHOLD = 3; // Default # of buttons limit\n\nvar DEFAULT_LIMIT = 5; // --- Helper methods ---\n// Make an array of N to N+X\n\nvar makePageArray = function makePageArray(startNumber, numberOfPages) {\n return createArray(numberOfPages, function (_, i) {\n return {\n number: startNumber + i,\n classes: null\n };\n });\n}; // Sanitize the provided limit value (converting to a number)\n\n\nvar sanitizeLimit = function sanitizeLimit(value) {\n var limit = toInteger(value) || 1;\n return limit < 1 ? DEFAULT_LIMIT : limit;\n}; // Sanitize the provided current page number (converting to a number)\n\n\nvar sanitizeCurrentPage = function sanitizeCurrentPage(val, numberOfPages) {\n var page = toInteger(val) || 1;\n return page > numberOfPages ? numberOfPages : page < 1 ? 1 : page;\n}; // Links don't normally respond to SPACE, so we add that\n// functionality via this handler\n\n\nvar onSpaceKey = function onSpaceKey(event) {\n if (event.keyCode === CODE_SPACE) {\n // Stop page from scrolling\n stopEvent(event, {\n immediatePropagation: true\n }); // Trigger the click event on the link\n\n event.currentTarget.click();\n return false;\n }\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n align: makeProp(PROP_TYPE_STRING, 'left'),\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Pagination'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n ellipsisClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n ellipsisText: makeProp(PROP_TYPE_STRING, \"\\u2026\"),\n // '…'\n firstClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n firstNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n firstText: makeProp(PROP_TYPE_STRING, \"\\xAB\"),\n // '«'\n hideEllipsis: makeProp(PROP_TYPE_BOOLEAN, false),\n hideGotoEndButtons: makeProp(PROP_TYPE_BOOLEAN, false),\n labelFirstPage: makeProp(PROP_TYPE_STRING, 'Go to first page'),\n labelLastPage: makeProp(PROP_TYPE_STRING, 'Go to last page'),\n labelNextPage: makeProp(PROP_TYPE_STRING, 'Go to next page'),\n labelPage: makeProp(PROP_TYPE_FUNCTION_STRING, 'Go to page'),\n labelPrevPage: makeProp(PROP_TYPE_STRING, 'Go to previous page'),\n lastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n lastNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n lastText: makeProp(PROP_TYPE_STRING, \"\\xBB\"),\n // '»'\n limit: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_LIMIT,\n /* istanbul ignore next */\n function (value) {\n if (toInteger(value, 0) < 1) {\n warn('Prop \"limit\" must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }),\n nextClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n nextText: makeProp(PROP_TYPE_STRING, \"\\u203A\"),\n // '›'\n pageClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n prevClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n prevText: makeProp(PROP_TYPE_STRING, \"\\u2039\"),\n // '‹'\n size: makeProp(PROP_TYPE_STRING)\n})), 'pagination'); // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n // `-1` signifies no page initially selected\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n currentPage = currentPage > 0 ? currentPage : -1;\n return {\n currentPage: currentPage,\n localNumberOfPages: 1,\n localLimit: DEFAULT_LIMIT\n };\n },\n computed: {\n btnSize: function btnSize() {\n var size = this.size;\n return size ? \"pagination-\".concat(size) : '';\n },\n alignment: function alignment() {\n var align = this.align;\n\n if (align === 'center') {\n return 'justify-content-center';\n } else if (align === 'end' || align === 'right') {\n return 'justify-content-end';\n } else if (align === 'fill') {\n // The page-items will also have 'flex-fill' added\n // We add text centering to make the button appearance better in fill mode\n return 'text-center';\n }\n\n return '';\n },\n styleClass: function styleClass() {\n return this.pills ? 'b-pagination-pills' : '';\n },\n computedCurrentPage: function computedCurrentPage() {\n return sanitizeCurrentPage(this.currentPage, this.localNumberOfPages);\n },\n paginationParams: function paginationParams() {\n // Determine if we should show the the ellipsis\n var limit = this.localLimit,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage,\n hideEllipsis = this.hideEllipsis,\n firstNumber = this.firstNumber,\n lastNumber = this.lastNumber;\n var showFirstDots = false;\n var showLastDots = false;\n var numberOfLinks = limit;\n var startNumber = 1;\n\n if (numberOfPages <= limit) {\n // Special case: Less pages available than the limit of displayed pages\n numberOfLinks = numberOfPages;\n } else if (currentPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || lastNumber) {\n showLastDots = true;\n numberOfLinks = limit - (firstNumber ? 0 : 1);\n }\n\n numberOfLinks = mathMin(numberOfLinks, limit);\n } else if (numberOfPages - currentPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || firstNumber) {\n showFirstDots = true;\n numberOfLinks = limit - (lastNumber ? 0 : 1);\n }\n\n startNumber = numberOfPages - numberOfLinks + 1;\n } else {\n // We are somewhere in the middle of the page list\n if (limit > ELLIPSIS_THRESHOLD) {\n numberOfLinks = limit - (hideEllipsis ? 0 : 2);\n showFirstDots = !!(!hideEllipsis || firstNumber);\n showLastDots = !!(!hideEllipsis || lastNumber);\n }\n\n startNumber = currentPage - mathFloor(numberOfLinks / 2);\n } // Sanity checks\n\n /* istanbul ignore if */\n\n\n if (startNumber < 1) {\n startNumber = 1;\n showFirstDots = false;\n } else if (startNumber > numberOfPages - numberOfLinks) {\n startNumber = numberOfPages - numberOfLinks + 1;\n showLastDots = false;\n }\n\n if (showFirstDots && firstNumber && startNumber < 4) {\n numberOfLinks = numberOfLinks + 2;\n startNumber = 1;\n showFirstDots = false;\n }\n\n var lastPageNumber = startNumber + numberOfLinks - 1;\n\n if (showLastDots && lastNumber && lastPageNumber > numberOfPages - 3) {\n numberOfLinks = numberOfLinks + (lastPageNumber === numberOfPages - 2 ? 2 : 3);\n showLastDots = false;\n } // Special handling for lower limits (where ellipsis are never shown)\n\n\n if (limit <= ELLIPSIS_THRESHOLD) {\n if (firstNumber && startNumber === 1) {\n numberOfLinks = mathMin(numberOfLinks + 1, numberOfPages, limit + 1);\n } else if (lastNumber && numberOfPages === startNumber + numberOfLinks - 1) {\n startNumber = mathMax(startNumber - 1, 1);\n numberOfLinks = mathMin(numberOfPages - startNumber + 1, numberOfPages, limit + 1);\n }\n }\n\n numberOfLinks = mathMin(numberOfLinks, numberOfPages - startNumber + 1);\n return {\n showFirstDots: showFirstDots,\n showLastDots: showLastDots,\n numberOfLinks: numberOfLinks,\n startNumber: startNumber\n };\n },\n pageList: function pageList() {\n // Generates the pageList array\n var _this$paginationParam = this.paginationParams,\n numberOfLinks = _this$paginationParam.numberOfLinks,\n startNumber = _this$paginationParam.startNumber;\n var currentPage = this.computedCurrentPage; // Generate list of page numbers\n\n var pages = makePageArray(startNumber, numberOfLinks); // We limit to a total of 3 page buttons on XS screens\n // So add classes to page links to hide them for XS breakpoint\n // Note: Ellipsis will also be hidden on XS screens\n // TODO: Make this visual limit configurable based on breakpoint(s)\n\n if (pages.length > 3) {\n var idx = currentPage - startNumber; // THe following is a bootstrap-vue custom utility class\n\n var classes = 'bv-d-xs-down-none';\n\n if (idx === 0) {\n // Keep leftmost 3 buttons visible when current page is first page\n for (var i = 3; i < pages.length; i++) {\n pages[i].classes = classes;\n }\n } else if (idx === pages.length - 1) {\n // Keep rightmost 3 buttons visible when current page is last page\n for (var _i = 0; _i < pages.length - 3; _i++) {\n pages[_i].classes = classes;\n }\n } else {\n // Hide all except current page, current page - 1 and current page + 1\n for (var _i2 = 0; _i2 < idx - 1; _i2++) {\n // hide some left button(s)\n pages[_i2].classes = classes;\n }\n\n for (var _i3 = pages.length - 1; _i3 > idx + 1; _i3--) {\n // hide some right button(s)\n pages[_i3].classes = classes;\n }\n }\n }\n\n return pages;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.currentPage = sanitizeCurrentPage(newValue, this.localNumberOfPages);\n }\n }), _defineProperty(_watch, \"currentPage\", function currentPage(newValue, oldValue) {\n if (newValue !== oldValue) {\n // Emit `null` if no page selected\n this.$emit(MODEL_EVENT_NAME, newValue > 0 ? newValue : null);\n }\n }), _defineProperty(_watch, \"limit\", function limit(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localLimit = sanitizeLimit(newValue);\n }\n }), _watch),\n created: function created() {\n var _this = this;\n\n // Set our default values in data\n this.localLimit = sanitizeLimit(this.limit);\n this.$nextTick(function () {\n // Sanity check\n _this.currentPage = _this.currentPage > _this.localNumberOfPages ? _this.localNumberOfPages : _this.currentPage;\n });\n },\n methods: {\n handleKeyNav: function handleKeyNav(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n /* istanbul ignore if */\n\n if (this.isNav) {\n // We disable left/right keyboard navigation in ``\n return;\n }\n\n if (keyCode === CODE_LEFT || keyCode === CODE_UP) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusFirst() : this.focusPrev();\n } else if (keyCode === CODE_RIGHT || keyCode === CODE_DOWN) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusLast() : this.focusNext();\n }\n },\n getButtons: function getButtons() {\n // Return only buttons that are visible\n return selectAll('button.page-link, a.page-link', this.$el).filter(function (btn) {\n return isVisible(btn);\n });\n },\n focusCurrent: function focusCurrent() {\n var _this2 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this2.getButtons().find(function (el) {\n return toInteger(getAttr(el, 'aria-posinset'), 0) === _this2.computedCurrentPage;\n });\n\n if (!attemptFocus(btn)) {\n // Fallback if current page is not in button list\n _this2.focusFirst();\n }\n });\n },\n focusFirst: function focusFirst() {\n var _this3 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this3.getButtons().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusLast: function focusLast() {\n var _this4 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this4.getButtons().reverse().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusPrev: function focusPrev() {\n var _this5 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this5.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index > 0 && !isDisabled(buttons[index - 1])) {\n attemptFocus(buttons[index - 1]);\n }\n });\n },\n focusNext: function focusNext() {\n var _this6 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this6.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index < buttons.length - 1 && !isDisabled(buttons[index + 1])) {\n attemptFocus(buttons[index + 1]);\n }\n });\n }\n },\n render: function render(h) {\n var _this7 = this;\n\n var disabled = this.disabled,\n labelPage = this.labelPage,\n ariaLabel = this.ariaLabel,\n isNav = this.isNav,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage;\n var pageNumbers = this.pageList.map(function (p) {\n return p.number;\n });\n var _this$paginationParam2 = this.paginationParams,\n showFirstDots = _this$paginationParam2.showFirstDots,\n showLastDots = _this$paginationParam2.showLastDots;\n var fill = this.align === 'fill';\n var $buttons = []; // Helper function and flag\n\n var isActivePage = function isActivePage(pageNumber) {\n return pageNumber === currentPage;\n };\n\n var noCurrentPage = this.currentPage < 1; // Factory function for prev/next/first/last buttons\n\n var makeEndBtn = function makeEndBtn(linkTo, ariaLabel, btnSlot, btnText, btnClass, pageTest, key) {\n var isDisabled = disabled || isActivePage(pageTest) || noCurrentPage || linkTo < 1 || linkTo > numberOfPages;\n var pageNumber = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo;\n var scope = {\n disabled: isDisabled,\n page: pageNumber,\n index: pageNumber - 1\n };\n var $btnContent = _this7.normalizeSlot(btnSlot, scope) || toString(btnText) || h();\n var $inner = h(isDisabled ? 'span' : isNav ? BLink : 'button', {\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !isDisabled && fill\n },\n props: isDisabled || !isNav ? {} : _this7.linkProps(linkTo),\n attrs: {\n role: isNav ? null : 'menuitem',\n type: isNav || isDisabled ? null : 'button',\n tabindex: isDisabled || isNav ? null : '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-disabled': isDisabled ? 'true' : null\n },\n on: isDisabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, linkTo);\n },\n keydown: onSpaceKey\n }\n }, [$btnContent]);\n return h('li', {\n key: key,\n staticClass: 'page-item',\n class: [{\n disabled: isDisabled,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !isDisabled\n }, btnClass],\n attrs: {\n role: isNav ? null : 'presentation',\n 'aria-hidden': isDisabled ? 'true' : null\n }\n }, [$inner]);\n }; // Ellipsis factory\n\n\n var makeEllipsis = function makeEllipsis(isLast) {\n return h('li', {\n staticClass: 'page-item',\n class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : '', _this7.ellipsisClass],\n attrs: {\n role: 'separator'\n },\n key: \"ellipsis-\".concat(isLast ? 'last' : 'first')\n }, [h('span', {\n staticClass: 'page-link'\n }, [_this7.normalizeSlot(SLOT_NAME_ELLIPSIS_TEXT) || toString(_this7.ellipsisText) || h()])]);\n }; // Page button factory\n\n\n var makePageButton = function makePageButton(page, idx) {\n var pageNumber = page.number;\n var active = isActivePage(pageNumber) && !noCurrentPage; // Active page will have tabindex of 0, or if no current page and first page button\n\n var tabIndex = disabled ? null : active || noCurrentPage && idx === 0 ? '0' : '-1';\n var attrs = {\n role: isNav ? null : 'menuitemradio',\n type: isNav || disabled ? null : 'button',\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-label': hasPropFunction(labelPage) ?\n /* istanbul ignore next */\n labelPage(pageNumber) : \"\".concat(isFunction(labelPage) ? labelPage() : labelPage, \" \").concat(pageNumber),\n 'aria-checked': isNav ? null : active ? 'true' : 'false',\n 'aria-current': isNav && active ? 'page' : null,\n 'aria-posinset': isNav ? null : pageNumber,\n 'aria-setsize': isNav ? null : numberOfPages,\n // ARIA \"roving tabindex\" method (except in `isNav` mode)\n tabindex: isNav ? null : tabIndex\n };\n var btnContent = toString(_this7.makePage(pageNumber));\n var scope = {\n page: pageNumber,\n index: pageNumber - 1,\n content: btnContent,\n active: active,\n disabled: disabled\n };\n var $inner = h(disabled ? 'span' : isNav ? BLink : 'button', {\n props: disabled || !isNav ? {} : _this7.linkProps(pageNumber),\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !disabled && fill\n },\n attrs: attrs,\n on: disabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, pageNumber);\n },\n keydown: onSpaceKey\n }\n }, [_this7.normalizeSlot(SLOT_NAME_PAGE, scope) || btnContent]);\n return h('li', {\n staticClass: 'page-item',\n class: [{\n disabled: disabled,\n active: active,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !disabled\n }, page.classes, _this7.pageClass],\n attrs: {\n role: isNav ? null : 'presentation'\n },\n key: \"page-\".concat(pageNumber)\n }, [$inner]);\n }; // Goto first page button\n // Don't render button when `hideGotoEndButtons` or `firstNumber` is set\n\n\n var $firstPageBtn = h();\n\n if (!this.firstNumber && !this.hideGotoEndButtons) {\n $firstPageBtn = makeEndBtn(1, this.labelFirstPage, SLOT_NAME_FIRST_TEXT, this.firstText, this.firstClass, 1, 'pagination-goto-first');\n }\n\n $buttons.push($firstPageBtn); // Goto previous page button\n\n $buttons.push(makeEndBtn(currentPage - 1, this.labelPrevPage, SLOT_NAME_PREV_TEXT, this.prevText, this.prevClass, 1, 'pagination-goto-prev')); // Show first (1) button?\n\n $buttons.push(this.firstNumber && pageNumbers[0] !== 1 ? makePageButton({\n number: 1\n }, 0) : h()); // First ellipsis\n\n $buttons.push(showFirstDots ? makeEllipsis(false) : h()); // Individual page links\n\n this.pageList.forEach(function (page, idx) {\n var offset = showFirstDots && _this7.firstNumber && pageNumbers[0] !== 1 ? 1 : 0;\n $buttons.push(makePageButton(page, idx + offset));\n }); // Last ellipsis\n\n $buttons.push(showLastDots ? makeEllipsis(true) : h()); // Show last page button?\n\n $buttons.push(this.lastNumber && pageNumbers[pageNumbers.length - 1] !== numberOfPages ? makePageButton({\n number: numberOfPages\n }, -1) : h()); // Goto next page button\n\n $buttons.push(makeEndBtn(currentPage + 1, this.labelNextPage, SLOT_NAME_NEXT_TEXT, this.nextText, this.nextClass, numberOfPages, 'pagination-goto-next')); // Goto last page button\n // Don't render button when `hideGotoEndButtons` or `lastNumber` is set\n\n var $lastPageBtn = h();\n\n if (!this.lastNumber && !this.hideGotoEndButtons) {\n $lastPageBtn = makeEndBtn(numberOfPages, this.labelLastPage, SLOT_NAME_LAST_TEXT, this.lastText, this.lastClass, numberOfPages, 'pagination-goto-last');\n }\n\n $buttons.push($lastPageBtn); // Assemble the pagination buttons\n\n var $pagination = h('ul', {\n staticClass: 'pagination',\n class: ['b-pagination', this.btnSize, this.alignment, this.styleClass],\n attrs: {\n role: isNav ? null : 'menubar',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-label': isNav ? null : ariaLabel || null\n },\n // We disable keyboard left/right nav when ``\n on: isNav ? {} : {\n keydown: this.handleKeyNav\n },\n ref: 'ul'\n }, $buttons); // If we are ``, wrap in `