{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/constants/events.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/constants/config.js","webpack:///./node_modules/bootstrap-vue/esm/utils/config.js","webpack:///./node_modules/bootstrap-vue/esm/utils/array.js","webpack:///./node_modules/bootstrap-vue/esm/vue.js","webpack:///./node_modules/bootstrap-vue/esm/utils/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/utils/number.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-equal.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/esm/utils/observe-dom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/attrs.js","webpack:///./node_modules/bootstrap-vue/esm/utils/router.js","webpack:///./src/libraries/adminRole.js","webpack:///./node_modules/bootstrap-vue/esm/utils/model.js","webpack:///./node_modules/vue-sliding-pagination/dist/vue-sliding-pagination.umd.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-root.js","webpack:///./src/components/front/shared/pagination.vue?aff1","webpack:///./node_modules/bootstrap-vue/esm/utils/warn.js","webpack:///./node_modules/bootstrap-vue/esm/utils/html.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-document.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-window.js","webpack:///./node_modules/bootstrap-vue/esm/utils/get-scope-id.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/scoped-style.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button-close.js","webpack:///./node_modules/bootstrap-vue/esm/components/transporter/transporter.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/modal-manager.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/modal.js","webpack:///./node_modules/bootstrap-vue/esm/utils/events.js","webpack:///./node_modules/bootstrap-vue/esm/utils/identity.js","webpack:///./node_modules/bootstrap-vue/esm/utils/bv-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/utils/inspect.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/utils/cache.js","webpack:///./node_modules/bootstrap-vue/esm/utils/dom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/id.js","webpack:///./node_modules/bootstrap-vue/esm/utils/env.js","webpack:///./node_modules/bootstrap-vue/esm/constants/regex.js","webpack:///./node_modules/bootstrap-vue/esm/constants/slots.js","webpack:///./node_modules/bootstrap-vue/esm/constants/key-codes.js","webpack:///./node_modules/bootstrap-vue/esm/constants/props.js","webpack:///./node_modules/bootstrap-vue/esm/utils/math.js","webpack:///./node_modules/bootstrap-vue/esm/components/link/link.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack:///./node_modules/bootstrap-vue/esm/utils/memoize.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listeners.js","webpack:///./src/components/front/shared/pagination.vue?cb6e","webpack:///src/components/front/shared/pagination.vue","webpack:///./src/components/front/shared/pagination.vue?cf3d","webpack:///./src/components/front/shared/pagination.vue","webpack:///./node_modules/bootstrap-vue/esm/constants/components.js","webpack:///./node_modules/bootstrap-vue/esm/utils/clone-deep.js","webpack:///./node_modules/bootstrap-vue/esm/constants/safe-types.js","webpack:///./node_modules/bootstrap-vue/esm/components/transition/bv-transition.js","webpack:///./node_modules/bootstrap-vue/esm/utils/props.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/esm/utils/object.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/constants/env.js","webpack:///./src/assets/front/images/fake/logo.png","webpack:///./node_modules/bootstrap-vue/esm/utils/string.js"],"names":["EVENT_NAME_ACTIVATE_TAB","EVENT_NAME_BLUR","EVENT_NAME_CANCEL","EVENT_NAME_CHANGE","EVENT_NAME_CHANGED","EVENT_NAME_CLICK","EVENT_NAME_CLOSE","EVENT_NAME_FIRST","EVENT_NAME_HIDDEN","EVENT_NAME_HIDE","EVENT_NAME_INPUT","EVENT_NAME_LAST","EVENT_NAME_NEXT","EVENT_NAME_OK","EVENT_NAME_PREV","EVENT_NAME_SHOW","EVENT_NAME_SHOWN","EVENT_NAME_TOGGLE","EVENT_NAME_UPDATE","MODEL_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_SEPARATOR","EVENT_OPTIONS_PASSIVE","passive","EVENT_OPTIONS_NO_CAPTURE","capture","formSelectionMixin","extend","computed","selectionStart","cache","get","this","$refs","input","set","val","selectionEnd","selectionDirection","methods","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","linkProps","href","default","to","props","block","disabled","pill","pressed","size","squared","tag","type","variant","handleFocus","event","isLink","isToggle","isButton","isNonStandardTag","computeClass","_ref","concat","computeLinkProps","computeAttrs","data","button","link","toggle","nonStandardTag","hashLink","role","attrs","tabindex","String","autocomplete","BButton","name","functional","render","h","_ref2","listeners","children","on","keydown","keyCode","currentTarget","propagation","click","fn","focusin","focusout","componentData","staticClass","class","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","PROP_NAME","DEFAULT_BREAKPOINT","VueProto","prototype","defaultValue","undefined","bvConfig","getConfigValue","getComponentConfig","propKey","_getBreakpointsCached","memoize","getBreakpointsUpCached","breakpoints","from","Array","arrayIncludes","array","indexOf","_len","args","_key","flatten","reduce","result","item","flattenDeep","isArray","COMPONENT_UID_KEY","hasNormalizedSlot","names","$scopedSlots","$slots","some","normalizeSlot","slot","scope","toInteger","NaN","integer","parseInt","isNaN","toFloat","float","parseFloat","compareArrays","a","b","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","_makeModelMixin","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ariaInvalid","debounce","formatter","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","mixins","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","watch","newValue","stringifyValue","modifiedValue","clearDebounce","created","$_inputDebounceTimer","beforeDestroy","clearTimeout","formatValue","force","updateValue","_this","doUpdate","$emit","$input","setTimeout","onInput","composing","formattedValue","defaultPrevented","onChange","onBlur","focus","$el","blur","TYPES","list","max","min","noWheel","step","BFormInput","localType","computedAttrs","form","required","id","safeId","computedAriaInvalid","computedListeners","bvListeners","change","setWheelStopper","mounted","deactivated","activated","onWheelFocus","onWheelBlur","document","stopWheel","domProps","ref","observeDom","el","callback","options","obs","mutations","changed","mutation","nodeType","Node","TEXT_NODE","addedNodes","removedNodes","observe","childList","subtree","attrsMixin","ANCHOR_TAG","encodeReserveReplacer","c","charCodeAt","toString","encode","str","encodeURIComponent","replace","stringifyQueryObj","decodeURIComponent","query","map","results","value2","join","x","isRouterLink","computeTag","thisOrParent","routerComponentName","hasRouter","$router","$nuxt","computeRel","rel","computeHref","_ref3","fallback","toFallback","path","hash","charAt","roleData","Admin","SuperAdmin","SocialResponsibility","Reports","ContactUs","User","Gallery","AboutUs","CoworkerPanel","Slider","MenuAndLink","Prize","IntroductionManager","Blogs","Product","Chef","Catalogue","Magazine","Marketing","route","res","roleArray","split","includes","makeModelMixin","_ref$type","_ref$defaultValue","_ref$validator","validator","_ref$event","model","e","t","module","exports","window","n","l","call","m","d","o","r","Symbol","toStringTag","__esModule","create","bind","hasOwnProperty","p","s","JSON","parse","ariaPageLabel","isCurrent","Boolean","page","Number","pageClass","pageClasses","goToPage","preventDefault","stopPropagation","g","staticRenderFns","_compiled","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","u","beforeCreate","ariaPaginationLabel","ariaGotoPageLabel","ariaPreviousPageLabel","ariaNextPageLabel","ariaCurrentPageLabel","classMap","current","total","slidingEndingSize","slidingWindowSize","nonSlidingSize","pageComponent","components","SlidingPaginationDefaultPage","isSliding","hasBeginningGap","lastBeginningPage","firstWindowPage","hasEndingGap","lastWindowPage","firstEndingPage","beginningPages","endingPages","slidingWindowHalf","slidingWindowPages","showPreviousPageAction","showNextPageAction","replaceLabelVars","isCurrentPage","currentPageLabel","goToNextPage","goToPreviousPage","goToPageLabel","pageLabel","slotOrDefault","navigationElement","element","elementDisabled","pageListPage","elementActive","gap","component","__file","PROP","listenOnRootMixin","listenOffRoot","registerRootListener","unregisterRootListener","cb","listenOnRoot","$on","listenOnRootOnce","_this2","_callback","$once","$off","emitOnRoot","_this$$root","warn","message","console","warnNoMutationObserverSupport","htmlOrText","innerHTML","textContent","listenOnDocumentMixin","listenOffDocument","registerDocumentListener","unregisterDocumentListener","listenDocument","listenOnDocument","listenOnWindowMixin","listenOffWindow","registerWindowListener","unregisterWindowListener","listenWindow","listenOnWindow","getScopeId","vm","scopedStyleMixin","scopedStyleAttrs","scopeId","$parent","ariaLabel","content","textVariant","BButtonClose","slots","scopedSlots","BVTransporterTarget","abstract","nodes","updatedNodes","destroyed","$nodes","identity","text","container","BVTransporter","immediate","handler","unmountTarget","$nextTick","mountTarget","$_defaultFn","$_target","beforeMount","updated","updateTarget","getContainer","$container","createElement","appendChild","propsData","defaultFn","$destroy","_typeof","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","_get","Reflect","property","receiver","base","_superPropBase","desc","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","NewTarget","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","valueOf","getPrototypeOf","_BvEvent","BvModalEvent","_super","eventInit","trigger","DEFAULT_ZINDEX","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","SELECTOR_NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","body","resetScrollbar","updateModals","registerModal","modal","unregisterModal","index","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","zIndex","removeChild","width","clientWidth","isTop","_getBCR","left","right","innerWidth","_paddingChangedForModal","_marginChangedForModal","actualPadding","paddingRight","actualMargin","marginRight","modalManager","TRIGGER_BACKDROP","TRIGGER_ESC","TRIGGER_FORCE","TRIGGER_TOGGLE","BUTTON_CANCEL","BUTTON_CLOSE","BUTTON_OK","BUTTONS","OBSERVER_CONFIG","characterData","attributes","attributeFilter","autoFocusButton","bodyBgVariant","bodyClass","bodyTextVariant","busy","buttonSize","cancelDisabled","cancelTitle","cancelTitleHtml","cancelVariant","centered","contentClass","dialogClass","footerBgVariant","footerBorderVariant","footerClass","footerTag","footerTextVariant","headerBgVariant","headerBorderVariant","headerClass","headerCloseContent","headerCloseLabel","headerCloseVariant","headerTag","headerTextVariant","hideBackdrop","hideFooter","hideHeader","hideHeaderClose","ignoreEnforceFocusSelector","modalClass","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","noFade","noStacking","okDisabled","okOnly","okTitle","okTitleHtml","okVariant","returnFocus","scrollable","static","title","titleClass","titleHtml","titleSrOnly","titleTag","BModal","inheritAttrs","isHidden","isVisible","isTransitioning","isShow","isBlock","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","modalId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","fade","show","modalStyles","sbWidth","paddingLeft","display","dialogClasses","headerClasses","titleClasses","bodyClasses","footerClasses","_ref4","modalOuterStyle","position","slotScope","cancel","onCancel","close","onClose","hide","ok","onOk","visible","computeIgnoreEnforceFocusSelector","bvAttrs","computedModalAttrs","oldValue","$_observer","$_returnFocus","showHandler","hideHandler","toggleHandler","modalListener","setObserver","disconnect","checkModalOverflow","updateModel","buildEvent","cancelable","relatedTarget","vueTarget","componentId","getActiveElement","showEvent","emitEvent","doShow","hideEvent","triggerEl","activeElement","onBeforeEnter","setResizeEvent","onEnter","onAfterEnter","_this3","setEnforceFocus","focusFirst","onBeforeLeave","onLeave","onAfterLeave","_this4","returnFocusTo","bvEvent","onDialogMousedown","_this5","onceModalMouseup","onClickOut","onEsc","focusHandler","tabables","bottomTrap","topTrap","preventScroll","_this6","autoFocus","scrollTop","scrollHeight","documentElement","clientHeight","makeModal","$header","$modalHeader","$closeButton","$body","$footer","$modalFooter","$cancelButton","$okButton","$modalContent","$tabTrapTop","$tabTrapBottom","$modalDialog","mousedown","$modal","style","directives","enterClass","enterToClass","enterActiveClass","leaveClass","leaveActiveClass","leaveToClass","beforeEnter","enter","afterEnter","beforeLeave","leave","afterLeave","$backdrop","parseEventOptions","eventOn","eventName","addEventListener","eventOff","removeEventListener","eventOnOff","method","stopEvent","_ref$preventDefault","_ref$propagation","_ref$immediatePropaga","immediatePropagation","stopImmediatePropagation","getBaseEventName","getRootEventName","getRootActionEventName","actionName","BvEvent","Defaults","nativeEvent","toType","isUndefined","isNull","isUndefinedOrNull","isFunction","isBoolean","isString","isObject","isPlainObject","isDate","Date","isEvent","Event","isFile","normalizeSlotMixin","vNodes","isEmpty","makePropWatcher","propName","$delete","$data","$set","makePropCacheMixin","proxyPropName","ELEMENT_PROTO","TABABLE_SELECTOR","matchesEl","matches","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","parentElement","parentNode","ELEMENT_NODE","requestAF","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","MutationObs","MutationObserver","WebKitMutationObserver","MozMutationObserver","removeNode","isElement","excludes","isTag","toLowerCase","isActiveElement","contains","getStyle","bcr","getBCR","height","isDisabled","hasAttr","hasClass","reflow","offsetHeight","selectAll","selector","root","querySelectorAll","querySelector","includeRoot","child","addClass","className","classList","removeClass","remove","setAttr","attr","setAttribute","removeAttr","removeAttribute","getAttr","getAttribute","hasAttribute","setStyle","removeStyle","getBoundingClientRect","getCS","getComputedStyle","getTabables","rootEl","tabIndex","attemptFocus","_unused","attemptBlur","_unused2","idMixin","localId_","suffix","getEnv","env","process","getNoWarn","RX_BV_PREFIX","RX_DIGITS","RX_EXTENSION","RX_HASH","RX_HASH_ID","RX_HTML_TAGS","RX_HYPHENATE","RX_LOWER_UPPER","RX_NUMBER","RX_PLUS","RX_REGEXP_REPLACE","RX_SPACE_SPLIT","RX_STAR","RX_START_SPACE_WORD","RX_TRIM_LEFT","RX_TRIM_RIGHT","RX_UNDERSCORE","RX_UN_KEBAB","RX_ENCODED_COMMA","RX_ENCODE_REVERSE","RX_QUERY_START","RX_COL_CLASS","SLOT_NAME_DEFAULT","SLOT_NAME_DESCRIPTION","SLOT_NAME_DROP_PLACEHOLDER","SLOT_NAME_EMPTY","SLOT_NAME_FILE_NAME","SLOT_NAME_INVALID_FEEDBACK","SLOT_NAME_LABEL","SLOT_NAME_MODAL_BACKDROP","SLOT_NAME_MODAL_CANCEL","SLOT_NAME_MODAL_FOOTER","SLOT_NAME_MODAL_HEADER","SLOT_NAME_MODAL_HEADER_CLOSE","SLOT_NAME_MODAL_OK","SLOT_NAME_MODAL_TITLE","SLOT_NAME_OVERLAY","SLOT_NAME_PLACEHOLDER","SLOT_NAME_TABS_END","SLOT_NAME_TABS_START","SLOT_NAME_TITLE","SLOT_NAME_VALID_FEEDBACK","CODE_DOWN","CODE_END","CODE_ENTER","CODE_ESC","CODE_HOME","CODE_LEFT","CODE_RIGHT","CODE_SPACE","CODE_UP","PROP_TYPE_ANY","PROP_TYPE_ARRAY","PROP_TYPE_BOOLEAN","PROP_TYPE_FUNCTION","Function","PROP_TYPE_NUMBER","PROP_TYPE_OBJECT","PROP_TYPE_STRING","RegExp","PROP_TYPE_ARRAY_FUNCTION","PROP_TYPE_ARRAY_OBJECT_STRING","PROP_TYPE_ARRAY_STRING","PROP_TYPE_BOOLEAN_NUMBER_STRING","PROP_TYPE_BOOLEAN_STRING","PROP_TYPE_NUMBER_STRING","PROP_TYPE_OBJECT_STRING","mathMin","Math","mathMax","mathCeil","abs","ceil","floor","pow","round","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","slice","test","iter","len","arr2","ROOT_EVENT_NAME_CLICKED","routerLinkProps","activeClass","append","exact","exactActiveClass","exactPath","exactPathActiveClass","routerTag","nuxtLinkProps","noPrefetch","prefetch","active","BLink","computedTag","computedRel","computedHref","computedProps","onClick","_arguments","eventIsEvent","suppliedHandler","__vue__","formSizeMixin","assign","kebab","styleProp","styleList","toUpperCase","y","f","argsKey","stringify","listenersMixin","_vm","_c","_self","currentPage","totalPages","pageChangeHandler","SlidingPagination","NAME_BUTTON","NAME_BUTTON_CLOSE","NAME_COL","NAME_COLLAPSE","NAME_FORM","NAME_FORM_CHECKBOX","NAME_FORM_FILE","NAME_FORM_GROUP","NAME_FORM_INPUT","NAME_FORM_INVALID_FEEDBACK","NAME_FORM_ROW","NAME_FORM_TEXT","NAME_FORM_TEXTAREA","NAME_FORM_VALID_FEEDBACK","NAME_LINK","NAME_MODAL","NAME_NAV","NAME_OVERLAY","NAME_ROW","NAME_SPINNER","NAME_TAB","NAME_TABS","NAME_COLLAPSE_HELPER","NAME_TAB_BUTTON_HELPER","NAME_TRANSITION","NAME_TRANSPORTER","NAME_TRANSPORTER_TARGET","cloneDeep","_wrapNativeSuper","Class","_cache","Map","_isNativeFunction","has","Wrapper","_construct","Parent","Element","_Object","HTMLElement","_Element","_super2","File","SVGElement","_Object2","_super4","NO_FADE_PROPS","FADE_PROPS","appear","mode","transProps","BVTransition","appearClass","appearActiveClass","appearToClass","css","suffixPropName","makeProp","requiredOrValidator","pluckProps","keysToPluck","objToPluck","transformFn","memo","makePropConfigurable","componentKey","makePropsConfigurable","configurablePropDefaultFnName","hasPropFunction","state","formStateMixin","computedState","proto","optionalProps","clone","omit","sortKeys","sort","readonlyDescriptor","SELECTOR","autofocus","formControlMixin","handleAutofocus","HAS_WINDOW_SUPPORT","HAS_DOCUMENT_SUPPORT","HAS_NAVIGATOR_SUPPORT","navigator","HAS_PROMISE_SUPPORT","Promise","HAS_MUTATION_OBSERVER_SUPPORT","IS_BROWSER","WINDOW","DOCUMENT","NAVIGATOR","USER_AGENT","userAgent","HAS_PASSIVE_EVENT_SUPPORT","passiveEventSupported","maxTouchPoints","PointerEvent","MSPointerEvent","IntersectionObserverEntry","kebabCase","lowerFirst","upperFirst","escapeRegExp","spaces","lowerCase"],"mappings":"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","file":"js/admin~front.aa60862a.js","sourcesContent":["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_FOCUS = 'focus';\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};","import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BUTTON } from '../../constants/components';\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { addClass, isTag, removeClass } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink as isLinkStrict } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n pressed: makeProp(PROP_TYPE_BOOLEAN, null),\n size: makeProp(PROP_TYPE_STRING),\n squared: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'button'),\n type: makeProp(PROP_TYPE_STRING, 'button'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BUTTON); // --- Helper methods ---\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\n\nvar handleFocus = function handleFocus(event) {\n if (event.type === 'focusin') {\n addClass(event.target, 'focus');\n } else if (event.type === 'focusout') {\n removeClass(event.target, 'focus');\n }\n}; // Is the requested button a link?\n// If tag prop is set to `a`, we use a to get proper disabled handling\n\n\nvar isLink = function isLink(props) {\n return isLinkStrict(props) || isTag(props.tag, 'a');\n}; // Is the button to be a toggle button?\n\n\nvar isToggle = function isToggle(props) {\n return isBoolean(props.pressed);\n}; // Is the button \"really\" a button?\n\n\nvar isButton = function isButton(props) {\n return !(isLink(props) || props.tag && !isTag(props.tag, 'button'));\n}; // Is the requested tag not a button or link?\n\n\nvar isNonStandardTag = function isNonStandardTag(props) {\n return !isLink(props) && !isButton(props);\n}; // Compute required classes (non static classes)\n\n\nvar computeClass = function computeClass(props) {\n var _ref;\n\n return [\"btn-\".concat(props.variant || 'secondary'), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(props.size), props.size), _defineProperty(_ref, 'btn-block', props.block), _defineProperty(_ref, 'rounded-pill', props.pill), _defineProperty(_ref, 'rounded-0', props.squared && !props.pill), _defineProperty(_ref, \"disabled\", props.disabled), _defineProperty(_ref, \"active\", props.pressed), _ref)];\n}; // Compute the link props to pass to b-link (if required)\n\n\nvar computeLinkProps = function computeLinkProps(props) {\n return isLink(props) ? pluckProps(linkProps, props) : {};\n}; // Compute the attributes for a button\n\n\nvar computeAttrs = function computeAttrs(props, data) {\n var button = isButton(props);\n var link = isLink(props);\n var toggle = isToggle(props);\n var nonStandardTag = isNonStandardTag(props);\n var hashLink = link && props.href === '#';\n var role = data.attrs && data.attrs.role ? data.attrs.role : null;\n var tabindex = data.attrs ? data.attrs.tabindex : null;\n\n if (nonStandardTag || hashLink) {\n tabindex = '0';\n }\n\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA\n // Don't bork any role provided in `data.attrs` when `isLink` or `isButton`\n // Except when link has `href` of `#`\n role: nonStandardTag || hashLink ? 'button' : role,\n // We set the `aria-disabled` state for non-standard tags\n 'aria-disabled': nonStandardTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // `autocomplete=\"off\"` is needed in toggle mode to prevent some browsers\n // from remembering the previous setting when using the back button\n autocomplete: toggle ? 'off' : null,\n // `tabindex` is used when the component is not a button\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a `tabindex=\"0\"` to non buttons or non links\n tabindex: props.disabled && !button ? '-1' : tabindex\n };\n}; // --- Main component ---\n// @vue/component\n\n\nexport var BButton = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON,\n functional: true,\n props: props,\n render: function render(h, _ref2) {\n var props = _ref2.props,\n data = _ref2.data,\n listeners = _ref2.listeners,\n children = _ref2.children;\n var toggle = isToggle(props);\n var link = isLink(props);\n var nonStandardTag = isNonStandardTag(props);\n var hashLink = link && props.href === '#';\n var on = {\n keydown: function keydown(event) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for CODE_SPACE/CODE_ENTER\n\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return;\n }\n\n var keyCode = event.keyCode; // Add CODE_SPACE handler for `href=\"#\"` and CODE_ENTER handler for non-standard tags\n\n if (keyCode === CODE_SPACE || keyCode === CODE_ENTER && nonStandardTag) {\n var target = event.currentTarget || event.target;\n stopEvent(event, {\n propagation: false\n });\n target.click();\n }\n },\n click: function click(event) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(event)) {\n stopEvent(event);\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send `.sync` updates to any \"pressed\" prop (if `.sync` listeners)\n // `concat()` will normalize the value to an array without\n // double wrapping an array value in an array\n concat(listeners['update:pressed']).forEach(function (fn) {\n if (isFunction(fn)) {\n fn(!props.pressed);\n }\n });\n }\n }\n };\n\n if (toggle) {\n on.focusin = handleFocus;\n on.focusout = handleFocus;\n }\n\n var componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on: on\n };\n return h(link ? BLink : props.tag, mergeData(data, componentData), children);\n }\n});","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","export var NAME = 'BvConfig';\nexport var PROP_NAME = '$bvConfig';\nexport var DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl'];","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};","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};","import Vue from 'vue';\nimport { mergeData } from 'vue-functional-data-merge'; // --- Constants ---\n\nvar COMPONENT_UID_KEY = '_uid';\nexport { COMPONENT_UID_KEY, Vue, mergeData };","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};","// 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};","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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { EVENT_NAME_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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 { MutationObs, isElement } from './dom';\nimport { warnNoMutationObserverSupport } from './warn';\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [options={childList: true, subtree: true}] observe options\n * @see https://stackoverflow.com/questions/3219758\n */\n\nexport var observeDom = function observeDom(el, callback, options)\n/* istanbul ignore next: difficult to test in JSDOM */\n{\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null; // Early exit when we have no element\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n if (!isElement(el)) {\n return null;\n } // Exit and throw a warning when `MutationObserver` isn't available\n\n\n if (warnNoMutationObserverSupport('observeDom')) {\n return null;\n } // Define a new observer\n\n\n var obs = new MutationObs(function (mutations) {\n var changed = false; // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n\n for (var i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n var mutation = mutations[i]; // Mutation type\n\n var type = mutation.type; // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n\n var target = mutation.target; // Detect whether a change happened based on type and target\n\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc.)\n // as they don't change layout\n changed = true;\n } else if (type === 'attributes') {\n changed = true;\n } else if (type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true;\n }\n } // We only call the callback if a change that could affect\n // layout/size truly happened\n\n\n if (changed) {\n callback();\n }\n }); // Have the observer observe foo for changes in children, etc\n\n obs.observe(el, _objectSpread({\n childList: true,\n subtree: true\n }, options)); // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n\n return obs;\n};","import { makePropCacheMixin } from '../utils/cache';\nexport var attrsMixin = makePropCacheMixin('$attrs', 'bvAttrs');","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};","export default {\r\n data() {\r\n return {\r\n roleData: {\r\n Admin:\r\n \"/admin-panel/galleries,/admin-panel/gallery-introduction,/admin-panel/partners-panel,/admin-panel/partners-introduction,/admin-panel/utility-menu,/admin-panel/InovativeIdea,/admin-panel/upload-file,/admin-panel/magazine-introduction,/admin-panel/magazine,/admin-panel/reportage-introduction,/admin-panel/reportage,/admin-panel/social-responsibily,/admin-panel/social-responsibily-introduction,/admin-panel/about-us,/admin-panel/menus,/admin-panel/management,/admin-panel/reports,/admin-panel/weblogs,/admin-panel/weblog-categories,/admin-panel/weblog-comments,/admin-panel/weblogs-introduction,/admin-panel/faqs,/admin-panel/faq-categories,/admin-panel/faq-introduction,/admin-panel/contact-us,/admin-panel/contact-us-introduction,/admin-panel/cooperation,/admin-panel/cooperation-introduction,/admin-panel/prize,/admin-panel/panelRecipes,/admin-panel/recipes,/admin-panel/recipe-categories,/admin-panel/recipes-introduction,/admin-panel/recipe-comments,/admin-panel/settings,/admin-panel/sliders,/admin-panel/products,/admin-panel/products-introduction,/admin-panel/product-categories,/admin-panel/product-brand,/admin-panel/product-comments,/admin-panel/catalogues,/admin-panel/catalogue-introduction,/admin-panel/users,/admin-panel/user-question\",\r\n SuperAdmin:\r\n \"/admin-panel/galleries,/admin-panel/gallery-introduction,/admin-panel/partners-panel,/admin-panel/partners-introduction,/admin-panel/utility-menu,/admin-panel/InovativeIdea,/admin-panel/upload-file,/admin-panel/magazine-introduction,/admin-panel/magazine/admin-panel/reportage-introduction,/admin-panel/reportage,/admin-panel/social-responsibily,/admin-panel/social-responsibily-introduction,/admin-panel/about-us,/admin-panel/menus,/admin-panel/management,/admin-panel/reports,/admin-panel/weblogs,/admin-panel/weblog-categories,/admin-panel/weblog-comments,/admin-panel/weblogs-introduction,/admin-panel/faqs,/admin-panel/faq-categories,/admin-panel/faq-introduction,/admin-panel/contact-us,/admin-panel/contact-us-introduction,/admin-panel/cooperation,/admin-panel/cooperation-introduction,/admin-panel/prize,/admin-panel/recipes,/admin-panel/recipe-categories,/admin-panel/recipes-introduction,/admin-panel/recipe-comments,/admin-panel/settings,/admin-panel/sliders,/admin-panel/products,/admin-panel/products-introduction,/admin-panel/product-categories,/admin-panel/product-brand,/admin-panel/product-comments,/admin-panel/catalogues,/admin-panel/catalogue-introduction,/admin-panel/users,/admin-panel/user-question\",\r\n SocialResponsibility:\r\n \"/admin-panel/social-responsibily,/admin-panel/social-responsibily-introduction\",\r\n Reports:\r\n \"/admin-panel/reports,/admin-panel/reportage,/admin-panel/reportage-introduction\",\r\n ContactUs:\r\n \"/admin-panel/contact-us-introduction,/admin-panel/contact-us,/admin-panel/faqs,/admin-panel/faq-categories,/admin-panel/faq-introduction,/admin-panel/cooperation,/admin-panel/cooperation-introduction\",\r\n User: \"/admin-panel/users\",\r\n Gallery: \"/admin-panel/galleries,/admin-panel/gallery-introduction,\",\r\n AboutUs: \"/admin-panel/about-us\",\r\n CoworkerPanel:\r\n \"/admin-panel/partners-panel,/admin-panel/partners-introduction,\",\r\n Slider: \"/admin-panel/sliders\",\r\n MenuAndLink: \"/admin-panel/utility-menu,/admin-panel/menus\",\r\n Prize: \"/admin-panel/prize\",\r\n IntroductionManager: \"/admin-panel/management\",\r\n Blogs:\r\n \"/admin-panel/weblogs,/admin-panel/weblog-categories,/admin-panel/weblog-comments,/admin-panel/weblogs-introduction\",\r\n Product:\r\n \"/admin-panel/products,/admin-panel/products-introduction,/admin-panel/product-categories,/admin-panel/product-brand,/admin-panel/product-comments\",\r\n Chef: \"/admin-panel/panelRecipes,/admin-panel/recipes,/admin-panel/recipe-categories,/admin-panel/recipes-introduction,/admin-panel/recipe-comments\",\r\n Catalogue:\r\n \"/admin-panel/catalogues,/admin-panel/catalogue-introduction\",\r\n Magazine: \"/admin-panel/magazine-introduction,/admin-panel/magazine\",\r\n Marketing: \"/admin-panel/magazine-introduction,/admin-panel/magazine\",\r\n },\r\n };\r\n },\r\n methods: {\r\n showRoute(role, route) {\r\n let res = false;\r\n let roleArray = role.split(\",\");\r\n if (roleArray.length > 0) {\r\n \r\n roleArray.forEach((role) => {\r\n if (this.roleData[role].includes(route)) {\r\n return (res = true);\r\n }\r\n });\r\n } else {\r\n res = false;\r\n }\r\n\r\n return res;\r\n },\r\n },\r\n};\r\n","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { 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};","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"vue-sliding-pagination\",[],t):\"object\"==typeof exports?exports[\"vue-sliding-pagination\"]=t():e[\"vue-sliding-pagination\"]=t()}(window,(function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var a in e)i.d(n,a,function(t){return e[t]}.bind(null,a));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"\",i(i.s=1)}([function(e){e.exports=JSON.parse('{\"componentClass\":\"c-sliding-pagination\",\"list\":\"c-sliding-pagination__list\",\"element\":\"c-sliding-pagination__list-element\",\"elementDisabled\":\"c-sliding-pagination__list-element--disabled\",\"elementActive\":\"c-sliding-pagination__list-element--active\",\"page\":\"c-sliding-pagination__page\"}')},function(e,t,i){\"use strict\";i.r(t),i.d(t,\"range\",(function(){return s}));var n={name:\"SlidingPaginationDefaultPage\",props:{ariaPageLabel:{type:String,required:!0},isCurrent:{type:Boolean,required:!0},page:{type:Number,required:!0},pageClass:{type:String,required:!0}},computed:{pageClasses:function(){var e=this.pageClass;return this.isCurrent&&(e+=\" c-sliding-pagination__page--current\"),e}},methods:{goToPage:function(e){e.preventDefault(),e.stopPropagation(),this.$emit(\"page-click\",this.page)}},render:function(e){return e(\"a\",{class:this.pageClasses,attrs:{href:\"#\",\"aria-label\":this.ariaPageLabel},on:{click:this.goToPage}},this.page)}},a=i(0);function s(e,t){var i=[];if(\"number\"!=typeof e||\"number\"!=typeof t)return i;if(e>t){var n=e;e=t,t=n}for(var a=e;a<=t;a++)i.push(a);return i}var r=function(e,t,i,n,a,s,r,o){var g,l=\"function\"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),s&&(l._scopeId=\"data-v-\"+s),r?(g=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},l._ssrRegister=g):a&&(g=o?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),g)if(l.functional){l._injectStyles=g;var u=l.render;l.render=function(e,t){return g.call(t),u(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,g):[g]}return{exports:e,options:l}}({name:\"SlidingPagination\",props:{ariaPaginationLabel:{type:String,required:!1,default:\"Pagination Navigation\"},ariaGotoPageLabel:{type:String,required:!1,default:\"Go to page %page% of %total%\"},ariaPreviousPageLabel:{type:String,required:!1,default:\"Go to previous page\"},ariaNextPageLabel:{type:String,required:!1,default:\"Go to next page\"},ariaCurrentPageLabel:{type:String,required:!1,default:\"Page %page% of %total%, current page\"},classMap:{type:Object,required:!1,default:function(){return a}},current:{required:!0,type:Number},total:{required:!0,type:Number},slidingEndingSize:{required:!1,type:Number,default:2},slidingWindowSize:{required:!1,type:Number,default:3},nonSlidingSize:{required:!1,type:Number,default:9},pageComponent:{required:!1,type:Object,default:function(){return n}}},components:{SlidingPaginationDefaultPage:n},computed:{isSliding:function(){return this.total>this.nonSlidingSize},hasBeginningGap:function(){return!!this.isSliding&&this.lastBeginningPage+1!==this.firstWindowPage},hasEndingGap:function(){return!!this.isSliding&&this.lastWindowPage+1!==this.firstEndingPage},beginningPages:function(){return s(1,this.isSliding?this.slidingEndingSize:this.total)},lastBeginningPage:function(){return this.beginningPages[this.beginningPages.length-1]},endingPages:function(){return this.isSliding?s(this.total-this.slidingEndingSize+1,this.total):[]},firstEndingPage:function(){return this.endingPages[0]},slidingWindowHalf:function(){var e=this.slidingWindowSize/2;return this.slidingWindowSize%2==1&&(e-=.5),e},slidingWindowPages:function(){if(!this.isSliding)return[];var e=this.lastBeginningPage+this.slidingWindowHalf,t=this.firstEndingPage-this.slidingWindowHalf;if(this.current<=e)return s(this.lastBeginningPage+1,this.lastBeginningPage+this.slidingWindowSize);if(this.current>e&&this.currentthis.nonSlidingSize},showNextPageAction:function(){return this.total>this.nonSlidingSize}},methods:{replaceLabelVars:function(e,t){return e.replace(\"%total%\",this.total).replace(\"%page%\",t)},isCurrentPage:function(e){return this.current===e},currentPageLabel:function(e){return this.replaceLabelVars(this.ariaCurrentPageLabel,e)},goToPage:function(e){this.$emit(\"page-change\",e)},goToNextPage:function(){this.goToPage(this.current+1)},goToPreviousPage:function(){this.goToPage(this.current-1)},goToPageLabel:function(e){return this.replaceLabelVars(this.ariaGotoPageLabel,e)},pageLabel:function(e){return this.isCurrentPage(e)?this.currentPageLabel(e):this.goToPageLabel(e)},slotOrDefault:function(e,t){return this.$slots[e]?this.$slots[e]:t},navigationElement:function(e,t,i,n,a){return e(\"li\",{class:[this.classMap.element,this.current===t?this.classMap.elementDisabled:\"\"],key:t},[e(\"a\",{class:this.classMap.page,attrs:{href:\"#\",\"aria-label\":n,disabled:1===this.current},on:{click:t===this.total?this.goToNextPage:this.goToPreviousPage}},a)])},pageListPage:function(e,t){return e(\"li\",{class:[this.classMap.element,this.isCurrentPage(t)?this.classMap.elementActive:\"\"]},[e(this.pageComponent,{props:{isCurrent:this.isCurrentPage(t),ariaPageLabel:this.pageLabel(t),page:t,pageClass:this.classMap.page},on:{\"page-click\":this.goToPage}})])},gap:function(e,t){return e(\"li\",{class:[this.classMap.element,this.classMap.elementDisabled],attrs:{\"aria-hidden\":!0}},[e(\"a\",{class:this.classMap.page,attrs:{href:\"#\",disabled:!0}},t)])}},render:function(e){var t=this,i=[];return this.showPreviousPageAction&&i.push(this.navigationElement(e,1,-1,this.ariaPreviousPageLabel,this.slotOrDefault(\"previousPage\",\"«\"))),i=i.concat(this.beginningPages.map((function(i){return t.pageListPage(e,i)}))),this.hasBeginningGap&&i.push(this.gap(e,this.slotOrDefault(\"gapLeft\",\"…\"))),i=i.concat(this.slidingWindowPages.map((function(i){return t.pageListPage(e,i)}))),this.hasEndingGap&&i.push(this.gap(e,this.slotOrDefault(\"gapRight\",\"…\"))),i=i.concat(this.endingPages.map((function(i){return t.pageListPage(e,i)}))),this.showNextPageAction&&i.push(this.navigationElement(e,this.total,1,this.ariaNextPageLabel,this.slotOrDefault(\"nextPage\",\"»\"))),e(\"nav\",{class:this.classMap.component,attrs:{\"aria-label\":this.ariaPaginationLabel}},[e(\"ul\",{class:this.classMap.list},i)])}},void 0,void 0,!1,null,null,null);r.options.__file=\"src/SlidingPagination.vue\";t.default=r.exports}])}));","import { Vue } from '../vue';\nimport { arrayIncludes } from '../utils/array';\nimport { keys } from '../utils/object'; // --- Constants ---\n\nvar PROP = '$_rootListeners'; // --- Mixin ---\n// @vue/component\n\nexport var listenOnRootMixin = Vue.extend({\n created: function created() {\n // Define non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of callbacks\n this[PROP] = {};\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n // Unregister all registered listeners\n keys(this[PROP] || {}).forEach(function (event) {\n _this[PROP][event].forEach(function (callback) {\n _this.listenOffRoot(event, callback);\n });\n });\n this[PROP] = null;\n },\n methods: {\n registerRootListener: function registerRootListener(event, callback) {\n if (this[PROP]) {\n this[PROP][event] = this[PROP][event] || [];\n\n if (!arrayIncludes(this[PROP][event], callback)) {\n this[PROP][event].push(callback);\n }\n }\n },\n unregisterRootListener: function unregisterRootListener(event, callback) {\n if (this[PROP] && this[PROP][event]) {\n this[PROP][event] = this[PROP][event].filter(function (cb) {\n return cb !== callback;\n });\n }\n },\n\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, but the `$root`\n * does not clear the callback\n *\n * When registering a `$root` listener, it also registers the listener\n * to be removed in the component's `beforeDestroy()` hook\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot: function listenOnRoot(event, callback) {\n if (this.$root) {\n this.$root.$on(event, callback);\n this.registerRootListener(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, but the `$root`\n * does not clear the callback\n *\n * When registering a `$root` listener, it also registers the listener\n * to be removed in the component's `beforeDestroy()` hook\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce: function listenOnRootOnce(event, callback) {\n var _this2 = this;\n\n if (this.$root) {\n var _callback = function _callback() {\n _this2.unregisterRootListener(_callback); // eslint-disable-next-line node/no-callback-literal\n\n\n callback.apply(void 0, arguments);\n };\n\n this.$root.$once(event, _callback);\n this.registerRootListener(event, _callback);\n }\n },\n\n /**\n * Safely unregister event listeners from the root Vue node\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOffRoot: function listenOffRoot(event, callback) {\n this.unregisterRootListener(event, callback);\n\n if (this.$root) {\n this.$root.$off(event, callback);\n }\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot: function emitOnRoot(event) {\n if (this.$root) {\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 }\n});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./pagination.vue?vue&type=style&index=0&id=60e411ee&prod&lang=css&\"","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 { RX_HTML_TAGS } from '../constants/regex'; // Removes anything that looks like an HTML tag from the supplied string\n\nexport var stripTags = function stripTags() {\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return String(text).replace(RX_HTML_TAGS, '');\n}; // Generate a `domProps` object for either `innerHTML`, `textContent` or an empty object\n\nexport var htmlOrText = function htmlOrText(innerHTML, textContent) {\n return innerHTML ? {\n innerHTML: innerHTML\n } : textContent ? {\n textContent: textContent\n } : {};\n};","import { Vue } from '../vue';\nimport { IS_BROWSER } from '../constants/env';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { arrayIncludes } from '../utils/array';\nimport { eventOn, eventOff } from '../utils/events';\nimport { keys } from '../utils/object'; // --- Constants ---\n\nvar PROP = '$_documentListeners'; // --- Mixin ---\n// @vue/component\n\nexport var listenOnDocumentMixin = Vue.extend({\n created: function created() {\n // Define non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of callbacks\n this[PROP] = {};\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n // Unregister all registered listeners\n keys(this[PROP] || {}).forEach(function (event) {\n _this[PROP][event].forEach(function (callback) {\n _this.listenOffDocument(event, callback);\n });\n });\n this[PROP] = null;\n },\n methods: {\n registerDocumentListener: function registerDocumentListener(event, callback) {\n if (this[PROP]) {\n this[PROP][event] = this[PROP][event] || [];\n\n if (!arrayIncludes(this[PROP][event], callback)) {\n this[PROP][event].push(callback);\n }\n }\n },\n unregisterDocumentListener: function unregisterDocumentListener(event, callback) {\n if (this[PROP] && this[PROP][event]) {\n this[PROP][event] = this[PROP][event].filter(function (cb) {\n return cb !== callback;\n });\n }\n },\n listenDocument: function listenDocument(on, event, callback) {\n on ? this.listenOnDocument(event, callback) : this.listenOffDocument(event, callback);\n },\n listenOnDocument: function listenOnDocument(event, callback) {\n if (IS_BROWSER) {\n eventOn(document, event, callback, EVENT_OPTIONS_NO_CAPTURE);\n this.registerDocumentListener(event, callback);\n }\n },\n listenOffDocument: function listenOffDocument(event, callback) {\n if (IS_BROWSER) {\n eventOff(document, event, callback, EVENT_OPTIONS_NO_CAPTURE);\n }\n\n this.unregisterDocumentListener(event, callback);\n }\n }\n});","import { Vue } from '../vue';\nimport { IS_BROWSER } from '../constants/env';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { arrayIncludes } from '../utils/array';\nimport { eventOn, eventOff } from '../utils/events';\nimport { keys } from '../utils/object'; // --- Constants ---\n\nvar PROP = '$_windowListeners'; // --- Mixin ---\n// @vue/component\n\nexport var listenOnWindowMixin = Vue.extend({\n created: function created() {\n // Define non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of callbacks\n this[PROP] = {};\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n // Unregister all registered listeners\n keys(this[PROP] || {}).forEach(function (event) {\n _this[PROP][event].forEach(function (callback) {\n _this.listenOffWindow(event, callback);\n });\n });\n this[PROP] = null;\n },\n methods: {\n registerWindowListener: function registerWindowListener(event, callback) {\n if (this[PROP]) {\n this[PROP][event] = this[PROP][event] || [];\n\n if (!arrayIncludes(this[PROP][event], callback)) {\n this[PROP][event].push(callback);\n }\n }\n },\n unregisterWindowListener: function unregisterWindowListener(event, callback) {\n if (this[PROP] && this[PROP][event]) {\n this[PROP][event] = this[PROP][event].filter(function (cb) {\n return cb !== callback;\n });\n }\n },\n listenWindow: function listenWindow(on, event, callback) {\n on ? this.listenOnWindow(event, callback) : this.listenOffWindow(event, callback);\n },\n listenOnWindow: function listenOnWindow(event, callback) {\n if (IS_BROWSER) {\n eventOn(window, event, callback, EVENT_OPTIONS_NO_CAPTURE);\n this.registerWindowListener(event, callback);\n }\n },\n listenOffWindow: function listenOffWindow(event, callback) {\n if (IS_BROWSER) {\n eventOff(window, event, callback, EVENT_OPTIONS_NO_CAPTURE);\n }\n\n this.unregisterWindowListener(event, callback);\n }\n }\n});","// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\nexport var getScopeId = function getScopeId(vm) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return vm ? vm.$options._scopeId || defaultValue : defaultValue;\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 { getScopeId } from '../utils/get-scope-id'; // @vue/component\n\nexport var scopedStyleMixin = Vue.extend({\n computed: {\n scopedStyleAttrs: function scopedStyleAttrs() {\n var scopeId = getScopeId(this.$parent);\n return scopeId ? _defineProperty({}, scopeId, '') : {};\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BUTTON_CLOSE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { stopEvent } from '../../utils/events';\nimport { isEvent } from '../../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n content: makeProp(PROP_TYPE_STRING, '×'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_BUTTON_CLOSE); // --- Main component ---\n// @vue/component\n\nexport var BButtonClose = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var componentData = {\n staticClass: 'close',\n class: _defineProperty({}, \"text-\".concat(props.textVariant), props.textVariant),\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click: function click(event) {\n // Ensure click on button HTML content is also disabled\n\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(event)) {\n stopEvent(event);\n }\n }\n }\n }; // Careful not to override the default slot with innerHTML\n\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = {\n innerHTML: props.content\n };\n }\n\n return h('button', mergeData(data, componentData), normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots));\n }\n});","import { Vue } from '../../vue';\nimport { NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { HTMLElement } from '../../constants/safe-types';\nimport { concat } from '../../utils/array';\nimport { removeNode, select } from '../../utils/dom';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isString } from '../../utils/inspect';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { makeProp } from '../../utils/props'; // --- Helper components ---\n// BVTransporter/BVTransporterTarget:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of its\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n// Transporter target used by BVTransporter\n// Supports only a single root element\n// @vue/component\n\nvar BVTransporterTarget = /*#__PURE__*/Vue.extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: NAME_TRANSPORTER_TARGET,\n props: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n nodes: makeProp(PROP_TYPE_ARRAY_FUNCTION)\n },\n data: function data(vm) {\n return {\n updatedNodes: vm.nodes\n };\n },\n destroyed: function destroyed() {\n removeNode(this.$el);\n },\n render: function render(h) {\n var updatedNodes = this.updatedNodes;\n var $nodes = isFunction(updatedNodes) ? updatedNodes({}) : updatedNodes;\n $nodes = concat($nodes).filter(identity);\n\n if ($nodes && $nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0];\n }\n /* istanbul ignore next */\n\n\n return h();\n }\n}); // --- Props ---\n\nexport var props = {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n container: makeProp([HTMLElement, PROP_TYPE_STRING], 'body'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // This should be set to match the root element type\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTransporter = /*#__PURE__*/Vue.extend({\n name: NAME_TRANSPORTER,\n mixins: [normalizeSlotMixin],\n props: props,\n watch: {\n disabled: {\n immediate: true,\n handler: function handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget);\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_defaultFn = null;\n this.$_target = null;\n },\n beforeMount: function beforeMount() {\n this.mountTarget();\n },\n updated: function updated() {\n // We need to make sure that all children have completed updating\n // before rendering in the target\n // `vue-simple-portal` has the this in a `$nextTick()`,\n // while `portal-vue` doesn't\n // Just trying to see if the `$nextTick()` delay is required or not\n // Since all slots in Vue 2.6.x are always functions\n this.updateTarget();\n },\n beforeDestroy: function beforeDestroy() {\n this.unmountTarget();\n this.$_defaultFn = null;\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer: function getContainer() {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n var container = this.container;\n return isString(container) ? select(container) : container;\n } else {\n return null;\n }\n },\n // Mount the target\n mountTarget: function mountTarget() {\n if (!this.$_target) {\n var $container = this.getContainer();\n\n if ($container) {\n var $el = document.createElement('div');\n $container.appendChild($el);\n this.$_target = new BVTransporterTarget({\n el: $el,\n parent: this,\n propsData: {\n // Initial nodes to be rendered\n nodes: concat(this.normalizeSlot())\n }\n });\n }\n }\n },\n // Update the content of the target\n updateTarget: function updateTarget() {\n if (IS_BROWSER && this.$_target) {\n var defaultFn = this.$scopedSlots.default;\n\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this.$_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this.$_target.updatedNodes = defaultFn;\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this.$_target.updatedNodes = this.$slots.default;\n }\n } // Update the scoped slot function cache\n\n\n this.$_defaultFn = defaultFn;\n }\n },\n // Unmount the target\n unmountTarget: function unmountTarget() {\n this.$_target && this.$_target.$destroy();\n this.$_target = null;\n }\n },\n render: function render(h) {\n // This component has no root element, so only a single VNode is allowed\n if (this.disabled) {\n var $nodes = concat(this.normalizeSlot()).filter(identity);\n\n if ($nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0];\n }\n }\n\n return h();\n }\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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 _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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } Object.defineProperty(subClass, \"prototype\", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } 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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { defineProperties, readonlyDescriptor } from '../../../utils/object';\n\nvar BvModalEvent = /*#__PURE__*/function (_BvEvent) {\n _inherits(BvModalEvent, _BvEvent);\n\n var _super = _createSuper(BvModalEvent);\n\n function BvModalEvent(type) {\n var _this;\n\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvModalEvent);\n\n _this = _super.call(this, type, eventInit); // Freeze our new props as readonly, but leave them enumerable\n\n defineProperties(_assertThisInitialized(_this), {\n trigger: readonlyDescriptor()\n });\n return _this;\n }\n\n _createClass(BvModalEvent, null, [{\n key: \"Defaults\",\n get: function get() {\n return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(BvModalEvent), \"Defaults\", this)), {}, {\n trigger: null\n });\n }\n }]);\n\n return BvModalEvent;\n}(BvEvent); // Named exports\n\n\nexport { BvModalEvent };","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\nimport { Vue } from '../../../vue';\nimport { IS_BROWSER } from '../../../constants/env';\nimport { addClass, getAttr, getBCR, getCS, getStyle, hasAttr, removeAttr, removeClass, requestAF, selectAll, setAttr, setStyle } from '../../../utils/dom';\nimport { isNull } from '../../../utils/inspect';\nimport { toFloat, toInteger } from '../../../utils/number'; // --- Constants ---\n// Default modal backdrop z-index\n\nvar DEFAULT_ZINDEX = 1040; // Selectors for padding/margin adjustments\n\nvar SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nvar SELECTOR_STICKY_CONTENT = '.sticky-top';\nvar SELECTOR_NAVBAR_TOGGLER = '.navbar-toggler'; // --- Main component ---\n// @vue/component\n\nvar ModalManager = /*#__PURE__*/Vue.extend({\n data: function data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n };\n },\n computed: {\n modalCount: function modalCount() {\n return this.modals.length;\n },\n modalsAreOpen: function modalsAreOpen() {\n return this.modalCount > 0;\n }\n },\n watch: {\n modalCount: function modalCount(newCount, oldCount) {\n if (IS_BROWSER) {\n this.getScrollbarWidth();\n\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar();\n this.setScrollbar();\n addClass(document.body, 'modal-open');\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar();\n removeClass(document.body, 'modal-open');\n }\n\n setAttr(document.body, 'data-modal-open-count', String(newCount));\n }\n },\n modals: function modals(newValue) {\n var _this = this;\n\n this.checkScrollbar();\n requestAF(function () {\n _this.updateModals(newValue || []);\n });\n }\n },\n methods: {\n // Public methods\n registerModal: function registerModal(modal) {\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n this.modals.push(modal);\n }\n },\n unregisterModal: function unregisterModal(modal) {\n var index = this.modals.indexOf(modal);\n\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1); // Reset the modal's data\n\n if (!modal._isBeingDestroyed && !modal._isDestroyed) {\n this.resetModal(modal);\n }\n }\n },\n getBaseZIndex: function getBaseZIndex() {\n if (IS_BROWSER && isNull(this.baseZIndex)) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n var div = document.createElement('div');\n addClass(div, 'modal-backdrop');\n addClass(div, 'd-none');\n setStyle(div, 'display', 'none');\n document.body.appendChild(div);\n this.baseZIndex = toInteger(getCS(div).zIndex, DEFAULT_ZINDEX);\n document.body.removeChild(div);\n }\n\n return this.baseZIndex || DEFAULT_ZINDEX;\n },\n getScrollbarWidth: function getScrollbarWidth() {\n if (IS_BROWSER && isNull(this.scrollbarWidth)) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n var div = document.createElement('div');\n addClass(div, 'modal-scrollbar-measure');\n document.body.appendChild(div);\n this.scrollbarWidth = getBCR(div).width - div.clientWidth;\n document.body.removeChild(div);\n }\n\n return this.scrollbarWidth || 0;\n },\n // Private methods\n updateModals: function updateModals(modals) {\n var _this2 = this;\n\n var baseZIndex = this.getBaseZIndex();\n var scrollbarWidth = this.getScrollbarWidth();\n modals.forEach(function (modal, index) {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index;\n modal.scrollbarWidth = scrollbarWidth;\n modal.isTop = index === _this2.modals.length - 1;\n modal.isBodyOverflowing = _this2.isBodyOverflowing;\n });\n },\n resetModal: function resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex();\n modal.isTop = true;\n modal.isBodyOverflowing = false;\n }\n },\n checkScrollbar: function checkScrollbar() {\n // Determine if the body element is overflowing\n var _getBCR = getBCR(document.body),\n left = _getBCR.left,\n right = _getBCR.right;\n\n this.isBodyOverflowing = left + right < window.innerWidth;\n },\n setScrollbar: function setScrollbar() {\n var body = document.body; // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n\n body._paddingChangedForModal = body._paddingChangedForModal || [];\n body._marginChangedForModal = body._marginChangedForModal || [];\n\n if (this.isBodyOverflowing) {\n var scrollbarWidth = this.scrollbarWidth; // Adjust fixed content padding\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n selectAll(SELECTOR_FIXED_CONTENT).forEach(function (el) {\n var actualPadding = getStyle(el, 'paddingRight') || '';\n setAttr(el, 'data-padding-right', actualPadding);\n setStyle(el, 'paddingRight', \"\".concat(toFloat(getCS(el).paddingRight, 0) + scrollbarWidth, \"px\"));\n\n body._paddingChangedForModal.push(el);\n }); // Adjust sticky content margin\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n selectAll(SELECTOR_STICKY_CONTENT).forEach(function (el)\n /* istanbul ignore next */\n {\n var actualMargin = getStyle(el, 'marginRight') || '';\n setAttr(el, 'data-margin-right', actualMargin);\n setStyle(el, 'marginRight', \"\".concat(toFloat(getCS(el).marginRight, 0) - scrollbarWidth, \"px\"));\n\n body._marginChangedForModal.push(el);\n }); // Adjust margin\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n selectAll(SELECTOR_NAVBAR_TOGGLER).forEach(function (el)\n /* istanbul ignore next */\n {\n var actualMargin = getStyle(el, 'marginRight') || '';\n setAttr(el, 'data-margin-right', actualMargin);\n setStyle(el, 'marginRight', \"\".concat(toFloat(getCS(el).marginRight, 0) + scrollbarWidth, \"px\"));\n\n body._marginChangedForModal.push(el);\n }); // Adjust body padding\n\n var actualPadding = getStyle(body, 'paddingRight') || '';\n setAttr(body, 'data-padding-right', actualPadding);\n setStyle(body, 'paddingRight', \"\".concat(toFloat(getCS(body).paddingRight, 0) + scrollbarWidth, \"px\"));\n }\n },\n resetScrollbar: function resetScrollbar() {\n var body = document.body;\n\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(function (el) {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-padding-right')) {\n setStyle(el, 'paddingRight', getAttr(el, 'data-padding-right') || '');\n removeAttr(el, 'data-padding-right');\n }\n });\n }\n\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(function (el) {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-margin-right')) {\n setStyle(el, 'marginRight', getAttr(el, 'data-margin-right') || '');\n removeAttr(el, 'data-margin-right');\n }\n });\n }\n\n body._paddingChangedForModal = null;\n body._marginChangedForModal = null; // Restore body padding\n\n if (hasAttr(body, 'data-padding-right')) {\n setStyle(body, 'paddingRight', getAttr(body, 'data-padding-right') || '');\n removeAttr(body, 'data-padding-right');\n }\n }\n }\n}); // Create and export our modal manager instance\n\nexport var modalManager = new ModalManager();","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_MODAL } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_CANCEL, EVENT_NAME_CHANGE, EVENT_NAME_CLOSE, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_OK, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_TOGGLE, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { CODE_ESC } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { HTMLElement } from '../../constants/safe-types';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_MODAL_BACKDROP, SLOT_NAME_MODAL_CANCEL, SLOT_NAME_MODAL_FOOTER, SLOT_NAME_MODAL_HEADER, SLOT_NAME_MODAL_HEADER_CLOSE, SLOT_NAME_MODAL_OK, SLOT_NAME_MODAL_TITLE } from '../../constants/slots';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { attemptFocus, closest, contains, getActiveElement as _getActiveElement, getTabables, requestAF, select } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events';\nimport { htmlOrText } from '../../utils/html';\nimport { identity } from '../../utils/identity';\nimport { isString, isUndefinedOrNull } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnDocumentMixin } from '../../mixins/listen-on-document';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenOnWindowMixin } from '../../mixins/listen-on-window';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { scopedStyleMixin } from '../../mixins/scoped-style';\nimport { BButton } from '../button/button';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition';\nimport { BVTransporter } from '../transporter/transporter';\nimport { BvModalEvent } from './helpers/bv-modal-event.class';\nimport { modalManager } from './helpers/modal-manager'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nvar TRIGGER_BACKDROP = 'backdrop';\nvar TRIGGER_ESC = 'esc';\nvar TRIGGER_FORCE = 'FORCE';\nvar TRIGGER_TOGGLE = 'toggle';\nvar BUTTON_CANCEL = 'cancel'; // TODO: This should be renamed to 'close'\n\nvar BUTTON_CLOSE = 'headerclose';\nvar BUTTON_OK = 'ok';\nvar BUTTONS = [BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_OK]; // `ObserveDom` config to detect changes in modal content\n// so that we can adjust the modal padding if needed\n\nvar OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n autoFocusButton: makeProp(PROP_TYPE_STRING, null,\n /* istanbul ignore next */\n function (value) {\n return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value);\n }),\n bodyBgVariant: makeProp(PROP_TYPE_STRING),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n bodyTextVariant: makeProp(PROP_TYPE_STRING),\n busy: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonSize: makeProp(PROP_TYPE_STRING),\n cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),\n cancelTitleHtml: makeProp(PROP_TYPE_STRING),\n cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n centered: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerBgVariant: makeProp(PROP_TYPE_STRING),\n footerBorderVariant: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerTag: makeProp(PROP_TYPE_STRING, 'footer'),\n footerTextVariant: makeProp(PROP_TYPE_STRING),\n headerBgVariant: makeProp(PROP_TYPE_STRING),\n headerBorderVariant: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),\n headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n headerCloseVariant: makeProp(PROP_TYPE_STRING),\n headerTag: makeProp(PROP_TYPE_STRING, 'header'),\n headerTextVariant: makeProp(PROP_TYPE_STRING),\n // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`\n hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noFooter` and deprecate `hideFooter`\n hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeader` and deprecate `hideHeader`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`\n hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noStacking: makeProp(PROP_TYPE_BOOLEAN, false),\n okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n okOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n okTitle: makeProp(PROP_TYPE_STRING, 'OK'),\n okTitleHtml: makeProp(PROP_TYPE_STRING),\n okVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // HTML Element, CSS selector string or Vue component instance\n returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n scrollable: makeProp(PROP_TYPE_BOOLEAN, false),\n size: makeProp(PROP_TYPE_STRING, 'md'),\n static: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n titleHtml: makeProp(PROP_TYPE_STRING),\n titleSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n titleTag: makeProp(PROP_TYPE_STRING, 'h5')\n})), NAME_MODAL); // --- Main component ---\n// @vue/component\n\nexport var BModal = /*#__PURE__*/Vue.extend({\n name: NAME_MODAL,\n mixins: [attrsMixin, idMixin, modelMixin, listenOnDocumentMixin, listenOnRootMixin, listenOnWindowMixin, normalizeSlotMixin, scopedStyleMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n isHidden: true,\n // If modal should not be in document\n isVisible: false,\n // Controls modal visible state\n isTransitioning: false,\n // Used for style control\n isShow: false,\n // Used for style control\n isBlock: false,\n // Used for style control\n isOpening: false,\n // To signal that the modal is in the process of opening\n isClosing: false,\n // To signal that the modal is in the process of closing\n ignoreBackdropClick: false,\n // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: modalManager.getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n };\n },\n computed: {\n modalId: function modalId() {\n return this.safeId();\n },\n modalOuterId: function modalOuterId() {\n return this.safeId('__BV_modal_outer_');\n },\n modalHeaderId: function modalHeaderId() {\n return this.safeId('__BV_modal_header_');\n },\n modalBodyId: function modalBodyId() {\n return this.safeId('__BV_modal_body_');\n },\n modalTitleId: function modalTitleId() {\n return this.safeId('__BV_modal_title_');\n },\n modalContentId: function modalContentId() {\n return this.safeId('__BV_modal_content_');\n },\n modalFooterId: function modalFooterId() {\n return this.safeId('__BV_modal_footer_');\n },\n modalBackdropId: function modalBackdropId() {\n return this.safeId('__BV_modal_backdrop_');\n },\n modalClasses: function modalClasses() {\n return [{\n fade: !this.noFade,\n show: this.isShow\n }, this.modalClass];\n },\n modalStyles: function modalStyles() {\n var sbWidth = \"\".concat(this.scrollbarWidth, \"px\");\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n };\n },\n dialogClasses: function dialogClasses() {\n var _ref;\n\n return [(_ref = {}, _defineProperty(_ref, \"modal-\".concat(this.size), this.size), _defineProperty(_ref, 'modal-dialog-centered', this.centered), _defineProperty(_ref, 'modal-dialog-scrollable', this.scrollable), _ref), this.dialogClass];\n },\n headerClasses: function headerClasses() {\n var _ref2;\n\n return [(_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(this.headerBgVariant), this.headerBgVariant), _defineProperty(_ref2, \"text-\".concat(this.headerTextVariant), this.headerTextVariant), _defineProperty(_ref2, \"border-\".concat(this.headerBorderVariant), this.headerBorderVariant), _ref2), this.headerClass];\n },\n titleClasses: function titleClasses() {\n return [{\n 'sr-only': this.titleSrOnly\n }, this.titleClass];\n },\n bodyClasses: function bodyClasses() {\n var _ref3;\n\n return [(_ref3 = {}, _defineProperty(_ref3, \"bg-\".concat(this.bodyBgVariant), this.bodyBgVariant), _defineProperty(_ref3, \"text-\".concat(this.bodyTextVariant), this.bodyTextVariant), _ref3), this.bodyClass];\n },\n footerClasses: function footerClasses() {\n var _ref4;\n\n return [(_ref4 = {}, _defineProperty(_ref4, \"bg-\".concat(this.footerBgVariant), this.footerBgVariant), _defineProperty(_ref4, \"text-\".concat(this.footerTextVariant), this.footerTextVariant), _defineProperty(_ref4, \"border-\".concat(this.footerBorderVariant), this.footerBorderVariant), _ref4), this.footerClass];\n },\n modalOuterStyle: function modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n };\n },\n slotScope: function slotScope() {\n return {\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n ok: this.onOk,\n visible: this.isVisible\n };\n },\n computeIgnoreEnforceFocusSelector: function computeIgnoreEnforceFocusSelector() {\n // Normalize to an single selector with selectors separated by `,`\n return concat(this.ignoreEnforceFocusSelector).filter(identity).join(',').trim();\n },\n computedAttrs: function computedAttrs() {\n // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n var scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {};\n return _objectSpread(_objectSpread(_objectSpread({}, scopedStyleAttrs), this.bvAttrs), {}, {\n id: this.modalOuterId\n });\n },\n computedModalAttrs: function computedModalAttrs() {\n var isVisible = this.isVisible,\n ariaLabel = this.ariaLabel;\n return {\n id: this.modalId,\n role: 'dialog',\n 'aria-hidden': isVisible ? null : 'true',\n 'aria-modal': isVisible ? 'true' : null,\n 'aria-label': ariaLabel,\n 'aria-labelledby': this.hideHeader || ariaLabel || // TODO: Rename slot to `title` and deprecate `modal-title`\n !(this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) || this.titleHtml || this.title) ? null : this.modalTitleId,\n 'aria-describedby': this.modalBodyId\n };\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this[newValue ? 'show' : 'hide']();\n }\n }),\n created: function created() {\n // Define non-reactive properties\n this.$_observer = null;\n this.$_returnFocus = this.returnFocus || null;\n },\n mounted: function mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = modalManager.getBaseZIndex(); // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW), this.showHandler);\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_HIDE), this.hideHandler);\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_TOGGLE), this.toggleHandler); // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n\n this.listenOnRoot(getRootEventName(NAME_MODAL, EVENT_NAME_SHOW), this.modalListener); // Initially show modal?\n\n if (this[MODEL_PROP_NAME] === true) {\n this.$nextTick(this.show);\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Ensure everything is back to normal\n modalManager.unregisterModal(this);\n this.setObserver(false);\n\n if (this.isVisible) {\n this.isVisible = false;\n this.isShow = false;\n this.isTransitioning = false;\n }\n },\n methods: {\n setObserver: function setObserver() {\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n this.$_observer = observeDom(this.$refs.content, this.checkModalOverflow.bind(this), OBSERVER_CONFIG);\n }\n },\n // Private method to update the v-model\n updateModel: function updateModel(value) {\n if (value !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, value);\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new BvModalEvent(type, _objectSpread(_objectSpread({\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null\n }, options), {}, {\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.modalId\n }));\n },\n // Public method to show modal\n show: function show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n\n /* istanbul ignore next */\n this.$once(EVENT_NAME_HIDDEN, this.show);\n /* istanbul ignore next */\n\n return;\n }\n\n this.isOpening = true; // Set the element to return focus to when closed\n\n this.$_returnFocus = this.$_returnFocus || this.getActiveElement();\n var showEvent = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvent); // Don't show if canceled\n\n if (showEvent.defaultPrevented || this.isVisible) {\n this.isOpening = false; // Ensure the v-model reflects the current state\n\n this.updateModel(false);\n return;\n } // Show the modal\n\n\n this.doShow();\n },\n // Public method to hide modal\n hide: function hide() {\n var trigger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return;\n }\n\n this.isClosing = true;\n var hideEvent = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: trigger !== TRIGGER_FORCE,\n trigger: trigger || null\n }); // We emit specific event for one of the three built-in buttons\n\n if (trigger === BUTTON_OK) {\n this.$emit(EVENT_NAME_OK, hideEvent);\n } else if (trigger === BUTTON_CANCEL) {\n this.$emit(EVENT_NAME_CANCEL, hideEvent);\n } else if (trigger === BUTTON_CLOSE) {\n this.$emit(EVENT_NAME_CLOSE, hideEvent);\n }\n\n this.emitEvent(hideEvent); // Hide if not canceled\n\n if (hideEvent.defaultPrevented || !this.isVisible) {\n this.isClosing = false; // Ensure v-model reflects current state\n\n this.updateModel(true);\n return;\n } // Stop observing for content changes\n\n\n this.setObserver(false); // Trigger the hide transition\n\n this.isVisible = false; // Update the v-model\n\n this.updateModel(false);\n },\n // Public method to toggle modal visibility\n toggle: function toggle(triggerEl) {\n if (triggerEl) {\n this.$_returnFocus = triggerEl;\n }\n\n if (this.isVisible) {\n this.hide(TRIGGER_TOGGLE);\n } else {\n this.show();\n }\n },\n // Private method to get the current document active element\n getActiveElement: function getActiveElement() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n var activeElement = _getActiveElement(IS_BROWSER ? [document.body] : []); // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n // Note: On IE 11, `document.activeElement` may be `null`\n // So we test it for truthiness first\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n\n\n return activeElement && activeElement.focus ? activeElement : null;\n },\n // Private method to finish showing modal\n doShow: function doShow() {\n var _this = this;\n\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (modalManager.modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce(getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN), this.doShow);\n return;\n }\n\n modalManager.registerModal(this); // Place modal in DOM\n\n this.isHidden = false;\n this.$nextTick(function () {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n _this.isVisible = true;\n _this.isOpening = false; // Update the v-model\n\n _this.updateModel(true);\n\n _this.$nextTick(function () {\n // Observe changes in modal content and adjust if necessary\n // In a `$nextTick()` in case modal content is lazy\n _this.setObserver(true);\n });\n });\n },\n // Transition handlers\n onBeforeEnter: function onBeforeEnter() {\n this.isTransitioning = true;\n this.setResizeEvent(true);\n },\n onEnter: function onEnter() {\n var _this2 = this;\n\n this.isBlock = true; // We add the `show` class 1 frame later\n // `requestAF()` runs the callback before the next repaint, so we need\n // two calls to guarantee the next frame has been rendered\n\n requestAF(function () {\n requestAF(function () {\n _this2.isShow = true;\n });\n });\n },\n onAfterEnter: function onAfterEnter() {\n var _this3 = this;\n\n this.checkModalOverflow();\n this.isTransitioning = false; // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n\n requestAF(function () {\n _this3.emitEvent(_this3.buildEvent(EVENT_NAME_SHOWN));\n\n _this3.setEnforceFocus(true);\n\n _this3.$nextTick(function () {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n _this3.focusFirst();\n });\n });\n },\n onBeforeLeave: function onBeforeLeave() {\n this.isTransitioning = true;\n this.setResizeEvent(false);\n this.setEnforceFocus(false);\n },\n onLeave: function onLeave() {\n // Remove the 'show' class\n this.isShow = false;\n },\n onAfterLeave: function onAfterLeave() {\n var _this4 = this;\n\n this.isBlock = false;\n this.isTransitioning = false;\n this.isModalOverflowing = false;\n this.isHidden = true;\n this.$nextTick(function () {\n _this4.isClosing = false;\n modalManager.unregisterModal(_this4);\n\n _this4.returnFocusTo(); // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n\n\n _this4.emitEvent(_this4.buildEvent(EVENT_NAME_HIDDEN));\n });\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type; // We emit on `$root` first in case a global listener wants to cancel\n // the event first before the instance emits its event\n\n this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId);\n this.$emit(type, bvEvent);\n },\n // UI event handlers\n onDialogMousedown: function onDialogMousedown() {\n var _this5 = this;\n\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n var modal = this.$refs.modal;\n\n var onceModalMouseup = function onceModalMouseup(event) {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE);\n\n if (event.target === modal) {\n _this5.ignoreBackdropClick = true;\n }\n };\n\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE);\n },\n onClickOut: function onClickOut(event) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false;\n return;\n } // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n\n\n if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, event.target)) {\n return;\n } // If backdrop clicked, hide modal\n\n\n if (!contains(this.$refs.content, event.target)) {\n this.hide(TRIGGER_BACKDROP);\n }\n },\n onOk: function onOk() {\n this.hide(BUTTON_OK);\n },\n onCancel: function onCancel() {\n this.hide(BUTTON_CANCEL);\n },\n onClose: function onClose() {\n this.hide(BUTTON_CLOSE);\n },\n onEsc: function onEsc(event) {\n // If ESC pressed, hide modal\n if (event.keyCode === CODE_ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide(TRIGGER_ESC);\n }\n },\n // Document focusin listener\n focusHandler: function focusHandler(event) {\n // If focus leaves modal content, bring it back\n var content = this.$refs.content;\n var target = event.target;\n\n if (this.noEnforceFocus || !this.isTop || !this.isVisible || !content || document === target || contains(content, target) || this.computeIgnoreEnforceFocusSelector && closest(this.computeIgnoreEnforceFocusSelector, target, true)) {\n return;\n }\n\n var tabables = getTabables(this.$refs.content);\n var bottomTrap = this.$refs['bottom-trap'];\n var topTrap = this.$refs['top-trap'];\n\n if (bottomTrap && target === bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return;\n }\n } else if (topTrap && target === topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return;\n }\n } // Otherwise focus the modal content container\n\n\n attemptFocus(content, {\n preventScroll: true\n });\n },\n // Turn on/off focusin listener\n setEnforceFocus: function setEnforceFocus(on) {\n this.listenDocument(on, 'focusin', this.focusHandler);\n },\n // Resize listener\n setResizeEvent: function setResizeEvent(on) {\n this.listenWindow(on, 'resize', this.checkModalOverflow);\n this.listenWindow(on, 'orientationchange', this.checkModalOverflow);\n },\n // Root listener handlers\n showHandler: function showHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.$_returnFocus = triggerEl || this.getActiveElement();\n this.show();\n }\n },\n hideHandler: function hideHandler(id) {\n if (id === this.modalId) {\n this.hide('event');\n }\n },\n toggleHandler: function toggleHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.toggle(triggerEl);\n }\n },\n modalListener: function modalListener(bvEvent) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvent.vueTarget !== this) {\n this.hide();\n }\n },\n // Focus control handlers\n focusFirst: function focusFirst() {\n var _this6 = this;\n\n // Don't try and focus if we are SSR\n if (IS_BROWSER) {\n requestAF(function () {\n var modal = _this6.$refs.modal;\n var content = _this6.$refs.content;\n\n var activeElement = _this6.getActiveElement(); // If the modal contains the activeElement, we don't do anything\n\n\n if (modal && content && !(activeElement && contains(content, activeElement))) {\n var ok = _this6.$refs['ok-button'];\n var cancel = _this6.$refs['cancel-button'];\n var close = _this6.$refs['close-button']; // Focus the appropriate button or modal content wrapper\n\n var autoFocus = _this6.autoFocusButton;\n /* istanbul ignore next */\n\n var el = autoFocus === BUTTON_OK && ok ? ok.$el || ok : autoFocus === BUTTON_CANCEL && cancel ? cancel.$el || cancel : autoFocus === BUTTON_CLOSE && close ? close.$el || close : content; // Focus the element\n\n attemptFocus(el);\n\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n _this6.$nextTick(function () {\n modal.scrollTop = 0;\n });\n }\n }\n });\n }\n },\n returnFocusTo: function returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n var el = this.returnFocus || this.$_returnFocus || null;\n this.$_returnFocus = null;\n this.$nextTick(function () {\n // Is el a string CSS selector?\n el = isString(el) ? select(el) : el;\n\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el;\n attemptFocus(el);\n }\n });\n },\n checkModalOverflow: function checkModalOverflow() {\n if (this.isVisible) {\n var modal = this.$refs.modal;\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight;\n }\n },\n makeModal: function makeModal(h) {\n // Modal header\n var $header = h();\n\n if (!this.hideHeader) {\n // TODO: Rename slot to `header` and deprecate `modal-header`\n var $modalHeader = this.normalizeSlot(SLOT_NAME_MODAL_HEADER, this.slotScope);\n\n if (!$modalHeader) {\n var $closeButton = h();\n\n if (!this.hideHeaderClose) {\n $closeButton = h(BButtonClose, {\n props: {\n content: this.headerCloseContent,\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: {\n click: this.onClose\n },\n ref: 'close-button'\n }, // TODO: Rename slot to `header-close` and deprecate `modal-header-close`\n [this.normalizeSlot(SLOT_NAME_MODAL_HEADER_CLOSE)]);\n }\n\n $modalHeader = [h(this.titleTag, {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: {\n id: this.modalTitleId\n },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) ? {} : htmlOrText(this.titleHtml, this.title)\n }, // TODO: Rename slot to `title` and deprecate `modal-title`\n this.normalizeSlot(SLOT_NAME_MODAL_TITLE, this.slotScope)), $closeButton];\n }\n\n $header = h(this.headerTag, {\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: {\n id: this.modalHeaderId\n },\n ref: 'header'\n }, [$modalHeader]);\n } // Modal body\n\n\n var $body = h('div', {\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: {\n id: this.modalBodyId\n },\n ref: 'body'\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope)); // Modal footer\n\n var $footer = h();\n\n if (!this.hideFooter) {\n // TODO: Rename slot to `footer` and deprecate `modal-footer`\n var $modalFooter = this.normalizeSlot(SLOT_NAME_MODAL_FOOTER, this.slotScope);\n\n if (!$modalFooter) {\n var $cancelButton = h();\n\n if (!this.okOnly) {\n $cancelButton = h(BButton, {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_CANCEL) ? {} : htmlOrText(this.cancelTitleHtml, this.cancelTitle),\n on: {\n click: this.onCancel\n },\n ref: 'cancel-button'\n }, // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n this.normalizeSlot(SLOT_NAME_MODAL_CANCEL));\n }\n\n var $okButton = h(BButton, {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_OK) ? {} : htmlOrText(this.okTitleHtml, this.okTitle),\n on: {\n click: this.onOk\n },\n ref: 'ok-button'\n }, // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n this.normalizeSlot(SLOT_NAME_MODAL_OK));\n $modalFooter = [$cancelButton, $okButton];\n }\n\n $footer = h(this.footerTag, {\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: {\n id: this.modalFooterId\n },\n ref: 'footer'\n }, [$modalFooter]);\n } // Assemble modal content\n\n\n var $modalContent = h('div', {\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n id: this.modalContentId,\n tabindex: '-1'\n },\n ref: 'content'\n }, [$header, $body, $footer]); // Tab traps to prevent page from scrolling to next element in\n // tab index during enforce-focus tab cycle\n\n var $tabTrapTop = h();\n var $tabTrapBottom = h();\n\n if (this.isVisible && !this.noEnforceFocus) {\n $tabTrapTop = h('span', {\n attrs: {\n tabindex: '0'\n },\n ref: 'top-trap'\n });\n $tabTrapBottom = h('span', {\n attrs: {\n tabindex: '0'\n },\n ref: 'bottom-trap'\n });\n } // Modal dialog wrapper\n\n\n var $modalDialog = h('div', {\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: {\n mousedown: this.onDialogMousedown\n },\n ref: 'dialog'\n }, [$tabTrapTop, $modalContent, $tabTrapBottom]); // Modal\n\n var $modal = h('div', {\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n attrs: this.computedModalAttrs,\n on: {\n keydown: this.onEsc,\n click: this.onClickOut\n },\n directives: [{\n name: 'show',\n value: this.isVisible\n }],\n ref: 'modal'\n }, [$modalDialog]); // Wrap modal in transition\n // Sadly, we can't use `BVTransition` here due to the differences in\n // transition durations for `.modal` and `.modal-dialog`\n // At least until https://github.com/vuejs/vue/issues/9986 is resolved\n\n $modal = h('transition', {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$modal]); // Modal backdrop\n\n var $backdrop = h();\n\n if (!this.hideBackdrop && this.isVisible) {\n $backdrop = h('div', {\n staticClass: 'modal-backdrop',\n attrs: {\n id: this.modalBackdropId\n }\n }, // TODO: Rename slot to `backdrop` and deprecate `modal-backdrop`\n this.normalizeSlot(SLOT_NAME_MODAL_BACKDROP));\n }\n\n $backdrop = h(BVTransition, {\n props: {\n noFade: this.noFade\n }\n }, [$backdrop]); // Assemble modal and backdrop in an outer
\n\n return h('div', {\n style: this.modalOuterStyle,\n attrs: this.computedAttrs,\n key: \"modal-outer-\".concat(this[COMPONENT_UID_KEY])\n }, [$modal, $backdrop]);\n }\n },\n render: function render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h);\n } else {\n return this.isHidden ? h() : h(BVTransporter, [this.makeModal(h)]);\n }\n }\n});","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};","export var identity = function identity(x) {\n return x;\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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); 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}();","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _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};","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});","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 { 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}).bind(WINDOW);\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};","// SSR safe client-side ID attribute generation\n// ID's can only be generated client-side, after mount\n// `this._uid` is not synched between server and client\nimport { COMPONENT_UID_KEY, Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp } from '../utils/props'; // --- Props ---\n\nexport var props = {\n id: makeProp(PROP_TYPE_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var idMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localId_: null\n };\n },\n computed: {\n safeId: function safeId() {\n // Computed property that returns a dynamic function for creating the ID\n // Reacts to changes in both `.id` and `.localId_` and regenerates a new function\n var id = this.id || this.localId_; // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method\n // but benefits from Vue's computed prop caching\n\n var fn = function fn(suffix) {\n if (!id) {\n return null;\n }\n\n suffix = String(suffix || '').replace(/\\s+/g, '_');\n return suffix ? id + '_' + suffix : id;\n };\n\n return fn;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // `mounted()` only occurs client-side\n this.$nextTick(function () {\n // Update DOM with auto-generated ID after mount\n // to prevent SSR hydration errors\n _this.localId_ = \"__BVID__\".concat(_this[COMPONENT_UID_KEY]);\n });\n }\n});","/**\n * Utilities to get information about the current environment\n */\nexport var getEnv = function getEnv(key) {\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var env = typeof process !== 'undefined' && process ? process.env || {} : {};\n\n if (!key) {\n /* istanbul ignore next */\n return env;\n }\n\n return env[key] || fallback;\n};\nexport var getNoWarn = function getNoWarn() {\n return getEnv('BOOTSTRAP_VUE_NO_WARN') || getEnv('NODE_ENV') === 'production';\n};","// --- 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 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';","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;","// 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];","// 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 _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\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) 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); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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 { omit, 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),\n exact: makeProp(PROP_TYPE_BOOLEAN, false),\n exactActiveClass: makeProp(PROP_TYPE_STRING),\n exactPath: makeProp(PROP_TYPE_BOOLEAN, false),\n exactPathActiveClass: makeProp(PROP_TYPE_STRING),\n replace: makeProp(PROP_TYPE_BOOLEAN, false),\n routerTag: makeProp(PROP_TYPE_STRING),\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 event = this.event,\n prefetch = this.prefetch,\n routerTag = this.routerTag;\n return this.isRouterLink ? _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, pluckProps(omit(_objectSpread(_objectSpread({}, routerLinkProps), nuxtLinkProps), ['event', 'prefetch', 'routerTag']), this)), event ? {\n event: event\n } : {}), isBoolean(prefetch) ? {\n prefetch: prefetch\n } : {}), routerTag ? {\n tag: 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 && routerTag && !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 // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', event)` on its Vue instance\n\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && event.currentTarget.__vue__) {\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});","import { Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n size: makeProp(PROP_TYPE_STRING)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formSizeMixin = Vue.extend({\n props: props,\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\".concat(this.size) : null];\n }\n }\n});","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./pagination.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./pagination.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./pagination.vue?vue&type=template&id=60e411ee&\"\nimport script from \"./pagination.vue?vue&type=script&lang=js&\"\nexport * from \"./pagination.vue?vue&type=script&lang=js&\"\nimport style0 from \"./pagination.vue?vue&type=style&index=0&id=60e411ee&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// 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';","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) 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};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _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\"); } Object.defineProperty(subClass, \"prototype\", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); 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; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } 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 { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], 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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_TRANSITION } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { isPlainObject } from '../../utils/inspect';\nimport { makeProp } from '../../utils/props'; // --- Constants ---\n\nvar NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n};\n\nvar FADE_PROPS = _objectSpread(_objectSpread({}, NO_FADE_PROPS), {}, {\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}); // --- Props ---\n\n\nexport var props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTransition = /*#__PURE__*/Vue.extend({\n name: NAME_TRANSITION,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var children = _ref.children,\n data = _ref.data,\n props = _ref.props;\n var transProps = props.transProps;\n\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS;\n\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = _objectSpread(_objectSpread({}, transProps), {}, {\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n });\n }\n }\n\n transProps = _objectSpread(_objectSpread({\n mode: props.mode\n }, transProps), {}, {\n // We always need `css` true\n css: true\n });\n return h('transition', // Any transition event listeners will get merged here\n mergeData(data, {\n props: transProps\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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 && fn.name !== configurablePropDefaultFnName;\n};","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { isBoolean } from '../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n}, 'formState'); // --- Mixin ---\n// @vue/component\n\nexport var formStateMixin = Vue.extend({\n props: props,\n computed: {\n computedState: function computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null;\n },\n stateClass: function stateClass() {\n var state = this.computedState;\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null;\n },\n computedAriaInvalid: function computedAriaInvalid() {\n var ariaInvalid = this.ariaInvalid;\n\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true';\n }\n\n return this.computedState === false ? 'true' : ariaInvalid;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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};","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\n });\n }\n }\n});","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;","module.exports = __webpack_public_path__ + \"img/logo.3fa6477c.png\";","// 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};"],"sourceRoot":""}