{"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/number.js","../src/utils/string.js","../src/utils/dom.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/math.js","../src/components/aspect/aspect.js","../src/components/aspect/index.js","../src/utils/props.js","../src/utils/router.js","../src/utils/key-codes.js","../src/utils/cache.js","../src/mixins/attrs.js","../src/mixins/listeners.js","../src/components/link/link.js","../src/components/button/button.js","../src/icons/helpers/icon-base.js","../src/icons/helpers/make-icon.js","../src/icons/icons.js","../src/icons/icon.js","../src/components/avatar/avatar.js","../src/components/avatar/index.js","../src/components/avatar/avatar-group.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/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/utils/locale.js","../src/mixins/id.js","../src/components/calendar/calendar.js","../src/components/calendar/index.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/directives/toggle/toggle.js","../src/components/collapse/collapse.js","../src/directives/toggle/index.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/utils/bv-form-btn-label-control.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/components/layout/col.js","../src/components/form-group/form-group.js","../src/components/form-group/index.js","../src/mixins/form-selection.js","../src/mixins/form-text.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-rating/form-rating.js","../src/components/form-rating/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/time/time.js","../src/components/form-timepicker/form-timepicker.js","../src/components/form-timepicker/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-append.js","../src/components/input-group/input-group-prepend.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/components/spinner/spinner.js","../src/components/overlay/overlay.js","../src/components/overlay/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/sidebar/sidebar.js","../src/components/sidebar/index.js","../src/components/spinner/index.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","../src/components/time/index.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/visible/index.js","../src/index.js","../src/icons/iconstack.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","descriptor","freeze","getOwnPropertyNames","keys","hasOwnProperty","call","isObject","_typeof","isPlainObject","toString","clone","_objectSpread2","pick","filter","key","reduce","result","_defineProperty","omit","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","_inherits","_super","_createSuper","_classCallCheck","this","_wrapNativeSuper","HTMLElement","_Element","_super2","SVGElement","_Element2","_super3","File","_Object2","_super4","toType","isUndefined","isNull","isUndefinedOrNull","isFunction","isBoolean","isString","isNumber","isDate","Date","isEvent","Event","isRegExp","slice","toRawType","cloneDeep","defaultValue","_toConsumableArray","identity","x","RX_ARRAY_NOTATION","getRaw","path","join","steps","String","replace","split","every","step","get","warn","message","source","console","warnNotClient","warnNoPromiseSupport","DEFAULTS","deepFreeze","forEach","breakpoints","formControls","size","BAlert","dismissLabel","variant","BAvatar","badgeVariant","BBadge","BButton","BButtonClose","content","textVariant","ariaLabel","BCalendar","labelPrevDecade","labelPrevYear","labelPrevMonth","labelCurrentMonth","labelNextMonth","labelNextYear","labelNextDecade","labelToday","labelSelected","labelNoDateSelected","labelCalendar","labelNav","labelHelp","BCardSubTitle","subTitleTextVariant","BCarousel","labelPrev","labelNext","labelGotoSlide","labelIndicators","BDropdown","toggleText","splitVariant","BFormDatepicker","labelTodayButton","labelResetButton","labelCloseButton","BFormFile","browseText","placeholder","dropPlaceholder","BFormRating","color","BFormTag","removeLabel","BFormTags","addButtonText","addButtonVariant","duplicateTagText","invalidTagText","tagRemoveLabel","tagRemovedLabel","tagVariant","BFormText","BFormTimepicker","labelNoTimeSelected","labelHours","labelMinutes","labelSeconds","labelAmpm","labelAm","labelPm","labelDecrement","labelIncrement","labelNowButton","BFormSpinbutton","BImg","blankColor","BImgLazy","BInputGroup","BJumbotron","bgVariant","borderVariant","BLink","routerComponentName","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","BSidebar","shadow","width","tag","backdropVariant","BTable","selectedVariant","headVariant","footVariant","BTime","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","toInteger","NaN","integer","parseInt","isNaN","toFloat","float","parseFloat","toFixed","precision","RX_TRIM_LEFT","RX_REGEXP_REPLACE","RX_UN_KEBAB","RX_HYPHENATE","kebabCase","str","pascalCase","_","c","toUpperCase","charAt","upperFirst","trim","escapeRegExp","spaces","lowerCase","TABABLE_SELECTOR","map","s","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","getActiveElement","excludes","activeElement","isTag","isActiveElement","isVisible","contains","body","style","display","bcr","getBCR","height","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","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getTabables","rootEl","tabIndex","attemptFocus","focus","_unused","attemptBlur","blur","_unused2","e","t","r","a","o","n","i","l","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","AlertPlugin","mixins","model","event","dismissible","Number","fade","countDown","countDownTimeout","localShow","watch","newVal","clearCountDownInterval","$emit","$nextTick","created","mounted","beforeDestroy","dismiss","clearTimeout","$alert","$dismissBtn","_uid","alert-dismissible","aria-live","aria-atomic","mathMin","Math","min","mathMax","max","mathAbs","abs","mathCeil","ceil","mathFloor","floor","mathPow","pow","mathRound","round","RX_ASPECT","RX_SEPARATOR","AspectPlugin","BAspect","aspect","computed","padding","ratio","_aspect$split$map2","_slicedToArray","v","$sizer","paddingBottom","$content","prefixPropName","prefix","unprefixPropName","suffixPropName","suffix","copyProps","transformFn","copied","pluckProps","keysToPluck","objToPluck","memo","commaRE","encodeReserveRE","plusRE","queryStartRE","encodeReserveReplacer","charCodeAt","encode","encodeURIComponent","decode","decodeURIComponent","stringifyQueryObj","query","results","val2","push","parseQuery","parsed","param","parts","shift","isLink","href","to","isRouterLink","computeHref","_ref3","toFallback","hash","KEY_CODES","SPACE","ENTER","ESC","LEFT","UP","RIGHT","DOWN","PAGEUP","PAGEDOWN","HOME","END","TAB","SHIFT","CTRL","BACKSPACE","ALT","PAUSE","BREAK","INSERT","INS","DELETE","makePropWatcher","propName","handler","oldVal","$delete","$data","$set","makePropCacheMixin","proxyPropName","attrsMixin","listenersMixin","routerLinkProps","append","activeClass","exact","exactActiveClass","routerTag","nuxtLinkProps","prefetch","noPrefetch","rel","target","active","inheritAttrs","computedTag","thisOrParent","hasRouter","$router","$nuxt","computeTag","computedRel","_ref2","computeRel","computedHref","computedProps","computedAttrs","bvAttrs","tabindex","aria-disabled","computedListeners","bvListeners","onClick","_arguments","evtIsEvent","suppliedHandler","stopImmediatePropagation","currentTarget","__vue__","$root","$el","linkProps","BLinkProps","block","pill","squared","pressed","handleFocus","isLinkStrict","isToggle","isButton","isNonStandardTag","computeClass","computeLinkProps","computeAttrs","button","link","toggle","nonStandardTag","hashLink","aria-pressed","autocomplete","listeners","keydown","keyCode","KeyCodes","focusin","focusout","commonIconProps","fontScale","scale","rotate","flipH","flipV","shiftH","shiftV","animation","baseAttrs","viewBox","focusable","alt","stackedAttrs","BVIconBase","stacked","_class","hasScale","hasTransforms","hasShift","transforms","isStacked","hasContent","$inner","transform","fontSize","xmlns","fill","makeIcon","iconName","iconNameClass","svgContent","BIconBlank","BIconCalendar","BIconCalendarFill","BIconChevronBarLeft","BIconChevronDoubleLeft","BIconChevronDown","BIconChevronLeft","BIconChevronUp","BIconCircleFill","BIconClock","BIconClockFill","BIconDash","BIconPersonFill","BIconPlus","BIconStar","BIconStarFill","BIconStarHalf","BIconX","RX_ICON_PREFIX","BIcon","icon","$options","RX_NUMBER","DEFAULT_SIZES","sm","md","lg","src","text","square","rounded","buttonType","badge","badgeTop","badgeLeft","badgeOffset","computeSize","AvatarPlugin","inject","bvAvatarGroup","localSrc","computedSize","computedVariant","avatarGroup","computedRounded","fontStyle","marginStyle","overlapScale","marginRight","badgeStyle","bottom","right","newSrc","oldSrc","onImgError","_class2","error","aria-hidden","$badge","hasBadgeSlot","badgeText","BAvatarGroup","provide","overlap","paddingStyle","paddingLeft","paddingRight","badge-pill","BadgePlugin","RX_HTML_TAGS","stripTags","htmlOrText","textContent","html","ariaCurrent","BBreadcrumbLink","suppliedProps","aria-current","BBreadcrumbItem","items","BreadcrumbPlugin","BBreadcrumb","childNodes","activeDefined","item","idx","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","index","reverse","justify-content-between","ButtonToolbarPlugin","BBtnToolbar","compareArrays","equal","looseEqual","aValidType","bValidType","getTime","aHasKey","bHasKey","RX_DATE","RX_DATE_SPLIT","createDate","_construct","parseYMD","date","_date$split$map2","year","month","day","getFullYear","getMonth","getDate","formatYMD","createDateFormatter","locale","Intl","DateTimeFormat","format","datesEqual","date1","date2","firstDateOfMonth","setDate","lastDateOfMonth","setMonth","addYears","numberOfYears","setFullYear","oneMonthAgo","oneMonthAhead","oneYearAgo","oneYearAhead","oneDecadeAgo","oneDecadeAhead","constrainDate","RTL_LANGS","RX_STRIP_MODS","isLocaleRTL","locale1","locale2","idMixin","localId_","safeId","valueAsDate","initialDate","readonly","dateDisabledFn","Function","startWeekday","direction","todayVariant","noHighlightToday","dateInfoFn","hideHeader","showDecadeNav","hidden","ariaControls","roleDescription","dateFormatOptions","weekday","weekdayHeaderFormat","validator","selected","selectedYMD","activeYMD","getToday","gridHasFocus","isLive","valueId","widgetId","navId","gridId","gridCaptionId","gridHelpId","activeId","selectedDate","activeDate","computedMin","computedMax","computedWeekStarts","computedLocale","locales","calendar","fmt","resolvedOptions","resolveLocale","calendarLocale","calendarYear","calendarMonth","calendarFirstDay","calendarDaysInMonth","computedTodayVariant","isRTL","dir","context","selectedFormatted","formatDateString","activeFormatted","dateDisabled","rtl","dateOutOfRange","rangeFn","disabledFn","ymd","hour","minute","second","formatYearMonth","formatWeekdayName","formatWeekdayNameShort","formatDay","nf","NumberFormat","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","prevDecadeDisabled","prevYearDisabled","prevMonthDisabled","thisMonthDisabled","nextMonthDisabled","nextYearDisabled","nextDecadeDisabled","matrix","firstDay","daysInMonth","startIndex","getDay","weekOffset","currentDay","week","j","dayYMD","dayDisabled","dateInfo","isThisMonth","info","calendarHeadings","old","newYMD","oldYMD","setLive","_this2","activated","deactivated","$refs","grid","_this3","emitSelected","_this4","setGridFocusFlag","onKeydownWrapper","altKey","ctrlKey","checkDate","constrainedToday","onKeydownGrid","onClickDay","clickedDate","gotoPrevDecade","gotoPrevYear","gotoPrevMonth","gotoCurrentMonth","gotoNextMonth","gotoNextYear","gotoNextDecade","onHeaderClick","_this5","hideDecadeNav","todayYMD","highlightToday","$header","text-muted","for","data-selected","sr-only","title","labelSelectedDate","navScope","navProps","navPrevProps","navNextProps","$prevDecadeIcon","$prevYearIcon","$prevMonthIcon","$thisMonthIcon","$nextMonthIcon","$nextYearIcon","$nextDecadeIcon","makeNavBtn","btnDisabled","shortcut","aria-keyshortcuts","$nav","aria-controls","$gridCaption","$gridWeekDays","$gridBody","$cells","dIndex","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","d-block","CalendarPlugin","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","required","start","end","BCardImg","baseClass","cardImgProps","imgProps","imgSrc","bodyProps","headerProps","footerProps","align","noBody","BCard","imgLeft","imgRight","imgStart","imgEnd","slotScope","$imgFirst","$imgLast","$img","imgBottom","hasHeaderSlot","$footer","flex-row","flex-row-reverse","OBSERVER_PROP_NAME","RX_ONLY_DIGITS","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","thumbnail","center","blank","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","bvCarousel","interval","indicators","controls","noAnimation","noWrap","noTouch","noHoverPause","imgWidth","imgHeight","background","isSliding","transitionEndEvent","slides","isPaused","touchStartX","touchDeltaX","numSlides","setSlide","pause","doSlide","$_interval","$_animationTimeout","$_touchTimeout","$_observer","getTransitionEndEvent","updateSlides","setObserver","clearInterval","clearAnimationTimeout","clearTouchTimeout","_clearInterval","inner","attributes","attributeFilter","slide","visibilityState","$once","setInterval","restart","isCycling","calcDirection","currentSlide","nextSlide","called","onceTransEnd","curIndex","nextIndex","handleClick","handleSwipe","absDeltaX","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","contentClasses","dragstart","$props","$contentChildren","$child","TRANSITION_PROPS","TRANSITION_HANDLERS","enter","scrollHeight","afterEnter","leave","afterLeave","BVCollapse","listenOnRootMixin","listenOnRoot","$on","$off","listenOnRootOnce","emitOnRoot","_this$$root","BV_BASE","BV_TOGGLE_ROOT_HANDLER","BV_TOGGLE_CLICK_HANDLER","BV_TOGGLE_STATE","BV_TOGGLE_TARGETS","EVENT_STATE","EVENT_STATE_SYNC","KEYDOWN_KEY_CODES","RX_HASH","RX_HASH_ID","RX_SPLIT_SEPARATOR","removeClickListener","removeRootListeners","setToggleState","state","resetProp","handleUpdate","binding","targets","arg","arr","getTargets","addClickListener","VBToggle","addRootListeners","updated","BCollapse","isNav","accordion","transitioning","classObject","navbar-collapse","collapse","emitState","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","emitSync","onEnter","onAfterEnter","onLeave","onAfterLeave","checkDisplayBlock","restore","isBlock","clickHandler","openedId","close","VBTogglePlugin","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","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","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","sort","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","getOppositePlacement","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","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","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","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","commonProps","dropup","dropright","dropleft","noFlip","popperOpts","dropdownMixin","bvDropdown","bvNavbar","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","lazy","dropdownClasses","d-flex","position-static","menuClasses","dropdown-menu-right","toggleClasses","dropdown-toggle-split","dropdown-toggle-no-caret","$buttonContent","buttonContentProps","$split","btnProps","$toggle","aria-haspopup","aria-expanded","mousedown","$menu","BDropdownItem","linkClass","closeDropdown","buttonClass","BDropdownItemButton","BDropdownHeader","$attrs","BDropdownDivider","aria-orientation","inline","novalidate","validated","BForm","form-inline","was-validated","BDropdownForm","formProps","formClass","$listeners","BDropdownText","headerVariant","headerClasses","ariaDescribedby","BDropdownGroup","headerId","adb","ariaDescribedBy","DropdownPlugin","BDd","BDdItem","BDropdownItemBtn","BDdItemButton","BDdItemBtn","BDdHeader","BDdDivider","BDdForm","BDdText","BDdGroup","EmbedPlugin","BEmbed","formOptionsMixin","valueField","textField","htmlField","disabledField","formOptions","normalizeOptions","normalizeOption","option","BFormDatalist","form-text","tooltip","forceShow","BFormInvalidFeedback","invalid-feedback","invalid-tooltip","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","aria-required","input","defaultSlot","change","handleChange","form-check-input","custom-control-input","is-valid","is-invalid","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","isRadioGroup","aria-invalid","BFormCheckboxGroup","bvCheckGroup","FormCheckboxPlugin","BCheckbox","BCheck","BCheckboxGroup","BCheckGroup","PROP","updateListeners","listener","_ref$value","hasListener","handlerChanged","createListener","VBHover","dropdownProps","BVFormBtnLabelControl","BHover","formattedValue","buttonOnly","isHovered","idButton","idLabel","idMenu","idWrapper","computedDir","setFocus","handleHover","hovered","stopEvent","btnScope","opened","$button","!focus","!blur","$hidden","aria-modal","$label","!click","form-control","aria-readonly","getConfigFallback","propsMixin","resetValue","noCloseOnSelect","calendarWidth","todayButton","todayButtonVariant","resetButton","resetButtonVariant","closeButton","closeButtonVariant","dark","localYMD","localLocale","calendarYM","calendarProps","computedLang","computedResetValue","control","setAndClose","onSelected","onInput","onContext","ctx","onTodayButton","onResetButton","onCloseButton","onShow","onShown","onHidden","defaultButtonFn","$createElement","justify-content-end","$calendar","bg-dark","text-light","shown","button-content","FormDatepickerPlugin","BDatepicker","formCustomMixin","custom","isValidValue","accept","multiple","directory","noTraverse","noDrop","fileNameFormatter","selectedFile","dragging","selectLabel","files","file","webkitdirectory","reset","focusHandler","$input","onFileChange","dataTransfer","setFiles","queue","webkitGetAsEntry","traverseFileTree","all","filesArr","filesArray","onReset","onDragover","dropEffect","onDragleave","onDrop","isFile","$path","isDirectory","createReader","readEntries","form-control-file","custom-file-input","data-browse","dragover","dragleave","drop","FormFilePlugin","BFile","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","inputs","ids","isFieldset","isLegend","labelTag","renderLabel","FormGroupPlugin","BFormFieldset","formSelectionMixin","selectionStart","selectionEnd","selectionDirection","_this$$refs$input","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","formTextMixin","plaintext","formatter","lazyFormatter","number","localValue","vModelValue","computedClass","custom-range","form-control-plaintext","computedDebounce","hasFormatter","stringifyValue","clearDebounce","$_inputDebounceTimer","formatValue","force","modifyValue","updateValue","doUpdate","composing","onChange","onBlur","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","TYPES","BFormInput","noWheel","list","localType","setWheelStopper","onWheelFocus","onWheelBlur","stopWheel","FormInputPlugin","BInput","BFormRadioGroup","bvRadioGroup","FormRadioPlugin","BRadio","BRadioGroup","BVFormRatingStar","rating","star","focused","hasClear","minStar","b-rating-star-empty","b-rating-star-half","b-rating-star-full","computeStars","stars","clampValue","showValue","showValueMax","noBorder","iconEmpty","iconHalf","iconFull","iconClear","showClear","computedStars","computedRating","isInteractive","formattedRating","formatOptions","toLocaleString","amountRtl","onFocus","renderIcon","iconEmptyFn","iconHalfFn","iconFullFn","iconClearFn","$icon","empty","half","full","aria-valuemin","aria-valuemax","aria-valuenow","FormRatingPlugin","BRating","optionsMixin","labelField","optionsField","BFormSelectOption","BFormSelectOptionGroup","BFormSelect","selectSize","computedSelectSize","inputClass","selectedVal","_value","FormSelectPlugin","BSelect","BSelectOption","BSelectOptionGroup","wrap","formatterFn","repeatDelay","repeatInterval","repeatThreshold","repeatStepMultiplier","spinId","computedInline","computedReadonly","computedRequired","computedStep","computedDelay","computedInterval","computedThreshold","computedStepMultiplier","computedPrecision","computedMultiplier","valueAsFixed","computedRTL","defaultFormatter","useGrouping","computedFormatter","computedSpinAttrs","hasValue","aria-valuetext","clearRepeat","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","spinner","emitChange","stepValue","multiplier","onFocusBlur","stepUp","stepDown","metaKey","resetTimers","handleStepRepeat","onKeyup","stepper","count","onMouseup","setMouseup","makeButton","IconCmp","keyRef","slotName","py-0","touchstart","$increment","$decrement","$spin","align-self-center","align-items-center","border-top","border-bottom","border-left","border-right","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","$tags","duplicateFeedbackId","outline","minWidth","invisible","tagListId","$field","$ul","$feedback","$invalid","$duplicate","_this6","$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","minHeight","oldHeight","contentRows","640","FormTextareaPlugin","BTextarea","RE_TIME","padLeftZeros","num","parseHMS","hms","hh","mm","ss","_hms$split$map2","hours","minutes","seconds","ampm","showSeconds","hour12","secondsStep","minutesStep","modelHours","modelMinutes","modelSeconds","modelAmpm","computedHMS","requireSeconds","formatHMS","resolved","hourCycle","computedHourCycle","is12Hour","formatted","formattedTimeString","computedAriaLabelledby","timeFormatter","timeZone","numberFormatter","UTC","spinScopedSlots","increment","decrement","_parseHMS","newHours","oldHours","spinners","formatHours","formatMinutes","formatSeconds","formatAmpm","setHours","setMinutes","setSeconds","setAmpm","onSpinLeftRight","cmp","spinIds","makeSpinbutton","spinbuttonProps","refInFor","makeColon","$spinners","$value","nowButton","nowButtonVariant","noCloseButton","localHMS","timeProps","onNowButton","now","getHours","getMinutes","getSeconds","time","$time","FormTimepickerPlugin","BTimepicker","ImagePlugin","BInputGroupText","isText","BInputGroupAddon","input-group-append","input-group-prepend","BInputGroupAppend","BInputGroupPrepend","prepend","prependHtml","appendHtml","InputGroupPlugin","$prepend","hasPrependSlot","$append","hasAppendSlot","BContainer","container","container-fluid","containerFluid","headerLevel","lead","leadHtml","leadTag","JumbotronPlugin","$lead","hasLeadSlot","$children","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","itemProps","BMediaBody","verticalAlign","BMediaAside","rightAlign","MediaPlugin","BMedia","$aside","$default","BTransporterTargetSingle","abstract","nodes","updatedNodes","destroyed","BTransporterSingle","immediate","unmountTarget","mountTarget","$_defaultFn","$_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","actualMargin","BvModalEvent","_assertThisInitialized","trigger","_get","_getPrototypeOf","OBSERVER_CONFIG","characterData","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","modalId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","modalStyles","sbWidth","dialogClasses","titleClasses","bodyClasses","footerClasses","_ref4","modalOuterStyle","ok","onOk","cancel","onCancel","onClose","computeIgnoreEnforceFocusSelector","computedModalAttrs","showHandler","toggleHandler","modalListener","checkModalOverflow","updateModel","buildEvent","showEvt","hideEvt","triggerEl","onBeforeEnter","setResizeEvent","setEnforceFocus","onBeforeLeave","returnFocusTo","bvModalEvt","onDialogMousedown","onceModalMouseup","onClickOut","tabables","_this$$refs","bottomTrap","topTrap","preventScroll","autoFocus","makeModal","$modalHeader","$closeButton","$body","$modalFooter","$cancelButton","$modalContent","$tabTrapTop","$tabTrapBottom","$modalDialog","$modal","beforeEnter","beforeLeave","$backdrop","PROPERTY","getTarget","_ref$modifiers","getTriggerElement","setRole","oldProp","VBModal","inserted","BASE_PROPS","modalProps","defaultResolver","propsToSlots","msgBoxContent","filterOptions","ModalPlugin","BVModalPlugin","BMsgBox","extends","handleDestroy","self","$route","$watch","asyncMsgBox","resolver","msgBox","reject","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","toggleId","NavPlugin","BNavItemDd","BNavDropdown","BNavDd","toggleable","fixed","sticky","print","breakpointClass","xs","d-print","sticky-top","BNavProps","BNavbarNav","BNavbarBrand","BToggle","toggleState","handleStateEvt","expanded","NavbarPlugin","BNavToggle","positionCover","OverlayPlugin","BOverlay","bgColor","opacity","noCenter","spinnerType","spinnerVariant","spinnerSmall","overlayTag","wrapTag","overlayScope","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","position-absolute","position-fixed","after-enter","after-leave","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","currentPage","localNumberOfPages","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","startNumber","lastPageNumber","pageList","_this$paginationParam","pages","makePageArray","handleKeyNav","getButtons","btn","focusCurrent","_this7","pageNumbers","_this$paginationParam2","isActivePage","pageNumber","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","$btnContent","flex-grow-1","flex-fill","makeEllipsis","isLast","makePageButton","aria-checked","aria-posinset","aria-setsize","btnContent","makePage","$firstPageBtn","$lastPageBtn","$pagination","perPage","totalRows","sanitizePerPage","sanitizeTotalRows","PaginationPlugin","pageSizeNumberOfPages","pageNum","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","arrowOffset","renderTemplate","BVTooltipTemplate","interactive","templateClasses","noninteractive","templateAttributes","templateListeners","$title","MODAL_SELECTOR","CONTAINER_SELECTOR","templateData","triggers","BVTooltip","activeTrigger","hover","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","$_toolpop","updateContent","doOpen","doClose","Component","getComponent","$toolpop","onHide","onDisabled","onEnabled","setTitle","setContent","BVPopoverTemplate","titleDomProps","contentDomProps","BVPopover","BV_POPOVER","validTriggers","manual","htmlRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","applyPopover","bindings","selectedTriggers","parseBindings","__bv_prev_data__","oldData","newData","VBPopoverPlugin","VBPopover","removePopover","PopoverPlugin","bvProgress","labelHtml","striped","animated","showProgress","progressBarClasses","computedStriped","computedAnimated","progressBarStyles","computedProgress","computedShowProgress","computedShowValue","ProgressPlugin","progressHeight","renderHeader","noHeader","renderHeaderTitle","$close","noHeaderClose","closeLabel","renderHeaderClose","renderBody","renderFooter","renderContent","renderBackdrop","backdrop","onBackdropClick","SidebarPlugin","sidebarClass","noSlide","noCloseOnRouteChange","transitionProps","computedTile","titleId","fullPath","$_returnFocusEl","handleToggle","handleSync","onTopTrapFocus","onBottomTrapFocus","$sidebar","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","clearFilterTimer","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","$caption","hasCaptionSlot","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","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","isSelectable","footRowVariant","hasHeadClickListener","selectAllRows","clearSelected","makeCell","colIndex","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","aria-colindex","getThValues","thAttr","slotNames","column","$srLabel","$trs","tfootTrClass","tfootClass","tfootMixin","footClone","renderTFootCustom","renderTfoot","tbodyTransitionProps","tbodyTransitionHandlers","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","tbodyMixin","tbodyTrClass","tbodyTrAttr","detailsTdClass","getTdValues","tdValue","defValue","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","rowIndex","cellTag","isRowHeader","cellVariant","tdClass","tdAttr","unformatted","toggleDetails","detailsShowing","supportsSelectableRows","rowSelected","isRowSelected","selectRow","unselectRow","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","tableStriped","rowShowDetails","hasRowClickHandler","hasSelectableRowClick","$rows","detailsId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableRowClasses","selectableAttrs","selectableRowAttrs","userTrClasses","userTrAttrs","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","handlers","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","notDisabled","tab","BTabButtonHelper","bvTabs","posInSet","setSize","noKeyNav","handleEvt","localActive","titleLinkClass","activeNavItemClass","titleLinkAttributes","titleItemClass","TabsPlugin","BTabs","card","noNavStyle","navClass","navWrapperClass","activeTabClass","currentTab","registeredTabs","isMounted","localNavClass","activateTab","previousTab","nextTab","updateTabs","registerTab","unregisterTab","tabsContainer","getTabs","_isTab","getButtonForTab","updateButton","$forceUpdate","tabEvt","deactivateTab","focusButton","emitTabClick","clickTab","firstTab","currentIndex","lastTab","activeTab","fallbackTab","controlledBy","first","last","nav","card-header","card-footer","col-auto","card-body","BTab","buttonId","tabClasses","computedNoFade","computedLazy","activate","deactivate","TimePlugin","Symbol","iterator","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","inBrowser","acc","VuePlugin","transports","sources","wormhole","trackInstances","open","transport","passengers","_transport$order","Infinity","newTransport","$_getTransportIndex","newTransports","registerTarget","unregisterTarget","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","DefaultTransition","doRender","dead","staticName","Wormhole","$toaster","b-dead-toaster","$target","isStatus","appendToast","noAutoHide","solid","isHiding","timer","dismissStarted","resumeDismiss","bToastClasses","b-toast-solid","b-toast-append","b-toast-prepend","computedDuration","computedToaster","transitionHandlers","ensureToaster","clearDismissTimer","setHoverHandler","startDismissTimer","onPause","onUnPause","passed","onLinkClick","hiddenEvt","makeToast","$headerContent","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","$scrollerObserver","$targetsObserver","$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","VBVisiblePlugin","BootstrapVue"],"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.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, descriptor) =>\n Object.defineProperty(obj, prop, descriptor)\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 the specified properties only\n * @link https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n */\nexport const pick = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) !== -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n/**\n * Return a shallow copy of object with 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'\n/* istanbul ignore next: JSDOM always returns false */\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\n/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\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, isNull, isObject, isUndefinedOrNull } from './inspect'\n\nconst RX_ARRAY_NOTATION = /\\[(\\d+)]/g\n\n/**\n * Get property defined by dot/array notation in string, returns undefined if not found\n *\n * @link https://gist.github.com/jeneg/9767afdcca45601ea44930ea03e0febf#gistcomment-1935901\n *\n * @param {Object} obj\n * @param {string|Array} path\n * @return {*}\n */\nexport const getRaw = (obj, path, defaultValue = undefined) => {\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 // 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 && !isUndefinedOrNull((obj = obj[step])))\n ? obj\n : isNull(obj)\n ? null\n : defaultValue\n}\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 */\nexport const get = (obj, path, defaultValue = null) => {\n const val = getRaw(obj, path)\n return isUndefinedOrNull(val) ? defaultValue : val\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// explicitly 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: undefined\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 BAvatar: {\n variant: 'secondary',\n badgeVariant: 'primary'\n },\n BBadge: {\n variant: 'secondary'\n },\n BButton: {\n size: undefined,\n variant: 'secondary'\n },\n BButtonClose: {\n content: '×',\n // `textVariant` is `null` to inherit the current text color\n textVariant: undefined,\n ariaLabel: 'Close'\n },\n BCalendar: {\n // BFormDate will choose these first if not provided in BFormDate section\n labelPrevDecade: 'Previous decade',\n labelPrevYear: 'Previous year',\n labelPrevMonth: 'Previous month',\n labelCurrentMonth: 'Current month',\n labelNextMonth: 'Next month',\n labelNextYear: 'Next year',\n labelNextDecade: 'Next decade',\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: undefined,\n variant: 'secondary',\n splitVariant: undefined\n },\n BFormDatepicker: {\n // BFormDatepicker will choose from BCalendar first if not provided here\n labelPrevDecade: undefined,\n labelPrevYear: undefined,\n labelPrevMonth: undefined,\n labelCurrentMonth: undefined,\n labelNextMonth: undefined,\n labelNextYear: undefined,\n labelNextDecade: undefined,\n labelToday: undefined,\n labelSelected: undefined,\n labelNoDateSelected: undefined,\n labelCalendar: undefined,\n labelNav: undefined,\n labelHelp: undefined,\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 BFormRating: {\n variant: null,\n color: null\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 BFormTimepicker: {\n // Fallback to BTime\n labelNoTimeSelected: undefined,\n labelSelected: undefined,\n labelHours: undefined,\n labelMinutes: undefined,\n labelSeconds: undefined,\n labelAmpm: undefined,\n labelAm: undefined,\n labelPm: undefined,\n // Fallback to BTime then BFormSpinbutton\n labelDecrement: undefined,\n labelIncrement: undefined,\n // These props are specific to BFormTimepicker\n labelNowButton: 'Select now',\n labelResetButton: 'Reset',\n labelCloseButton: 'Close'\n },\n BFormSpinbutton: {\n labelDecrement: 'Decrement',\n labelIncrement: 'Increment'\n },\n BImg: {\n blankColor: 'transparent'\n },\n BImgLazy: {\n blankColor: 'transparent'\n },\n BInputGroup: {\n size: undefined\n },\n BJumbotron: {\n bgVariant: undefined,\n borderVariant: undefined,\n textVariant: undefined\n },\n BLink: {\n routerComponentName: undefined\n },\n BListGroupItem: {\n variant: undefined\n },\n BModal: {\n titleTag: 'h5',\n size: 'md',\n headerBgVariant: undefined,\n headerBorderVariant: undefined,\n headerTextVariant: undefined,\n headerCloseVariant: undefined,\n bodyBgVariant: undefined,\n bodyTextVariant: undefined,\n footerBgVariant: undefined,\n footerBorderVariant: undefined,\n footerTextVariant: undefined,\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: undefined\n },\n BPaginationNav: {\n size: undefined\n },\n BPopover: {\n boundary: 'scrollParent',\n boundaryPadding: 5,\n customClass: undefined,\n delay: 50,\n variant: undefined\n },\n BProgress: {\n variant: undefined\n },\n BProgressBar: {\n variant: undefined\n },\n BSpinner: {\n variant: undefined\n },\n BSidebar: {\n bgVariant: 'light',\n textVariant: 'dark',\n shadow: false,\n width: undefined,\n tag: 'div',\n backdropVariant: 'dark'\n },\n BTable: {\n selectedVariant: 'active',\n headVariant: undefined,\n footVariant: undefined\n },\n BTime: {\n labelNoTimeSelected: 'No time selected',\n labelSelected: 'Selected time',\n labelHours: 'Hours',\n labelMinutes: 'Minutes',\n labelSeconds: 'Seconds',\n labelAmpm: 'AM/PM',\n // It would be nice to be able to get these from Intl.DateTimeFormat somehow\n labelAm: 'AM',\n labelPm: 'PM',\n // The following inherit from BFormSpinbutton if not provided\n labelIncrement: undefined,\n labelDecrement: undefined\n },\n BToast: {\n toaster: 'b-toaster-top-right',\n autoHideDelay: 5000,\n variant: undefined,\n toastClass: undefined,\n headerClass: undefined,\n bodyClass: undefined\n },\n BToaster: {\n ariaLive: undefined,\n ariaAtomic: undefined,\n role: undefined\n },\n BTooltip: {\n boundary: 'scrollParent',\n boundaryPadding: 5,\n customClass: undefined,\n delay: 50,\n variant: undefined\n }\n})\n","import OurVue from './vue'\nimport cloneDeep from './clone-deep'\nimport { getRaw } 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 /* istanbul ignore next */\n static get Defaults() /* istanbul ignore next */ {\n return DEFAULTS\n }\n\n /* istanbul ignore next */\n get defaults() /* istanbul ignore next */ {\n return DEFAULTS\n }\n\n // Returns the defaults\n /* istanbul ignore next */\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(getRaw(this.$_config, key, getRaw(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 { getRaw } 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(getRaw(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","// Number utilities\n\n// Converts a value (string, number, etc) to an integer number\n// Assumes radix base 10\nexport const toInteger = (value, defaultValue = NaN) => {\n const integer = parseInt(value, 10)\n return isNaN(integer) ? defaultValue : integer\n}\n\n// Converts a value (string, number, etc) to a number\nexport const toFloat = (value, defaultValue = NaN) => {\n const float = parseFloat(value)\n return isNaN(float) ? defaultValue : float\n}\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","// 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 { from as arrayFrom } from './array'\nimport { hasWindowSupport, hasDocumentSupport } from './env'\nimport { isFunction, isNull } from './inspect'\nimport { toFloat } from './number'\nimport { toString } from './string'\n\n// --- Constants ---\n\nconst TABABLE_SELECTOR = [\n 'button',\n '[href]:not(.disabled)',\n 'input',\n 'select',\n 'textarea',\n '[tabindex]',\n '[contenteditable]'\n]\n .map(s => `${s}:not(:disabled):not([disabled])`)\n .join(', ')\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\n/* istanbul ignore next: JSDOM always returns the first option */\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// Get the currently active HTML element\nexport const getActiveElement = (excludes = []) => {\n const activeElement = d.activeElement\n return activeElement && !excludes.some(el => el === activeElement) ? activeElement : null\n}\n\n// Returns `true` if a tag's name equals `name`\nexport const isTag = (tag, name) => toString(tag).toLowerCase() === toString(name).toLowerCase()\n\n// Determine if an HTML element is the currently active element\nexport const isActiveElement = el => isElement(el) && el === getActiveElement()\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 += toFloat(offsetParentStyles.borderTopWidth, 0)\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0)\n }\n }\n return {\n top: _offset.top - parentOffset.top - toFloat(elStyles.marginTop, 0),\n left: _offset.left - parentOffset.left - toFloat(elStyles.marginLeft, 0)\n }\n}\n\n// Find all tabable elements in the given element\n// Assumes users have not used `tabindex` > `0` on elements\nexport const getTabables = (rootEl = document) =>\n selectAll(TABABLE_SELECTOR, rootEl)\n .filter(isVisible)\n .filter(el => el.tabIndex > -1 && !el.disabled)\n\n// Attempt to focus an element, and return `true` if successful\nexport const attemptFocus = (el, options = {}) => {\n try {\n el.focus(options)\n } catch {}\n return isActiveElement(el)\n}\n\n// Attempt to blur an element, and return `true` if successful\nexport const attemptBlur = el => {\n try {\n el.blur()\n } catch {}\n return !isActiveElement(el)\n}\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, 0)\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, 0) < 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 countDown: 0,\n countDownTimeout: null,\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.clearCountDownInterval()\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.countDownTimeout = 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.clearCountDownInterval()\n },\n methods: {\n dismiss() {\n this.clearCountDownInterval()\n this.countDown = 0\n this.localShow = false\n },\n clearCountDownInterval() {\n if (this.countDownTimeout) {\n clearTimeout(this.countDownTimeout)\n this.countDownTimeout = 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","// Math utilty functions\n\nexport const mathMin = Math.min\n\nexport const mathMax = Math.max\n\nexport const mathAbs = Math.abs\n\nexport const mathCeil = Math.ceil\n\nexport const mathFloor = Math.floor\n\nexport const mathPow = Math.pow\n\nexport const mathRound = Math.round\n","import Vue from '../../utils/vue'\r\nimport { mathAbs } from '../../utils/math'\r\nimport { toFloat } from '../../utils/number'\r\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\r\n\r\n// --- Constants ---\r\nconst NAME = 'BAspect'\r\nconst CLASS_NAME = 'b-aspect'\r\n\r\nconst RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/\r\nconst RX_SEPARATOR = /[/:]/\r\n\r\n// --- Main Component ---\r\nexport const BAspect = /*#__PURE__*/ Vue.extend({\r\n name: NAME,\r\n mixins: [normalizeSlotMixin],\r\n props: {\r\n aspect: {\r\n // Accepts a number (i.e. `16 / 9`, `1`, `4 / 3`)\r\n // Or a string (i.e. '16/9', '16:9', '4:3' '1:1')\r\n type: [Number, String],\r\n default: '1:1'\r\n },\r\n tag: {\r\n type: String,\r\n default: 'div'\r\n }\r\n },\r\n computed: {\r\n padding() {\r\n const aspect = this.aspect\r\n let ratio = 1\r\n if (RX_ASPECT.test(aspect)) {\r\n // Width and/or Height can be a decimal value below `1`, so\r\n // we only fallback to `1` if the value is `0` or `NaN`\r\n const [width, height] = aspect.split(RX_SEPARATOR).map(v => toFloat(v) || 1)\r\n ratio = width / height\r\n } else {\r\n ratio = toFloat(aspect) || 1\r\n }\r\n return `${100 / mathAbs(ratio)}%`\r\n }\r\n },\r\n render(h) {\r\n const $sizer = h('div', {\r\n staticClass: `${CLASS_NAME}-sizer flex-grow-1`,\r\n style: { paddingBottom: this.padding, height: 0 }\r\n })\r\n const $content = h(\r\n 'div',\r\n {\r\n staticClass: `${CLASS_NAME}-content flex-grow-1 w-100 mw-100`,\r\n style: { marginLeft: '-100%' }\r\n },\r\n [this.normalizeSlot('default')]\r\n )\r\n return h(this.tag, { staticClass: `${CLASS_NAME} d-flex` }, [$sizer, $content])\r\n }\r\n})\r\n","import { BAspect } from './aspect'\r\nimport { pluginFactory } from '../../utils/plugins'\r\n\r\nconst AspectPlugin = /*#__PURE__*/ pluginFactory({\r\n components: { BAspect }\r\n})\r\n\r\nexport { AspectPlugin, BAspect }\r\n","import identity from './identity'\nimport { isArray, isObject } from './inspect'\nimport { clone, hasOwnProperty, keys } from './object'\nimport { lowerFirst, upperFirst } from './string'\n\n// Prefix a property\nexport const prefixPropName = (prefix, value) => prefix + upperFirst(value)\n\n// Remove a prefix from a property\nexport const unprefixPropName = (prefix, value) => lowerFirst(value.replace(prefix, ''))\n\n// Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n// Use data last parameters to allow for currying\nexport const suffixPropName = (suffix, str) => str + (suffix ? upperFirst(suffix) : '')\n\n// Copies props from one array/object to a new array/object\n// Prop values are also cloned as new references to prevent possible\n// mutation of original prop object values\n// Optionally accepts a function to transform the prop name\nexport const copyProps = (props, transformFn = identity) => {\n if (isArray(props)) {\n return props.map(transformFn)\n }\n const copied = {}\n for (const prop in props) {\n /* istanbul ignore else */\n if (hasOwnProperty(props, prop)) {\n // If the prop value is an object, do a shallow clone\n // to prevent potential mutations to the original object\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop]\n }\n }\n return copied\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\nexport const 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","import { isTag } from './dom'\nimport { 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 isLink = props => !!(props.href || props.to)\n\nexport const isRouterLink = tag => !isTag(tag, ANCHOR_TAG)\n\nexport const computeTag = ({ to, disabled, routerComponentName } = {}, thisOrParent) => {\n const hasRouter = thisOrParent.$router\n if (!hasRouter || (hasRouter && disabled) || (hasRouter && !to)) {\n return ANCHOR_TAG\n }\n\n // TODO:\n // Check registered components for existence of user supplied router link component name\n // We would need to check PascalCase, kebab-case, and camelCase versions of name:\n // const name = routerComponentName\n // const names = [name, PascalCase(name), KebabCase(name), CamelCase(name)]\n // exists = names.some(name => !!thisOrParent.$options.components[name])\n // And may want to cache the result for performance or we just let the render fail\n // if the component is not registered\n return routerComponentName || (thisOrParent.$nuxt ? 'nuxt-link' : 'router-link')\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","/*\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 { hasOwnProperty } from './object'\n\nexport const makePropWatcher = propName => ({\n handler(newVal, oldVal) {\n for (const key in oldVal) {\n if (!hasOwnProperty(newVal, key)) {\n this.$delete(this.$data[propName], key)\n }\n }\n for (const key in newVal) {\n this.$set(this.$data[propName], key, newVal[key])\n }\n }\n})\n\nexport const makePropCacheMixin = (propName, proxyPropName) => ({\n data() {\n return {\n [proxyPropName]: {}\n }\n },\n watch: {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n [propName]: makePropWatcher(proxyPropName)\n },\n created() {\n this[proxyPropName] = { ...this[propName] }\n }\n})\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport default makePropCacheMixin('$attrs', 'bvAttrs')\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport default makePropCacheMixin('$listeners', 'bvListeners')\n","import Vue from '../../utils/vue'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { attemptBlur, attemptFocus } from '../../utils/dom'\nimport { isBoolean, isEvent, isFunction, isUndefined } from '../../utils/inspect'\nimport { pluckProps } from '../../utils/props'\nimport { computeHref, computeRel, computeTag, isRouterLink } from '../../utils/router'\nimport attrsMixin from '../../mixins/attrs'\nimport listenersMixin from '../../mixins/listeners'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\n// --- Constants ---\n\nconst NAME = 'BLink'\n\n// --- Props ---\n\n// specific props\nexport const routerLinkProps = {\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}\n\n// specific props\nexport const nuxtLinkProps = {\n prefetch: {\n type: Boolean,\n // Must be `null` to fall back to the value defined in the\n // `nuxt.config.js` configuration file for `router.prefetchLinks`\n // We convert `null` to `undefined`, so that Nuxt.js will use the\n // compiled default. Vue treats `undefined` as default of `false`\n // for Boolean props, so we must set it as `null` here to be a\n // true tri-state prop\n default: null\n },\n noPrefetch: {\n type: Boolean,\n default: false\n }\n}\n\nexport const props = {\n href: {\n type: String,\n default: null\n },\n rel: {\n type: String,\n // Must be `null` if no value provided\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 ...routerLinkProps,\n ...nuxtLinkProps,\n // To support 3rd party router links based on `` (i.e. `g-link` for Gridsome)\n // Default is to auto choose between `` and ``\n // Gridsome doesn't provide a mechanism to auto detect and has caveats\n // such as not supporting FQDN URLs or hash only URLs\n routerComponentName: {\n type: String,\n default: () => getComponentConfig(NAME, 'routerComponentName')\n }\n}\n\n// --- Main component ---\n// @vue/component\nexport const BLink = /*#__PURE__*/ Vue.extend({\n name: 'BLink',\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props,\n computed: {\n computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, disabled, routerComponentName } = this\n return computeTag({ to, disabled, routerComponentName }, 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 const prefetch = this.prefetch\n return this.isRouterLink\n ? {\n ...pluckProps({ ...routerLinkProps, ...nuxtLinkProps }, this),\n // Coerce `prefetch` value `null` to be `undefined`\n prefetch: isBoolean(prefetch) ? prefetch : undefined,\n // Pass `router-tag` as `tag` prop\n tag: this.routerTag\n }\n : {}\n },\n computedAttrs() {\n const {\n bvAttrs,\n computedHref: href,\n computedRel: rel,\n disabled,\n target,\n routerTag,\n isRouterLink\n } = this\n\n return {\n ...bvAttrs,\n // If `href` attribute exists on `` (even `undefined` or `null`)\n // it fails working on SSR, so we explicitly add it here if needed\n // (i.e. if `computedHref()` is truthy)\n ...(href ? { href } : {}),\n // We don't render `rel` or `target` on non link tags when using `vue-router`\n ...(isRouterLink && routerTag !== 'a' && routerTag !== 'area' ? {} : { rel, target }),\n tabindex: disabled ? '-1' : isUndefined(bvAttrs.tabindex) ? null : bvAttrs.tabindex,\n 'aria-disabled': disabled ? 'true' : null\n }\n },\n computedListeners() {\n return {\n // Transfer all listeners (native) to the root element\n ...this.bvListeners,\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n }\n }\n },\n methods: {\n onClick(evt) {\n const evtIsEvent = isEvent(evt)\n const isRouterLink = this.isRouterLink\n const suppliedHandler = this.bvListeners.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 attemptFocus(this.$el)\n },\n blur() {\n attemptBlur(this.$el)\n }\n },\n render(h) {\n const { active, disabled } = this\n\n return h(\n this.computedTag,\n {\n class: { active, disabled },\n attrs: this.computedAttrs,\n props: this.computedProps,\n // We must use `nativeOn` for ``/`` instead of `on`\n [this.isRouterLink ? 'nativeOn' : 'on']: this.computedListeners\n },\n this.normalizeSlot('default')\n )\n }\n})\n","import { mergeData } from 'vue-functional-data-merge'\nimport Vue from '../../utils/vue'\nimport KeyCodes from '../../utils/key-codes'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { addClass, isTag, removeClass } from '../../utils/dom'\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect'\nimport { omit } from '../../utils/object'\nimport { pluckProps } from '../../utils/props'\nimport { isLink as isLinkStrict } from '../../utils/router'\nimport { BLink, props as BLinkProps } from '../link/link'\n\n// --- Constants ---\n\nconst NAME = 'BButton'\n\n// --- Props ---\n\nconst linkProps = omit(BLinkProps, ['event', 'routerTag'])\ndelete linkProps.href.default\ndelete linkProps.to.default\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\nexport const props = { ...btnProps, ...linkProps }\n\n// --- Helper methods ---\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 => isLinkStrict(props) || isTag(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 && !isTag(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(linkProps, props) : {})\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// --- Main component ---\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 Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport identity from '../../utils/identity'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { mathMax } from '../../utils/math'\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 animation: {\n type: String,\n default: null\n }\n}\n\n// Base attributes needed on all icons\nconst baseAttrs = {\n viewBox: '0 0 16 16',\n width: '1em',\n height: '1em',\n focusable: 'false',\n role: 'img',\n alt: 'icon'\n}\n\n// Attributes that are nulled out when stacked\nconst stackedAttrs = {\n width: null,\n height: null,\n focusable: null,\n role: null,\n alt: null\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 = mathMax(toFloat(props.fontScale, 1), 0) || 1\n const scale = mathMax(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 const animation = props.animation\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 16 16` (`8 8` 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(8 8)' : null,\n hasScale ? `scale(${(flipH ? -1 : 1) * scale} ${(flipV ? -1 : 1) * scale})` : null,\n rotate ? `rotate(${rotate})` : null,\n hasTransforms ? 'translate(-8 -8)' : 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(${(16 * shiftH) / 16} ${(-16 * shiftV) / 16})` } },\n [$inner]\n )\n }\n\n if (isStacked) {\n // Wrap in an additional `` for proper\n // animation handling if stacked\n $inner = h('g', {}, [$inner])\n }\n\n return h(\n 'svg',\n mergeData(\n {\n staticClass: 'b-icon bi',\n class: {\n [`text-${props.variant}`]: !!props.variant,\n [`b-icon-animation-${animation}`]: !!animation\n },\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: stackedAttrs } : {},\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-alpha4\n// @Generated: 2020-05-22T20:50:38.778Z\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-alpha4\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\n// eslint-disable-next-line\nexport const BIconAlarm = /*#__PURE__*/ makeIcon(\n 'Alarm',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconAlarmFill = /*#__PURE__*/ makeIcon(\n 'AlarmFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconAlt = /*#__PURE__*/ makeIcon(\n 'Alt',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconApp = /*#__PURE__*/ makeIcon(\n 'App',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconAppIndicator = /*#__PURE__*/ makeIcon(\n 'AppIndicator',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArchive = /*#__PURE__*/ makeIcon(\n 'Archive',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArchiveFill = /*#__PURE__*/ makeIcon(\n 'ArchiveFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrow90degDown = /*#__PURE__*/ makeIcon(\n 'Arrow90degDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrow90degLeft = /*#__PURE__*/ makeIcon(\n 'Arrow90degLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrow90degRight = /*#__PURE__*/ makeIcon(\n 'Arrow90degRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrow90degUp = /*#__PURE__*/ makeIcon(\n 'Arrow90degUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowBarDown = /*#__PURE__*/ makeIcon(\n 'ArrowBarDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowBarLeft = /*#__PURE__*/ makeIcon(\n 'ArrowBarLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowBarRight = /*#__PURE__*/ makeIcon(\n 'ArrowBarRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowBarUp = /*#__PURE__*/ makeIcon(\n 'ArrowBarUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowClockwise = /*#__PURE__*/ makeIcon(\n 'ArrowClockwise',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowCounterclockwise = /*#__PURE__*/ makeIcon(\n 'ArrowCounterclockwise',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDown = /*#__PURE__*/ makeIcon(\n 'ArrowDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownCircle = /*#__PURE__*/ makeIcon(\n 'ArrowDownCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownCircleFill = /*#__PURE__*/ makeIcon(\n 'ArrowDownCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownLeft = /*#__PURE__*/ makeIcon(\n 'ArrowDownLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownLeftCircle = /*#__PURE__*/ makeIcon(\n 'ArrowDownLeftCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownLeftCircleFill = /*#__PURE__*/ makeIcon(\n 'ArrowDownLeftCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownLeftSquare = /*#__PURE__*/ makeIcon(\n 'ArrowDownLeftSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownLeftSquareFill = /*#__PURE__*/ makeIcon(\n 'ArrowDownLeftSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownRight = /*#__PURE__*/ makeIcon(\n 'ArrowDownRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownRightCircle = /*#__PURE__*/ makeIcon(\n 'ArrowDownRightCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownRightCircleFill = /*#__PURE__*/ makeIcon(\n 'ArrowDownRightCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownRightSquare = /*#__PURE__*/ makeIcon(\n 'ArrowDownRightSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownRightSquareFill = /*#__PURE__*/ makeIcon(\n 'ArrowDownRightSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownShort = /*#__PURE__*/ makeIcon(\n 'ArrowDownShort',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownSquare = /*#__PURE__*/ makeIcon(\n 'ArrowDownSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownSquareFill = /*#__PURE__*/ makeIcon(\n 'ArrowDownSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowDownUp = /*#__PURE__*/ makeIcon(\n 'ArrowDownUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowLeft = /*#__PURE__*/ makeIcon(\n 'ArrowLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowLeftCircle = /*#__PURE__*/ makeIcon(\n 'ArrowLeftCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowLeftCircleFill = /*#__PURE__*/ makeIcon(\n 'ArrowLeftCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowLeftRight = /*#__PURE__*/ makeIcon(\n 'ArrowLeftRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowLeftShort = /*#__PURE__*/ makeIcon(\n 'ArrowLeftShort',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowLeftSquare = /*#__PURE__*/ makeIcon(\n 'ArrowLeftSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowLeftSquareFill = /*#__PURE__*/ makeIcon(\n 'ArrowLeftSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowRepeat = /*#__PURE__*/ makeIcon(\n 'ArrowRepeat',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowReturnLeft = /*#__PURE__*/ makeIcon(\n 'ArrowReturnLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowReturnRight = /*#__PURE__*/ makeIcon(\n 'ArrowReturnRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowRight = /*#__PURE__*/ makeIcon(\n 'ArrowRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowRightCircle = /*#__PURE__*/ makeIcon(\n 'ArrowRightCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowRightCircleFill = /*#__PURE__*/ makeIcon(\n 'ArrowRightCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowRightShort = /*#__PURE__*/ makeIcon(\n 'ArrowRightShort',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowRightSquare = /*#__PURE__*/ makeIcon(\n 'ArrowRightSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowRightSquareFill = /*#__PURE__*/ makeIcon(\n 'ArrowRightSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUp = /*#__PURE__*/ makeIcon(\n 'ArrowUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpCircle = /*#__PURE__*/ makeIcon(\n 'ArrowUpCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpCircleFill = /*#__PURE__*/ makeIcon(\n 'ArrowUpCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpLeft = /*#__PURE__*/ makeIcon(\n 'ArrowUpLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpLeftCircle = /*#__PURE__*/ makeIcon(\n 'ArrowUpLeftCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpLeftCircleFill = /*#__PURE__*/ makeIcon(\n 'ArrowUpLeftCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpLeftSquare = /*#__PURE__*/ makeIcon(\n 'ArrowUpLeftSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpLeftSquareFill = /*#__PURE__*/ makeIcon(\n 'ArrowUpLeftSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpRight = /*#__PURE__*/ makeIcon(\n 'ArrowUpRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpRightCircle = /*#__PURE__*/ makeIcon(\n 'ArrowUpRightCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpRightCircleFill = /*#__PURE__*/ makeIcon(\n 'ArrowUpRightCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpRightSquare = /*#__PURE__*/ makeIcon(\n 'ArrowUpRightSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpRightSquareFill = /*#__PURE__*/ makeIcon(\n 'ArrowUpRightSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpShort = /*#__PURE__*/ makeIcon(\n 'ArrowUpShort',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpSquare = /*#__PURE__*/ makeIcon(\n 'ArrowUpSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowUpSquareFill = /*#__PURE__*/ makeIcon(\n 'ArrowUpSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowsAngleContract = /*#__PURE__*/ makeIcon(\n 'ArrowsAngleContract',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowsAngleExpand = /*#__PURE__*/ makeIcon(\n 'ArrowsAngleExpand',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowsCollapse = /*#__PURE__*/ makeIcon(\n 'ArrowsCollapse',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowsExpand = /*#__PURE__*/ makeIcon(\n 'ArrowsExpand',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowsFullscreen = /*#__PURE__*/ makeIcon(\n 'ArrowsFullscreen',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconArrowsMove = /*#__PURE__*/ makeIcon(\n 'ArrowsMove',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconAspectRatio = /*#__PURE__*/ makeIcon(\n 'AspectRatio',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconAspectRatioFill = /*#__PURE__*/ makeIcon(\n 'AspectRatioFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconAsterisk = /*#__PURE__*/ makeIcon(\n 'Asterisk',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconAt = /*#__PURE__*/ makeIcon(\n 'At',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconAward = /*#__PURE__*/ makeIcon(\n 'Award',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconAwardFill = /*#__PURE__*/ makeIcon(\n 'AwardFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBackspace = /*#__PURE__*/ makeIcon(\n 'Backspace',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBackspaceFill = /*#__PURE__*/ makeIcon(\n 'BackspaceFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBackspaceReverse = /*#__PURE__*/ makeIcon(\n 'BackspaceReverse',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBackspaceReverseFill = /*#__PURE__*/ makeIcon(\n 'BackspaceReverseFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBag = /*#__PURE__*/ makeIcon(\n 'Bag',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBagCheck = /*#__PURE__*/ makeIcon(\n 'BagCheck',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBagDash = /*#__PURE__*/ makeIcon(\n 'BagDash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBagFill = /*#__PURE__*/ makeIcon(\n 'BagFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBagPlus = /*#__PURE__*/ makeIcon(\n 'BagPlus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBarChart = /*#__PURE__*/ makeIcon(\n 'BarChart',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBarChartFill = /*#__PURE__*/ makeIcon(\n 'BarChartFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBasket = /*#__PURE__*/ makeIcon(\n 'Basket',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBasket2 = /*#__PURE__*/ makeIcon(\n 'Basket2',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBasket2Fill = /*#__PURE__*/ makeIcon(\n 'Basket2Fill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBasket3 = /*#__PURE__*/ makeIcon(\n 'Basket3',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBasket3Fill = /*#__PURE__*/ makeIcon(\n 'Basket3Fill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBasketFill = /*#__PURE__*/ makeIcon(\n 'BasketFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBattery = /*#__PURE__*/ makeIcon(\n 'Battery',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBatteryCharging = /*#__PURE__*/ makeIcon(\n 'BatteryCharging',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBatteryFull = /*#__PURE__*/ makeIcon(\n 'BatteryFull',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBatteryHalf = /*#__PURE__*/ makeIcon(\n 'BatteryHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBell = /*#__PURE__*/ makeIcon(\n 'Bell',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBellFill = /*#__PURE__*/ makeIcon(\n 'BellFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBlockquoteLeft = /*#__PURE__*/ makeIcon(\n 'BlockquoteLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBlockquoteRight = /*#__PURE__*/ makeIcon(\n 'BlockquoteRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBook = /*#__PURE__*/ makeIcon(\n 'Book',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBookHalf = /*#__PURE__*/ makeIcon(\n 'BookHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBookmark = /*#__PURE__*/ makeIcon(\n 'Bookmark',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBookmarkCheck = /*#__PURE__*/ makeIcon(\n 'BookmarkCheck',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBookmarkDash = /*#__PURE__*/ makeIcon(\n 'BookmarkDash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBookmarkFill = /*#__PURE__*/ makeIcon(\n 'BookmarkFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBookmarkPlus = /*#__PURE__*/ makeIcon(\n 'BookmarkPlus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBookmarks = /*#__PURE__*/ makeIcon(\n 'Bookmarks',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBookmarksFill = /*#__PURE__*/ makeIcon(\n 'BookmarksFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBootstrap = /*#__PURE__*/ makeIcon(\n 'Bootstrap',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBootstrapFill = /*#__PURE__*/ makeIcon(\n 'BootstrapFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBootstrapReboot = /*#__PURE__*/ makeIcon(\n 'BootstrapReboot',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoundingBox = /*#__PURE__*/ makeIcon(\n 'BoundingBox',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoundingBoxCircles = /*#__PURE__*/ makeIcon(\n 'BoundingBoxCircles',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBox = /*#__PURE__*/ makeIcon(\n 'Box',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowDown = /*#__PURE__*/ makeIcon(\n 'BoxArrowDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowDownLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowDownLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowDownRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowDownRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowInDown = /*#__PURE__*/ makeIcon(\n 'BoxArrowInDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowInDownLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowInDownLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowInDownRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowInDownRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowInLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowInLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowInRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowInRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowInUp = /*#__PURE__*/ makeIcon(\n 'BoxArrowInUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowInUpLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowInUpLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowInUpRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowInUpRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowUp = /*#__PURE__*/ makeIcon(\n 'BoxArrowUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowUpLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowUpLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxArrowUpRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowUpRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBoxSeam = /*#__PURE__*/ makeIcon(\n 'BoxSeam',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBraces = /*#__PURE__*/ makeIcon(\n 'Braces',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBriefcase = /*#__PURE__*/ makeIcon(\n 'Briefcase',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBriefcaseFill = /*#__PURE__*/ makeIcon(\n 'BriefcaseFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBrightnessAltHigh = /*#__PURE__*/ makeIcon(\n 'BrightnessAltHigh',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBrightnessAltHighFill = /*#__PURE__*/ makeIcon(\n 'BrightnessAltHighFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBrightnessAltLow = /*#__PURE__*/ makeIcon(\n 'BrightnessAltLow',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBrightnessAltLowFill = /*#__PURE__*/ makeIcon(\n 'BrightnessAltLowFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBrightnessHigh = /*#__PURE__*/ makeIcon(\n 'BrightnessHigh',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBrightnessHighFill = /*#__PURE__*/ makeIcon(\n 'BrightnessHighFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBrightnessLow = /*#__PURE__*/ makeIcon(\n 'BrightnessLow',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBrightnessLowFill = /*#__PURE__*/ makeIcon(\n 'BrightnessLowFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBrush = /*#__PURE__*/ makeIcon(\n 'Brush',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBucket = /*#__PURE__*/ makeIcon(\n 'Bucket',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBucketFill = /*#__PURE__*/ makeIcon(\n 'BucketFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBuilding = /*#__PURE__*/ makeIcon(\n 'Building',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconBullseye = /*#__PURE__*/ makeIcon(\n 'Bullseye',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar = /*#__PURE__*/ makeIcon(\n 'Calendar',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2 = /*#__PURE__*/ makeIcon(\n 'Calendar2',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2Check = /*#__PURE__*/ makeIcon(\n 'Calendar2Check',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2CheckFill = /*#__PURE__*/ makeIcon(\n 'Calendar2CheckFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2Date = /*#__PURE__*/ makeIcon(\n 'Calendar2Date',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2DateFill = /*#__PURE__*/ makeIcon(\n 'Calendar2DateFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2Day = /*#__PURE__*/ makeIcon(\n 'Calendar2Day',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2DayFill = /*#__PURE__*/ makeIcon(\n 'Calendar2DayFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2Fill = /*#__PURE__*/ makeIcon(\n 'Calendar2Fill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2Minus = /*#__PURE__*/ makeIcon(\n 'Calendar2Minus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2MinusFill = /*#__PURE__*/ makeIcon(\n 'Calendar2MinusFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2Month = /*#__PURE__*/ makeIcon(\n 'Calendar2Month',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2MonthFill = /*#__PURE__*/ makeIcon(\n 'Calendar2MonthFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2Plus = /*#__PURE__*/ makeIcon(\n 'Calendar2Plus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar2PlusFill = /*#__PURE__*/ makeIcon(\n 'Calendar2PlusFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar3 = /*#__PURE__*/ makeIcon(\n 'Calendar3',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar3Fill = /*#__PURE__*/ makeIcon(\n 'Calendar3Fill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendar4 = /*#__PURE__*/ makeIcon(\n 'Calendar4',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarCheck = /*#__PURE__*/ makeIcon(\n 'CalendarCheck',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarCheckFill = /*#__PURE__*/ makeIcon(\n 'CalendarCheckFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarDate = /*#__PURE__*/ makeIcon(\n 'CalendarDate',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarDateFill = /*#__PURE__*/ makeIcon(\n 'CalendarDateFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarDay = /*#__PURE__*/ makeIcon(\n 'CalendarDay',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarDayFill = /*#__PURE__*/ makeIcon(\n 'CalendarDayFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarFill = /*#__PURE__*/ makeIcon(\n 'CalendarFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarMinus = /*#__PURE__*/ makeIcon(\n 'CalendarMinus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarMinusFill = /*#__PURE__*/ makeIcon(\n 'CalendarMinusFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarMonth = /*#__PURE__*/ makeIcon(\n 'CalendarMonth',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarMonthFill = /*#__PURE__*/ makeIcon(\n 'CalendarMonthFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarPlus = /*#__PURE__*/ makeIcon(\n 'CalendarPlus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCalendarPlusFill = /*#__PURE__*/ makeIcon(\n 'CalendarPlusFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCamera = /*#__PURE__*/ makeIcon(\n 'Camera',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCameraVideo = /*#__PURE__*/ makeIcon(\n 'CameraVideo',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCameraVideoFill = /*#__PURE__*/ makeIcon(\n 'CameraVideoFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCameraVideoOff = /*#__PURE__*/ makeIcon(\n 'CameraVideoOff',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCameraVideoOffFill = /*#__PURE__*/ makeIcon(\n 'CameraVideoOffFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCapslock = /*#__PURE__*/ makeIcon(\n 'Capslock',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCapslockFill = /*#__PURE__*/ makeIcon(\n 'CapslockFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCardChecklist = /*#__PURE__*/ makeIcon(\n 'CardChecklist',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCardHeading = /*#__PURE__*/ makeIcon(\n 'CardHeading',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCardImage = /*#__PURE__*/ makeIcon(\n 'CardImage',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCardList = /*#__PURE__*/ makeIcon(\n 'CardList',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCardText = /*#__PURE__*/ makeIcon(\n 'CardText',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretDown = /*#__PURE__*/ makeIcon(\n 'CaretDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretDownFill = /*#__PURE__*/ makeIcon(\n 'CaretDownFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretDownSquare = /*#__PURE__*/ makeIcon(\n 'CaretDownSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretDownSquareFill = /*#__PURE__*/ makeIcon(\n 'CaretDownSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretLeft = /*#__PURE__*/ makeIcon(\n 'CaretLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretLeftFill = /*#__PURE__*/ makeIcon(\n 'CaretLeftFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretLeftSquare = /*#__PURE__*/ makeIcon(\n 'CaretLeftSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretLeftSquareFill = /*#__PURE__*/ makeIcon(\n 'CaretLeftSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretRight = /*#__PURE__*/ makeIcon(\n 'CaretRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretRightFill = /*#__PURE__*/ makeIcon(\n 'CaretRightFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretRightSquare = /*#__PURE__*/ makeIcon(\n 'CaretRightSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretRightSquareFill = /*#__PURE__*/ makeIcon(\n 'CaretRightSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretUp = /*#__PURE__*/ makeIcon(\n 'CaretUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretUpFill = /*#__PURE__*/ makeIcon(\n 'CaretUpFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretUpSquare = /*#__PURE__*/ makeIcon(\n 'CaretUpSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCaretUpSquareFill = /*#__PURE__*/ makeIcon(\n 'CaretUpSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCart = /*#__PURE__*/ makeIcon(\n 'Cart',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCart2 = /*#__PURE__*/ makeIcon(\n 'Cart2',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCart3 = /*#__PURE__*/ makeIcon(\n 'Cart3',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCart4 = /*#__PURE__*/ makeIcon(\n 'Cart4',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCartCheck = /*#__PURE__*/ makeIcon(\n 'CartCheck',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCartDash = /*#__PURE__*/ makeIcon(\n 'CartDash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCartFill = /*#__PURE__*/ makeIcon(\n 'CartFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCartPlus = /*#__PURE__*/ makeIcon(\n 'CartPlus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChat = /*#__PURE__*/ makeIcon(\n 'Chat',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatDots = /*#__PURE__*/ makeIcon(\n 'ChatDots',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatDotsFill = /*#__PURE__*/ makeIcon(\n 'ChatDotsFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatFill = /*#__PURE__*/ makeIcon(\n 'ChatFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatQuote = /*#__PURE__*/ makeIcon(\n 'ChatQuote',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatQuoteFill = /*#__PURE__*/ makeIcon(\n 'ChatQuoteFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatSquare = /*#__PURE__*/ makeIcon(\n 'ChatSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatSquareDots = /*#__PURE__*/ makeIcon(\n 'ChatSquareDots',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatSquareDotsFill = /*#__PURE__*/ makeIcon(\n 'ChatSquareDotsFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatSquareFill = /*#__PURE__*/ makeIcon(\n 'ChatSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatSquareQuote = /*#__PURE__*/ makeIcon(\n 'ChatSquareQuote',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChatSquareQuoteFill = /*#__PURE__*/ makeIcon(\n 'ChatSquareQuoteFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCheck = /*#__PURE__*/ makeIcon(\n 'Check',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCheck2 = /*#__PURE__*/ makeIcon(\n 'Check2',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCheck2All = /*#__PURE__*/ makeIcon(\n 'Check2All',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCheck2Circle = /*#__PURE__*/ makeIcon(\n 'Check2Circle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCheck2Square = /*#__PURE__*/ makeIcon(\n 'Check2Square',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCheckAll = /*#__PURE__*/ makeIcon(\n 'CheckAll',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCheckCircle = /*#__PURE__*/ makeIcon(\n 'CheckCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCheckCircleFill = /*#__PURE__*/ makeIcon(\n 'CheckCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCheckSquare = /*#__PURE__*/ makeIcon(\n 'CheckSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCheckSquareFill = /*#__PURE__*/ makeIcon(\n 'CheckSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronBarContract = /*#__PURE__*/ makeIcon(\n 'ChevronBarContract',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronBarDown = /*#__PURE__*/ makeIcon(\n 'ChevronBarDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronBarExpand = /*#__PURE__*/ makeIcon(\n 'ChevronBarExpand',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronBarLeft = /*#__PURE__*/ makeIcon(\n 'ChevronBarLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronBarRight = /*#__PURE__*/ makeIcon(\n 'ChevronBarRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronBarUp = /*#__PURE__*/ makeIcon(\n 'ChevronBarUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronCompactDown = /*#__PURE__*/ makeIcon(\n 'ChevronCompactDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronCompactLeft = /*#__PURE__*/ makeIcon(\n 'ChevronCompactLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronCompactRight = /*#__PURE__*/ makeIcon(\n 'ChevronCompactRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronCompactUp = /*#__PURE__*/ makeIcon(\n 'ChevronCompactUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronContract = /*#__PURE__*/ makeIcon(\n 'ChevronContract',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronDoubleDown = /*#__PURE__*/ makeIcon(\n 'ChevronDoubleDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronDoubleLeft = /*#__PURE__*/ makeIcon(\n 'ChevronDoubleLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronDoubleRight = /*#__PURE__*/ makeIcon(\n 'ChevronDoubleRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronDoubleUp = /*#__PURE__*/ makeIcon(\n 'ChevronDoubleUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronDown = /*#__PURE__*/ makeIcon(\n 'ChevronDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronExpand = /*#__PURE__*/ makeIcon(\n 'ChevronExpand',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronLeft = /*#__PURE__*/ makeIcon(\n 'ChevronLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronRight = /*#__PURE__*/ makeIcon(\n 'ChevronRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconChevronUp = /*#__PURE__*/ makeIcon(\n 'ChevronUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCircle = /*#__PURE__*/ makeIcon(\n 'Circle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCircleFill = /*#__PURE__*/ makeIcon(\n 'CircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCircleHalf = /*#__PURE__*/ makeIcon(\n 'CircleHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCircleSquare = /*#__PURE__*/ makeIcon(\n 'CircleSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconClipboard = /*#__PURE__*/ makeIcon(\n 'Clipboard',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconClipboardData = /*#__PURE__*/ makeIcon(\n 'ClipboardData',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconClock = /*#__PURE__*/ makeIcon(\n 'Clock',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconClockFill = /*#__PURE__*/ makeIcon(\n 'ClockFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconClockHistory = /*#__PURE__*/ makeIcon(\n 'ClockHistory',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCloud = /*#__PURE__*/ makeIcon(\n 'Cloud',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCloudDownload = /*#__PURE__*/ makeIcon(\n 'CloudDownload',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCloudFill = /*#__PURE__*/ makeIcon(\n 'CloudFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCloudSlash = /*#__PURE__*/ makeIcon(\n 'CloudSlash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCloudSlashFill = /*#__PURE__*/ makeIcon(\n 'CloudSlashFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCloudUpload = /*#__PURE__*/ makeIcon(\n 'CloudUpload',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCode = /*#__PURE__*/ makeIcon(\n 'Code',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCodeSlash = /*#__PURE__*/ makeIcon(\n 'CodeSlash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCollection = /*#__PURE__*/ makeIcon(\n 'Collection',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCollectionFill = /*#__PURE__*/ makeIcon(\n 'CollectionFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCollectionPlay = /*#__PURE__*/ makeIcon(\n 'CollectionPlay',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCollectionPlayFill = /*#__PURE__*/ makeIcon(\n 'CollectionPlayFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconColumns = /*#__PURE__*/ makeIcon(\n 'Columns',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconColumnsGap = /*#__PURE__*/ makeIcon(\n 'ColumnsGap',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCommand = /*#__PURE__*/ makeIcon(\n 'Command',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCompass = /*#__PURE__*/ makeIcon(\n 'Compass',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCone = /*#__PURE__*/ makeIcon(\n 'Cone',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconConeStriped = /*#__PURE__*/ makeIcon(\n 'ConeStriped',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconController = /*#__PURE__*/ makeIcon(\n 'Controller',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCreditCard = /*#__PURE__*/ makeIcon(\n 'CreditCard',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCrop = /*#__PURE__*/ makeIcon(\n 'Crop',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCup = /*#__PURE__*/ makeIcon(\n 'Cup',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCursor = /*#__PURE__*/ makeIcon(\n 'Cursor',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCursorFill = /*#__PURE__*/ makeIcon(\n 'CursorFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconCursorText = /*#__PURE__*/ makeIcon(\n 'CursorText',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDash = /*#__PURE__*/ makeIcon(\n 'Dash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDashCircle = /*#__PURE__*/ makeIcon(\n 'DashCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDashCircleFill = /*#__PURE__*/ makeIcon(\n 'DashCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDashSquare = /*#__PURE__*/ makeIcon(\n 'DashSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDashSquareFill = /*#__PURE__*/ makeIcon(\n 'DashSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDiamond = /*#__PURE__*/ makeIcon(\n 'Diamond',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDiamondFill = /*#__PURE__*/ makeIcon(\n 'DiamondFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDiamondHalf = /*#__PURE__*/ makeIcon(\n 'DiamondHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDisplay = /*#__PURE__*/ makeIcon(\n 'Display',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDisplayFill = /*#__PURE__*/ makeIcon(\n 'DisplayFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDoorClosed = /*#__PURE__*/ makeIcon(\n 'DoorClosed',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDoorClosedFill = /*#__PURE__*/ makeIcon(\n 'DoorClosedFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDot = /*#__PURE__*/ makeIcon(\n 'Dot',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDownload = /*#__PURE__*/ makeIcon(\n 'Download',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDroplet = /*#__PURE__*/ makeIcon(\n 'Droplet',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDropletFill = /*#__PURE__*/ makeIcon(\n 'DropletFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconDropletHalf = /*#__PURE__*/ makeIcon(\n 'DropletHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEgg = /*#__PURE__*/ makeIcon(\n 'Egg',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEggFill = /*#__PURE__*/ makeIcon(\n 'EggFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEggFried = /*#__PURE__*/ makeIcon(\n 'EggFried',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEject = /*#__PURE__*/ makeIcon(\n 'Eject',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEjectFill = /*#__PURE__*/ makeIcon(\n 'EjectFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEmojiAngry = /*#__PURE__*/ makeIcon(\n 'EmojiAngry',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEmojiDizzy = /*#__PURE__*/ makeIcon(\n 'EmojiDizzy',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEmojiFrown = /*#__PURE__*/ makeIcon(\n 'EmojiFrown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEmojiLaughing = /*#__PURE__*/ makeIcon(\n 'EmojiLaughing',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEmojiNeutral = /*#__PURE__*/ makeIcon(\n 'EmojiNeutral',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEmojiSmile = /*#__PURE__*/ makeIcon(\n 'EmojiSmile',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEmojiSmileUpsideDown = /*#__PURE__*/ makeIcon(\n 'EmojiSmileUpsideDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEmojiSunglasses = /*#__PURE__*/ makeIcon(\n 'EmojiSunglasses',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEnvelope = /*#__PURE__*/ makeIcon(\n 'Envelope',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEnvelopeFill = /*#__PURE__*/ makeIcon(\n 'EnvelopeFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEnvelopeOpen = /*#__PURE__*/ makeIcon(\n 'EnvelopeOpen',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEnvelopeOpenFill = /*#__PURE__*/ makeIcon(\n 'EnvelopeOpenFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamation = /*#__PURE__*/ makeIcon(\n 'Exclamation',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamationCircle = /*#__PURE__*/ makeIcon(\n 'ExclamationCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamationCircleFill = /*#__PURE__*/ makeIcon(\n 'ExclamationCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamationDiamond = /*#__PURE__*/ makeIcon(\n 'ExclamationDiamond',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamationDiamondFill = /*#__PURE__*/ makeIcon(\n 'ExclamationDiamondFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamationOctagon = /*#__PURE__*/ makeIcon(\n 'ExclamationOctagon',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamationOctagonFill = /*#__PURE__*/ makeIcon(\n 'ExclamationOctagonFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamationSquare = /*#__PURE__*/ makeIcon(\n 'ExclamationSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamationSquareFill = /*#__PURE__*/ makeIcon(\n 'ExclamationSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamationTriangle = /*#__PURE__*/ makeIcon(\n 'ExclamationTriangle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclamationTriangleFill = /*#__PURE__*/ makeIcon(\n 'ExclamationTriangleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconExclude = /*#__PURE__*/ makeIcon(\n 'Exclude',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEye = /*#__PURE__*/ makeIcon(\n 'Eye',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEyeFill = /*#__PURE__*/ makeIcon(\n 'EyeFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEyeSlash = /*#__PURE__*/ makeIcon(\n 'EyeSlash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconEyeSlashFill = /*#__PURE__*/ makeIcon(\n 'EyeSlashFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFile = /*#__PURE__*/ makeIcon(\n 'File',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileArrowDown = /*#__PURE__*/ makeIcon(\n 'FileArrowDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileArrowUp = /*#__PURE__*/ makeIcon(\n 'FileArrowUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileBreak = /*#__PURE__*/ makeIcon(\n 'FileBreak',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileCheck = /*#__PURE__*/ makeIcon(\n 'FileCheck',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileCode = /*#__PURE__*/ makeIcon(\n 'FileCode',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileDiff = /*#__PURE__*/ makeIcon(\n 'FileDiff',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmark = /*#__PURE__*/ makeIcon(\n 'FileEarmark',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkArrowDown = /*#__PURE__*/ makeIcon(\n 'FileEarmarkArrowDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkArrowUp = /*#__PURE__*/ makeIcon(\n 'FileEarmarkArrowUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkBreak = /*#__PURE__*/ makeIcon(\n 'FileEarmarkBreak',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkCheck = /*#__PURE__*/ makeIcon(\n 'FileEarmarkCheck',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkCode = /*#__PURE__*/ makeIcon(\n 'FileEarmarkCode',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkDiff = /*#__PURE__*/ makeIcon(\n 'FileEarmarkDiff',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkMinus = /*#__PURE__*/ makeIcon(\n 'FileEarmarkMinus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkPlus = /*#__PURE__*/ makeIcon(\n 'FileEarmarkPlus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkRuled = /*#__PURE__*/ makeIcon(\n 'FileEarmarkRuled',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkSpreadsheet = /*#__PURE__*/ makeIcon(\n 'FileEarmarkSpreadsheet',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkText = /*#__PURE__*/ makeIcon(\n 'FileEarmarkText',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileEarmarkZip = /*#__PURE__*/ makeIcon(\n 'FileEarmarkZip',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileMinus = /*#__PURE__*/ makeIcon(\n 'FileMinus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFilePlus = /*#__PURE__*/ makeIcon(\n 'FilePlus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFilePost = /*#__PURE__*/ makeIcon(\n 'FilePost',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileRichtext = /*#__PURE__*/ makeIcon(\n 'FileRichtext',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileRuled = /*#__PURE__*/ makeIcon(\n 'FileRuled',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileSpreadsheet = /*#__PURE__*/ makeIcon(\n 'FileSpreadsheet',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileText = /*#__PURE__*/ makeIcon(\n 'FileText',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFileZip = /*#__PURE__*/ makeIcon(\n 'FileZip',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFiles = /*#__PURE__*/ makeIcon(\n 'Files',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFilesAlt = /*#__PURE__*/ makeIcon(\n 'FilesAlt',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFilm = /*#__PURE__*/ makeIcon(\n 'Film',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFilter = /*#__PURE__*/ makeIcon(\n 'Filter',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFilterLeft = /*#__PURE__*/ makeIcon(\n 'FilterLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFilterRight = /*#__PURE__*/ makeIcon(\n 'FilterRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFlag = /*#__PURE__*/ makeIcon(\n 'Flag',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFlagFill = /*#__PURE__*/ makeIcon(\n 'FlagFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFolder = /*#__PURE__*/ makeIcon(\n 'Folder',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFolderCheck = /*#__PURE__*/ makeIcon(\n 'FolderCheck',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFolderFill = /*#__PURE__*/ makeIcon(\n 'FolderFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFolderMinus = /*#__PURE__*/ makeIcon(\n 'FolderMinus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFolderPlus = /*#__PURE__*/ makeIcon(\n 'FolderPlus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFolderSymlink = /*#__PURE__*/ makeIcon(\n 'FolderSymlink',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFolderSymlinkFill = /*#__PURE__*/ makeIcon(\n 'FolderSymlinkFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFonts = /*#__PURE__*/ makeIcon(\n 'Fonts',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconForward = /*#__PURE__*/ makeIcon(\n 'Forward',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconForwardFill = /*#__PURE__*/ makeIcon(\n 'ForwardFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFullscreen = /*#__PURE__*/ makeIcon(\n 'Fullscreen',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFullscreenExit = /*#__PURE__*/ makeIcon(\n 'FullscreenExit',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFunnel = /*#__PURE__*/ makeIcon(\n 'Funnel',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconFunnelFill = /*#__PURE__*/ makeIcon(\n 'FunnelFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGear = /*#__PURE__*/ makeIcon(\n 'Gear',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGearFill = /*#__PURE__*/ makeIcon(\n 'GearFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGearWide = /*#__PURE__*/ makeIcon(\n 'GearWide',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGearWideConnected = /*#__PURE__*/ makeIcon(\n 'GearWideConnected',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGem = /*#__PURE__*/ makeIcon(\n 'Gem',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGeo = /*#__PURE__*/ makeIcon(\n 'Geo',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGeoAlt = /*#__PURE__*/ makeIcon(\n 'GeoAlt',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGift = /*#__PURE__*/ makeIcon(\n 'Gift',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGiftFill = /*#__PURE__*/ makeIcon(\n 'GiftFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGraphDown = /*#__PURE__*/ makeIcon(\n 'GraphDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGraphUp = /*#__PURE__*/ makeIcon(\n 'GraphUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGrid = /*#__PURE__*/ makeIcon(\n 'Grid',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGrid1x2 = /*#__PURE__*/ makeIcon(\n 'Grid1x2',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGrid1x2Fill = /*#__PURE__*/ makeIcon(\n 'Grid1x2Fill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGrid3x2 = /*#__PURE__*/ makeIcon(\n 'Grid3x2',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGrid3x2Gap = /*#__PURE__*/ makeIcon(\n 'Grid3x2Gap',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGrid3x2GapFill = /*#__PURE__*/ makeIcon(\n 'Grid3x2GapFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGrid3x3 = /*#__PURE__*/ makeIcon(\n 'Grid3x3',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGrid3x3Gap = /*#__PURE__*/ makeIcon(\n 'Grid3x3Gap',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGrid3x3GapFill = /*#__PURE__*/ makeIcon(\n 'Grid3x3GapFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGridFill = /*#__PURE__*/ makeIcon(\n 'GridFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGripHorizontal = /*#__PURE__*/ makeIcon(\n 'GripHorizontal',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconGripVertical = /*#__PURE__*/ makeIcon(\n 'GripVertical',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHammer = /*#__PURE__*/ makeIcon(\n 'Hammer',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHandIndex = /*#__PURE__*/ makeIcon(\n 'HandIndex',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHandIndexThumb = /*#__PURE__*/ makeIcon(\n 'HandIndexThumb',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHandThumbsDown = /*#__PURE__*/ makeIcon(\n 'HandThumbsDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHandThumbsUp = /*#__PURE__*/ makeIcon(\n 'HandThumbsUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHandbag = /*#__PURE__*/ makeIcon(\n 'Handbag',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHandbagFill = /*#__PURE__*/ makeIcon(\n 'HandbagFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHash = /*#__PURE__*/ makeIcon(\n 'Hash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHeadphones = /*#__PURE__*/ makeIcon(\n 'Headphones',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHeart = /*#__PURE__*/ makeIcon(\n 'Heart',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHeartFill = /*#__PURE__*/ makeIcon(\n 'HeartFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHeartHalf = /*#__PURE__*/ makeIcon(\n 'HeartHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHexagon = /*#__PURE__*/ makeIcon(\n 'Hexagon',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHexagonFill = /*#__PURE__*/ makeIcon(\n 'HexagonFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHexagonHalf = /*#__PURE__*/ makeIcon(\n 'HexagonHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHouse = /*#__PURE__*/ makeIcon(\n 'House',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHouseDoor = /*#__PURE__*/ makeIcon(\n 'HouseDoor',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHouseDoorFill = /*#__PURE__*/ makeIcon(\n 'HouseDoorFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHouseFill = /*#__PURE__*/ makeIcon(\n 'HouseFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconHr = /*#__PURE__*/ makeIcon(\n 'Hr',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconImage = /*#__PURE__*/ makeIcon(\n 'Image',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconImageAlt = /*#__PURE__*/ makeIcon(\n 'ImageAlt',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconImageFill = /*#__PURE__*/ makeIcon(\n 'ImageFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconImages = /*#__PURE__*/ makeIcon(\n 'Images',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconInbox = /*#__PURE__*/ makeIcon(\n 'Inbox',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconInboxFill = /*#__PURE__*/ makeIcon(\n 'InboxFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconInboxes = /*#__PURE__*/ makeIcon(\n 'Inboxes',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconInboxesFill = /*#__PURE__*/ makeIcon(\n 'InboxesFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconInfo = /*#__PURE__*/ makeIcon(\n 'Info',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconInfoCircle = /*#__PURE__*/ makeIcon(\n 'InfoCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconInfoCircleFill = /*#__PURE__*/ makeIcon(\n 'InfoCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconInfoSquare = /*#__PURE__*/ makeIcon(\n 'InfoSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconInfoSquareFill = /*#__PURE__*/ makeIcon(\n 'InfoSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconIntersect = /*#__PURE__*/ makeIcon(\n 'Intersect',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconJustify = /*#__PURE__*/ makeIcon(\n 'Justify',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconJustifyLeft = /*#__PURE__*/ makeIcon(\n 'JustifyLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconJustifyRight = /*#__PURE__*/ makeIcon(\n 'JustifyRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconKanban = /*#__PURE__*/ makeIcon(\n 'Kanban',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconKanbanFill = /*#__PURE__*/ makeIcon(\n 'KanbanFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLaptop = /*#__PURE__*/ makeIcon(\n 'Laptop',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayers = /*#__PURE__*/ makeIcon(\n 'Layers',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayersFill = /*#__PURE__*/ makeIcon(\n 'LayersFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayersHalf = /*#__PURE__*/ makeIcon(\n 'LayersHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutSidebar = /*#__PURE__*/ makeIcon(\n 'LayoutSidebar',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutSidebarInset = /*#__PURE__*/ makeIcon(\n 'LayoutSidebarInset',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutSidebarInsetReverse = /*#__PURE__*/ makeIcon(\n 'LayoutSidebarInsetReverse',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutSidebarReverse = /*#__PURE__*/ makeIcon(\n 'LayoutSidebarReverse',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutSplit = /*#__PURE__*/ makeIcon(\n 'LayoutSplit',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutTextSidebar = /*#__PURE__*/ makeIcon(\n 'LayoutTextSidebar',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutTextSidebarReverse = /*#__PURE__*/ makeIcon(\n 'LayoutTextSidebarReverse',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutTextWindow = /*#__PURE__*/ makeIcon(\n 'LayoutTextWindow',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutTextWindowReverse = /*#__PURE__*/ makeIcon(\n 'LayoutTextWindowReverse',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutThreeColumns = /*#__PURE__*/ makeIcon(\n 'LayoutThreeColumns',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLayoutWtf = /*#__PURE__*/ makeIcon(\n 'LayoutWtf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLifePreserver = /*#__PURE__*/ makeIcon(\n 'LifePreserver',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLightning = /*#__PURE__*/ makeIcon(\n 'Lightning',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLightningFill = /*#__PURE__*/ makeIcon(\n 'LightningFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLink = /*#__PURE__*/ makeIcon(\n 'Link',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLink45deg = /*#__PURE__*/ makeIcon(\n 'Link45deg',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconList = /*#__PURE__*/ makeIcon(\n 'List',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconListCheck = /*#__PURE__*/ makeIcon(\n 'ListCheck',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconListNested = /*#__PURE__*/ makeIcon(\n 'ListNested',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconListOl = /*#__PURE__*/ makeIcon(\n 'ListOl',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconListTask = /*#__PURE__*/ makeIcon(\n 'ListTask',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconListUl = /*#__PURE__*/ makeIcon(\n 'ListUl',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLock = /*#__PURE__*/ makeIcon(\n 'Lock',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconLockFill = /*#__PURE__*/ makeIcon(\n 'LockFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMap = /*#__PURE__*/ makeIcon(\n 'Map',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMic = /*#__PURE__*/ makeIcon(\n 'Mic',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMicFill = /*#__PURE__*/ makeIcon(\n 'MicFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMicMute = /*#__PURE__*/ makeIcon(\n 'MicMute',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMicMuteFill = /*#__PURE__*/ makeIcon(\n 'MicMuteFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMinecart = /*#__PURE__*/ makeIcon(\n 'Minecart',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMinecartLoaded = /*#__PURE__*/ makeIcon(\n 'MinecartLoaded',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMoon = /*#__PURE__*/ makeIcon(\n 'Moon',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMusicNote = /*#__PURE__*/ makeIcon(\n 'MusicNote',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMusicNoteBeamed = /*#__PURE__*/ makeIcon(\n 'MusicNoteBeamed',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMusicNoteList = /*#__PURE__*/ makeIcon(\n 'MusicNoteList',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMusicPlayer = /*#__PURE__*/ makeIcon(\n 'MusicPlayer',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconMusicPlayerFill = /*#__PURE__*/ makeIcon(\n 'MusicPlayerFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconNewspaper = /*#__PURE__*/ makeIcon(\n 'Newspaper',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconOctagon = /*#__PURE__*/ makeIcon(\n 'Octagon',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconOctagonFill = /*#__PURE__*/ makeIcon(\n 'OctagonFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconOctagonHalf = /*#__PURE__*/ makeIcon(\n 'OctagonHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconOption = /*#__PURE__*/ makeIcon(\n 'Option',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconOutlet = /*#__PURE__*/ makeIcon(\n 'Outlet',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPaperclip = /*#__PURE__*/ makeIcon(\n 'Paperclip',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPause = /*#__PURE__*/ makeIcon(\n 'Pause',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPauseFill = /*#__PURE__*/ makeIcon(\n 'PauseFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPen = /*#__PURE__*/ makeIcon(\n 'Pen',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPencil = /*#__PURE__*/ makeIcon(\n 'Pencil',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPencilSquare = /*#__PURE__*/ makeIcon(\n 'PencilSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPentagon = /*#__PURE__*/ makeIcon(\n 'Pentagon',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPentagonFill = /*#__PURE__*/ makeIcon(\n 'PentagonFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPentagonHalf = /*#__PURE__*/ makeIcon(\n 'PentagonHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPeople = /*#__PURE__*/ makeIcon(\n 'People',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPeopleFill = /*#__PURE__*/ makeIcon(\n 'PeopleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPerson = /*#__PURE__*/ makeIcon(\n 'Person',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonBoundingBox = /*#__PURE__*/ makeIcon(\n 'PersonBoundingBox',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonCheck = /*#__PURE__*/ makeIcon(\n 'PersonCheck',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonCheckFill = /*#__PURE__*/ makeIcon(\n 'PersonCheckFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonCircle = /*#__PURE__*/ makeIcon(\n 'PersonCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonDash = /*#__PURE__*/ makeIcon(\n 'PersonDash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonDashFill = /*#__PURE__*/ makeIcon(\n 'PersonDashFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonFill = /*#__PURE__*/ makeIcon(\n 'PersonFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonLinesFill = /*#__PURE__*/ makeIcon(\n 'PersonLinesFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonPlus = /*#__PURE__*/ makeIcon(\n 'PersonPlus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonPlusFill = /*#__PURE__*/ makeIcon(\n 'PersonPlusFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPersonSquare = /*#__PURE__*/ makeIcon(\n 'PersonSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPhone = /*#__PURE__*/ makeIcon(\n 'Phone',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPhoneLandscape = /*#__PURE__*/ makeIcon(\n 'PhoneLandscape',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPieChart = /*#__PURE__*/ makeIcon(\n 'PieChart',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPieChartFill = /*#__PURE__*/ makeIcon(\n 'PieChartFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPip = /*#__PURE__*/ makeIcon(\n 'Pip',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPipFill = /*#__PURE__*/ makeIcon(\n 'PipFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPlay = /*#__PURE__*/ makeIcon(\n 'Play',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPlayFill = /*#__PURE__*/ makeIcon(\n 'PlayFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPlug = /*#__PURE__*/ makeIcon(\n 'Plug',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPlus = /*#__PURE__*/ makeIcon(\n 'Plus',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPlusCircle = /*#__PURE__*/ makeIcon(\n 'PlusCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPlusCircleFill = /*#__PURE__*/ makeIcon(\n 'PlusCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPlusSquare = /*#__PURE__*/ makeIcon(\n 'PlusSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPlusSquareFill = /*#__PURE__*/ makeIcon(\n 'PlusSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPower = /*#__PURE__*/ makeIcon(\n 'Power',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPuzzle = /*#__PURE__*/ makeIcon(\n 'Puzzle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconPuzzleFill = /*#__PURE__*/ makeIcon(\n 'PuzzleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconQuestion = /*#__PURE__*/ makeIcon(\n 'Question',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconQuestionCircle = /*#__PURE__*/ makeIcon(\n 'QuestionCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconQuestionCircleFill = /*#__PURE__*/ makeIcon(\n 'QuestionCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconQuestionDiamond = /*#__PURE__*/ makeIcon(\n 'QuestionDiamond',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconQuestionDiamondFill = /*#__PURE__*/ makeIcon(\n 'QuestionDiamondFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconQuestionOctagon = /*#__PURE__*/ makeIcon(\n 'QuestionOctagon',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconQuestionOctagonFill = /*#__PURE__*/ makeIcon(\n 'QuestionOctagonFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconQuestionSquare = /*#__PURE__*/ makeIcon(\n 'QuestionSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconQuestionSquareFill = /*#__PURE__*/ makeIcon(\n 'QuestionSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconReceipt = /*#__PURE__*/ makeIcon(\n 'Receipt',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconReceiptCutoff = /*#__PURE__*/ makeIcon(\n 'ReceiptCutoff',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconReply = /*#__PURE__*/ makeIcon(\n 'Reply',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconReplyAll = /*#__PURE__*/ makeIcon(\n 'ReplyAll',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconReplyAllFill = /*#__PURE__*/ makeIcon(\n 'ReplyAllFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconReplyFill = /*#__PURE__*/ makeIcon(\n 'ReplyFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconScrewdriver = /*#__PURE__*/ makeIcon(\n 'Screwdriver',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSearch = /*#__PURE__*/ makeIcon(\n 'Search',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconServer = /*#__PURE__*/ makeIcon(\n 'Server',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShield = /*#__PURE__*/ makeIcon(\n 'Shield',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShieldFill = /*#__PURE__*/ makeIcon(\n 'ShieldFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShieldLock = /*#__PURE__*/ makeIcon(\n 'ShieldLock',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShieldLockFill = /*#__PURE__*/ makeIcon(\n 'ShieldLockFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShieldShaded = /*#__PURE__*/ makeIcon(\n 'ShieldShaded',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShieldSlash = /*#__PURE__*/ makeIcon(\n 'ShieldSlash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShieldSlashFill = /*#__PURE__*/ makeIcon(\n 'ShieldSlashFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShift = /*#__PURE__*/ makeIcon(\n 'Shift',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShiftFill = /*#__PURE__*/ makeIcon(\n 'ShiftFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShop = /*#__PURE__*/ makeIcon(\n 'Shop',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShopWindow = /*#__PURE__*/ makeIcon(\n 'ShopWindow',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconShuffle = /*#__PURE__*/ makeIcon(\n 'Shuffle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSkipBackward = /*#__PURE__*/ makeIcon(\n 'SkipBackward',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSkipBackwardFill = /*#__PURE__*/ makeIcon(\n 'SkipBackwardFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSkipEnd = /*#__PURE__*/ makeIcon(\n 'SkipEnd',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSkipEndFill = /*#__PURE__*/ makeIcon(\n 'SkipEndFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSkipForward = /*#__PURE__*/ makeIcon(\n 'SkipForward',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSkipForwardFill = /*#__PURE__*/ makeIcon(\n 'SkipForwardFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSkipStart = /*#__PURE__*/ makeIcon(\n 'SkipStart',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSkipStartFill = /*#__PURE__*/ makeIcon(\n 'SkipStartFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSlash = /*#__PURE__*/ makeIcon(\n 'Slash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSlashCircle = /*#__PURE__*/ makeIcon(\n 'SlashCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSlashCircleFill = /*#__PURE__*/ makeIcon(\n 'SlashCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSlashSquare = /*#__PURE__*/ makeIcon(\n 'SlashSquare',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSlashSquareFill = /*#__PURE__*/ makeIcon(\n 'SlashSquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSliders = /*#__PURE__*/ makeIcon(\n 'Sliders',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSoundwave = /*#__PURE__*/ makeIcon(\n 'Soundwave',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSpeaker = /*#__PURE__*/ makeIcon(\n 'Speaker',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSquare = /*#__PURE__*/ makeIcon(\n 'Square',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSquareFill = /*#__PURE__*/ makeIcon(\n 'SquareFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSquareHalf = /*#__PURE__*/ makeIcon(\n 'SquareHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconStar = /*#__PURE__*/ makeIcon(\n 'Star',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconStarFill = /*#__PURE__*/ makeIcon(\n 'StarFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconStarHalf = /*#__PURE__*/ makeIcon(\n 'StarHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconStop = /*#__PURE__*/ makeIcon(\n 'Stop',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconStopFill = /*#__PURE__*/ makeIcon(\n 'StopFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconStopwatch = /*#__PURE__*/ makeIcon(\n 'Stopwatch',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconStopwatchFill = /*#__PURE__*/ makeIcon(\n 'StopwatchFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSubtract = /*#__PURE__*/ makeIcon(\n 'Subtract',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconSun = /*#__PURE__*/ makeIcon(\n 'Sun',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTable = /*#__PURE__*/ makeIcon(\n 'Table',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTablet = /*#__PURE__*/ makeIcon(\n 'Tablet',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTabletLandscape = /*#__PURE__*/ makeIcon(\n 'TabletLandscape',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTag = /*#__PURE__*/ makeIcon(\n 'Tag',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTagFill = /*#__PURE__*/ makeIcon(\n 'TagFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTerminal = /*#__PURE__*/ makeIcon(\n 'Terminal',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTerminalFill = /*#__PURE__*/ makeIcon(\n 'TerminalFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTextCenter = /*#__PURE__*/ makeIcon(\n 'TextCenter',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTextIndentLeft = /*#__PURE__*/ makeIcon(\n 'TextIndentLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTextIndentRight = /*#__PURE__*/ makeIcon(\n 'TextIndentRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTextLeft = /*#__PURE__*/ makeIcon(\n 'TextLeft',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTextRight = /*#__PURE__*/ makeIcon(\n 'TextRight',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTextarea = /*#__PURE__*/ makeIcon(\n 'Textarea',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTextareaT = /*#__PURE__*/ makeIcon(\n 'TextareaT',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconThreeDots = /*#__PURE__*/ makeIcon(\n 'ThreeDots',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconThreeDotsVertical = /*#__PURE__*/ makeIcon(\n 'ThreeDotsVertical',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconToggleOff = /*#__PURE__*/ makeIcon(\n 'ToggleOff',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconToggleOn = /*#__PURE__*/ makeIcon(\n 'ToggleOn',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconToggles = /*#__PURE__*/ makeIcon(\n 'Toggles',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTools = /*#__PURE__*/ makeIcon(\n 'Tools',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTrash = /*#__PURE__*/ makeIcon(\n 'Trash',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTrash2 = /*#__PURE__*/ makeIcon(\n 'Trash2',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTrash2Fill = /*#__PURE__*/ makeIcon(\n 'Trash2Fill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTrashFill = /*#__PURE__*/ makeIcon(\n 'TrashFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTriangle = /*#__PURE__*/ makeIcon(\n 'Triangle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTriangleFill = /*#__PURE__*/ makeIcon(\n 'TriangleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTriangleHalf = /*#__PURE__*/ makeIcon(\n 'TriangleHalf',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTrophy = /*#__PURE__*/ makeIcon(\n 'Trophy',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTruck = /*#__PURE__*/ makeIcon(\n 'Truck',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTruckFlatbed = /*#__PURE__*/ makeIcon(\n 'TruckFlatbed',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTv = /*#__PURE__*/ makeIcon(\n 'Tv',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTvFill = /*#__PURE__*/ makeIcon(\n 'TvFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconType = /*#__PURE__*/ makeIcon(\n 'Type',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTypeBold = /*#__PURE__*/ makeIcon(\n 'TypeBold',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTypeH1 = /*#__PURE__*/ makeIcon(\n 'TypeH1',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTypeH2 = /*#__PURE__*/ makeIcon(\n 'TypeH2',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTypeH3 = /*#__PURE__*/ makeIcon(\n 'TypeH3',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTypeItalic = /*#__PURE__*/ makeIcon(\n 'TypeItalic',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTypeStrikethrough = /*#__PURE__*/ makeIcon(\n 'TypeStrikethrough',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconTypeUnderline = /*#__PURE__*/ makeIcon(\n 'TypeUnderline',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconUnion = /*#__PURE__*/ makeIcon(\n 'Union',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconUnlock = /*#__PURE__*/ makeIcon(\n 'Unlock',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconUnlockFill = /*#__PURE__*/ makeIcon(\n 'UnlockFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconUpc = /*#__PURE__*/ makeIcon(\n 'Upc',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconUpcScan = /*#__PURE__*/ makeIcon(\n 'UpcScan',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconUpload = /*#__PURE__*/ makeIcon(\n 'Upload',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconViewList = /*#__PURE__*/ makeIcon(\n 'ViewList',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconViewStacked = /*#__PURE__*/ makeIcon(\n 'ViewStacked',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconVolumeDown = /*#__PURE__*/ makeIcon(\n 'VolumeDown',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconVolumeDownFill = /*#__PURE__*/ makeIcon(\n 'VolumeDownFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconVolumeMute = /*#__PURE__*/ makeIcon(\n 'VolumeMute',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconVolumeMuteFill = /*#__PURE__*/ makeIcon(\n 'VolumeMuteFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconVolumeOff = /*#__PURE__*/ makeIcon(\n 'VolumeOff',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconVolumeOffFill = /*#__PURE__*/ makeIcon(\n 'VolumeOffFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconVolumeUp = /*#__PURE__*/ makeIcon(\n 'VolumeUp',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconVolumeUpFill = /*#__PURE__*/ makeIcon(\n 'VolumeUpFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconVr = /*#__PURE__*/ makeIcon(\n 'Vr',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconWallet = /*#__PURE__*/ makeIcon(\n 'Wallet',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconWallet2 = /*#__PURE__*/ makeIcon(\n 'Wallet2',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconWatch = /*#__PURE__*/ makeIcon(\n 'Watch',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconWifi = /*#__PURE__*/ makeIcon(\n 'Wifi',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconWindow = /*#__PURE__*/ makeIcon(\n 'Window',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconWrench = /*#__PURE__*/ makeIcon(\n 'Wrench',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconX = /*#__PURE__*/ makeIcon(\n 'X',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconXCircle = /*#__PURE__*/ makeIcon(\n 'XCircle',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconXCircleFill = /*#__PURE__*/ makeIcon(\n 'XCircleFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconXDiamond = /*#__PURE__*/ makeIcon(\n 'XDiamond',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconXDiamondFill = /*#__PURE__*/ makeIcon(\n 'XDiamondFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconXOctagon = /*#__PURE__*/ makeIcon(\n 'XOctagon',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconXOctagonFill = /*#__PURE__*/ makeIcon(\n 'XOctagonFill',\n ''\n)\n\n// eslint-disable-next-line\nexport const BIconXSquare = /*#__PURE__*/ makeIcon(\n 'XSquare',\n ''\n)\n\n// eslint-disable-next-line\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 { pascalCase, trim } from '../utils/string'\nimport { BIconBlank } from './icons'\nimport { commonIconProps } from './helpers/icon-base'\n\nconst RX_ICON_PREFIX = /^BIcon/\n\n// Helper BIcon component\n// Requires the requested icon component to be installed\nexport const BIcon = /*#__PURE__*/ Vue.extend({\n name: 'BIcon',\n functional: true,\n props: {\n icon: {\n type: String,\n default: null\n },\n ...commonIconProps,\n stacked: {\n type: Boolean,\n default: false\n }\n },\n render(h, { data, props, parent }) {\n const icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, '')\n const iconName = `BIcon${icon}`\n // If parent context exists, we check to see if the icon has been registered\n // Either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n const components = ((parent || {}).$options || {}).components\n const componentRefOrName =\n icon && components ? components[iconName] || BIconBlank : icon ? iconName : BIconBlank\n return h(componentRefOrName, mergeData(data, { props: { ...props, icon: null } }))\n }\n})\n","import Vue from '../../utils/vue'\nimport { getComponentConfig } from '../../utils/config'\nimport { isNumber, isString, isUndefinedOrNull } from '../../utils/inspect'\nimport { toFloat } from '../../utils/number'\nimport { omit } from '../../utils/object'\nimport { pluckProps } from '../../utils/props'\nimport { isLink } from '../../utils/router'\nimport { BButton } from '../button/button'\nimport { BLink, props as BLinkProps } from '../link/link'\nimport { BIcon } from '../../icons/icon'\nimport { BIconPersonFill } from '../../icons/icons'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\n// --- Constants ---\nconst NAME = 'BAvatar'\nconst CLASS_NAME = 'b-avatar'\n\nconst RX_NUMBER = /^[0-9]*\\.?[0-9]+$/\n\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst DEFAULT_SIZES = {\n sm: '1.5em',\n md: '2.5em',\n lg: '3.5em'\n}\n\n// --- Props ---\nconst linkProps = omit(BLinkProps, ['active', 'event', 'routerTag'])\n\nconst props = {\n src: {\n type: String\n // default: null\n },\n text: {\n type: String\n // default: null\n },\n icon: {\n type: String\n // default: null\n },\n alt: {\n type: String,\n default: 'avatar'\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n size: {\n type: [Number, String],\n default: null\n },\n square: {\n type: Boolean,\n default: false\n },\n rounded: {\n type: [Boolean, String],\n default: false\n },\n button: {\n type: Boolean,\n default: false\n },\n buttonType: {\n type: String,\n default: 'button'\n },\n badge: {\n type: [Boolean, String],\n default: false\n },\n badgeVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'badgeVariant')\n },\n badgeTop: {\n type: Boolean,\n default: false\n },\n badgeLeft: {\n type: Boolean,\n default: false\n },\n badgeOffset: {\n type: String,\n default: '0px'\n },\n ...linkProps,\n ariaLabel: {\n type: String\n // default: null\n }\n}\n\n// --- Utility methods ---\nexport const computeSize = value => {\n // Default to `md` size when `null`, or parse to\n // number when value is a float-like string\n value =\n isUndefinedOrNull(value) || value === ''\n ? 'md'\n : isString(value) && RX_NUMBER.test(value)\n ? toFloat(value, 0)\n : value\n // Convert all numbers to pixel values\n // Handle default sizes when `sm`, `md` or `lg`\n // Or use value as is\n return isNumber(value) ? `${value}px` : DEFAULT_SIZES[value] || value\n}\n\n// --- Main component ---\n// @vue/component\nexport const BAvatar = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: { default: null }\n },\n props,\n data() {\n return {\n localSrc: this.src || null\n }\n },\n computed: {\n computedSize() {\n // Always use the avatar group size\n return computeSize(this.bvAvatarGroup ? this.bvAvatarGroup.size : this.size)\n },\n computedVariant() {\n // Prefer avatar-group variant if provided\n const avatarGroup = this.bvAvatarGroup\n return avatarGroup && avatarGroup.variant ? avatarGroup.variant : this.variant\n },\n computedRounded() {\n const avatarGroup = this.bvAvatarGroup\n const square = avatarGroup && avatarGroup.square ? true : this.square\n const rounded = avatarGroup && avatarGroup.rounded ? avatarGroup.rounded : this.rounded\n return square ? '0' : rounded === '' ? true : rounded || 'circle'\n },\n fontStyle() {\n let fontSize = this.computedSize\n fontSize = fontSize ? `calc(${fontSize} * ${FONT_SIZE_SCALE})` : null\n return fontSize ? { fontSize } : {}\n },\n marginStyle() {\n const avatarGroup = this.bvAvatarGroup\n const overlapScale = avatarGroup ? avatarGroup.overlapScale : 0\n const size = this.computedSize\n const value = size && overlapScale ? `calc(${size} * -${overlapScale})` : null\n return value ? { marginLeft: value, marginRight: value } : {}\n },\n badgeStyle() {\n const { computedSize: size, badgeTop, badgeLeft, badgeOffset } = this\n const offset = badgeOffset || '0px'\n return {\n fontSize: size ? `calc(${size} * ${BADGE_FONT_SIZE_SCALE} )` : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n }\n }\n },\n watch: {\n src(newSrc, oldSrc) {\n if (newSrc !== oldSrc) {\n this.localSrc = newSrc || null\n }\n }\n },\n methods: {\n onImgError(evt) {\n this.localSrc = null\n this.$emit('img-error', evt)\n },\n onClick(evt) {\n this.$emit('click', evt)\n }\n },\n render(h) {\n const {\n computedVariant: variant,\n disabled,\n computedRounded: rounded,\n icon,\n localSrc: src,\n text,\n fontStyle,\n marginStyle,\n computedSize: size,\n button,\n buttonType: type,\n badge,\n badgeVariant,\n badgeStyle\n } = this\n const link = !button && isLink(this)\n const tag = button ? BButton : link ? BLink : 'span'\n const alt = this.alt || null\n const ariaLabel = this.ariaLabel || null\n\n let $content = null\n if (this.hasNormalizedSlot('default')) {\n // Default slot overrides props\n $content = h('span', { staticClass: 'b-avatar-custom' }, [this.normalizeSlot('default')])\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : { width: '100%', height: '100%' },\n attrs: { src, alt },\n on: { error: this.onImgError }\n })\n $content = h('span', { staticClass: 'b-avatar-img' }, [$content])\n } else if (icon) {\n $content = h(BIcon, {\n props: { icon },\n attrs: { 'aria-hidden': 'true', alt }\n })\n } else if (text) {\n $content = h('span', { staticClass: 'b-avatar-text', style: fontStyle }, [h('span', text)])\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, { attrs: { 'aria-hidden': 'true', alt } })\n }\n\n let $badge = h()\n const hasBadgeSlot = this.hasNormalizedSlot('badge')\n if (badge || badge === '' || hasBadgeSlot) {\n const badgeText = badge === true ? '' : badge\n $badge = h(\n 'span',\n {\n staticClass: 'b-avatar-badge',\n class: { [`badge-${badgeVariant}`]: !!badgeVariant },\n style: badgeStyle\n },\n [hasBadgeSlot ? this.normalizeSlot('badge') : badgeText]\n )\n }\n\n const componentData = {\n staticClass: CLASS_NAME,\n class: {\n // We use badge styles for theme variants when not rendering `BButton`\n [`badge-${variant}`]: !button && variant,\n // Rounding/Square\n rounded: rounded === true,\n [`rounded-${rounded}`]: rounded && rounded !== true,\n // Other classes\n disabled\n },\n style: { width: size, height: size, ...marginStyle },\n attrs: { 'aria-label': ariaLabel || null },\n props: button ? { variant, disabled, type } : link ? pluckProps(linkProps, this) : {},\n on: button || link ? { click: this.onClick } : {}\n }\n\n return h(tag, componentData, [$content, $badge])\n }\n})\n","import { BAvatar } from './avatar'\r\nimport { BAvatarGroup } from './avatar-group'\r\nimport { pluginFactory } from '../../utils/plugins'\r\n\r\nconst AvatarPlugin = /*#__PURE__*/ pluginFactory({\r\n components: { BAvatar, BAvatarGroup }\r\n})\r\n\r\nexport { AvatarPlugin, BAvatar, BAvatarGroup }\r\n","import Vue from '../../utils/vue'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { mathMax, mathMin } from '../../utils/math'\nimport { toFloat } from '../../utils/number'\nimport { computeSize } from './avatar'\n\n// --- Constants ---\nconst NAME = 'BAvatarGroup'\n\n// --- Main component ---\n// @vue/component\nexport const BAvatarGroup = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [normalizeSlotMixin],\n provide() {\n return { bvAvatarGroup: this }\n },\n props: {\n variant: {\n // Child avatars will prefer this variant over their own\n type: String,\n default: null\n },\n size: {\n // Child avatars will always use this over their own size\n type: String,\n default: null\n },\n overlap: {\n type: [Number, String],\n default: 0.3\n },\n square: {\n // Child avatars will prefer this prop (if set) over their own\n type: Boolean,\n default: false\n },\n rounded: {\n // Child avatars will prefer this prop (if set) over their own\n type: [Boolean, String],\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n }\n },\n computed: {\n computedSize() {\n return computeSize(this.size)\n },\n overlapScale() {\n return mathMin(mathMax(toFloat(this.overlap, 0), 0), 1) / 2\n },\n paddingStyle() {\n let value = this.computedSize\n value = value ? `calc(${value} * ${this.overlapScale})` : null\n return value ? { paddingLeft: value, paddingRight: value } : {}\n }\n },\n render(h) {\n const $inner = h('div', { staticClass: 'b-avatar-group-inner', style: this.paddingStyle }, [\n this.normalizeSlot('default')\n ])\n\n return h(this.tag, { staticClass: 'b-avatar-group', attrs: { role: 'group' } }, [$inner])\n }\n})\n","import { mergeData } from 'vue-functional-data-merge'\nimport Vue from '../../utils/vue'\nimport { getComponentConfig } from '../../utils/config'\nimport { omit } from '../../utils/object'\nimport { pluckProps } from '../../utils/props'\nimport { isLink } from '../../utils/router'\nimport { BLink, props as BLinkProps } from '../link/link'\n\n// --- Constants ---\n\nconst NAME = 'BBadge'\n\n// --- Props ---\n\nconst linkProps = omit(BLinkProps, ['event', 'routerTag'])\ndelete linkProps.href.default\ndelete linkProps.to.default\n\nexport const props = {\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 ...linkProps\n}\n\n// --- Main component ---\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 link = isLink(props)\n const tag = link ? 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: link ? 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 RX_HTML_TAGS = /(<([^>]+)>)/gi\n\n// Removes anything that looks like an HTML tag from the supplied string\nexport const stripTags = (text = '') => String(text).replace(RX_HTML_TAGS, '')\n\n// Generate a `domProps` object for either `innerHTML`, `textContent` or an empty object\nexport const htmlOrText = (innerHTML, textContent) => {\n return innerHTML ? { innerHTML } : textContent ? { textContent } : {}\n}\n","import { mergeData } from 'vue-functional-data-merge'\nimport Vue from '../../utils/vue'\nimport { htmlOrText } from '../../utils/html'\nimport { omit } from '../../utils/object'\nimport { pluckProps } from '../../utils/props'\nimport { BLink, props as BLinkProps } from '../link/link'\n\n// --- Props ---\n\nexport const props = {\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 ...omit(BLinkProps, ['event', 'routerTag'])\n}\n\n// --- Main component ---\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 { active } = suppliedProps\n const tag = active ? 'span' : BLink\n\n const componentData = {\n attrs: { 'aria-current': active ? suppliedProps.ariaCurrent : null },\n props: pluckProps(props, suppliedProps)\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","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 KeyCodes from '../../utils/key-codes'\nimport { attemptFocus, isVisible, selectAll } from '../../utils/dom'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\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 focusFirst() {\n const items = this.getItems()\n attemptFocus(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 attemptFocus(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 attemptFocus(items[0])\n }\n },\n focusLast() {\n const items = this.getItems().reverse()\n attemptFocus(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\n// Loose YYYY-MM-DD matching, ignores any appended time inforation\n// Matches '1999-12-20', '1999-1-1', '1999-01-20T22:51:49.118Z', '1999-01-02 13:00:00'\nconst RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/\n\n// Used to split off the date parts of the YYYY-MM-DD string\nconst RX_DATE_SPLIT = /-|\\s|T/\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(RX_DATE_SPLIT).map(v => toInteger(v, 1))\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 addYears = (date, numberOfYears) => {\n date = createDate(date)\n const month = date.getMonth()\n date.setFullYear(date.getFullYear() + numberOfYears)\n // Handle Feb 29th for leap years\n if (date.getMonth() !== month) {\n date.setDate(0)\n }\n return date\n}\n\nexport const oneMonthAgo = date => {\n date = createDate(date)\n const month = date.getMonth()\n date.setMonth(month - 1)\n // Handle when days in month are different\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 // Handle when days in month are different\n if (date.getMonth() === (month + 2) % 12) {\n date.setDate(0)\n }\n return date\n}\n\nexport const oneYearAgo = date => {\n return addYears(date, -1)\n}\n\nexport const oneYearAhead = date => {\n return addYears(date, 1)\n}\n\nexport const oneDecadeAgo = date => {\n return addYears(date, -10)\n}\n\nexport const oneDecadeAhead = date => {\n return addYears(date, 10)\n}\n\n// Helper function to constrain a date between two values\n// Always returns a `Date` object or `null` if no date passed\nexport const constrainDate = (date, min = null, max = null) => {\n // Ensure values are `Date` objects (or `null`)\n date = parseYMD(date)\n min = parseYMD(min) || date\n max = parseYMD(max) || date\n // Return a new `Date` object (or `null`)\n return date ? (date < min ? min : date > max ? max : date) : null\n}\n","// Localization utilities\nimport { arrayIncludes } from './array'\nimport { toString } from './string'\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// Precompile RegExpr\nconst RX_STRIP_MODS = /-u-.+/\n\n// Returns true if the locale is RTL\nexport const isLocaleRTL = locale => {\n // Determines if the locale is RTL (only single locale supported)\n const parts = toString(locale)\n .toLowerCase()\n .replace(RX_STRIP_MODS, '')\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","// 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// @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 regenerates 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-generated ID after mount\n // to prevent SSR hydration errors\n this.localId_ = `__BVID__${this._uid}`\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 constrainDate,\n datesEqual,\n firstDateOfMonth,\n formatYMD,\n lastDateOfMonth,\n oneMonthAgo,\n oneMonthAhead,\n oneYearAgo,\n oneYearAhead,\n oneDecadeAgo,\n oneDecadeAhead,\n parseYMD,\n resolveLocale\n} from '../../utils/date'\nimport { attemptBlur, attemptFocus, requestAF } from '../../utils/dom'\nimport { isArray, isFunction, isPlainObject, isString } from '../../utils/inspect'\nimport { isLocaleRTL } from '../../utils/locale'\nimport { mathMax } from '../../utils/math'\nimport { toInteger } from '../../utils/number'\nimport { toString } from '../../utils/string'\nimport attrsMixin from '../../mixins/attrs'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport {\n BIconChevronLeft,\n BIconChevronDoubleLeft,\n BIconChevronBarLeft,\n BIconCircleFill\n} from '../../icons/icons'\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// Common calendar option value strings\nexport const STR_GREGORY = 'gregory'\nexport const STR_NUMERIC = 'numeric'\nexport const STR_2_DIGIT = '2-digit'\nexport const STR_LONG = 'long'\nexport const STR_SHORT = 'short'\nexport const STR_NARROW = 'narrow'\n\n// --- BCalendar component ---\n\n// @vue/component\nexport const BCalendar = Vue.extend({\n name: NAME,\n // Mixin order is important!\n mixins: [attrsMixin, 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 initialDate: {\n // This specifies the calendar year/month/day that will be shown when\n // first opening the datepicker if no v-model value is provided\n // Default is the current date (or `min`/`max`)\n type: [String, Date]\n // default: null\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 showDecadeNav: {\n // When `true` enables the decade navigation buttons\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 labelPrevDecade: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelPrevDecade')\n },\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 labelNextDecade: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNextDecade')\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 dateFormatOptions: {\n // `Intl.DateTimeFormat` object\n // Note: This value is *not* to be placed in the global config\n type: Object,\n default: () => ({\n year: STR_NUMERIC,\n month: STR_LONG,\n day: STR_NUMERIC,\n weekday: STR_LONG\n })\n },\n weekdayHeaderFormat: {\n // Format of the weekday names at the top of the calendar\n // Note: This value is *not* to be placed in the global config\n type: String,\n // `short` is typically a 3 letter abbreviation,\n // `narrow` is typically a single letter\n // `long` is the full week day name\n // Although some locales may override this (i.e `ar`, etc)\n default: STR_SHORT,\n validator: value => arrayIncludes([STR_LONG, STR_SHORT, STR_NARROW], value)\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:\n selected ||\n formatYMD(constrainDate(this.initialDate || this.getToday()), this.min, this.max),\n // Will be true if the calendar grid has/contains focus\n gridHasFocus: false,\n // Flag to enable the `aria-live` region(s) after mount\n // to prevent screen reader \"outbursts\" when mounting\n isLive: false\n }\n },\n computed: {\n valueId() {\n return this.safeId()\n },\n widgetId() {\n return this.safeId('_calendar-wrapper_')\n },\n navId() {\n return this.safeId('_calendar-nav_')\n },\n gridId() {\n return this.safeId('_calendar-grid_')\n },\n gridCaptionId() {\n return this.safeId('_calendar-grid-caption_')\n },\n gridHelpId() {\n return this.safeId('_calendar-grid-help_')\n },\n activeId() {\n return this.activeYMD ? this.safeId(`_cell-${this.activeYMD}_`) : null\n },\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 mathMax(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), STR_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: STR_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 !== STR_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 whether a date is within the min/max range\n // returns a new function ref if the pops change\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n 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 // Ensure we have year, month, day shown for screen readers/ARIA\n // If users really want to leave one of these out, they can\n // pass `undefined` for the property value\n year: STR_NUMERIC,\n month: STR_2_DIGIT,\n day: STR_2_DIGIT,\n // Merge in user supplied options\n ...this.dateFormatOptions,\n // Ensure hours/minutes/seconds are not shown\n // As we do not support the time portion (yet)\n hour: undefined,\n minute: undefined,\n second: undefined,\n // Ensure calendar is gregorian\n calendar: STR_GREGORY\n })\n },\n formatYearMonth() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, {\n year: STR_NUMERIC,\n month: STR_LONG,\n calendar: STR_GREGORY\n })\n },\n formatWeekdayName() {\n // Long weekday name for weekday header aria-label\n return createDateFormatter(this.calendarLocale, {\n weekday: STR_LONG,\n calendar: STR_GREGORY\n })\n },\n formatWeekdayNameShort() {\n // Weekday header cell format\n // defaults to 'short' 3 letter days, where possible\n return createDateFormatter(this.calendarLocale, {\n weekday: this.weekdayHeaderFormat || STR_SHORT,\n calendar: STR_GREGORY\n })\n },\n formatDay() {\n // Calendar grid day number formatter\n // We don't use DateTimeFormatter here as it can place extra\n // character(s) after the number (i.e the `zh` locale)\n const nf = new Intl.NumberFormat([this.computedLocale], {\n style: 'decimal',\n minimumIntegerDigits: 1,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n notation: 'standard'\n })\n // Return a formatter function instance\n return date => nf.format(date.getDate())\n },\n // Disabled states for the nav buttons\n prevDecadeDisabled() {\n const min = this.computedMin\n return this.disabled || (min && lastDateOfMonth(oneDecadeAgo(this.activeDate)) < min)\n },\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 nextDecadeDisabled() {\n const max = this.computedMax\n return this.disabled || (max && firstDateOfMonth(oneDecadeAhead(this.activeDate)) > max)\n },\n // Calendar dates 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 ? /* istanbul ignore next */ { class: dateInfo }\n : isPlainObject(dateInfo)\n ? { class: '', ...dateInfo }\n : /* istanbul ignore next */ { 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 =\n this.selectedYMD ||\n formatYMD(this.value || this.constrainDate(this.initialDate || 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 /* istanbul ignore next */\n activated() /* istanbul ignore next */ {\n this.setLive(true)\n },\n /* istanbul ignore next */\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 attemptFocus(this.$refs.grid)\n }\n },\n blur() {\n if (!this.disabled) {\n attemptBlur(this.$refs.grid)\n }\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 return constrainDate(date, this.computedMin, this.computedMax)\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 { altKey, ctrlKey, keyCode } = evt\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 constrainedToday = this.constrainDate(this.getToday())\n const isRTL = this.isRTL\n if (keyCode === PAGEUP) {\n // PAGEUP - Previous month/year\n activeDate = (altKey ? (ctrlKey ? oneDecadeAgo : 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 ? (ctrlKey ? oneDecadeAhead : oneYearAhead) : oneMonthAhead)(\n activeDate\n )\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 activeDate = this.constrainDate(activeDate)\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 activeDate = this.constrainDate(activeDate)\n checkDate = activeDate\n } else if (keyCode === UP) {\n // UP - Previous week\n activeDate.setDate(day - 7)\n activeDate = this.constrainDate(activeDate)\n checkDate = activeDate\n } else if (keyCode === DOWN) {\n // DOWN - Next week\n activeDate.setDate(day + 7)\n activeDate = this.constrainDate(activeDate)\n checkDate = activeDate\n } else if (keyCode === HOME) {\n // HOME - Today\n activeDate = constrainedToday\n checkDate = activeDate\n } else if (keyCode === END) {\n // END - Selected date, or today if no selected date\n activeDate = parseYMD(this.selectedDate) || constrainedToday\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 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 gotoPrevDecade() {\n this.activeYMD = formatYMD(this.constrainDate(oneDecadeAgo(this.activeDate)))\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.constrainDate(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 gotoNextDecade() {\n this.activeYMD = formatYMD(this.constrainDate(oneDecadeAhead(this.activeDate)))\n },\n onHeaderClick() {\n if (!this.disabled) {\n this.activeYMD = this.selectedYMD || formatYMD(this.getToday())\n this.focus()\n }\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 {\n valueId,\n widgetId,\n navId,\n gridId,\n gridCaptionId,\n gridHelpId,\n activeId,\n isLive,\n isRTL,\n activeYMD,\n selectedYMD,\n safeId\n } = this\n const hideDecadeNav = !this.showDecadeNav\n const todayYMD = formatYMD(this.getToday())\n const highlightToday = !this.noHighlightToday\n\n // Header showing current selected date\n let $header = h(\n 'output',\n {\n staticClass: 'form-control form-control-sm text-center',\n class: { 'text-muted': this.disabled, readonly: this.readonly || this.disabled },\n attrs: {\n id: valueId,\n for: gridId,\n role: 'status',\n tabindex: this.disabled ? null : '-1',\n // Mainly for testing purposes, as we do not know\n // the exact format `Intl` will format the date string\n 'data-selected': toString(selectedYMD),\n // We wait until after mount to enable `aria-live`\n // to prevent initial announcement on page render\n 'aria-live': isLive ? 'polite' : 'off',\n 'aria-atomic': isLive ? 'true' : null\n },\n on: {\n // Transfer focus/click to focus grid\n // and focus active date (or today if no selection)\n click: this.onHeaderClick,\n focus: this.onHeaderClick\n }\n },\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 staticClass: 'b-calendar-header',\n class: { 'sr-only': this.hideHeader },\n attrs: { title: this.selectedDate ? this.labelSelectedDate || null : null }\n },\n [$header]\n )\n\n // Content for the date navigation buttons\n const navScope = { isRTL }\n const navProps = { shiftV: 0.5 }\n const navPrevProps = { ...navProps, flipH: isRTL }\n const navNextProps = { ...navProps, flipH: !isRTL }\n const $prevDecadeIcon =\n this.normalizeSlot('nav-prev-decade', navScope) ||\n h(BIconChevronBarLeft, { props: navPrevProps })\n const $prevYearIcon =\n this.normalizeSlot('nav-prev-year', navScope) ||\n h(BIconChevronDoubleLeft, { props: navPrevProps })\n const $prevMonthIcon =\n this.normalizeSlot('nav-prev-month', navScope) || h(BIconChevronLeft, { props: navPrevProps })\n const $thisMonthIcon =\n this.normalizeSlot('nav-this-month', navScope) || h(BIconCircleFill, { props: navProps })\n const $nextMonthIcon =\n this.normalizeSlot('nav-next-month', navScope) || h(BIconChevronLeft, { props: navNextProps })\n const $nextYearIcon =\n this.normalizeSlot('nav-next-year', navScope) ||\n h(BIconChevronDoubleLeft, { props: navNextProps })\n const $nextDecadeIcon =\n this.normalizeSlot('nav-next-decade', navScope) ||\n h(BIconChevronBarLeft, { props: navNextProps })\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',\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',\n attrs: {\n id: navId,\n role: 'group',\n 'aria-hidden': this.disabled ? 'true' : null,\n 'aria-label': this.labelNav || null,\n 'aria-controls': gridId\n }\n },\n [\n hideDecadeNav\n ? h()\n : makeNavBtn(\n $prevDecadeIcon,\n this.labelPrevDecade,\n this.gotoPrevDecade,\n this.prevDecadeDisabled,\n 'Ctrl+Alt+PageDown'\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 hideDecadeNav\n ? h()\n : makeNavBtn(\n $nextDecadeIcon,\n this.labelNextDecade,\n this.gotoNextDecade,\n this.nextDecadeDisabled,\n 'Ctrl+Alt+PageUp'\n )\n ]\n )\n\n // Caption for calendar grid\n const $gridCaption = h(\n 'header',\n {\n key: 'grid-caption',\n staticClass: 'b-calendar-grid-caption text-center font-weight-bold',\n class: { 'text-muted': this.disabled },\n attrs: {\n id: gridCaptionId,\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 {\n staticClass: 'b-calendar-grid-weekdays row no-gutters border-bottom',\n attrs: { 'aria-hidden': 'true' }\n },\n this.calendarHeadings.map((d, idx) => {\n return h(\n 'small',\n {\n key: idx,\n staticClass: 'col text-truncate',\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: 'b-calendar-grid-help border-top small text-muted text-center bg-light',\n attrs: {\n id: gridHelpId\n }\n },\n [h('div', { staticClass: 'small' }, this.labelHelp)]\n )\n\n const $grid = h(\n 'div',\n {\n ref: 'grid',\n staticClass: 'b-calendar-grid form-control h-auto text-center',\n attrs: {\n id: gridId,\n role: 'application',\n tabindex: this.disabled ? null : '0',\n 'data-month': activeYMD.slice(0, -3), // `YYYY-MM`, mainly for testing\n 'aria-roledescription': this.labelCalendar || null,\n 'aria-labelledby': gridCaptionId,\n 'aria-describedby': gridHelpId,\n // `aria-readonly` is not considered valid on `role=\"application\"`\n // https://www.w3.org/TR/wai-aria-1.1/#aria-readonly\n // 'aria-readonly': this.readonly && !this.disabled ? 'true' : null,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-activedescendant': activeId\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: 'b-calendar-footer' }, $slot) : h()\n\n const $widget = h(\n 'div',\n {\n staticClass: 'b-calendar-inner',\n style: this.block ? {} : { width: this.width },\n attrs: {\n id: widgetId,\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.bvAttrs['aria-describedby'],\n valueId,\n gridHelpId\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('div', { staticClass: 'b-calendar', class: { 'd-block': this.block } }, [$widget])\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","// @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'\nimport { toString } from '../../utils/string'\n\nexport const props = {\n title: {\n type: String\n // default: null\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 || toString(props.title)\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\nimport { toString } from '../../utils/string'\n\nconst NAME = 'BCardSubTitle'\n\nexport const props = {\n subTitle: {\n type: String\n // default: null\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 || toString(props.subTitle)\n )\n }\n})\n","import { mergeData } from 'vue-functional-data-merge'\nimport Vue from '../../utils/vue'\nimport { copyProps, pluckProps, prefixPropName } from '../../utils/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 { mergeData } from 'vue-functional-data-merge'\nimport Vue from '../../utils/vue'\nimport { htmlOrText } from '../../utils/html'\nimport { copyProps, prefixPropName } from '../../utils/props'\nimport cardMixin from '../../mixins/card'\n\n// --- Props ---\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// --- Main component ---\n// @vue/component\nexport const BCardHeader = /*#__PURE__*/ Vue.extend({\n name: 'BCardHeader',\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { headerBgVariant, headerBorderVariant, headerTextVariant } = props\n\n return h(\n props.headerTag,\n mergeData(data, {\n staticClass: 'card-header',\n class: [\n props.headerClass,\n {\n [`bg-${headerBgVariant}`]: headerBgVariant,\n [`border-${headerBorderVariant}`]: headerBorderVariant,\n [`text-${headerTextVariant}`]: headerTextVariant\n }\n ],\n domProps: children ? {} : htmlOrText(props.headerHtml, props.header)\n }),\n children\n )\n }\n})\n","import { mergeData } from 'vue-functional-data-merge'\nimport Vue from '../../utils/vue'\nimport { htmlOrText } from '../../utils/html'\nimport { copyProps, prefixPropName } from '../../utils/props'\nimport cardMixin from '../../mixins/card'\n\n// --- Props ---\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// --- Main component ---\n// @vue/component\nexport const BCardFooter = /*#__PURE__*/ Vue.extend({\n name: 'BCardFooter',\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { footerBgVariant, footerBorderVariant, footerTextVariant } = props\n\n return h(\n props.footerTag,\n mergeData(data, {\n staticClass: 'card-footer',\n class: [\n props.footerClass,\n {\n [`bg-${footerBgVariant}`]: footerBgVariant,\n [`border-${footerBorderVariant}`]: footerBorderVariant,\n [`text-${footerTextVariant}`]: footerTextVariant\n }\n ],\n domProps: children ? {} : htmlOrText(props.footerHtml, props.footer)\n }),\n children\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 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 || null,\n alt: props.alt || null,\n height: props.height || null,\n width: props.width || null\n }\n })\n )\n }\n})\n","import { mergeData } from 'vue-functional-data-merge'\nimport Vue from '../../utils/vue'\nimport { htmlOrText } from '../../utils/html'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\nimport { copyProps, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props'\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 {\n imgLeft,\n imgRight,\n imgStart,\n imgEnd,\n header,\n headerHtml,\n footer,\n footerHtml,\n align,\n textVariant,\n bgVariant,\n borderVariant\n } = props\n const $scopedSlots = scopedSlots || {}\n const $slots = slots()\n const slotScope = {}\n\n let $imgFirst = h()\n let $imgLast = h()\n if (props.imgSrc) {\n const $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n })\n\n if (props.imgBottom) {\n $imgLast = $img\n } else {\n $imgFirst = $img\n }\n }\n\n let $header = h()\n const hasHeaderSlot = hasNormalizedSlot('header', $scopedSlots, $slots)\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(\n BCardHeader,\n {\n props: pluckProps(headerProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n },\n normalizeSlot('header', slotScope, $scopedSlots, $slots)\n )\n }\n\n let $content = normalizeSlot('default', slotScope, $scopedSlots, $slots)\n\n // Wrap content in when `noBody` prop set\n if (!props.noBody) {\n $content = h(BCardBody, { props: pluckProps(bodyProps, props) }, $content)\n }\n\n let $footer = h()\n const hasFooterSlot = hasNormalizedSlot('footer', $scopedSlots, $slots)\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(\n BCardFooter,\n {\n props: pluckProps(footerProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n },\n normalizeSlot('footer', slotScope, $scopedSlots, $slots)\n )\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'card',\n class: {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart),\n [`text-${align}`]: align,\n [`bg-${bgVariant}`]: bgVariant,\n [`border-${borderVariant}`]: borderVariant,\n [`text-${textVariant}`]: 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 RX_ONLY_DIGITS = /^\\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 /* istanbul ignore next */\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 /* istanbul ignore next */\n this.observer && this.observer.disconnect()\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 (RX_ONLY_DIGITS.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 || null,\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 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 https://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 truly 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 {\n addClass,\n getActiveElement,\n reflow,\n removeClass,\n selectAll,\n setAttr\n} 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 { mathAbs, mathFloor, mathMax, mathMin } from '../../utils/math'\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) > 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.$_interval = null\n this.$_animationTimeout = null\n this.$_touchTimeout = null\n this.$_observer = null\n // Set initial paused state\n this.isPaused = !(toInteger(this.interval, 0) > 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 this.setObserver(true)\n },\n beforeDestroy() {\n this.clearInterval()\n this.clearAnimationTimeout()\n this.clearTouchTimeout()\n this.setObserver(false)\n },\n methods: {\n clearInterval() {\n clearInterval(this.$_interval)\n this.$_interval = null\n },\n clearAnimationTimeout() {\n clearTimeout(this.$_animationTimeout)\n this.$_animationTimeout = null\n },\n clearTouchTimeout() {\n clearTimeout(this.$_touchTimeout)\n this.$_touchTimeout = null\n },\n setObserver(on = false) {\n this.$_observer && this.$_observer.disconnect()\n this.$_observer = null\n if (on) {\n this.$_observer = observeDom(this.$refs.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n })\n }\n },\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 = mathFloor(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 this.clearInterval()\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 this.clearInterval()\n // Don't start if no interval, or less than 2 slides\n if (this.interval && this.numSlides > 1) {\n this.$_interval = setInterval(this.next, mathMax(1000, this.interval))\n }\n },\n // Restart auto rotate slides when focus/hover leaves the carousel\n /* istanbul ignore next */\n restart() /* istanbul ignore next: difficult to test */ {\n if (!this.$el.contains(getActiveElement())) {\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.clearAnimationTimeout()\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 = mathMax(0, mathMin(mathFloor(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 /* istanbul ignore next */\n handleSwipe() /* istanbul ignore next: JSDOM doesn't support touch events */ {\n const absDeltaX = mathAbs(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 /* istanbul ignore next */\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 /* istanbul ignore next */\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 /* istanbul ignore next */\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 this.clearTouchTimeout()\n this.$_touchTimeout = setTimeout(\n this.start,\n TOUCH_EVENT_COMPAT_WAIT + mathMax(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 { hasTouchSupport } from '../../utils/env'\nimport { htmlOrText } from '../../utils/html'\nimport { pluckProps, unprefixPropName } from '../../utils/props'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BImg } from '../image/img'\n\n// --- Props ---\n\nconst imgProps = {\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}\n\nexport const props = {\n ...imgProps,\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// --- Main component ---\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 let $img = this.normalizeSlot('img')\n if (!$img && (this.imgSrc || this.imgBlank)) {\n const on = {}\n // Touch support event handler\n /* istanbul ignore if: difficult to test in JSDOM */\n if (!this.bvCarousel.noTouch && hasTouchSupport) {\n on.dragstart = evt => {\n evt.preventDefault()\n }\n }\n\n $img = h(BImg, {\n props: {\n ...pluckProps(imgProps, this.$props, unprefixPropName.bind(null, 'img')),\n width: this.computedWidth,\n height: this.computedHeight,\n fluidGrow: true,\n block: true\n },\n on\n })\n }\n\n const $contentChildren = [\n // Caption\n this.caption || this.captionHtml\n ? h(this.captionTag, { domProps: htmlOrText(this.captionHtml, this.caption) })\n : false,\n // Text\n this.text || this.textHtml\n ? h(this.textTag, { domProps: htmlOrText(this.textHtml, this.text) })\n : false,\n // Children\n this.normalizeSlot('default') || false\n ]\n\n let $content = h()\n if ($contentChildren.some(Boolean)) {\n $content = h(\n this.contentTag,\n {\n staticClass: 'carousel-caption',\n class: this.contentClasses\n },\n $contentChildren.map($child => $child || 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 needed 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","// @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 */\n listenOnRoot(event, callback) {\n this.$root.$on(event, callback)\n this.$on('hook:beforeDestroy', () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Safely register a `$once()` event listener on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce(event, callback) {\n this.$root.$once(event, callback)\n this.$on('hook:beforeDestroy', () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `vm.$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot(event, ...args) {\n this.$root.$emit(event, ...args)\n }\n }\n}\n","import KeyCodes from '../../utils/key-codes'\nimport looseEqual from '../../utils/loose-equal'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport {\n addClass,\n getAttr,\n hasAttr,\n isDisabled,\n isTag,\n removeAttr,\n removeClass,\n setAttr\n} from '../../utils/dom'\nimport { isBrowser } from '../../utils/env'\nimport { eventOn, eventOff } from '../../utils/events'\nimport { isString } from '../../utils/inspect'\nimport { keys } from '../../utils/object'\n\n// --- Constants ---\n\nconst { ENTER, SPACE } = KeyCodes\n\n// Classes to apply to trigger element\nconst CLASS_BV_TOGGLE_COLLAPSED = 'collapsed'\nconst CLASS_BV_TOGGLE_NOT_COLLAPSED = 'not-collapsed'\n\n// Property key for handler storage\nconst BV_BASE = '__BV_toggle'\n// Root event listener property (Function)\nconst BV_TOGGLE_ROOT_HANDLER = `${BV_BASE}_HANDLER__`\n// Trigger element click handler property (Function)\nconst BV_TOGGLE_CLICK_HANDLER = `${BV_BASE}_CLICK__`\n// Target visibility state property (Boolean)\nconst BV_TOGGLE_STATE = `${BV_BASE}_STATE__`\n// Target ID list property (Array)\nconst BV_TOGGLE_TARGETS = `${BV_BASE}_TARGETS__`\n\n// Commonly used strings\nconst STRING_FALSE = 'false'\nconst STRING_TRUE = 'true'\n\n// Commonly used attribute names\nconst ATTR_ARIA_CONTROLS = 'aria-controls'\nconst ATTR_ARIA_EXPANDED = 'aria-expanded'\nconst ATTR_ROLE = 'role'\nconst ATTR_TABINDEX = 'tabindex'\n\n// Emitted control event for collapse (emitted to collapse)\nexport const EVENT_TOGGLE = 'bv::toggle::collapse'\n\n// Listen to event for toggle state update (emitted by collapse)\nexport const 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\nexport const EVENT_STATE_SYNC = 'bv::collapse::sync::state'\n// Private event we send to collapse to request state update sync event\nexport const EVENT_STATE_REQUEST = 'bv::request::collapse::state'\n\nconst KEYDOWN_KEY_CODES = [ENTER, SPACE]\n\nconst RX_HASH = /^#/\nconst RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/\nconst RX_SPLIT_SEPARATOR = /\\s+/\n\n// --- Helper methods ---\n\nconst isNonStandardTag = el => !arrayIncludes(['button', 'a'], el.tagName.toLowerCase())\n\nconst getTargets = ({ modifiers, arg, value }, el) => {\n // Any modifiers are considered target IDs\n const targets = keys(modifiers || {})\n\n // If value is a string, split out individual targets (if space delimited)\n value = isString(value) ? value.split(RX_SPLIT_SEPARATOR) : value\n\n // Support target ID as link href (`href=\"#id\"`)\n if (isTag(el.tagName, 'a')) {\n const href = getAttr(el, 'href') || ''\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''))\n }\n }\n\n // Add ID from `arg` (if provided), and support value\n // as a single string ID or an array of string IDs\n // If `value` is not an array or string, then it gets filtered out\n concat(arg, value).forEach(t => isString(t) && targets.push(t))\n\n // Return only unique and truthy target IDs\n return targets.filter((t, index, arr) => t && arr.indexOf(t) === index)\n}\n\nconst removeClickListener = el => {\n const handler = el[BV_TOGGLE_CLICK_HANDLER]\n if (handler) {\n eventOff(el, 'click', handler)\n eventOff(el, 'keydown', handler)\n }\n el[BV_TOGGLE_CLICK_HANDLER] = null\n}\n\nconst addClickListener = (el, vnode) => {\n removeClickListener(el)\n if (vnode.context) {\n const handler = evt => {\n if (\n !(evt.type === 'keydown' && !arrayIncludes(KEYDOWN_KEY_CODES, evt.keyCode)) &&\n !isDisabled(el)\n ) {\n const targets = el[BV_TOGGLE_TARGETS] || []\n targets.forEach(target => {\n vnode.context.$root.$emit(EVENT_TOGGLE, target)\n })\n }\n }\n el[BV_TOGGLE_CLICK_HANDLER] = handler\n eventOn(el, 'click', handler)\n if (isNonStandardTag(el)) {\n eventOn(el, 'keydown', handler)\n }\n }\n}\n\nconst removeRootListeners = (el, vnode) => {\n if (el[BV_TOGGLE_ROOT_HANDLER] && vnode.context) {\n vnode.context.$root.$off([EVENT_STATE, EVENT_STATE_SYNC], el[BV_TOGGLE_ROOT_HANDLER])\n }\n el[BV_TOGGLE_ROOT_HANDLER] = null\n}\n\nconst addRootListeners = (el, vnode) => {\n removeRootListeners(el, vnode)\n if (vnode.context) {\n const handler = (id, state) => {\n // `state` will be `true` if target is expanded\n if (arrayIncludes(el[BV_TOGGLE_TARGETS] || [], id)) {\n // Set/Clear 'collapsed' visibility class state\n el[BV_TOGGLE_STATE] = state\n // Set `aria-expanded` and class state on trigger element\n setToggleState(el, state)\n }\n }\n el[BV_TOGGLE_ROOT_HANDLER] = handler\n // Listen for toggle state changes (public) and sync (private)\n vnode.context.$root.$on([EVENT_STATE, EVENT_STATE_SYNC], handler)\n }\n}\n\nconst setToggleState = (el, state) => {\n // State refers to the visibility of the collapse/sidebar\n if (state) {\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED)\n addClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED)\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_TRUE)\n } else {\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED)\n addClass(el, CLASS_BV_TOGGLE_COLLAPSED)\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_FALSE)\n }\n}\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 directive updates\nconst handleUpdate = (el, binding, vnode) => {\n /* istanbul ignore next: should never happen */\n if (!isBrowser || !vnode.context) {\n return\n }\n\n // If element is not a button or link, we add `role=\"button\"`\n // and `tabindex=\"0\"` for accessibility reasons\n if (isNonStandardTag(el)) {\n if (!hasAttr(el, ATTR_ROLE)) {\n setAttr(el, ATTR_ROLE, 'button')\n }\n if (!hasAttr(el, ATTR_TABINDEX)) {\n setAttr(el, ATTR_TABINDEX, '0')\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 setToggleState(el, el[BV_TOGGLE_STATE])\n\n // Parse list of target IDs\n const targets = getTargets(binding, el)\n\n /* istanbul ignore else */\n // Ensure the `aria-controls` hasn't been overwritten\n // or removed when vnode updates\n if (targets.length) {\n setAttr(el, ATTR_ARIA_CONTROLS, targets.join(' '))\n } else {\n removeAttr(el, ATTR_ARIA_CONTROLS)\n }\n\n // Add/Update our click listener(s)\n addClickListener(el, vnode)\n\n // If targets array has changed, update\n if (!looseEqual(targets, el[BV_TOGGLE_TARGETS])) {\n // Update targets array to element storage\n el[BV_TOGGLE_TARGETS] = targets\n // Ensure `aria-controls` is up to date\n // Request a state update from targets so that we can\n // ensure expanded state is correct (in most cases)\n targets.forEach(target => {\n vnode.context.$root.$emit(EVENT_STATE_REQUEST, target)\n })\n }\n}\n\n/*\n * Export our directive\n */\nexport const VBToggle = {\n bind(el, binding, vnode) {\n // State is initially collapsed until we receive a state event\n el[BV_TOGGLE_STATE] = false\n // Assume no targets initially\n el[BV_TOGGLE_TARGETS] = []\n // Add our root listeners\n addRootListeners(el, vnode)\n // Initial update of trigger\n handleUpdate(el, binding, vnode)\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind(el, binding, vnode) {\n removeClickListener(el)\n // Remove our $root listener\n removeRootListeners(el, vnode)\n // Reset custom props\n resetProp(el, BV_TOGGLE_ROOT_HANDLER)\n resetProp(el, BV_TOGGLE_CLICK_HANDLER)\n resetProp(el, BV_TOGGLE_STATE)\n resetProp(el, BV_TOGGLE_TARGETS)\n // Reset classes/attrs\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED)\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED)\n removeAttr(el, ATTR_ARIA_EXPANDED)\n removeAttr(el, ATTR_ARIA_CONTROLS)\n removeAttr(el, ATTR_ROLE)\n }\n}\n","import Vue from '../../utils/vue'\nimport { BVCollapse } from '../../utils/bv-collapse'\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom'\nimport { isBrowser } from '../../utils/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOnOff } from '../../utils/events'\nimport idMixin from '../../mixins/id'\nimport listenOnRootMixin from '../../mixins/listen-on-root'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport {\n EVENT_TOGGLE,\n EVENT_STATE,\n EVENT_STATE_REQUEST,\n EVENT_STATE_SYNC\n} from '../../directives/toggle/toggle'\n\n// --- Constants ---\n\n// Accordion event name we emit on `$root`\nconst EVENT_ACCORDION = 'bv::collapse::accordion'\n\n// --- Main component ---\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 /* istanbul ignore next */\n deactivated() /* istanbul ignore next */ {\n if (this.isNav) {\n this.setWindowEvents(false)\n }\n },\n /* istanbul ignore next */\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.emitOnRoot(EVENT_STATE, this.safeId(), this.show)\n if (this.accordion && this.show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(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.emitOnRoot(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 { VBToggle } from './toggle'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst VBTogglePlugin = /*#__PURE__*/ pluginFactory({\n directives: { VBToggle }\n})\n\nexport { VBTogglePlugin, VBToggle }\n","import { BCollapse } from './collapse'\nimport { VBTogglePlugin } from '../../directives/toggle'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst CollapsePlugin = /*#__PURE__*/ pluginFactory({\n components: { BCollapse },\n plugins: { VBTogglePlugin }\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 { attemptFocus, 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\nexport const commonProps = {\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\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 ...commonProps\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 private non-reactive props\n this.$_popper = null\n },\n /* istanbul ignore next */\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 // Ensure popper event listeners are removed cleanly\n destroyPopper() {\n this.$_popper && this.$_popper.destroy()\n this.$_popper = null\n },\n // Instructs popper to re-computes the dropdown position\n // useful if the content changes size\n updatePopper() /* istanbul ignore next: not easy to test */ {\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 /* istanbul ignore next */\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(index, items) {\n const el = items.find((el, i) => i === index)\n attemptFocus(el)\n },\n getItems() {\n // Get all items\n return filterVisibles(selectAll(Selector.ITEM_SELECTOR, this.$refs.menu))\n },\n focusMenu() {\n attemptFocus(this.$refs.menu)\n },\n focusToggler() {\n this.$nextTick(() => {\n attemptFocus(this.toggler)\n })\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { arrayIncludes } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { htmlOrText } from '../../utils/html'\nimport dropdownMixin from '../../mixins/dropdown'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BButton } from '../button/button'\n\n// --- Constants ---\n\nconst NAME = 'BDropdown'\n\n// --- Props ---\n\nexport const props = {\n text: {\n // Button label\n type: String,\n default: ''\n },\n html: {\n // Button label\n type: String\n // default: undefined\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n size: {\n type: String,\n default: () => getComponentConfig(NAME, 'size')\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// --- Main component ---\n// @vue/component\nexport const BDropdown = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props,\n computed: {\n dropdownClasses() {\n const { block, split, boundary } = this\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': split || !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': block && 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': boundary !== 'scrollParent' || !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 const { split } = this\n return [\n this.toggleClass,\n {\n 'dropdown-toggle-split': split,\n 'dropdown-toggle-no-caret': this.noCaret && !split\n }\n ]\n }\n },\n render(h) {\n const { variant, size, block, disabled, split, role } = this\n const commonProps = { variant, size, block, disabled }\n\n const $buttonContent = this.normalizeSlot('button-content')\n const buttonContentProps = this.hasNormalizedSlot('button-content')\n ? {}\n : htmlOrText(this.html, this.text)\n\n let $split = h()\n if (split) {\n const { splitTo, splitHref, splitButtonType } = this\n const btnProps = {\n ...commonProps,\n variant: this.splitVariant || this.variant\n }\n // We add these as needed due to issues with\n // defined property with `undefined`/`null` values\n if (splitTo) {\n btnProps.to = splitTo\n } else if (splitHref) {\n btnProps.href = splitHref\n } else if (splitButtonType) {\n btnProps.type = splitButtonType\n }\n $split = h(\n BButton,\n {\n class: this.splitClass,\n attrs: { id: this.safeId('_BV_button_') },\n props: btnProps,\n domProps: buttonContentProps,\n on: { click: this.onSplitClick },\n ref: 'button'\n },\n [$buttonContent]\n )\n }\n\n const $toggle = h(\n BButton,\n {\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n props: {\n ...commonProps,\n tag: this.toggleTag,\n block: block && !split\n },\n domProps: split ? {} : buttonContentProps,\n on: {\n mousedown: this.onMousedown,\n click: this.toggle,\n keydown: this.toggle // Handle ENTER, SPACE and DOWN\n },\n ref: 'toggle'\n },\n [split ? h('span', { class: ['sr-only'] }, [this.toggleText]) : $buttonContent]\n )\n\n const $menu = h(\n 'ul',\n {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n },\n ref: 'menu'\n },\n !this.lazy || this.visible ? this.normalizeSlot('default', { hide: this.hide }) : [h()]\n )\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 { omit } from '../../utils/object'\nimport attrsMixin from '../../mixins/attrs'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BLink, props as BLinkProps } from '../link/link'\n\nexport const props = omit(BLinkProps, ['event', 'routerTag'])\n\n// @vue/component\nexport const BDropdownItem = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownItem',\n mixins: [attrsMixin, normalizeSlotMixin],\n inheritAttrs: false,\n inject: {\n bvDropdown: {\n default: null\n }\n },\n props: {\n ...props,\n linkClass: {\n type: [String, Array, Object],\n default: null\n },\n variant: {\n type: String,\n default: null\n }\n },\n computed: {\n computedAttrs() {\n return {\n ...this.bvAttrs,\n role: 'menuitem'\n }\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 this.linkClass,\n {\n [`text-${this.variant}`]: this.variant && !(this.active || this.disabled)\n }\n ],\n attrs: this.computedAttrs,\n on: { click: this.onClick },\n ref: 'item'\n },\n this.normalizeSlot('default')\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport attrsMixin from '../../mixins/attrs'\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 buttonClass: {\n type: [String, Array, Object]\n // default: null\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: [attrsMixin, normalizeSlotMixin],\n inheritAttrs: false,\n inject: {\n bvDropdown: {\n default: null\n }\n },\n props,\n computed: {\n computedAttrs() {\n return {\n ...this.bvAttrs,\n role: 'menuitem',\n type: 'button',\n disabled: this.disabled\n }\n }\n },\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.buttonClass,\n {\n [this.activeClass]: this.active,\n [`text-${this.variant}`]: this.variant && !(this.active || this.disabled)\n }\n ],\n attrs: this.computedAttrs,\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'\nimport identity from '../../utils/identity'\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(identity)\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 return this.normalizeOptions(this.options)\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 `