{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/es/components/link/link.js","webpack:///./node_modules/bootstrap-vue/es/components/button/button-close.js","webpack:///./node_modules/bootstrap-vue/es/components/alert/alert.js","webpack:///./node_modules/bootstrap-vue/es/components/alert/index.js","webpack:///./node_modules/bootstrap-vue/es/components/badge/badge.js","webpack:///./node_modules/bootstrap-vue/es/components/badge/index.js","webpack:///./node_modules/bootstrap-vue/es/components/breadcrumb/breadcrumb-link.js","webpack:///./node_modules/bootstrap-vue/es/components/breadcrumb/breadcrumb-item.js","webpack:///./node_modules/bootstrap-vue/es/components/breadcrumb/breadcrumb.js","webpack:///./node_modules/bootstrap-vue/es/components/breadcrumb/index.js","webpack:///./node_modules/bootstrap-vue/es/components/button/button.js","webpack:///./node_modules/bootstrap-vue/es/components/button/index.js","webpack:///./node_modules/bootstrap-vue/es/components/button-group/button-group.js","webpack:///./node_modules/bootstrap-vue/es/components/button-group/index.js","webpack:///./node_modules/bootstrap-vue/es/components/button-toolbar/button-toolbar.js","webpack:///./node_modules/bootstrap-vue/es/components/button-toolbar/index.js","webpack:///./node_modules/bootstrap-vue/es/components/input-group/input-group-text.js","webpack:///./node_modules/bootstrap-vue/es/components/input-group/input-group-addon.js","webpack:///./node_modules/bootstrap-vue/es/components/input-group/input-group-prepend.js","webpack:///./node_modules/bootstrap-vue/es/components/input-group/input-group-append.js","webpack:///./node_modules/bootstrap-vue/es/components/input-group/input-group.js","webpack:///./node_modules/bootstrap-vue/es/components/input-group/index.js","webpack:///./node_modules/bootstrap-vue/es/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/es/components/card/card-header.js","webpack:///./node_modules/bootstrap-vue/es/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/es/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/es/components/card/card.js","webpack:///./node_modules/bootstrap-vue/es/components/card/card-group.js","webpack:///./node_modules/bootstrap-vue/es/components/card/index.js","webpack:///./node_modules/bootstrap-vue/es/components/carousel/carousel.js","webpack:///./node_modules/bootstrap-vue/es/components/image/img.js","webpack:///./node_modules/bootstrap-vue/es/components/carousel/carousel-slide.js","webpack:///./node_modules/bootstrap-vue/es/components/carousel/index.js","webpack:///./node_modules/bootstrap-vue/es/components/layout/container.js","webpack:///./node_modules/bootstrap-vue/es/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/es/components/layout/col.js","webpack:///./node_modules/bootstrap-vue/es/components/layout/form-row.js","webpack:///./node_modules/bootstrap-vue/es/components/layout/index.js","webpack:///./node_modules/bootstrap-vue/es/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/es/components/collapse/index.js","webpack:///./node_modules/bootstrap-vue/es/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/es/components/dropdown/dropdown-item.js","webpack:///./node_modules/bootstrap-vue/es/components/dropdown/dropdown-item-button.js","webpack:///./node_modules/bootstrap-vue/es/components/dropdown/dropdown-header.js","webpack:///./node_modules/bootstrap-vue/es/components/dropdown/dropdown-divider.js","webpack:///./node_modules/bootstrap-vue/es/components/dropdown/index.js","webpack:///./node_modules/bootstrap-vue/es/components/embed/embed.js","webpack:///./node_modules/bootstrap-vue/es/components/embed/index.js","webpack:///./node_modules/bootstrap-vue/es/components/form/form.js","webpack:///./node_modules/bootstrap-vue/es/components/form/form-row.js","webpack:///./node_modules/bootstrap-vue/es/components/form/form-text.js","webpack:///./node_modules/bootstrap-vue/es/components/form/form-invalid-feedback.js","webpack:///./node_modules/bootstrap-vue/es/components/form/form-valid-feedback.js","webpack:///./node_modules/bootstrap-vue/es/components/form/index.js","webpack:///./node_modules/bootstrap-vue/es/components/form-group/form-group.js","webpack:///./node_modules/bootstrap-vue/es/components/form-group/index.js","webpack:///./node_modules/bootstrap-vue/es/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/es/components/form-checkbox/form-checkbox-group.js","webpack:///./node_modules/bootstrap-vue/es/components/form-checkbox/index.js","webpack:///./node_modules/bootstrap-vue/es/components/form-radio/form-radio.js","webpack:///./node_modules/bootstrap-vue/es/components/form-radio/form-radio-group.js","webpack:///./node_modules/bootstrap-vue/es/components/form-radio/index.js","webpack:///./node_modules/bootstrap-vue/es/components/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/es/components/form-input/index.js","webpack:///./node_modules/bootstrap-vue/es/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/es/components/form-textarea/index.js","webpack:///./node_modules/bootstrap-vue/es/components/form-file/form-file.js","webpack:///./node_modules/bootstrap-vue/es/components/form-file/index.js","webpack:///./node_modules/bootstrap-vue/es/components/form-select/form-select.js","webpack:///./node_modules/bootstrap-vue/es/components/form-select/index.js","webpack:///./node_modules/bootstrap-vue/es/components/image/img-lazy.js","webpack:///./node_modules/bootstrap-vue/es/components/image/index.js","webpack:///./node_modules/bootstrap-vue/es/components/jumbotron/jumbotron.js","webpack:///./node_modules/bootstrap-vue/es/components/jumbotron/index.js","webpack:///./node_modules/bootstrap-vue/es/components/link/index.js","webpack:///./node_modules/bootstrap-vue/es/components/list-group/list-group.js","webpack:///./node_modules/bootstrap-vue/es/components/list-group/list-group-item.js","webpack:///./node_modules/bootstrap-vue/es/components/list-group/index.js","webpack:///./node_modules/bootstrap-vue/es/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/es/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/es/components/media/media.js","webpack:///./node_modules/bootstrap-vue/es/components/media/index.js","webpack:///./node_modules/bootstrap-vue/es/components/modal/modal.js","webpack:///./node_modules/bootstrap-vue/es/components/modal/index.js","webpack:///./node_modules/bootstrap-vue/es/components/nav/nav.js","webpack:///./node_modules/bootstrap-vue/es/components/nav/nav-item.js","webpack:///./node_modules/bootstrap-vue/es/components/nav/nav-text.js","webpack:///./node_modules/bootstrap-vue/es/components/nav/nav-form.js","webpack:///./node_modules/bootstrap-vue/es/components/nav/nav-item-dropdown.js","webpack:///./node_modules/bootstrap-vue/es/components/nav/index.js","webpack:///./node_modules/bootstrap-vue/es/components/navbar/navbar.js","webpack:///./node_modules/bootstrap-vue/es/components/navbar/navbar-nav.js","webpack:///./node_modules/bootstrap-vue/es/components/navbar/navbar-brand.js","webpack:///./node_modules/bootstrap-vue/es/components/navbar/navbar-toggle.js","webpack:///./node_modules/bootstrap-vue/es/components/navbar/index.js","webpack:///./node_modules/bootstrap-vue/es/components/pagination/pagination.js","webpack:///./node_modules/bootstrap-vue/es/components/pagination/index.js","webpack:///./node_modules/bootstrap-vue/es/components/pagination-nav/pagination-nav.js","webpack:///./node_modules/bootstrap-vue/es/components/pagination-nav/index.js","webpack:///./node_modules/bootstrap-vue/es/components/popover/popover.js","webpack:///./node_modules/bootstrap-vue/es/components/popover/index.js","webpack:///./node_modules/bootstrap-vue/es/components/progress/progress-bar.js","webpack:///./node_modules/bootstrap-vue/es/components/progress/progress.js","webpack:///./node_modules/bootstrap-vue/es/components/progress/index.js","webpack:///./node_modules/bootstrap-vue/es/components/table/table.js","webpack:///./node_modules/bootstrap-vue/es/components/table/index.js","webpack:///./node_modules/bootstrap-vue/es/components/tabs/tabs.js","webpack:///./node_modules/bootstrap-vue/es/components/tabs/tab.js","webpack:///./node_modules/bootstrap-vue/es/components/tabs/index.js","webpack:///./node_modules/bootstrap-vue/es/components/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/es/components/tooltip/index.js","webpack:///./node_modules/bootstrap-vue/es/components/index.js"],"names":["_typeof","Symbol","iterator","obj","constructor","prototype","propsFactory","href","type","String","default","rel","target","active","Boolean","activeClass","append","disabled","event","Array","exact","exactActiveClass","replace","routerTag","to","Object","pickLinkProps","propsToPick","freshLinkProps","reduce","memo","prop","computeTag","props","parent","$router","computeHref","_ref","tag","path","computeRel","_ref2","clickHandlerFactory","_ref3","suppliedHandler","isRouterLink","e","Event","stopPropagation","stopImmediatePropagation","$root","$emit","__vue__","apply","undefined","arguments","preventDefault","functional","render","h","_ref4","data","children","eventType","click","handlers","componentData","class","attrs","tabindex","_defineProperty","key","value","defineProperty","enumerable","configurable","writable","ariaLabel","textVariant","slots","listeners","staticClass","on","domProps","innerHTML","components","bButtonClose","this","localShow","dismissBtn","dismissible","dismissLabel","dismiss","$slots","alert","classObject","role","fade","name","appear","model","countDownTimerId","dismissed","computed","alertVariant","variant","show","Number","watch","showChanged","mounted","destroyed","clearCounter","methods","clearInterval","_this","dismissCountDown","setInterval","bAlert","VuePlugin","install","Vue","pill","bBadge","text","ariaCurrent","suppliedProps","items","childNodes","activeDefined","map","item","idx","length","bBreadcrumb","bBreadcrumbItem","bBreadcrumbLink","btnProps","block","size","pressed","linkPropKeys","handleFocus","evt","isLink","isToggle","forEach","fn","focusin","focusout","bButton","bBtn","bBtnClose","vertical","validator","array","ariaRole","bButtonGroup","bBtnGroup","ITEM_SELECTOR","join","keyNav","onFocusin","keydown","onKeydown","justify","$el","focusFirst","keyCode","shift","shiftKey","UP","LEFT","focusNext","DOWN","RIGHT","focusLast","setItemFocus","$nextTick","focus","prev","getItems","index","indexOf","tabIndex","filter","el","bButtonToolbar","bBtnToolbar","id","isText","prepend","push","bInputGroup","bInputGroupAddon","bInputGroupPrepend","bInputGroupAppend","bInputGroupText","copyProps","bind","bodyClass","title","titleTag","subTitle","subTitleTag","overlay","cardBodyChildren","bodyTag","bodyBgVariant","bodyBorderVariant","bodyTextVariant","header","headerClass","headerTag","headerBgVariant","headerBorderVariant","headerTextVariant","footer","footerClass","footerTag","footerBgVariant","footerBorderVariant","footerTextVariant","src","required","alt","top","bottom","fluid","cardImgProps","imgSrc","align","noBody","_class","img","imgTop","imgBottom","bgVariant","borderVariant","deck","columns","bCard","bCardHeader","bCardBody","bCardFooter","bCardImg","bCardGroup","DIRECTION","next","dirClass","overlayClass","TRANS_DURATION","TransitionEndEvents","WebkitTransition","MozTransition","OTransition","transition","getTransisionEndEvent","style","mixins","inner","ref","safeId","controls","SPACE","ENTER","labelPrev","labelNext","indicators","directives","rawName","expression","labelIndicators","slides","slide","n","labelGotoSlide","setSlide","background","isSliding","mouseenter","pause","mouseleave","restart","intervalId","transitionEndEvent","direction","interval","imgWidth","imgHeight","isCycling","_this2","document","visibilityState","hidden","len","$once","Math","floor","start","_this3","max","contains","activeElement","updateSlides","$refs","numSlides","min","calcDirection","curIndex","nextIndex","newVal","oldVal","val","_this4","currentSlide","nextSlide","classList","add","called","onceTransEnd","events","split","_animationTimeout","setTimeout","created","subtree","childList","attributes","attributeFilter","beforeDestroy","clearTimeout","BLANK_TEMPLATE","makeBlankImgSrc","width","height","color","encodeURIComponent","fluidGrow","rounded","thumbnail","left","right","center","blank","blankColor","parseInt","bImg","imgBlank","imgBlankColor","computedWidth","computedHeight","imgAlt","content","contentTag","contentClasses","caption","captionTag","textTag","warn","contentVisibleUp","$parent","bCarousel","bCarouselSlide","COMMON_ALIGNMENT","noGutters","alignV","str","concat","alignH","alignContent","boolStrNum","strNum","computeBkPtClass","memoize","breakpoint","className","toLowerCase","BREAKPOINTS","breakpointCol","propMap","breakpointOffset","breakpointOrder","breakpointPropMap","col","offset","order","cols","alignSelf","_classList$push","_keys","i","c","bContainer","bRow","bCol","bFormRow","EVENT_STATE","EVENT_ACCORDION","EVENT_TOGGLE","clickHandler","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","enter","onEnter","afterEnter","onAfterEnter","leave","onLeave","afterLeave","onAfterLeave","visible","transitioning","isNav","accordion","emitState","toggle","scrollHeight","display","getBoundingClientRect","getComputedStyle","handleToggleEvt","handleAccordionEvt","openedId","handleResize","listenOnRoot","window","addEventListener","removeEventListener","bCollapse","use","dropdown","toggleClasses","toggleText","menu","menuClasses","mouseover","onMouseOver","dropdownClasses","menuClass","toggleClass","noCaret","boundary","position","dropup","bDropdown","bDd","bDropdownItem","bDdItem","bDropdownItemButton","bDropdownItemBtn","bDdItemButton","bDdItemBtn","bDropdownHeader","bDdHeader","bDropdownDivider","bDdDivider","aspect","bEmbed","inline","novalidate","validated","forceShow","bForm","bFormText","bFormInvalidFeedback","bFormFeedback","bFormValidFeedback","SELECTOR","legend","hasLabel","legendTag","labelFor","legendDomProps","label","legendAttrs","labelId","for","legendClick","labelSrOnly","horizontal","labelLayoutClasses","labelClasses","invalidFeedback","hasInvalidFeedback","feedback","invalidFeedbackId","computedState","validFeedback","hasValidFeedback","_domProps","validFeedbackId","description","hasDescription","_domProps2","descriptionId","inputLayoutClasses","groupClasses","describedByIds","labelCols","labelTextAlign","labelSize","labelClass","stateClass","remove","setInputDescribedBy","tagName","test","inputs","input","adb","ids","trim","bFormGroup","bFormFieldset","is_ButtonMode","is_Plain","get_StateClass","computedLocalChecked","get_Name","is_Disabled","is_Required","autocomplete","uncheckedValue","checked","is_Checked","blur","change","emitChange","__c","$$a","$$el","$$v","$$i","_i","slice","buttonClasses","is_Stacked","indeterminate","get_Size","check","is_Child","setIndeterminate","state","bFormCheckbox","checks","formOptions","option","computedAriaInvalid","first","localChecked","is_RadioCheckGroup","ariaInvalid","stacked","buttons","buttonVariant","sizeFormClass","custom","get_State","bCheckbox","bCheck","bFormCheckboxGroup","bCheckboxGroup","bCheckGroup","computedLocalChceked","bFormRadio","radios","bRadio","bFormRadioGroup","bRadioGroup","TYPES","inputClass","localType","readonly","plaintext","placeholder","onInput","onChange","formatter","Function","lazyFormatter","fValue","format","setValue","bFormInput","bInput","inputStyle","localValue","rows","rowsCount","wrap","maxRows","noResize","lines","toString","resize","bFormTextarea","bTextarea","plain","hasFocus","capture","accept","multiple","webkitdirectory","directory","onFileChange","focusHandler","dragging","selectLabel","dragover","selectedFile","noTraverse","noDrop","file","reset","dataTransfer","setFiles","files","queue","webkitGetAsEntry","traverseFileTree","Promise","all","then","filesArr","filesArray","match","dropEffect","dragleave","drop","resolve","isFile","$path","isDirectory","createReader","readEntries","entries","bFormFile","bFile","options","computedSelectSize","selectedVal","o","selected","_value","selectSize","bFormSelect","bSelect","THROTTLE","computedSrc","computedBlank","isShown","scrollTimeout","blankSrc","blankWidth","blankHeight","throttle","setListeners","checkView","activated","deactivated","beforeDdestroy","scrollTimer","root","onScroll","docElement","documentElement","view","l","t","b","clientHeight","r","clientWidth","box","bImgLazy","containerFluid","headerLevel","lead","leadTag","_class2","bJumbotron","bLink","flush","actionTags","action","button","isAction","bListGroup","bListGroupItem","verticalAlign","rightAlign","aside","bMedia","bMediaAside","bMediaBody","Selector","FIXED_CONTENT","STICKY_CONTENT","NAVBAR_TOGGLER","OBSERVER_CONFIG","characterData","hideHeader","modalHeader","closeButton","hideHeaderClose","is_transitioning","headerCloseLabel","hide","headerClasses","body","bodyClasses","hideFooter","modalFooter","cancelButton","okOnly","cancelVariant","buttonSize","cancelDisabled","busy","cancelTitle","okButton","okVariant","okDisabled","okTitle","footerClasses","modalContent","onFocusout","modalDialog","dialogClasses","modal","modalClasses","is_visible","onClickOut","onEsc","onBeforeEnter","onBeforeLeave","backdrop","hideBackdrop","backdropClasses","outer","is_hidden","lazy","is_show","is_block","scrollbarWidth","isBodyOverflowing","return_focus","returnFocus","centered","noFade","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","modalClass","showEvt","cancelable","vueTarget","relatedTarget","emitEvent","defaultPrevented","doShow","trigger","hideEvt","isOK","cancel","_observer","disconnect","adjustDialog","checkScrollbar","setScrollbar","setResizeEvent","scrollTop","shownEvt","resetAdjustments","resetScrollbar","returnFocusTo","hiddenEvt","bvEvt","ESC","_this5","evtName","showHandler","triggerEl","hideHandler","modalListener","getScrollbarWidth","scrollDiv","createElement","appendChild","removeChild","isModalOverflowing","paddingLeft","paddingRight","rect","innerWidth","computedStyle","actualPadding","calculatedPadding","parseFloat","actualMargin","marginRight","calculatedMargin","bModal","fill","justified","tabs","pills","isNavBar","extraToggleClasses","extraMenuClasses","bNav","bNavItem","bNavText","bNavForm","bNavItemDropdown","bNavItemDd","bNavDropdown","bNavDd","toggleable","toggleBreakpoint","fixed","sticky","toggleState","onClick","handleStateEvt","bNavbar","bNavbarNav","bNavbarBrand","bNavbarToggle","bNavToggle","perPage","totalRows","ariaControls","pagination","numberOfPages","result","ceil","num","currentPage","focusCurrent","makePage","pagenum","linkProps","bPagination","routerProps","baseUrl","useRouter","linkGen","pageGen","pageNum","makeLink","link","bPaginationNav","toolpop","triggers","placement","createToolpop","getTarget","_toolpop","getConfig","bPopover","computedShowProgress","progress","toFixed","computedPrecision","computedShowValue","progressBarClasses","progressBarStyles","computedMax","computedVariant","computedStriped","computedAnimated","p","pow","round","precision","striped","animated","showProgress","showValue","bProgressBar","progressHeight","bProgress","v","k","recToString","defaultSortCompare","a","sortBy","localeCompare","numeric","processField","field","$scoped","$scopedSlots","fields","computedFields","computedItems","captionStyles","colgroup","makeHeadCells","isFoot","colIndex","fieldClasses","thStyle","sortable","abbr","headerAbbr","headerTitle","localSortDesc","localSortBy","labelSortAsc","labelSortDesc","headClicked","slot","column","thead","isStacked","headClasses","theadTrClass","tfoot","footClone","footClasses","tfootTrClass","tbodyTrClass","rowIndex","detailsSlot","rowShowDetails","_showDetails","detailsId","toggleDetailsFn","$set","tds","tdClasses","tdAttrs","unformatted","getFormattedValue","toggleDetails","detailsShowing","formatted","isRowHeader","ariaRowIndex","rowClasses","rowClicked","dblclick","rowDblClicked","rowHovered","colspan","trAttrs","details","showEmpty","empty","emptyFilteredText","emptyText","tbody","table","tableClasses","computedBusy","$attrs","isResponsive","responsiveClass","sortDesc","localItems","filteredItems","localBusy","sortDirection","captionTop","bordered","outlined","dark","inverse","hover","small","responsive","headVariant","footVariant","theadClass","tbodyClass","tfootClass","RegExp","sortCompare","noLocalSorting","noProviderPaging","noProviderSorting","noProviderFiltering","noSortReset","apiUrl","_providerUpdate","context","localFiltering","hasProvider","captionSide","localSorting","localPaging","f","sample","ignoredKeys","includes","regex","lastIndex","ret","keys","thClass","cellVariant","_cellVariants","getTdValues","tdClass","tdAttr","_rowVariant","stopIfBusy","sortChanged","toggleLocalSortDesc","refresh","_providerSetLocal","emitOnRoot","tdValue","defValue","bTable","bTabButtonHelper","posInSet","setSize","linkClass","itemClass","noKeyNav","handleClick","stop","tab","controlledBy","localActive","titleLinkClass","titleItemClass","setTab","navs","navStyle","noNavStyle","card","navClass","onKeynav","end","navWrapperClass","contentClass","row","currentTab","old","sign","x","previousTab","nextTab","force","updateTabs","$children","child","_isTab","tabsContainer","computedLazy","tabClasses","mode","beforeEnter","beforeLeave","requestAnimationFrame","computedFade","buttonId","headHtml","bTabs","bTab","bTooltip"],"mappings":"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","file":"js/chunk-vendors~6549ae0f.8e0ac2c3.js","sourcesContent":["var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { assign, keys } from '../../utils/object';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { mergeData } from 'vue-functional-data-merge';\n\n/**\n * The Link component is used in many other BV components.\n * As such, sharing its props makes supporting all its features easier.\n * However, some components need to modify the defaults for their own purpose.\n * Prefer sharing a fresh copy of the props to ensure mutations\n * do not affect other component references to the props.\n *\n * https://github.com/vuejs/vue-router/blob/dev/src/components/link.js\n * @return {{}}\n */\nexport function propsFactory() {\n return {\n href: {\n type: String,\n default: null\n },\n rel: {\n type: String,\n default: null\n },\n target: {\n type: String,\n default: '_self'\n },\n active: {\n type: Boolean,\n default: false\n },\n activeClass: {\n type: String,\n default: 'active'\n },\n append: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n event: {\n type: [String, Array],\n default: 'click'\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactActiveClass: {\n type: String,\n default: 'active'\n },\n replace: {\n type: Boolean,\n default: false\n },\n routerTag: {\n type: String,\n default: 'a'\n },\n to: {\n type: [String, Object],\n default: null\n }\n };\n}\n\nexport var props = propsFactory();\n\nexport function pickLinkProps(propsToPick) {\n var freshLinkProps = propsFactory();\n // Normalize everything to array.\n propsToPick = concat(propsToPick);\n\n return keys(freshLinkProps).reduce(function (memo, prop) {\n if (arrayIncludes(propsToPick, prop)) {\n memo[prop] = freshLinkProps[prop];\n }\n\n return memo;\n }, {});\n}\n\nexport function omitLinkProps(propsToOmit) {\n var freshLinkProps = propsFactory();\n // Normalize everything to array.\n propsToOmit = concat(propsToOmit);\n\n return keys(props).reduce(function (memo, prop) {\n if (!arrayIncludes(propsToOmit, prop)) {\n memo[prop] = freshLinkProps[prop];\n }\n\n return memo;\n }, {});\n}\n\nexport var computed = {\n linkProps: function linkProps() {\n var linkProps = {};\n var propKeys = keys(props);\n\n for (var i = 0; i < propKeys.length; i++) {\n var prop = propKeys[i];\n // Computed Vue getters are bound to the instance.\n linkProps[prop] = this[prop];\n }\n\n return linkProps;\n }\n};\n\nfunction computeTag(props, parent) {\n return Boolean(parent.$router) && props.to && !props.disabled ? 'router-link' : 'a';\n}\n\nfunction computeHref(_ref, tag) {\n var disabled = _ref.disabled,\n href = _ref.href,\n to = _ref.to;\n\n // We've already checked the parent.$router in computeTag,\n // so router-link means live router.\n // When deferring to Vue Router's router-link,\n // don't use the href attr at all.\n // Must return undefined for router-link to populate href.\n if (tag === 'router-link') return void 0;\n // If href explicitly provided\n if (href) return href;\n // Reconstruct href when `to` used, but no router\n if (to) {\n // Fallback to `to` prop (if `to` is a string)\n if (typeof to === 'string') return to;\n // Fallback to `to.path` prop (if `to` is an object)\n if ((typeof to === 'undefined' ? 'undefined' : _typeof(to)) === 'object' && typeof to.path === 'string') return to.path;\n }\n // If nothing is provided use '#'\n return '#';\n}\n\nfunction computeRel(_ref2) {\n var target = _ref2.target,\n rel = _ref2.rel;\n\n if (target === '_blank' && rel === null) {\n return 'noopener';\n }\n return rel || null;\n}\n\nfunction clickHandlerFactory(_ref3) {\n var disabled = _ref3.disabled,\n tag = _ref3.tag,\n href = _ref3.href,\n suppliedHandler = _ref3.suppliedHandler,\n parent = _ref3.parent;\n\n var isRouterLink = tag === 'router-link';\n\n return function onClick(e) {\n if (disabled && e instanceof Event) {\n // Stop event from bubbling up.\n e.stopPropagation();\n // Kill the event loop attached to this specific EventTarget.\n e.stopImmediatePropagation();\n } else {\n parent.$root.$emit('clicked::link', e);\n\n if (isRouterLink && e.target.__vue__) {\n e.target.__vue__.$emit('click', e);\n }\n if (typeof suppliedHandler === 'function') {\n suppliedHandler.apply(undefined, arguments);\n }\n }\n\n if (!isRouterLink && href === '#' || disabled) {\n // Stop scroll-to-top behavior or navigation.\n e.preventDefault();\n }\n };\n}\n\nexport default {\n functional: true,\n props: propsFactory(),\n render: function render(h, _ref4) {\n var props = _ref4.props,\n data = _ref4.data,\n parent = _ref4.parent,\n children = _ref4.children;\n\n var tag = computeTag(props, parent);\n var rel = computeRel(props);\n var href = computeHref(props, tag);\n var eventType = tag === 'router-link' ? 'nativeOn' : 'on';\n var suppliedHandler = (data[eventType] || {}).click;\n var handlers = { click: clickHandlerFactory({ tag: tag, href: href, disabled: props.disabled, suppliedHandler: suppliedHandler, parent: parent }) };\n\n var componentData = mergeData(data, {\n class: [props.active ? props.exact ? props.exactActiveClass : props.activeClass : null, { disabled: props.disabled }],\n attrs: {\n rel: rel,\n href: href,\n target: props.target,\n tabindex: props.disabled ? '-1' : data.attrs ? data.attrs.tabindex : null,\n 'aria-disabled': tag === 'a' && props.disabled ? 'true' : null\n },\n props: assign(props, { tag: props.routerTag })\n });\n\n // If href prop exists on router-link (even undefined or null) it fails working on SSR\n if (!componentData.attrs.href) {\n delete componentData.attrs.href;\n }\n\n // We want to overwrite any click handler since our callback\n // will invoke the supplied handler if !props.disabled\n componentData[eventType] = assign(componentData[eventType] || {}, handlers);\n\n return h(tag, componentData, children);\n }\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nvar props = {\n disabled: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: 'Close'\n },\n textVariant: {\n type: String,\n default: null\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n slots = _ref.slots;\n\n var componentData = {\n staticClass: 'close',\n class: _defineProperty({}, 'text-' + props.textVariant, props.textVariant),\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click: function click(e) {\n // Ensure click on button HTML content is also disabled\n if (props.disabled && e instanceof Event) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n }\n // Careful not to override the slot with innerHTML\n };if (!slots().default) {\n componentData.domProps = { innerHTML: '×' };\n }\n return h('button', mergeData(data, componentData), slots().default);\n }\n};","import bButtonClose from '../button/button-close';\n\nimport './alert.css';\n\nexport default {\n components: { bButtonClose: bButtonClose },\n render: function render(h) {\n if (!this.localShow) {\n // If not showing, render placeholder\n return h(false);\n }\n var dismissBtn = h(false);\n if (this.dismissible) {\n // Add dismiss button\n dismissBtn = h('b-button-close', { attrs: { 'aria-label': this.dismissLabel }, on: { click: this.dismiss } }, [this.$slots.dismiss]);\n }\n var alert = h('div', { class: this.classObject, attrs: { role: 'alert', 'aria-live': 'polite', 'aria-atomic': true } }, [dismissBtn, this.$slots.default]);\n return !this.fade ? alert : h('transition', { props: { name: 'fade', appear: true } }, [alert]);\n },\n\n model: {\n prop: 'show',\n event: 'input'\n },\n data: function data() {\n return {\n countDownTimerId: null,\n dismissed: false\n };\n },\n\n computed: {\n classObject: function classObject() {\n return ['alert', this.alertVariant, this.dismissible ? 'alert-dismissible' : ''];\n },\n alertVariant: function alertVariant() {\n var variant = this.variant;\n return 'alert-' + variant;\n },\n localShow: function localShow() {\n return !this.dismissed && (this.countDownTimerId || this.show);\n }\n },\n props: {\n variant: {\n type: String,\n default: 'info'\n },\n dismissible: {\n type: Boolean,\n default: false\n },\n dismissLabel: {\n type: String,\n default: 'Close'\n },\n show: {\n type: [Boolean, Number],\n default: false\n },\n fade: {\n type: Boolean,\n default: false\n }\n },\n watch: {\n show: function show() {\n this.showChanged();\n }\n },\n mounted: function mounted() {\n this.showChanged();\n },\n destroyed /* istanbul ignore next */: function destroyed() {\n this.clearCounter();\n },\n\n methods: {\n dismiss: function dismiss() {\n this.clearCounter();\n this.dismissed = true;\n this.$emit('dismissed');\n this.$emit('input', false);\n if (typeof this.show === 'number') {\n this.$emit('dismiss-count-down', 0);\n this.$emit('input', 0);\n } else {\n this.$emit('input', false);\n }\n },\n clearCounter: function clearCounter() {\n if (this.countDownTimerId) {\n clearInterval(this.countDownTimerId);\n this.countDownTimerId = null;\n }\n },\n showChanged: function showChanged() {\n var _this = this;\n\n // Reset counter status\n this.clearCounter();\n // Reset dismiss status\n this.dismissed = false;\n // No timer for boolean values\n if (this.show === true || this.show === false || this.show === null || this.show === 0) {\n return;\n }\n // Start counter\n var dismissCountDown = this.show;\n this.countDownTimerId = setInterval(function () {\n if (dismissCountDown < 1) {\n _this.dismiss();\n return;\n }\n dismissCountDown--;\n _this.$emit('dismiss-count-down', dismissCountDown);\n _this.$emit('input', dismissCountDown);\n }, 1000);\n }\n }\n};","import bAlert from './alert';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bAlert: bAlert\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import { mergeData } from 'vue-functional-data-merge';\n\nimport pluckProps from '../../utils/pluck-props';\nimport { assign } from '../../utils/object';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nvar linkProps = linkPropsFactory();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\n\nexport var props = assign(linkProps, {\n tag: {\n type: String,\n default: 'span'\n },\n variant: {\n type: String,\n default: 'secondary'\n },\n pill: {\n type: Boolean,\n default: false\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var tag = !props.href && !props.to ? props.tag : Link;\n\n var componentData = {\n staticClass: 'badge',\n class: [!props.variant ? 'badge-secondary' : 'badge-' + props.variant, {\n 'badge-pill': Boolean(props.pill),\n active: props.active,\n disabled: props.disabled\n }],\n props: pluckProps(linkProps, props)\n };\n\n return h(tag, mergeData(data, componentData), children);\n }\n};","import bBadge from './badge';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bBadge: bBadge\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import { mergeData } from 'vue-functional-data-merge';\nimport pluckProps from '../../utils/pluck-props';\nimport { assign } from '../../utils/object';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nexport var props = assign(linkPropsFactory(), {\n text: {\n type: String,\n default: null\n },\n active: {\n type: Boolean,\n default: false\n },\n href: {\n type: String,\n default: '#'\n },\n ariaCurrent: {\n type: String,\n default: 'location'\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var suppliedProps = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var tag = suppliedProps.active ? 'span' : Link;\n\n var componentData = { props: pluckProps(props, suppliedProps) };\n if (suppliedProps.active) {\n componentData.attrs = { 'aria-current': suppliedProps.ariaCurrent };\n } else {\n componentData.attrs = { href: suppliedProps.href };\n }\n\n return h(tag, mergeData(data, componentData), children || suppliedProps.text);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\nimport { assign } from '../../utils/object';\nimport BreadcrumbLink, { props as crumbLinks } from './breadcrumb-link';\n\nexport var props = assign({}, crumbLinks, {\n text: {\n type: String,\n default: null\n },\n href: {\n type: String,\n default: null\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h('li', mergeData(data, {\n staticClass: 'breadcrumb-item',\n class: { active: props.active },\n attrs: { role: 'presentation' }\n }), [h(BreadcrumbLink, { props: props }, children)]);\n }\n};","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport { isArray } from '../../utils/array';\nimport { assign } from '../../utils/object';\nimport BreadcrumbItem from './breadcrumb-item';\n\nexport var props = {\n items: {\n type: Array,\n default: null\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var childNodes = children;\n // Build child nodes from items if given.\n if (isArray(props.items)) {\n var activeDefined = false;\n childNodes = props.items.map(function (item, idx) {\n if ((typeof item === 'undefined' ? 'undefined' : _typeof(item)) !== 'object') {\n item = { text: item };\n }\n // Copy the value here so we can normalize it.\n var 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(BreadcrumbItem, { props: assign({}, item, { active: active }) });\n });\n }\n\n return h('ol', mergeData(data, { staticClass: 'breadcrumb' }), childNodes);\n }\n};","import bBreadcrumb from './breadcrumb';\nimport bBreadcrumbItem from './breadcrumb-item';\nimport bBreadcrumbLink from './breadcrumb-link';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bBreadcrumb: bBreadcrumb,\n bBreadcrumbItem: bBreadcrumbItem,\n bBreadcrumbLink: bBreadcrumbLink\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport pluckProps from '../../utils/pluck-props';\nimport { concat } from '../../utils/array';\nimport { assign, keys } from '../../utils/object';\nimport { addClass, removeClass } from '../../utils/dom';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nvar 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: null\n },\n variant: {\n type: String,\n default: null\n },\n type: {\n type: String,\n default: 'button'\n },\n pressed: {\n // tri-state prop: true, false or null\n // => on, off, not a toggle\n type: Boolean,\n default: null\n }\n};\n\nvar linkProps = linkPropsFactory();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nvar linkPropKeys = keys(linkProps);\n\nexport var props = assign(linkProps, btnProps);\n\nfunction 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\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n children = _ref.children;\n\n var isLink = Boolean(props.href || props.to);\n var isToggle = typeof props.pressed === 'boolean';\n var on = {\n click: function click(e) {\n if (props.disabled && e instanceof Event) {\n e.stopPropagation();\n e.preventDefault();\n } else if (isToggle) {\n // Concat will normalize the value to an array\n // without double wrapping an array value in an array.\n concat(listeners['update:pressed']).forEach(function (fn) {\n if (typeof fn === 'function') {\n fn(!props.pressed);\n }\n });\n }\n }\n };\n\n if (isToggle) {\n on.focusin = handleFocus;\n on.focusout = handleFocus;\n }\n\n var componentData = {\n staticClass: 'btn',\n class: [props.variant ? 'btn-' + props.variant : 'btn-secondary', (_ref2 = {}, _defineProperty(_ref2, 'btn-' + props.size, Boolean(props.size)), _defineProperty(_ref2, 'btn-block', props.block), _defineProperty(_ref2, 'disabled', props.disabled), _defineProperty(_ref2, 'active', props.pressed), _ref2)],\n props: isLink ? pluckProps(linkPropKeys, props) : null,\n attrs: {\n type: isLink ? null : props.type,\n disabled: isLink ? null : props.disabled,\n // Data attribute not used for js logic,\n // but only for BS4 style selectors.\n 'data-toggle': isToggle ? 'button' : null,\n 'aria-pressed': isToggle ? String(props.pressed) : null,\n // Tab index is used when the component becomes a link.\n // Links are tabable, but don't allow disabled,\n // so we mimic that functionality by disabling tabbing.\n tabindex: props.disabled && isLink ? '-1' : data.attrs ? data.attrs['tabindex'] : null\n },\n on: on\n };\n\n return h(isLink ? Link : 'button', mergeData(data, componentData), children);\n }\n};","import bButton from './button';\nimport bButtonClose from './button-close';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bButton: bButton,\n bBtn: bButton,\n bButtonClose: bButtonClose,\n bBtnClose: bButtonClose\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport { arrayIncludes } from '../../utils/array';\n\nexport var props = {\n vertical: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(size) {\n return arrayIncludes(['sm', '', 'lg'], size);\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n ariaRole: {\n type: String,\n default: 'group'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n class: _defineProperty({\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical\n }, 'btn-group-' + props.size, Boolean(props.size)),\n attrs: { 'role': props.ariaRole }\n }), children);\n }\n};","import bButtonGroup from './button-group';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bButtonGroup: bButtonGroup,\n bBtnGroup: bButtonGroup\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import { isVisible, selectAll } from '../../utils/dom';\nimport KeyCodes from '../../utils/key-codes';\n\nvar ITEM_SELECTOR = ['.btn:not(.disabled):not([disabled]):not(.dropdown-item)', '.form-control:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'input[type=\"checkbox\"]:not(.disabled)', 'input[type=\"radio\"]:not(.disabled)'].join(',');\n\nexport default {\n render: function render(h) {\n return h('div', {\n class: this.classObject,\n attrs: {\n role: 'toolbar',\n tabindex: this.keyNav ? '0' : null\n },\n on: {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n }\n }, [this.$slots.default]);\n },\n\n computed: {\n classObject: function classObject() {\n return ['btn-toolbar', this.justify && !this.vertical ? 'justify-content-between' : ''];\n }\n },\n props: {\n justify: {\n type: Boolean,\n default: false\n },\n keyNav: {\n type: Boolean,\n default: false\n }\n },\n methods: {\n onFocusin: function onFocusin(evt) {\n if (evt.target === this.$el) {\n evt.preventDefault();\n evt.stopPropagation();\n this.focusFirst(evt);\n }\n },\n onKeydown: function onKeydown(evt) {\n if (!this.keyNav) {\n return;\n }\n var key = evt.keyCode;\n var shift = evt.shiftKey;\n if (key === KeyCodes.UP || key === KeyCodes.LEFT) {\n evt.preventDefault();\n evt.stopPropagation();\n if (shift) {\n this.focusFirst(evt);\n } else {\n this.focusNext(evt, true);\n }\n } else if (key === KeyCodes.DOWN || key === KeyCodes.RIGHT) {\n evt.preventDefault();\n evt.stopPropagation();\n if (shift) {\n this.focusLast(evt);\n } else {\n this.focusNext(evt, false);\n }\n }\n },\n setItemFocus: function setItemFocus(item) {\n this.$nextTick(function () {\n item.focus();\n });\n },\n focusNext: function focusNext(evt, prev) {\n var items = this.getItems();\n if (items.length < 1) {\n return;\n }\n var index = items.indexOf(evt.target);\n if (prev && index > 0) {\n index--;\n } else if (!prev && index < items.length - 1) {\n index++;\n }\n if (index < 0) {\n index = 0;\n }\n this.setItemFocus(items[index]);\n },\n focusFirst: function focusFirst(evt) {\n var items = this.getItems();\n if (items.length > 0) {\n this.setItemFocus(items[0]);\n }\n },\n focusLast: function focusLast(evt) {\n var items = this.getItems();\n if (items.length > 0) {\n this.setItemFocus([items.length - 1]);\n }\n },\n getItems: function getItems() {\n var items = selectAll(ITEM_SELECTOR, this.$el);\n items.forEach(function (item) {\n // Ensure tabfocus is -1 on any new elements\n item.tabIndex = -1;\n });\n return items.filter(function (el) {\n return isVisible(el);\n });\n }\n },\n mounted: function 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};","import bButtonToolbar from './button-toolbar';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bButtonToolbar: bButtonToolbar,\n bBtnToolbar: bButtonToolbar\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n }\n};\n\nexport default {\n props: props,\n functional: true,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group-text'\n }), children);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\nimport InputGroupText from './input-group-text';\n\nexport var propsFactory = function propsFactory(append) {\n return {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n append: {\n type: Boolean,\n default: append\n },\n isText: {\n type: Boolean,\n default: false\n }\n };\n};\n\nexport default {\n functional: true,\n props: propsFactory(false),\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group-' + (props.append ? 'append' : 'prepend'),\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(InputGroupText, children)] : children);\n }\n};","import InputGroupAddon, { propsFactory } from './input-group-addon';\n\nexport default {\n functional: true,\n props: propsFactory(false),\n render: InputGroupAddon.render\n};","import InputGroupAddon, { propsFactory } from './input-group-addon';\n\nexport default {\n functional: true,\n props: propsFactory(true),\n render: InputGroupAddon.render\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport InputGroupPrepend from './input-group-prepend';\nimport InputGroupAppend from './input-group-append';\nimport InputGroupText from './input-group-text';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n size: {\n type: String,\n default: null\n },\n prepend: {\n type: String,\n default: null\n },\n append: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots;\n\n var $slots = slots();\n\n var childNodes = [];\n\n // Prepend prop\n if (props.prepend) {\n childNodes.push(h(InputGroupPrepend, [h(InputGroupText, { domProps: { innerHTML: props.prepend } })]));\n }\n\n // Prepend slot\n if ($slots.prepend) {\n childNodes.push(h(InputGroupPrepend, $slots.prepend));\n }\n\n // Default slot\n childNodes.push($slots.default);\n\n // Append prop\n if (props.append) {\n childNodes.push(h(InputGroupAppend, [h(InputGroupText, { domProps: { innerHTML: props.append } })]));\n }\n\n // Append slot\n if ($slots.append) {\n childNodes.push(h(InputGroupAppend, $slots.append));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, 'input-group-' + props.size, Boolean(props.size)),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), childNodes);\n }\n};","import { registerComponents, vueUse } from '../../utils/plugins';\n\nimport bInputGroup from './input-group';\nimport bInputGroupAddon from './input-group-addon';\nimport bInputGroupPrepend from './input-group-prepend';\nimport bInputGroupAppend from './input-group-append';\nimport bInputGroupText from './input-group-text';\n\nvar components = {\n bInputGroup: bInputGroup,\n bInputGroupAddon: bInputGroupAddon,\n bInputGroupPrepend: bInputGroupPrepend,\n bInputGroupAppend: bInputGroupAppend,\n bInputGroupText: bInputGroupText\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport prefixPropName from '../../utils/prefix-prop-name';\nimport copyProps from '../../utils/copyProps';\nimport { assign } from '../../utils/object';\nimport cardMixin from '../../mixins/card-mixin';\n\nexport var props = assign({}, copyProps(cardMixin.props, prefixPropName.bind(null, 'body')), {\n bodyClass: {\n type: [String, Object, Array],\n default: null\n },\n title: {\n type: String,\n default: null\n },\n titleTag: {\n type: String,\n default: 'h4'\n },\n subTitle: {\n type: String,\n default: null\n },\n subTitleTag: {\n type: String,\n default: 'h6'\n },\n overlay: {\n type: Boolean,\n default: false\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots;\n\n var cardBodyChildren = [];\n if (props.title) {\n cardBodyChildren.push(h(props.titleTag, {\n staticClass: 'card-title',\n domProps: { innerHTML: props.title }\n }));\n }\n if (props.subTitle) {\n cardBodyChildren.push(h(props.subTitleTag, {\n staticClass: 'card-subtitle mb-2 text-muted',\n domProps: { innerHTML: props.subTitle }\n }));\n }\n cardBodyChildren.push(slots().default);\n\n return h(props.bodyTag, mergeData(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, 'bg-' + props.bodyBgVariant, Boolean(props.bodyBgVariant)), _defineProperty(_ref2, 'border-' + props.bodyBorderVariant, Boolean(props.bodyBorderVariant)), _defineProperty(_ref2, 'text-' + props.bodyTextVariant, Boolean(props.bodyTextVariant)), _ref2), props.bodyClass || {}]\n }), cardBodyChildren);\n }\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nimport prefixPropName from '../../utils/prefix-prop-name';\nimport copyProps from '../../utils/copyProps';\nimport { assign } from '../../utils/object';\nimport cardMixin from '../../mixins/card-mixin';\n\nexport var props = assign({}, copyProps(cardMixin.props, prefixPropName.bind(null, 'header')), {\n header: {\n type: String,\n default: null\n },\n headerClass: {\n type: [String, Object, Array],\n default: null\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n children = _ref.children;\n\n return h(props.headerTag, mergeData(data, {\n staticClass: 'card-header',\n class: [props.headerClass, (_ref2 = {}, _defineProperty(_ref2, 'bg-' + props.headerBgVariant, Boolean(props.headerBgVariant)), _defineProperty(_ref2, 'border-' + props.headerBorderVariant, Boolean(props.headerBorderVariant)), _defineProperty(_ref2, 'text-' + props.headerTextVariant, Boolean(props.headerTextVariant)), _ref2)]\n }), children || [h('div', { domProps: { innerHTML: props.header } })]);\n }\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nimport prefixPropName from '../../utils/prefix-prop-name';\nimport copyProps from '../../utils/copyProps';\nimport { assign } from '../../utils/object';\nimport cardMixin from '../../mixins/card-mixin';\n\nexport var props = assign({}, copyProps(cardMixin.props, prefixPropName.bind(null, 'footer')), {\n footer: {\n type: String,\n default: null\n },\n footerClass: {\n type: [String, Object, Array],\n default: null\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n children = _ref.children;\n\n return h(props.footerTag, mergeData(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, 'bg-' + props.footerBgVariant, Boolean(props.footerBgVariant)), _defineProperty(_ref2, 'border-' + props.footerBorderVariant, Boolean(props.footerBorderVariant)), _defineProperty(_ref2, 'text-' + props.footerTextVariant, Boolean(props.footerTextVariant)), _ref2)]\n }), children || [h('div', { domProps: { innerHTML: props.footer } })]);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n src: {\n type: String,\n default: null,\n required: true\n },\n alt: {\n type: String,\n default: null\n },\n top: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots;\n\n var staticClass = 'card-img';\n if (props.top) {\n staticClass += '-top';\n } else if (props.bottom) {\n staticClass += '-bottom';\n }\n\n return h('img', mergeData(data, {\n staticClass: staticClass,\n class: { 'img-fluid': props.fluid },\n attrs: { src: props.src, alt: props.alt }\n }));\n }\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nimport prefixPropName from '../../utils/prefix-prop-name';\nimport unPrefixPropName from '../../utils/unprefix-prop-name';\nimport copyProps from '../../utils/copyProps';\nimport pluckProps from '../../utils/pluck-props';\nimport { assign } from '../../utils/object';\nimport cardMixin from '../../mixins/card-mixin';\nimport CardBody, { props as bodyProps } from './card-body';\nimport CardHeader, { props as headerProps } from './card-header';\nimport CardFooter, { props as footerProps } from './card-footer';\nimport CardImg, { props as imgProps } from './card-img';\n\nvar cardImgProps = copyProps(imgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\n\nexport var props = assign({}, bodyProps, headerProps, footerProps, cardImgProps, copyProps(cardMixin.props), {\n align: {\n type: String,\n default: null\n },\n noBody: {\n type: Boolean,\n default: false\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n children = _ref.children;\n\n // The order of the conditionals matter.\n // We are building the component markup in order.\n var childNodes = [];\n var $slots = slots();\n var img = props.imgSrc ? h(CardImg, {\n props: pluckProps(cardImgProps, props, unPrefixPropName.bind(null, 'img'))\n }) : null;\n\n if (img) {\n // Above the header placement.\n if (props.imgTop || !props.imgBottom) {\n childNodes.push(img);\n }\n }\n if (props.header || $slots.header) {\n childNodes.push(h(CardHeader, { props: pluckProps(headerProps, props) }, $slots.header));\n }\n if (props.noBody) {\n childNodes.push($slots.default);\n } else {\n childNodes.push(h(CardBody, { props: pluckProps(bodyProps, props) }, $slots.default));\n }\n if (props.footer || $slots.footer) {\n childNodes.push(h(CardFooter, { props: pluckProps(footerProps, props) }, $slots.footer));\n }\n if (img && props.imgBottom) {\n // Below the footer placement.\n childNodes.push(img);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {}, _defineProperty(_class, 'text-' + props.align, Boolean(props.align)), _defineProperty(_class, 'bg-' + props.bgVariant, Boolean(props.bgVariant)), _defineProperty(_class, 'border-' + props.borderVariant, Boolean(props.borderVariant)), _defineProperty(_class, 'text-' + props.textVariant, Boolean(props.textVariant)), _class)\n }), childNodes);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\n\nexport var 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\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var staticClass = 'card-group';\n if (props.columns) {\n staticClass = 'card-columns';\n }\n if (props.deck) {\n staticClass = 'card-deck';\n }\n\n return h(props.tag, mergeData(data, { staticClass: staticClass }), children);\n }\n};","import bCard from './card';\nimport bCardHeader from './card-header';\nimport bCardBody from './card-body';\nimport bCardFooter from './card-footer';\nimport bCardImg from './card-img';\nimport bCardGroup from './card-group';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bCard: bCard,\n bCardHeader: bCardHeader,\n bCardBody: bCardBody,\n bCardFooter: bCardFooter,\n bCardImg: bCardImg,\n bCardGroup: bCardGroup\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import observeDom from '../../utils/observe-dom';\nimport KeyCodes from '../../utils/key-codes';\nimport { selectAll, reflow, addClass, removeClass, setAttr, eventOn, eventOff } from '../../utils/dom';\nimport idMixin from '../../mixins/id';\n\n// Slide directional classes\nvar 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 // Fallback Transition duration (with a little buffer) in ms\n};var TRANS_DURATION = 600 + 50;\n\n// Transition Event names\nvar TransitionEndEvents = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'otransitionend oTransitionEnd',\n transition: 'transitionend'\n\n // Return the browser specific transitionEnd event name\n};function getTransisionEndEvent(el) {\n for (var name in TransitionEndEvents) {\n if (el.style[name] !== undefined) {\n return TransitionEndEvents[name];\n }\n }\n // fallback\n return null;\n}\n\nexport default {\n mixins: [idMixin],\n render: function render(h) {\n var _this = this;\n\n // Wrapper for slides\n var inner = h('div', {\n ref: 'inner',\n class: ['carousel-inner'],\n attrs: {\n id: this.safeId('__BV_inner_'),\n role: 'list'\n }\n }, [this.$slots.default]);\n\n // Prev and Next Controls\n var controls = h(false);\n if (this.controls) {\n controls = [h('a', {\n class: ['carousel-control-prev'],\n attrs: { href: '#', role: 'button', 'aria-controls': this.safeId('__BV_inner_') },\n on: {\n click: function click(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n _this.prev();\n },\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n if (keyCode === KeyCodes.SPACE || keyCode === KeyCodes.ENTER) {\n evt.preventDefault();\n evt.stopPropagation();\n _this.prev();\n }\n }\n }\n }, [h('span', { class: ['carousel-control-prev-icon'], attrs: { 'aria-hidden': 'true' } }), h('span', { class: ['sr-only'] }, [this.labelPrev])]), h('a', {\n class: ['carousel-control-next'],\n attrs: { href: '#', role: 'button', 'aria-controls': this.safeId('__BV_inner_') },\n on: {\n click: function click(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n _this.next();\n },\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n if (keyCode === KeyCodes.SPACE || keyCode === KeyCodes.ENTER) {\n evt.preventDefault();\n evt.stopPropagation();\n _this.next();\n }\n }\n }\n }, [h('span', { class: ['carousel-control-next-icon'], attrs: { 'aria-hidden': 'true' } }), h('span', { class: ['sr-only'] }, [this.labelNext])])];\n }\n\n // Indicators\n var indicators = h('ol', {\n class: ['carousel-indicators'],\n directives: [{ name: 'show', rawName: 'v-show', value: this.indicators, expression: 'indicators' }],\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 }, this.slides.map(function (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: function click(evt) {\n _this.setSlide(n);\n },\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n if (keyCode === KeyCodes.SPACE || keyCode === KeyCodes.ENTER) {\n evt.preventDefault();\n evt.stopPropagation();\n _this.setSlide(n);\n }\n }\n }\n });\n }));\n\n // Return the carousel\n return h('div', {\n class: ['carousel', 'slide'],\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 mouseenter: this.pause,\n mouseleave: this.restart,\n focusin: this.pause,\n focusout: this.restart,\n keydown: function keydown(evt) {\n var 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 }, [inner, controls, indicators]);\n },\n data: function data() {\n return {\n index: this.value || 0,\n isSliding: false,\n intervalId: null,\n transitionEndEvent: null,\n slides: [],\n direction: null\n };\n },\n\n props: {\n labelPrev: {\n type: String,\n default: 'Previous Slide'\n },\n labelNext: {\n type: String,\n default: 'Next Slide'\n },\n labelGotoSlide: {\n type: String,\n default: 'Goto Slide'\n },\n labelIndicators: {\n type: String,\n default: 'Select a slide to display'\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 imgWidth: {\n // Sniffed by carousel-slide\n type: [Number, String]\n },\n imgHeight: {\n // Sniffed by carousel-slide\n type: [Number, String]\n },\n background: {\n type: String\n },\n value: {\n type: Number,\n default: 0\n }\n },\n computed: {\n isCycling: function isCycling() {\n return Boolean(this.intervalId);\n }\n },\n methods: {\n // Set slide\n setSlide: function setSlide(slide) {\n var _this2 = this;\n\n // Don't animate when page is not visible\n if (typeof document !== 'undefined' && document.visibilityState && document.hidden) {\n return;\n }\n var len = this.slides.length;\n // Don't do anything if nothing to slide to\n if (len === 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', function () {\n return _this2.setSlide(slide);\n });\n return;\n }\n // Make sure we have an integer (you never know!)\n slide = Math.floor(slide);\n // Set new slide index. Wrap around if necessary\n this.index = slide >= len ? 0 : slide >= 0 ? slide : len - 1;\n },\n\n // Previous slide\n prev: function prev() {\n this.direction = 'prev';\n this.setSlide(this.index - 1);\n },\n\n // Next slide\n next: function next() {\n this.direction = 'next';\n this.setSlide(this.index + 1);\n },\n\n // Pause auto rotation\n pause: function pause() {\n if (this.isCycling) {\n clearInterval(this.intervalId);\n this.intervalId = null;\n if (this.slides[this.index]) {\n // Make current slide focusable for screen readers\n this.slides[this.index].tabIndex = 0;\n }\n }\n },\n\n // Start auto rotate slides\n start: function start() {\n var _this3 = this;\n\n // Don't start if no interval, or if we are already running\n if (!this.interval || this.isCycling) {\n return;\n }\n this.slides.forEach(function (slide) {\n slide.tabIndex = -1;\n });\n this.intervalId = setInterval(function () {\n _this3.next();\n }, Math.max(1000, this.interval));\n },\n\n // Re-Start auto rotate slides when focus/hover leaves the carousel\n restart: function restart(evt) {\n if (!this.$el.contains(document.activeElement)) {\n this.start();\n }\n },\n\n // Update slide list\n updateSlides: function updateSlides() {\n this.pause();\n // Get all slides as DOM elements\n this.slides = selectAll('.carousel-item', this.$refs.inner);\n var numSlides = this.slides.length;\n // Keep slide number in range\n var index = Math.max(0, Math.min(Math.floor(this.index), numSlides - 1));\n this.slides.forEach(function (slide, idx) {\n var n = idx + 1;\n if (idx === index) {\n addClass(slide, 'active');\n } else {\n removeClass(slide, 'active');\n }\n setAttr(slide, 'aria-current', idx === index ? 'true' : 'false');\n setAttr(slide, 'aria-posinset', String(n));\n setAttr(slide, 'aria-setsize', String(numSlides));\n slide.tabIndex = -1;\n });\n // Set slide as active\n this.setSlide(index);\n this.start();\n },\n calcDirection: function calcDirection() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var curIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var nextIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n if (!direction) {\n return nextIndex > curIndex ? DIRECTION.next : DIRECTION.prev;\n }\n return DIRECTION[direction];\n }\n },\n watch: {\n value: function value(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.setSlide(newVal);\n }\n },\n interval: function interval(newVal, oldVal) {\n if (newVal === oldVal) {\n return;\n }\n if (!newVal) {\n // Pausing slide show\n this.pause();\n } else {\n // Restarting or Changing interval\n this.pause();\n this.start();\n }\n },\n index: function index(val, oldVal) {\n var _this4 = this;\n\n if (val === oldVal || this.isSliding) {\n return;\n }\n // Determine sliding direction\n var direction = this.calcDirection(this.direction, oldVal, val);\n // Determine current and next slides\n var currentSlide = this.slides[oldVal];\n var nextSlide = this.slides[val];\n // Don't do anything if there aren't any slides to slide to\n if (!currentSlide || !nextSlide) {\n return;\n }\n // Start animating\n this.isSliding = true;\n this.$emit('sliding-start', val);\n // Update v-model\n this.$emit('input', this.index);\n nextSlide.classList.add(direction.overlayClass);\n // Trigger a reflow of next slide\n reflow(nextSlide);\n addClass(currentSlide, direction.dirClass);\n addClass(nextSlide, direction.dirClass);\n // Transition End handler\n var called = false;\n /* istanbul ignore next: dificult to test */\n var onceTransEnd = function onceTransEnd(evt) {\n if (called) {\n return;\n }\n called = true;\n if (_this4.transitionEndEvent) {\n var events = _this4.transitionEndEvent.split(/\\s+/);\n events.forEach(function (event) {\n eventOff(currentSlide, event, onceTransEnd);\n });\n }\n _this4._animationTimeout = null;\n removeClass(nextSlide, direction.dirClass);\n removeClass(nextSlide, direction.overlayClass);\n addClass(nextSlide, 'active');\n removeClass(currentSlide, 'active');\n removeClass(currentSlide, direction.dirClass);\n removeClass(currentSlide, direction.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 currentSlide.tabIndex = -1;\n nextSlide.tabIndex = -1;\n if (!_this4.isCycling) {\n // Focus the next slide for screen readers if not in play mode\n nextSlide.tabIndex = 0;\n _this4.$nextTick(function () {\n nextSlide.focus();\n });\n }\n _this4.isSliding = false;\n _this4.direction = null;\n // Notify ourselves that we're done sliding (slid)\n _this4.$nextTick(function () {\n return _this4.$emit('sliding-end', val);\n });\n };\n // Clear transition classes after transition ends\n if (this.transitionEndEvent) {\n var events = this.transitionEndEvent.split(/\\s+/);\n events.forEach(function (event) {\n eventOn(currentSlide, event, onceTransEnd);\n });\n }\n // Fallback to setTimeout\n this._animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION);\n }\n },\n created: function created() {\n // Create private non-reactive props\n this._animationTimeout = null;\n },\n mounted: function mounted() {\n // Cache current browser transitionend event name\n this.transitionEndEvent = getTransisionEndEvent(this.$el) || null;\n // Get all slides\n this.updateSlides();\n // Observe child changes so we can update slide list\n observeDom(this.$refs.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n });\n },\n\n /* istanbul ignore next: dificult to test */\n beforeDestroy: function beforeDestroy() {\n clearInterval(this.intervalId);\n clearTimeout(this._animationTimeout);\n this.intervalId = null;\n this._animationTimeout = null;\n }\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\n// Blank image with fill template\nvar BLANK_TEMPLATE = '';\n\nfunction makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', String(width)).replace('%{h}', String(height)).replace('%{f}', color));\n return 'data:image/svg+xml;charset=UTF-8,' + src;\n}\n\nexport var props = {\n src: {\n type: String,\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: 'transparent'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n\n var src = props.src;\n var width = parseInt(props.width, 10) ? parseInt(props.width, 10) : null;\n var height = parseInt(props.height, 10) ? parseInt(props.height, 10) : null;\n var align = null;\n var block = props.block;\n if (props.blank) {\n if (!height && Boolean(width)) {\n height = width;\n } else if (!width && Boolean(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 }\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('img', mergeData(data, {\n attrs: {\n 'src': src,\n 'alt': props.alt,\n 'width': width ? String(width) : null,\n 'height': height ? String(height) : null\n },\n class: (_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 }, _defineProperty(_class, 'rounded-' + props.rounded, typeof props.rounded === 'string' && props.rounded !== ''), _defineProperty(_class, align, Boolean(align)), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n};","import bImg from '../image/img';\nimport warn from '../../utils/warn';\nimport idMixin from '../../mixins/id';\n\nexport default {\n components: { bImg: bImg },\n mixins: [idMixin],\n render: function render(h) {\n var $slots = this.$slots;\n\n var img = $slots.img;\n if (!img && (this.imgSrc || this.imgBlank)) {\n img = h('b-img', {\n props: {\n fluidGrow: true,\n block: true,\n src: this.imgSrc,\n blank: this.imgBlank,\n blankColor: this.imgBlankColor,\n width: this.computedWidth,\n height: this.computedHeight,\n alt: this.imgAlt\n }\n });\n }\n\n var content = h(this.contentTag, { class: this.contentClasses }, [this.caption ? h(this.captionTag, { domProps: { innerHTML: this.caption } }) : h(false), this.text ? h(this.textTag, { domProps: { innerHTML: this.text } }) : h(false), $slots.default]);\n\n return h('div', {\n class: ['carousel-item'],\n style: { background: this.background },\n attrs: { id: this.safeId(), role: 'listitem' }\n }, [img, content]);\n },\n\n props: {\n imgSrc: {\n type: String,\n default: function _default() {\n if (this && this.src) {\n // Deprecate src\n warn(\"b-carousel-slide: prop 'src' has been deprecated. Use 'img-src' instead\");\n return this.src;\n }\n return null;\n }\n },\n src: {\n // Deprecated: use img-src instead\n type: String\n },\n imgAlt: {\n type: String\n },\n imgWidth: {\n type: [Number, String]\n },\n imgHeight: {\n type: [Number, String]\n },\n imgBlank: {\n type: Boolean,\n default: false\n },\n imgBlankColor: {\n type: String,\n default: 'transparent'\n },\n contentVisibleUp: {\n type: String\n },\n contentTag: {\n type: String,\n default: 'div'\n },\n caption: {\n type: String\n },\n captionTag: {\n type: String,\n default: 'h3'\n },\n text: {\n type: String\n },\n textTag: {\n type: String,\n default: 'p'\n },\n background: {\n type: String\n }\n },\n computed: {\n contentClasses: function contentClasses() {\n return ['carousel-caption', this.contentVisibleUp ? 'd-none' : '', this.contentVisibleUp ? 'd-' + this.contentVisibleUp + '-block' : ''];\n },\n computedWidth: function computedWidth() {\n // Use local width, or try parent width\n return this.imgWidth || this.$parent.imgWidth;\n },\n computedHeight: function computedHeight() {\n // Use local height, or try parent height\n return this.imgHeight || this.$parent.imgHeight;\n }\n }\n};","import bCarousel from './carousel';\nimport bCarouselSlide from './carousel-slide';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bCarousel: bCarousel,\n bCarouselSlide: bCarouselSlide\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n fluid: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n class: {\n 'container': !props.fluid,\n 'container-fluid': props.fluid\n }\n }), children);\n }\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport { arrayIncludes } from '../../utils/array';\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center'];\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n noGutters: {\n type: Boolean,\n default: false\n },\n alignV: {\n type: String,\n default: null,\n validator: function validator(str) {\n return arrayIncludes(COMMON_ALIGNMENT.concat(['baseline', 'stretch']), str);\n }\n },\n alignH: {\n type: String,\n default: null,\n validator: function validator(str) {\n return arrayIncludes(COMMON_ALIGNMENT.concat(['between', 'around']), str);\n }\n },\n alignContent: {\n type: String,\n default: null,\n validator: function validator(str) {\n return arrayIncludes(COMMON_ALIGNMENT.concat(['between', 'around', 'stretch']), str);\n }\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: (_class = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_class, 'align-items-' + props.alignV, props.alignV), _defineProperty(_class, 'justify-content-' + props.alignH, props.alignH), _defineProperty(_class, 'align-content-' + props.alignContent, props.alignContent), _class)\n }), children);\n }\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport memoize from '../../utils/memoize';\nimport suffixPropName from '../../utils/suffix-prop-name';\nimport { keys, assign, create } from '../../utils/object';\nimport { arrayIncludes } from '../../utils/array';\n\n/**\n * Generates a prop object with a type of\n * [Boolean, String, Number]\n */\nfunction boolStrNum() {\n return {\n type: [Boolean, String, Number],\n default: false\n };\n}\n\n/**\n * Generates a prop object with a type of\n * [String, Number]\n */\nfunction strNum() {\n return {\n type: [String, Number],\n default: null\n };\n}\n\nexport var computeBkPtClass = memoize(function computeBkPt(type, breakpoint, val) {\n var className = type;\n if (val === false || val === null || val === undefined) {\n return undefined;\n }\n if (breakpoint) {\n className += '-' + breakpoint;\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase();\n }\n // .order-md-6\n className += '-' + val;\n return className.toLowerCase();\n});\n\nvar BREAKPOINTS = ['sm', 'md', 'lg', 'xl'];\n// Supports classes like: .col-sm, .col-md-6, .col-lg-auto\nvar breakpointCol = BREAKPOINTS.reduce(\n// eslint-disable-next-line no-sequences\nfunction (propMap, breakpoint) {\n return propMap[breakpoint] = boolStrNum(), propMap;\n}, create(null));\n// Supports classes like: .offset-md-1, .offset-lg-12\nvar breakpointOffset = BREAKPOINTS.reduce(\n// eslint-disable-next-line no-sequences\nfunction (propMap, breakpoint) {\n return propMap[suffixPropName(breakpoint, 'offset')] = strNum(), propMap;\n}, create(null));\n// Supports classes like: .order-md-1, .order-lg-12\nvar breakpointOrder = BREAKPOINTS.reduce(\n// eslint-disable-next-line no-sequences\nfunction (propMap, breakpoint) {\n return propMap[suffixPropName(breakpoint, 'order')] = strNum(), propMap;\n}, create(null));\n\n// For loop doesn't need to check hasOwnProperty\n// when using an object created from null\nvar breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n});\n\nexport var props = assign({}, breakpointCol, breakpointOffset, breakpointOrder, {\n tag: {\n type: String,\n default: 'div'\n },\n // Generic flexbox .col\n col: {\n type: Boolean,\n default: false\n },\n // .col-[1-12]|auto\n cols: strNum(),\n // .offset-[1-12]\n offset: strNum(),\n // Flex ordering utility .order-[1-12]\n order: strNum(),\n alignSelf: {\n type: String,\n default: null,\n validator: function validator(str) {\n return arrayIncludes(['auto', 'start', 'end', 'center', 'baseline', 'stretch'], str);\n }\n }\n});\n\n/**\n * We need \".col\" to default in when no other props are passed,\n * but always render when col=true.\n */\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var classList = [];\n // Loop through `col`, `offset`, `order` breakpoint props\n for (var type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n var _keys = breakpointPropMap[type];\n for (var i = 0; i < _keys.length; i++) {\n // computeBkPt(col, colSm => Sm, value=[String, Number, Boolean])\n var c = computeBkPtClass(type, _keys[i].replace(type, ''), props[_keys[i]]);\n // If a class is returned, push it onto the array.\n if (c) {\n classList.push(c);\n }\n }\n }\n\n classList.push((_classList$push = {\n // Default to .col if no other classes generated nor `cols` specified.\n col: props.col || classList.length === 0 && !props.cols\n }, _defineProperty(_classList$push, 'col-' + props.cols, props.cols), _defineProperty(_classList$push, 'offset-' + props.offset, props.offset), _defineProperty(_classList$push, 'order-' + props.order, props.order), _defineProperty(_classList$push, 'align-self-' + props.alignSelf, props.alignSelf), _classList$push));\n\n return h(props.tag, mergeData(data, { class: classList }), children);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'form-row'\n }), children);\n }\n};","import bContainer from './container';\nimport bRow from './row';\nimport bCol from './col';\nimport bFormRow from './form-row';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bContainer: bContainer,\n bRow: bRow,\n bCol: bCol,\n bFormRow: bFormRow\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import listenOnRootMixin from '../../mixins/listen-on-root';\nimport { hasClass, reflow } from '../../utils/dom';\n\n// Events we emit on $root\nvar EVENT_STATE = 'bv::collapse::state';\nvar EVENT_ACCORDION = 'bv::collapse::accordion';\n// Events we listen to on $root\nvar EVENT_TOGGLE = 'bv::toggle::collapse';\n\nexport default {\n mixins: [listenOnRootMixin],\n render: function render(h) {\n var content = h(this.tag, {\n class: this.classObject,\n directives: [{ name: 'show', value: this.show }],\n attrs: { id: this.id || null },\n on: { click: this.clickHandler }\n }, [this.$slots.default]);\n return h('transition', {\n props: {\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: '',\n leaveClass: '',\n leaveActiveClass: 'collapsing',\n leaveToClass: ''\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [content]);\n },\n data: function data() {\n return {\n show: this.visible,\n transitioning: false\n };\n },\n\n model: {\n prop: 'visible',\n event: 'input'\n },\n props: {\n id: {\n type: String,\n required: true\n },\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 },\n watch: {\n visible: function visible(newVal) {\n if (newVal !== this.show) {\n this.show = newVal;\n }\n },\n show: function show(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.emitState();\n }\n }\n },\n computed: {\n classObject: function classObject() {\n return {\n 'navbar-collapse': this.isNav,\n 'collapse': !this.transitioning,\n 'show': this.show && !this.transitioning\n };\n }\n },\n methods: {\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter(el) {\n el.style.height = 0;\n reflow(el);\n el.style.height = el.scrollHeight + 'px';\n this.transitioning = true;\n // This should be moved out so we can add cancellable events\n this.$emit('show');\n },\n onAfterEnter: function onAfterEnter(el) {\n el.style.height = null;\n this.transitioning = false;\n this.$emit('shown');\n },\n onLeave: function onLeave(el) {\n el.style.height = 'auto';\n el.style.display = 'block';\n el.style.height = el.getBoundingClientRect().height + 'px';\n reflow(el);\n this.transitioning = true;\n el.style.height = 0;\n // This should be moved out so we can add cancellable events\n this.$emit('hide');\n },\n onAfterLeave: function onAfterLeave(el) {\n el.style.height = null;\n this.transitioning = false;\n this.$emit('hidden');\n },\n emitState: function emitState() {\n this.$emit('input', this.show);\n // Let v-b-toggle know the state of this collapse\n this.$root.$emit(EVENT_STATE, this.id, this.show);\n if (this.accordion && this.show) {\n // Tell the other collapses in this accordion to close\n this.$root.$emit(EVENT_ACCORDION, this.id, this.accordion);\n }\n },\n clickHandler: function clickHandler(evt) {\n // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n var el = evt.target;\n if (!this.isNav || !el || getComputedStyle(this.$el).display !== 'block') {\n return;\n }\n if (hasClass(el, 'nav-link') || hasClass(el, 'dropdown-item')) {\n this.show = false;\n }\n },\n handleToggleEvt: function handleToggleEvt(target) {\n if (target !== this.id) {\n return;\n }\n this.toggle();\n },\n handleAccordionEvt: function handleAccordionEvt(openedId, accordion) {\n if (!this.accordion || accordion !== this.accordion) {\n return;\n }\n if (openedId === this.id) {\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: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getComputedStyle(this.$el).display === 'block';\n }\n },\n created: function created() {\n // Listen for toggle events to open/close us\n this.listenOnRoot(EVENT_TOGGLE, this.handleToggleEvt);\n // Listen to otehr collapses for accordion events\n this.listenOnRoot(EVENT_ACCORDION, this.handleAccordionEvt);\n },\n mounted: function mounted() {\n if (this.isNav && typeof document !== 'undefined') {\n // Set up handlers\n window.addEventListener('resize', this.handleResize, false);\n window.addEventListener('orientationchange', this.handleResize, false);\n this.handleResize();\n }\n this.emitState();\n },\n beforeDestroy: function beforeDestroy() {\n if (this.isNav && typeof document !== 'undefined') {\n window.removeEventListener('resize', this.handleResize, false);\n window.removeEventListener('orientationchange', this.handleResize, false);\n }\n }\n};","import bCollapse from './collapse';\nimport togglePlugin from '../../directives/toggle';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bCollapse: bCollapse\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n Vue.use(togglePlugin);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import idMixin from '../../mixins/id';\nimport dropdownMixin from '../../mixins/dropdown';\nimport bButton from '../button/button';\n\nimport './dropdown.css';\n\nexport default {\n mixins: [idMixin, dropdownMixin],\n components: { bButton: bButton },\n render: function render(h) {\n var split = h(false);\n if (this.split) {\n split = h('b-button', {\n ref: 'button',\n props: {\n disabled: this.disabled,\n variant: this.variant,\n size: this.size\n },\n attrs: {\n id: this.safeId('_BV_button_')\n },\n on: {\n click: this.click\n }\n }, [this.$slots['button-content'] || this.$slots.text || this.text]);\n }\n var toggle = h('b-button', {\n ref: 'toggle',\n class: this.toggleClasses,\n props: {\n variant: this.variant,\n size: this.size,\n disabled: this.disabled\n },\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n on: {\n click: this.toggle, // click\n keydown: this.toggle // enter, space, down\n }\n }, [this.split ? h('span', { class: ['sr-only'] }, [this.toggleText]) : this.$slots['button-content'] || this.$slots.text || this.text]);\n var menu = h('div', {\n ref: 'menu',\n class: this.menuClasses,\n attrs: {\n role: this.role,\n 'aria-labelledby': this.safeId(this.split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n mouseover: this.onMouseOver,\n keydown: this.onKeydown // tab, up, down, esc\n }\n }, [this.$slots.default]);\n return h('div', { attrs: { id: this.safeId() }, class: this.dropdownClasses }, [split, toggle, menu]);\n },\n\n props: {\n split: {\n type: Boolean,\n default: false\n },\n toggleText: {\n type: String,\n default: 'Toggle Dropdown'\n },\n size: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: null\n },\n menuClass: {\n type: [String, Array],\n default: null\n },\n toggleClass: {\n type: [String, Array],\n default: null\n },\n noCaret: {\n type: Boolean,\n default: false\n },\n role: {\n type: String,\n default: 'menu'\n },\n boundary: {\n // String: `scrollParent`, `window` or `viewport`\n // Object: HTML Element reference\n type: [String, Object],\n default: 'scrollParent'\n }\n },\n computed: {\n dropdownClasses: function dropdownClasses() {\n var position = '';\n // Position `static` is needed to allow menu to \"breakout\" of the scrollParent boundaries\n // when boundary is anything other than `scrollParent`\n // See https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n if (this.boundary !== 'scrollParent' || !this.boundary) {\n position = 'position-static';\n }\n return ['btn-group', 'b-dropdown', 'dropdown', this.dropup ? 'dropup' : '', this.visible ? 'show' : '', position];\n },\n menuClasses: function menuClasses() {\n return ['dropdown-menu', {\n 'dropdown-menu-right': this.right,\n 'show': this.visible\n }, this.menuClass];\n },\n toggleClasses: function toggleClasses() {\n return [{\n 'dropdown-toggle': !this.noCaret || this.split,\n 'dropdown-toggle-split': this.split\n }, this.toggleClass];\n }\n }\n};","import { mergeData } from 'vue-functional-data-merge';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nexport var props = linkPropsFactory();\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(Link, mergeData(data, {\n props: props,\n staticClass: 'dropdown-item',\n attrs: { role: 'menuitem' }\n }), children);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n disabled: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n parent = _ref.parent,\n children = _ref.children;\n\n return h('button', mergeData(data, {\n props: props,\n staticClass: 'dropdown-item',\n attrs: { role: 'menuitem', type: 'button', disabled: props.disabled },\n on: {\n click: function click(e) {\n parent.$root.$emit('clicked::link', e);\n }\n }\n }), children);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'h6'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'dropdown-header',\n attrs: { id: props.id || null }\n }), children);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'dropdown-divider',\n attrs: { role: 'separator' }\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 { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bDropdown: bDropdown,\n bDd: bDropdown,\n bDropdownItem: bDropdownItem,\n bDdItem: bDropdownItem,\n bDropdownItemButton: bDropdownItemButton,\n bDropdownItemBtn: bDropdownItemButton,\n bDdItemButton: bDropdownItemButton,\n bDdItemBtn: bDropdownItemButton,\n bDropdownHeader: bDropdownHeader,\n bDdHeader: bDropdownHeader,\n bDropdownDivider: bDropdownDivider,\n bDdDivider: bDropdownDivider\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport { arrayIncludes } from '../../utils/array';\n\nexport var props = {\n type: {\n type: String,\n default: 'iframe',\n validator: function validator(str) {\n return arrayIncludes(['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy'], str);\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n aspect: {\n type: String,\n default: '16by9'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, {\n ref: data.ref,\n staticClass: 'embed-responsive',\n class: _defineProperty({}, 'embed-responsive-' + props.aspect, Boolean(props.aspect))\n }, [h(props.type, mergeData(data, { ref: '', staticClass: 'embed-responsive-item' }), children)]);\n }\n};","import bEmbed from './embed';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bEmbed: bEmbed\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import { mergeData } from 'vue-functional-data-merge';\n\nexport var 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\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h('form', 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 }), children);\n }\n};","import bFormRow from '../layout/form-row';\n\nexport default bFormRow;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'small'\n },\n textVariant: {\n type: String,\n default: 'muted'\n },\n inline: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n class: _defineProperty({\n 'form-text': !props.inline\n }, 'text-' + props.textVariant, Boolean(props.textVariant)),\n attrs: {\n id: props.id\n }\n }), children);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n forceShow: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'invalid-feedback',\n class: { 'd-block': props.forceShow },\n attrs: { id: props.id }\n }), children);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n forceShow: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'valid-feedback',\n class: { 'd-block': props.forceShow },\n attrs: { id: props.id }\n }), children);\n }\n};","import bForm from './form';\nimport bFormRow from './form-row';\nimport bFormText from './form-text';\nimport bFormInvalidFeedback from './form-invalid-feedback';\nimport bFormValidFeedback from './form-valid-feedback';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bForm: bForm,\n bFormRow: bFormRow,\n bFormText: bFormText,\n bFormInvalidFeedback: bFormInvalidFeedback,\n bFormFeedback: bFormInvalidFeedback,\n bFormValidFeedback: bFormValidFeedback\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import warn from '../../utils/warn';\nimport { select, selectAll, isVisible, setAttr, removeAttr, getAttr } from '../../utils/dom';\nimport idMixin from '../../mixins/id';\nimport formStateMixin from '../../mixins/form-state';\nimport bFormRow from '../layout/form-row';\nimport bFormText from '../form/form-text';\nimport bFormInvalidFeedback from '../form/form-invalid-feedback';\nimport bFormValidFeedback from '../form/form-valid-feedback';\n\n// Selector for finding firt input in the form-group\nvar SELECTOR = 'input:not(:disabled),textarea:not(:disabled),select:not(:disabled)';\n\nexport default {\n mixins: [idMixin, formStateMixin],\n components: { bFormRow: bFormRow, bFormText: bFormText, bFormInvalidFeedback: bFormInvalidFeedback, bFormValidFeedback: bFormValidFeedback },\n render: function render(h) {\n var $slots = this.$slots;\n\n // Label / Legend\n var legend = h(false);\n if (this.hasLabel) {\n var children = $slots['label'];\n var legendTag = this.labelFor ? 'label' : 'legend';\n var legendDomProps = children ? {} : { innerHTML: this.label };\n var legendAttrs = { id: this.labelId, for: this.labelFor || null };\n var legendClick = this.labelFor || this.labelSrOnly ? {} : { click: this.legendClick };\n if (this.horizontal) {\n // Horizontal layout with label\n if (this.labelSrOnly) {\n // SR Only we wrap label/legend in a div to preserve layout\n children = h(legendTag, { class: ['sr-only'], attrs: legendAttrs, domProps: legendDomProps }, children);\n legend = h('div', { class: this.labelLayoutClasses }, [children]);\n } else {\n legend = h(legendTag, {\n class: [this.labelLayoutClasses, this.labelClasses],\n attrs: legendAttrs,\n domProps: legendDomProps,\n on: legendClick\n }, children);\n }\n } else {\n // Vertical layout with label\n legend = h(legendTag, {\n class: this.labelSrOnly ? ['sr-only'] : this.labelClasses,\n attrs: legendAttrs,\n domProps: legendDomProps,\n on: legendClick\n }, children);\n }\n } else if (this.horizontal) {\n // No label but has horizontal layout, so we need a spacer element for layout\n legend = h('div', { class: this.labelLayoutClasses });\n }\n\n // Invalid feeback text (explicitly hidden if state is valid)\n var invalidFeedback = h(false);\n if (this.hasInvalidFeedback) {\n var domProps = {};\n if (!$slots['invalid-feedback'] && !$slots['feedback']) {\n domProps = { innerHTML: this.invalidFeedback || this.feedback || '' };\n }\n invalidFeedback = h('b-form-invalid-feedback', {\n props: {\n id: this.invalidFeedbackId,\n forceShow: this.computedState === false\n },\n attrs: {\n role: 'alert',\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n domProps: domProps\n }, $slots['invalid-feedback'] || $slots['feedback']);\n }\n\n // Valid feeback text (explicitly hidden if state is invalid)\n var validFeedback = h(false);\n if (this.hasValidFeedback) {\n var _domProps = $slots['valid-feedback'] ? {} : { innerHTML: this.validFeedback || '' };\n validFeedback = h('b-form-valid-feedback', {\n props: {\n id: this.validFeedbackId,\n forceShow: this.computedState === true\n },\n attrs: {\n role: 'alert',\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n domProps: _domProps\n }, $slots['valid-feedback']);\n }\n\n // Form help text (description)\n var description = h(false);\n if (this.hasDescription) {\n var _domProps2 = $slots['description'] ? {} : { innerHTML: this.description || '' };\n description = h('b-form-text', { attrs: { id: this.descriptionId }, domProps: _domProps2 }, $slots['description']);\n }\n\n // Build content layout\n var content = h('div', {\n ref: 'content',\n class: this.inputLayoutClasses,\n attrs: this.labelFor ? {} : { role: 'group', 'aria-labelledby': this.labelId }\n }, [$slots['default'], invalidFeedback, validFeedback, description]);\n\n // Generate main form-group wrapper\n return h(this.labelFor ? 'div' : 'fieldset', {\n class: this.groupClasses,\n attrs: {\n id: this.safeId(),\n disabled: this.disabled,\n role: 'group',\n 'aria-invalid': this.computedState === false ? 'true' : null,\n 'aria-labelledby': this.labelId,\n 'aria-describedby': this.labelFor ? null : this.describedByIds\n }\n }, this.horizontal ? [h('b-form-row', {}, [legend, content])] : [legend, content]);\n },\n\n props: {\n horizontal: {\n type: Boolean,\n default: false\n },\n labelCols: {\n type: [Number, String],\n default: 3,\n validator: function validator(value) {\n if (Number(value) >= 1 && Number(value) <= 11) {\n return true;\n }\n warn('b-form-group: label-cols must be a value between 1 and 11');\n return false;\n }\n },\n breakpoint: {\n type: String,\n default: 'sm'\n },\n labelTextAlign: {\n type: String,\n default: null\n },\n label: {\n type: String,\n default: null\n },\n labelFor: {\n type: String,\n default: null\n },\n labelSize: {\n type: String,\n default: null\n },\n labelSrOnly: {\n type: Boolean,\n default: false\n },\n labelClass: {\n type: [String, Array],\n default: null\n },\n description: {\n type: String,\n default: null\n },\n invalidFeedback: {\n type: String,\n default: null\n },\n feedback: {\n // Deprecated in favor of invalid-feedback\n type: String,\n default: null\n },\n validFeedback: {\n type: String,\n default: null\n },\n validated: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n groupClasses: function groupClasses() {\n return ['b-form-group', 'form-group', this.validated ? 'was-validated' : null, this.stateClass];\n },\n labelClasses: function labelClasses() {\n return ['col-form-label', this.labelSize ? 'col-form-label-' + this.labelSize : null, this.labelTextAlign ? 'text-' + this.labelTextAlign : null, this.horizontal ? null : 'pt-0', this.labelClass];\n },\n labelLayoutClasses: function labelLayoutClasses() {\n return [this.horizontal ? 'col-' + this.breakpoint + '-' + this.labelCols : null];\n },\n inputLayoutClasses: function inputLayoutClasses() {\n return [this.horizontal ? 'col-' + this.breakpoint + '-' + (12 - Number(this.labelCols)) : null];\n },\n hasLabel: function hasLabel() {\n return this.label || this.$slots['label'];\n },\n hasDescription: function hasDescription() {\n return this.description || this.$slots['description'];\n },\n hasInvalidFeedback: function hasInvalidFeedback() {\n if (this.computedState === true) {\n // If the form-group state is explicityly valid, we return false\n return false;\n }\n return this.invalidFeedback || this.feedback || this.$slots['invalid-feedback'] || this.$slots['feedback'];\n },\n hasValidFeedback: function hasValidFeedback() {\n if (this.computedState === false) {\n // If the form-group state is explicityly invalid, we return false\n return false;\n }\n return this.validFeedback || this.$slots['valid-feedback'];\n },\n labelId: function labelId() {\n return this.hasLabel ? this.safeId('_BV_label_') : null;\n },\n descriptionId: function descriptionId() {\n return this.hasDescription ? this.safeId('_BV_description_') : null;\n },\n invalidFeedbackId: function invalidFeedbackId() {\n return this.hasInvalidFeedback ? this.safeId('_BV_feedback_invalid_') : null;\n },\n validFeedbackId: function validFeedbackId() {\n return this.hasValidFeedback ? this.safeId('_BV_feedback_valid_') : null;\n },\n describedByIds: function describedByIds() {\n return [this.descriptionId, this.invalidFeedbackId, this.validFeedbackId].filter(function (i) {\n return i;\n }).join(' ') || null;\n }\n },\n watch: {\n describedByIds: function describedByIds(add, remove) {\n if (add !== remove) {\n this.setInputDescribedBy(add, remove);\n }\n }\n },\n methods: {\n legendClick: function legendClick(evt) {\n var tagName = evt.target ? evt.target.tagName : '';\n if (/^(input|select|textarea|label)$/i.test(tagName)) {\n // If clicked an input inside legend, we just let the default happen\n return;\n }\n // Focus the first non-disabled visible input when the legend element is clicked\n var inputs = selectAll(SELECTOR, this.$refs.content).filter(isVisible);\n if (inputs[0] && inputs[0].focus) {\n inputs[0].focus();\n }\n },\n setInputDescribedBy: function setInputDescribedBy(add, remove) {\n // Sets the `aria-describedby` attribute on the input if label-for is set.\n // Optionally accepts a string of IDs to remove as the second parameter\n if (this.labelFor && typeof document !== 'undefined') {\n var input = select('#' + this.labelFor, this.$refs.content);\n if (input) {\n var adb = 'aria-describedby';\n var ids = (getAttr(input, adb) || '').split(/\\s+/);\n remove = (remove || '').split(/\\s+/);\n // Update ID list, preserving any original IDs\n ids = ids.filter(function (id) {\n return remove.indexOf(id) === -1;\n }).concat(add || '').join(' ').trim();\n if (ids) {\n setAttr(input, adb, ids);\n } else {\n removeAttr(input, adb);\n }\n }\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n // Set the adia-describedby IDs on the input specified by label-for\n // We do this in a nextTick to ensure the children have finished rendering\n _this.setInputDescribedBy(_this.describedByIds);\n });\n }\n};","import bFormGroup from './form-group';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormGroup: bFormGroup,\n bFormFieldset: bFormGroup\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import idMixin from '../../mixins/id';\nimport formRadioCheckMixin from '../../mixins/form-radio-check';\nimport formMixin from '../../mixins/form';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\nimport formCustomMixin from '../../mixins/form-custom';\nimport { isArray } from '../../utils/array';\nimport looseEqual from '../../utils/loose-equal';\n\nexport default {\n mixins: [idMixin, formRadioCheckMixin, formMixin, formSizeMixin, formStateMixin, formCustomMixin],\n render: function render(h) {\n var _this = this;\n\n var input = h('input', {\n ref: 'check',\n class: [this.is_ButtonMode ? '' : this.is_Plain ? 'form-check-input' : 'custom-control-input', this.get_StateClass],\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.computedLocalChecked,\n expression: 'computedLocalChecked'\n }],\n attrs: {\n id: this.safeId(),\n type: 'checkbox',\n name: this.get_Name,\n disabled: this.is_Disabled,\n required: this.is_Required,\n autocomplete: 'off',\n 'true-value': this.value,\n 'false-value': this.uncheckedValue,\n 'aria-required': this.is_Required ? 'true' : null\n },\n domProps: { value: this.value, checked: this.is_Checked },\n on: {\n focus: this.handleFocus,\n blur: this.handleFocus,\n change: this.emitChange,\n __c: function __c(evt) {\n var $$a = _this.computedLocalChecked;\n var $$el = evt.target;\n if (isArray($$a)) {\n // Multiple checkbox\n var $$v = _this.value;\n var $$i = _this._i($$a, $$v); // Vue's 'loose' Array.indexOf\n if ($$el.checked) {\n // Append value to array\n $$i < 0 && (_this.computedLocalChecked = $$a.concat([$$v]));\n } else {\n // Remove value from array\n $$i > -1 && (_this.computedLocalChecked = $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n }\n } else {\n // Single checkbox\n _this.computedLocalChecked = $$el.checked ? _this.value : _this.uncheckedValue;\n }\n }\n }\n });\n\n var description = h(this.is_ButtonMode ? 'span' : 'label', {\n class: this.is_ButtonMode ? null : this.is_Plain ? 'form-check-label' : 'custom-control-label',\n attrs: { for: this.is_ButtonMode ? null : this.safeId() }\n }, [this.$slots.default]);\n\n if (!this.is_ButtonMode) {\n return h('div', {\n class: [this.is_Plain ? 'form-check' : this.labelClasses, { 'form-check-inline': this.is_Plain && !this.is_Stacked }, { 'custom-control-inline': !this.is_Plain && !this.is_Stacked }]\n }, [input, description]);\n } else {\n return h('label', { class: [this.buttonClasses] }, [input, description]);\n }\n },\n\n props: {\n value: {\n default: true\n },\n uncheckedValue: {\n // Not applicable in multi-check mode\n default: false\n },\n indeterminate: {\n // Not applicable in multi-check mode\n type: Boolean,\n default: false\n }\n },\n computed: {\n labelClasses: function labelClasses() {\n return ['custom-control', 'custom-checkbox', this.get_Size ? 'form-control-' + this.get_Size : '', this.get_StateClass];\n },\n is_Checked: function is_Checked() {\n var checked = this.computedLocalChecked;\n if (isArray(checked)) {\n for (var i = 0; i < checked.length; i++) {\n if (looseEqual(checked[i], this.value)) {\n return true;\n }\n }\n return false;\n } else {\n return looseEqual(checked, this.value);\n }\n }\n },\n watch: {\n computedLocalChecked: function computedLocalChecked(newVal, oldVal) {\n if (looseEqual(newVal, oldVal)) {\n return;\n }\n this.$emit('input', newVal);\n this.$emit('update:indeterminate', this.$refs.check.indeterminate);\n },\n checked: function checked(newVal, oldVal) {\n if (this.is_Child || looseEqual(newVal, oldVal)) {\n return;\n }\n this.computedLocalChecked = newVal;\n },\n indeterminate: function indeterminate(newVal, oldVal) {\n this.setIndeterminate(newVal);\n }\n },\n methods: {\n emitChange: function emitChange(_ref) {\n var checked = _ref.target.checked;\n\n // Change event is only fired via user interaction\n // And we only emit the value of this checkbox\n if (this.is_Child || isArray(this.computedLocalChecked)) {\n this.$emit('change', checked ? this.value : null);\n if (this.is_Child) {\n // If we are a child of form-checkbbox-group, emit change on parent\n this.$parent.$emit('change', this.computedLocalChecked);\n }\n } else {\n // Single radio mode supports unchecked value\n this.$emit('change', checked ? this.value : this.uncheckedValue);\n }\n this.$emit('update:indeterminate', this.$refs.check.indeterminate);\n },\n setIndeterminate: function setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (this.is_Child || isArray(this.computedLocalChecked)) {\n return;\n }\n this.$refs.check.indeterminate = state;\n // Emit update event to prop\n this.$emit('update:indeterminate', this.$refs.check.indeterminate);\n }\n },\n mounted: function mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this.indeterminate);\n }\n};","import idMixin from '../../mixins/id';\nimport formMixin from '../../mixins/form';\nimport formOptionsMixin from '../../mixins/form-options';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\nimport formCustomMixin from '../../mixins/form-custom';\n\nimport bFormCheckbox from './form-checkbox';\n\nexport default {\n mixins: [idMixin, formMixin, formSizeMixin, formStateMixin, formCustomMixin, formOptionsMixin],\n components: { bFormCheckbox: bFormCheckbox },\n render: function render(h) {\n var _this = this;\n\n var $slots = this.$slots;\n\n var checks = this.formOptions.map(function (option, idx) {\n return h('b-form-checkbox', {\n key: 'check_' + idx + '_opt',\n props: {\n id: _this.safeId('_BV_check_' + idx + '_opt_'),\n name: _this.name,\n value: option.value,\n required: _this.name && _this.required,\n disabled: option.disabled\n }\n }, [h('span', { domProps: { innerHTML: option.text } })]);\n });\n return h('div', {\n class: this.groupClasses,\n attrs: {\n id: this.safeId(),\n role: 'group',\n tabindex: '-1',\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n }\n }, [$slots.first, checks, $slots.default]);\n },\n data: function data() {\n return {\n localChecked: this.checked || [],\n // Flag for children\n is_RadioCheckGroup: true\n };\n },\n\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n checked: {\n type: [String, Number, Object, Array, Boolean],\n default: null\n },\n validated: {\n type: Boolean,\n default: false\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n stacked: {\n type: Boolean,\n default: false\n },\n buttons: {\n // Render as button style\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: 'secondary'\n }\n },\n watch: {\n checked: function checked(newVal, oldVal) {\n this.localChecked = this.checked;\n },\n localChecked: function localChecked(newVal, oldVal) {\n this.$emit('input', newVal);\n }\n },\n computed: {\n groupClasses: function groupClasses() {\n if (this.buttons) {\n return ['btn-group-toggle', this.stacked ? 'btn-group-vertical' : 'btn-group', this.size ? 'btn-group-' + this.size : '', this.validated ? 'was-validated' : ''];\n }\n return [this.sizeFormClass, this.stacked && this.custom ? 'custom-controls-stacked' : '', this.validated ? 'was-validated' : ''];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (this.ariaInvalid === true || this.ariaInvalid === 'true' || this.ariaInvalid === '') {\n return 'true';\n }\n return this.get_State === false ? 'true' : null;\n },\n get_State: function get_State() {\n // Child radios sniff this value\n return this.computedState;\n }\n }\n};","import bFormCheckbox from './form-checkbox';\nimport bFormCheckboxGroup from './form-checkbox-group';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormCheckbox: bFormCheckbox,\n bCheckbox: bFormCheckbox,\n bCheck: bFormCheckbox,\n bFormCheckboxGroup: bFormCheckboxGroup,\n bCheckboxGroup: bFormCheckboxGroup,\n bCheckGroup: bFormCheckboxGroup\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import idMixin from '../../mixins/id';\nimport formMixin from '../../mixins/form';\nimport formStateMixin from '../../mixins/form-state';\nimport formRadioCheckMixin from '../../mixins/form-radio-check';\nimport looseEqual from '../../utils/loose-equal';\n\nexport default {\n mixins: [idMixin, formRadioCheckMixin, formMixin, formStateMixin],\n render: function render(h) {\n var _this = this;\n\n var input = h('input', {\n ref: 'radio',\n class: [this.is_ButtonMode ? '' : this.is_Plain ? 'form-check-input' : 'custom-control-input', this.get_StateClass],\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.computedLocalChecked,\n expression: 'computedLocalChecked'\n }],\n attrs: {\n id: this.safeId(),\n type: 'radio',\n name: this.get_Name,\n required: this.get_Name && this.is_Required,\n disabled: this.is_Disabled,\n autocomplete: 'off'\n },\n domProps: {\n value: this.value,\n checked: looseEqual(this.computedLocalChecked, this.value)\n },\n on: {\n focus: this.handleFocus,\n blur: this.handleFocus,\n change: this.emitChange,\n __c: function __c(evt) {\n _this.computedLocalChecked = _this.value;\n }\n }\n });\n\n var description = h(this.is_ButtonMode ? 'span' : 'label', {\n class: this.is_ButtonMode ? null : this.is_Plain ? 'form-check-label' : 'custom-control-label',\n attrs: { for: this.is_ButtonMode ? null : this.safeId() }\n }, [this.$slots.default]);\n\n if (!this.is_ButtonMode) {\n return h('div', {\n class: [this.is_Plain ? 'form-check' : this.labelClasses, { 'form-check-inline': this.is_Plain && !this.is_Stacked }, { 'custom-control-inline': !this.is_Plain && !this.is_Stacked }]\n }, [input, description]);\n } else {\n return h('label', { class: [this.buttonClasses] }, [input, description]);\n }\n },\n\n watch: {\n // Radio Groups can only have a single value, so our watchers are simple\n checked: function checked(newVal, oldVal) {\n this.computedLocalChecked = newVal;\n },\n computedLocalChceked: function computedLocalChceked(newVal, oldVal) {\n this.$emit('input', this.computedLocalChceked);\n }\n },\n computed: {\n is_Checked: function is_Checked() {\n return looseEqual(this.value, this.computedLocalChecked);\n },\n labelClasses: function labelClasses() {\n // Specific to radio\n return [this.get_Size ? 'form-control-' + this.get_Size : '', 'custom-control', 'custom-radio', this.get_StateClass];\n }\n },\n methods: {\n emitChange: function emitChange(_ref) {\n var checked = _ref.target.checked;\n\n // Change is only emitted on user interaction\n this.$emit('change', checked ? this.value : null);\n // If this is a child of form-radio-group, we emit a change event on it as well\n if (this.is_Child) {\n this.$parent.$emit('change', this.computedLocalChecked);\n }\n }\n }\n};","import idMixin from '../../mixins/id';\nimport formOptionsMixin from '../../mixins/form-options';\nimport formMixin from '../../mixins/form';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\nimport formCustomMixin from '../../mixins/form-custom';\nimport bFormRadio from './form-radio';\n\nexport default {\n mixins: [idMixin, formMixin, formSizeMixin, formStateMixin, formCustomMixin, formOptionsMixin],\n components: { bFormRadio: bFormRadio },\n render: function render(h) {\n var _this = this;\n\n var $slots = this.$slots;\n\n var radios = this.formOptions.map(function (option, idx) {\n return h('b-form-radio', {\n key: 'radio_' + idx + '_opt',\n props: {\n id: _this.safeId('_BV_radio_' + idx + '_opt_'),\n name: _this.name,\n value: option.value,\n required: Boolean(_this.name && _this.required),\n disabled: option.disabled\n }\n }, [h('span', { domProps: { innerHTML: option.text } })]);\n });\n return h('div', {\n class: this.groupClasses,\n attrs: {\n id: this.safeId(),\n role: 'radiogroup',\n tabindex: '-1',\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n }\n }, [$slots.first, radios, $slots.default]);\n },\n data: function data() {\n return {\n localChecked: this.checked,\n // Flag for children\n is_RadioCheckGroup: true\n };\n },\n\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n checked: {\n type: [String, Object, Number, Boolean],\n default: null\n },\n validated: {\n // Used for applying hte `was-validated` class to the group\n type: Boolean,\n default: false\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n stacked: {\n type: Boolean,\n default: false\n },\n buttons: {\n // Render as button style\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: 'secondary'\n }\n },\n watch: {\n checked: function checked(newVal, oldVal) {\n this.localChecked = this.checked;\n },\n localChecked: function localChecked(newVal, oldVal) {\n this.$emit('input', newVal);\n }\n },\n computed: {\n groupClasses: function groupClasses() {\n if (this.buttons) {\n return ['btn-group-toggle', this.stacked ? 'btn-group-vertical' : 'btn-group', this.size ? 'btn-group-' + this.size : '', this.validated ? 'was-validated' : ''];\n }\n return [this.sizeFormClass, this.stacked && this.custom ? 'custom-controls-stacked' : '', this.validated ? 'was-validated' : ''];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (this.ariaInvalid === true || this.ariaInvalid === 'true' || this.ariaInvalid === '') {\n return 'true';\n }\n return this.get_State === false ? 'true' : null;\n },\n get_State: function get_State() {\n // Required by child radios\n return this.computedState;\n }\n }\n};","import bFormRadio from './form-radio';\nimport bFormRadioGroup from './form-radio-group';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormRadio: bFormRadio,\n bRadio: bFormRadio,\n bFormRadioGroup: bFormRadioGroup,\n bRadioGroup: bFormRadioGroup\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import idMixin from '../../mixins/id';\nimport formMixin from '../../mixins/form';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\nimport { arrayIncludes } from '../../utils/array';\n\n// Import styles\nimport './form-input.css';\n\n// Valid supported input types\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week'];\n\nexport default {\n mixins: [idMixin, formMixin, formSizeMixin, formStateMixin],\n render: function render(h) {\n return h('input', {\n ref: 'input',\n class: this.inputClass,\n attrs: {\n id: this.safeId(),\n name: this.name,\n type: this.localType,\n disabled: this.disabled,\n required: this.required,\n readonly: this.readonly || this.plaintext,\n placeholder: this.placeholder,\n autocomplete: this.autocomplete || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid,\n value: this.value\n },\n on: {\n input: this.onInput,\n change: this.onChange\n }\n });\n },\n\n props: {\n value: {\n default: null\n },\n type: {\n type: String,\n default: 'text',\n validator: function validator(type) {\n return arrayIncludes(TYPES, type);\n }\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n plaintext: {\n type: Boolean,\n default: false\n },\n autocomplete: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n formatter: {\n type: Function\n },\n lazyFormatter: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n localType: function localType() {\n // We only allow certain types\n return arrayIncludes(TYPES, this.type) ? this.type : 'text';\n },\n inputClass: function inputClass() {\n return [this.plaintext ? 'form-control-plaintext' : 'form-control', this.sizeFormClass, this.stateClass];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (!this.ariaInvalid || this.ariaInvalid === 'false') {\n // this.ariaInvalid is null or false or 'false'\n return this.computedState === false ? 'true' : null;\n }\n if (this.ariaInvalid === true) {\n // User wants explicit aria-invalid=true\n return 'true';\n }\n // Most likely a string value (which could be 'true')\n return this.ariaInvalid;\n }\n },\n mounted: function mounted() {\n if (this.value) {\n var fValue = this.format(this.value, null);\n this.setValue(fValue);\n }\n },\n\n watch: {\n value: function value(newVal) {\n if (this.lazyFormatter) {\n this.setValue(newVal);\n } else {\n var fValue = this.format(newVal, null);\n this.setValue(fValue);\n }\n }\n },\n methods: {\n format: function format(value, e) {\n if (this.formatter) {\n return this.formatter(value, e);\n }\n return value;\n },\n setValue: function setValue(value) {\n this.$emit('input', value);\n // When formatter removes last typed character, value of text input should update to formatted value\n this.$refs.input.value = value;\n },\n onInput: function onInput(evt) {\n var value = evt.target.value;\n\n if (this.lazyFormatter) {\n this.setValue(value);\n } else {\n var fValue = this.format(value, evt);\n this.setValue(fValue);\n }\n },\n onChange: function onChange(evt) {\n var fValue = this.format(evt.target.value, evt);\n this.setValue(fValue);\n this.$emit('change', fValue);\n },\n focus: function focus() {\n if (!this.disabled) {\n this.$el.focus();\n }\n }\n }\n};","import bFormInput from './form-input';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormInput: bFormInput,\n bInput: bFormInput\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import idMixin from '../../mixins/id';\nimport formMixin from '../../mixins/form';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\n\nexport default {\n mixins: [idMixin, formMixin, formSizeMixin, formStateMixin],\n render: function render(h) {\n var _this = this;\n\n return h('textarea', {\n ref: 'input',\n class: this.inputClass,\n style: this.inputStyle,\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.localValue,\n expression: 'localValue'\n }],\n domProps: { value: this.value },\n attrs: {\n id: this.safeId(),\n name: this.name,\n disabled: this.disabled,\n placeholder: this.placeholder,\n required: this.required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n rows: this.rowsCount,\n wrap: this.wrap || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n },\n on: {\n input: function input(evt) {\n _this.localValue = evt.target.value;\n }\n }\n });\n },\n data: function data() {\n return {\n localValue: this.value\n };\n },\n\n props: {\n value: {\n type: String,\n default: ''\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n plaintext: {\n type: Boolean,\n default: false\n },\n autocomplete: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n rows: {\n type: [Number, String],\n default: null\n },\n maxRows: {\n type: [Number, String],\n default: null\n },\n wrap: {\n // 'soft', 'hard' or 'off'. Browser default is 'soft'\n type: String,\n default: 'soft'\n },\n noResize: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n rowsCount: function rowsCount() {\n // A better option could be based on https://codepen.io/vsync/pen/frudD\n // As linebreaks aren't added until the input is submitted\n var rows = parseInt(this.rows, 10) || 1;\n var maxRows = parseInt(this.maxRows, 10) || 0;\n var lines = (this.localValue || '').toString().split('\\n').length;\n return maxRows ? Math.min(maxRows, Math.max(rows, lines)) : Math.max(rows, lines);\n },\n inputClass: function inputClass() {\n return [this.plaintext ? 'form-control-plaintext' : 'form-control', this.sizeFormClass, this.stateClass];\n },\n inputStyle: function inputStyle() {\n // We set width 100% in plaintext mode to get around a shortcoming in bootstrap CSS\n // setting noResize to true will disable the ability for the user to resize the textarea\n return {\n width: this.plaintext ? '100%' : null,\n resize: this.noResize ? 'none' : null\n };\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (!this.ariaInvalid || this.ariaInvalid === 'false') {\n // this.ariaInvalid is null or false or 'false'\n return this.computedState === false ? 'true' : null;\n }\n if (this.ariaInvalid === true) {\n // User wants explicit aria-invalid=true\n return 'true';\n }\n // Most likely a string value (which could be the string 'true')\n return this.ariaInvalid;\n }\n },\n watch: {\n value: function value(newVal, oldVal) {\n // Update our localValue\n if (newVal !== oldVal) {\n this.localValue = newVal;\n }\n },\n localValue: function localValue(newVal, oldVal) {\n // update Parent value\n if (newVal !== oldVal) {\n this.$emit('input', newVal);\n }\n }\n },\n methods: {\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n this.$el.focus();\n }\n }\n }\n};","import bFormTextarea from './form-textarea';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormTextarea: bFormTextarea,\n bTextarea: bFormTextarea\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import idMixin from '../../mixins/id';\nimport formMixin from '../../mixins/form';\nimport formStateMixin from '../../mixins/form-state';\nimport formCustomMixin from '../../mixins/form-custom';\nimport { from as arrayFrom } from '../../utils/array';\n\nexport default {\n mixins: [idMixin, formMixin, formStateMixin, formCustomMixin],\n render: function render(h) {\n // Form Input\n var input = h('input', {\n ref: 'input',\n class: [{\n 'form-control-file': this.plain,\n 'custom-file-input': this.custom,\n focus: this.custom && this.hasFocus\n }, this.stateClass],\n attrs: {\n type: 'file',\n id: this.safeId(),\n name: this.name,\n disabled: this.disabled,\n required: this.required,\n capture: this.capture || null,\n accept: this.accept || null,\n multiple: this.multiple,\n webkitdirectory: this.directory,\n 'aria-required': this.required ? 'true' : null,\n 'aria-describedby': this.plain ? null : this.safeId('_BV_file_control_')\n },\n on: {\n change: this.onFileChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler\n }\n });\n\n if (this.plain) {\n return input;\n }\n\n // Overlay Labels\n var label = h('label', {\n class: ['custom-file-label', this.dragging ? 'dragging' : null],\n attrs: {\n id: this.safeId('_BV_file_control_')\n }\n }, this.selectLabel);\n\n // Return rendered custom file input\n return h('div', {\n class: ['custom-file', 'b-form-file', this.stateClass],\n attrs: { id: this.safeId('_BV_file_outer_') },\n on: { dragover: this.dragover }\n }, [input, label]);\n },\n data: function data() {\n return {\n selectedFile: null,\n dragging: false,\n hasFocus: false\n };\n },\n\n props: {\n accept: {\n type: String,\n default: ''\n },\n // Instruct input to capture from camera\n capture: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: undefined\n },\n multiple: {\n type: Boolean,\n default: false\n },\n directory: {\n type: Boolean,\n default: false\n },\n noTraverse: {\n type: Boolean,\n default: false\n },\n noDrop: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n selectLabel: function selectLabel() {\n // No file choosen\n if (!this.selectedFile || this.selectedFile.length === 0) {\n return this.placeholder;\n }\n\n // Multiple files\n if (this.multiple) {\n if (this.selectedFile.length === 1) {\n return this.selectedFile[0].name;\n }\n return this.selectedFile.map(function (file) {\n return file.name;\n }).join(', ');\n }\n\n // Single file\n return this.selectedFile.name;\n }\n },\n watch: {\n selectedFile: function selectedFile(newVal, oldVal) {\n if (newVal === oldVal) {\n return;\n }\n if (!newVal && this.multiple) {\n this.$emit('input', []);\n } else {\n this.$emit('input', newVal);\n }\n }\n },\n methods: {\n focusHandler: function focusHandler(evt) {\n // Boostrap v4.beta doesn't have focus styling for custom file input\n // Firefox has a borked '[type=file]:focus ~ sibling' selector issue,\n // So we add a 'focus' class to get around these \"bugs\"\n if (this.plain || evt.type === 'focusout') {\n this.hasFocus = false;\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true;\n }\n },\n reset: function reset() {\n try {\n // Wrapped in try in case IE < 11 craps out\n this.$refs.input.value = '';\n } catch (e) {}\n // IE < 11 doesn't support setting input.value to '' or null\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well.\n this.$refs.input.type = '';\n this.$refs.input.type = 'file';\n this.selectedFile = this.multiple ? [] : null;\n },\n onFileChange: function onFileChange(evt) {\n var _this = this;\n\n // Always emit original event\n this.$emit('change', evt);\n // Check if special `items` prop is available on event (drop mode)\n // Can be disabled by setting no-traverse\n var items = evt.dataTransfer && evt.dataTransfer.items;\n if (items && !this.noTraverse) {\n var queue = [];\n for (var i = 0; i < items.length; i++) {\n var item = items[i].webkitGetAsEntry();\n if (item) {\n queue.push(this.traverseFileTree(item));\n }\n }\n Promise.all(queue).then(function (filesArr) {\n _this.setFiles(arrayFrom(filesArr));\n });\n return;\n }\n // Normal handling\n this.setFiles(evt.target.files || evt.dataTransfer.files);\n },\n setFiles: function setFiles(files) {\n if (!files) {\n this.selectedFile = null;\n return;\n }\n if (!this.multiple) {\n this.selectedFile = files[0];\n return;\n }\n // Convert files to array\n var filesArray = [];\n for (var i = 0; i < files.length; i++) {\n if (files[i].type.match(this.accept)) {\n filesArray.push(files[i]);\n }\n }\n this.selectedFile = filesArray;\n },\n dragover: function dragover(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n if (this.noDrop || !this.custom) {\n return;\n }\n this.dragging = true;\n evt.dataTransfer.dropEffect = 'copy';\n },\n dragleave: function dragleave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragging = false;\n },\n drop: function drop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n if (this.noDrop) {\n return;\n }\n this.dragging = false;\n if (evt.dataTransfer.files && evt.dataTransfer.files.length > 0) {\n this.onFileChange(evt);\n }\n },\n traverseFileTree: function traverseFileTree(item, path) {\n var _this2 = this;\n\n // Based on http://stackoverflow.com/questions/3590058\n return new Promise(function (resolve) {\n path = path || '';\n if (item.isFile) {\n // Get file\n item.file(function (file) {\n file.$path = path; // Inject $path to file obj\n resolve(file);\n });\n } else if (item.isDirectory) {\n // Get folder contents\n item.createReader().readEntries(function (entries) {\n var queue = [];\n for (var i = 0; i < entries.length; i++) {\n queue.push(_this2.traverseFileTree(entries[i], path + item.name + '/'));\n }\n Promise.all(queue).then(function (filesArr) {\n resolve(arrayFrom(filesArr));\n });\n });\n }\n });\n }\n }\n};","import bFormFile from './form-file';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormFile: bFormFile,\n bFile: bFormFile\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import idMixin from '../../mixins/id';\nimport formOptionsMixin from '../../mixins/form-options';\nimport formMixin from '../../mixins/form';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\nimport formCustomMixin from '../../mixins/form-custom';\nimport { from as arrayFrom } from '../../utils/array';\n\nexport default {\n mixins: [idMixin, formMixin, formSizeMixin, formStateMixin, formCustomMixin, formOptionsMixin],\n render: function render(h) {\n var _this = this;\n\n var $slots = this.$slots;\n var options = this.formOptions.map(function (option, index) {\n return h('option', {\n key: 'option_' + index + '_opt',\n attrs: { disabled: Boolean(option.disabled) },\n domProps: { innerHTML: option.text, value: option.value }\n });\n });\n return h('select', {\n ref: 'input',\n class: this.inputClass,\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.localValue,\n expression: 'localValue'\n }],\n attrs: {\n id: this.safeId(),\n name: this.name,\n multiple: this.multiple || null,\n size: this.computedSelectSize,\n disabled: this.disabled,\n required: this.required,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n },\n on: {\n change: function change(evt) {\n var target = evt.target;\n var selectedVal = arrayFrom(target.options).filter(function (o) {\n return o.selected;\n }).map(function (o) {\n return '_value' in o ? o._value : o.value;\n });\n _this.localValue = target.multiple ? selectedVal : selectedVal[0];\n _this.$emit('change', _this.localValue);\n }\n }\n }, [$slots.first, options, $slots.default]);\n },\n data: function data() {\n return {\n localValue: this.value\n };\n },\n\n watch: {\n value: function value(newVal, oldVal) {\n this.localValue = newVal;\n },\n localValue: function localValue(newVal, oldVal) {\n this.$emit('input', this.localValue);\n }\n },\n props: {\n value: {},\n multiple: {\n type: Boolean,\n default: false\n },\n selectSize: {\n // Browsers default size to 0, which shows 4 rows in most browsers in multiple mode\n // Size of 1 can bork out firefox\n type: Number,\n default: 0\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n }\n },\n computed: {\n computedSelectSize: function computedSelectSize() {\n // Custom selects with a size of zero causes the arrows to be hidden,\n // so dont render the size attribute in this case\n return !this.plain && this.selectSize === 0 ? null : this.selectSize;\n },\n inputClass: function inputClass() {\n return ['form-control', this.stateClass, this.sizeFormClass,\n // Awaiting for https://github.com/twbs/bootstrap/issues/23058\n this.plain ? null : 'custom-select', this.plain || !this.size ? null : 'custom-select-' + this.size];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (this.ariaInvalid === true || this.ariaInvalid === 'true') {\n return 'true';\n }\n return this.stateClass === 'is-invalid' ? 'true' : null;\n }\n }\n};","import bFormSelect from './form-select';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormSelect: bFormSelect,\n bSelect: bFormSelect\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import bImg from './img';\nimport { isVisible, getBCR, eventOn, eventOff } from '../../utils/dom';\nvar THROTTLE = 100;\n\nexport default {\n components: { bImg: bImg },\n render: function render(h) {\n return h('b-img', {\n props: {\n src: this.computedSrc,\n alt: this.alt,\n blank: this.computedBlank,\n blankColor: this.blankColor,\n width: this.computedWidth,\n height: this.computedHeight,\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 data: function data() {\n return {\n isShown: false,\n scrollTimeout: null\n };\n },\n\n props: {\n src: {\n type: String,\n default: null,\n required: true\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: 'transparent'\n },\n blankWidth: {\n type: [Number, String],\n default: null\n },\n blankHeight: {\n type: [Number, String],\n default: null\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 type: [Number, String],\n default: 360\n },\n throttle: {\n type: [Number, String],\n default: THROTTLE\n }\n },\n computed: {\n computedSrc: function computedSrc() {\n return !this.blankSrc || this.isShown ? this.src : this.blankSrc;\n },\n computedBlank: function computedBlank() {\n return !(this.isShown || this.blankSrc);\n },\n computedWidth: function computedWidth() {\n return this.isShown ? this.width : this.blankWidth || this.width;\n },\n computedHeight: function computedHeight() {\n return this.isShown ? this.height : this.blankHeight || this.height;\n }\n },\n mounted: function mounted() {\n this.setListeners(true);\n this.checkView();\n },\n activated: function activated() {\n this.setListeners(true);\n this.checkView();\n },\n deactivated: function deactivated() {\n this.setListeners(false);\n },\n beforeDdestroy: function beforeDdestroy() {\n this.setListeners(false);\n },\n\n methods: {\n setListeners: function setListeners(on) {\n clearTimeout(this.scrollTimer);\n this.scrollTimeout = null;\n var root = window;\n if (on) {\n eventOn(root, 'scroll', this.onScroll);\n eventOn(root, 'resize', this.onScroll);\n eventOn(root, 'orientationchange', this.onScroll);\n } else {\n eventOff(root, 'scroll', this.onScroll);\n eventOff(root, 'resize', this.onScroll);\n eventOff(root, 'orientationchange', this.onScroll);\n }\n },\n checkView: function checkView() {\n // check bounding box + offset to see if we should show\n if (!isVisible(this.$el)) {\n // Element is hidden, so skip for now\n return;\n }\n var offset = parseInt(this.offset, 10) || 0;\n var docElement = document.documentElement;\n var view = {\n l: 0 - offset,\n t: 0 - offset,\n b: docElement.clientHeight + offset,\n r: docElement.clientWidth + offset\n };\n var box = getBCR(this.$el);\n if (box.right >= view.l && box.bottom >= view.t && box.left <= view.r && box.top <= view.b) {\n // image is in view (or about to be in view)\n this.isShown = true;\n this.setListeners(false);\n }\n },\n onScroll: function onScroll() {\n if (this.isShown) {\n this.setListeners(false);\n } else {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = setTimeout(this.checkView, parseInt(this.throttle, 10) || THROTTLE);\n }\n }\n }\n};","import bImg from './img';\nimport bImgLazy from './img-lazy';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bImg: bImg,\n bImgLazy: bImgLazy\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport Container from '../layout/container';\n\nexport var props = {\n fluid: {\n type: Boolean,\n default: false\n },\n containerFluid: {\n type: Boolean,\n default: false\n },\n header: {\n type: String,\n default: null\n },\n headerTag: {\n type: String,\n default: 'h1'\n },\n headerLevel: {\n type: [Number, String],\n default: '3'\n },\n lead: {\n type: String,\n default: null\n },\n leadTag: {\n type: String,\n default: 'p'\n },\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\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class2;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots;\n\n // The order of the conditionals matter.\n // We are building the component markup in order.\n var childNodes = [];\n var $slots = slots();\n\n // Header\n if (props.header || $slots.header) {\n childNodes.push(h(props.headerTag, {\n class: _defineProperty({}, 'display-' + props.headerLevel, Boolean(props.headerLevel))\n }, $slots.header || props.header));\n }\n\n // Lead\n if (props.lead || $slots.lead) {\n childNodes.push(h(props.leadTag, { staticClass: 'lead' }, $slots.lead || props.lead));\n }\n\n // Default slot\n if ($slots.default) {\n childNodes.push($slots.default);\n }\n\n // If fluid, wrap content in a container/container-fluid\n if (props.fluid) {\n // Children become a child of a container\n childNodes = [h(Container, { props: { 'fluid': props.containerFluid } }, childNodes)];\n }\n // Return the jumbotron\n return h(props.tag, mergeData(data, {\n staticClass: 'jumbotron',\n class: (_class2 = {\n 'jumbotron-fluid': props.fluid\n }, _defineProperty(_class2, 'text-' + props.textVariant, Boolean(props.textVariant)), _defineProperty(_class2, 'bg-' + props.bgVariant, Boolean(props.bgVariant)), _defineProperty(_class2, 'border-' + props.borderVariant, Boolean(props.borderVariant)), _defineProperty(_class2, 'border', Boolean(props.borderVariant)), _class2)\n }), childNodes);\n }\n};","import bJumbotron from './jumbotron';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bJumbotron: bJumbotron\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import bLink from './link';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bLink: bLink\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n flush: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var componentData = {\n staticClass: 'list-group',\n class: { 'list-group-flush': props.flush }\n };\n\n return h(props.tag, mergeData(data, componentData), children);\n }\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport pluckProps from '../../utils/pluck-props';\nimport { assign } from '../../utils/object';\nimport { arrayIncludes } from '../../utils/array';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nvar actionTags = ['a', 'router-link', 'button', 'b-link'];\nvar linkProps = linkPropsFactory();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\n\nexport var props = assign({\n tag: {\n type: String,\n default: 'div'\n },\n action: {\n type: Boolean,\n default: null\n },\n button: {\n type: Boolean,\n default: null\n },\n variant: {\n type: String,\n default: null\n }\n}, linkProps);\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var tag = props.button ? 'button' : !props.href && !props.to ? props.tag : Link;\n var isAction = Boolean(props.href || props.to || props.action || props.button || arrayIncludes(actionTags, props.tag));\n var componentData = {\n staticClass: 'list-group-item',\n class: (_class = {}, _defineProperty(_class, 'list-group-item-' + props.variant, Boolean(props.variant)), _defineProperty(_class, 'list-group-item-action', isAction), _defineProperty(_class, 'active', props.active), _defineProperty(_class, 'disabled', props.disabled), _class),\n attrs: tag === 'button' && props.disabled ? { disabled: true } : {},\n props: props.button ? {} : pluckProps(linkProps, props)\n };\n\n return h(tag, mergeData(data, componentData), children);\n }\n};","import bListGroup from './list-group';\nimport bListGroupItem from './list-group-item';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bListGroup: bListGroup,\n bListGroupItem: bListGroupItem\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n verticalAlign: {\n type: String,\n default: 'top'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'd-flex',\n class: _defineProperty({}, 'align-self-' + props.verticalAlign, props.verticalAlign)\n }), children);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\nimport MediaBody from './media-body';\nimport MediaAside from './media-aside';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n rightAlign: {\n type: Boolean,\n default: false\n },\n verticalAlign: {\n type: String,\n default: 'top'\n },\n noBody: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n children = _ref.children;\n\n var childNodes = props.noBody ? children : [];\n var $slots = slots();\n\n if (!props.noBody) {\n if ($slots.aside && !props.rightAlign) {\n childNodes.push(h(MediaAside, { staticClass: 'mr-3', props: { verticalAlign: props.verticalAlign } }, $slots.aside));\n }\n\n childNodes.push(h(MediaBody, $slots.default));\n\n if ($slots.aside && props.rightAlign) {\n childNodes.push(h(MediaAside, { staticClass: 'ml-3', props: { verticalAlign: props.verticalAlign } }, $slots.aside));\n }\n }\n\n return h(props.tag, mergeData(data, { staticClass: 'media' }), childNodes);\n }\n};","import bMedia from './media';\nimport bMediaAside from './media-aside';\nimport bMediaBody from './media-body';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bMedia: bMedia,\n bMediaAside: bMediaAside,\n bMediaBody: bMediaBody\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport bBtn from '../button/button';\nimport bBtnClose from '../button/button-close';\nimport idMixin from '../../mixins/id';\nimport listenOnRootMixin from '../../mixins/listen-on-root';\nimport observeDom from '../../utils/observe-dom';\nimport warn from '../../utils/warn';\nimport KeyCodes from '../../utils/key-codes';\nimport BvEvent from '../../utils/bv-event.class';\n\nimport { isVisible, selectAll, select, getBCR, addClass, removeClass, hasClass, setAttr, removeAttr, getAttr, hasAttr, eventOn, eventOff } from '../../utils/dom';\n\n// Selectors for padding/margin adjustments\nvar Selector = {\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top',\n NAVBAR_TOGGLER: '.navbar-toggler'\n\n // ObserveDom config\n};var OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n};\n\nexport default {\n mixins: [idMixin, listenOnRootMixin],\n components: { bBtn: bBtn, bBtnClose: bBtnClose },\n render: function render(h) {\n var _this = this;\n\n var $slots = this.$slots;\n // Modal Header\n var header = h(false);\n if (!this.hideHeader) {\n var modalHeader = $slots['modal-header'];\n if (!modalHeader) {\n var closeButton = h(false);\n if (!this.hideHeaderClose) {\n closeButton = h('b-btn-close', {\n props: {\n disabled: this.is_transitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerTextVariant\n },\n on: {\n click: function click(evt) {\n _this.hide('header-close');\n }\n }\n }, [$slots['modal-header-close']]);\n }\n modalHeader = [h(this.titleTag, { class: ['modal-title'] }, [$slots['modal-title'] || this.title]), closeButton];\n }\n header = h('header', {\n ref: 'header',\n class: this.headerClasses,\n attrs: { id: this.safeId('__BV_modal_header_') }\n }, [modalHeader]);\n }\n // Modal Body\n var body = h('div', {\n ref: 'body',\n class: this.bodyClasses,\n attrs: { id: this.safeId('__BV_modal_body_') }\n }, [$slots.default]);\n // Modal Footer\n var footer = h(false);\n if (!this.hideFooter) {\n var modalFooter = $slots['modal-footer'];\n if (!modalFooter) {\n var cancelButton = h(false);\n if (!this.okOnly) {\n cancelButton = h('b-btn', {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.is_transitioning\n },\n on: {\n click: function click(evt) {\n _this.hide('cancel');\n }\n }\n }, [$slots['modal-cancel'] || this.cancelTitle]);\n }\n var okButton = h('b-btn', {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.is_transitioning\n },\n on: {\n click: function click(evt) {\n _this.hide('ok');\n }\n }\n }, [$slots['modal-ok'] || this.okTitle]);\n modalFooter = [cancelButton, okButton];\n }\n footer = h('footer', {\n ref: 'footer',\n class: this.footerClasses,\n attrs: { id: this.safeId('__BV_modal_footer_') }\n }, [modalFooter]);\n }\n // Assemble Modal Content\n var modalContent = h('div', {\n ref: 'content',\n class: ['modal-content'],\n attrs: {\n tabindex: '-1',\n role: 'document',\n 'aria-labelledby': this.hideHeader ? null : this.safeId('__BV_modal_header_'),\n 'aria-describedby': this.safeId('__BV_modal_body_')\n },\n on: {\n focusout: this.onFocusout,\n click: function click(evt) {\n evt.stopPropagation();\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/1528\n _this.$root.$emit('bv::dropdown::shown');\n }\n }\n }, [header, body, footer]);\n // Modal Dialog wrapper\n var modalDialog = h('div', { class: this.dialogClasses }, [modalContent]);\n // Modal\n var modal = h('div', {\n ref: 'modal',\n class: this.modalClasses,\n directives: [{\n name: 'show',\n rawName: 'v-show',\n value: this.is_visible,\n expression: 'is_visible'\n }],\n attrs: {\n id: this.safeId(),\n role: 'dialog',\n 'aria-hidden': this.is_visible ? null : 'true'\n },\n on: {\n click: this.onClickOut,\n keydown: this.onEsc\n }\n }, [modalDialog]);\n // Wrap modal in transition\n modal = h('transition', {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n 'before-enter': this.onBeforeEnter,\n enter: this.onEnter,\n 'after-enter': this.onAfterEnter,\n 'before-leave': this.onBeforeLeave,\n leave: this.onLeave,\n 'after-leave': this.onAfterLeave\n }\n }, [modal]);\n // Modal Backdrop\n var backdrop = h(false);\n if (!this.hideBackdrop && (this.is_visible || this.is_transitioning)) {\n backdrop = h('div', {\n class: this.backdropClasses,\n attrs: { id: this.safeId('__BV_modal_backdrop_') }\n });\n }\n // Assemble modal and backdrop\n var outer = h(false);\n if (!this.is_hidden) {\n outer = h('div', { attrs: { id: this.safeId('__BV_modal_outer_') } }, [modal, backdrop]);\n }\n // Wrap in DIV to maintain thi.$el reference for hide/show method aceess\n return h('div', {}, [outer]);\n },\n data: function data() {\n return {\n is_hidden: this.lazy || false,\n is_visible: false,\n is_transitioning: false,\n is_show: false,\n is_block: false,\n scrollbarWidth: 0,\n isBodyOverflowing: false,\n return_focus: this.returnFocus || null\n };\n },\n\n model: {\n prop: 'visible',\n event: 'change'\n },\n props: {\n title: {\n type: String,\n default: ''\n },\n titleTag: {\n type: String,\n default: 'h5'\n },\n size: {\n type: String,\n default: 'md'\n },\n centered: {\n type: Boolean,\n default: false\n },\n buttonSize: {\n type: String,\n default: ''\n },\n noFade: {\n type: Boolean,\n default: false\n },\n noCloseOnBackdrop: {\n type: Boolean,\n default: false\n },\n noCloseOnEsc: {\n type: Boolean,\n default: false\n },\n noEnforceFocus: {\n type: Boolean,\n default: false\n },\n headerBgVariant: {\n type: String,\n default: null\n },\n headerBorderVariant: {\n type: String,\n default: null\n },\n headerTextVariant: {\n type: String,\n default: null\n },\n headerClass: {\n type: [String, Array],\n default: null\n },\n bodyBgVariant: {\n type: String,\n default: null\n },\n bodyTextVariant: {\n type: String,\n default: null\n },\n modalClass: {\n type: [String, Array],\n default: null\n },\n bodyClass: {\n type: [String, Array],\n default: null\n },\n footerBgVariant: {\n type: String,\n default: null\n },\n footerBorderVariant: {\n type: String,\n default: null\n },\n footerTextVariant: {\n type: String,\n default: null\n },\n footerClass: {\n type: [String, Array],\n default: null\n },\n hideHeader: {\n type: Boolean,\n default: false\n },\n hideFooter: {\n type: Boolean,\n default: false\n },\n hideHeaderClose: {\n type: Boolean,\n default: false\n },\n hideBackdrop: {\n type: Boolean,\n default: false\n },\n okOnly: {\n type: Boolean,\n default: false\n },\n okDisabled: {\n type: Boolean,\n default: false\n },\n cancelDisabled: {\n type: Boolean,\n default: false\n },\n visible: {\n type: Boolean,\n default: false\n },\n returnFocus: {\n default: null\n },\n headerCloseLabel: {\n type: String,\n default: 'Close'\n },\n cancelTitle: {\n type: String,\n default: 'Cancel'\n },\n okTitle: {\n type: String,\n default: 'OK'\n },\n cancelVariant: {\n type: String,\n default: 'secondary'\n },\n okVariant: {\n type: String,\n default: 'primary'\n },\n lazy: {\n type: Boolean,\n default: false\n },\n busy: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n modalClasses: function modalClasses() {\n return ['modal', {\n fade: !this.noFade,\n show: this.is_show,\n 'd-block': this.is_block\n }, this.modalClass];\n },\n dialogClasses: function dialogClasses() {\n var _ref;\n\n return ['modal-dialog', (_ref = {}, _defineProperty(_ref, 'modal-' + this.size, Boolean(this.size)), _defineProperty(_ref, 'modal-dialog-centered', this.centered), _ref)];\n },\n backdropClasses: function backdropClasses() {\n return ['modal-backdrop', {\n fade: !this.noFade,\n show: this.is_show || this.noFade\n }];\n },\n headerClasses: function headerClasses() {\n var _ref2;\n\n return ['modal-header', (_ref2 = {}, _defineProperty(_ref2, 'bg-' + this.headerBgVariant, Boolean(this.headerBgVariant)), _defineProperty(_ref2, 'text-' + this.headerTextVariant, Boolean(this.headerTextVariant)), _defineProperty(_ref2, 'border-' + this.headerBorderVariant, Boolean(this.headerBorderVariant)), _ref2), this.headerClass];\n },\n bodyClasses: function bodyClasses() {\n var _ref3;\n\n return ['modal-body', (_ref3 = {}, _defineProperty(_ref3, 'bg-' + this.bodyBgVariant, Boolean(this.bodyBgVariant)), _defineProperty(_ref3, 'text-' + this.bodyTextVariant, Boolean(this.bodyTextVariant)), _ref3), this.bodyClass];\n },\n footerClasses: function footerClasses() {\n var _ref4;\n\n return ['modal-footer', (_ref4 = {}, _defineProperty(_ref4, 'bg-' + this.footerBgVariant, Boolean(this.footerBgVariant)), _defineProperty(_ref4, 'text-' + this.footerTextVariant, Boolean(this.footerTextVariant)), _defineProperty(_ref4, 'border-' + this.footerBorderVariant, Boolean(this.footerBorderVariant)), _ref4), this.footerClass];\n }\n },\n watch: {\n visible: function visible(newVal, oldVal) {\n if (newVal === oldVal) {\n return;\n }\n this[newVal ? 'show' : 'hide']();\n }\n },\n methods: {\n // Public Methods\n show: function show() {\n if (this.is_visible) {\n return;\n }\n var showEvt = new BvEvent('show', {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.modal,\n relatedTarget: null\n });\n this.emitEvent(showEvt);\n if (showEvt.defaultPrevented || this.is_visible) {\n // Don't show if canceled\n return;\n }\n if (hasClass(document.body, 'modal-open')) {\n // If another modal is already open, wait for it to close\n this.$root.$once('bv::modal::hidden', this.doShow);\n } else {\n // Show the modal\n this.doShow();\n }\n },\n hide: function hide(trigger) {\n if (!this.is_visible) {\n return;\n }\n var hideEvt = new BvEvent('hide', {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.modal,\n // this could be the trigger element/component reference\n relatedTarget: null,\n isOK: trigger || null,\n trigger: trigger || null,\n cancel: function cancel() {\n // Backwards compatibility\n warn('b-modal: evt.cancel() is deprecated. Please use evt.preventDefault().');\n this.preventDefault();\n }\n });\n if (trigger === 'ok') {\n this.$emit('ok', hideEvt);\n } else if (trigger === 'cancel') {\n this.$emit('cancel', hideEvt);\n }\n this.emitEvent(hideEvt);\n // Hide if not canceled\n if (hideEvt.defaultPrevented || !this.is_visible) {\n return;\n }\n // stop observing for content changes\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n this.is_visible = false;\n this.$emit('change', false);\n },\n\n // Private method to finish showing modal\n doShow: function doShow() {\n var _this2 = this;\n\n // Plce modal in DOM if lazy\n this.is_hidden = false;\n this.$nextTick(function () {\n // We do this in nextTick to ensure the modal is in DOM first before we show it\n _this2.is_visible = true;\n _this2.$emit('change', true);\n // Observe changes in modal content and adjust if necessary\n _this2._observer = observeDom(_this2.$refs.content, _this2.adjustDialog.bind(_this2), OBSERVER_CONFIG);\n });\n },\n\n // Transition Handlers\n onBeforeEnter: function onBeforeEnter() {\n this.is_transitioning = true;\n this.checkScrollbar();\n this.setScrollbar();\n this.adjustDialog();\n addClass(document.body, 'modal-open');\n this.setResizeEvent(true);\n },\n onEnter: function onEnter() {\n this.is_block = true;\n this.$refs.modal.scrollTop = 0;\n },\n onAfterEnter: function onAfterEnter() {\n var _this3 = this;\n\n this.is_show = true;\n this.is_transitioning = false;\n this.$nextTick(function () {\n _this3.focusFirst();\n var shownEvt = new BvEvent('shown', {\n cancelable: false,\n vueTarget: _this3,\n target: _this3.$refs.modal,\n relatedTarget: null\n });\n _this3.emitEvent(shownEvt);\n });\n },\n onBeforeLeave: function onBeforeLeave() {\n this.is_transitioning = true;\n this.setResizeEvent(false);\n },\n onLeave: function onLeave() {\n // Remove the 'show' class\n this.is_show = false;\n },\n onAfterLeave: function onAfterLeave() {\n var _this4 = this;\n\n this.is_block = false;\n this.resetAdjustments();\n this.resetScrollbar();\n this.is_transitioning = false;\n removeClass(document.body, 'modal-open');\n this.$nextTick(function () {\n _this4.is_hidden = _this4.lazy || false;\n _this4.returnFocusTo();\n var hiddenEvt = new BvEvent('hidden', {\n cancelable: false,\n vueTarget: _this4,\n target: _this4.lazy ? null : _this4.$refs.modal,\n relatedTarget: null\n });\n _this4.emitEvent(hiddenEvt);\n });\n },\n\n // Event emitter\n emitEvent: function emitEvent(bvEvt) {\n var type = bvEvt.type;\n this.$emit(type, bvEvt);\n this.$root.$emit('bv::modal::' + type, bvEvt);\n },\n\n // UI Event Handlers\n onClickOut: function onClickOut(evt) {\n // If backdrop clicked, hide modal\n if (this.is_visible && !this.noCloseOnBackdrop) {\n this.hide('backdrop');\n }\n },\n onEsc: function onEsc(evt) {\n // If ESC pressed, hide modal\n if (evt.keyCode === KeyCodes.ESC && this.is_visible && !this.noCloseOnEsc) {\n this.hide('esc');\n }\n },\n onFocusout: function onFocusout(evt) {\n // If focus leaves modal, bring it back\n // 'focusout' Event Listener bound on content\n var content = this.$refs.content;\n if (!this.noEnforceFocus && this.is_visible && content && !content.contains(evt.relatedTarget)) {\n content.focus();\n }\n },\n\n // Resize Listener\n setResizeEvent: function setResizeEvent(on) {\n var _this5 = this;\n\n ;['resize', 'orientationchange'].forEach(function (evtName) {\n if (on) {\n eventOn(window, evtName, _this5.adjustDialog);\n } else {\n eventOff(window, evtName, _this5.adjustDialog);\n }\n });\n },\n\n // Root Listener handlers\n showHandler: function showHandler(id, triggerEl) {\n if (id === this.id) {\n this.return_focus = triggerEl || null;\n this.show();\n }\n },\n hideHandler: function hideHandler(id) {\n if (id === this.id) {\n this.hide();\n }\n },\n modalListener: function modalListener(bvEvt) {\n // If another modal opens, close this one\n if (bvEvt.vueTarget !== this) {\n this.hide();\n }\n },\n\n // Focus control handlers\n focusFirst: function focusFirst() {\n // Don't try and focus if we are SSR\n if (typeof document === 'undefined') {\n return;\n }\n var content = this.$refs.content;\n var modal = this.$refs.modal;\n var activeElement = document.activeElement;\n if (activeElement && content && content.contains(activeElement)) {\n // If activeElement is child of content, no need to change focus\n } else if (content) {\n if (modal) {\n modal.scrollTop = 0;\n }\n // Focus the modal content wrapper\n content.focus();\n }\n },\n returnFocusTo: function returnFocusTo() {\n // Prefer returnFocus prop over event specified return_focus value\n var el = this.returnFocus || this.return_focus || null;\n if (typeof el === 'string') {\n // CSS Selector\n el = select(el);\n }\n if (el) {\n el = el.$el || el;\n if (isVisible(el)) {\n el.focus();\n }\n }\n },\n\n // Utility methods\n getScrollbarWidth: function getScrollbarWidth() {\n var scrollDiv = document.createElement('div');\n scrollDiv.className = 'modal-scrollbar-measure';\n document.body.appendChild(scrollDiv);\n this.scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n },\n adjustDialog: function adjustDialog() {\n if (!this.is_visible) {\n return;\n }\n var modal = this.$refs.modal;\n var isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight;\n if (!this.isBodyOverflowing && isModalOverflowing) {\n modal.style.paddingLeft = this.scrollbarWidth + 'px';\n }\n if (this.isBodyOverflowing && !isModalOverflowing) {\n modal.style.paddingRight = this.scrollbarWidth + 'px';\n }\n },\n resetAdjustments: function resetAdjustments() {\n var modal = this.$refs.modal;\n if (modal) {\n modal.style.paddingLeft = '';\n modal.style.paddingRight = '';\n }\n },\n checkScrollbar: function checkScrollbar() {\n var rect = getBCR(document.body);\n this.isBodyOverflowing = rect.left + rect.right < window.innerWidth;\n },\n setScrollbar: function setScrollbar() {\n if (this.isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n var computedStyle = window.getComputedStyle;\n var body = document.body;\n var scrollbarWidth = this.scrollbarWidth;\n // Adjust fixed content padding\n selectAll(Selector.FIXED_CONTENT).forEach(function (el) {\n var actualPadding = el.style.paddingRight;\n var calculatedPadding = computedStyle(el).paddingRight || 0;\n setAttr(el, 'data-padding-right', actualPadding);\n el.style.paddingRight = parseFloat(calculatedPadding) + scrollbarWidth + 'px';\n });\n // Adjust sticky content margin\n selectAll(Selector.STICKY_CONTENT).forEach(function (el) {\n var actualMargin = el.style.marginRight;\n var calculatedMargin = computedStyle(el).marginRight || 0;\n setAttr(el, 'data-margin-right', actualMargin);\n el.style.marginRight = parseFloat(calculatedMargin) - scrollbarWidth + 'px';\n });\n // Adjust navbar-toggler margin\n selectAll(Selector.NAVBAR_TOGGLER).forEach(function (el) {\n var actualMargin = el.style.marginRight;\n var calculatedMargin = computedStyle(el).marginRight || 0;\n setAttr(el, 'data-margin-right', actualMargin);\n el.style.marginRight = parseFloat(calculatedMargin) + scrollbarWidth + 'px';\n });\n // Adjust body padding\n var actualPadding = body.style.paddingRight;\n var calculatedPadding = computedStyle(body).paddingRight;\n setAttr(body, 'data-padding-right', actualPadding);\n body.style.paddingRight = parseFloat(calculatedPadding) + scrollbarWidth + 'px';\n }\n },\n resetScrollbar: function resetScrollbar() {\n // Restore fixed content padding\n selectAll(Selector.FIXED_CONTENT).forEach(function (el) {\n if (hasAttr(el, 'data-padding-right')) {\n el.style.paddingRight = getAttr(el, 'data-padding-right') || '';\n removeAttr(el, 'data-padding-right');\n }\n });\n // Restore sticky content and navbar-toggler margin\n selectAll(Selector.STICKY_CONTENT + ', ' + Selector.NAVBAR_TOGGLER).forEach(function (el) {\n if (hasAttr(el, 'data-margin-right')) {\n el.style.marginRight = getAttr(el, 'data-margin-right') || '';\n removeAttr(el, 'data-margin-right');\n }\n });\n // Restore body padding\n var body = document.body;\n if (hasAttr(body, 'data-padding-right')) {\n body.style.paddingRight = getAttr(body, 'data-padding-right') || '';\n removeAttr(body, 'data-padding-right');\n }\n }\n },\n created: function created() {\n // create non-reactive property\n this._observer = null;\n },\n mounted: function mounted() {\n // Measure scrollbar\n this.getScrollbarWidth();\n // Listen for events from others to either open or close ourselves\n this.listenOnRoot('bv::show::modal', this.showHandler);\n this.listenOnRoot('bv::hide::modal', this.hideHandler);\n // Listen for bv:modal::show events, and close ourselves if the opening modal not us\n this.listenOnRoot('bv::modal::show', this.modalListener);\n // Initially show modal?\n if (this.visible === true) {\n this.show();\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Ensure everything is back to normal\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n this.setResizeEvent(false);\n // Re-adjust body/navbar/fixed padding/margins (if needed)\n removeClass(document.body, 'modal-open');\n this.resetAdjustments();\n this.resetScrollbar();\n }\n};","import bModal from './modal';\nimport modalPlugin from '../../directives/modal';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bModal: bModal\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n Vue.use(modalPlugin);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import { mergeData } from 'vue-functional-data-merge';\nimport warn from '../../utils/warn';\n\nexport var props = {\n tag: {\n type: String,\n default: 'ul'\n },\n fill: {\n type: Boolean,\n default: false\n },\n justified: {\n type: Boolean,\n default: false\n },\n tabs: {\n type: Boolean,\n default: false\n },\n pills: {\n type: Boolean,\n default: false\n },\n vertical: {\n type: Boolean,\n default: false\n },\n isNavBar: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n if (props.isNavBar) {\n warn(\"b-nav: Prop 'is-nav-bar' is deprecated. Please use component '' instead.\");\n }\n return h(props.tag, mergeData(data, {\n class: {\n 'nav': !props.isNavBar,\n 'navbar-nav': props.isNavBar,\n 'nav-tabs': props.tabs && !props.isNavBar,\n 'nav-pills': props.pills && !props.isNavBar,\n 'flex-column': props.vertical && !props.isNavBar,\n 'nav-fill': props.fill,\n 'nav-justified': props.justified\n }\n }), children);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nexport var props = linkPropsFactory();\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h('li', mergeData(data, {\n staticClass: 'nav-item'\n }), [h(Link, { staticClass: 'nav-link', props: props }, children)]);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'span'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, { staticClass: 'navbar-text' }), children);\n }\n};","import Form from '../form/form';\nimport { mergeData } from 'vue-functional-data-merge';\n\nexport default {\n functional: true,\n props: {\n id: {\n type: String,\n default: null\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(Form, mergeData(data, { attrs: { id: props.id }, props: { inline: true } }), children);\n }\n};","import idMixin from '../../mixins/id';\nimport dropdownMixin from '../../mixins/dropdown';\n\nexport default {\n mixins: [idMixin, dropdownMixin],\n render: function render(h) {\n var button = h('a', {\n class: this.toggleClasses,\n ref: 'toggle',\n attrs: {\n href: '#',\n id: this.safeId('_BV_button_'),\n disabled: this.disabled,\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n on: {\n click: this.toggle,\n keydown: this.toggle // space, enter, down\n }\n }, [this.$slots['button-content'] || this.$slots.text || h('span', { domProps: { innerHTML: this.text } })]);\n var menu = h('div', {\n class: this.menuClasses,\n ref: 'menu',\n attrs: { 'aria-labelledby': this.safeId('_BV_button_') },\n on: {\n mouseover: this.onMouseOver,\n keydown: this.onKeydown // tab, up, down, esc\n }\n }, [this.$slots.default]);\n return h('li', { attrs: { id: this.safeId() }, class: this.dropdownClasses }, [button, menu]);\n },\n\n computed: {\n isNav: function isNav() {\n // Signal to dropdown mixin that we are in a navbar\n return true;\n },\n dropdownClasses: function dropdownClasses() {\n return ['nav-item', 'b-nav-dropdown', 'dropdown', this.dropup ? 'dropup' : '', this.visible ? 'show' : ''];\n },\n toggleClasses: function toggleClasses() {\n return ['nav-link', this.noCaret ? '' : 'dropdown-toggle', this.disabled ? 'disabled' : '', this.extraToggleClasses ? this.extraToggleClasses : ''];\n },\n menuClasses: function menuClasses() {\n return ['dropdown-menu', this.right ? 'dropdown-menu-right' : 'dropdown-menu-left', this.visible ? 'show' : '', this.extraMenuClasses ? this.extraMenuClasses : ''];\n }\n },\n props: {\n noCaret: {\n type: Boolean,\n default: false\n },\n extraToggleClasses: {\n // Extra Toggle classes\n type: String,\n default: ''\n },\n extraMenuClasses: {\n // Extra Menu classes\n type: String,\n default: ''\n },\n role: {\n type: String,\n default: 'menu'\n }\n }\n};","import bNav from './nav';\nimport bNavItem from './nav-item';\nimport bNavText from './nav-text';\nimport bNavForm from './nav-form';\nimport bNavItemDropdown from './nav-item-dropdown';\nimport dropdownPlugin from '../dropdown';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bNav: bNav,\n bNavItem: bNavItem,\n bNavText: bNavText,\n bNavForm: bNavForm,\n bNavItemDropdown: bNavItemDropdown,\n bNavItemDd: bNavItemDropdown,\n bNavDropdown: bNavItemDropdown,\n bNavDd: bNavItemDropdown\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n Vue.use(dropdownPlugin);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'nav'\n },\n type: {\n type: String,\n default: 'light'\n },\n variant: {\n type: String\n },\n toggleable: {\n type: [Boolean, String],\n default: false\n },\n toggleBreakpoint: {\n // Deprecated. Set toggleable to a string breakpoint\n type: String,\n default: null\n },\n fixed: {\n type: String\n },\n sticky: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var breakpoint = props.toggleBreakpoint || (props.toggleable === true ? 'sm' : props.toggleable) || 'sm';\n return h(props.tag, mergeData(data, {\n staticClass: 'navbar',\n class: (_class = {}, _defineProperty(_class, 'navbar-' + props.type, Boolean(props.type)), _defineProperty(_class, 'bg-' + props.variant, Boolean(props.variant)), _defineProperty(_class, 'fixed-' + props.fixed, Boolean(props.fixed)), _defineProperty(_class, 'sticky-top', props.sticky), _defineProperty(_class, 'navbar-expand-' + breakpoint, props.toggleable !== false), _class)\n }), children);\n }\n};","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'ul'\n },\n fill: {\n type: Boolean,\n default: false\n },\n justified: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'navbar-nav',\n class: {\n 'nav-fill': props.fill,\n 'nav-justified': props.justified\n }\n }), children);\n }\n};","import Link, { propsFactory } from '../link/link';\nimport { mergeData } from 'vue-functional-data-merge';\nimport pluckProps from '../../utils/pluck-props';\nimport { assign } from '../../utils/object';\n\nvar linkProps = propsFactory();\nlinkProps.href.default = undefined;\nlinkProps.to.default = undefined;\n\nexport var props = assign(linkProps, {\n tag: {\n type: String,\n default: 'div'\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var isLink = Boolean(props.to || props.href);\n var tag = isLink ? Link : props.tag;\n\n return h(tag, mergeData(data, {\n staticClass: 'navbar-brand',\n props: isLink ? pluckProps(linkProps, props) : {}\n }), children);\n }\n};","import listenOnRootMixin from '../../mixins/listen-on-root';\n\nexport default {\n mixins: [listenOnRootMixin],\n render: function render(h) {\n return h('button', {\n class: ['navbar-toggler'],\n attrs: {\n type: 'button',\n 'aria-label': this.label,\n 'aria-controls': this.target,\n 'aria-expanded': this.toggleState ? 'true' : 'false'\n },\n on: { click: this.onClick }\n }, [this.$slots.default || h('span', { class: ['navbar-toggler-icon'] })]);\n },\n data: function data() {\n return {\n toggleState: false\n };\n },\n\n props: {\n label: {\n type: String,\n default: 'Toggle navigation'\n },\n target: {\n type: String,\n required: true\n }\n },\n methods: {\n onClick: function onClick() {\n this.$root.$emit('bv::toggle::collapse', this.target);\n },\n handleStateEvt: function handleStateEvt(id, state) {\n if (id === this.target) {\n this.toggleState = state;\n }\n }\n },\n created: function created() {\n this.listenOnRoot('bv::collapse::state', this.handleStateEvt);\n }\n};","import bNavbar from './navbar';\nimport bNavbarNav from './navbar-nav';\nimport bNavbarBrand from './navbar-brand';\nimport bNavbarToggle from './navbar-toggle';\nimport navPlugin from '../nav';\nimport collapsePlugin from '../collapse';\nimport dropdownPlugin from '../dropdown';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bNavbar: bNavbar,\n bNavbarNav: bNavbarNav,\n bNavbarBrand: bNavbarBrand,\n bNavbarToggle: bNavbarToggle,\n bNavToggle: bNavbarToggle\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n Vue.use(navPlugin);\n Vue.use(collapsePlugin);\n Vue.use(dropdownPlugin);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","import paginationMixin from '../../mixins/pagination';\nimport { isVisible } from '../../utils/dom';\n\nvar props = {\n perPage: {\n type: Number,\n default: 20\n },\n totalRows: {\n type: Number,\n default: 20\n },\n ariaControls: {\n type: String,\n default: null\n }\n\n // Our render function is brought in from the pagination mixin\n};export default {\n mixins: [paginationMixin],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = Math.ceil(this.totalRows / this.perPage);\n return result < 1 ? 1 : result;\n }\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(num, evt) {\n var _this = this;\n\n // Handle edge cases where number of pages has changed (i.e. if perPage changes)\n if (num > this.numberOfPages) {\n num = this.numberOfPages;\n } else if (num < 1) {\n num = 1;\n }\n this.currentPage = num;\n this.$nextTick(function () {\n // Keep the current button focused if possible\n var target = evt.target;\n if (isVisible(target) && _this.$el.contains(target) && target.focus) {\n target.focus();\n } else {\n _this.focusCurrent();\n }\n });\n this.$emit('change', this.currentPage);\n },\n makePage: function makePage(pagenum) {\n return pagenum;\n },\n linkProps: function linkProps(pagenum) {\n return { href: '#' };\n }\n }\n};","import bPagination from './pagination';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bPagination: bPagination\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { assign } from '../../utils/object';\nimport paginationMixin from '../../mixins/pagination';\nimport { pickLinkProps } from '../link/link';\n\n// Props needed for router links\nvar routerProps = pickLinkProps('activeClass', 'exactActiveClass', 'append', 'exact', 'replace', 'target', 'rel');\n\n// Props object\nvar props = assign(\n// pagination-nav specific props\n{\n numberOfPages: {\n type: Number,\n default: 1\n },\n baseUrl: {\n type: String,\n default: '/'\n },\n useRouter: {\n type: Boolean,\n default: false\n },\n linkGen: {\n type: Function,\n default: null\n },\n pageGen: {\n type: Function,\n default: null\n }\n},\n// Router specific props\nrouterProps);\n// Our render function is brought in via the pagination mixin\nexport default {\n mixins: [paginationMixin],\n props: props,\n computed: {\n // Used by render function to trigger wraping in '