{"version":3,"sources":["../src/utils/array.js","../src/utils/plugins.js","../src/utils/object.js","../src/utils/env.js","../src/utils/safe-types.js","../src/utils/inspect.js","../src/utils/clone-deep.js","../src/utils/identity.js","../src/utils/get.js","../src/utils/warn.js","../src/utils/config-defaults.js","../src/utils/config-set.js","../src/utils/memoize.js","../src/utils/config.js","../src/utils/dom.js","../src/utils/number.js","../node_modules/vue-functional-data-merge/dist/lib.esm.js","../src/utils/bv-transition.js","../src/utils/normalize-slot.js","../src/mixins/normalize-slot.js","../src/components/button/button-close.js","../src/components/alert/alert.js","../src/components/alert/index.js","../src/utils/pluck-props.js","../src/utils/string.js","../src/utils/router.js","../src/components/link/link.js","../src/components/badge/badge.js","../src/components/badge/index.js","../src/utils/html.js","../src/components/breadcrumb/breadcrumb-link.js","../src/components/breadcrumb/breadcrumb-item.js","../src/components/breadcrumb/breadcrumb.js","../src/components/breadcrumb/index.js","../src/utils/key-codes.js","../src/components/button/button.js","../src/components/button/index.js","../src/components/button-group/button-group.js","../src/components/button-group/index.js","../src/components/button-toolbar/button-toolbar.js","../src/components/button-toolbar/index.js","../src/utils/loose-equal.js","../src/utils/date.js","../src/mixins/id.js","../src/icons/helpers/icon-base.js","../src/icons/helpers/make-icon.js","../src/icons/icons.js","../src/icons/iconstack.js","../src/components/calendar/calendar.js","../src/components/calendar/index.js","../src/utils/prefix-prop-name.js","../src/utils/unprefix-prop-name.js","../src/utils/copy-props.js","../src/mixins/card.js","../src/components/card/card-title.js","../src/components/card/card-sub-title.js","../src/components/card/card-body.js","../src/components/card/card-header.js","../src/components/card/card-footer.js","../src/components/card/card-img.js","../src/components/card/card.js","../src/directives/visible/visible.js","../src/components/image/img.js","../src/components/image/img-lazy.js","../src/components/card/card-img-lazy.js","../src/components/card/card-text.js","../src/components/card/card-group.js","../src/components/card/index.js","../src/utils/noop.js","../src/utils/observe-dom.js","../src/utils/events.js","../src/components/carousel/carousel.js","../src/components/carousel/carousel-slide.js","../src/components/carousel/index.js","../src/utils/bv-collapse.js","../src/mixins/listen-on-root.js","../src/components/collapse/collapse.js","../src/utils/target.js","../src/directives/toggle/toggle.js","../src/components/collapse/index.js","../node_modules/popper.js/dist/esm/popper.js","../src/utils/bv-event.class.js","../src/mixins/click-out.js","../src/mixins/focus-in.js","../src/mixins/dropdown.js","../src/components/dropdown/dropdown.js","../src/components/dropdown/dropdown-item.js","../src/components/dropdown/dropdown-item-button.js","../src/components/dropdown/dropdown-header.js","../src/components/dropdown/dropdown-divider.js","../src/components/form/form.js","../src/components/dropdown/dropdown-form.js","../src/components/dropdown/dropdown-text.js","../src/components/dropdown/dropdown-group.js","../src/components/dropdown/index.js","../src/components/embed/embed.js","../src/components/embed/index.js","../src/mixins/form-options.js","../src/components/form/form-datalist.js","../src/components/form/form-text.js","../src/components/form/form-invalid-feedback.js","../src/components/form/form-valid-feedback.js","../src/components/layout/form-row.js","../src/components/form/index.js","../src/utils/loose-index-of.js","../src/mixins/form.js","../src/mixins/form-radio-check.js","../src/mixins/form-size.js","../src/mixins/form-state.js","../src/components/form-checkbox/form-checkbox.js","../src/components/form-radio/form-radio.js","../src/mixins/form-radio-check-group.js","../src/components/form-checkbox/form-checkbox-group.js","../src/components/form-checkbox/index.js","../src/directives/hover/hover.js","../src/components/form-datepicker/form-datepicker.js","../src/components/form-datepicker/index.js","../src/mixins/form-custom.js","../src/components/form-file/form-file.js","../src/components/form-file/index.js","../src/utils/suffix-prop-name.js","../src/components/layout/col.js","../src/components/form-group/form-group.js","../src/components/form-group/index.js","../src/mixins/form-text.js","../src/mixins/form-selection.js","../src/mixins/form-validity.js","../src/components/form-input/form-input.js","../src/components/form-input/index.js","../src/components/form-radio/form-radio-group.js","../src/components/form-radio/index.js","../src/components/form-select/helpers/mixin-options.js","../src/components/form-select/form-select-option.js","../src/components/form-select/form-select-option-group.js","../src/components/form-select/form-select.js","../src/components/form-select/index.js","../src/components/form-spinbutton/form-spinbutton.js","../src/components/form-spinbutton/index.js","../src/components/form-tags/form-tag.js","../src/components/form-tags/form-tags.js","../src/components/form-tags/index.js","../src/components/form-textarea/form-textarea.js","../src/components/form-textarea/index.js","../src/components/image/index.js","../src/components/input-group/input-group-text.js","../src/components/input-group/input-group-addon.js","../src/components/input-group/input-group-prepend.js","../src/components/input-group/input-group-append.js","../src/components/input-group/input-group.js","../src/components/input-group/index.js","../src/components/layout/container.js","../src/components/jumbotron/jumbotron.js","../src/components/jumbotron/index.js","../src/components/layout/row.js","../src/components/layout/index.js","../src/components/link/index.js","../src/components/list-group/list-group.js","../src/components/list-group/list-group-item.js","../src/components/list-group/index.js","../src/components/media/media-body.js","../src/components/media/media-aside.js","../src/components/media/media.js","../src/components/media/index.js","../src/utils/transporter.js","../src/mixins/listen-on-document.js","../src/mixins/listen-on-window.js","../src/utils/get-scope-id.js","../src/mixins/scoped-style-attrs.js","../src/components/modal/helpers/modal-manager.js","../src/components/modal/helpers/bv-modal-event.class.js","../src/components/modal/modal.js","../src/directives/modal/modal.js","../src/components/modal/helpers/bv-modal.js","../src/components/modal/index.js","../src/components/nav/nav.js","../src/components/nav/nav-item.js","../src/components/nav/nav-text.js","../src/components/nav/nav-form.js","../src/components/nav/nav-item-dropdown.js","../src/components/nav/index.js","../src/components/navbar/navbar.js","../src/components/navbar/navbar-nav.js","../src/components/navbar/navbar-brand.js","../src/components/navbar/navbar-toggle.js","../src/components/navbar/index.js","../src/utils/range.js","../src/mixins/pagination.js","../src/components/pagination/pagination.js","../src/components/pagination/index.js","../src/components/pagination-nav/pagination-nav.js","../src/components/pagination-nav/index.js","../src/components/tooltip/helpers/bv-popper.js","../src/components/tooltip/helpers/bv-tooltip-template.js","../src/components/tooltip/helpers/bv-tooltip.js","../src/components/tooltip/tooltip.js","../src/components/popover/helpers/bv-popover-template.js","../src/components/popover/helpers/bv-popover.js","../src/components/popover/popover.js","../src/directives/popover/popover.js","../src/directives/popover/index.js","../src/components/popover/index.js","../src/components/progress/progress-bar.js","../src/components/progress/index.js","../src/components/progress/progress.js","../src/components/spinner/index.js","../src/components/spinner/spinner.js","../src/mixins/has-listener.js","../src/utils/startcase.js","../src/components/table/helpers/constants.js","../src/components/table/helpers/normalize-fields.js","../src/components/table/helpers/mixin-items.js","../src/components/table/helpers/mixin-stacked.js","../src/components/table/helpers/sanitize-row.js","../src/components/table/helpers/stringify-object-values.js","../src/components/table/helpers/mixin-filtering.js","../src/components/table/helpers/stringify-record-values.js","../src/utils/stable-sort.js","../src/components/table/helpers/mixin-sorting.js","../src/components/table/helpers/default-sort-compare.js","../src/components/table/helpers/mixin-pagination.js","../src/components/table/helpers/mixin-caption.js","../src/components/table/helpers/mixin-colgroup.js","../src/components/table/helpers/filter-event.js","../src/components/table/helpers/text-selection-active.js","../src/components/table/thead.js","../src/components/table/tfoot.js","../src/components/table/tr.js","../src/components/table/td.js","../src/components/table/th.js","../src/components/table/helpers/mixin-thead.js","../src/components/table/helpers/mixin-tfoot.js","../src/components/table/tbody.js","../src/components/table/helpers/mixin-tbody.js","../src/components/table/helpers/mixin-tbody-row.js","../src/components/table/helpers/mixin-empty.js","../src/components/table/helpers/mixin-top-row.js","../src/components/table/helpers/mixin-bottom-row.js","../src/components/table/helpers/mixin-busy.js","../src/components/table/helpers/mixin-selectable.js","../src/components/table/helpers/mixin-provider.js","../src/components/table/helpers/mixin-table-renderer.js","../src/components/table/table.js","../src/components/table/table-lite.js","../src/components/table/table-simple.js","../src/components/table/index.js","../src/components/tabs/tabs.js","../src/components/tabs/index.js","../src/components/tabs/tab.js","../node_modules/portal-vue/dist/portal-vue.esm.js","../src/components/toast/toaster.js","../src/components/toast/toast.js","../src/components/toast/helpers/bv-toast.js","../src/components/toast/index.js","../src/directives/tooltip/tooltip.js","../src/directives/tooltip/index.js","../src/components/index.js","../src/components/tooltip/index.js","../src/directives/hover/index.js","../src/directives/modal/index.js","../src/directives/scrollspy/scrollspy.class.js","../src/directives/scrollspy/scrollspy.js","../src/directives/index.js","../src/directives/scrollspy/index.js","../src/directives/toggle/index.js","../src/directives/visible/index.js","../src/icons/icon.js","../src/index.js","../src/browser.js"],"names":["checkMultipleVueWarned","MULTIPLE_VUE_WARNING","from","Array","apply","arguments","isArray","val","arrayIncludes","array","value","indexOf","concat","_len","length","args","_key","prototype","assign","Object","create","proto","optionalProps","defineProperties","obj","props","defineProperty","prop","descr","freeze","getOwnPropertyNames","keys","hasOwnProperty","call","isObject","_typeof","isPlainObject","toString","clone","_objectSpread2","omit","filter","key","reduce","result","_defineProperty","hasWindowSupport","window","hasDocumentSupport","document","hasNavigatorSupport","navigator","hasPromiseSupport","Promise","hasMutationObserverSupport","MutationObserver","WebKitMutationObserver","MozMutationObserver","isBrowser","userAgent","toLowerCase","isJSDOM","hasPassiveEventSupport","test","passiveEventSupported","options","passive","addEventListener","removeEventListener","err","hasTouchSupport","documentElement","maxTouchPoints","hasPointerEventSupport","Boolean","PointerEvent","MSPointerEvent","hasIntersectionObserverSupport","IntersectionObserverEntry","getNoWarn","fallback","undefined","env","process","getEnv","w","Element","_Object","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","_inherits","_wrapNativeSuper","HTMLElement","_Element","SVGElement","_Element2","File","_Object2","toType","isUndefined","isNull","isUndefinedOrNull","isFunction","isBoolean","isString","isNumber","isDate","Date","isEvent","Event","isFile","isRegExp","slice","toRawType","cloneDeep","defaultValue","_toConsumableArray","identity","x","RX_ARRAY_NOTATION","get","path","join","steps","String","replace","split","every","step","warn","message","source","console","warnNotClient","warnNoPromiseSupport","DEFAULTS","deepFreeze","forEach","breakpoints","formControls","size","BAlert","dismissLabel","variant","BBadge","BButton","BButtonClose","content","textVariant","ariaLabel","BCalendar","labelPrevYear","labelPrevMonth","labelCurrentMonth","labelNextMonth","labelNextYear","labelToday","labelSelected","labelNoDateSelected","labelCalendar","labelNav","labelHelp","BCardSubTitle","subTitleTextVariant","BCarousel","labelPrev","labelNext","labelGotoSlide","labelIndicators","BDropdown","toggleText","splitVariant","BFormDatepicker","labelTodayButton","labelResetButton","labelCloseButton","BFormFile","browseText","placeholder","dropPlaceholder","BFormSpinbutton","labelDecrement","labelIncrement","BFormTag","removeLabel","BFormTags","addButtonText","addButtonVariant","duplicateTagText","invalidTagText","tagRemoveLabel","tagRemovedLabel","tagVariant","BFormText","BImg","blankColor","BImgLazy","BInputGroup","BJumbotron","bgVariant","borderVariant","BListGroupItem","BModal","titleTag","headerBgVariant","headerBorderVariant","headerTextVariant","headerCloseVariant","bodyBgVariant","bodyTextVariant","footerBgVariant","footerBorderVariant","footerTextVariant","cancelTitle","cancelVariant","okTitle","okVariant","headerCloseContent","headerCloseLabel","BNavbar","BNavbarToggle","label","BPagination","BPaginationNav","BPopover","boundary","boundaryPadding","customClass","delay","BProgress","BProgressBar","BSpinner","BTable","selectedVariant","headVariant","footVariant","BToast","toaster","autoHideDelay","toastClass","headerClass","bodyClass","BToaster","ariaLive","ariaAtomic","role","BTooltip","NAME","BvConfig","$_config","$_cachedBreakpoints","defaults","_this","config","configKeys","cmpName","cmpConfig","some","b","setConfig","Vue","OurVue","checkMultipleVue","installFactory","_ref","components","directives","plugins","install","installed","registerComponents","registerDirectives","registerPlugins","pluginFactory","extend","plugin","use","registerComponent","name","def","component","registerDirective","directive","memoize","fn","cache","argsKey","JSON","stringify","VueProto","getConfigValue","getComponentConfig","getBreakpoints","_getBreakpointsCached","getBreakpointsUpCached","d","elProto","matchesEl","matches","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","el","parentElement","parentNode","nodeType","Node","ELEMENT_NODE","requestAF","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","cb","setTimeout","MutationObs","isElement","isVisible","contains","body","style","display","bcr","getBCR","height","width","isDisabled","disabled","hasAttr","hasClass","reflow","offsetHeight","selectAll","selector","root","arrayFrom","querySelectorAll","select","querySelector","includeRoot","parent","child","getById","id","getElementById","addClass","className","classList","add","removeClass","remove","setAttr","attr","setAttribute","removeAttr","removeAttribute","getAttr","getAttribute","hasAttribute","getBoundingClientRect","getCS","getComputedStyle","getSel","getSelection","offset","_offset","top","left","getClientRects","win","ownerDocument","defaultView","pageYOffset","pageXOffset","position","parentOffset","elStyles","doc","offsetParent","offsetParentStyles","parseFloat","borderTopWidth","borderLeftWidth","marginTop","marginLeft","toInteger","parseInt","toFloat","toFixed","precision","e","t","r","s","a","toUpperCase","c","o","n","i","l","trim","y","p","f","NO_FADE_PROPS","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","FADE_PROPS","BVTransition","functional","noFade","type","default","appear","mode","transProps","render","h","children","data","appearClass","appearActiveClass","appearToClass","mergeData","css","hasNormalizedSlot","names","$scopedSlots","$slots","normalizeSlot","slot","scope","normalizeSlotMixin","methods","vNodes","slots","scopedSlots","componentData","staticClass","class","attrs","aria-label","on","click","evt","stopPropagation","preventDefault","domProps","innerHTML","parseCountDown","show","parseShow","isNumericLike","isNaN","AlertPlugin","mixins","model","event","dismissible","Number","fade","countDownTimerId","countDown","localShow","watch","newVal","clearTimer","$emit","$nextTick","created","mounted","beforeDestroy","dismiss","clearInterval","$alert","$dismissBtn","_uid","alert-dismissible","aria-live","aria-atomic","pluckProps","keysToPluck","objToPluck","transformFn","memo","RX_TRIM_LEFT","RX_REGEXP_REPLACE","RX_UN_KEBAB","RX_HYPHENATE","kebabCase","str","pascalCase","_","charAt","upperFirst","escapeRegExp","spaces","lowerCase","commaRE","encodeReserveRE","plusRE","queryStartRE","encodeReserveReplacer","charCodeAt","encode","encodeURIComponent","decode","decodeURIComponent","stringifyQueryObj","query","map","results","val2","push","parseQuery","parsed","param","parts","shift","isRouterLink","tag","computeHref","_ref3","href","to","toFallback","hash","propsFactory","rel","target","active","append","activeClass","exact","exactActiveClass","routerTag","noPrefetch","BLink","inheritAttrs","computed","computedTag","thisOrParent","$router","$nuxt","computeTag","computedRel","_ref2","computeRel","computedHref","computedProps","$props","onClick","_arguments","evtIsEvent","suppliedHandler","$listeners","stopImmediatePropagation","currentTarget","__vue__","handler","$root","focus","$el","blur","$attrs","tabindex","aria-disabled","linkProps","linkPropsFactory","pill","isBLink","badge-pill","BadgePlugin","stripTagsRegex","stripTags","text","htmlOrText","textContent","html","ariaCurrent","BBreadcrumbLink","suppliedProps","aria-current","BBreadcrumbItem","items","BreadcrumbPlugin","BBreadcrumb","childNodes","activeDefined","item","idx","KEY_CODES","SPACE","ENTER","ESC","LEFT","UP","RIGHT","DOWN","PAGEUP","PAGEDOWN","HOME","END","TAB","SHIFT","CTRL","BACKSPACE","ALT","PAUSE","BREAK","INSERT","INS","DELETE","btnProps","block","squared","pressed","linkPropKeys","tagIs","handleFocus","isLink","isToggle","isButton","isNonStandardTag","computeClass","computeLinkProps","computeAttrs","button","link","toggle","nonStandardTag","hashLink","aria-pressed","autocomplete","listeners","keydown","keyCode","KeyCodes","focusin","focusout","ButtonPlugin","BBtn","BBtnClose","vertical","ariaRole","BButtonGroup","btn-group","btn-group-vertical","ButtonGroupPlugin","BBtnGroup","ITEM_SELECTOR","BButtonToolbar","justify","keyNav","getItems","onFocusin","focusFirst","stop","onKeydown","shiftKey","focusPrev","focusLast","focusNext","setItemFocus","index","reverse","tabIndex","justify-content-between","ButtonToolbarPlugin","BBtnToolbar","compareArrays","equal","looseEqual","aValidType","bValidType","getTime","aHasKey","bHasKey","RX_DATE","createDate","_construct","parseYMD","date","_date$split$map2","_slicedToArray","year","month","day","getFullYear","getMonth","getDate","formatYMD","createDateFormatter","locale","Intl","DateTimeFormat","format","datesEqual","date1","date2","firstDateOfMonth","setDate","lastDateOfMonth","setMonth","oneMonthAgo","oneMonthAhead","oneYearAgo","oneYearAhead","idMixin","localId_","safeId","suffix","commonIconProps","fontScale","scale","rotate","flipH","flipV","shiftH","shiftV","baseAttrs","viewBox","focusable","alt","BVIconBase","stacked","Math","max","hasScale","hasTransforms","hasShift","transforms","isStacked","hasContent","$inner","transform","fontSize","xmlns","fill","makeIcon","iconName","iconNameClass","svgContent","BIconBlank","BIconCalendar","BIconCalendarFill","BIconChevronLeft","BIconCircleFill","BIconDash","BIconPlus","BIconstack","RTL_LANGS","valueAsDate","readonly","min","dateDisabledFn","Function","startWeekday","direction","todayVariant","noHighlightToday","dateInfoFn","hideHeader","hidden","ariaControls","roleDescription","selected","selectedYMD","activeYMD","getToday","gridHasFocus","isLive","selectedDate","activeDate","computedMin","computedMax","computedWeekStarts","computedLocale","locales","calendar","fmt","resolvedOptions","resolveLocale","calendarLocale","calendarYear","calendarMonth","calendarFirstDay","calendarDaysInMonth","computedVariant","computedTodayVariant","isRTL","locale1","locale2","dir","context","selectedFormatted","formatDateString","activeFormatted","dateDisabled","rtl","dateOutOfRange","rangeFn","disabledFn","ymd","weekday","formatYearMonth","formatWeekdayName","formatWeekdayNameShort","formatDay","prevYearDisabled","prevMonthDisabled","thisMonthDisabled","nextMonthDisabled","nextYearDisabled","matrix","firstDay","daysInMonth","startIndex","getDay","weekOffset","currentDay","week","j","dayYMD","dayDisabled","dateInfo","isThisMonth","info","calendarHeadings","oldVal","old","newYMD","oldYMD","setLive","_this2","activated","deactivated","$refs","grid","_unused","_unused2","_this3","constrainDate","emitSelected","_this4","setGridFocusFlag","onKeydownWrapper","altKey","checkDate","onKeydownGrid","onClickDay","clickedDate","gotoPrevYear","gotoPrevMonth","gotoCurrentMonth","gotoNextMonth","gotoNextYear","_this5","todayYMD","highlightToday","idWidget","idValue","idNav","idGrid","idGridCaption","idGridHelp","idActive","$header","text-muted","for","data-selected","title","labelSelectedDate","$prevYearIcon","$prevMonthIcon","$thisMonthIcon","$nextMonthIcon","$nextYearIcon","makeNavBtn","btnDisabled","shortcut","aria-keyshortcuts","aria-hidden","$nav","aria-controls","$gridCaption","$gridWeekDays","$gridBody","$cells","dIndex","_class","isSelected","isActive","isToday","idCell","$btn","data-date","aria-selected","pointerEvents","$gridHelp","$grid","ref","data-month","aria-roledescription","aria-labelledby","aria-describedby","aria-activedescendant","$slot","$widget","lang","CalendarPlugin","prefixPropName","prefix","unprefixPropName","copyProps","copied","cardMixin","BCardTitle","subTitle","subTitleTag","bind","titleProps","subTitleProps","overlay","BCardBody","cardTitle","cardSubTitle","cardContent","bodyTag","card-img-overlay","bodyBorderVariant","header","headerHtml","BCardHeader","headerTag","footer","footerHtml","footerClass","BCardFooter","footerTag","src","required","bottom","start","end","right","BCardImg","baseClass","cardImgProps","imgProps","imgSrc","bodyProps","headerProps","footerProps","align","noBody","BCard","imgFirst","imgLast","img","unPrefixPropName","imgBottom","flex-row","imgLeft","imgStart","flex-row-reverse","imgRight","imgEnd","OBSERVER_PROP_NAME","onlyDgitsRE","VisibilityObserver","vnode","callback","margin","once","observer","visible","doneOnce","createObserver","IntersectionObserver","rootMargin","threshold","observe","entries","entry","isIntersecting","intersectionRatio","disconnect","destroy","modifiers","mod","_prevModifiers","VBVisible","componentUpdated","oldValue","unbind","BLANK_TEMPLATE","srcset","sizes","fluid","fluidGrow","rounded","thumbnail","center","blank","color","makeBlankImgSrc","img-thumbnail","img-fluid","w-100","blankSrc","blankWidth","blankHeight","bVisible","isShown","computedSrc","computedBlank","computedWidth","computedHeight","computedSrcset","computedSizes","updateShowProp","doShow","_modifiers","imgLazyProps","textTag","deck","columns","CardPlugin","BCardImgLazy","lazyProps","BCardText","BCardGroup","noop","observeDom","obs","mutations","changed","mutation","TEXT_NODE","addedNodes","removedNodes","childList","subtree","EVENT_OPTIONS_PASSIVE","EVENT_OPTIONS_NO_CAPTURE","capture","parseEventOptions","eventOn","evtName","eventOff","eventOnOff","method","DIRECTION","next","dirClass","overlayClass","prev","PointerType","TOUCH","PEN","TransitionEndEvents","WebkitTransition","MozTransition","OTransition","transition","provide","bvCarousel","interval","indicators","controls","noAnimation","noWrap","noTouch","noHoverPause","imgWidth","imgHeight","background","isSliding","transitionEndEvent","slides","isPaused","touchStartX","touchDeltaX","numSlides","setSlide","pause","doSlide","_intervalId","_animationTimeout","_touchTimeout","getTransitionEndEvent","updateSlides","inner","attributes","attributeFilter","clearTimeout","slide","visibilityState","floor","$once","setInterval","restart","activeElement","isCycling","calcDirection","currentSlide","nextSlide","called","onceTransEnd","curIndex","nextIndex","handleClick","handleSwipe","absDeltaX","abs","touchStart","pointerType","clientX","touches","touchMove","touchEnd","prevHandler","nextHandler","rawName","expression","aria-owns","mouseenter","mouseleave","tagName","carousel-fade","pointer-event","aria-busy","imgAlt","imgBlank","imgBlankColor","contentVisibleUp","contentTag","caption","captionHtml","captionTag","textHtml","CarouselPlugin","BCarouselSlide","inject","contentClasses","noDrag","dragstart","contentChildren","TRANSITION_PROPS","TRANSITION_HANDLERS","enter","scrollHeight","afterEnter","leave","afterLeave","BVCollapse","listenOnRootMixin","listenOnRoot","$on","$off","listenOnRootOnce","emitOnRoot","_this$$root","BCollapse","isNav","accordion","transitioning","classObject","navbar-collapse","collapse","emitState","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","emitSync","updated","onEnter","onAfterEnter","onLeave","onAfterLeave","checkDisplayBlock","restore","isBlock","clickHandler","openedId","close","allListenTypes","hover","BVBoundListeners","getTargets","binding","targets","bindTargets","listenTypes","listener","elm","boundListeners","unbindTargets","BV_TOGGLE","resetProp","handleTargets","handleUpdate","VBToggle","state","CollapsePlugin","timeoutDuration","longerTimeoutBrowsers","debounce","resolve","then","scheduled","functionToCheck","getStyleComputedProperty","element","property","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","classCallCheck","instance","Constructor","TypeError","createClass","descriptor","enumerable","configurable","writable","protoProps","staticProps","_extends","getClientRect","offsets","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","sort","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","runModifiers","ends","findIndex","cur","match","enabled","update","isDestroyed","arrowStyles","flipped","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","setupEventListeners","updateBound","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","toValue","index2","Defaults","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","priority","primary","escapeWithReference","secondary","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","len","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","subtractLength","hide","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","jquery","Utils","global","PopperUtils","BvEvent","eventInit","constructor","cancelable","nativeEvent","relatedTarget","vueTarget","componentId","defaultPrevented","clickOutMixin","listenForClickOut","newValue","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_DROPDOWN_SHOWN","ROOT_DROPDOWN_HIDDEN","Selector","FORM_CHILD","AttachmentMap","dropdownMixin","bvDropdown","bvNavbar","dropup","dropright","dropleft","noFlip","popperOpts","visibleChangePrevented","inNavbar","toggler","directionClass","bvEvt","menu","emitEvent","focusToggler","showMenu","hideMenu","$_popper","whileOpenListen","destroyPopper","createPopper","focusMenu","getPopperConfig","updatePopper","popperConfig","isOpen","rootCloseListener","vm","refocus","_evt","onMousedown","onEsc","onSplitClick","hideHandler","up","focusItem","menuClass","toggleTag","toggleClass","noCaret","splitHref","splitTo","splitClass","splitButtonType","validator","lazy","dropdownClasses","d-flex","position-static","menuClasses","dropdown-menu-right","toggleClasses","dropdown-toggle-split","dropdown-toggle-no-caret","buttonContent","aria-haspopup","aria-expanded","mousedown","BDropdownItem","closeDropdown","BDropdownItemButton","BDropdownHeader","BDropdownDivider","aria-orientation","inline","novalidate","validated","BForm","form-inline","was-validated","BDropdownForm","formProps","formClass","BDropdownText","headerVariant","headerClasses","ariaDescribedby","BDropdownGroup","headerId","adb","ariaDescribedBy","DropdownPlugin","BDd","BDdItem","BDropdownItemBtn","BDdItemButton","BDdItemBtn","BDdHeader","BDdDivider","BDdForm","BDdText","BDdGroup","aspect","EmbedPlugin","BEmbed","formOptionsMixin","valueField","textField","htmlField","disabledField","formOptions","option","normalizeOption","$options","BFormDatalist","form-text","tooltip","forceShow","BFormInvalidFeedback","invalid-feedback","invalid-tooltip","d-block","BFormValidFeedback","valid-feedback","valid-tooltip","BFormRow","FormPlugin","BDatalist","BFormFeedback","looseIndexOf","formMixin","form","autofocus","handleAutofocus","formRadioCheckMixin","checked","plain","buttonVariant","ariaLabelledby","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","set","isBtnMode","buttons","isPlain","isCustom","isSwitch","isRadio","switches","switch","isInline","getName","groupName","getForm","getState","computedState","getButtonVariant","buttonClasses","isChecked","input","defaultSlot","change","handleChange","form-check-input","custom-control-input","is-valid","is-invalid","aria-required","form-check-label","custom-control-label","form-check","form-check-inline","custom-control","custom-control-inline","custom-checkbox","isCheck","custom-switch","custom-radio","formSizeMixin","sizeFormClass","sizeBtnClass","formStateMixin","stateClass","BFormCheckbox","uncheckedValue","indeterminate","setIndeterminate","_ref$target","isArr","BFormRadio","formRadioCheckGroupMixin","ariaInvalid","groupClasses","computedAriaInvalid","inputs","uid","isRadioGroup","aria-invalid","BFormCheckboxGroup","bvCheckGroup","FormCheckboxPlugin","BCheckbox","BCheck","BCheckboxGroup","BCheckGroup","PROP","updateListeners","_ref$value","hasListener","handlerChanged","createListener","VBHover","getConfigFallback","propsMixin","resetValue","noCloseOnSelect","todayButton","todayButtonVariant","resetButton","resetButtonVariant","closeButton","closeButtonVariant","dark","BHover","localYMD","localLocale","formatedValue","isHovered","calendarYM","calendarProps","computedResetValue","_unused3","setAndClose","onSelected","onInput","onContext","ctx","formattedValue","onTodayButton","onResetButton","onCloseButton","setFocus","handleHover","hovered","_class2","idButton","idLabel","idMenu","idWrapper","$button","!focus","!blur","$input","$controls","justify-content-end","$calendar","$menu","bg-dark","text-light","aria-modal","$hidden","aria-readonly","FormDatepickerPlugin","BDatepicker","formCustomMixin","custom","accept","multiple","directory","noTraverse","noDrop","fileNameFormatter","selectedFile","dragging","selectLabel","files","file","reset","focusHandler","onFileChange","dataTransfer","setFiles","queue","webkitGetAsEntry","traverseFileTree","all","filesArr","filesArray","onReset","onDragover","dropEffect","onDragleave","onDrop","$path","isDirectory","createReader","readEntries","form-control-file","custom-file-input","webkitdirectory","data-browse","dragover","dragleave","drop","FormFilePlugin","BFile","suffixPropName","RX_COL_CLASS","strNum","computeBreakpointClass","breakpoint","breakpointPropMap","generateProps","breakpointCol","propMap","breakpointOffset","breakpointOrder","col","cols","alignSelf","BCol","_classList$push","hasColClasses","renderInvalidFeedback","invalidFeedback","invalidFeedbackId","feedbackAriaLive","renderValidFeedback","validFeedback","validFeedbackId","renderHelpText","description","descriptionId","makePropName","BFormGroup","BREAKPOINTS","bpLabelColProps","bpLabelAlignProps","labelFor","labelSize","labelSrOnly","labelClass","labelColProps","propVal","bColPropName","labelAlignClasses","classes","isHorizontal","labelId","hasInvalidFeedback","hasValidFeedback","describedByIds","setInputDescribedBy","legendClick","ids","isFieldset","isLegend","labelTag","renderLabel","FormGroupPlugin","BFormFieldset","formTextMixin","plaintext","formatter","lazyFormatter","number","localValue","vModelValue","computedClass","custom-range","form-control-plaintext","form-control","computedDebounce","hasFormatter","stringifyValue","clearDebounce","$_inputDebounceTimer","formatValue","force","modifyValue","updateValue","doUpdate","composing","onChange","onBlur","formSelectionMixin","selectionStart","selectionEnd","selectionDirection","_this$$refs$input","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","TYPES","BFormInput","noWheel","list","localType","setWheelStopper","onWheelFocus","onWheelBlur","stopWheel","FormInputPlugin","BInput","BFormRadioGroup","bvRadioGroup","FormRadioPlugin","BRadio","BRadioGroup","optionsMixin","labelField","optionsField","BFormSelectOption","BFormSelectOptionGroup","BFormSelect","selectSize","computedSelectSize","inputClass","selectedVal","_value","FormSelectPlugin","BSelect","BSelectOption","BSelectOptionGroup","defaultNumber","defaultInteger","wrap","formatterFn","repeatDelay","repeatInterval","repeatThreshold","repeatStepMultiplier","computedStep","computedDelay","computedInterval","computedThreshold","computedStepMultiplier","computedPrecision","computedMultiplier","pow","valueAsFixed","NumberFormat","defaultFormatter","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","clearRepeat","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","spinner","emitChange","stepValue","multiplier","onFocusBlur","stepUp","stepDown","ctrlKey","metaKey","resetTimers","handleStepRepeat","onKeyup","stepper","setMouseup","count","onMouseup","spinId","isReadonly","hasValue","makeButton","IconCmp","keyRef","$icon","py-0","touchstart","$increment","$decrement","$spin","align-self-center","align-items-center","py-1","px-1","mx-1","border-top","border-bottom","border-left","border-right","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","keyup","FormSpinbuttonPlugin","BSpinbutton","onDelete","tagId","tagLabelId","$remove","$tag","RX_SPACES","cleanTags","tags","processEventValue","inputId","inputType","inputAttrs","tagClass","tagPills","tagValidator","separator","removeOnDelete","addOnChange","noAddOnEnter","noOuterFocus","newTag","removedTags","tagsState","valid","invalid","duplicate","computedInputId","computedInputType","computedInputAttrs","computedInputHandlers","onInputInput","onInputChange","onInputKeydown","computedSeparator","computedSeparatorRegExp","RegExp","computedJoiner","joiner","disableAddButton","splitTags","validateTag","duplicateTags","hasDuplicateTags","invalidTags","hasInvalidTags","addTag","parseTags","getInput","invalidAndDuplicates","removeTag","separatorRe","onFocusout","defaultRender","inputHandlers","isInvalid","isDuplicate","$createElement","$tags","duplicateFeedbackId","outline","minWidth","invisible","tagListId","$field","$ul","$feedback","$invalid","$duplicate","_this6","$content","$output","aria-relevant","$removed","FormTagsPlugin","BTags","BTag","BFormTextarea","b-visible","rows","maxRows","noResize","noAutoShrink","heightInPx","resize","computedRows","computedMinRows","computedMaxRows","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderBottomWidth","paddingTop","paddingBottom","minHeight","oldHeight","contentRows","ceil","640","FormTextareaPlugin","BTextarea","ImagePlugin","BInputGroupText","commonProps","isText","BInputGroupAddon","input-group-append","input-group-prepend","BInputGroupPrepend","BInputGroupAppend","prepend","prependHtml","appendHtml","InputGroupPlugin","BContainer","container","container-fluid","containerFluid","headerLevel","lead","leadHtml","leadTag","JumbotronPlugin","jumbotron-fluid","COMMON_ALIGNMENT","computeRowColsClass","computeRowColsBreakpoint","rowColsPropList","rowColsProps","noGutters","alignV","alignH","alignContent","LayoutPlugin","BRow","no-gutters","LinkPlugin","flush","horizontal","BListGroup","list-group-flush","list-group-horizontal","actionTags","action","ListGroupPlugin","isAction","itemProps","BMediaBody","verticalAlign","BMediaAside","rightAlign","MediaPlugin","BMedia","$aside","$default","BTransporterTargetSingle","abstract","nodes","updatedNodes","destroyed","BTransporterSingle","immediate","unmountTarget","mountTarget","_bv_defaultFn","_bv_target","beforeMount","updateTarget","getContainer","createElement","appendChild","propsData","defaultFn","$destroy","listenOnDocumentMixin","listenDocument","listenOnDocument","listenOffDocument","listenOnWindowMixin","listenWindow","listenOnWindow","listenOffWindow","getScopeId","_scopeId","scopedStyleAttrsMixin","scopedStyleAttrs","scopeId","$parent","modalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","resetScrollbar","updateModals","registerModal","modal","unregisterModal","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","zIndex","isTop","_getBCR","_paddingChangedForModal","_marginChangedForModal","actualPadding","paddingRight","calculatedPadding","actualMargin","calculatedMargin","BvModalEvent","_assertThisInitialized","trigger","_get","OBSERVER_CONFIG","characterData","TABABLE_SELECTOR","attemptFocus","centered","scrollable","buttonSize","noStacking","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","ignoreEnforceFocusSelector","titleHtml","titleClass","titleSrOnly","modalClass","dialogClass","contentClass","hideFooter","hideHeaderClose","hideBackdrop","okOnly","okDisabled","cancelDisabled","returnFocus","cancelTitleHtml","okTitleHtml","busy","static","autoFocusButton","isHidden","isTransitioning","isShow","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","return_focus","modalClasses","modalStyles","sbWidth","paddingLeft","dialogClasses","titleClasses","sr-only","bodyClasses","footerClasses","_ref4","modalOuterStyle","slotScope","ok","onOk","cancel","onCancel","onClose","computeIgnoreEnforceFocusSelector","_observer","showHandler","toggleHandler","modalListener","updateModel","buildEvent","getActiveElement","showEvt","hideEvt","triggerEl","getTabables","checkModalOverflow","onBeforeEnter","setResizeEvent","setEnforceFocus","onBeforeLeave","returnFocusTo","bvModalEvt","onDialogMousedown","onceModalMouseup","onClickOut","tabables","_this$$refs","bottomTrap","topTrap","preventScroll","autoFocus","makeModal","modalHeader","modalFooter","cancelButton","cancelHtml","okHtml","modalContent","tabTrapTop","tabTrapBottom","modalDialog","beforeEnter","beforeLeave","backdrop","PROPERTY","getTarget","_ref$modifiers","arg","getTriggerElement","setRole","oldProp","VBModal","inserted","BASE_PROPS","modalProps","defaultResolver","propsToSlots","msgBoxContent","filterOptions","ModalPlugin","BVModalPlugin","BMsgBox","extends","handleDestroy","self","$route","$watch","asyncMsgBox","resolver","msgBox","reject","resolved","Error","$mount","makeMsgBox","BvModal","_vm","_root","_createClass","_this$_root","_this$_root2","_len2","_key2","mixin","justified","tabs","pills","small","cardHeader","BNav","nav-tabs","nav-pills","card-header-tabs","card-header-pills","flex-column","nav-fill","nav-justified","BNavItem","linkAttrs","linkClasses","BNavText","BFormProps","BNavForm","_ref$listeners","$form","BDropdownProps","BNavItemDropdown","NavPlugin","BNavItemDd","BNavDropdown","BNavDd","toggleable","fixed","sticky","print","breakpointClass","xs","d-print","sticky-top","BNavProps","BNavbarNav","BNavbarBrand","toggleState","handleStateEvt","NavbarPlugin","BNavToggle","sanitizeLimit","limit","sanitizeCurrentPage","numberOfPages","page","onSpaceKey","paginationMixin","hideGotoEndButtons","labelFirstPage","firstText","firstNumber","firstClass","labelPrevPage","prevText","prevClass","labelNextPage","nextText","nextClass","labelLastPage","lastText","lastNumber","lastClass","labelPage","pageClass","hideEllipsis","ellipsisText","ellipsisClass","curr","currentPage","localNumberOfPages","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","startNumber","lastPageNumber","pageList","_this$paginationParam","pages","makePageArray","handleKeyNav","getButtons","btn","setBtnFocus","focusCurrent","_this7","pageNumbers","_this$paginationParam2","isActivePage","pageNum","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","btnContent","flex-fill","makeEllipsis","isLast","makePageButton","aria-checked","aria-posinset","aria-setsize","makePage","$firstPageBtn","$lastPageBtn","$pagination","perPage","totalRows","sanitizePerPage","sanitizeTotalRows","PaginationPlugin","pageSizeNumberOfPages","num","baseUrl","useRouter","linkGen","pageGen","noPageDetect","PaginationNavPlugin","computedValue","setNumberOfPages","guessCurrentPage","getPageInfo","makeLink","resolveLink","_link2","pathname","resolveRoute","route","guess","currRoute","loc","location","currLink","AUTO","TOP","BOTTOM","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","BVPopper","fallbackPlacement","arrowPadding","attachment","getAttachment","templateType","getOffset","popperPlacementChange","popperCreate","popperUpdate","popperDestroy","arrowOffset","renderTemplate","BVTooltipTemplate","interactive","templateClasses","noninteractive","templateAttributes","templateListeners","$title","templateData","triggers","BVTooltip","activeTrigger","computedId","computedTriggers","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","getScopId","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","updateData","titleUpdated","fixTitle","createTemplateAndShow","Template","$tip","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","hideTemplate","clearActiveTriggers","localPlacementTarget","removeAriaDescribedby","restoreTitle","getTemplateElement","dropdownOpen","addAriaDescribedby","tip","prevHoverState","getTargetId","isInModal","isDropdown","desc","setRootListener","doHide","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","_this9","evtTarget","_this10","_this11","localTitle","localContent","templateTitleContent","$_bv_toolpop","updateContent","doOpen","doClose","Component","getComponent","$toolpop","onShow","onShown","onHide","onHidden","onDisabled","onEnabled","setTitle","setContent","BVPopoverTemplate","titleDomProps","contentDomProps","BVPopover","BV_POPOVER","validTriggers","manual","htmlRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","applyPopover","bindings","animation","selectedTriggers","parseBindings","__bv_prev_data__","oldData","newData","VBPopoverPlugin","VBPopover","removePopover","PopoverPlugin","bvProgress","labelHtml","striped","animated","showProgress","showValue","progressBarClasses","computedStriped","computedAnimated","progressBarStyles","computedProgress","computedShowProgress","computedShowValue","ProgressPlugin","progressHeight","SpinnerPlugin","hasListenerMixin","$events","_events","RX_UNDERSCORE","RX_LOWER_UPPER","RX_START_SPACE_WORD","startCase","$1","$2","IGNORED_FIELD_KEYS","_rowVariant","_cellVariants","_showDetails","EVENT_FILTER","normalizeFields","origFields","fields","field","processField","sample","k","itemsMixin","primaryKey","localItems","computedFields","computedFieldsObj","computedItems","paginatedItems","sortedItems","filteredItems","localFilter","sortBy","localSortBy","sortDesc","localSortDesc","apiUrl","newItems","getFieldFormatter","stackedMixin","isStackedAlways","stackedTableClasses","b-table-stacked","sanitizeRow","row","ignoreFields","includeFields","fieldsObj","filterByFormatted","stringifyObjectValues","DEBOUNCE_DEPRECATED_MSG","filteringMixin","filterFunction","filterIgnoredFields","filterIncludedFields","filterDebounce","deprecated","isFiltered","filterSanitize","computedFilterIgnored","computedFilterIncluded","computedFilterDebounce","ms","localFiltering","hasProvider","noProviderFiltering","filteredCheck","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","deep","newCriteria","timeout","regExp","pattern","lastIndex","stableSort","compareFn","sortingMixin","sortDirection","sortCompare","sortCompareOptions","numeric","sortCompareLocale","sortNullLast","noSortReset","labelSortAsc","labelSortDesc","labelSortClear","noLocalSorting","noFooterSorting","sortIconLeft","localSorting","noProviderSorting","isSortable","sortable","sortOptions","usage","sortLocale","nullLast","sortByFormatted","localeOpts","aa","bb","localeCompare","defaultSortCompare","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortTheadThClasses","b-table-sort-icon-left","sortTheadThAttrs","aria-sort","sortTheadThLabel","labelSorting","paginationMixin$1","localPaging","noProviderPaging","captionMixin","captionId","renderCaption","$captionSlot","$caption","colgroupMixin","renderColgroup","$colgroup","TABLE_TAG_NAMES","filterEvent","textSelectionActive","containsNode","BThead","bvTableRowGroup","bvTable","isThead","isDark","isResponsive","isStickyHeader","stickyHeader","hasStickyHeader","tableVariant","theadClasses","theadAttrs","BTfoot","isTfoot","tfootClasses","tfootAttrs","BTr","bvTableTr","inTbody","isTbody","inThead","inTfoot","isRowDark","trClasses","trAttrs","digitsRx","parseSpan","spanValidator","colspan","rowspan","stackedHeading","stickyColumn","BTd","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","data-label","BTh","theadMixin","headRowVariant","theadClass","theadTrClass","fieldClasses","thClass","headClicked","stopIfBusy","renderThead","selectAllRows","isSelectable","clearSelected","makeCell","colIndex","headerTitle","hasHeadClickListener","handlers","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","aria-colindex","getThValues","thAttr","slotNames","column","srLabel","$trs","trProps","footRowVariant","tfootTrClass","tfootClass","tfootMixin","footClone","renderTFootCustom","renderTfoot","tbodyTransitionProps","tbodyTransitionHandlers","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","tbodyMixin","tbodyTrClass","tbodyTrAttr","detailsTdClass","getTdValues","tdValue","defValue","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","rowIndex","formatted","cellTag","isRowHeader","cellVariant","tdClass","tdAttr","unformatted","toggleDetails","detailsShowing","supportsSelectableRows","rowSelected","isRowSelected","selectRow","unselectRow","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","tableStriped","rowShowDetails","hasRowClickHandler","hasSelectableRowClick","$rows","detailsId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableRowClasses","selectableAttrs","selectableRowAttrs","userTrClasses","userTrAttrs","refInFor","data-pk","aria-details","aria-rowindex","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","tbodyClass","getTbodyTrs","refs","tbody","trs","itemRows","tr","getTbodyTrIndex","onTbodyRowKeydown","onTBodyRowClicked","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","$busy","renderBusy","defaultSlotName","fullName","lowerName","renderTopRow","renderEmpty","renderBottomRow","auxclick","contextmenu","dblclick","emptyMixin","showEmpty","emptyText","emptyHtml","emptyFilteredText","emptyFilteredHtml","$empty","computedBusy","topRowMixin","bottomRowMixin","busyMixin","localBusy","selectableMixin","selectable","selectMode","noSelectOnClick","selectedRows","selectedLastRow","selectableHasSelection","selectableIsMultiSelect","selectableTableClasses","b-table-selectable","selectableTableAttrs","aria-multiselectable","setSelectionHandlers","selectedLastClicked","b-table-row-selected","selectionHandler","providerMixin","providerTriggerContext","_providerUpdate","refresh","_providerSetLocal","catch","tableRendererMixin","bordered","borderless","outlined","responsive","noBorderCollapse","captionTop","tableClass","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","table-striped","table-hover","table-dark","table-bordered","table-borderless","table-sm","b-table-fixed","b-table-caption-top","b-table-no-border-collapse","tableAttrs","ariaAttrs","aria-colcount","aria-rowcount","$table","BTableLite","BTableSimple","TablePlugin","TableLitePlugin","TableSimplePlugin","navProps","notDisabled","tab","BTabButtonHelper","bvTabs","posInSet","setSize","noKeyNav","handleEvt","localActive","titleLinkClass","activeNavItemClass","titleItemClass","TabsPlugin","BTabs","card","noNavStyle","navClass","navWrapperClass","activeTabClass","tabIdx","currentTab","registeredTabs","isMounted","localNavClass","activateTab","previousTab","nextTab","updateTabs","setObserver","_bvObserver","registerTab","unregisterTab","tabsContainer","getTabs","$children","_isTab","getButtonForTab","updateButton","$forceUpdate","tabEvt","deactivateTab","focusButton","emitTabClick","clickTab","firstTab","currentIndex","lastTab","activeTab","fallbackTab","controlledBy","first","last","nav","card-header","card-footer","col-auto","empty","card-body","BTab","buttonId","tabClasses","computedNoFade","computedLazy","activate","deactivate","Symbol","iterator","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","inBrowser","pick","acc","VuePlugin","transports","sources","wormhole","trackInstances","open","transport","passengers","_transport$order","Infinity","newTransport","$_getTransportIndex","newTransports","registerTarget","unregisterTarget","$delete","registerSource","unregisterSource","hasTarget","hasSource","hasContentFor","_id","Portal","slim","slotProps","random","sendUpdate","clear","closer","normalizeSlots","normalizeOwnChildren","slotContent","Tag","v-portal","PortalTarget","firstRender","ownTransports","temp","newPassengers","combinePassengers","noWrapper","vue-portal-target","_id$1","portalProps","targetProps","bail","mountTo","targetSlim","targetSlotProps","targetTag","portalTarget","mountEl","_props","error","DefaultTransition","doRender","dead","staticName","Wormhole","$toaster","b-dead-toaster","$target","isStatus","appendToast","noAutoHide","noCloseButton","solid","isHiding","timer","dismissStarted","resumeDismiss","bToastClasses","b-toast-solid","b-toast-append","b-toast-prepend","computedDuration","computedToaster","transitionHandlers","ensureToaster","clearDismissTimer","now","setHoverHandler","startDismissTimer","onPause","onUnPause","passed","onLinkClick","hiddenEvt","makeToast","$headerContent","$body","toastProps","toastContent","ToastPlugin","BVToastPlugin","BToastPop","toast","BvToast","BV_TOOLTIP","noninteractiveRE","applyTooltip","VBTooltipPlugin","VBTooltip","removeTooltip","componentsPlugin","TooltipPlugin","VBHoverPlugin","VBModalPlugin","Default","throttle","DefaultType","ClassName","ACTIVE","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","HREF_REGEX","objectToString","ScrollSpy","$scroller","$selector","$offsets","$targets","$activeTarget","$scrollHeight","$resizeTimeout","$obs_scroller","$obs_targets","$config","updateConfig","unlisten","cfg","componentName","configTypes","expectedTypes","valueType","_isVue","typeCheckConfig","Name","scroller","getScroller","setObservers","autoMethod","methodFn","offsetBase","getScrollTop","getScrollHeight","maxScroll","getOffsetHeight","links","dropdown","setActiveState","sibling","previousElementSibling","BV_SCROLLSPY","onlyDigitsRE","applyScrollspy","directivesPlugin","VBScrollspyPlugin","VBScrollspy","dispose","removeScrollspy","VBTogglePlugin","VBVisiblePlugin","RX_ICON_PREFIX","BootstrapVue","icon"],"mappings":"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","sourcesContent":["// --- Static ---\n\nexport const from = (...args) => Array.from(...args)\nexport const isArray = val => Array.isArray(val)\n\n// --- Instance ---\n\nexport const arrayIncludes = (array, value) => array.indexOf(value) !== -1\nexport const concat = (...args) => Array.prototype.concat.apply([], args)\n","import OurVue from './vue'\nimport { setConfig } from './config-set'\nimport { hasWindowSupport, isJSDOM } from './env'\nimport { warn } from './warn'\n\n/**\n * Checks if there are multiple instances of Vue, and warns (once) about possible issues.\n * @param {object} Vue\n */\nexport const checkMultipleVue = (() => {\n let checkMultipleVueWarned = false\n\n const MULTIPLE_VUE_WARNING = [\n 'Multiple instances of Vue detected!',\n 'You may need to set up an alias for Vue in your bundler config.',\n 'See: https://bootstrap-vue.js.org/docs#using-module-bundlers'\n ].join('\\n')\n\n return Vue => {\n /* istanbul ignore next */\n if (!checkMultipleVueWarned && OurVue !== Vue && !isJSDOM) {\n warn(MULTIPLE_VUE_WARNING)\n }\n checkMultipleVueWarned = true\n }\n})()\n\n/**\n * Plugin install factory function.\n * @param {object} { components, directives }\n * @returns {function} plugin install function\n */\nexport const installFactory = ({ components, directives, plugins } = {}) => {\n const install = (Vue, config = {}) => {\n if (install.installed) {\n /* istanbul ignore next */\n return\n }\n install.installed = true\n checkMultipleVue(Vue)\n setConfig(config, Vue)\n registerComponents(Vue, components)\n registerDirectives(Vue, directives)\n registerPlugins(Vue, plugins)\n }\n\n install.installed = false\n\n return install\n}\n\n/**\n * Plugin install factory function (no plugin config option).\n * @param {object} { components, directives }\n * @returns {function} plugin install function\n */\nexport const installFactoryNoConfig = ({ components, directives, plugins } = {}) => {\n const install = Vue => {\n if (install.installed) {\n /* istanbul ignore next */\n return\n }\n install.installed = true\n checkMultipleVue(Vue)\n registerComponents(Vue, components)\n registerDirectives(Vue, directives)\n registerPlugins(Vue, plugins)\n }\n\n install.installed = false\n\n return install\n}\n\n/**\n * Plugin object factory function.\n * @param {object} { components, directives, plugins }\n * @returns {object} plugin install object\n */\nexport const pluginFactory = (options = {}, extend = {}) => ({\n ...extend,\n install: installFactory(options)\n})\n\n/**\n * Plugin object factory function (no config option).\n * @param {object} { components, directives, plugins }\n * @returns {object} plugin install object\n */\nexport const pluginFactoryNoConfig = (options = {}, extend = {}) => ({\n ...extend,\n install: installFactoryNoConfig(options)\n})\n\n/**\n * Load a group of plugins.\n * @param {object} Vue\n * @param {object} Plugin definitions\n */\nexport const registerPlugins = (Vue, plugins = {}) => {\n for (const plugin in plugins) {\n if (plugin && plugins[plugin]) {\n Vue.use(plugins[plugin])\n }\n }\n}\n\n/**\n * Load a component.\n * @param {object} Vue\n * @param {string} Component name\n * @param {object} Component definition\n */\nexport const registerComponent = (Vue, name, def) => {\n if (Vue && name && def) {\n Vue.component(name, def)\n }\n}\n\n/**\n * Load a group of components.\n * @param {object} Vue\n * @param {object} Object of component definitions\n */\nexport const registerComponents = (Vue, components = {}) => {\n for (const component in components) {\n registerComponent(Vue, component, components[component])\n }\n}\n\n/**\n * Load a directive.\n * @param {object} Vue\n * @param {string} Directive name\n * @param {object} Directive definition\n */\nexport const registerDirective = (Vue, name, def) => {\n if (Vue && name && def) {\n // Ensure that any leading V is removed from the\n // name, as Vue adds it automatically\n Vue.directive(name.replace(/^VB/, 'B'), def)\n }\n}\n\n/**\n * Load a group of directives.\n * @param {object} Vue\n * @param {object} Object of directive definitions\n */\nexport const registerDirectives = (Vue, directives = {}) => {\n for (const directive in directives) {\n registerDirective(Vue, directive, directives[directive])\n }\n}\n\n/**\n * Install plugin if window.Vue available\n * @param {object} Plugin definition\n */\nexport const vueUse = VuePlugin => {\n /* istanbul ignore next */\n if (hasWindowSupport && window.Vue) {\n window.Vue.use(VuePlugin)\n }\n /* istanbul ignore next */\n if (hasWindowSupport && VuePlugin.NAME) {\n window[VuePlugin.NAME] = VuePlugin\n }\n}\n","import { isArray } from './array'\n\n// --- Static ---\n\nexport const assign = (...args) => Object.assign(...args)\nexport const create = (proto, optionalProps) => Object.create(proto, optionalProps)\nexport const defineProperties = (obj, props) => Object.defineProperties(obj, props)\nexport const defineProperty = (obj, prop, descr) => Object.defineProperty(obj, prop, descr)\nexport const freeze = obj => Object.freeze(obj)\nexport const getOwnPropertyNames = obj => Object.getOwnPropertyNames(obj)\nexport const getOwnPropertyDescriptor = (obj, prop) => Object.getOwnPropertyDescriptor(obj, prop)\nexport const getOwnPropertySymbols = obj => Object.getOwnPropertySymbols(obj)\nexport const getPrototypeOf = obj => Object.getPrototypeOf(obj)\nexport const is = (value1, value2) => Object.is(value1, value2)\nexport const isFrozen = obj => Object.isFrozen(obj)\nexport const keys = obj => Object.keys(obj)\n\n// --- \"Instance\" ---\n\nexport const hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\nexport const toString = obj => Object.prototype.toString.call(obj)\n\n// --- Utilities ---\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n * Note object could be a complex type like array, date, etc.\n */\nexport const isObject = obj => obj !== null && typeof obj === 'object'\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nexport const isPlainObject = obj => Object.prototype.toString.call(obj) === '[object Object]'\n\n/**\n * Shallow copy an object. If the passed in object\n * is null or undefined, returns an empty object\n */\nexport const clone = obj => ({ ...obj })\n\n/**\n * Return a shallow copy of object with\n * the specified properties omitted\n * @link https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n */\nexport const omit = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) === -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n/**\n * Convenience method to create a read-only descriptor\n */\nexport const readonlyDescriptor = () => ({ enumerable: true, configurable: false, writable: false })\n\n/**\n * Deep-freezes and object, making it immutable / read-only.\n * Returns the same object passed-in, but frozen.\n * Freezes inner object/array/values first.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n * Note: this method will not work for property values using Symbol() as a key\n */\nexport const deepFreeze = obj => {\n // Retrieve the property names defined on object/array\n // Note: `keys` will ignore properties that are keyed by a `Symbol()`\n const props = keys(obj)\n // Iterate over each prop and recursively freeze it\n props.forEach(prop => {\n const value = obj[prop]\n // If value is a plain object or array, we deepFreeze it\n obj[prop] = value && (isPlainObject(value) || isArray(value)) ? deepFreeze(value) : value\n })\n return freeze(obj)\n}\n","/**\n * Utilities to get information about the current environment\n */\n\n// --- Constants ---\n\nexport const hasWindowSupport = typeof window !== 'undefined'\nexport const hasDocumentSupport = typeof document !== 'undefined'\nexport const hasNavigatorSupport = typeof navigator !== 'undefined'\nexport const hasPromiseSupport = typeof Promise !== 'undefined'\nexport const hasMutationObserverSupport =\n typeof MutationObserver !== 'undefined' ||\n typeof WebKitMutationObserver !== 'undefined' ||\n typeof MozMutationObserver !== 'undefined'\n\nexport const isBrowser = hasWindowSupport && hasDocumentSupport && hasNavigatorSupport\n\n// Browser type sniffing\nexport const userAgent = isBrowser ? window.navigator.userAgent.toLowerCase() : ''\n\nexport const isJSDOM = userAgent.indexOf('jsdom') > 0\nexport const isIE = /msie|trident/.test(userAgent)\n\n// Determine if the browser supports the option passive for events\nexport const hasPassiveEventSupport = (() => {\n let passiveEventSupported = false\n if (isBrowser) {\n try {\n const options = {\n get passive() {\n // This function will be called when the browser\n // attempts to access the passive property.\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true\n }\n }\n window.addEventListener('test', options, options)\n window.removeEventListener('test', options, options)\n } catch (err) {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false\n }\n }\n return passiveEventSupported\n})()\n\nexport const hasTouchSupport =\n isBrowser && ('ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0)\n\nexport const hasPointerEventSupport =\n isBrowser && Boolean(window.PointerEvent || window.MSPointerEvent)\n\nexport const hasIntersectionObserverSupport =\n isBrowser &&\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n // 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\n\n// --- Getters ---\n\nexport const getEnv = (key, fallback = null) => {\n const env = typeof process !== 'undefined' && process ? process.env || {} : {}\n if (!key) {\n /* istanbul ignore next */\n return env\n }\n return env[key] || fallback\n}\n\nexport const getNoWarn = () => getEnv('BOOTSTRAP_VUE_NO_WARN')\n","/**\n * SSR safe types\n */\n\nimport { hasWindowSupport } from './env'\n\nconst w = hasWindowSupport ? window : {}\n\nexport const Element = hasWindowSupport ? w.Element : class Element extends Object {}\n\nexport const HTMLElement = hasWindowSupport ? w.HTMLElement : class HTMLElement extends Element {}\n\nexport const SVGElement = hasWindowSupport ? w.SVGElement : class SVGElement extends Element {}\n\nexport const File = hasWindowSupport ? w.File : class File extends Object {}\n","import { isArray } from './array'\nimport { isObject, isPlainObject } from './object'\nimport { File } from './safe-types'\n\n// --- Convenience inspection utilities ---\n\nexport const toType = val => typeof val\n\nexport const toRawType = val => Object.prototype.toString.call(val).slice(8, -1)\n\nexport const toRawTypeLC = val => toRawType(val).toLowerCase()\n\nexport const isUndefined = val => val === undefined\n\nexport const isNull = val => val === null\n\nexport const isEmptyString = val => val === ''\n\nexport const isUndefinedOrNull = val => isUndefined(val) || isNull(val)\n\nexport const isUndefinedOrNullOrEmpty = val => isUndefinedOrNull(val) || isEmptyString(val)\n\nexport const isFunction = val => toType(val) === 'function'\n\nexport const isBoolean = val => toType(val) === 'boolean'\n\nexport const isString = val => toType(val) === 'string'\n\nexport const isNumber = val => toType(val) === 'number'\n\nexport const isPrimitive = val => isBoolean(val) || isString(val) || isNumber(val)\n\nexport const isDate = val => val instanceof Date\n\nexport const isEvent = val => val instanceof Event\n\nexport const isFile = val => val instanceof File\n\nexport const isRegExp = val => toRawType(val) === 'RegExp'\n\nexport const isPromise = val =>\n !isUndefinedOrNull(val) && isFunction(val.then) && isFunction(val.catch)\n\n// Extra convenience named re-exports\nexport { isArray, isObject, isPlainObject }\n","import { isArray, isPlainObject } from './inspect'\nimport { keys } from './object'\n\nexport const cloneDeep = (obj, defaultValue = obj) => {\n if (isArray(obj)) {\n return obj.reduce((result, val) => [...result, cloneDeep(val, val)], [])\n }\n if (isPlainObject(obj)) {\n return keys(obj).reduce(\n (result, key) => ({ ...result, [key]: cloneDeep(obj[key], obj[key]) }),\n {}\n )\n }\n return defaultValue\n}\n\nexport default cloneDeep\n","const identity = x => x\n\nexport default identity\n","import identity from './identity'\nimport { isArray, isObject } from './inspect'\n\nconst RX_ARRAY_NOTATION = /\\[(\\d+)]/g\n\n/**\n * Get property defined by dot/array notation in string.\n *\n * @link https://gist.github.com/jeneg/9767afdcca45601ea44930ea03e0febf#gistcomment-1935901\n *\n * @param {Object} obj\n * @param {string|Array} path\n * @param {*} defaultValue (optional)\n * @return {*}\n */\nconst get = (obj, path, defaultValue = null) => {\n // Handle array of path values\n path = isArray(path) ? path.join('.') : path\n\n // If no path or no object passed\n if (!path || !isObject(obj)) {\n return defaultValue\n }\n\n // Handle edge case where user has dot(s) in top-level item field key\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2762\n // Switched to `in` operator vs `hasOwnProperty` to handle obj.prototype getters\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3463\n if (path in obj) {\n return obj[path]\n }\n\n // Handle string array notation (numeric indices only)\n path = String(path).replace(RX_ARRAY_NOTATION, '.$1')\n\n const steps = path.split('.').filter(identity)\n\n // Handle case where someone passes a string of only dots\n if (steps.length === 0) {\n return defaultValue\n }\n\n // Traverse path in object to find result\n // We use `!=` vs `!==` to test for both `null` and `undefined`\n // Switched to `in` operator vs `hasOwnProperty` to handle obj.prototype getters\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3463\n return steps.every(step => isObject(obj) && step in obj && (obj = obj[step]) != null)\n ? obj\n : defaultValue\n}\n\nexport default get\n","import { isBrowser, hasPromiseSupport, hasMutationObserverSupport, getNoWarn } from './env'\n\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\nexport const warn = (message, source = null) => /* istanbul ignore next */ {\n if (!getNoWarn()) {\n console.warn(`[BootstrapVue warn]: ${source ? `${source} - ` : ''}${message}`)\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNotClient = source => {\n /* istanbul ignore else */\n if (isBrowser) {\n return false\n } else {\n warn(`${source}: Can not be called during SSR.`)\n return true\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoPromiseSupport = source => {\n /* istanbul ignore else */\n if (hasPromiseSupport) {\n return false\n } else {\n warn(`${source}: Requires Promise support.`)\n return true\n }\n}\n\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoMutationObserverSupport = source => {\n /* istanbul ignore else */\n if (hasMutationObserverSupport) {\n return false\n } else {\n warn(`${source}: Requires MutationObserver support.`)\n return true\n }\n}\n","import { deepFreeze } from './object'\n\n// --- General BootstrapVue configuration ---\n\n// NOTES\n//\n// The global config SHALL NOT be used to set defaults for Boolean props, as the props\n// would loose their semantic meaning, and force people writing 3rd party components to\n// explicity set a true or false value using the v-bind syntax on boolean props\n//\n// Supported config values (depending on the prop's supported type(s)):\n// `String`, `Array`, `Object`, `null` or `undefined`\n\n// BREAKPOINT DEFINITIONS\n//\n// Some components (`` and ``) generate props based on breakpoints,\n// and this occurs when the component is first loaded (evaluated), which may happen\n// before the config is created/modified\n//\n// To get around this we make these components' props async (lazy evaluation)\n// The component definition is only called/executed when the first access to the\n// component is used (and cached on subsequent uses)\n\n// PROP DEFAULTS\n//\n// For default values on props, we use the default value factory function approach so\n// that the default values are pulled in at each component instantiation\n//\n// props: {\n// variant: {\n// type: String,\n// default: () => getConfigComponent('BAlert', 'variant')\n// }\n// }\n//\n// We also provide a cached getter for breakpoints, which are \"frozen\" on first access\n\n// prettier-ignore\nexport default deepFreeze({\n // Breakpoints\n breakpoints: ['xs', 'sm', 'md', 'lg', 'xl'],\n\n // Form controls\n formControls: {\n size: null\n },\n\n // Component specific defaults are keyed by the component\n // name (PascalCase) and prop name (camelCase)\n BAlert: {\n dismissLabel: 'Close',\n variant: 'info'\n },\n BBadge: {\n variant: 'secondary'\n },\n BButton: {\n size: null,\n variant: 'secondary'\n },\n BButtonClose: {\n content: '×',\n // `textVariant` is `null` to inherit the current text color\n textVariant: null,\n ariaLabel: 'Close'\n },\n BCalendar: {\n // BFormDate will choose these first if not provided in BFormDate section\n labelPrevYear: 'Previous year',\n labelPrevMonth: 'Previous month',\n labelCurrentMonth: 'Current month',\n labelNextMonth: 'Next month',\n labelNextYear: 'Next year',\n labelToday: 'Today',\n labelSelected: 'Selected date',\n labelNoDateSelected: 'No date selected',\n labelCalendar: 'Calendar',\n labelNav: 'Calendar navigation',\n labelHelp: 'Use cursor keys to navigate calendar dates'\n },\n BCardSubTitle: {\n // `` and `` also inherit this prop\n subTitleTextVariant: 'muted'\n },\n BCarousel: {\n labelPrev: 'Previous Slide',\n labelNext: 'Next Slide',\n labelGotoSlide: 'Goto Slide',\n labelIndicators: 'Select a slide to display'\n },\n BDropdown: {\n toggleText: 'Toggle Dropdown',\n size: null,\n variant: 'secondary',\n splitVariant: null\n },\n BFormDatepicker: {\n // BFormDatepicker will choose from BCalendar first if not provided in BFormDatepicker section\n labelPrevYear: null,\n labelPrevMonth: null,\n labelCurrentMonth: null,\n labelNextMonth: null,\n labelNextYear: null,\n labelToday: null,\n labelSelected: null,\n labelNoDateSelected: null,\n labelCalendar: null,\n labelNav: null,\n labelHelp: null,\n // These props are specific to BFormDatepicker\n labelTodayButton: 'Select today',\n labelResetButton: 'Reset',\n labelCloseButton: 'Close'\n },\n BFormFile: {\n browseText: 'Browse',\n // Chrome default file prompt\n placeholder: 'No file chosen',\n dropPlaceholder: 'Drop files here'\n },\n BFormSpinbutton: {\n labelDecrement: 'Decrement',\n labelIncrement: 'Increment'\n },\n BFormTag: {\n removeLabel: 'Remove tag',\n variant: 'secondary'\n },\n BFormTags: {\n addButtonText: 'Add',\n addButtonVariant: 'outline-secondary',\n duplicateTagText: 'Duplicate tag(s)',\n invalidTagText: 'Invalid tag(s)',\n placeholder: 'Add tag...',\n tagRemoveLabel: 'Remove tag',\n tagRemovedLabel: 'Tag removed',\n tagVariant: 'secondary'\n },\n BFormText: {\n textVariant: 'muted'\n },\n BImg: {\n blankColor: 'transparent'\n },\n BImgLazy: {\n blankColor: 'transparent'\n },\n BInputGroup: {\n size: null\n },\n BJumbotron: {\n bgVariant: null,\n borderVariant: null,\n textVariant: null\n },\n BListGroupItem: {\n variant: null\n },\n BModal: {\n titleTag: 'h5',\n size: 'md',\n headerBgVariant: null,\n headerBorderVariant: null,\n headerTextVariant: null,\n headerCloseVariant: null,\n bodyBgVariant: null,\n bodyTextVariant: null,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerTextVariant: null,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n okTitle: 'OK',\n okVariant: 'primary',\n headerCloseContent: '×',\n headerCloseLabel: 'Close'\n },\n BNavbar: {\n variant: null\n },\n BNavbarToggle: {\n label: 'Toggle navigation'\n },\n BPagination: {\n size: null\n },\n BPaginationNav: {\n size: null\n },\n BPopover: {\n boundary: 'scrollParent',\n boundaryPadding: 5,\n customClass: null,\n delay: 50,\n variant: null\n },\n BProgress: {\n variant: null\n },\n BProgressBar: {\n variant: null\n },\n BSpinner: {\n variant: null\n },\n BTable: {\n selectedVariant: 'active',\n headVariant: null,\n footVariant: null\n },\n BToast: {\n toaster: 'b-toaster-top-right',\n autoHideDelay: 5000,\n variant: null,\n toastClass: null,\n headerClass: null,\n bodyClass: null\n },\n BToaster: {\n ariaLive: null,\n ariaAtomic: null,\n role: null\n },\n BTooltip: {\n boundary: 'scrollParent',\n boundaryPadding: 5,\n customClass: null,\n delay: 50,\n variant: null\n }\n})\n","import OurVue from './vue'\nimport cloneDeep from './clone-deep'\nimport get from './get'\nimport { isArray, isPlainObject, isString, isUndefined } from './inspect'\nimport { getOwnPropertyNames, hasOwnProperty } from './object'\nimport { warn } from './warn'\nimport DEFAULTS from './config-defaults'\n\n// --- Constants ---\n\nconst NAME = 'BvConfig'\nconst PROP_NAME = '$bvConfig'\n\n// Config manager class\nclass BvConfig {\n constructor() {\n // TODO: pre-populate with default config values (needs updated tests)\n // this.$_config = cloneDeep(DEFAULTS)\n this.$_config = {}\n this.$_cachedBreakpoints = null\n }\n\n static get Defaults() /* istanbul ignore next */ {\n return DEFAULTS\n }\n\n get defaults() /* istanbul ignore next */ {\n return DEFAULTS\n }\n\n // Returns the defaults\n getDefaults() /* istanbul ignore next */ {\n return this.defaults\n }\n\n // Method to merge in user config parameters\n setConfig(config = {}) {\n if (!isPlainObject(config)) {\n /* istanbul ignore next */\n return\n }\n const configKeys = getOwnPropertyNames(config)\n configKeys.forEach(cmpName => {\n /* istanbul ignore next */\n if (!hasOwnProperty(DEFAULTS, cmpName)) {\n warn(`Unknown config property \"${cmpName}\"`, NAME)\n return\n }\n const cmpConfig = config[cmpName]\n if (cmpName === 'breakpoints') {\n // Special case for breakpoints\n const breakpoints = config.breakpoints\n /* istanbul ignore if */\n if (\n !isArray(breakpoints) ||\n breakpoints.length < 2 ||\n breakpoints.some(b => !isString(b) || b.length === 0)\n ) {\n warn('\"breakpoints\" must be an array of at least 2 breakpoint names', NAME)\n } else {\n this.$_config.breakpoints = cloneDeep(breakpoints)\n }\n } else if (isPlainObject(cmpConfig)) {\n // Component prop defaults\n const props = getOwnPropertyNames(cmpConfig)\n props.forEach(prop => {\n /* istanbul ignore if */\n if (!hasOwnProperty(DEFAULTS[cmpName], prop)) {\n warn(`Unknown config property \"${cmpName}.${prop}\"`, NAME)\n } else {\n // TODO: If we pre-populate the config with defaults, we can skip this line\n this.$_config[cmpName] = this.$_config[cmpName] || {}\n if (!isUndefined(cmpConfig[prop])) {\n this.$_config[cmpName][prop] = cloneDeep(cmpConfig[prop])\n }\n }\n })\n }\n })\n }\n\n // Clear the config. For testing purposes only\n resetConfig() {\n this.$_config = {}\n }\n\n // Returns a deep copy of the user config\n getConfig() {\n return cloneDeep(this.$_config)\n }\n\n getConfigValue(key) {\n // First we try the user config, and if key not found we fall back to default value\n // NOTE: If we deep clone DEFAULTS into config, then we can skip the fallback for get\n return cloneDeep(get(this.$_config, key, get(DEFAULTS, key)))\n }\n}\n\n// Method for applying a global config\nexport const setConfig = (config = {}, Vue = OurVue) => {\n // Ensure we have a $bvConfig Object on the Vue prototype.\n // We set on Vue and OurVue just in case consumer has not set an alias of `vue`.\n Vue.prototype[PROP_NAME] = OurVue.prototype[PROP_NAME] =\n Vue.prototype[PROP_NAME] || OurVue.prototype[PROP_NAME] || new BvConfig()\n // Apply the config values\n Vue.prototype[PROP_NAME].setConfig(config)\n}\n\n// Method for resetting the user config. Exported for testing purposes only.\nexport const resetConfig = () => {\n if (OurVue.prototype[PROP_NAME] && OurVue.prototype[PROP_NAME].resetConfig) {\n OurVue.prototype[PROP_NAME].resetConfig()\n }\n}\n","import { create } from './object'\n\nconst memoize = fn => {\n const cache = create(null)\n\n return (...args) => {\n const argsKey = JSON.stringify(args)\n return (cache[argsKey] = cache[argsKey] || fn.apply(null, args))\n }\n}\n\nexport default memoize\n","import Vue from './vue'\nimport cloneDeep from './clone-deep'\nimport get from './get'\nimport memoize from './memoize'\nimport DEFAULTS from './config-defaults'\n\n// --- Constants ---\n\nconst PROP_NAME = '$bvConfig'\nconst VueProto = Vue.prototype\n\n// --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config\n// value, to prevent mutation of the user config object.\n\n// Get the current user config. For testing purposes only\nexport const getConfig = () => {\n return VueProto[PROP_NAME] ? VueProto[PROP_NAME].getConfig() : {}\n}\n\n// Method to grab a config value based on a dotted/array notation key\nexport const getConfigValue = key => {\n return VueProto[PROP_NAME]\n ? VueProto[PROP_NAME].getConfigValue(key)\n : cloneDeep(get(DEFAULTS, key))\n}\n\n// Method to grab a config value for a particular component\nexport const getComponentConfig = (cmpName, key = null) => {\n // Return the particular config value for key for if specified,\n // otherwise we return the full config (or an empty object if not found)\n return key ? getConfigValue(`${cmpName}.${key}`) : getConfigValue(cmpName) || {}\n}\n\n// Convenience method for getting all breakpoint names\nexport const getBreakpoints = () => {\n return getConfigValue('breakpoints')\n}\n\n// Private function for caching / locking-in breakpoint names\nconst _getBreakpointsCached = memoize(() => {\n return getBreakpoints()\n})\n\n// Convenience method for getting all breakpoint names.\n// Caches the results after first access.\nexport const getBreakpointsCached = () => {\n return cloneDeep(_getBreakpointsCached())\n}\n\n// Convenience method for getting breakpoints with\n// the smallest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\nexport const getBreakpointsUp = () => {\n const breakpoints = getBreakpoints()\n breakpoints[0] = ''\n return breakpoints\n}\n\n// Convenience method for getting breakpoints with\n// the smallest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\n// Caches the results after first access.\nexport const getBreakpointsUpCached = memoize(() => {\n const breakpoints = getBreakpointsCached()\n breakpoints[0] = ''\n return breakpoints\n})\n\n// Convenience method for getting breakpoints with\n// the largest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\nexport const getBreakpointsDown = () => {\n const breakpoints = getBreakpoints()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n\n// Convenience method for getting breakpoints with\n// the largest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\n// Caches the results after first access.\n/* istanbul ignore next: we don't use this method anywhere, yet */\nexport const getBreakpointsDownCached = () => /* istanbul ignore next */ {\n const breakpoints = getBreakpointsCached()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n","import { from as arrayFrom } from './array'\nimport { hasWindowSupport, hasDocumentSupport } from './env'\nimport { isFunction, isNull } from '../utils/inspect'\n\n// --- Constants ---\n\nconst w = hasWindowSupport ? window : {}\nconst d = hasDocumentSupport ? document : {}\nconst elProto = typeof Element !== 'undefined' ? Element.prototype : {}\n\n// --- Normalization utils ---\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n/* istanbul ignore next */\nexport const matchesEl =\n elProto.matches || elProto.msMatchesSelector || elProto.webkitMatchesSelector\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n/* istanbul ignore next */\nexport const closestEl =\n elProto.closest ||\n function(sel) /* istanbul ignore next */ {\n let el = this\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el\n }\n el = el.parentElement || el.parentNode\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE)\n return null\n }\n\n// `requestAnimationFrame()` convenience method\nexport const requestAF =\n w.requestAnimationFrame ||\n w.webkitRequestAnimationFrame ||\n w.mozRequestAnimationFrame ||\n w.msRequestAnimationFrame ||\n w.oRequestAnimationFrame ||\n // Fallback, but not a true polyfill\n // Only needed for Opera Mini\n /* istanbul ignore next */\n (cb => setTimeout(cb, 16))\n\nexport const MutationObs =\n w.MutationObserver || w.WebKitMutationObserver || w.MozMutationObserver || null\n\n// --- Utils ---\n\n// Remove a node from DOM\nexport const removeNode = el => el && el.parentNode && el.parentNode.removeChild(el)\n\n// Determine if an element is an HTML element\nexport const isElement = el => !!(el && el.nodeType === Node.ELEMENT_NODE)\n\n// Determine if an HTML element is visible - Faster than CSS check\nexport const isVisible = el => {\n if (!isElement(el) || !el.parentNode || !contains(d.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 if (el.style.display === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n /* istanbul ignore next */\n return false\n }\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 const bcr = getBCR(el)\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n}\n\n// Determine if an element is disabled\nexport const isDisabled = el =>\n !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled')\n\n// Cause/wait-for an element to reflow its content (adjusting its height/width)\nexport const reflow = el => {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight\n}\n\n// Select all elements matching selector. Returns `[]` if none found\nexport const selectAll = (selector, root) =>\n arrayFrom((isElement(root) ? root : d).querySelectorAll(selector))\n\n// Select a single element, returns `null` if not found\nexport const select = (selector, root) =>\n (isElement(root) ? root : d).querySelector(selector) || null\n\n// Determine if an element matches a selector\nexport const matches = (el, selector) => (isElement(el) ? matchesEl.call(el, selector) : false)\n\n// Finds closest element matching selector. Returns `null` if not found\nexport const closest = (selector, root, includeRoot = false) => {\n if (!isElement(root)) {\n return null\n }\n const el = closestEl.call(root, selector)\n\n // 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 return includeRoot ? el : el === root ? null : el\n}\n\n// Returns true if the parent element contains the child element\nexport const contains = (parent, child) =>\n parent && isFunction(parent.contains) ? parent.contains(child) : false\n\n// Get an element given an ID\nexport const getById = id => d.getElementById(/^#/.test(id) ? id.slice(1) : id) || null\n\n// Add a class to an element\nexport const 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}\n\n// Remove a class from an element\nexport const 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}\n\n// Test if an element has a class\nexport const 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 return false\n}\n\n// Set an attribute on an element\nexport const setAttr = (el, attr, val) => {\n if (attr && isElement(el)) {\n el.setAttribute(attr, val)\n }\n}\n\n// Remove an attribute from an element\nexport const removeAttr = (el, attr) => {\n if (attr && isElement(el)) {\n el.removeAttribute(attr)\n }\n}\n\n// Get an attribute value from an element\n// Returns `null` if not found\nexport const getAttr = (el, attr) => (attr && isElement(el) ? el.getAttribute(attr) : null)\n\n// Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\nexport const hasAttr = (el, attr) => (attr && isElement(el) ? el.hasAttribute(attr) : null)\n\n// Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\nexport const getBCR = el => (isElement(el) ? el.getBoundingClientRect() : null)\n\n// Get computed style object for an element\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\nexport const getCS = el => (hasWindowSupport && isElement(el) ? w.getComputedStyle(el) : {})\n\n// Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\nexport const getSel = () => (hasWindowSupport && w.getSelection ? w.getSelection() : null)\n\n// Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\nexport const offset = el => /* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */ {\n const _offset = { top: 0, left: 0 }\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset\n }\n const bcr = getBCR(el)\n if (bcr) {\n const win = el.ownerDocument.defaultView\n _offset.top = bcr.top + win.pageYOffset\n _offset.left = bcr.left + win.pageXOffset\n }\n return _offset\n}\n\n// Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\nexport const position = el => /* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */ {\n let _offset = { top: 0, left: 0 }\n if (!isElement(el)) {\n return _offset\n }\n let parentOffset = { top: 0, left: 0 }\n const elStyles = getCS(el)\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset\n } else {\n _offset = offset(el)\n const doc = el.ownerDocument\n let offsetParent = el.offsetParent || doc.documentElement\n while (\n offsetParent &&\n (offsetParent === doc.body || offsetParent === doc.documentElement) &&\n getCS(offsetParent).position === 'static'\n ) {\n offsetParent = offsetParent.parentNode\n }\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent)\n const offsetParentStyles = getCS(offsetParent)\n parentOffset.top += parseFloat(offsetParentStyles.borderTopWidth)\n parentOffset.left += parseFloat(offsetParentStyles.borderLeftWidth)\n }\n }\n return {\n top: _offset.top - parentOffset.top - parseFloat(elStyles.marginTop),\n left: _offset.left - parentOffset.left - parseFloat(elStyles.marginLeft)\n }\n}\n","// Number utilities\n\n// Converts a value (string, number, etc) to an integer number\n// Assumes radix base 10\n// Returns NaN if the value cannot be converted\nexport const toInteger = val => parseInt(val, 10)\n\n// Converts a value (string, number, etc) to a number\n// Returns NaN if the value cannot be converted\nexport const toFloat = val => parseFloat(val)\n\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\nexport const toFixed = (val, precision) => toFloat(val).toFixed(toInteger(precision) || 0)\n","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r {\n // Ensure names is an array\n names = concat(names).filter(identity)\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n return names.some(name => $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 */\nconst normalizeSlot = (names, scope = {}, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n let slot\n for (let i = 0; i < names.length && !slot; i++) {\n const name = names[i]\n slot = $scopedSlots[name] || $slots[name]\n }\n // Note: in Vue 2.6.x, all named slots are also scoped slots\n return isFunction(slot) ? slot(scope) : slot\n}\n\n// Named exports\nexport { hasNormalizedSlot, normalizeSlot }\n\n// Default export (backwards compatibility)\nexport default normalizeSlot\n","import { hasNormalizedSlot, normalizeSlot } from '../utils/normalize-slot'\nimport { concat } from '../utils/array'\n\nexport default {\n methods: {\n hasNormalizedSlot(names) {\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n // `names` can be a string name or an array of names\n return hasNormalizedSlot(names, this.$scopedSlots, this.$slots)\n },\n normalizeSlot(names, scope = {}) {\n // Returns an array of rendered VNodes if slot found.\n // Returns undefined if not found.\n // `names` can be a string name or an array of names\n const vNodes = normalizeSlot(names, scope, this.$scopedSlots, this.$slots)\n return vNodes ? concat(vNodes) : vNodes\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\nimport { isEvent } from '../../utils/inspect'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\n\nconst NAME = 'BButtonClose'\n\nconst props = {\n content: {\n type: String,\n default: () => getComponentConfig(NAME, 'content')\n },\n disabled: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: () => getComponentConfig(NAME, 'ariaLabel')\n },\n textVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'textVariant')\n }\n}\n\n// @vue/component\nexport const BButtonClose = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n\n const componentData = {\n staticClass: 'close',\n class: {\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click(evt) {\n // Ensure click on button HTML content is also disabled\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(evt)) {\n evt.stopPropagation()\n evt.preventDefault()\n }\n }\n }\n }\n // Careful not to override the default slot with innerHTML\n if (!hasNormalizedSlot('default', $scopedSlots, $slots)) {\n componentData.domProps = { innerHTML: props.content }\n }\n return h(\n 'button',\n mergeData(data, componentData),\n normalizeSlot('default', {}, $scopedSlots, $slots)\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { getComponentConfig } from '../../utils/config'\nimport { requestAF } from '../../utils/dom'\nimport { isBoolean } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport BVTransition from '../../utils/bv-transition'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BButtonClose } from '../button/button-close'\n\nconst NAME = 'BAlert'\n\n// Convert `show` value to a number\nconst parseCountDown = show => {\n if (show === '' || isBoolean(show)) {\n return 0\n }\n show = toInteger(show)\n return show > 0 ? show : 0\n}\n\n// Convert `show` value to a boolean\nconst parseShow = show => {\n if (show === '' || show === true) {\n return true\n }\n if (toInteger(show) < 1) {\n // Boolean will always return false for the above comparison\n return false\n }\n return !!show\n}\n\n// Is a value number like (i.e. a number or a number as string)\nconst isNumericLike = value => !isNaN(toInteger(value))\n\n// @vue/component\nexport const BAlert = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [normalizeSlotMixin],\n model: {\n prop: 'show',\n event: 'input'\n },\n props: {\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n dismissible: {\n type: Boolean,\n default: false\n },\n dismissLabel: {\n type: String,\n default: () => getComponentConfig(NAME, 'dismissLabel')\n },\n show: {\n type: [Boolean, Number, String],\n default: false\n },\n fade: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n countDownTimerId: null,\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this.show)\n }\n },\n watch: {\n show(newVal) {\n this.countDown = parseCountDown(newVal)\n this.localShow = parseShow(newVal)\n },\n countDown(newVal) {\n this.clearTimer()\n if (isNumericLike(this.show)) {\n // Ignore if this.show transitions to a boolean value.\n this.$emit('dismiss-count-down', newVal)\n if (this.show !== newVal) {\n // Update the v-model if needed\n this.$emit('input', newVal)\n }\n if (newVal > 0) {\n this.localShow = true\n this.countDownTimerId = setTimeout(() => {\n this.countDown--\n }, 1000)\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(() => {\n requestAF(() => {\n this.localShow = false\n })\n })\n }\n }\n },\n localShow(newVal) {\n if (!newVal && (this.dismissible || isNumericLike(this.show))) {\n // Only emit dismissed events for dismissible or auto dismissing alerts\n this.$emit('dismissed')\n }\n if (!isNumericLike(this.show) && this.show !== newVal) {\n // Only emit booleans if we weren't passed a number via `this.show`\n this.$emit('input', newVal)\n }\n }\n },\n created() {\n this.countDown = parseCountDown(this.show)\n this.localShow = parseShow(this.show)\n },\n mounted() {\n this.countDown = parseCountDown(this.show)\n this.localShow = parseShow(this.show)\n },\n beforeDestroy() {\n this.clearTimer()\n },\n methods: {\n dismiss() {\n this.clearTimer()\n this.countDown = 0\n this.localShow = false\n },\n clearTimer() {\n if (this.countDownTimerId) {\n clearInterval(this.countDownTimerId)\n this.countDownTimerId = null\n }\n }\n },\n render(h) {\n let $alert // undefined\n if (this.localShow) {\n let $dismissBtn = h()\n if (this.dismissible) {\n // Add dismiss button\n $dismissBtn = h(\n BButtonClose,\n { attrs: { 'aria-label': this.dismissLabel }, on: { click: this.dismiss } },\n [this.normalizeSlot('dismiss')]\n )\n }\n $alert = h(\n 'div',\n {\n key: this._uid,\n staticClass: 'alert',\n class: {\n 'alert-dismissible': this.dismissible,\n [`alert-${this.variant}`]: this.variant\n },\n attrs: { role: 'alert', 'aria-live': 'polite', 'aria-atomic': true }\n },\n [$dismissBtn, this.normalizeSlot('default')]\n )\n $alert = [$alert]\n }\n return h(BVTransition, { props: { noFade: !this.fade } }, $alert)\n }\n})\n","import { BAlert } from './alert'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst AlertPlugin = /*#__PURE__*/ pluginFactory({\n components: { BAlert }\n})\n\nexport { AlertPlugin, BAlert }\n","import identity from './identity'\nimport { isArray } from './inspect'\nimport { keys } from './object'\n\n/**\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 *\n * @param {{}|string[]} keysToPluck\n * @param {{}} objToPluck\n * @param {Function} transformFn\n * @return {{}}\n */\nconst pluckProps = (keysToPluck, objToPluck, transformFn = identity) =>\n (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce((memo, prop) => {\n memo[transformFn(prop)] = objToPluck[prop]\n return memo\n }, {})\n\nexport default pluckProps\n","// String utilities\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'\n\n// --- Constants ---\n\nconst RX_TRIM_LEFT = /^\\s+/\nconst RX_TRIM_RIGHT = /\\s+$/\nconst RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g\nconst RX_UN_KEBAB = /-(\\w)/g\nconst RX_HYPHENATE = /\\B([A-Z])/g\n\n// --- Utilities ---\n\n// Converts PascalCase or camelCase to kebab-case\nexport const kebabCase = str => {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase()\n}\n\n// Converts a kebab-case or camelCase string to PascalCase\nexport const pascalCase = str => {\n str = kebabCase(str).replace(RX_UN_KEBAB, (_, c) => (c ? c.toUpperCase() : ''))\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Lowercases the first letter of a string and returns a new string\nexport const lowerFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toLowerCase() + str.slice(1)\n}\n\n// Uppercases the first letter of a string and returns a new string\nexport const upperFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Escape characters to be used in building a regular expression\nexport const escapeRegExp = str => str.replace(RX_REGEXP_REPLACE, '\\\\$&')\n\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\nexport const toString = (val, spaces = 2) => {\n return isUndefinedOrNull(val)\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === Object.prototype.toString)\n ? JSON.stringify(val, null, spaces)\n : String(val)\n}\n\n// Remove leading white space from a string\nexport const trimLeft = str => toString(str).replace(RX_TRIM_LEFT, '')\n\n// Remove Trailing white space from a string\nexport const trimRight = str => toString(str).replace(RX_TRIM_RIGHT, '')\n\n// Remove leading and trailing white space from a string\nexport const trim = str => toString(str).trim()\n\n// Lower case a string\nexport const lowerCase = str => toString(str).toLowerCase()\n\n// Upper case a string\nexport const upperCase = str => toString(str).toUpperCase()\n","import { isArray, isNull, isPlainObject, isString, isUndefined } from './inspect'\nimport { keys } from './object'\nimport { toString } from './string'\n\nconst ANCHOR_TAG = 'a'\n\n// Precompile RegExp\nconst commaRE = /%2C/g\nconst encodeReserveRE = /[!'()*]/g\nconst plusRE = /\\+/g\nconst queryStartRE = /^(\\?|#|&)/\n\n// Method to replace reserved chars\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16)\n\n// Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nconst encode = str =>\n encodeURIComponent(toString(str))\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ',')\n\nconst decode = decodeURIComponent\n\n// Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\nexport const stringifyQueryObj = obj => {\n if (!isPlainObject(obj)) {\n return ''\n }\n\n const query = keys(obj)\n .map(key => {\n const val = obj[key]\n if (isUndefined(val)) {\n return ''\n } else if (isNull(val)) {\n return encode(key)\n } else if (isArray(val)) {\n return val\n .reduce((results, val2) => {\n if (isNull(val2)) {\n results.push(encode(key))\n } else if (!isUndefined(val2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(val2))\n }\n return results\n }, [])\n .join('&')\n }\n // Faster than string interpolation\n return encode(key) + '=' + encode(val)\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(x => x.length > 0)\n .join('&')\n\n return query ? `?${query}` : ''\n}\n\nexport const parseQuery = query => {\n const parsed = {}\n query = toString(query)\n .trim()\n .replace(queryStartRE, '')\n\n if (!query) {\n return parsed\n }\n\n query.split('&').forEach(param => {\n const parts = param.replace(plusRE, ' ').split('=')\n const key = decode(parts.shift())\n const val = parts.length > 0 ? decode(parts.join('=')) : null\n\n if (isUndefined(parsed[key])) {\n parsed[key] = val\n } else if (isArray(parsed[key])) {\n parsed[key].push(val)\n } else {\n parsed[key] = [parsed[key], val]\n }\n })\n\n return parsed\n}\n\nexport const isRouterLink = tag => toString(tag).toLowerCase() !== ANCHOR_TAG\n\nexport const computeTag = ({ to, disabled } = {}, thisOrParent) => {\n return thisOrParent.$router && to && !disabled\n ? thisOrParent.$nuxt\n ? 'nuxt-link'\n : 'router-link'\n : ANCHOR_TAG\n}\n\nexport const computeRel = ({ target, rel } = {}) => {\n if (target === '_blank' && isNull(rel)) {\n return 'noopener'\n }\n return rel || null\n}\n\nexport const computeHref = (\n { href, to } = {},\n tag = ANCHOR_TAG,\n fallback = '#',\n toFallback = '/'\n) => {\n // We've already checked the $router in computeTag(), so isRouterLink() indicates a live router.\n // When deferring to Vue Router's router-link, don't use the href attribute at all.\n // We return null, and then remove href from the attributes passed to router-link\n if (isRouterLink(tag)) {\n return null\n }\n\n // Return `href` when explicitly provided\n if (href) {\n return href\n }\n\n // Reconstruct `href` when `to` used, but no router\n if (to) {\n // Fallback to `to` prop (if `to` is a string)\n if (isString(to)) {\n return to || toFallback\n }\n // Fallback to `to.path + to.query + to.hash` prop (if `to` is an object)\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n const path = toString(to.path)\n const query = stringifyQueryObj(to.query)\n let hash = toString(to.hash)\n hash = !hash || hash.charAt(0) === '#' ? hash : `#${hash}`\n return `${path}${query}${hash}` || toFallback\n }\n }\n\n // If nothing is provided return the fallback\n return fallback\n}\n","import Vue from '../../utils/vue'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { concat } from '../../utils/array'\nimport { isEvent, isFunction, isUndefined } from '../../utils/inspect'\nimport { computeHref, computeRel, computeTag, isRouterLink } from '../../utils/router'\n\n/**\n * The Link component is used in many other BV components.\n * As such, sharing its props makes supporting all its features easier.\n * However, some components need to modify the defaults for their own purpose.\n * Prefer sharing a fresh copy of the props to ensure mutations\n * do not affect other component references to the props.\n *\n * https://github.com/vuejs/vue-router/blob/dev/src/components/link.js\n * @return {{}}\n */\nexport const propsFactory = () => ({\n href: {\n type: String,\n default: null\n },\n rel: {\n type: String,\n default: null\n },\n target: {\n type: String,\n default: '_self'\n },\n active: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n // router-link specific props\n to: {\n type: [String, Object],\n default: null\n },\n append: {\n type: Boolean,\n default: false\n },\n replace: {\n type: Boolean,\n default: false\n },\n event: {\n type: [String, Array],\n default: 'click'\n },\n activeClass: {\n type: String\n // default: undefined\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactActiveClass: {\n type: String\n // default: undefined\n },\n routerTag: {\n type: String,\n default: 'a'\n },\n // nuxt-link specific prop(s)\n noPrefetch: {\n type: Boolean,\n default: false\n }\n})\n\nexport const props = propsFactory()\n\n// @vue/component\nexport const BLink = /*#__PURE__*/ Vue.extend({\n name: 'BLink',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n props: propsFactory(),\n computed: {\n computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n return computeTag({ to: this.to, disabled: this.disabled }, this)\n },\n isRouterLink() {\n return isRouterLink(this.computedTag)\n },\n computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n return computeRel({ target: this.target, rel: this.rel })\n },\n computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n return computeHref({ to: this.to, href: this.href }, this.computedTag)\n },\n computedProps() {\n return this.isRouterLink ? { ...this.$props, tag: this.routerTag } : {}\n }\n },\n methods: {\n onClick(evt) {\n const evtIsEvent = isEvent(evt)\n const isRouterLink = this.isRouterLink\n const suppliedHandler = this.$listeners.click\n if (evtIsEvent && this.disabled) {\n // Stop event from bubbling up\n evt.stopPropagation()\n // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing its thing\n evt.stopImmediatePropagation()\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && evt.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', evt)` on its Vue instance\n evt.currentTarget.__vue__.$emit('click', evt)\n }\n // Call the suppliedHandler(s), if any provided\n concat(suppliedHandler)\n .filter(h => isFunction(h))\n .forEach(handler => {\n handler(...arguments)\n })\n // Emit the global `$root` click event\n this.$root.$emit('clicked::link', evt)\n }\n // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n if (evtIsEvent && (this.disabled || (!isRouterLink && this.computedHref === '#'))) {\n evt.preventDefault()\n }\n },\n focus() {\n if (this.$el && this.$el.focus) {\n this.$el.focus()\n }\n },\n blur() {\n if (this.$el && this.$el.blur) {\n this.$el.blur()\n }\n }\n },\n render(h) {\n const tag = this.computedTag\n const rel = this.computedRel\n const href = this.computedHref\n const isRouterLink = this.isRouterLink\n\n const componentData = {\n class: { active: this.active, disabled: this.disabled },\n attrs: {\n ...this.$attrs,\n rel,\n target: this.target,\n tabindex: this.disabled\n ? '-1'\n : isUndefined(this.$attrs.tabindex)\n ? null\n : this.$attrs.tabindex,\n 'aria-disabled': this.disabled ? 'true' : null\n },\n props: this.computedProps\n }\n // Add the event handlers. We must use `nativeOn` for\n // ``/`` instead of `on`\n componentData[isRouterLink ? 'nativeOn' : 'on'] = {\n // Transfer all listeners (native) to the root element\n ...this.$listeners,\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 // If href attribute exists on (even undefined or null) it fails working on\n // SSR, so we explicitly add it here if needed (i.e. if computedHref() is truthy)\n if (href) {\n componentData.attrs.href = href\n } else {\n // Ensure the prop HREF does not exist for router links\n delete componentData.props.href\n }\n\n return h(tag, componentData, this.normalizeSlot('default'))\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\nimport pluckProps from '../../utils/pluck-props'\nimport { BLink, propsFactory as linkPropsFactory } from '../link/link'\n\nconst NAME = 'BBadge'\n\nconst linkProps = linkPropsFactory()\ndelete linkProps.href.default\ndelete linkProps.to.default\n\nexport const props = {\n ...linkProps,\n tag: {\n type: String,\n default: 'span'\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n pill: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BBadge = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const isBLink = props.href || props.to\n const tag = isBLink ? BLink : props.tag\n\n const componentData = {\n staticClass: 'badge',\n class: [\n props.variant ? `badge-${props.variant}` : 'badge-secondary',\n {\n 'badge-pill': props.pill,\n active: props.active,\n disabled: props.disabled\n }\n ],\n props: isBLink ? pluckProps(linkProps, props) : {}\n }\n\n return h(tag, mergeData(data, componentData), children)\n }\n})\n","import { BBadge } from './badge'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst BadgePlugin = /*#__PURE__*/ pluginFactory({\n components: { BBadge }\n})\n\nexport { BadgePlugin, BBadge }\n","const stripTagsRegex = /(<([^>]+)>)/gi\n\n// Removes any thing that looks like an HTML tag from the supplied string\nexport const stripTags = (text = '') => String(text).replace(stripTagsRegex, '')\n\n// Generate a domProps object for either innerHTML, textContent or nothing\nexport const htmlOrText = (innerHTML, textContent) => {\n return innerHTML ? { innerHTML } : textContent ? { textContent } : {}\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport pluckProps from '../../utils/pluck-props'\nimport { htmlOrText } from '../../utils/html'\nimport { BLink, propsFactory as linkPropsFactory } from '../link/link'\n\nexport const props = {\n ...linkPropsFactory(),\n text: {\n type: String,\n default: null\n },\n html: {\n type: String,\n default: null\n },\n ariaCurrent: {\n type: String,\n default: 'location'\n }\n}\n\n// @vue/component\nexport const BBreadcrumbLink = /*#__PURE__*/ Vue.extend({\n name: 'BBreadcrumbLink',\n functional: true,\n props,\n render(h, { props: suppliedProps, data, children }) {\n const tag = suppliedProps.active ? 'span' : BLink\n\n const componentData = { props: pluckProps(props, suppliedProps) }\n if (suppliedProps.active) {\n componentData.attrs = { 'aria-current': suppliedProps.ariaCurrent }\n }\n\n if (!children) {\n componentData.domProps = htmlOrText(suppliedProps.html, suppliedProps.text)\n }\n\n return h(tag, mergeData(data, componentData), children)\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { BBreadcrumbLink, props } from './breadcrumb-link'\n\n// @vue/component\nexport const BBreadcrumbItem = /*#__PURE__*/ Vue.extend({\n name: 'BBreadcrumbItem',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n 'li',\n mergeData(data, {\n staticClass: 'breadcrumb-item',\n class: { active: props.active }\n }),\n [h(BBreadcrumbLink, { props }, children)]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { isArray, isObject } from '../../utils/inspect'\nimport { toString } from '../../utils/string'\nimport { BBreadcrumbItem } from './breadcrumb-item'\n\nexport const props = {\n items: {\n type: Array,\n default: null\n }\n}\n\n// @vue/component\nexport const BBreadcrumb = /*#__PURE__*/ Vue.extend({\n name: 'BBreadcrumb',\n functional: true,\n props,\n render(h, { props, data, children }) {\n let childNodes = children\n // Build child nodes from items if given.\n if (isArray(props.items)) {\n let activeDefined = false\n childNodes = props.items.map((item, idx) => {\n if (!isObject(item)) {\n item = { text: toString(item) }\n }\n // Copy the value here so we can normalize it.\n let active = item.active\n if (active) {\n activeDefined = true\n }\n if (!active && !activeDefined) {\n // Auto-detect active by position in list.\n active = idx + 1 === props.items.length\n }\n\n return h(BBreadcrumbItem, { props: { ...item, active } })\n })\n }\n\n return h('ol', mergeData(data, { staticClass: 'breadcrumb' }), childNodes)\n }\n})\n","import { BBreadcrumb } from './breadcrumb'\nimport { BBreadcrumbItem } from './breadcrumb-item'\nimport { BBreadcrumbLink } from './breadcrumb-link'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst BreadcrumbPlugin = /*#__PURE__*/ pluginFactory({\n components: { BBreadcrumb, BBreadcrumbItem, BBreadcrumbLink }\n})\n\nexport { BreadcrumbPlugin, BBreadcrumb, BBreadcrumbItem, BBreadcrumbLink }\n","/*\n * Key Codes (events)\n */\nimport { freeze } from './object'\n\nconst KEY_CODES = freeze({\n SPACE: 32,\n ENTER: 13,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n PAGEUP: 33,\n PAGEDOWN: 34,\n HOME: 36,\n END: 35,\n TAB: 9,\n SHIFT: 16,\n CTRL: 17,\n BACKSPACE: 8,\n ALT: 18,\n PAUSE: 19,\n BREAK: 19,\n INSERT: 45,\n INS: 45,\n DELETE: 46\n})\n\nexport default KEY_CODES\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport KeyCodes from '../../utils/key-codes'\nimport pluckProps from '../../utils/pluck-props'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { addClass, removeClass } from '../../utils/dom'\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect'\nimport { keys } from '../../utils/object'\nimport { toString } from '../../utils/string'\nimport { BLink, propsFactory as linkPropsFactory } from '../link/link'\n\n// --- Constants --\n\nconst NAME = 'BButton'\n\nconst btnProps = {\n block: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: () => getComponentConfig(NAME, 'size')\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n type: {\n type: String,\n default: 'button'\n },\n tag: {\n type: String,\n default: 'button'\n },\n pill: {\n type: Boolean,\n default: false\n },\n squared: {\n type: Boolean,\n default: false\n },\n pressed: {\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n type: Boolean,\n default: null\n }\n}\n\nconst linkProps = linkPropsFactory()\ndelete linkProps.href.default\ndelete linkProps.to.default\nconst linkPropKeys = keys(linkProps)\n\nexport const props = { ...linkProps, ...btnProps }\n\n// --- Helper methods ---\n\n// Returns `true` if a tag's name equals `name`\nconst tagIs = (tag, name) => toString(tag).toLowerCase() === toString(name).toLowerCase()\n\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\nconst handleFocus = evt => {\n if (evt.type === 'focusin') {\n addClass(evt.target, 'focus')\n } else if (evt.type === 'focusout') {\n removeClass(evt.target, 'focus')\n }\n}\n\n// Is the requested button a link?\n// If tag prop is set to `a`, we use a to get proper disabled handling\nconst isLink = props => props.href || props.to || tagIs(props.tag, 'a')\n\n// Is the button to be a toggle button?\nconst isToggle = props => isBoolean(props.pressed)\n\n// Is the button \"really\" a button?\nconst isButton = props => !(isLink(props) || (props.tag && !tagIs(props.tag, 'button')))\n\n// Is the requested tag not a button or link?\nconst isNonStandardTag = props => !isLink(props) && !isButton(props)\n\n// Compute required classes (non static classes)\nconst computeClass = props => [\n `btn-${props.variant || getComponentConfig(NAME, 'variant')}`,\n {\n [`btn-${props.size}`]: props.size,\n 'btn-block': props.block,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared && !props.pill,\n disabled: props.disabled,\n active: props.pressed\n }\n]\n\n// Compute the link props to pass to b-link (if required)\nconst computeLinkProps = props => (isLink(props) ? pluckProps(linkPropKeys, props) : null)\n\n// Compute the attributes for a button\nconst computeAttrs = (props, data) => {\n const button = isButton(props)\n const link = isLink(props)\n const toggle = isToggle(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const role = data.attrs && data.attrs.role ? data.attrs.role : null\n let tabindex = data.attrs ? data.attrs.tabindex : null\n if (nonStandardTag || hashLink) {\n tabindex = '0'\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}\n\n// @vue/component\nexport const BButton = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, listeners, children }) {\n const toggle = isToggle(props)\n const link = isLink(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const on = {\n keydown(evt) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for SPACE/ENTER\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return\n }\n const { keyCode } = evt\n // Add SPACE handler for `href=\"#\"` and ENTER handler for non-standard tags\n if (keyCode === KeyCodes.SPACE || (keyCode === KeyCodes.ENTER && nonStandardTag)) {\n const target = evt.currentTarget || evt.target\n evt.preventDefault()\n target.click()\n }\n },\n click(evt) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(evt)) {\n evt.stopPropagation()\n evt.preventDefault()\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(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 const componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on\n }\n\n return h(link ? BLink : props.tag, mergeData(data, componentData), children)\n }\n})\n","import { BButton } from './button'\nimport { BButtonClose } from './button-close'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ButtonPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BButton,\n BBtn: BButton,\n BButtonClose,\n BBtnClose: BButtonClose\n }\n})\n\nexport { ButtonPlugin, BButton, BButtonClose }\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\n\nconst NAME = 'BButtonGroup'\n\nexport const props = {\n vertical: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: () => getComponentConfig('BButton', 'size')\n },\n tag: {\n type: String,\n default: 'div'\n },\n ariaRole: {\n type: String,\n default: 'group'\n }\n}\n\n// @vue/component\nexport const BButtonGroup = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical,\n [`btn-group-${props.size}`]: props.size\n },\n attrs: { role: props.ariaRole }\n }),\n children\n )\n }\n})\n","import { BButtonGroup } from './button-group'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ButtonGroupPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BButtonGroup,\n BBtnGroup: BButtonGroup\n }\n})\n\nexport { ButtonGroupPlugin, BButtonGroup }\n","import Vue from '../../utils/vue'\nimport { isVisible, selectAll } from '../../utils/dom'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport KeyCodes from '../../utils/key-codes'\n\nconst ITEM_SELECTOR = [\n '.btn:not(.disabled):not([disabled]):not(.dropdown-item)',\n '.form-control:not(.disabled):not([disabled])',\n 'select:not(.disabled):not([disabled])',\n 'input[type=\"checkbox\"]:not(.disabled)',\n 'input[type=\"radio\"]:not(.disabled)'\n].join(',')\n\n// @vue/component\nexport const BButtonToolbar = /*#__PURE__*/ Vue.extend({\n name: 'BButtonToolbar',\n mixins: [normalizeSlotMixin],\n props: {\n justify: {\n type: Boolean,\n default: false\n },\n keyNav: {\n type: Boolean,\n default: false\n }\n },\n mounted() {\n if (this.keyNav) {\n // Pre-set the tabindexes if the markup does not include tabindex=\"-1\" on the toolbar items\n this.getItems()\n }\n },\n methods: {\n onFocusin(evt) {\n if (evt.target === this.$el) {\n evt.preventDefault()\n evt.stopPropagation()\n this.focusFirst(evt)\n }\n },\n stop(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n },\n onKeydown(evt) {\n if (!this.keyNav) {\n /* istanbul ignore next: should never happen */\n return\n }\n const key = evt.keyCode\n const shift = evt.shiftKey\n if (key === KeyCodes.UP || key === KeyCodes.LEFT) {\n this.stop(evt)\n shift ? this.focusFirst(evt) : this.focusPrev(evt)\n } else if (key === KeyCodes.DOWN || key === KeyCodes.RIGHT) {\n this.stop(evt)\n shift ? this.focusLast(evt) : this.focusNext(evt)\n }\n },\n setItemFocus(item) {\n item && item.focus && item.focus()\n },\n focusFirst() {\n const items = this.getItems()\n this.setItemFocus(items[0])\n },\n focusPrev(evt) {\n let items = this.getItems()\n const index = items.indexOf(evt.target)\n if (index > -1) {\n items = items.slice(0, index).reverse()\n this.setItemFocus(items[0])\n }\n },\n focusNext(evt) {\n let items = this.getItems()\n const index = items.indexOf(evt.target)\n if (index > -1) {\n items = items.slice(index + 1)\n this.setItemFocus(items[0])\n }\n },\n focusLast() {\n const items = this.getItems().reverse()\n this.setItemFocus(items[0])\n },\n getItems() {\n const items = selectAll(ITEM_SELECTOR, this.$el)\n items.forEach(item => {\n // Ensure tabfocus is -1 on any new elements\n item.tabIndex = -1\n })\n return items.filter(el => isVisible(el))\n }\n },\n render(h) {\n return h(\n 'div',\n {\n staticClass: 'btn-toolbar',\n class: { 'justify-content-between': this.justify },\n attrs: {\n role: 'toolbar',\n tabindex: this.keyNav ? '0' : null\n },\n on: this.keyNav\n ? {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n }\n : {}\n },\n [this.normalizeSlot('default')]\n )\n }\n})\n","import { BButtonToolbar } from './button-toolbar'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ButtonToolbarPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BButtonToolbar,\n BBtnToolbar: BButtonToolbar\n }\n})\n\nexport { ButtonToolbarPlugin, BButtonToolbar }\n","import { keys } from './object'\nimport { isArray, isDate, isObject } from './inspect'\n\n// Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\nconst compareArrays = (a, b) => {\n if (a.length !== b.length) {\n return false\n }\n let equal = true\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i])\n }\n return equal\n}\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 */\nconst looseEqual = (a, b) => {\n if (a === b) {\n return true\n }\n let aValidType = isDate(a)\n let bValidType = isDate(b)\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false\n }\n aValidType = isArray(a)\n bValidType = isArray(b)\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false\n }\n aValidType = isObject(a)\n bValidType = isObject(b)\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false\n }\n const aKeysCount = keys(a).length\n const bKeysCount = keys(b).length\n if (aKeysCount !== bKeysCount) {\n return false\n }\n for (const key in a) {\n // eslint-disable-next-line no-prototype-builtins\n const aHasKey = a.hasOwnProperty(key)\n // eslint-disable-next-line no-prototype-builtins\n const bHasKey = b.hasOwnProperty(key)\n if ((aHasKey && !bHasKey) || (!aHasKey && bHasKey) || !looseEqual(a[key], b[key])) {\n return false\n }\n }\n }\n return String(a) === String(b)\n}\n\nexport default looseEqual\n","// Date utility functions\nimport identity from './identity'\nimport { concat } from './array'\nimport { isDate, isString } from './inspect'\nimport { toInteger } from './number'\n\n// --- Constants ---\n\nconst RX_DATE = /^\\d+-\\d+-\\d+$/\n\n// --- Date utility methods ---\n\n// Create or clone a date (`new Date(...)` shortcut)\nexport const createDate = (...args) => new Date(...args)\n\n// Parse a date sting, or Date object, into a Date object (with no time information)\nexport const parseYMD = date => {\n if (isString(date) && RX_DATE.test(date.trim())) {\n const [year, month, day] = date.split('-').map(toInteger)\n return createDate(year, month - 1, day)\n } else if (isDate(date)) {\n return createDate(date.getFullYear(), date.getMonth(), date.getDate())\n }\n return null\n}\n\n// Format a date object as `YYYY-MM-DD` format\nexport const formatYMD = date => {\n date = parseYMD(date)\n if (!date) {\n return null\n }\n const year = date.getFullYear()\n const month = `0${date.getMonth() + 1}`.slice(-2)\n const day = `0${date.getDate()}`.slice(-2)\n return `${year}-${month}-${day}`\n}\n\n// Given a locale (or locales), resolve the browser available locale\nexport const resolveLocale = (locales, calendar = 'gregory') => /* istanbul ignore next */ {\n locales = concat(locales).filter(identity)\n const fmt = new Intl.DateTimeFormat(locales, { calendar: calendar })\n return fmt.resolvedOptions().locale\n}\n\n// Create a `Intl.DateTimeFormat` formatter function\nexport const createDateFormatter = (locale, options) => /* istanbul ignore next */ {\n const dtf = new Intl.DateTimeFormat(locale, options)\n return dtf.format\n}\n\n// Determine if two dates are the same date (ignoring time portion)\nexport const datesEqual = (date1, date2) => {\n // Returns true of the date portion of two date objects are equal\n // We don't compare the time portion\n return formatYMD(date1) === formatYMD(date2)\n}\n\n// --- Date \"math\" utility methods (for BCalendar component mainly) ---\n\nexport const firstDateOfMonth = date => {\n date = createDate(date)\n date.setDate(1)\n return date\n}\n\nexport const lastDateOfMonth = date => {\n date = createDate(date)\n date.setMonth(date.getMonth() + 1)\n date.setDate(0)\n return date\n}\n\nexport const oneMonthAgo = date => {\n date = createDate(date)\n const month = date.getMonth()\n date.setMonth(month - 1)\n if (date.getMonth() === month) {\n date.setDate(0)\n }\n return date\n}\n\nexport const oneMonthAhead = date => {\n date = createDate(date)\n const month = date.getMonth()\n date.setMonth(month + 1)\n if (date.getMonth() === (month + 2) % 12) {\n date.setDate(0)\n }\n return date\n}\n\nexport const oneYearAgo = date => {\n date = createDate(date)\n const month = date.getMonth()\n date.setMonth(month - 12)\n if (date.getMonth() !== month) {\n date.setDate(0)\n }\n return date\n}\n\nexport const oneYearAhead = date => {\n date = createDate(date)\n const month = date.getMonth()\n date.setMonth(month + 12)\n if (date.getMonth() !== month) {\n date.setDate(0)\n }\n return date\n}\n","/*\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.\n */\n\n// @vue/component\nexport default {\n props: {\n id: {\n type: String,\n default: null\n }\n },\n data() {\n return {\n localId_: null\n }\n },\n computed: {\n safeId() {\n // Computed property that returns a dynamic function for creating the ID.\n // Reacts to changes in both .id and .localId_ And regens a new function\n const id = this.id || this.localId_\n\n // 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 const fn = suffix => {\n if (!id) {\n return null\n }\n suffix = String(suffix || '').replace(/\\s+/g, '_')\n return suffix ? id + '_' + suffix : id\n }\n return fn\n }\n },\n mounted() {\n // mounted only occurs client side\n this.$nextTick(() => {\n // Update dom with auto ID after dom loaded to prevent\n // SSR hydration errors.\n this.localId_ = `__BVID__${this._uid}`\n })\n }\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport identity from '../../utils/identity'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { toFloat } from '../../utils/number'\n\n// Common icon props (should be cloned/spread before using)\nexport const commonIconProps = {\n variant: {\n type: String,\n default: null\n },\n fontScale: {\n type: [Number, String],\n default: 1\n },\n scale: {\n type: [Number, String],\n default: 1\n },\n rotate: {\n type: [Number, String],\n default: 0\n },\n flipH: {\n type: Boolean,\n default: false\n },\n flipV: {\n type: Boolean,\n default: false\n },\n shiftH: {\n type: [Number, String],\n default: 0\n },\n shiftV: {\n type: [Number, String],\n default: 0\n }\n}\n\n// Base attributes needed on all icons\nconst baseAttrs = {\n width: '1em',\n height: '1em',\n viewBox: '0 0 20 20',\n focusable: 'false',\n role: 'img',\n alt: 'icon'\n}\n\n// Shared private base component to reduce bundle/runtime size\n// @vue/component\nexport const BVIconBase = /*#__PURE__*/ Vue.extend({\n name: 'BVIconBase',\n functional: true,\n props: {\n content: {\n type: String\n },\n stacked: {\n type: Boolean,\n default: false\n },\n ...commonIconProps\n },\n render(h, { data, props, children }) {\n const fontScale = Math.max(toFloat(props.fontScale) || 1, 0) || 1\n const scale = Math.max(toFloat(props.scale) || 1, 0) || 1\n const rotate = toFloat(props.rotate) || 0\n const shiftH = toFloat(props.shiftH) || 0\n const shiftV = toFloat(props.shiftV) || 0\n const flipH = props.flipH\n const flipV = props.flipV\n // Compute the transforms\n // Note that order is important as SVG transforms are applied in order from\n // left to right and we want flipping/scale to occur before rotation\n // Note shifting is applied separately\n // Assumes that the viewbox is `0 0 20 20` (`10 10` is the center)\n const hasScale = flipH || flipV || scale !== 1\n const hasTransforms = hasScale || rotate\n const hasShift = shiftH || shiftV\n const transforms = [\n hasTransforms ? 'translate(10 10)' : null,\n hasScale ? `scale(${(flipH ? -1 : 1) * scale} ${(flipV ? -1 : 1) * scale})` : null,\n rotate ? `rotate(${rotate})` : null,\n hasTransforms ? 'translate(-10 -10)' : null\n ].filter(identity)\n\n // Handling stacked icons\n const isStacked = props.stacked\n const hasContent = !isUndefinedOrNull(props.content)\n\n // We wrap the content in a `` for handling the transforms (except shift)\n let $inner = h(\n 'g',\n {\n attrs: { transform: transforms.join(' ') || null },\n domProps: hasContent ? { innerHTML: props.content || '' } : {}\n },\n children\n )\n\n // If needed, we wrap in an additional `` in order to handle the shifting\n if (hasShift) {\n $inner = h(\n 'g',\n { attrs: { transform: `translate(${(20 * shiftH) / 16} ${(-20 * shiftV) / 16})` } },\n [$inner]\n )\n }\n\n return h(\n 'svg',\n mergeData(\n {\n staticClass: 'b-icon bi',\n class: { [`text-${props.variant}`]: !!props.variant },\n attrs: baseAttrs,\n style: isStacked ? {} : { fontSize: fontScale === 1 ? null : `${fontScale * 100}%` }\n },\n // Merge in user supplied data\n data,\n // If icon is stacked, null out some attrs\n isStacked ? { attrs: { width: null, height: null, role: null, alt: null } } : {},\n // These cannot be overridden by users\n {\n attrs: {\n xmlns: isStacked ? null : 'http://www.w3.org/2000/svg',\n fill: 'currentColor'\n }\n }\n ),\n [$inner]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { kebabCase, pascalCase, trim } from '../../utils/string'\nimport { commonIconProps, BVIconBase } from './icon-base'\n\n/**\n * Icon component generator function\n *\n * @param {string} icon name (minus the leading `BIcon`)\n * @param {string} raw `innerHTML` for SVG\n * @return {VueComponent}\n */\nexport const makeIcon = (name, content) => {\n // For performance reason we pre-compute some values, so that\n // they are not computed on each render of the icon component\n const iconName = `BIcon${pascalCase(name)}`\n const iconNameClass = `bi-${kebabCase(name)}`\n const svgContent = trim(content || '')\n // Return the icon component definition\n return /*#__PURE__*/ Vue.extend({\n name: iconName,\n functional: true,\n props: {\n ...commonIconProps,\n stacked: {\n type: Boolean,\n default: false\n }\n },\n render(h, { data, props }) {\n return h(\n BVIconBase,\n mergeData(data, { staticClass: iconNameClass, props: { ...props, content: svgContent } })\n )\n }\n })\n}\n","// --- BEGIN AUTO-GENERATED FILE ---\n//\n// @IconsVersion: 1.0.0-alpha2\n// @Generated: 2020-02-18T22:15:15.803Z\n//\n// This file is generated on each build. Do not edit this file!\n\n/*!\n * BootstrapVue Icons, generated from Bootstrap Icons 1.0.0-alpha2\n *\n * @link https://icons.getbootstrap.com/\n * @license MIT\n * https://github.com/twbs/icons/blob/master/LICENSE.md\n */\n\nimport { makeIcon } from './helpers/make-icon'\n\n// --- BootstrapVue custom icons ---\n\nexport const BIconBlank = /*#__PURE__*/ makeIcon('Blank', '')\n\n// --- Bootstrap Icons ---\n\nexport const BIconAlarm = /*#__PURE__*/ makeIcon(\n 'Alarm',\n ''\n)\n\nexport const BIconAlarmFill = /*#__PURE__*/ makeIcon(\n 'AlarmFill',\n ''\n)\n\nexport const BIconAlertCircle = /*#__PURE__*/ makeIcon(\n 'AlertCircle',\n ''\n)\n\nexport const BIconAlertCircleFill = /*#__PURE__*/ makeIcon(\n 'AlertCircleFill',\n ''\n)\n\nexport const BIconAlertOctagon = /*#__PURE__*/ makeIcon(\n 'AlertOctagon',\n ''\n)\n\nexport const BIconAlertOctagonFill = /*#__PURE__*/ makeIcon(\n 'AlertOctagonFill',\n ''\n)\n\nexport const BIconAlertSquare = /*#__PURE__*/ makeIcon(\n 'AlertSquare',\n ''\n)\n\nexport const BIconAlertSquareFill = /*#__PURE__*/ makeIcon(\n 'AlertSquareFill',\n ''\n)\n\nexport const BIconAlertTriangle = /*#__PURE__*/ makeIcon(\n 'AlertTriangle',\n ''\n)\n\nexport const BIconAlertTriangleFill = /*#__PURE__*/ makeIcon(\n 'AlertTriangleFill',\n ''\n)\n\nexport const BIconArchive = /*#__PURE__*/ makeIcon(\n 'Archive',\n ''\n)\n\nexport const BIconArchiveFill = /*#__PURE__*/ makeIcon(\n 'ArchiveFill',\n ''\n)\n\nexport const BIconArrowBarBottom = /*#__PURE__*/ makeIcon(\n 'ArrowBarBottom',\n ''\n)\n\nexport const BIconArrowBarLeft = /*#__PURE__*/ makeIcon(\n 'ArrowBarLeft',\n ''\n)\n\nexport const BIconArrowBarRight = /*#__PURE__*/ makeIcon(\n 'ArrowBarRight',\n ''\n)\n\nexport const BIconArrowBarUp = /*#__PURE__*/ makeIcon(\n 'ArrowBarUp',\n ''\n)\n\nexport const BIconArrowClockwise = /*#__PURE__*/ makeIcon(\n 'ArrowClockwise',\n ''\n)\n\nexport const BIconArrowCounterclockwise = /*#__PURE__*/ makeIcon(\n 'ArrowCounterclockwise',\n ''\n)\n\nexport const BIconArrowDown = /*#__PURE__*/ makeIcon(\n 'ArrowDown',\n ''\n)\n\nexport const BIconArrowDownLeft = /*#__PURE__*/ makeIcon(\n 'ArrowDownLeft',\n ''\n)\n\nexport const BIconArrowDownRight = /*#__PURE__*/ makeIcon(\n 'ArrowDownRight',\n ''\n)\n\nexport const BIconArrowDownShort = /*#__PURE__*/ makeIcon(\n 'ArrowDownShort',\n ''\n)\n\nexport const BIconArrowLeft = /*#__PURE__*/ makeIcon(\n 'ArrowLeft',\n ''\n)\n\nexport const BIconArrowLeftRight = /*#__PURE__*/ makeIcon(\n 'ArrowLeftRight',\n ''\n)\n\nexport const BIconArrowLeftShort = /*#__PURE__*/ makeIcon(\n 'ArrowLeftShort',\n ''\n)\n\nexport const BIconArrowRepeat = /*#__PURE__*/ makeIcon(\n 'ArrowRepeat',\n ''\n)\n\nexport const BIconArrowRight = /*#__PURE__*/ makeIcon(\n 'ArrowRight',\n ''\n)\n\nexport const BIconArrowRightShort = /*#__PURE__*/ makeIcon(\n 'ArrowRightShort',\n ''\n)\n\nexport const BIconArrowUp = /*#__PURE__*/ makeIcon(\n 'ArrowUp',\n ''\n)\n\nexport const BIconArrowUpDown = /*#__PURE__*/ makeIcon(\n 'ArrowUpDown',\n ''\n)\n\nexport const BIconArrowUpLeft = /*#__PURE__*/ makeIcon(\n 'ArrowUpLeft',\n ''\n)\n\nexport const BIconArrowUpRight = /*#__PURE__*/ makeIcon(\n 'ArrowUpRight',\n ''\n)\n\nexport const BIconArrowUpShort = /*#__PURE__*/ makeIcon(\n 'ArrowUpShort',\n ''\n)\n\nexport const BIconArrowsAngleContract = /*#__PURE__*/ makeIcon(\n 'ArrowsAngleContract',\n ''\n)\n\nexport const BIconArrowsAngleExpand = /*#__PURE__*/ makeIcon(\n 'ArrowsAngleExpand',\n ''\n)\n\nexport const BIconArrowsCollapse = /*#__PURE__*/ makeIcon(\n 'ArrowsCollapse',\n ''\n)\n\nexport const BIconArrowsExpand = /*#__PURE__*/ makeIcon(\n 'ArrowsExpand',\n ''\n)\n\nexport const BIconArrowsFullscreen = /*#__PURE__*/ makeIcon(\n 'ArrowsFullscreen',\n ''\n)\n\nexport const BIconAt = /*#__PURE__*/ makeIcon(\n 'At',\n ''\n)\n\nexport const BIconAward = /*#__PURE__*/ makeIcon(\n 'Award',\n ''\n)\n\nexport const BIconBackspace = /*#__PURE__*/ makeIcon(\n 'Backspace',\n ''\n)\n\nexport const BIconBackspaceFill = /*#__PURE__*/ makeIcon(\n 'BackspaceFill',\n ''\n)\n\nexport const BIconBackspaceReverse = /*#__PURE__*/ makeIcon(\n 'BackspaceReverse',\n ''\n)\n\nexport const BIconBackspaceReverseFill = /*#__PURE__*/ makeIcon(\n 'BackspaceReverseFill',\n ''\n)\n\nexport const BIconBarChart = /*#__PURE__*/ makeIcon(\n 'BarChart',\n ''\n)\n\nexport const BIconBarChartFill = /*#__PURE__*/ makeIcon(\n 'BarChartFill',\n ''\n)\n\nexport const BIconBattery = /*#__PURE__*/ makeIcon(\n 'Battery',\n ''\n)\n\nexport const BIconBatteryCharging = /*#__PURE__*/ makeIcon(\n 'BatteryCharging',\n ''\n)\n\nexport const BIconBatteryFull = /*#__PURE__*/ makeIcon(\n 'BatteryFull',\n ''\n)\n\nexport const BIconBell = /*#__PURE__*/ makeIcon(\n 'Bell',\n ''\n)\n\nexport const BIconBellFill = /*#__PURE__*/ makeIcon(\n 'BellFill',\n ''\n)\n\nexport const BIconBlockquoteLeft = /*#__PURE__*/ makeIcon(\n 'BlockquoteLeft',\n ''\n)\n\nexport const BIconBlockquoteRight = /*#__PURE__*/ makeIcon(\n 'BlockquoteRight',\n ''\n)\n\nexport const BIconBook = /*#__PURE__*/ makeIcon(\n 'Book',\n ''\n)\n\nexport const BIconBookHalfFill = /*#__PURE__*/ makeIcon(\n 'BookHalfFill',\n ''\n)\n\nexport const BIconBookmark = /*#__PURE__*/ makeIcon(\n 'Bookmark',\n ''\n)\n\nexport const BIconBookmarkFill = /*#__PURE__*/ makeIcon(\n 'BookmarkFill',\n ''\n)\n\nexport const BIconBootstrap = /*#__PURE__*/ makeIcon(\n 'Bootstrap',\n ''\n)\n\nexport const BIconBootstrapFill = /*#__PURE__*/ makeIcon(\n 'BootstrapFill',\n ''\n)\n\nexport const BIconBootstrapReboot = /*#__PURE__*/ makeIcon(\n 'BootstrapReboot',\n ''\n)\n\nexport const BIconBoxArrowBottomLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowBottomLeft',\n ''\n)\n\nexport const BIconBoxArrowBottomRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowBottomRight',\n ''\n)\n\nexport const BIconBoxArrowDown = /*#__PURE__*/ makeIcon(\n 'BoxArrowDown',\n ''\n)\n\nexport const BIconBoxArrowLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowLeft',\n ''\n)\n\nexport const BIconBoxArrowRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowRight',\n ''\n)\n\nexport const BIconBoxArrowUp = /*#__PURE__*/ makeIcon(\n 'BoxArrowUp',\n ''\n)\n\nexport const BIconBoxArrowUpLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowUpLeft',\n ''\n)\n\nexport const BIconBoxArrowUpRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowUpRight',\n ''\n)\n\nexport const BIconBraces = /*#__PURE__*/ makeIcon(\n 'Braces',\n ''\n)\n\nexport const BIconBrightnessFillHigh = /*#__PURE__*/ makeIcon(\n 'BrightnessFillHigh',\n ''\n)\n\nexport const BIconBrightnessFillLow = /*#__PURE__*/ makeIcon(\n 'BrightnessFillLow',\n ''\n)\n\nexport const BIconBrightnessHigh = /*#__PURE__*/ makeIcon(\n 'BrightnessHigh',\n ''\n)\n\nexport const BIconBrightnessLow = /*#__PURE__*/ makeIcon(\n 'BrightnessLow',\n ''\n)\n\nexport const BIconBrush = /*#__PURE__*/ makeIcon(\n 'Brush',\n ''\n)\n\nexport const BIconBucket = /*#__PURE__*/ makeIcon(\n 'Bucket',\n ''\n)\n\nexport const BIconBucketFill = /*#__PURE__*/ makeIcon(\n 'BucketFill',\n ''\n)\n\nexport const BIconBuilding = /*#__PURE__*/ makeIcon(\n 'Building',\n ''\n)\n\nexport const BIconBullseye = /*#__PURE__*/ makeIcon(\n 'Bullseye',\n ''\n)\n\nexport const BIconCalendar = /*#__PURE__*/ makeIcon(\n 'Calendar',\n ''\n)\n\nexport const BIconCalendarFill = /*#__PURE__*/ makeIcon(\n 'CalendarFill',\n ''\n)\n\nexport const BIconCamera = /*#__PURE__*/ makeIcon(\n 'Camera',\n ''\n)\n\nexport const BIconCameraVideo = /*#__PURE__*/ makeIcon(\n 'CameraVideo',\n ''\n)\n\nexport const BIconCameraVideoFill = /*#__PURE__*/ makeIcon(\n 'CameraVideoFill',\n ''\n)\n\nexport const BIconCapslock = /*#__PURE__*/ makeIcon(\n 'Capslock',\n ''\n)\n\nexport const BIconCapslockFill = /*#__PURE__*/ makeIcon(\n 'CapslockFill',\n ''\n)\n\nexport const BIconChat = /*#__PURE__*/ makeIcon(\n 'Chat',\n ''\n)\n\nexport const BIconChatFill = /*#__PURE__*/ makeIcon(\n 'ChatFill',\n ''\n)\n\nexport const BIconCheck = /*#__PURE__*/ makeIcon(\n 'Check',\n ''\n)\n\nexport const BIconCheckBox = /*#__PURE__*/ makeIcon(\n 'CheckBox',\n ''\n)\n\nexport const BIconCheckCircle = /*#__PURE__*/ makeIcon(\n 'CheckCircle',\n ''\n)\n\nexport const BIconChevronCompactDown = /*#__PURE__*/ makeIcon(\n 'ChevronCompactDown',\n ''\n)\n\nexport const BIconChevronCompactLeft = /*#__PURE__*/ makeIcon(\n 'ChevronCompactLeft',\n ''\n)\n\nexport const BIconChevronCompactRight = /*#__PURE__*/ makeIcon(\n 'ChevronCompactRight',\n ''\n)\n\nexport const BIconChevronCompactUp = /*#__PURE__*/ makeIcon(\n 'ChevronCompactUp',\n ''\n)\n\nexport const BIconChevronDown = /*#__PURE__*/ makeIcon(\n 'ChevronDown',\n ''\n)\n\nexport const BIconChevronLeft = /*#__PURE__*/ makeIcon(\n 'ChevronLeft',\n ''\n)\n\nexport const BIconChevronRight = /*#__PURE__*/ makeIcon(\n 'ChevronRight',\n ''\n)\n\nexport const BIconChevronUp = /*#__PURE__*/ makeIcon(\n 'ChevronUp',\n ''\n)\n\nexport const BIconCircle = /*#__PURE__*/ makeIcon(\n 'Circle',\n ''\n)\n\nexport const BIconCircleFill = /*#__PURE__*/ makeIcon(\n 'CircleFill',\n ''\n)\n\nexport const BIconCircleHalf = /*#__PURE__*/ makeIcon(\n 'CircleHalf',\n ''\n)\n\nexport const BIconCircleSlash = /*#__PURE__*/ makeIcon(\n 'CircleSlash',\n ''\n)\n\nexport const BIconClock = /*#__PURE__*/ makeIcon(\n 'Clock',\n ''\n)\n\nexport const BIconClockFill = /*#__PURE__*/ makeIcon(\n 'ClockFill',\n ''\n)\n\nexport const BIconCloud = /*#__PURE__*/ makeIcon(\n 'Cloud',\n ''\n)\n\nexport const BIconCloudDownload = /*#__PURE__*/ makeIcon(\n 'CloudDownload',\n ''\n)\n\nexport const BIconCloudFill = /*#__PURE__*/ makeIcon(\n 'CloudFill',\n ''\n)\n\nexport const BIconCloudUpload = /*#__PURE__*/ makeIcon(\n 'CloudUpload',\n ''\n)\n\nexport const BIconCode = /*#__PURE__*/ makeIcon(\n 'Code',\n ''\n)\n\nexport const BIconCodeSlash = /*#__PURE__*/ makeIcon(\n 'CodeSlash',\n ''\n)\n\nexport const BIconColumns = /*#__PURE__*/ makeIcon(\n 'Columns',\n ''\n)\n\nexport const BIconColumnsGutters = /*#__PURE__*/ makeIcon(\n 'ColumnsGutters',\n ''\n)\n\nexport const BIconCommand = /*#__PURE__*/ makeIcon(\n 'Command',\n ''\n)\n\nexport const BIconCompass = /*#__PURE__*/ makeIcon(\n 'Compass',\n ''\n)\n\nexport const BIconCone = /*#__PURE__*/ makeIcon(\n 'Cone',\n ''\n)\n\nexport const BIconConeStriped = /*#__PURE__*/ makeIcon(\n 'ConeStriped',\n ''\n)\n\nexport const BIconController = /*#__PURE__*/ makeIcon(\n 'Controller',\n ''\n)\n\nexport const BIconCreditCard = /*#__PURE__*/ makeIcon(\n 'CreditCard',\n ''\n)\n\nexport const BIconCursor = /*#__PURE__*/ makeIcon(\n 'Cursor',\n ''\n)\n\nexport const BIconCursorFill = /*#__PURE__*/ makeIcon(\n 'CursorFill',\n ''\n)\n\nexport const BIconDash = /*#__PURE__*/ makeIcon(\n 'Dash',\n ''\n)\n\nexport const BIconDiamond = /*#__PURE__*/ makeIcon(\n 'Diamond',\n ''\n)\n\nexport const BIconDiamondHalf = /*#__PURE__*/ makeIcon(\n 'DiamondHalf',\n ''\n)\n\nexport const BIconDisplay = /*#__PURE__*/ makeIcon(\n 'Display',\n ''\n)\n\nexport const BIconDisplayFill = /*#__PURE__*/ makeIcon(\n 'DisplayFill',\n ''\n)\n\nexport const BIconDocument = /*#__PURE__*/ makeIcon(\n 'Document',\n ''\n)\n\nexport const BIconDocumentCode = /*#__PURE__*/ makeIcon(\n 'DocumentCode',\n ''\n)\n\nexport const BIconDocumentDiff = /*#__PURE__*/ makeIcon(\n 'DocumentDiff',\n ''\n)\n\nexport const BIconDocumentRichtext = /*#__PURE__*/ makeIcon(\n 'DocumentRichtext',\n ''\n)\n\nexport const BIconDocumentSpreadsheet = /*#__PURE__*/ makeIcon(\n 'DocumentSpreadsheet',\n ''\n)\n\nexport const BIconDocumentText = /*#__PURE__*/ makeIcon(\n 'DocumentText',\n ''\n)\n\nexport const BIconDocuments = /*#__PURE__*/ makeIcon(\n 'Documents',\n ''\n)\n\nexport const BIconDocumentsAlt = /*#__PURE__*/ makeIcon(\n 'DocumentsAlt',\n ''\n)\n\nexport const BIconDot = /*#__PURE__*/ makeIcon(\n 'Dot',\n ''\n)\n\nexport const BIconDownload = /*#__PURE__*/ makeIcon(\n 'Download',\n ''\n)\n\nexport const BIconEggFried = /*#__PURE__*/ makeIcon(\n 'EggFried',\n ''\n)\n\nexport const BIconEject = /*#__PURE__*/ makeIcon(\n 'Eject',\n ''\n)\n\nexport const BIconEjectFill = /*#__PURE__*/ makeIcon(\n 'EjectFill',\n ''\n)\n\nexport const BIconEnvelope = /*#__PURE__*/ makeIcon(\n 'Envelope',\n ''\n)\n\nexport const BIconEnvelopeFill = /*#__PURE__*/ makeIcon(\n 'EnvelopeFill',\n ''\n)\n\nexport const BIconEnvelopeOpen = /*#__PURE__*/ makeIcon(\n 'EnvelopeOpen',\n ''\n)\n\nexport const BIconEnvelopeOpenFill = /*#__PURE__*/ makeIcon(\n 'EnvelopeOpenFill',\n ''\n)\n\nexport const BIconEye = /*#__PURE__*/ makeIcon(\n 'Eye',\n ''\n)\n\nexport const BIconEyeFill = /*#__PURE__*/ makeIcon(\n 'EyeFill',\n ''\n)\n\nexport const BIconEyeSlash = /*#__PURE__*/ makeIcon(\n 'EyeSlash',\n ''\n)\n\nexport const BIconEyeSlashFill = /*#__PURE__*/ makeIcon(\n 'EyeSlashFill',\n ''\n)\n\nexport const BIconFilter = /*#__PURE__*/ makeIcon(\n 'Filter',\n ''\n)\n\nexport const BIconFlag = /*#__PURE__*/ makeIcon(\n 'Flag',\n ''\n)\n\nexport const BIconFlagFill = /*#__PURE__*/ makeIcon(\n 'FlagFill',\n ''\n)\n\nexport const BIconFolder = /*#__PURE__*/ makeIcon(\n 'Folder',\n ''\n)\n\nexport const BIconFolderFill = /*#__PURE__*/ makeIcon(\n 'FolderFill',\n ''\n)\n\nexport const BIconFolderSymlink = /*#__PURE__*/ makeIcon(\n 'FolderSymlink',\n ''\n)\n\nexport const BIconFolderSymlinkFill = /*#__PURE__*/ makeIcon(\n 'FolderSymlinkFill',\n ''\n)\n\nexport const BIconFonts = /*#__PURE__*/ makeIcon(\n 'Fonts',\n ''\n)\n\nexport const BIconForward = /*#__PURE__*/ makeIcon(\n 'Forward',\n ''\n)\n\nexport const BIconForwardFill = /*#__PURE__*/ makeIcon(\n 'ForwardFill',\n ''\n)\n\nexport const BIconGear = /*#__PURE__*/ makeIcon(\n 'Gear',\n ''\n)\n\nexport const BIconGearFill = /*#__PURE__*/ makeIcon(\n 'GearFill',\n ''\n)\n\nexport const BIconGearWide = /*#__PURE__*/ makeIcon(\n 'GearWide',\n ''\n)\n\nexport const BIconGearWideConnected = /*#__PURE__*/ makeIcon(\n 'GearWideConnected',\n ''\n)\n\nexport const BIconGeo = /*#__PURE__*/ makeIcon(\n 'Geo',\n ''\n)\n\nexport const BIconGraphDown = /*#__PURE__*/ makeIcon(\n 'GraphDown',\n ''\n)\n\nexport const BIconGraphUp = /*#__PURE__*/ makeIcon(\n 'GraphUp',\n ''\n)\n\nexport const BIconGrid = /*#__PURE__*/ makeIcon(\n 'Grid',\n ''\n)\n\nexport const BIconGridFill = /*#__PURE__*/ makeIcon(\n 'GridFill',\n ''\n)\n\nexport const BIconHammer = /*#__PURE__*/ makeIcon(\n 'Hammer',\n ''\n)\n\nexport const BIconHash = /*#__PURE__*/ makeIcon(\n 'Hash',\n ''\n)\n\nexport const BIconHeart = /*#__PURE__*/ makeIcon(\n 'Heart',\n ''\n)\n\nexport const BIconHeartFill = /*#__PURE__*/ makeIcon(\n 'HeartFill',\n ''\n)\n\nexport const BIconHouse = /*#__PURE__*/ makeIcon(\n 'House',\n ''\n)\n\nexport const BIconHouseFill = /*#__PURE__*/ makeIcon(\n 'HouseFill',\n ''\n)\n\nexport const BIconImage = /*#__PURE__*/ makeIcon(\n 'Image',\n ''\n)\n\nexport const BIconImageAlt = /*#__PURE__*/ makeIcon(\n 'ImageAlt',\n ''\n)\n\nexport const BIconImageFill = /*#__PURE__*/ makeIcon(\n 'ImageFill',\n ''\n)\n\nexport const BIconImages = /*#__PURE__*/ makeIcon(\n 'Images',\n ''\n)\n\nexport const BIconInbox = /*#__PURE__*/ makeIcon(\n 'Inbox',\n ''\n)\n\nexport const BIconInboxFill = /*#__PURE__*/ makeIcon(\n 'InboxFill',\n ''\n)\n\nexport const BIconInboxes = /*#__PURE__*/ makeIcon(\n 'Inboxes',\n ''\n)\n\nexport const BIconInboxesFill = /*#__PURE__*/ makeIcon(\n 'InboxesFill',\n ''\n)\n\nexport const BIconInfo = /*#__PURE__*/ makeIcon(\n 'Info',\n ''\n)\n\nexport const BIconInfoFill = /*#__PURE__*/ makeIcon(\n 'InfoFill',\n ''\n)\n\nexport const BIconInfoSquare = /*#__PURE__*/ makeIcon(\n 'InfoSquare',\n ''\n)\n\nexport const BIconInfoSquareFill = /*#__PURE__*/ makeIcon(\n 'InfoSquareFill',\n ''\n)\n\nexport const BIconJustify = /*#__PURE__*/ makeIcon(\n 'Justify',\n ''\n)\n\nexport const BIconJustifyLeft = /*#__PURE__*/ makeIcon(\n 'JustifyLeft',\n ''\n)\n\nexport const BIconJustifyRight = /*#__PURE__*/ makeIcon(\n 'JustifyRight',\n ''\n)\n\nexport const BIconKanban = /*#__PURE__*/ makeIcon(\n 'Kanban',\n ''\n)\n\nexport const BIconKanbanFill = /*#__PURE__*/ makeIcon(\n 'KanbanFill',\n ''\n)\n\nexport const BIconLaptop = /*#__PURE__*/ makeIcon(\n 'Laptop',\n ''\n)\n\nexport const BIconLayoutSidebar = /*#__PURE__*/ makeIcon(\n 'LayoutSidebar',\n ''\n)\n\nexport const BIconLayoutSidebarReverse = /*#__PURE__*/ makeIcon(\n 'LayoutSidebarReverse',\n ''\n)\n\nexport const BIconLayoutSplit = /*#__PURE__*/ makeIcon(\n 'LayoutSplit',\n ''\n)\n\nexport const BIconList = /*#__PURE__*/ makeIcon(\n 'List',\n ''\n)\n\nexport const BIconListCheck = /*#__PURE__*/ makeIcon(\n 'ListCheck',\n ''\n)\n\nexport const BIconListOl = /*#__PURE__*/ makeIcon(\n 'ListOl',\n ''\n)\n\nexport const BIconListTask = /*#__PURE__*/ makeIcon(\n 'ListTask',\n ''\n)\n\nexport const BIconListUl = /*#__PURE__*/ makeIcon(\n 'ListUl',\n ''\n)\n\nexport const BIconLock = /*#__PURE__*/ makeIcon(\n 'Lock',\n ''\n)\n\nexport const BIconLockFill = /*#__PURE__*/ makeIcon(\n 'LockFill',\n ''\n)\n\nexport const BIconMap = /*#__PURE__*/ makeIcon(\n 'Map',\n ''\n)\n\nexport const BIconMic = /*#__PURE__*/ makeIcon(\n 'Mic',\n ''\n)\n\nexport const BIconMoon = /*#__PURE__*/ makeIcon(\n 'Moon',\n ''\n)\n\nexport const BIconMusicPlayer = /*#__PURE__*/ makeIcon(\n 'MusicPlayer',\n ''\n)\n\nexport const BIconMusicPlayerFill = /*#__PURE__*/ makeIcon(\n 'MusicPlayerFill',\n ''\n)\n\nexport const BIconOption = /*#__PURE__*/ makeIcon(\n 'Option',\n ''\n)\n\nexport const BIconOutlet = /*#__PURE__*/ makeIcon(\n 'Outlet',\n ''\n)\n\nexport const BIconPause = /*#__PURE__*/ makeIcon(\n 'Pause',\n ''\n)\n\nexport const BIconPauseFill = /*#__PURE__*/ makeIcon(\n 'PauseFill',\n ''\n)\n\nexport const BIconPen = /*#__PURE__*/ makeIcon(\n 'Pen',\n ''\n)\n\nexport const BIconPencil = /*#__PURE__*/ makeIcon(\n 'Pencil',\n ''\n)\n\nexport const BIconPeople = /*#__PURE__*/ makeIcon(\n 'People',\n ''\n)\n\nexport const BIconPeopleFill = /*#__PURE__*/ makeIcon(\n 'PeopleFill',\n ''\n)\n\nexport const BIconPerson = /*#__PURE__*/ makeIcon(\n 'Person',\n ''\n)\n\nexport const BIconPersonFill = /*#__PURE__*/ makeIcon(\n 'PersonFill',\n ''\n)\n\nexport const BIconPhone = /*#__PURE__*/ makeIcon(\n 'Phone',\n ''\n)\n\nexport const BIconPhoneLandscape = /*#__PURE__*/ makeIcon(\n 'PhoneLandscape',\n ''\n)\n\nexport const BIconPieChart = /*#__PURE__*/ makeIcon(\n 'PieChart',\n ''\n)\n\nexport const BIconPieChartFill = /*#__PURE__*/ makeIcon(\n 'PieChartFill',\n ''\n)\n\nexport const BIconPlay = /*#__PURE__*/ makeIcon(\n 'Play',\n ''\n)\n\nexport const BIconPlayFill = /*#__PURE__*/ makeIcon(\n 'PlayFill',\n ''\n)\n\nexport const BIconPlug = /*#__PURE__*/ makeIcon(\n 'Plug',\n ''\n)\n\nexport const BIconPlus = /*#__PURE__*/ makeIcon(\n 'Plus',\n ''\n)\n\nexport const BIconPower = /*#__PURE__*/ makeIcon(\n 'Power',\n ''\n)\n\nexport const BIconQuestion = /*#__PURE__*/ makeIcon(\n 'Question',\n ''\n)\n\nexport const BIconQuestionFill = /*#__PURE__*/ makeIcon(\n 'QuestionFill',\n ''\n)\n\nexport const BIconQuestionSquare = /*#__PURE__*/ makeIcon(\n 'QuestionSquare',\n ''\n)\n\nexport const BIconQuestionSquareFill = /*#__PURE__*/ makeIcon(\n 'QuestionSquareFill',\n ''\n)\n\nexport const BIconReply = /*#__PURE__*/ makeIcon(\n 'Reply',\n ''\n)\n\nexport const BIconReplyAll = /*#__PURE__*/ makeIcon(\n 'ReplyAll',\n ''\n)\n\nexport const BIconReplyAllFill = /*#__PURE__*/ makeIcon(\n 'ReplyAllFill',\n ''\n)\n\nexport const BIconReplyFill = /*#__PURE__*/ makeIcon(\n 'ReplyFill',\n ''\n)\n\nexport const BIconScrewdriver = /*#__PURE__*/ makeIcon(\n 'Screwdriver',\n ''\n)\n\nexport const BIconSearch = /*#__PURE__*/ makeIcon(\n 'Search',\n ''\n)\n\nexport const BIconShield = /*#__PURE__*/ makeIcon(\n 'Shield',\n ''\n)\n\nexport const BIconShieldFill = /*#__PURE__*/ makeIcon(\n 'ShieldFill',\n ''\n)\n\nexport const BIconShieldLock = /*#__PURE__*/ makeIcon(\n 'ShieldLock',\n ''\n)\n\nexport const BIconShieldLockFill = /*#__PURE__*/ makeIcon(\n 'ShieldLockFill',\n ''\n)\n\nexport const BIconShieldShaded = /*#__PURE__*/ makeIcon(\n 'ShieldShaded',\n ''\n)\n\nexport const BIconShift = /*#__PURE__*/ makeIcon(\n 'Shift',\n ''\n)\n\nexport const BIconShiftFill = /*#__PURE__*/ makeIcon(\n 'ShiftFill',\n ''\n)\n\nexport const BIconSkipBackward = /*#__PURE__*/ makeIcon(\n 'SkipBackward',\n ''\n)\n\nexport const BIconSkipBackwardFill = /*#__PURE__*/ makeIcon(\n 'SkipBackwardFill',\n ''\n)\n\nexport const BIconSkipEnd = /*#__PURE__*/ makeIcon(\n 'SkipEnd',\n ''\n)\n\nexport const BIconSkipEndFill = /*#__PURE__*/ makeIcon(\n 'SkipEndFill',\n ''\n)\n\nexport const BIconSkipForward = /*#__PURE__*/ makeIcon(\n 'SkipForward',\n ''\n)\n\nexport const BIconSkipForwardFill = /*#__PURE__*/ makeIcon(\n 'SkipForwardFill',\n ''\n)\n\nexport const BIconSkipStart = /*#__PURE__*/ makeIcon(\n 'SkipStart',\n ''\n)\n\nexport const BIconSkipStartFill = /*#__PURE__*/ makeIcon(\n 'SkipStartFill',\n ''\n)\n\nexport const BIconSpeaker = /*#__PURE__*/ makeIcon(\n 'Speaker',\n ''\n)\n\nexport const BIconSquare = /*#__PURE__*/ makeIcon(\n 'Square',\n ''\n)\n\nexport const BIconSquareFill = /*#__PURE__*/ makeIcon(\n 'SquareFill',\n ''\n)\n\nexport const BIconSquareHalf = /*#__PURE__*/ makeIcon(\n 'SquareHalf',\n ''\n)\n\nexport const BIconStar = /*#__PURE__*/ makeIcon(\n 'Star',\n ''\n)\n\nexport const BIconStarFill = /*#__PURE__*/ makeIcon(\n 'StarFill',\n ''\n)\n\nexport const BIconStarHalf = /*#__PURE__*/ makeIcon(\n 'StarHalf',\n ''\n)\n\nexport const BIconStop = /*#__PURE__*/ makeIcon(\n 'Stop',\n ''\n)\n\nexport const BIconStopFill = /*#__PURE__*/ makeIcon(\n 'StopFill',\n ''\n)\n\nexport const BIconStopwatch = /*#__PURE__*/ makeIcon(\n 'Stopwatch',\n ''\n)\n\nexport const BIconStopwatchFill = /*#__PURE__*/ makeIcon(\n 'StopwatchFill',\n ''\n)\n\nexport const BIconSun = /*#__PURE__*/ makeIcon(\n 'Sun',\n ''\n)\n\nexport const BIconTable = /*#__PURE__*/ makeIcon(\n 'Table',\n ''\n)\n\nexport const BIconTablet = /*#__PURE__*/ makeIcon(\n 'Tablet',\n ''\n)\n\nexport const BIconTabletLandscape = /*#__PURE__*/ makeIcon(\n 'TabletLandscape',\n ''\n)\n\nexport const BIconTag = /*#__PURE__*/ makeIcon(\n 'Tag',\n ''\n)\n\nexport const BIconTagFill = /*#__PURE__*/ makeIcon(\n 'TagFill',\n ''\n)\n\nexport const BIconTerminal = /*#__PURE__*/ makeIcon(\n 'Terminal',\n ''\n)\n\nexport const BIconTerminalFill = /*#__PURE__*/ makeIcon(\n 'TerminalFill',\n ''\n)\n\nexport const BIconTextCenter = /*#__PURE__*/ makeIcon(\n 'TextCenter',\n ''\n)\n\nexport const BIconTextIndentLeft = /*#__PURE__*/ makeIcon(\n 'TextIndentLeft',\n ''\n)\n\nexport const BIconTextIndentRight = /*#__PURE__*/ makeIcon(\n 'TextIndentRight',\n ''\n)\n\nexport const BIconTextLeft = /*#__PURE__*/ makeIcon(\n 'TextLeft',\n ''\n)\n\nexport const BIconTextRight = /*#__PURE__*/ makeIcon(\n 'TextRight',\n ''\n)\n\nexport const BIconThreeDots = /*#__PURE__*/ makeIcon(\n 'ThreeDots',\n ''\n)\n\nexport const BIconThreeDotsVertical = /*#__PURE__*/ makeIcon(\n 'ThreeDotsVertical',\n ''\n)\n\nexport const BIconToggleOff = /*#__PURE__*/ makeIcon(\n 'ToggleOff',\n ''\n)\n\nexport const BIconToggleOn = /*#__PURE__*/ makeIcon(\n 'ToggleOn',\n ''\n)\n\nexport const BIconToggles = /*#__PURE__*/ makeIcon(\n 'Toggles',\n ''\n)\n\nexport const BIconTools = /*#__PURE__*/ makeIcon(\n 'Tools',\n ''\n)\n\nexport const BIconTrash = /*#__PURE__*/ makeIcon(\n 'Trash',\n ''\n)\n\nexport const BIconTrashFill = /*#__PURE__*/ makeIcon(\n 'TrashFill',\n ''\n)\n\nexport const BIconTriangle = /*#__PURE__*/ makeIcon(\n 'Triangle',\n ''\n)\n\nexport const BIconTriangleFill = /*#__PURE__*/ makeIcon(\n 'TriangleFill',\n ''\n)\n\nexport const BIconTriangleHalf = /*#__PURE__*/ makeIcon(\n 'TriangleHalf',\n ''\n)\n\nexport const BIconTrophy = /*#__PURE__*/ makeIcon(\n 'Trophy',\n ''\n)\n\nexport const BIconTv = /*#__PURE__*/ makeIcon(\n 'Tv',\n ''\n)\n\nexport const BIconTvFill = /*#__PURE__*/ makeIcon(\n 'TvFill',\n ''\n)\n\nexport const BIconType = /*#__PURE__*/ makeIcon(\n 'Type',\n ''\n)\n\nexport const BIconTypeBold = /*#__PURE__*/ makeIcon(\n 'TypeBold',\n ''\n)\n\nexport const BIconTypeH1 = /*#__PURE__*/ makeIcon(\n 'TypeH1',\n ''\n)\n\nexport const BIconTypeH2 = /*#__PURE__*/ makeIcon(\n 'TypeH2',\n ''\n)\n\nexport const BIconTypeH3 = /*#__PURE__*/ makeIcon(\n 'TypeH3',\n ''\n)\n\nexport const BIconTypeItalic = /*#__PURE__*/ makeIcon(\n 'TypeItalic',\n ''\n)\n\nexport const BIconTypeStrikethrough = /*#__PURE__*/ makeIcon(\n 'TypeStrikethrough',\n ''\n)\n\nexport const BIconTypeUnderline = /*#__PURE__*/ makeIcon(\n 'TypeUnderline',\n ''\n)\n\nexport const BIconUnlock = /*#__PURE__*/ makeIcon(\n 'Unlock',\n ''\n)\n\nexport const BIconUnlockFill = /*#__PURE__*/ makeIcon(\n 'UnlockFill',\n ''\n)\n\nexport const BIconUpload = /*#__PURE__*/ makeIcon(\n 'Upload',\n ''\n)\n\nexport const BIconVolumeDown = /*#__PURE__*/ makeIcon(\n 'VolumeDown',\n ''\n)\n\nexport const BIconVolumeDownFill = /*#__PURE__*/ makeIcon(\n 'VolumeDownFill',\n ''\n)\n\nexport const BIconVolumeMute = /*#__PURE__*/ makeIcon(\n 'VolumeMute',\n ''\n)\n\nexport const BIconVolumeMuteFill = /*#__PURE__*/ makeIcon(\n 'VolumeMuteFill',\n ''\n)\n\nexport const BIconVolumeUp = /*#__PURE__*/ makeIcon(\n 'VolumeUp',\n ''\n)\n\nexport const BIconVolumeUpFill = /*#__PURE__*/ makeIcon(\n 'VolumeUpFill',\n ''\n)\n\nexport const BIconWallet = /*#__PURE__*/ makeIcon(\n 'Wallet',\n ''\n)\n\nexport const BIconWatch = /*#__PURE__*/ makeIcon(\n 'Watch',\n ''\n)\n\nexport const BIconWifi = /*#__PURE__*/ makeIcon(\n 'Wifi',\n ''\n)\n\nexport const BIconWindow = /*#__PURE__*/ makeIcon(\n 'Window',\n ''\n)\n\nexport const BIconWrench = /*#__PURE__*/ makeIcon(\n 'Wrench',\n ''\n)\n\nexport const BIconX = /*#__PURE__*/ makeIcon(\n 'X',\n ''\n)\n\nexport const BIconXCircle = /*#__PURE__*/ makeIcon(\n 'XCircle',\n ''\n)\n\nexport const BIconXCircleFill = /*#__PURE__*/ makeIcon(\n 'XCircleFill',\n ''\n)\n\nexport const BIconXOctagon = /*#__PURE__*/ makeIcon(\n 'XOctagon',\n ''\n)\n\nexport const BIconXOctagonFill = /*#__PURE__*/ makeIcon(\n 'XOctagonFill',\n ''\n)\n\nexport const BIconXSquare = /*#__PURE__*/ makeIcon(\n 'XSquare',\n ''\n)\n\nexport const BIconXSquareFill = /*#__PURE__*/ makeIcon(\n 'XSquareFill',\n ''\n)\n\n// --- END AUTO-GENERATED FILE ---\n","import Vue from '../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { commonIconProps, BVIconBase } from './helpers/icon-base'\n\n// @vue/component\nexport const BIconstack = /*#__PURE__*/ Vue.extend({\n name: 'BIconstack',\n functional: true,\n props: { ...commonIconProps },\n render(h, { data, props, children }) {\n return h(\n BVIconBase,\n mergeData(data, { staticClass: 'b-iconstack', props: { ...props, stacked: false } }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport KeyCodes from '../../utils/key-codes'\nimport identity from '../../utils/identity'\nimport looseEqual from '../../utils/loose-equal'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport {\n createDate,\n createDateFormatter,\n datesEqual,\n firstDateOfMonth,\n formatYMD,\n lastDateOfMonth,\n oneMonthAgo,\n oneMonthAhead,\n oneYearAgo,\n oneYearAhead,\n parseYMD,\n resolveLocale\n} from '../../utils/date'\nimport { requestAF } from '../../utils/dom'\nimport { isArray, isFunction, isPlainObject, isString } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { toString } from '../../utils/string'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BIconChevronLeft, BIconCircleFill } from '../../icons/icons'\nimport { BIconstack } from '../../icons/iconstack'\n\n// --- Constants ---\n\nconst NAME = 'BCalendar'\n\n// Key Codes\nconst { UP, DOWN, LEFT, RIGHT, PAGEUP, PAGEDOWN, HOME, END, ENTER, SPACE } = KeyCodes\n\n// Languages that are RTL\nconst RTL_LANGS = [\n 'ar',\n 'az',\n 'ckb',\n 'fa',\n 'he',\n 'ks',\n 'lrc',\n 'mzn',\n 'ps',\n 'sd',\n 'te',\n 'ug',\n 'ur',\n 'yi'\n].map(locale => locale.toLowerCase())\n\n// --- Helper utilities ---\n\nexport const isLocaleRTL = locale => {\n // Determines if the locale is RTL (only single locale supported)\n const parts = toString(locale)\n .toLowerCase()\n .replace(/-u-.+/, '')\n .split('-')\n const locale1 = parts.slice(0, 2).join('-')\n const locale2 = parts[0]\n return arrayIncludes(RTL_LANGS, locale1) || arrayIncludes(RTL_LANGS, locale2)\n}\n\n// --- BCalendar component ---\n\n// @vue/component\nexport const BCalendar = Vue.extend({\n name: NAME,\n mixins: [idMixin, normalizeSlotMixin],\n model: {\n // Even though this is the default that Vue assumes, we need\n // to add it for the docs to reflect that this is the model\n // And also for some validation libraries to work\n prop: 'value',\n event: 'input'\n },\n props: {\n value: {\n type: [String, Date]\n // default: null\n },\n valueAsDate: {\n // Always return the `v-model` value as a date object\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n min: {\n type: [String, Date]\n // default: null\n },\n max: {\n type: [String, Date]\n // default: null\n },\n dateDisabledFn: {\n type: Function\n // default: null\n },\n startWeekday: {\n // `0` (Sunday), `1` (Monday), ... `6` (Saturday)\n // Day of week to start calendar on\n type: [Number, String],\n default: 0\n },\n locale: {\n // Locale(s) to use\n // Default is to use page/browser default setting\n type: [String, Array]\n // default: null\n },\n direction: {\n // 'ltr', 'rtl', or `null` (for auto detect)\n type: String\n // default: null\n },\n selectedVariant: {\n // Variant color to use for the selected date\n type: String,\n default: 'primary'\n },\n todayVariant: {\n // Variant color to use for today's date (defaults to `variant`)\n type: String\n // default: null\n },\n noHighlightToday: {\n // Disable highlighting today's date\n type: Boolean,\n default: false\n },\n dateInfoFn: {\n // Function to set a class of (classes) on the date cell\n // if passed a string or an array\n // TODO:\n // If the function returns an object, look for class prop for classes,\n // and other props for handling events/details/descriptions\n type: Function\n // default: null\n },\n width: {\n // Has no effect if prop `block` is set\n type: String,\n default: '270px'\n },\n block: {\n // Makes calendar the full width of its parent container\n type: Boolean,\n default: false\n },\n hideHeader: {\n // When true makes the selected date header `sr-only`\n type: Boolean,\n default: false\n },\n hidden: {\n // When `true`, renders a comment node, but keeps the component instance active\n // Mainly for , so that we can get the component's value and locale\n // But we might just use separate date formatters, using the resolved locale\n // (adjusted for the gregorian calendar)\n type: Boolean,\n default: false\n },\n ariaControls: {\n type: String\n // default: null\n },\n roleDescription: {\n type: String\n // default: null\n },\n // Labels for buttons and keyboard shortcuts\n labelPrevYear: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelPrevYear')\n },\n labelPrevMonth: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelPrevMonth')\n },\n labelCurrentMonth: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelCurrentMonth')\n },\n labelNextMonth: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNextMonth')\n },\n labelNextYear: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNextYear')\n },\n labelToday: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelToday')\n },\n labelSelected: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelSelected')\n },\n labelNoDateSelected: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNoDateSelected')\n },\n labelCalendar: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelCalendar')\n },\n labelNav: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNav')\n },\n labelHelp: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelHelp')\n }\n },\n data() {\n const selected = formatYMD(this.value) || ''\n return {\n // Selected date\n selectedYMD: selected,\n // Date in calendar grid that has `tabindex` of `0`\n activeYMD: selected || formatYMD(this.getToday()),\n // Will be true if the calendar grid has/contains focus\n gridHasFocus: false,\n // Flag to enable the `aria-live` region(s) after mount\n // to prevent screen reader \"outbursts\" when mounting\n isLive: false\n }\n },\n computed: {\n // TODO: Use computed props to convert `YYYY-MM-DD` to `Date` object\n selectedDate() {\n // Selected as a `Date` object\n return parseYMD(this.selectedYMD)\n },\n activeDate() {\n // Active as a `Date` object\n return parseYMD(this.activeYMD)\n },\n computedMin() {\n return parseYMD(this.min)\n },\n computedMax() {\n return parseYMD(this.max)\n },\n computedWeekStarts() {\n // `startWeekday` is a prop (constrained to `0` through `6`)\n return Math.max(toInteger(this.startWeekday) || 0, 0) % 7\n },\n computedLocale() {\n // Returns the resolved locale used by the calendar\n return resolveLocale(concat(this.locale).filter(identity), 'gregory')\n },\n calendarLocale() {\n // This locale enforces the gregorian calendar (for use in formatter functions)\n // Needed because IE 11 resolves `ar-IR` as islamic-civil calendar\n // and IE 11 (and some other browsers) do not support the `calendar` option\n // And we currently only support the gregorian calendar\n const fmt = new Intl.DateTimeFormat(this.computedLocale, { calendar: 'gregory' })\n const calendar = fmt.resolvedOptions().calendar\n let locale = fmt.resolvedOptions().locale\n /* istanbul ignore if: mainly for IE 11 and a few other browsers, hard to test in JSDOM */\n if (calendar !== 'gregory') {\n // Ensure the locale requests the gregorian calendar\n // Mainly for IE 11, and currently we can't handle non-gregorian calendars\n // TODO: Should we always return this value?\n locale = locale.replace(/-u-.+$/i, '').concat('-u-ca-gregory')\n }\n return locale\n },\n calendarYear() {\n return this.activeDate.getFullYear()\n },\n calendarMonth() {\n return this.activeDate.getMonth()\n },\n calendarFirstDay() {\n return createDate(this.calendarYear, this.calendarMonth, 1)\n },\n calendarDaysInMonth() {\n // We create a new date as to not mutate the original\n const date = createDate(this.calendarFirstDay)\n date.setMonth(date.getMonth() + 1, 0)\n return date.getDate()\n },\n computedVariant() {\n return `btn-${this.selectedVariant || 'primary'}`\n },\n computedTodayVariant() {\n return `btn-outline-${this.todayVariant || this.selectedVariant || 'primary'}`\n },\n isRTL() {\n // `true` if the language requested is RTL\n const dir = toString(this.direction).toLowerCase()\n if (dir === 'rtl') {\n /* istanbul ignore next */\n return true\n } else if (dir === 'ltr') {\n /* istanbul ignore next */\n return false\n }\n return isLocaleRTL(this.computedLocale)\n },\n context() {\n const selectedYMD = this.selectedYMD\n const selectedDate = parseYMD(selectedYMD)\n const activeYMD = this.activeYMD\n const activeDate = parseYMD(activeYMD)\n return {\n // The current value of the `v-model`\n selectedYMD: selectedYMD,\n selectedDate: selectedDate,\n selectedFormatted: selectedDate\n ? this.formatDateString(selectedDate)\n : this.labelNoDateSelected,\n // Which date cell is considered active due to navigation\n activeYMD: activeYMD,\n activeDate: activeDate,\n activeFormatted: activeDate ? this.formatDateString(activeDate) : '',\n // `true` if the date is disabled (when using keyboard navigation)\n disabled: this.dateDisabled(activeDate),\n // Locales used in formatting dates\n locale: this.computedLocale,\n calendarLocale: this.calendarLocale,\n rtl: this.isRTL\n }\n },\n // Computed props that return a function reference\n dateOutOfRange() {\n // Check wether a date is within the min/max range\n // returns a new function ref if the pops change\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n const min = this.computedMin\n const max = this.computedMax\n return date => {\n // Handle both `YYYY-MM-DD` and `Date` objects\n date = parseYMD(date)\n return (min && date < min) || (max && date > max)\n }\n },\n dateDisabled() {\n // Returns a function for validating if a date is within range\n // We grab this variables first to ensure a new function ref\n // is generated when the props value changes\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n const rangeFn = this.dateOutOfRange\n const disabledFn = isFunction(this.dateDisabledFn) ? this.dateDisabledFn : () => false\n // Return the function ref\n return date => {\n // Handle both `YYYY-MM-DD` and `Date` objects\n date = parseYMD(date)\n const ymd = formatYMD(date)\n return !!(rangeFn(date) || disabledFn(ymd, date))\n }\n },\n // Computed props that return date formatter functions\n formatDateString() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n weekday: 'long',\n calendar: 'gregory'\n })\n },\n formatYearMonth() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, {\n year: 'numeric',\n month: 'long',\n calendar: 'gregory'\n })\n },\n formatWeekdayName() {\n return createDateFormatter(this.calendarLocale, { weekday: 'long', calendar: 'gregory' })\n },\n formatWeekdayNameShort() {\n // Used as the header cells\n return createDateFormatter(this.calendarLocale, { weekday: 'short', calendar: 'gregory' })\n },\n formatDay() {\n return createDateFormatter(this.calendarLocale, { day: 'numeric', calendar: 'gregory' })\n },\n // Disabled states for the nav buttons\n prevYearDisabled() {\n const min = this.computedMin\n return this.disabled || (min && lastDateOfMonth(oneYearAgo(this.activeDate)) < min)\n },\n prevMonthDisabled() {\n const min = this.computedMin\n return this.disabled || (min && lastDateOfMonth(oneMonthAgo(this.activeDate)) < min)\n },\n thisMonthDisabled() {\n // TODO: We could/should check if today is out of range\n return this.disabled\n },\n nextMonthDisabled() {\n const max = this.computedMax\n return this.disabled || (max && firstDateOfMonth(oneMonthAhead(this.activeDate)) > max)\n },\n nextYearDisabled() {\n const max = this.computedMax\n return this.disabled || (max && firstDateOfMonth(oneYearAhead(this.activeDate)) > max)\n },\n // Calendar generation\n calendar() {\n const matrix = []\n const firstDay = this.calendarFirstDay\n const calendarYear = firstDay.getFullYear()\n const calendarMonth = firstDay.getMonth()\n const daysInMonth = this.calendarDaysInMonth\n const startIndex = firstDay.getDay() // `0`..`6`\n const weekOffset = (this.computedWeekStarts > startIndex ? 7 : 0) - this.computedWeekStarts\n // TODO: Change `dateInfoFn` to handle events and notes as well as classes\n const dateInfoFn = isFunction(this.dateInfoFn) ? this.dateInfoFn : () => ({})\n // Build the calendar matrix\n let currentDay = 0 - weekOffset - startIndex\n for (let week = 0; week < 6 && currentDay < daysInMonth; week++) {\n // For each week\n matrix[week] = []\n // The following could be a map function\n for (let j = 0; j < 7; j++) {\n // For each day in week\n currentDay++\n const date = createDate(calendarYear, calendarMonth, currentDay)\n const month = date.getMonth()\n const dayYMD = formatYMD(date)\n const dayDisabled = this.dateDisabled(date)\n // TODO: This could be a normalizer method\n let dateInfo = dateInfoFn(dayYMD, parseYMD(dayYMD))\n dateInfo =\n isString(dateInfo) || isArray(dateInfo)\n ? { class: dateInfo }\n : isPlainObject(dateInfo)\n ? { class: '', ...dateInfo }\n : { class: '' }\n matrix[week].push({\n ymd: dayYMD,\n // Cell content\n day: this.formatDay(date),\n label: this.formatDateString(date),\n // Flags for styling\n isThisMonth: month === calendarMonth,\n isDisabled: dayDisabled,\n // TODO: Handle other dateInfo properties such as notes/events\n info: dateInfo\n })\n }\n }\n return matrix\n },\n calendarHeadings() {\n return this.calendar[0].map(d => {\n return {\n text: this.formatWeekdayNameShort(parseYMD(d.ymd)),\n label: this.formatWeekdayName(parseYMD(d.ymd))\n }\n })\n }\n },\n watch: {\n value(newVal, oldVal) {\n const selected = formatYMD(newVal) || ''\n const old = formatYMD(oldVal) || ''\n if (!datesEqual(selected, old)) {\n this.activeYMD = selected || this.activeYMD\n this.selectedYMD = selected\n }\n },\n selectedYMD(newYMD, oldYMD) {\n // TODO:\n // Should we compare to `formatYMD(this.value)` and emit\n // only if they are different?\n if (newYMD !== oldYMD) {\n this.$emit('input', this.valueAsDate ? parseYMD(newYMD) || null : newYMD || '')\n }\n },\n context(newVal, oldVal) {\n if (!looseEqual(newVal, oldVal)) {\n this.$emit('context', newVal)\n }\n },\n hidden(newVal) {\n // Reset the active focused day when hidden\n this.activeYMD = this.selectedYMD || formatYMD(this.value) || formatYMD(this.getToday())\n // Enable/disable the live regions\n this.setLive(!newVal)\n }\n },\n created() {\n this.$nextTick(() => {\n this.$emit('context', this.context)\n })\n },\n mounted() {\n this.setLive(true)\n },\n activated() /* istanbul ignore next */ {\n this.setLive(true)\n },\n deactivated() /* istanbul ignore next */ {\n this.setLive(false)\n },\n beforeDestroy() {\n this.setLive(false)\n },\n methods: {\n // Public method(s)\n focus() {\n if (!this.disabled) {\n try {\n this.$refs.grid.focus()\n } catch {}\n }\n },\n blur() {\n try {\n this.$refs.grid.blur()\n } catch {}\n },\n // Private methods\n setLive(on) {\n if (on) {\n this.$nextTick(() => {\n requestAF(() => {\n this.isLive = true\n })\n })\n } else {\n this.isLive = false\n }\n },\n getToday() {\n return parseYMD(createDate())\n },\n constrainDate(date) {\n // Constrains a date between min and max\n // returns a new `Date` object instance\n date = parseYMD(date)\n const min = this.computedMin || date\n const max = this.computedMax || date\n return createDate(date < min ? min : date > max ? max : date)\n },\n emitSelected(date) {\n // Performed in a `$nextTick()` to (probably) ensure\n // the input event has emitted first\n this.$nextTick(() => {\n this.$emit('selected', formatYMD(date) || '', parseYMD(date) || null)\n })\n },\n // Event handlers\n setGridFocusFlag(evt) {\n // Sets the gridHasFocus flag to make date \"button\" look focused\n this.gridHasFocus = !this.disabled && evt.type === 'focus'\n },\n onKeydownWrapper(evt) {\n // Calendar keyboard navigation\n // Handles PAGEUP/PAGEDOWN/END/HOME/LEFT/UP/RIGHT/DOWN\n // Focuses grid after updating\n const keyCode = evt.keyCode\n const altKey = evt.altKey\n if (!arrayIncludes([PAGEUP, PAGEDOWN, END, HOME, LEFT, UP, RIGHT, DOWN], keyCode)) {\n /* istanbul ignore next */\n return\n }\n evt.preventDefault()\n evt.stopPropagation()\n let activeDate = createDate(this.activeDate)\n let checkDate = createDate(this.activeDate)\n const day = activeDate.getDate()\n const isRTL = this.isRTL\n if (keyCode === PAGEUP) {\n // PAGEUP - Previous month/year\n activeDate = (altKey ? oneYearAgo : oneMonthAgo)(activeDate)\n // We check the first day of month to be in rage\n checkDate = createDate(activeDate)\n checkDate.setDate(1)\n } else if (keyCode === PAGEDOWN) {\n // PAGEDOWN - Next month/year\n activeDate = (altKey ? oneYearAhead : oneMonthAhead)(activeDate)\n // We check the last day of month to be in rage\n checkDate = createDate(activeDate)\n checkDate.setMonth(checkDate.getMonth() + 1)\n checkDate.setDate(0)\n } else if (keyCode === LEFT) {\n // LEFT - Previous day (or next day for RTL)\n activeDate.setDate(day + (isRTL ? 1 : -1))\n checkDate = activeDate\n } else if (keyCode === RIGHT) {\n // RIGHT - Next day (or previous day for RTL)\n activeDate.setDate(day + (isRTL ? -1 : 1))\n checkDate = activeDate\n } else if (keyCode === UP) {\n // UP - Previous week\n activeDate.setDate(day - 7)\n checkDate = activeDate\n } else if (keyCode === DOWN) {\n // DOWN - Next week\n activeDate.setDate(day + 7)\n checkDate = activeDate\n } else if (keyCode === HOME) {\n // HOME - Today\n activeDate = this.getToday()\n checkDate = activeDate\n } else if (keyCode === END) {\n // END - Selected date, or today if no selected date\n activeDate = parseYMD(this.selectedDate) || this.getToday()\n checkDate = activeDate\n }\n if (!this.dateOutOfRange(checkDate) && !datesEqual(activeDate, this.activeDate)) {\n // We only jump to date if within min/max\n // We don't check for individual disabled dates though (via user function)\n this.activeYMD = formatYMD(activeDate)\n }\n // Ensure grid is focused\n this.focus()\n },\n onKeydownGrid(evt) {\n // Pressing enter/space on grid to select active date\n const keyCode = evt.keyCode\n const activeDate = this.activeDate\n if (keyCode === ENTER || keyCode === SPACE) {\n evt.preventDefault()\n evt.stopPropagation()\n if (!this.disabled && !this.readonly && !this.dateDisabled(activeDate)) {\n this.selectedYMD = formatYMD(activeDate)\n this.emitSelected(activeDate)\n }\n // Ensure grid is focused\n this.focus()\n }\n },\n onClickDay(day) {\n // Clicking on a date \"button\" to select it\n // TODO: Change to lookup the `data-data` attribute\n const selectedDate = this.selectedDate\n const activeDate = this.activeDate\n const clickedDate = parseYMD(day.ymd)\n if (!this.disabled && !day.isDisabled && !this.dateDisabled(clickedDate)) {\n if (!this.readonly) {\n // If readonly mode, we don't set the selected date, just the active date\n // If the clicked date is equal to the already selected date, we don't update the model\n this.selectedYMD = formatYMD(\n datesEqual(clickedDate, selectedDate) ? selectedDate : clickedDate\n )\n this.emitSelected(clickedDate)\n }\n this.activeYMD = formatYMD(\n datesEqual(clickedDate, activeDate) ? activeDate : createDate(clickedDate)\n )\n // Ensure grid is focused\n this.focus()\n }\n },\n gotoPrevYear() {\n this.activeYMD = formatYMD(this.constrainDate(oneYearAgo(this.activeDate)))\n },\n gotoPrevMonth() {\n this.activeYMD = formatYMD(this.constrainDate(oneMonthAgo(this.activeDate)))\n },\n gotoCurrentMonth() {\n // TODO: Maybe this goto date should be configurable?\n this.activeYMD = formatYMD(this.getToday())\n },\n gotoNextMonth() {\n this.activeYMD = formatYMD(this.constrainDate(oneMonthAhead(this.activeDate)))\n },\n gotoNextYear() {\n this.activeYMD = formatYMD(this.constrainDate(oneYearAhead(this.activeDate)))\n }\n },\n render(h) {\n // If hidden prop is set, render just a placeholder node\n if (this.hidden) {\n return h()\n }\n\n const isRTL = this.isRTL\n const todayYMD = formatYMD(this.getToday())\n const selectedYMD = this.selectedYMD\n const activeYMD = this.activeYMD\n const highlightToday = !this.noHighlightToday\n const safeId = this.safeId\n // Flag for making the `aria-live` regions live\n const isLive = this.isLive\n // Pre-compute some IDs\n const idWidget = safeId()\n const idValue = safeId('_calendar-value_')\n const idNav = safeId('_calendar-nav_')\n const idGrid = safeId('_calendar-grid_')\n const idGridCaption = safeId('_calendar-grid-caption_')\n const idGridHelp = safeId('_calendar-grid-help_')\n const idActive = activeYMD ? safeId(`_cell-${activeYMD}_`) : null\n\n // Header showing current selected date\n let $header = h(\n 'output',\n {\n staticClass: 'd-block text-center rounded border small p-1 mb-1',\n class: { 'text-muted': this.disabled, readonly: this.readonly || this.disabled },\n attrs: {\n id: idValue,\n for: idGrid,\n role: 'status',\n // Mainly for testing purposes, as we do not know\n // the exact format `Intl` will format the date string\n 'data-selected': toString(selectedYMD),\n // We wait until after mount to enable `aria-live`\n // to prevent initial announcement on page render\n 'aria-live': isLive ? 'polite' : 'off',\n 'aria-atomic': isLive ? 'true' : null\n }\n },\n this.selectedDate\n ? [\n // We use `bdi` elements here in case the label doesn't match the locale\n // Although IE 11 does not deal with at all (equivalent to a span)\n h('bdi', { staticClass: 'sr-only' }, ` (${toString(this.labelSelected)}) `),\n h('bdi', {}, this.formatDateString(this.selectedDate))\n ]\n : this.labelNoDateSelected || '\\u00a0' // ' '\n )\n $header = h(\n 'header',\n {\n class: this.hideHeader ? 'sr-only' : 'mb-1',\n attrs: { title: this.selectedDate ? this.labelSelectedDate || null : null }\n },\n [$header]\n )\n\n // Content for the date navigation buttons\n const $prevYearIcon = h(BIconstack, { props: { shiftV: 0.5, flipH: isRTL } }, [\n h(BIconChevronLeft, { props: { shiftH: -2 } }),\n h(BIconChevronLeft, { props: { shiftH: 2 } })\n ])\n const $prevMonthIcon = h(BIconChevronLeft, { props: { shiftV: 0.5, flipH: isRTL } })\n const $thisMonthIcon = h(BIconCircleFill, { props: { shiftV: 0.5 } })\n const $nextMonthIcon = h(BIconChevronLeft, { props: { shiftV: 0.5, flipH: !isRTL } })\n const $nextYearIcon = h(BIconstack, { props: { shiftV: 0.5, flipH: !isRTL } }, [\n h(BIconChevronLeft, { props: { shiftH: -2 } }),\n h(BIconChevronLeft, { props: { shiftH: 2 } })\n ])\n\n // Utility to create the date navigation buttons\n const makeNavBtn = (content, label, handler, btnDisabled, shortcut) => {\n return h(\n 'button',\n {\n staticClass: 'btn btn-sm btn-outline-secondary border-0 flex-fill p-1 mx-1',\n class: { disabled: btnDisabled },\n attrs: {\n title: label || null,\n type: 'button',\n 'aria-label': label || null,\n 'aria-disabled': btnDisabled ? 'true' : null,\n 'aria-keyshortcuts': shortcut || null\n },\n on: btnDisabled ? {} : { click: handler }\n },\n [h('div', { attrs: { 'aria-hidden': 'true' } }, [content])]\n )\n }\n\n // Generate the date navigation buttons\n const $nav = h(\n 'div',\n {\n staticClass: 'b-calendar-nav d-flex mx-n1 mb-1',\n attrs: {\n id: idNav,\n role: 'group',\n 'aria-hidden': this.disabled ? 'true' : null,\n 'aria-label': this.labelNav || null,\n 'aria-controls': idGrid\n }\n },\n [\n makeNavBtn(\n $prevYearIcon,\n this.labelPrevYear,\n this.gotoPrevYear,\n this.prevYearDisabled,\n 'Alt+PageDown'\n ),\n makeNavBtn(\n $prevMonthIcon,\n this.labelPrevMonth,\n this.gotoPrevMonth,\n this.prevMonthDisabled,\n 'PageDown'\n ),\n makeNavBtn(\n $thisMonthIcon,\n this.labelCurrentMonth,\n this.gotoCurrentMonth,\n this.thisMonthDisabled,\n 'Home'\n ),\n makeNavBtn(\n $nextMonthIcon,\n this.labelNextMonth,\n this.gotoNextMonth,\n this.nextMonthDisabled,\n 'PageUp'\n ),\n makeNavBtn(\n $nextYearIcon,\n this.labelNextYear,\n this.gotoNextYear,\n this.nextYearDisabled,\n 'Alt+PageUp'\n )\n ]\n )\n\n // Caption for calendar grid\n const $gridCaption = h(\n 'header',\n {\n key: 'grid-caption',\n staticClass: 'text-center font-weight-bold p-1 m-0',\n class: { 'text-muted': this.disabled },\n attrs: {\n id: idGridCaption,\n 'aria-live': isLive ? 'polite' : null,\n 'aria-atomic': isLive ? 'true' : null\n }\n },\n this.formatYearMonth(this.calendarFirstDay)\n )\n\n // Calendar weekday headings\n const $gridWeekDays = h(\n 'div',\n { staticClass: 'row no-gutters border-bottom', attrs: { 'aria-hidden': 'true' } },\n this.calendarHeadings.map((d, idx) => {\n return h(\n 'small',\n {\n key: idx,\n staticClass: 'col',\n class: { 'text-muted': this.disabled },\n attrs: {\n title: d.label === d.text ? null : d.label,\n 'aria-label': d.label\n }\n },\n d.text\n )\n })\n )\n\n // Calendar day grid\n let $gridBody = this.calendar.map(week => {\n const $cells = week.map((day, dIndex) => {\n const isSelected = day.ymd === selectedYMD\n const isActive = day.ymd === activeYMD\n const isToday = day.ymd === todayYMD\n const idCell = safeId(`_cell-${day.ymd}_`)\n // \"fake\" button\n const $btn = h(\n 'span',\n {\n staticClass: 'btn border-0 rounded-circle text-nowrap',\n // Should we add some classes to signify if today/selected/etc?\n class: {\n // Give the fake button a focus ring\n focus: isActive && this.gridHasFocus,\n // Styling\n disabled: day.isDisabled || this.disabled,\n active: isSelected, // makes the button look \"pressed\"\n // Selected date style (need to computed from variant)\n [this.computedVariant]: isSelected,\n // Today day style (if not selected), same variant color as selected date\n [this.computedTodayVariant]:\n isToday && highlightToday && !isSelected && day.isThisMonth,\n // Non selected/today styling\n 'btn-outline-light': !(isToday && highlightToday) && !isSelected && !isActive,\n 'btn-light': !(isToday && highlightToday) && !isSelected && isActive,\n // Text styling\n 'text-muted': !day.isThisMonth && !isSelected,\n 'text-dark':\n !(isToday && highlightToday) && !isSelected && !isActive && day.isThisMonth,\n 'font-weight-bold': (isSelected || day.isThisMonth) && !day.isDisabled\n },\n on: { click: () => this.onClickDay(day) }\n },\n day.day\n )\n return h(\n 'div', // Cell with button\n {\n key: dIndex,\n staticClass: 'col p-0',\n class: day.isDisabled ? 'bg-light' : day.info.class || '',\n attrs: {\n id: idCell,\n role: 'button',\n 'data-date': day.ymd, // Primarily for testing purposes\n // Only days in the month are presented as buttons to screen readers\n 'aria-hidden': day.isThisMonth ? null : 'true',\n 'aria-disabled': day.isDisabled || this.disabled ? 'true' : null,\n 'aria-label': [\n day.label,\n isSelected ? `(${this.labelSelected})` : null,\n isToday ? `(${this.labelToday})` : null\n ]\n .filter(identity)\n .join(' '),\n // NVDA doesn't convey `aria-selected`, but does `aria-current`,\n // ChromeVox doesn't convey `aria-current`, but does `aria-selected`,\n // so we set both attributes for robustness\n 'aria-selected': isSelected ? 'true' : null,\n 'aria-current': isSelected ? 'date' : null\n }\n },\n [$btn]\n )\n })\n // Return the week \"row\"\n // We use the first day of the weeks YMD value as a\n // key for efficient DOM patching / element re-use\n return h('div', { key: week[0].ymd, staticClass: 'row no-gutters' }, $cells)\n })\n $gridBody = h(\n 'div',\n {\n // A key is only required on the body if we add in transition support\n // key: this.activeYMD.slice(0, -3),\n staticClass: 'b-calendar-grid-body',\n style: this.disabled ? { pointerEvents: 'none' } : {}\n },\n $gridBody\n )\n\n const $gridHelp = h(\n 'footer',\n {\n staticClass: 'border-top small text-muted text-center bg-light',\n attrs: {\n id: idGridHelp\n }\n },\n [h('div', { staticClass: 'small' }, this.labelHelp)]\n )\n\n const $grid = h(\n 'div',\n {\n ref: 'grid',\n staticClass: 'form-control h-auto text-center p-0 mb-0',\n attrs: {\n id: idGrid,\n role: 'application',\n tabindex: this.disabled ? null : '0',\n 'data-month': activeYMD.slice(0, -3), // `YYYY-MM`, mainly for testing\n // tabindex: this.disabled ? null : '0',\n 'aria-roledescription': this.labelCalendar || null,\n 'aria-labelledby': idGridCaption,\n 'aria-describedby': idGridHelp,\n // `aria-readonly` is not considered valid on `role=\"application\"`\n // https://www.w3.org/TR/wai-aria-1.1/#aria-readonly\n // 'aria-readonly': this.readonly && !this.disabled ? 'true' : null,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-activedescendant': idActive\n },\n on: {\n keydown: this.onKeydownGrid,\n focus: this.setGridFocusFlag,\n blur: this.setGridFocusFlag\n }\n },\n [$gridCaption, $gridWeekDays, $gridBody, $gridHelp]\n )\n\n // Optional bottom slot\n let $slot = this.normalizeSlot('default')\n $slot = $slot ? h('footer', { staticClass: 'mt-2' }, $slot) : h()\n\n const $widget = h(\n 'div',\n {\n class: this.block ? 'd-block' : 'd-inline-block',\n style: this.block ? {} : { width: this.width },\n attrs: {\n id: idWidget,\n dir: isRTL ? 'rtl' : 'ltr',\n lang: this.computedLocale || null,\n role: 'group',\n 'aria-disabled': this.disabled ? 'true' : null,\n // If datepicker controls an input, this will specify the ID of the input\n 'aria-controls': this.ariaControls || null,\n // This should be a prop (so it can be changed to Date picker, etc, localized\n 'aria-roledescription': this.roleDescription || null,\n 'aria-describedby': [\n // Should the attr (if present) go last?\n // Or should this attr be a prop?\n this.$attrs['aria-describedby'],\n idValue,\n idGridHelp\n ]\n .filter(identity)\n .join(' ')\n },\n on: {\n keydown: this.onKeydownWrapper\n }\n },\n [$header, $nav, $grid, $slot]\n )\n\n // Wrap in an outer div that can be styled\n return h(\n 'div',\n {\n staticClass: 'b-calendar',\n // We use a style here rather than class `d-inline-block` so that users can\n // override the display value (`d-*` classes use the `!important` flag)\n style: this.block ? {} : { display: 'inline-block' }\n },\n [$widget]\n )\n }\n})\n","import { BCalendar } from './calendar'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst CalendarPlugin = /*#__PURE__*/ pluginFactory({\n components: { BCalendar }\n})\n\nexport { CalendarPlugin, BCalendar }\n","import { upperFirst } from './string'\n\n/**\n * @param {string} prefix\n * @param {string} value\n */\nconst prefixPropName = (prefix, value) => prefix + upperFirst(value)\n\nexport default prefixPropName\n","import { lowerFirst } from './string'\n\n/**\n * @param {string} prefix\n * @param {string} value\n */\nconst unprefixPropName = (prefix, value) => lowerFirst(value.replace(prefix, ''))\n\nexport default unprefixPropName\n","import identity from './identity'\nimport { isArray, isObject } from './inspect'\nimport { clone } from './object'\n\n/**\n * Copies props from one array/object to a new array/object. Prop values\n * are also cloned as new references to prevent possible mutation of original\n * prop object values. Optionally accepts a function to transform the prop name.\n *\n * @param {[]|{}} props\n * @param {Function} transformFn\n */\nconst copyProps = (props, transformFn = identity) => {\n if (isArray(props)) {\n return props.map(transformFn)\n }\n // Props as an object.\n const copied = {}\n\n for (const prop in props) {\n /* istanbul ignore else */\n // eslint-disable-next-line no-prototype-builtins\n if (props.hasOwnProperty(prop)) {\n // If the prop value is an object, do a shallow clone to prevent\n // 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}\n\nexport default copyProps\n","// @vue/component\nexport default {\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n bgVariant: {\n type: String,\n default: null\n },\n borderVariant: {\n type: String,\n default: null\n },\n textVariant: {\n type: String,\n default: null\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n title: {\n type: String,\n default: ''\n },\n titleTag: {\n type: String,\n default: 'h4'\n }\n}\n\n// @vue/component\nexport const BCardTitle = /*#__PURE__*/ Vue.extend({\n name: 'BCardTitle',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.titleTag,\n mergeData(data, {\n staticClass: 'card-title'\n }),\n children || props.title\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\n\nconst NAME = 'BCardSubTitle'\n\nexport const props = {\n subTitle: {\n type: String,\n default: ''\n },\n subTitleTag: {\n type: String,\n default: 'h6'\n },\n subTitleTextVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'subTitleTextVariant')\n }\n}\n\n// @vue/component\nexport const BCardSubTitle = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.subTitleTag,\n mergeData(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? `text-${props.subTitleTextVariant}` : null]\n }),\n children || props.subTitle\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport prefixPropName from '../../utils/prefix-prop-name'\nimport copyProps from '../../utils/copy-props'\nimport pluckProps from '../../utils/pluck-props'\nimport cardMixin from '../../mixins/card'\nimport { BCardTitle, props as titleProps } from './card-title'\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'\n\nexport const props = {\n // Import common card props and prefix them with `body-`\n ...copyProps(cardMixin.props, prefixPropName.bind(null, 'body')),\n bodyClass: {\n type: [String, Object, Array],\n default: null\n },\n ...titleProps,\n ...subTitleProps,\n overlay: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BCardBody = /*#__PURE__*/ Vue.extend({\n name: 'BCardBody',\n functional: true,\n props,\n render(h, { props, data, children }) {\n let cardTitle = h()\n let cardSubTitle = h()\n const cardContent = children || [h()]\n\n if (props.title) {\n cardTitle = h(BCardTitle, { props: pluckProps(titleProps, props) })\n }\n\n if (props.subTitle) {\n cardSubTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n })\n }\n\n return h(\n props.bodyTag,\n mergeData(data, {\n staticClass: 'card-body',\n class: [\n {\n 'card-img-overlay': props.overlay,\n [`bg-${props.bodyBgVariant}`]: props.bodyBgVariant,\n [`border-${props.bodyBorderVariant}`]: props.bodyBorderVariant,\n [`text-${props.bodyTextVariant}`]: props.bodyTextVariant\n },\n props.bodyClass || {}\n ]\n }),\n [cardTitle, cardSubTitle, ...cardContent]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport prefixPropName from '../../utils/prefix-prop-name'\nimport copyProps from '../../utils/copy-props'\nimport { htmlOrText } from '../../utils/html'\nimport cardMixin from '../../mixins/card'\n\nexport const props = {\n ...copyProps(cardMixin.props, prefixPropName.bind(null, 'header')),\n header: {\n type: String,\n default: null\n },\n headerHtml: {\n type: String,\n default: null\n },\n headerClass: {\n type: [String, Object, Array],\n default: null\n }\n}\n\n// @vue/component\nexport const BCardHeader = /*#__PURE__*/ Vue.extend({\n name: 'BCardHeader',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.headerTag,\n mergeData(data, {\n staticClass: 'card-header',\n class: [\n props.headerClass,\n {\n [`bg-${props.headerBgVariant}`]: props.headerBgVariant,\n [`border-${props.headerBorderVariant}`]: props.headerBorderVariant,\n [`text-${props.headerTextVariant}`]: props.headerTextVariant\n }\n ]\n }),\n children || [h('div', { domProps: htmlOrText(props.headerHtml, props.header) })]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nimport prefixPropName from '../../utils/prefix-prop-name'\nimport copyProps from '../../utils/copy-props'\nimport { htmlOrText } from '../../utils/html'\nimport cardMixin from '../../mixins/card'\n\nexport const props = {\n ...copyProps(cardMixin.props, prefixPropName.bind(null, 'footer')),\n footer: {\n type: String,\n default: null\n },\n footerHtml: {\n type: String,\n default: null\n },\n footerClass: {\n type: [String, Object, Array],\n default: null\n }\n}\n\n// @vue/component\nexport const BCardFooter = /*#__PURE__*/ Vue.extend({\n name: 'BCardFooter',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.footerTag,\n mergeData(data, {\n staticClass: 'card-footer',\n class: [\n props.footerClass,\n {\n [`bg-${props.footerBgVariant}`]: props.footerBgVariant,\n [`border-${props.footerBorderVariant}`]: props.footerBorderVariant,\n [`text-${props.footerTextVariant}`]: props.footerTextVariant\n }\n ]\n }),\n children || [h('div', { domProps: htmlOrText(props.footerHtml, props.footer) })]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n src: {\n type: String,\n default: null,\n required: true\n },\n alt: {\n type: String,\n default: null\n },\n top: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n start: {\n type: Boolean,\n default: false\n },\n left: {\n // alias of 'start'\n type: Boolean,\n default: false\n },\n end: {\n type: Boolean,\n default: false\n },\n right: {\n // alias of 'end'\n type: Boolean,\n default: false\n },\n height: {\n type: [Number, String],\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n }\n}\n\n// @vue/component\nexport const BCardImg = /*#__PURE__*/ Vue.extend({\n name: 'BCardImg',\n functional: true,\n props,\n render(h, { props, data }) {\n let baseClass = 'card-img'\n if (props.top) {\n baseClass += '-top'\n } else if (props.right || props.end) {\n baseClass += '-right'\n } else if (props.bottom) {\n baseClass += '-bottom'\n } else if (props.left || props.start) {\n baseClass += '-left'\n }\n\n return h(\n 'img',\n mergeData(data, {\n class: [baseClass],\n attrs: {\n src: props.src,\n alt: props.alt,\n height: props.height,\n width: props.width\n }\n })\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport prefixPropName from '../../utils/prefix-prop-name'\nimport unPrefixPropName from '../../utils/unprefix-prop-name'\nimport copyProps from '../../utils/copy-props'\nimport pluckProps from '../../utils/pluck-props'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\nimport cardMixin from '../../mixins/card'\nimport { BCardBody, props as bodyProps } from './card-body'\nimport { BCardHeader, props as headerProps } from './card-header'\nimport { BCardFooter, props as footerProps } from './card-footer'\nimport { BCardImg, props as imgProps } from './card-img'\n\nconst cardImgProps = copyProps(imgProps, prefixPropName.bind(null, 'img'))\ncardImgProps.imgSrc.required = false\n\nexport const props = {\n ...bodyProps,\n ...headerProps,\n ...footerProps,\n ...cardImgProps,\n ...copyProps(cardMixin.props),\n align: {\n type: String,\n default: null\n },\n noBody: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BCard = /*#__PURE__*/ Vue.extend({\n name: 'BCard',\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n // Vue < 2.6.x may return undefined for scopedSlots\n const $scopedSlots = scopedSlots || {}\n\n // Create placeholder elements for each section\n let imgFirst = h()\n let header = h()\n let content = h()\n let footer = h()\n let imgLast = h()\n\n if (props.imgSrc) {\n const img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unPrefixPropName.bind(null, 'img'))\n })\n if (props.imgBottom) {\n imgLast = img\n } else {\n imgFirst = img\n }\n }\n\n if (props.header || hasNormalizedSlot('header', $scopedSlots, $slots)) {\n header = h(\n BCardHeader,\n { props: pluckProps(headerProps, props) },\n normalizeSlot('header', {}, $scopedSlots, $slots)\n )\n }\n\n content = normalizeSlot('default', {}, $scopedSlots, $slots) || []\n if (!props.noBody) {\n // Wrap content in card-body\n content = [h(BCardBody, { props: pluckProps(bodyProps, props) }, [...content])]\n }\n\n if (props.footer || hasNormalizedSlot('footer', $scopedSlots, $slots)) {\n footer = h(\n BCardFooter,\n {\n props: pluckProps(footerProps, props)\n },\n normalizeSlot('footer', {}, $scopedSlots, $slots)\n )\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'card',\n class: {\n 'flex-row': props.imgLeft || props.imgStart,\n 'flex-row-reverse':\n (props.imgRight || props.imgEnd) && !(props.imgLeft || props.imgStart),\n [`text-${props.align}`]: props.align,\n [`bg-${props.bgVariant}`]: props.bgVariant,\n [`border-${props.borderVariant}`]: props.borderVariant,\n [`text-${props.textVariant}`]: props.textVariant\n }\n }),\n [imgFirst, header, ...content, footer, imgLast]\n )\n }\n})\n","// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility..=\"\"\n//\n// Value:\n// : method to be called when visibility state changes, receives one arg:\n// true: element is visible\n// false: element is not visible\n// null: IntersectionObserver not supported\n//\n// Modifiers:\n// : a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// : keyword 'once', meaning when the element becomes visible and\n// callback is called observation/notification will stop.\n//\n// When used in a render function:\n// export default {\n// directives: { 'b-visible': VBVisible },\n// render(h) {\n// h(\n// 'div',\n// {\n// directives: [\n// { name: 'b-visible', value=this.callback, modifiers: { '123':true, 'once':true } }\n// ]\n// }\n// )\n// }\n\nimport looseEqual from '../../utils/loose-equal'\nimport { requestAF } from '../../utils/dom'\nimport { isFunction } from '../../utils/inspect'\nimport { clone, keys } from '../../utils/object'\n\nconst OBSERVER_PROP_NAME = '__bv__visibility_observer'\n\nconst onlyDgitsRE = /^\\d+$/\n\nclass VisibilityObserver {\n constructor(el, options, vnode) {\n this.el = el\n this.callback = options.callback\n this.margin = options.margin || 0\n this.once = options.once || false\n this.observer = null\n this.visible = undefined\n this.doneOnce = false\n // Create the observer instance (if possible)\n this.createObserver(vnode)\n }\n\n createObserver(vnode) {\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop()\n }\n\n // Should only be called once and `callback` prop should be a function\n if (this.doneOnce || !isFunction(this.callback)) {\n /* istanbul ignore next */\n return\n }\n\n // Create the observer instance\n try {\n // Future: Possibly add in other modifiers for left/right/top/bottom\n // offsets, root element reference, and thresholds\n this.observer = new IntersectionObserver(this.handler.bind(this), {\n // `null` = 'viewport'\n root: null,\n // Pixels away from view port to consider \"visible\"\n rootMargin: this.margin,\n // Intersection ratio of el and root (as a value from 0 to 1)\n threshold: 0\n })\n } catch {\n // No IntersectionObserver support, so just stop trying to observe\n this.doneOnce = true\n this.observer = undefined\n this.callback(null)\n return\n }\n\n // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n vnode.context.$nextTick(() => {\n requestAF(() => {\n // Placed in an `if` just in case we were destroyed before\n // this `requestAnimationFrame` runs\n if (this.observer) {\n this.observer.observe(this.el)\n }\n })\n })\n }\n\n handler(entries) /* istanbul ignore next: IntersectionObserver not supported in JSDOM */ {\n const entry = entries ? entries[0] : {}\n const isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0)\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting\n this.callback(isIntersecting)\n if (this.once && this.visible) {\n this.doneOnce = true\n this.stop()\n }\n }\n }\n\n stop() {\n const observer = this.observer\n /* istanbul ignore next */\n if (observer && observer.disconnect) {\n observer.disconnect()\n }\n this.observer = null\n }\n}\n\nconst destroy = el => {\n const observer = el[OBSERVER_PROP_NAME]\n if (observer && observer.stop) {\n observer.stop()\n }\n delete el[OBSERVER_PROP_NAME]\n}\n\nconst bind = (el, { value, modifiers }, vnode) => {\n // `value` is the callback function\n const options = {\n margin: '0px',\n once: false,\n callback: value\n }\n // Parse modifiers\n keys(modifiers).forEach(mod => {\n /* istanbul ignore else: Until is switched to use this directive */\n if (onlyDgitsRE.test(mod)) {\n options.margin = `${mod}px`\n } else if (mod.toLowerCase() === 'once') {\n options.once = true\n }\n })\n // Destroy any previous observer\n destroy(el)\n // Create new observer\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options, vnode)\n // Store the current modifiers on the object (cloned)\n el[OBSERVER_PROP_NAME]._prevModifiers = clone(modifiers)\n}\n\n// When the directive options may have been updated (or element)\nconst componentUpdated = (el, { value, oldValue, modifiers }, vnode) => {\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n /* istanbul ignore next */\n modifiers = clone(modifiers)\n /* istanbul ignore next */\n if (\n el &&\n (value !== oldValue ||\n !el[OBSERVER_PROP_NAME] ||\n !looseEqual(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers))\n ) {\n // Re-bind on element\n bind(el, { value, modifiers }, vnode)\n }\n}\n\n// When directive un-binds from element\nconst unbind = el => {\n // Remove the observer\n destroy(el)\n}\n\n// Export the directive\nexport const VBVisible = {\n bind,\n componentUpdated,\n unbind\n}\n","import Vue from '../../utils/vue'\nimport identity from '../../utils/identity'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { isString } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { toString } from '../../utils/string'\nimport { mergeData } from 'vue-functional-data-merge'\n\n// --- Constants --\n\nconst NAME = 'BImg'\n\n// Blank image with fill template\nconst BLANK_TEMPLATE =\n '' +\n '' +\n ''\n\nexport const props = {\n src: {\n type: String,\n default: null\n },\n srcset: {\n type: [String, Array],\n default: null\n },\n sizes: {\n type: [String, Array],\n default: null\n },\n alt: {\n type: String,\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n },\n height: {\n type: [Number, String],\n default: null\n },\n block: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n },\n fluidGrow: {\n // Gives fluid images class `w-100` to make them grow to fit container\n type: Boolean,\n default: false\n },\n rounded: {\n // rounded can be:\n // false: no rounding of corners\n // true: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n type: [Boolean, String],\n default: false\n },\n thumbnail: {\n type: Boolean,\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n right: {\n type: Boolean,\n default: false\n },\n center: {\n type: Boolean,\n default: false\n },\n blank: {\n type: Boolean,\n default: false\n },\n blankColor: {\n type: String,\n default: () => getComponentConfig(NAME, 'blankColor')\n }\n}\n\n// --- Helper methods ---\n\nconst makeBlankImgSrc = (width, height, color) => {\n const src = encodeURIComponent(\n BLANK_TEMPLATE.replace('%{w}', toString(width))\n .replace('%{h}', toString(height))\n .replace('%{f}', color)\n )\n return `data:image/svg+xml;charset=UTF-8,${src}`\n}\n\n// @vue/component\nexport const BImg = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data }) {\n let src = props.src\n let width = toInteger(props.width) || null\n let height = toInteger(props.height) || null\n let align = null\n let block = props.block\n let srcset = concat(props.srcset)\n .filter(identity)\n .join(',')\n let sizes = concat(props.sizes)\n .filter(identity)\n .join(',')\n if (props.blank) {\n if (!height && width) {\n height = width\n } else if (!width && height) {\n width = height\n }\n if (!width && !height) {\n width = 1\n height = 1\n }\n // Make a blank SVG image\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent')\n // Disable srcset and sizes\n srcset = null\n sizes = null\n }\n if (props.left) {\n align = 'float-left'\n } else if (props.right) {\n align = 'float-right'\n } else if (props.center) {\n align = 'mx-auto'\n block = true\n }\n return h(\n 'img',\n mergeData(data, {\n attrs: {\n src: src,\n alt: props.alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n rounded: props.rounded === '' || props.rounded === true,\n [`rounded-${props.rounded}`]: isString(props.rounded) && props.rounded !== '',\n [align]: align,\n 'd-block': block\n }\n })\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport identity from '../../utils/identity'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { hasIntersectionObserverSupport } from '../../utils/env'\nimport { toInteger } from '../../utils/number'\nimport { VBVisible } from '../../directives/visible/visible'\nimport { BImg } from './img'\n\nconst NAME = 'BImgLazy'\n\nexport const props = {\n src: {\n type: String,\n default: null,\n required: true\n },\n srcset: {\n type: [String, Array],\n default: null\n },\n sizes: {\n type: [String, Array],\n default: null\n },\n alt: {\n type: String,\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n },\n height: {\n type: [Number, String],\n default: null\n },\n blankSrc: {\n // If null, a blank image is generated\n type: String,\n default: null\n },\n blankColor: {\n type: String,\n default: () => getComponentConfig(NAME, 'blankColor')\n },\n blankWidth: {\n type: [Number, String],\n default: null\n },\n blankHeight: {\n type: [Number, String],\n default: null\n },\n show: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n },\n fluidGrow: {\n type: Boolean,\n default: false\n },\n block: {\n type: Boolean,\n default: false\n },\n thumbnail: {\n type: Boolean,\n default: false\n },\n rounded: {\n type: [Boolean, String],\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n right: {\n type: Boolean,\n default: false\n },\n center: {\n type: Boolean,\n default: false\n },\n offset: {\n // Distance away from viewport (in pixels) before being\n // considered \"visible\"\n type: [Number, String],\n default: 360\n }\n}\n\n// @vue/component\nexport const BImgLazy = /*#__PURE__*/ Vue.extend({\n name: NAME,\n directives: {\n bVisible: VBVisible\n },\n props,\n data() {\n return {\n isShown: this.show\n }\n },\n computed: {\n computedSrc() {\n return !this.blankSrc || this.isShown ? this.src : this.blankSrc\n },\n computedBlank() {\n return !(this.isShown || this.blankSrc)\n },\n computedWidth() {\n return this.isShown ? this.width : this.blankWidth || this.width\n },\n computedHeight() {\n return this.isShown ? this.height : this.blankHeight || this.height\n },\n computedSrcset() {\n const srcset = concat(this.srcset)\n .filter(identity)\n .join(',')\n return !this.blankSrc || this.isShown ? srcset : null\n },\n computedSizes() {\n const sizes = concat(this.sizes)\n .filter(identity)\n .join(',')\n return !this.blankSrc || this.isShown ? sizes : null\n }\n },\n watch: {\n show(newVal, oldVal) {\n if (newVal !== oldVal) {\n // If IntersectionObserver support is not available, image is always shown\n const visible = hasIntersectionObserverSupport ? newVal : true\n this.isShown = visible\n if (visible !== newVal) {\n // Ensure the show prop is synced (when no IntersectionObserver)\n this.$nextTick(this.updateShowProp)\n }\n }\n },\n isShown(newVal, oldVal) {\n if (newVal !== oldVal) {\n // Update synched show prop\n this.updateShowProp()\n }\n }\n },\n mounted() {\n // If IntersectionObserver is not available, image is always shown\n this.isShown = hasIntersectionObserverSupport ? this.show : true\n },\n methods: {\n updateShowProp() {\n this.$emit('update:show', this.isShown)\n },\n doShow(visible) {\n // If IntersectionObserver is not supported, the callback\n // will be called with `null` rather than `true` or `false`\n if ((visible || visible === null) && !this.isShown) {\n this.isShown = true\n }\n }\n },\n render(h) {\n const directives = []\n if (!this.isShown) {\n // We only add the visible directive if we are not shown\n directives.push({\n // Visible directive will silently do nothing if\n // IntersectionObserver is not supported\n name: 'b-visible',\n // Value expects a callback (passed one arg of `visible` = `true` or `false`)\n value: this.doShow,\n modifiers: {\n // Root margin from viewport\n [`${toInteger(this.offset) || 0}`]: true,\n // Once the image is shown, stop observing\n once: true\n }\n })\n }\n\n return h(BImg, {\n directives,\n props: {\n // Computed value props\n src: this.computedSrc,\n blank: this.computedBlank,\n width: this.computedWidth,\n height: this.computedHeight,\n srcset: this.computedSrcset || null,\n sizes: this.computedSizes || null,\n // Passthrough props\n alt: this.alt,\n blankColor: this.blankColor,\n fluid: this.fluid,\n fluidGrow: this.fluidGrow,\n block: this.block,\n thumbnail: this.thumbnail,\n rounded: this.rounded,\n left: this.left,\n right: this.right,\n center: this.center\n }\n })\n }\n})\n","import Vue from '../../utils/vue'\nimport { omit } from '../../utils/object'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { BImgLazy, props as imgLazyProps } from '../image/img-lazy'\n\n// Copy of `` props, and remove conflicting/non-applicable props\n// The `omit()` util creates a new object, so we can just pass the original props\nconst lazyProps = omit(imgLazyProps, [\n 'left',\n 'right',\n 'center',\n 'block',\n 'rounded',\n 'thumbnail',\n 'fluid',\n 'fluidGrow'\n])\n\nexport const props = {\n ...lazyProps,\n top: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n start: {\n type: Boolean,\n default: false\n },\n left: {\n // alias of 'start'\n type: Boolean,\n default: false\n },\n end: {\n type: Boolean,\n default: false\n },\n right: {\n // alias of 'end'\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BCardImgLazy = /*#__PURE__*/ Vue.extend({\n name: 'BCardImgLazy',\n functional: true,\n props,\n render(h, { props, data }) {\n let baseClass = 'card-img'\n if (props.top) {\n baseClass += '-top'\n } else if (props.right || props.end) {\n baseClass += '-right'\n } else if (props.bottom) {\n baseClass += '-bottom'\n } else if (props.left || props.start) {\n baseClass += '-left'\n }\n\n // False out the left/center/right props before passing to b-img-lazy\n const lazyProps = { ...props, left: false, right: false, center: false }\n return h(\n BImgLazy,\n mergeData(data, {\n class: [baseClass],\n props: lazyProps\n })\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n textTag: {\n type: String,\n default: 'p'\n }\n}\n\n// @vue/component\nexport const BCardText = /*#__PURE__*/ Vue.extend({\n name: 'BCardText',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(props.textTag, mergeData(data, { staticClass: 'card-text' }), children)\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n tag: {\n type: String,\n default: 'div'\n },\n deck: {\n type: Boolean,\n default: false\n },\n columns: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BCardGroup = /*#__PURE__*/ Vue.extend({\n name: 'BCardGroup',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: props.deck ? 'card-deck' : props.columns ? 'card-columns' : 'card-group'\n }),\n children\n )\n }\n})\n","import { BCard } from './card'\nimport { BCardHeader } from './card-header'\nimport { BCardBody } from './card-body'\nimport { BCardTitle } from './card-title'\nimport { BCardSubTitle } from './card-sub-title'\nimport { BCardFooter } from './card-footer'\nimport { BCardImg } from './card-img'\nimport { BCardImgLazy } from './card-img-lazy'\nimport { BCardText } from './card-text'\nimport { BCardGroup } from './card-group'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst CardPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BCard,\n BCardHeader,\n BCardBody,\n BCardTitle,\n BCardSubTitle,\n BCardFooter,\n BCardImg,\n BCardImgLazy,\n BCardText,\n BCardGroup\n }\n})\n\nexport {\n CardPlugin,\n BCard,\n BCardHeader,\n BCardBody,\n BCardTitle,\n BCardSubTitle,\n BCardFooter,\n BCardImg,\n BCardImgLazy,\n BCardText,\n BCardGroup\n}\n","const noop = () => {}\n\nexport default noop\n","import { MutationObs, isElement } from './dom'\nimport { warnNoMutationObserverSupport } from './warn'\n\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 http://stackoverflow.com/questions/3219758\n */\nconst observeDom = (\n el,\n callback,\n options\n) => /* istanbul ignore next: difficult to test in JSDOM */ {\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null\n\n // Early exit when we have no element\n /* istanbul ignore next: difficult to test in JSDOM */\n if (!isElement(el)) {\n return null\n }\n\n // Exit and throw a warning when `MutationObserver` isn't available\n if (warnNoMutationObserverSupport('observeDom')) {\n return null\n }\n\n // Define a new observer\n const obs = new MutationObs(mutations => {\n let changed = false\n\n // 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 for (let i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n const mutation = mutations[i]\n // Mutation type\n const type = mutation.type\n // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n const target = mutation.target\n\n // Detect whether a change happened based on type and target\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 (\n type === 'childList' &&\n (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)\n ) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true\n }\n }\n\n // We only call the callback if a change that could affect\n // layout/size truely happened\n if (changed) {\n callback()\n }\n })\n\n // Have the observer observe foo for changes in children, etc\n obs.observe(el, { childList: true, subtree: true, ...options })\n\n // 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 return obs\n}\n\nexport default observeDom\n","import { hasPassiveEventSupport } from './env'\nimport { isObject } from './inspect'\n\n// --- Constants ---\n\nexport const EVENT_OPTIONS_PASSIVE = { passive: true }\nexport const EVENT_OPTIONS_NO_CAPTURE = { passive: true, capture: false }\n\n// --- Utils ---\n\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\nexport const parseEventOptions = options => {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (hasPassiveEventSupport) {\n return isObject(options) ? options : { capture: !!options || false }\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options)\n }\n}\n\n// Attach an event listener to an element\nexport const eventOn = (el, evtName, handler, options) => {\n if (el && el.addEventListener) {\n el.addEventListener(evtName, handler, parseEventOptions(options))\n }\n}\n\n// Remove an event listener from an element\nexport const eventOff = (el, evtName, handler, options) => {\n if (el && el.removeEventListener) {\n el.removeEventListener(evtName, handler, parseEventOptions(options))\n }\n}\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\nexport const eventOnOff = (on, ...args) => {\n const method = on ? eventOn : eventOff\n method(...args)\n}\n","import Vue from '../../utils/vue'\nimport KeyCodes from '../../utils/key-codes'\nimport noop from '../../utils/noop'\nimport observeDom from '../../utils/observe-dom'\nimport { getComponentConfig } from '../../utils/config'\nimport { selectAll, reflow, addClass, removeClass, setAttr } from '../../utils/dom'\nimport { isBrowser, hasTouchSupport, hasPointerEventSupport } from '../../utils/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../../utils/events'\nimport { isUndefined } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nconst NAME = 'BCarousel'\n\n// Slide directional classes\nconst DIRECTION = {\n next: {\n dirClass: 'carousel-item-left',\n overlayClass: 'carousel-item-next'\n },\n prev: {\n dirClass: 'carousel-item-right',\n overlayClass: 'carousel-item-prev'\n }\n}\n\n// Fallback Transition duration (with a little buffer) in ms\nconst TRANS_DURATION = 600 + 50\n\n// Time for mouse compat events to fire after touch\nconst TOUCH_EVENT_COMPAT_WAIT = 500\n\n// Number of pixels to consider touch move a swipe\nconst SWIPE_THRESHOLD = 40\n\n// PointerEvent pointer types\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n// Transition Event names\nconst TransitionEndEvents = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'otransitionend oTransitionEnd',\n transition: 'transitionend'\n}\n\n// Return the browser specific transitionEnd event name\nconst getTransitionEndEvent = el => {\n for (const name in TransitionEndEvents) {\n if (!isUndefined(el.style[name])) {\n return TransitionEndEvents[name]\n }\n }\n // Fallback\n /* istanbul ignore next */\n return null\n}\n\n// @vue/component\nexport const BCarousel = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin, normalizeSlotMixin],\n provide() {\n return { bvCarousel: this }\n },\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n labelPrev: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelPrev')\n },\n labelNext: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNext')\n },\n labelGotoSlide: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelGotoSlide')\n },\n labelIndicators: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelIndicators')\n },\n interval: {\n type: Number,\n default: 5000\n },\n indicators: {\n type: Boolean,\n default: false\n },\n controls: {\n type: Boolean,\n default: false\n },\n noAnimation: {\n // Disable slide/fade animation\n type: Boolean,\n default: false\n },\n fade: {\n // Enable cross-fade animation instead of slide animation\n type: Boolean,\n default: false\n },\n noWrap: {\n // Disable wrapping/looping when start/end is reached\n type: Boolean,\n default: false\n },\n noTouch: {\n // Sniffed by carousel-slide\n type: Boolean,\n default: false\n },\n noHoverPause: {\n // Disable pause on hover\n type: Boolean,\n default: false\n },\n imgWidth: {\n // Sniffed by carousel-slide\n type: [Number, String]\n // default: undefined\n },\n imgHeight: {\n // Sniffed by carousel-slide\n type: [Number, String]\n // default: undefined\n },\n background: {\n type: String\n // default: undefined\n },\n value: {\n type: Number,\n default: 0\n }\n },\n data() {\n return {\n index: this.value || 0,\n isSliding: false,\n transitionEndEvent: null,\n slides: [],\n direction: null,\n isPaused: !(toInteger(this.interval) > 0),\n // Touch event handling values\n touchStartX: 0,\n touchDeltaX: 0\n }\n },\n computed: {\n numSlides() {\n return this.slides.length\n }\n },\n watch: {\n value(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.setSlide(toInteger(newVal) || 0)\n }\n },\n interval(newVal, oldVal) {\n if (newVal === oldVal) {\n /* istanbul ignore next */\n return\n }\n if (!newVal) {\n // Pausing slide show\n this.pause(false)\n } else {\n // Restarting or Changing interval\n this.pause(true)\n this.start(false)\n }\n },\n isPaused(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit(newVal ? 'paused' : 'unpaused')\n }\n },\n index(to, from) {\n if (to === from || this.isSliding) {\n /* istanbul ignore next */\n return\n }\n this.doSlide(to, from)\n }\n },\n created() {\n // Create private non-reactive props\n this._intervalId = null\n this._animationTimeout = null\n this._touchTimeout = null\n // Set initial paused state\n this.isPaused = !(toInteger(this.interval) > 0)\n },\n mounted() {\n // Cache current browser transitionend event name\n this.transitionEndEvent = getTransitionEndEvent(this.$el) || null\n // Get all slides\n this.updateSlides()\n // Observe child changes so we can update slide list\n observeDom(this.$refs.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n })\n },\n beforeDestroy() {\n clearTimeout(this._animationTimeout)\n clearTimeout(this._touchTimeout)\n clearInterval(this._intervalId)\n this._intervalId = null\n this._animationTimeout = null\n this._touchTimeout = null\n },\n methods: {\n // Set slide\n setSlide(slide, direction = null) {\n // Don't animate when page is not visible\n /* istanbul ignore if: difficult to test */\n if (isBrowser && document.visibilityState && document.hidden) {\n return\n }\n const noWrap = this.noWrap\n const numSlides = this.numSlides\n // Make sure we have an integer (you never know!)\n slide = Math.floor(slide)\n // Don't do anything if nothing to slide to\n if (numSlides === 0) {\n return\n }\n // Don't change slide while transitioning, wait until transition is done\n if (this.isSliding) {\n // Schedule slide after sliding complete\n this.$once('sliding-end', () => this.setSlide(slide, direction))\n return\n }\n this.direction = direction\n // Set new slide index\n // Wrap around if necessary (if no-wrap not enabled)\n this.index =\n slide >= numSlides\n ? noWrap\n ? numSlides - 1\n : 0\n : slide < 0\n ? noWrap\n ? 0\n : numSlides - 1\n : slide\n // Ensure the v-model is synched up if no-wrap is enabled\n // and user tried to slide pass either ends\n if (noWrap && this.index !== slide && this.index !== this.value) {\n this.$emit('input', this.index)\n }\n },\n // Previous slide\n prev() {\n this.setSlide(this.index - 1, 'prev')\n },\n // Next slide\n next() {\n this.setSlide(this.index + 1, 'next')\n },\n // Pause auto rotation\n pause(evt) {\n if (!evt) {\n this.isPaused = true\n }\n if (this._intervalId) {\n clearInterval(this._intervalId)\n this._intervalId = null\n }\n },\n // Start auto rotate slides\n start(evt) {\n if (!evt) {\n this.isPaused = false\n }\n /* istanbul ignore next: most likely will never happen, but just in case */\n if (this._intervalId) {\n clearInterval(this._intervalId)\n this._intervalId = null\n }\n // Don't start if no interval, or less than 2 slides\n if (this.interval && this.numSlides > 1) {\n this._intervalId = setInterval(this.next, Math.max(1000, this.interval))\n }\n },\n // Restart auto rotate slides when focus/hover leaves the carousel\n restart() /* istanbul ignore next: difficult to test */ {\n if (!this.$el.contains(document.activeElement)) {\n this.start()\n }\n },\n doSlide(to, from) {\n const isCycling = Boolean(this.interval)\n // Determine sliding direction\n const direction = this.calcDirection(this.direction, from, to)\n const overlayClass = direction.overlayClass\n const dirClass = direction.dirClass\n // Determine current and next slides\n const currentSlide = this.slides[from]\n const nextSlide = this.slides[to]\n // Don't do anything if there aren't any slides to slide to\n if (!currentSlide || !nextSlide) {\n /* istanbul ignore next */\n return\n }\n // Start animating\n this.isSliding = true\n if (isCycling) {\n this.pause(false)\n }\n this.$emit('sliding-start', to)\n // Update v-model\n this.$emit('input', this.index)\n if (this.noAnimation) {\n addClass(nextSlide, 'active')\n removeClass(currentSlide, 'active')\n this.isSliding = false\n // Notify ourselves that we're done sliding (slid)\n this.$nextTick(() => this.$emit('sliding-end', to))\n } else {\n addClass(nextSlide, overlayClass)\n // Trigger a reflow of next slide\n reflow(nextSlide)\n addClass(currentSlide, dirClass)\n addClass(nextSlide, dirClass)\n // Transition End handler\n let called = false\n /* istanbul ignore next: difficult to test */\n const onceTransEnd = () => {\n if (called) {\n return\n }\n called = true\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n if (this.transitionEndEvent) {\n const events = this.transitionEndEvent.split(/\\s+/)\n events.forEach(evt =>\n eventOff(currentSlide, evt, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE)\n )\n }\n this._animationTimeout = null\n removeClass(nextSlide, dirClass)\n removeClass(nextSlide, overlayClass)\n addClass(nextSlide, 'active')\n removeClass(currentSlide, 'active')\n removeClass(currentSlide, dirClass)\n removeClass(currentSlide, overlayClass)\n setAttr(currentSlide, 'aria-current', 'false')\n setAttr(nextSlide, 'aria-current', 'true')\n setAttr(currentSlide, 'aria-hidden', 'true')\n setAttr(nextSlide, 'aria-hidden', 'false')\n this.isSliding = false\n this.direction = null\n // Notify ourselves that we're done sliding (slid)\n this.$nextTick(() => this.$emit('sliding-end', to))\n }\n // Set up transitionend handler\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n if (this.transitionEndEvent) {\n const events = this.transitionEndEvent.split(/\\s+/)\n events.forEach(event =>\n eventOn(currentSlide, event, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE)\n )\n }\n // Fallback to setTimeout()\n this._animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION)\n }\n if (isCycling) {\n this.start(false)\n }\n },\n // Update slide list\n updateSlides() {\n this.pause(true)\n // Get all slides as DOM elements\n this.slides = selectAll('.carousel-item', this.$refs.inner)\n const numSlides = this.slides.length\n // Keep slide number in range\n const index = Math.max(0, Math.min(Math.floor(this.index), numSlides - 1))\n this.slides.forEach((slide, idx) => {\n const n = idx + 1\n if (idx === index) {\n addClass(slide, 'active')\n setAttr(slide, 'aria-current', 'true')\n } else {\n removeClass(slide, 'active')\n setAttr(slide, 'aria-current', 'false')\n }\n setAttr(slide, 'aria-posinset', String(n))\n setAttr(slide, 'aria-setsize', String(numSlides))\n })\n // Set slide as active\n this.setSlide(index)\n this.start(this.isPaused)\n },\n calcDirection(direction = null, curIndex = 0, nextIndex = 0) {\n if (!direction) {\n return nextIndex > curIndex ? DIRECTION.next : DIRECTION.prev\n }\n return DIRECTION[direction]\n },\n handleClick(evt, fn) {\n const keyCode = evt.keyCode\n if (evt.type === 'click' || keyCode === KeyCodes.SPACE || keyCode === KeyCodes.ENTER) {\n evt.preventDefault()\n evt.stopPropagation()\n fn()\n }\n },\n handleSwipe() /* istanbul ignore next: JSDOM doesn't support touch events */ {\n const absDeltaX = Math.abs(this.touchDeltaX)\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n const direction = absDeltaX / this.touchDeltaX\n // Reset touch delta X\n // https://github.com/twbs/bootstrap/pull/28558\n this.touchDeltaX = 0\n if (direction > 0) {\n // Swipe left\n this.prev()\n } else if (direction < 0) {\n // Swipe right\n this.next()\n }\n },\n touchStart(evt) /* istanbul ignore next: JSDOM doesn't support touch events */ {\n if (hasPointerEventSupport && PointerType[evt.pointerType.toUpperCase()]) {\n this.touchStartX = evt.clientX\n } else if (!hasPointerEventSupport) {\n this.touchStartX = evt.touches[0].clientX\n }\n },\n touchMove(evt) /* istanbul ignore next: JSDOM doesn't support touch events */ {\n // Ensure swiping with one touch and not pinching\n if (evt.touches && evt.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = evt.touches[0].clientX - this.touchStartX\n }\n },\n touchEnd(evt) /* istanbul ignore next: JSDOM doesn't support touch events */ {\n if (hasPointerEventSupport && PointerType[evt.pointerType.toUpperCase()]) {\n this.touchDeltaX = evt.clientX - this.touchStartX\n }\n this.handleSwipe()\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n this.pause(false)\n if (this._touchTimeout) {\n clearTimeout(this._touchTimeout)\n }\n this._touchTimeout = setTimeout(\n this.start,\n TOUCH_EVENT_COMPAT_WAIT + Math.max(1000, this.interval)\n )\n }\n },\n render(h) {\n // Wrapper for slides\n const inner = h(\n 'div',\n {\n ref: 'inner',\n class: ['carousel-inner'],\n attrs: {\n id: this.safeId('__BV_inner_'),\n role: 'list'\n }\n },\n [this.normalizeSlot('default')]\n )\n\n // Prev and next controls\n let controls = h()\n if (this.controls) {\n const prevHandler = evt => {\n /* istanbul ignore next */\n if (!this.isSliding) {\n this.handleClick(evt, this.prev)\n } else {\n evt.preventDefault()\n }\n }\n const nextHandler = evt => {\n /* istanbul ignore next */\n if (!this.isSliding) {\n this.handleClick(evt, this.next)\n } else {\n evt.preventDefault()\n }\n }\n controls = [\n h(\n 'a',\n {\n class: ['carousel-control-prev'],\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': this.safeId('__BV_inner_'),\n 'aria-disabled': this.isSliding ? 'true' : null\n },\n on: {\n click: prevHandler,\n keydown: prevHandler\n }\n },\n [\n h('span', { class: ['carousel-control-prev-icon'], attrs: { 'aria-hidden': 'true' } }),\n h('span', { class: ['sr-only'] }, [this.labelPrev])\n ]\n ),\n h(\n 'a',\n {\n class: ['carousel-control-next'],\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': this.safeId('__BV_inner_'),\n 'aria-disabled': this.isSliding ? 'true' : null\n },\n on: {\n click: nextHandler,\n keydown: nextHandler\n }\n },\n [\n h('span', { class: ['carousel-control-next-icon'], attrs: { 'aria-hidden': 'true' } }),\n h('span', { class: ['sr-only'] }, [this.labelNext])\n ]\n )\n ]\n }\n\n // Indicators\n const indicators = h(\n 'ol',\n {\n class: ['carousel-indicators'],\n directives: [\n { name: 'show', rawName: 'v-show', value: this.indicators, expression: 'indicators' }\n ],\n attrs: {\n id: this.safeId('__BV_indicators_'),\n 'aria-hidden': this.indicators ? 'false' : 'true',\n 'aria-label': this.labelIndicators,\n 'aria-owns': this.safeId('__BV_inner_')\n }\n },\n this.slides.map((slide, n) => {\n return h('li', {\n key: `slide_${n}`,\n class: { active: n === this.index },\n attrs: {\n role: 'button',\n id: this.safeId(`__BV_indicator_${n + 1}_`),\n tabindex: this.indicators ? '0' : '-1',\n 'aria-current': n === this.index ? 'true' : 'false',\n 'aria-label': `${this.labelGotoSlide} ${n + 1}`,\n 'aria-describedby': this.slides[n].id || null,\n 'aria-controls': this.safeId('__BV_inner_')\n },\n on: {\n click: evt => {\n this.handleClick(evt, () => {\n this.setSlide(n)\n })\n },\n keydown: evt => {\n this.handleClick(evt, () => {\n this.setSlide(n)\n })\n }\n }\n })\n })\n )\n\n const on = {\n mouseenter: this.noHoverPause ? noop : this.pause,\n mouseleave: this.noHoverPause ? noop : this.restart,\n focusin: this.pause,\n focusout: this.restart,\n keydown: evt => {\n if (/input|textarea/i.test(evt.target.tagName)) {\n /* istanbul ignore next */\n return\n }\n const keyCode = evt.keyCode\n if (keyCode === KeyCodes.LEFT || keyCode === KeyCodes.RIGHT) {\n evt.preventDefault()\n evt.stopPropagation()\n this[keyCode === KeyCodes.LEFT ? 'prev' : 'next']()\n }\n }\n }\n // Touch support event handlers for environment\n if (!this.noTouch && hasTouchSupport) {\n // Attach appropriate listeners (prepend event name with '&' for passive mode)\n /* istanbul ignore next: JSDOM doesn't support touch events */\n if (hasPointerEventSupport) {\n on['&pointerdown'] = this.touchStart\n on['&pointerup'] = this.touchEnd\n } else {\n on['&touchstart'] = this.touchStart\n on['&touchmove'] = this.touchMove\n on['&touchend'] = this.touchEnd\n }\n }\n\n // Return the carousel\n return h(\n 'div',\n {\n staticClass: 'carousel',\n class: {\n slide: !this.noAnimation,\n 'carousel-fade': !this.noAnimation && this.fade,\n 'pointer-event': !this.noTouch && hasTouchSupport && hasPointerEventSupport\n },\n style: { background: this.background },\n attrs: {\n role: 'region',\n id: this.safeId(),\n 'aria-busy': this.isSliding ? 'true' : 'false'\n },\n on\n },\n [inner, controls, indicators]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { hasTouchSupport } from '../../utils/env'\nimport { htmlOrText } from '../../utils/html'\nimport { BImg } from '../image/img'\n\nexport const props = {\n imgSrc: {\n type: String\n // default: undefined\n },\n imgAlt: {\n type: String\n // default: undefined\n },\n imgWidth: {\n type: [Number, String]\n // default: undefined\n },\n imgHeight: {\n type: [Number, String]\n // default: undefined\n },\n imgBlank: {\n type: Boolean,\n default: false\n },\n imgBlankColor: {\n type: String,\n default: 'transparent'\n },\n contentVisibleUp: {\n type: String\n },\n contentTag: {\n type: String,\n default: 'div'\n },\n caption: {\n type: String\n },\n captionHtml: {\n type: String\n },\n captionTag: {\n type: String,\n default: 'h3'\n },\n text: {\n type: String\n },\n textHtml: {\n type: String\n },\n textTag: {\n type: String,\n default: 'p'\n },\n background: {\n type: String\n }\n}\n\n// @vue/component\nexport const BCarouselSlide = /*#__PURE__*/ Vue.extend({\n name: 'BCarouselSlide',\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n bvCarousel: {\n default() {\n return {\n // Explicitly disable touch if not a child of carousel\n noTouch: true\n }\n }\n }\n },\n props,\n computed: {\n contentClasses() {\n return [\n this.contentVisibleUp ? 'd-none' : '',\n this.contentVisibleUp ? `d-${this.contentVisibleUp}-block` : ''\n ]\n },\n computedWidth() {\n // Use local width, or try parent width\n return this.imgWidth || this.bvCarousel.imgWidth || null\n },\n computedHeight() {\n // Use local height, or try parent height\n return this.imgHeight || this.bvCarousel.imgHeight || null\n }\n },\n render(h) {\n const noDrag = !this.bvCarousel.noTouch && hasTouchSupport\n\n let img = this.normalizeSlot('img')\n if (!img && (this.imgSrc || this.imgBlank)) {\n img = h(BImg, {\n props: {\n fluidGrow: true,\n block: true,\n src: this.imgSrc,\n blank: this.imgBlank,\n blankColor: this.imgBlankColor,\n width: this.computedWidth,\n height: this.computedHeight,\n alt: this.imgAlt\n },\n // Touch support event handler\n on: noDrag\n ? {\n dragstart: e => {\n /* istanbul ignore next: difficult to test in JSDOM */\n e.preventDefault()\n }\n }\n : {}\n })\n }\n if (!img) {\n img = h()\n }\n\n let content = h()\n\n const contentChildren = [\n this.caption || this.captionHtml\n ? h(this.captionTag, {\n domProps: htmlOrText(this.captionHtml, this.caption)\n })\n : false,\n this.text || this.textHtml\n ? h(this.textTag, { domProps: htmlOrText(this.textHtml, this.text) })\n : false,\n this.normalizeSlot('default') || false\n ]\n\n if (contentChildren.some(Boolean)) {\n content = h(\n this.contentTag,\n { staticClass: 'carousel-caption', class: this.contentClasses },\n contentChildren.map(i => i || h())\n )\n }\n\n return h(\n 'div',\n {\n staticClass: 'carousel-item',\n style: { background: this.background || this.bvCarousel.background || null },\n attrs: { id: this.safeId(), role: 'listitem' }\n },\n [img, content]\n )\n }\n})\n","import { BCarousel } from './carousel'\nimport { BCarouselSlide } from './carousel-slide'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst CarouselPlugin = /*#__PURE*/ pluginFactory({\n components: {\n BCarousel,\n BCarouselSlide\n }\n})\n\nexport { CarouselPlugin, BCarousel, BCarouselSlide }\n","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport Vue from './vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getBCR, reflow, requestAF } from './dom'\n\n// Transition event handler helpers\nconst onEnter = el => {\n el.style.height = 0\n // Animaton frame delay neeeded for `appear` to work\n requestAF(() => {\n reflow(el)\n el.style.height = `${el.scrollHeight}px`\n })\n}\n\nconst onAfterEnter = el => {\n el.style.height = null\n}\n\nconst onLeave = el => {\n el.style.height = 'auto'\n el.style.display = 'block'\n el.style.height = `${getBCR(el).height}px`\n reflow(el)\n el.style.height = 0\n}\n\nconst onAfterLeave = el => {\n el.style.height = null\n}\n\n// Default transition props\n// `appear` will use the enter classes\nconst TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n}\n\n// Default transition handlers\n// `appear` will use the enter handlers\nconst TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}\n\n// @vue/component\nexport const BVCollapse = /*#__PURE__*/ Vue.extend({\n name: 'BVCollapse',\n functional: true,\n props: {\n appear: {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n type: Boolean,\n default: false\n }\n },\n render(h, { props, data, children }) {\n return h(\n 'transition',\n // We merge in the `appear` prop last\n mergeData(data, { props: TRANSITION_PROPS, on: TRANSITION_HANDLERS }, { props }),\n // Note: `` supports a single root element only\n children\n )\n }\n})\n","/**\n * Issue #569: collapse::toggle::state triggered too many times\n * @link https://github.com/bootstrap-vue/bootstrap-vue/issues/569\n */\n\n// @vue/component\nexport default {\n methods: {\n /**\n * Safely register event listeners on the root Vue node.\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback.\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n * @chainable\n */\n listenOnRoot(event, callback) {\n this.$root.$on(event, callback)\n this.$on('hook:beforeDestroy', () => {\n this.$root.$off(event, callback)\n })\n // Return this for easy chaining\n return this\n },\n\n /**\n * Safely register a $once event listener on the root Vue node.\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback.\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n * @chainable\n */\n listenOnRootOnce(event, callback) {\n this.$root.$once(event, callback)\n this.$on('hook:beforeDestroy', () => {\n this.$root.$off(event, callback)\n })\n // Return this for easy chaining\n return this\n },\n\n /**\n * Convenience method for calling vm.$emit on vm.$root.\n * @param {string} event\n * @param {*} args\n * @chainable\n */\n emitOnRoot(event, ...args) {\n this.$root.$emit(event, ...args)\n // Return this for easy chaining\n return this\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { isBrowser } from '../../utils/env'\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOnOff } from '../../utils/events'\nimport { BVCollapse } from '../../utils/bv-collapse'\nimport idMixin from '../../mixins/id'\nimport listenOnRootMixin from '../../mixins/listen-on-root'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\n// Events we emit on $root\nconst EVENT_STATE = 'bv::collapse::state'\nconst EVENT_ACCORDION = 'bv::collapse::accordion'\n// Private event we emit on `$root` to ensure the toggle state is\n// always synced. It gets emitted even if the state has not changed!\n// This event is NOT to be documented as people should not be using it\nconst EVENT_STATE_SYNC = 'bv::collapse::sync::state'\n// Events we listen to on `$root`\nconst EVENT_TOGGLE = 'bv::toggle::collapse'\nconst EVENT_STATE_REQUEST = 'bv::request::collapse::state'\n\n// @vue/component\nexport const BCollapse = /*#__PURE__*/ Vue.extend({\n name: 'BCollapse',\n mixins: [idMixin, listenOnRootMixin, normalizeSlotMixin],\n model: {\n prop: 'visible',\n event: 'input'\n },\n props: {\n isNav: {\n type: Boolean,\n default: false\n },\n accordion: {\n type: String,\n default: null\n },\n visible: {\n type: Boolean,\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n },\n appear: {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n show: this.visible,\n transitioning: false\n }\n },\n computed: {\n classObject() {\n return {\n 'navbar-collapse': this.isNav,\n collapse: !this.transitioning,\n show: this.show && !this.transitioning\n }\n }\n },\n watch: {\n visible(newVal) {\n if (newVal !== this.show) {\n this.show = newVal\n }\n },\n show(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.emitState()\n }\n }\n },\n created() {\n this.show = this.visible\n },\n mounted() {\n this.show = this.visible\n // Listen for toggle events to open/close us\n this.listenOnRoot(EVENT_TOGGLE, this.handleToggleEvt)\n // Listen to other collapses for accordion events\n this.listenOnRoot(EVENT_ACCORDION, this.handleAccordionEvt)\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true)\n this.handleResize()\n }\n this.$nextTick(() => {\n this.emitState()\n })\n // Listen for \"Sync state\" requests from `v-b-toggle`\n this.listenOnRoot(EVENT_STATE_REQUEST, id => {\n if (id === this.safeId()) {\n this.$nextTick(this.emitSync)\n }\n })\n },\n updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync()\n },\n deactivated() /* istanbul ignore next */ {\n if (this.isNav) {\n this.setWindowEvents(false)\n }\n },\n activated() /* istanbul ignore next */ {\n if (this.isNav) {\n this.setWindowEvents(true)\n }\n this.emitSync()\n },\n beforeDestroy() {\n // Trigger state emit if needed\n this.show = false\n if (this.isNav && isBrowser) {\n this.setWindowEvents(false)\n }\n },\n methods: {\n setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE)\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE)\n },\n toggle() {\n this.show = !this.show\n },\n onEnter() {\n this.transitioning = true\n // This should be moved out so we can add cancellable events\n this.$emit('show')\n },\n onAfterEnter() {\n this.transitioning = false\n this.$emit('shown')\n },\n onLeave() {\n this.transitioning = true\n // This should be moved out so we can add cancellable events\n this.$emit('hide')\n },\n onAfterLeave() {\n this.transitioning = false\n this.$emit('hidden')\n },\n emitState() {\n this.$emit('input', this.show)\n // Let `v-b-toggle` know the state of this collapse\n this.$root.$emit(EVENT_STATE, this.safeId(), this.show)\n if (this.accordion && this.show) {\n // Tell the other collapses in this accordion to close\n this.$root.$emit(EVENT_ACCORDION, this.safeId(), this.accordion)\n }\n },\n emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.$root.$emit(EVENT_STATE_SYNC, this.safeId(), this.show)\n },\n checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n const restore = hasClass(this.$el, 'show')\n removeClass(this.$el, 'show')\n const isBlock = getCS(this.$el).display === 'block'\n if (restore) {\n addClass(this.$el, 'show')\n }\n return isBlock\n },\n clickHandler(evt) {\n // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n const el = evt.target\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n return\n }\n if (matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) {\n if (!this.checkDisplayBlock()) {\n // Only close the collapse if it is not forced to be `display: block !important`\n this.show = false\n }\n }\n },\n handleToggleEvt(target) {\n if (target !== this.safeId()) {\n return\n }\n this.toggle()\n },\n handleAccordionEvt(openedId, accordion) {\n if (!this.accordion || accordion !== this.accordion) {\n return\n }\n if (openedId === this.safeId()) {\n // Open this collapse if not shown\n if (!this.show) {\n this.toggle()\n }\n } else {\n // Close this collapse if shown\n if (this.show) {\n this.toggle()\n }\n }\n },\n handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block'\n }\n },\n render(h) {\n const scope = {\n visible: this.show,\n close: () => (this.show = false)\n }\n const content = h(\n this.tag,\n {\n class: this.classObject,\n directives: [{ name: 'show', value: this.show }],\n attrs: { id: this.safeId() },\n on: { click: this.clickHandler }\n },\n [this.normalizeSlot('default', scope)]\n )\n return h(\n BVCollapse,\n {\n props: { appear: this.appear },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n },\n [content]\n )\n }\n})\n","import { keys } from './object'\nimport { eventOn, eventOff } from './events'\n\nconst allListenTypes = { hover: true, click: true, focus: true }\n\nconst BVBoundListeners = '__BV_boundEventListeners__'\n\nconst getTargets = binding => {\n const targets = keys(binding.modifiers || {}).filter(t => !allListenTypes[t])\n\n if (binding.value) {\n targets.push(binding.value)\n }\n\n return targets\n}\n\nconst bindTargets = (vnode, binding, listenTypes, fn) => {\n const targets = getTargets(binding)\n\n const listener = () => {\n fn({ targets, vnode })\n }\n\n keys(allListenTypes).forEach(type => {\n if (listenTypes[type] || binding.modifiers[type]) {\n eventOn(vnode.elm, type, listener)\n const boundListeners = vnode.elm[BVBoundListeners] || {}\n boundListeners[type] = boundListeners[type] || []\n boundListeners[type].push(listener)\n vnode.elm[BVBoundListeners] = boundListeners\n }\n })\n\n // Return the list of targets\n return targets\n}\n\nconst unbindTargets = (vnode, binding, listenTypes) => {\n keys(allListenTypes).forEach(type => {\n if (listenTypes[type] || binding.modifiers[type]) {\n const boundListeners = vnode.elm[BVBoundListeners] && vnode.elm[BVBoundListeners][type]\n if (boundListeners) {\n boundListeners.forEach(listener => eventOff(vnode.elm, type, listener))\n delete vnode.elm[BVBoundListeners][type]\n }\n }\n })\n}\n\nexport { bindTargets, unbindTargets, getTargets }\n\nexport default bindTargets\n","import looseEqual from '../../utils/loose-equal'\nimport { addClass, hasAttr, removeAttr, removeClass, setAttr } from '../../utils/dom'\nimport { isBrowser } from '../../utils/env'\nimport { bindTargets, getTargets, unbindTargets } from '../../utils/target'\n\n// Target listen types\nconst listenTypes = { click: true }\n\n// Property key for handler storage\nconst BV_TOGGLE = '__BV_toggle__'\nconst BV_TOGGLE_STATE = '__BV_toggle_STATE__'\nconst BV_TOGGLE_CONTROLS = '__BV_toggle_CONTROLS__'\nconst BV_TOGGLE_TARGETS = '__BV_toggle_TARGETS__'\n\n// Emitted control event for collapse (emitted to collapse)\nconst EVENT_TOGGLE = 'bv::toggle::collapse'\n\n// Listen to event for toggle state update (emitted by collapse)\nconst EVENT_STATE = 'bv::collapse::state'\n\n// Private event emitted on $root to ensure the toggle state is always synced.\n// Gets emitted even if the state of b-collapse has not changed.\n// This event is NOT to be documented as people should not be using it.\nconst EVENT_STATE_SYNC = 'bv::collapse::sync::state'\n// Private event we send to collapse to request state update sync event\nconst EVENT_STATE_REQUEST = 'bv::request::collapse::state'\n\n// Reset and remove a property from the provided element\nconst resetProp = (el, prop) => {\n el[prop] = null\n delete el[prop]\n}\n\n// Handle targets update\nconst handleTargets = ({ targets, vnode }) => {\n targets.forEach(target => {\n vnode.context.$root.$emit(EVENT_TOGGLE, target)\n })\n}\n\n// Handle directive updates\n/* istanbul ignore next: not easy to test */\nconst handleUpdate = (el, binding, vnode) => {\n if (!isBrowser) {\n return\n }\n\n if (!looseEqual(getTargets(binding), el[BV_TOGGLE_TARGETS])) {\n // Targets have changed, so update accordingly\n unbindTargets(vnode, binding, listenTypes)\n const targets = bindTargets(vnode, binding, listenTypes, handleTargets)\n // Update targets array to element\n el[BV_TOGGLE_TARGETS] = targets\n // Add aria attributes to element\n el[BV_TOGGLE_CONTROLS] = targets.join(' ')\n // ensure aria-controls is up to date\n setAttr(el, 'aria-controls', el[BV_TOGGLE_CONTROLS])\n // Request a state update from targets so that we can ensure\n // expanded state is correct\n targets.forEach(target => {\n vnode.context.$root.$emit(EVENT_STATE_REQUEST, target)\n })\n }\n\n // Ensure the collapse class and aria-* attributes persist\n // after element is updated (either by parent re-rendering\n // or changes to this element or its contents\n if (el[BV_TOGGLE_STATE] === true) {\n addClass(el, 'collapsed')\n setAttr(el, 'aria-expanded', 'true')\n } else if (el[BV_TOGGLE_STATE] === false) {\n removeClass(el, 'collapsed')\n setAttr(el, 'aria-expanded', 'false')\n }\n setAttr(el, 'aria-controls', el[BV_TOGGLE_CONTROLS])\n}\n\n/*\n * Export our directive\n */\nexport const VBToggle = {\n bind(el, binding, vnode) {\n const targets = bindTargets(vnode, binding, listenTypes, handleTargets)\n if (isBrowser && vnode.context && targets.length > 0) {\n // Add targets array to element\n el[BV_TOGGLE_TARGETS] = targets\n // Add aria attributes to element\n el[BV_TOGGLE_CONTROLS] = targets.join(' ')\n // State is initially collapsed until we receive a state event\n el[BV_TOGGLE_STATE] = false\n setAttr(el, 'aria-controls', el[BV_TOGGLE_CONTROLS])\n setAttr(el, 'aria-expanded', 'false')\n // If element is not a button, we add `role=\"button\"` for accessibility\n if (el.tagName !== 'BUTTON' && !hasAttr(el, 'role')) {\n setAttr(el, 'role', 'button')\n }\n\n // Toggle state handler\n const toggleDirectiveHandler = (id, state) => {\n const targets = el[BV_TOGGLE_TARGETS] || []\n if (targets.indexOf(id) !== -1) {\n // Set aria-expanded state\n setAttr(el, 'aria-expanded', state ? 'true' : 'false')\n // Set/Clear 'collapsed' class state\n el[BV_TOGGLE_STATE] = state\n if (state) {\n removeClass(el, 'collapsed')\n } else {\n addClass(el, 'collapsed')\n }\n }\n }\n\n // Store the toggle handler on the element\n el[BV_TOGGLE] = toggleDirectiveHandler\n\n // Listen for toggle state changes (public)\n vnode.context.$root.$on(EVENT_STATE, el[BV_TOGGLE])\n // Listen for toggle state sync (private)\n vnode.context.$root.$on(EVENT_STATE_SYNC, el[BV_TOGGLE])\n }\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind(el, binding, vnode) /* istanbul ignore next */ {\n unbindTargets(vnode, binding, listenTypes)\n // Remove our $root listener\n if (el[BV_TOGGLE]) {\n vnode.context.$root.$off(EVENT_STATE, el[BV_TOGGLE])\n vnode.context.$root.$off(EVENT_STATE_SYNC, el[BV_TOGGLE])\n }\n // Reset custom props\n resetProp(el, BV_TOGGLE)\n resetProp(el, BV_TOGGLE_STATE)\n resetProp(el, BV_TOGGLE_CONTROLS)\n resetProp(el, BV_TOGGLE_TARGETS)\n // Reset classes/attrs\n removeClass(el, 'collapsed')\n removeAttr(el, 'aria-expanded')\n removeAttr(el, 'aria-controls')\n removeAttr(el, 'role')\n }\n}\n","import { BCollapse } from './collapse'\nimport { VBToggle } from '../../directives/toggle/toggle'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst CollapsePlugin = /*#__PURE__*/ pluginFactory({\n components: { BCollapse },\n directives: { VBToggle }\n})\n\nexport { CollapsePlugin, BCollapse }\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import { assign, defineProperty, defineProperties, readonlyDescriptor } from './object'\n\nclass BvEvent {\n constructor(type, eventInit = {}) {\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${\n arguments.length\n } given.`\n )\n }\n\n // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, { type })\n\n // Freeze some props as readonly, but leave them enumerable\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 })\n\n // Create a private variable using closure scoping\n let defaultPrevented = false\n // Recreate preventDefault method. One way setter\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true\n }\n }\n\n // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get() {\n return defaultPrevented\n }\n })\n }\n\n static get Defaults() {\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// Named Exports\nexport { BvEvent }\n","import { contains } from '../utils/dom'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../utils/events'\n\n// @vue/component\nexport default {\n data() {\n return {\n listenForClickOut: false\n }\n },\n watch: {\n listenForClickOut(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(\n this.clickOutElement,\n this.clickOutEventName,\n this._clickOutHandler,\n EVENT_OPTIONS_NO_CAPTURE\n )\n if (newValue) {\n eventOn(\n this.clickOutElement,\n this.clickOutEventName,\n this._clickOutHandler,\n EVENT_OPTIONS_NO_CAPTURE\n )\n }\n }\n }\n },\n beforeCreate() {\n // Declare non-reactive properties\n this.clickOutElement = null\n this.clickOutEventName = null\n },\n mounted() {\n if (!this.clickOutElement) {\n this.clickOutElement = document\n }\n if (!this.clickOutEventName) {\n this.clickOutEventName = 'click'\n }\n if (this.listenForClickOut) {\n eventOn(\n this.clickOutElement,\n this.clickOutEventName,\n this._clickOutHandler,\n EVENT_OPTIONS_NO_CAPTURE\n )\n }\n },\n beforeDestroy() /* istanbul ignore next */ {\n eventOff(\n this.clickOutElement,\n this.clickOutEventName,\n this._clickOutHandler,\n EVENT_OPTIONS_NO_CAPTURE\n )\n },\n methods: {\n isClickOut(evt) {\n return !contains(this.$el, evt.target)\n },\n _clickOutHandler(evt) {\n if (this.clickOutHandler && this.isClickOut(evt)) {\n this.clickOutHandler(evt)\n }\n }\n }\n}\n","import { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../utils/events'\n\n// @vue/component\nexport default {\n data() {\n return {\n listenForFocusIn: false\n }\n },\n watch: {\n listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE)\n if (newValue) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n }\n },\n beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null\n },\n mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document\n }\n if (this.listenForFocusIn) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE)\n }\n },\n beforeDestroy() /* istanbul ignore next */ {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE)\n },\n methods: {\n _focusInHandler(evt) {\n if (this.focusInHandler) {\n this.focusInHandler(evt)\n }\n }\n }\n}\n","import Popper from 'popper.js'\nimport KeyCodes from '../utils/key-codes'\nimport { BvEvent } from '../utils/bv-event.class'\nimport { closest, contains, isVisible, requestAF, selectAll } from '../utils/dom'\nimport { isNull } from '../utils/inspect'\nimport { HTMLElement } from '../utils/safe-types'\nimport { warn } from '../utils/warn'\nimport clickOutMixin from './click-out'\nimport focusInMixin from './focus-in'\nimport idMixin from './id'\n\n// Return an array of visible items\nconst filterVisibles = els => (els || []).filter(isVisible)\n\n// Root dropdown event names\nconst ROOT_DROPDOWN_PREFIX = 'bv::dropdown::'\nconst ROOT_DROPDOWN_SHOWN = `${ROOT_DROPDOWN_PREFIX}shown`\nconst ROOT_DROPDOWN_HIDDEN = `${ROOT_DROPDOWN_PREFIX}hidden`\n\n// Dropdown item CSS selectors\nconst Selector = {\n FORM_CHILD: '.dropdown form',\n ITEM_SELECTOR: ['.dropdown-item', '.b-dropdown-form']\n .map(selector => `${selector}:not(.disabled):not([disabled])`)\n .join(', ')\n}\n\n// Popper attachment positions\nconst AttachmentMap = {\n // Dropup left align\n TOP: 'top-start',\n // Dropup right align\n TOPEND: 'top-end',\n // Dropdown left align\n BOTTOM: 'bottom-start',\n // Dropdown right align\n BOTTOMEND: 'bottom-end',\n // Dropright left align\n RIGHT: 'right-start',\n // Dropright right align\n RIGHTEND: 'right-end',\n // Dropleft left align\n LEFT: 'left-start',\n // Dropleft right align\n LEFTEND: 'left-end'\n}\n\n// @vue/component\nexport default {\n mixins: [idMixin, clickOutMixin, focusInMixin],\n provide() {\n return { bvDropdown: this }\n },\n inject: {\n bvNavbar: { default: null }\n },\n props: {\n disabled: {\n type: Boolean,\n default: false\n },\n dropup: {\n // place on top if possible\n type: Boolean,\n default: false\n },\n dropright: {\n // place right if possible\n type: Boolean,\n default: false\n },\n dropleft: {\n // place left if possible\n type: Boolean,\n default: false\n },\n right: {\n // Right align menu (default is left align)\n type: Boolean,\n default: false\n },\n offset: {\n // Number of pixels to offset menu, or a CSS unit value (i.e. 1px, 1rem, etc)\n type: [Number, String],\n default: 0\n },\n noFlip: {\n // Disable auto-flipping of menu from bottom<=>top\n type: Boolean,\n default: false\n },\n popperOpts: {\n // type: Object,\n default: () => {}\n },\n boundary: {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n type: [String, HTMLElement],\n default: 'scrollParent'\n }\n },\n data() {\n return {\n visible: false,\n visibleChangePrevented: false\n }\n },\n computed: {\n inNavbar() {\n return !isNull(this.bvNavbar)\n },\n toggler() {\n const toggle = this.$refs.toggle\n return toggle ? toggle.$el || toggle : null\n },\n directionClass() {\n if (this.dropup) {\n return 'dropup'\n } else if (this.dropright) {\n return 'dropright'\n } else if (this.dropleft) {\n return 'dropleft'\n }\n return ''\n }\n },\n watch: {\n visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false\n return\n }\n\n if (newValue !== oldValue) {\n const evtName = newValue ? 'show' : 'hide'\n const bvEvt = new BvEvent(evtName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null,\n componentId: this.safeId ? this.safeId() : this.id || null\n })\n this.emitEvent(bvEvt)\n if (bvEvt.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true\n this.visible = oldValue\n // Just in case a child element triggered `this.hide(true)`\n this.$off('hidden', this.focusToggler)\n return\n }\n if (evtName === 'show') {\n this.showMenu()\n } else {\n this.hideMenu()\n }\n }\n },\n disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false\n }\n }\n },\n created() {\n // Create non-reactive property\n this.$_popper = null\n },\n deactivated() /* istanbul ignore next: not easy to test */ {\n // In case we are inside a ``\n this.visible = false\n this.whileOpenListen(false)\n this.destroyPopper()\n },\n beforeDestroy() {\n this.visible = false\n this.whileOpenListen(false)\n this.destroyPopper()\n },\n methods: {\n // Event emitter\n emitEvent(bvEvt) {\n const { type } = bvEvt\n this.$emit(type, bvEvt)\n this.$root.$emit(`${ROOT_DROPDOWN_PREFIX}${type}`, bvEvt)\n },\n showMenu() {\n if (this.disabled) {\n /* istanbul ignore next */\n return\n }\n\n // Only instantiate Popper.js when dropdown is not in ``\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n /* istanbul ignore next */\n warn('Popper.js not found. Falling back to CSS positioning', 'BDropdown')\n } else {\n // For dropup with alignment we use the parent element as popper container\n let el = (this.dropup && this.right) || this.split ? this.$el : this.$refs.toggle\n // Make sure we have a reference to an element, not a component!\n el = el.$el || el\n // Instantiate Popper.js\n this.createPopper(el)\n }\n }\n\n // Ensure other menus are closed\n this.$root.$emit(ROOT_DROPDOWN_SHOWN, this)\n\n // Enable listeners\n this.whileOpenListen(true)\n\n // Wrap in `$nextTick()` to ensure menu is fully rendered/shown\n this.$nextTick(() => {\n // Focus on the menu container on show\n this.focusMenu()\n // Emit the shown event\n this.$emit('shown')\n })\n },\n hideMenu() {\n this.whileOpenListen(false)\n this.$root.$emit(ROOT_DROPDOWN_HIDDEN, this)\n this.$emit('hidden')\n this.destroyPopper()\n },\n createPopper(element) {\n this.destroyPopper()\n this.$_popper = new Popper(element, this.$refs.menu, this.getPopperConfig())\n },\n destroyPopper() {\n // Ensure popper event listeners are removed cleanly\n if (this.$_popper) {\n this.$_popper.destroy()\n }\n this.$_popper = null\n },\n updatePopper() /* istanbul ignore next: not easy to test */ {\n // Instructs popper to re-computes the dropdown position\n // usefull if the content changes size\n try {\n this.$_popper.scheduleUpdate()\n } catch {}\n },\n getPopperConfig() {\n let placement = AttachmentMap.BOTTOM\n if (this.dropup) {\n placement = this.right ? AttachmentMap.TOPEND : AttachmentMap.TOP\n } else if (this.dropright) {\n placement = AttachmentMap.RIGHT\n } else if (this.dropleft) {\n placement = AttachmentMap.LEFT\n } else if (this.right) {\n placement = AttachmentMap.BOTTOMEND\n }\n const popperConfig = {\n placement,\n modifiers: {\n offset: { offset: this.offset || 0 },\n flip: { enabled: !this.noFlip }\n }\n }\n if (this.boundary) {\n popperConfig.modifiers.preventOverflow = { boundariesElement: this.boundary }\n }\n return { ...popperConfig, ...(this.popperOpts || {}) }\n },\n // Turn listeners on/off while open\n whileOpenListen(isOpen) {\n // Hide the dropdown when clicked outside\n this.listenForClickOut = isOpen\n // Hide the dropdown when it loses focus\n this.listenForFocusIn = isOpen\n // Hide the dropdown when another dropdown is opened\n const method = isOpen ? '$on' : '$off'\n this.$root[method](ROOT_DROPDOWN_SHOWN, this.rootCloseListener)\n },\n rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false\n }\n },\n show() {\n // Public method to show dropdown\n if (this.disabled) {\n return\n }\n // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n requestAF(() => {\n this.visible = true\n })\n },\n hide(refocus = false) {\n // Public method to hide dropdown\n if (this.disabled) {\n /* istanbul ignore next */\n return\n }\n this.visible = false\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once('hidden', this.focusToggler)\n }\n },\n // Called only by a button that toggles the menu\n toggle(evt) {\n evt = evt || {}\n // Early exit when not a click event or ENTER, SPACE or DOWN were pressed\n const { type, keyCode } = evt\n if (\n type !== 'click' &&\n !(\n type === 'keydown' &&\n [KeyCodes.ENTER, KeyCodes.SPACE, KeyCodes.DOWN].indexOf(keyCode) !== -1\n )\n ) {\n /* istanbul ignore next */\n return\n }\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false\n return\n }\n this.$emit('toggle', evt)\n evt.preventDefault()\n evt.stopPropagation()\n // Toggle visibility\n if (this.visible) {\n this.hide(true)\n } else {\n this.show()\n }\n },\n // Mousedown handler for the toggle\n onMousedown(evt) /* istanbul ignore next */ {\n // We prevent the 'mousedown' event for the toggle to stop the\n // 'focusin' event from being fired\n // The event would otherwise be picked up by the global 'focusin'\n // listener and there is no cross-browser solution to detect it\n // relates to the toggle click\n // The 'click' event will still be fired and we handle closing\n // other dropdowns there too\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/4328\n evt.preventDefault()\n },\n // Called from dropdown menu context\n onKeydown(evt) {\n const { keyCode } = evt\n if (keyCode === KeyCodes.ESC) {\n // Close on ESC\n this.onEsc(evt)\n } else if (keyCode === KeyCodes.DOWN) {\n // Down Arrow\n this.focusNext(evt, false)\n } else if (keyCode === KeyCodes.UP) {\n // Up Arrow\n this.focusNext(evt, true)\n }\n },\n // If user presses ESC, close the menu\n onEsc(evt) {\n if (this.visible) {\n this.visible = false\n evt.preventDefault()\n evt.stopPropagation()\n // Return focus to original trigger button\n this.$once('hidden', this.focusToggler)\n }\n },\n // Called only in split button mode, for the split button\n onSplitClick(evt) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false\n return\n }\n this.$emit('click', evt)\n },\n // Shared hide handler between click-out and focus-in events\n hideHandler(evt) {\n const { target } = evt\n if (this.visible && !contains(this.$refs.menu, target) && !contains(this.toggler, target)) {\n this.hide()\n }\n },\n // Document click-out listener\n clickOutHandler(evt) {\n this.hideHandler(evt)\n },\n // Document focus-in listener\n focusInHandler(evt) {\n this.hideHandler(evt)\n },\n // Keyboard nav\n focusNext(evt, up) {\n // Ignore key up/down on form elements\n const { target } = evt\n if (!this.visible || (evt && closest(Selector.FORM_CHILD, target))) {\n /* istanbul ignore next: should never happen */\n return\n }\n evt.preventDefault()\n evt.stopPropagation()\n this.$nextTick(() => {\n const items = this.getItems()\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return\n }\n let index = items.indexOf(target)\n if (up && index > 0) {\n index--\n } else if (!up && index < items.length - 1) {\n index++\n }\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0\n }\n this.focusItem(index, items)\n })\n },\n focusItem(idx, items) {\n const el = items.find((el, i) => i === idx)\n if (el && el.focus) {\n el.focus()\n }\n },\n getItems() {\n // Get all items\n return filterVisibles(selectAll(Selector.ITEM_SELECTOR, this.$refs.menu))\n },\n focusMenu() {\n try {\n this.$refs.menu.focus()\n } catch {}\n },\n focusToggler() {\n this.$nextTick(() => {\n const toggler = this.toggler\n if (toggler && toggler.focus) {\n toggler.focus()\n }\n })\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { arrayIncludes } from '../../utils/array'\nimport { stripTags } from '../../utils/html'\nimport { getComponentConfig } from '../../utils/config'\nimport idMixin from '../../mixins/id'\nimport dropdownMixin from '../../mixins/dropdown'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BButton } from '../button/button'\n\nconst NAME = 'BDropdown'\n\nexport const props = {\n text: {\n // Button label\n type: String,\n default: ''\n },\n html: {\n // Button label\n type: String\n },\n size: {\n type: String,\n default: () => getComponentConfig(NAME, 'size')\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n block: {\n type: Boolean,\n default: false\n },\n menuClass: {\n type: [String, Array, Object],\n default: null\n },\n toggleTag: {\n type: String,\n default: 'button'\n },\n toggleText: {\n // This really should be toggleLabel\n type: String,\n default: () => getComponentConfig(NAME, 'toggleText')\n },\n toggleClass: {\n type: [String, Array, Object],\n default: null\n },\n noCaret: {\n type: Boolean,\n default: false\n },\n split: {\n type: Boolean,\n default: false\n },\n splitHref: {\n type: String\n // default: undefined\n },\n splitTo: {\n type: [String, Object]\n // default: undefined\n },\n splitVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'splitVariant')\n },\n splitClass: {\n type: [String, Array, Object],\n default: null\n },\n splitButtonType: {\n type: String,\n default: 'button',\n validator: value => arrayIncludes(['button', 'submit', 'reset'], value)\n },\n lazy: {\n // If true, only render menu contents when open\n type: Boolean,\n default: false\n },\n role: {\n type: String,\n default: 'menu'\n }\n}\n\n// @vue/component\nexport const BDropdown = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props,\n computed: {\n dropdownClasses() {\n return [\n this.directionClass,\n {\n show: this.visible,\n // The 'btn-group' class is required in `split` mode for button alignment\n // It needs also to be applied when `block` is disabled to allow multiple\n // dropdowns to be aligned one line\n 'btn-group': this.split || !this.block,\n // When `block` is enabled and we are in `split` mode the 'd-flex' class\n // needs to be applied to allow the buttons to stretch to full width\n 'd-flex': this.block && this.split,\n // Position `static` is needed to allow menu to \"breakout\" of the `scrollParent`\n // boundaries when boundary is anything other than `scrollParent`\n // See: https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n 'position-static': this.boundary !== 'scrollParent' || !this.boundary\n }\n ]\n },\n menuClasses() {\n return [\n this.menuClass,\n {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }\n ]\n },\n toggleClasses() {\n return [\n this.toggleClass,\n {\n 'dropdown-toggle-split': this.split,\n 'dropdown-toggle-no-caret': this.noCaret && !this.split\n }\n ]\n }\n },\n render(h) {\n let split = h()\n const buttonContent = this.normalizeSlot('button-content') || this.html || stripTags(this.text)\n if (this.split) {\n const btnProps = {\n variant: this.splitVariant || this.variant,\n size: this.size,\n block: this.block,\n disabled: this.disabled\n }\n // We add these as needed due to router-link issues with defined property with undefined/null values\n if (this.splitTo) {\n btnProps.to = this.splitTo\n } else if (this.splitHref) {\n btnProps.href = this.splitHref\n } else if (this.splitButtonType) {\n btnProps.type = this.splitButtonType\n }\n split = h(\n BButton,\n {\n ref: 'button',\n props: btnProps,\n class: this.splitClass,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n on: {\n click: this.onSplitClick\n }\n },\n [buttonContent]\n )\n }\n const toggle = h(\n BButton,\n {\n ref: 'toggle',\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n props: {\n tag: this.toggleTag,\n variant: this.variant,\n size: this.size,\n block: this.block && !this.split,\n disabled: this.disabled\n },\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n on: {\n mousedown: this.onMousedown,\n click: this.toggle,\n keydown: this.toggle // Handle ENTER, SPACE and DOWN\n }\n },\n [this.split ? h('span', { class: ['sr-only'] }, [this.toggleText]) : buttonContent]\n )\n const menu = h(\n 'ul',\n {\n ref: 'menu',\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role: this.role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(this.split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n }\n },\n !this.lazy || this.visible ? this.normalizeSlot('default', { hide: this.hide }) : [h()]\n )\n return h(\n 'div',\n {\n staticClass: 'dropdown b-dropdown',\n class: this.dropdownClasses,\n attrs: { id: this.safeId() }\n },\n [split, toggle, menu]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { requestAF } from '../../utils/dom'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BLink, propsFactory as linkPropsFactory } from '../link/link'\n\nexport const props = linkPropsFactory()\n\n// @vue/component\nexport const BDropdownItem = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownItem',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n inject: {\n bvDropdown: {\n default: null\n }\n },\n props: {\n ...props,\n variant: {\n type: String,\n default: null\n }\n },\n methods: {\n closeDropdown() {\n // Close on next animation frame to allow time to process\n requestAF(() => {\n if (this.bvDropdown) {\n this.bvDropdown.hide(true)\n }\n })\n },\n onClick(evt) {\n this.$emit('click', evt)\n this.closeDropdown()\n }\n },\n render(h) {\n return h('li', { attrs: { role: 'presentation' } }, [\n h(\n BLink,\n {\n props: this.$props,\n staticClass: 'dropdown-item',\n class: {\n [`text-${this.variant}`]: this.variant && !(this.active || this.disabled)\n },\n attrs: { ...this.$attrs, role: 'menuitem' },\n on: { click: this.onClick },\n ref: 'item'\n },\n this.normalizeSlot('default')\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nexport const props = {\n active: {\n type: Boolean,\n default: false\n },\n activeClass: {\n type: String,\n default: 'active'\n },\n disabled: {\n type: Boolean,\n default: false\n },\n variant: {\n type: String,\n default: null\n }\n}\n\n// @vue/component\nexport const BDropdownItemButton = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownItemButton',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n inject: {\n bvDropdown: {\n default: null\n }\n },\n props,\n methods: {\n closeDropdown() {\n if (this.bvDropdown) {\n this.bvDropdown.hide(true)\n }\n },\n onClick(evt) {\n this.$emit('click', evt)\n this.closeDropdown()\n }\n },\n render(h) {\n return h('li', { attrs: { role: 'presentation' } }, [\n h(\n 'button',\n {\n staticClass: 'dropdown-item',\n class: {\n [this.activeClass]: this.active,\n [`text-${this.variant}`]: this.variant && !(this.active || this.disabled)\n },\n attrs: {\n ...this.$attrs,\n role: 'menuitem',\n type: 'button',\n disabled: this.disabled\n },\n on: { click: this.onClick },\n ref: 'button'\n },\n this.normalizeSlot('default')\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'header'\n },\n variant: {\n type: String,\n default: null\n }\n}\n\n// @vue/component\nexport const BDropdownHeader = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownHeader',\n functional: true,\n props,\n render(h, { props, data, children }) {\n const $attrs = data.attrs || {}\n data.attrs = {}\n return h('li', mergeData(data, { attrs: { role: 'presentation' } }), [\n h(\n props.tag,\n {\n staticClass: 'dropdown-header',\n class: {\n [`text-${props.variant}`]: props.variant\n },\n attrs: {\n ...$attrs,\n id: props.id || null,\n role: 'heading'\n },\n ref: 'header'\n },\n children\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n tag: {\n type: String,\n default: 'hr'\n }\n}\n\n// @vue/component\nexport const BDropdownDivider = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownDivider',\n functional: true,\n props,\n render(h, { props, data }) {\n const $attrs = data.attrs || {}\n data.attrs = {}\n return h('li', mergeData(data, { attrs: { role: 'presentation' } }), [\n h(props.tag, {\n staticClass: 'dropdown-divider',\n attrs: {\n ...$attrs,\n role: 'separator',\n 'aria-orientation': 'horizontal'\n },\n ref: 'divider'\n })\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n id: {\n type: String,\n default: null\n },\n inline: {\n type: Boolean,\n default: false\n },\n novalidate: {\n type: Boolean,\n default: false\n },\n validated: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BForm = /*#__PURE__*/ Vue.extend({\n name: 'BForm',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n 'form',\n mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { BForm, props as formProps } from '../form/form'\n\n// @vue/component\nexport const BDropdownForm = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownForm',\n functional: true,\n props: {\n ...formProps,\n disabled: {\n type: Boolean,\n default: false\n },\n formClass: {\n type: [String, Object, Array],\n default: null\n }\n },\n render(h, { props, data, children }) {\n const $attrs = data.attrs || {}\n const $listeners = data.on || {}\n data.attrs = {}\n data.on = {}\n return h('li', mergeData(data, { attrs: { role: 'presentation' } }), [\n h(\n BForm,\n {\n ref: 'form',\n staticClass: 'b-dropdown-form',\n class: [props.formClass, { disabled: props.disabled }],\n props,\n attrs: {\n ...$attrs,\n disabled: props.disabled,\n // Tab index of -1 for keyboard navigation\n tabindex: props.disabled ? null : '-1'\n },\n on: $listeners\n },\n children\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\n// @vue/component\nexport const BDropdownText = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownText',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'p'\n },\n variant: {\n type: String,\n default: null\n }\n },\n render(h, { props, data, children }) {\n const $attrs = data.attrs || {}\n data.attrs = {}\n return h('li', mergeData(data, { attrs: { role: 'presentation' } }), [\n h(\n props.tag,\n {\n staticClass: 'b-dropdown-text',\n class: {\n [`text-${props.variant}`]: props.variant\n },\n props,\n attrs: $attrs,\n ref: 'text'\n },\n children\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\n\nexport const props = {\n id: {\n type: String,\n default: null\n },\n header: {\n type: String,\n default: null\n },\n headerTag: {\n type: String,\n default: 'header'\n },\n headerVariant: {\n type: String,\n default: null\n },\n headerClasses: {\n type: [String, Array, Object],\n default: null\n },\n ariaDescribedby: {\n type: String,\n default: null\n }\n}\n\n// @vue/component\nexport const BDropdownGroup = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownGroup',\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n const $attrs = data.attrs || {}\n data.attrs = {}\n let header\n let headerId = null\n\n if (hasNormalizedSlot('header', $scopedSlots, $slots) || props.header) {\n headerId = props.id ? `_bv_${props.id}_group_dd_header` : null\n header = h(\n props.headerTag,\n {\n staticClass: 'dropdown-header',\n class: [props.headerClasses, { [`text-${props.variant}`]: props.variant }],\n attrs: {\n id: headerId,\n role: 'heading'\n }\n },\n normalizeSlot('header', {}, $scopedSlots, $slots) || props.header\n )\n }\n\n const adb = [headerId, props.ariaDescribedBy]\n .filter(Boolean)\n .join(' ')\n .trim()\n\n return h('li', mergeData(data, { attrs: { role: 'presentation' } }), [\n header || h(),\n h(\n 'ul',\n {\n staticClass: 'list-unstyled',\n attrs: {\n ...$attrs,\n id: props.id || null,\n role: 'group',\n 'aria-describedby': adb || null\n }\n },\n normalizeSlot('default', {}, $scopedSlots, $slots)\n )\n ])\n }\n})\n","import { BDropdown } from './dropdown'\nimport { BDropdownItem } from './dropdown-item'\nimport { BDropdownItemButton } from './dropdown-item-button'\nimport { BDropdownHeader } from './dropdown-header'\nimport { BDropdownDivider } from './dropdown-divider'\nimport { BDropdownForm } from './dropdown-form'\nimport { BDropdownText } from './dropdown-text'\nimport { BDropdownGroup } from './dropdown-group'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst DropdownPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BDropdown,\n BDd: BDropdown,\n BDropdownItem,\n BDdItem: BDropdownItem,\n BDropdownItemButton,\n BDropdownItemBtn: BDropdownItemButton,\n BDdItemButton: BDropdownItemButton,\n BDdItemBtn: BDropdownItemButton,\n BDropdownHeader,\n BDdHeader: BDropdownHeader,\n BDropdownDivider,\n BDdDivider: BDropdownDivider,\n BDropdownForm,\n BDdForm: BDropdownForm,\n BDropdownText,\n BDdText: BDropdownText,\n BDropdownGroup,\n BDdGroup: BDropdownGroup\n }\n})\n\nexport {\n DropdownPlugin,\n BDropdown,\n BDropdownItem,\n BDropdownItemButton,\n BDropdownHeader,\n BDropdownDivider,\n BDropdownForm,\n BDropdownText,\n BDropdownGroup\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { arrayIncludes } from '../../utils/array'\n\nexport const props = {\n type: {\n type: String,\n default: 'iframe',\n validator: str =>\n arrayIncludes(['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy'], str)\n },\n tag: {\n type: String,\n default: 'div'\n },\n aspect: {\n type: String,\n default: '16by9'\n }\n}\n\n// @vue/component\nexport const BEmbed = /*#__PURE__*/ Vue.extend({\n name: 'BEmbed',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n {\n ref: data.ref,\n staticClass: 'embed-responsive',\n class: {\n [`embed-responsive-${props.aspect}`]: props.aspect\n }\n },\n [h(props.type, mergeData(data, { ref: '', staticClass: 'embed-responsive-item' }), children)]\n )\n }\n})\n","import { BEmbed } from './embed'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst EmbedPlugin = /*#__PURE__*/ pluginFactory({\n components: { BEmbed }\n})\n\nexport { EmbedPlugin, BEmbed }\n","import get from '../utils/get'\nimport { stripTags } from '../utils/html'\nimport { isArray, isPlainObject, isUndefined } from '../utils/inspect'\nimport { keys } from '../utils/object'\nimport { warn } from '../utils/warn'\n\nconst OPTIONS_OBJECT_DEPRECATED_MSG =\n 'Setting prop \"options\" to an object is deprecated. Use the array format instead.'\n\n// @vue/component\nexport default {\n props: {\n options: {\n type: [Array, Object],\n default: () => []\n },\n valueField: {\n type: String,\n default: 'value'\n },\n textField: {\n type: String,\n default: 'text'\n },\n htmlField: {\n type: String,\n default: 'html'\n },\n disabledField: {\n type: String,\n default: 'disabled'\n }\n },\n computed: {\n formOptions() {\n const options = this.options\n // Normalize the given options array\n if (isArray(options)) {\n return options.map(option => this.normalizeOption(option))\n }\n // Deprecate the object options format\n warn(OPTIONS_OBJECT_DEPRECATED_MSG, this.$options.name)\n // Normalize a `options` object to an array of options\n return keys(options).map(key => this.normalizeOption(options[key] || {}, key))\n }\n },\n methods: {\n normalizeOption(option, key = null) {\n // When the option is an object, normalize it\n if (isPlainObject(option)) {\n const value = get(option, this.valueField)\n const text = get(option, this.textField)\n return {\n value: isUndefined(value) ? key || text : value,\n text: stripTags(String(isUndefined(text) ? key : text)),\n html: get(option, this.htmlField),\n disabled: Boolean(get(option, this.disabledField))\n }\n }\n // Otherwise create an `` object\n if (isArray(options)) {\n return {\n label: String(get(option, this.labelField) || text),\n options\n }\n }\n // Otherwise create an `