{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/constants/env.js","webpack:///./node_modules/bootstrap-vue/esm/constants/config.js","webpack:///./node_modules/bootstrap-vue/esm/constants/regex.js","webpack:///./node_modules/bootstrap-vue/esm/constants/safe-types.js","webpack:///./node_modules/bootstrap-vue/esm/utils/inspect.js","webpack:///./node_modules/bootstrap-vue/esm/utils/object.js","webpack:///./node_modules/bootstrap-vue/esm/utils/clone-deep.js","webpack:///./node_modules/bootstrap-vue/esm/utils/identity.js","webpack:///./node_modules/bootstrap-vue/esm/utils/get.js","webpack:///./node_modules/bootstrap-vue/esm/utils/warn.js","webpack:///./node_modules/bootstrap-vue/esm/utils/config-set.js","webpack:///./node_modules/bootstrap-vue/esm/utils/plugins.js","webpack:///./node_modules/bootstrap-vue/esm/vue.js","webpack:///./node_modules/bootstrap-vue/esm/constants/components.js","webpack:///./node_modules/bootstrap-vue/esm/constants/events.js","webpack:///./node_modules/bootstrap-vue/esm/constants/props.js","webpack:///./node_modules/bootstrap-vue/esm/constants/slots.js","webpack:///./node_modules/bootstrap-vue/esm/utils/array.js","webpack:///./node_modules/bootstrap-vue/esm/utils/number.js","webpack:///./node_modules/bootstrap-vue/esm/utils/string.js","webpack:///./node_modules/bootstrap-vue/esm/utils/dom.js","webpack:///./node_modules/bootstrap-vue/esm/utils/memoize.js","webpack:///./node_modules/bootstrap-vue/esm/utils/config.js","webpack:///./node_modules/bootstrap-vue/esm/utils/props.js","webpack:///./node_modules/bootstrap-vue/esm/utils/model.js","webpack:///./node_modules/bootstrap-vue/esm/utils/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/utils/events.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button-close.js","webpack:///./node_modules/bootstrap-vue/esm/components/transition/bv-transition.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/math.js","webpack:///./node_modules/bootstrap-vue/esm/components/aspect/aspect.js","webpack:///./node_modules/bootstrap-vue/esm/components/aspect/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/router.js","webpack:///./node_modules/bootstrap-vue/esm/icons/helpers/icon-base.js","webpack:///./node_modules/bootstrap-vue/esm/icons/helpers/make-icon.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icons.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./node_modules/bootstrap-vue/esm/constants/key-codes.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-equal.js","webpack:///./node_modules/bootstrap-vue/esm/utils/cache.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/attrs.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-root.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listeners.js","webpack:///./node_modules/bootstrap-vue/esm/components/link/link.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/html.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-link.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-group/button-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-toolbar/button-toolbar.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-toolbar/index.js","webpack:///./node_modules/bootstrap-vue/esm/constants/date.js","webpack:///./node_modules/bootstrap-vue/esm/utils/date.js","webpack:///./node_modules/bootstrap-vue/esm/components/calendar/calendar.js","webpack:///./node_modules/bootstrap-vue/esm/utils/locale.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/id.js","webpack:///./node_modules/bootstrap-vue/esm/components/calendar/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img-lazy.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img-lazy.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/bootstrap-vue/esm/utils/observe-dom.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/carousel.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/carousel-slide.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/index.js","webpack:///./node_modules/bootstrap-vue/esm/constants/classes.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/helpers/bv-collapse.js","webpack:///./node_modules/bootstrap-vue/esm/directives/toggle/toggle.js","webpack:///./node_modules/bootstrap-vue/esm/directives/toggle/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/index.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/utils/bv-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item-button.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-form.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/embed.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-datalist.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-invalid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-valid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/form-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/hover/hover.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-btn-label-control/bv-form-btn-label-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-datepicker/form-datepicker.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/form-file.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-datepicker/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/css-escape.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/col.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-group/form-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-rating/form-rating.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-rating/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/model.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/helpers/mixin-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select-option.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select-option-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-spinbutton/form-spinbutton.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-spinbutton/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-tags/form-tag.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-tags/form-tags.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-tags/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/time/time.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-timepicker/form-timepicker.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-timepicker/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-append.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/container.js","webpack:///./node_modules/bootstrap-vue/esm/components/jumbotron/jumbotron.js","webpack:///./node_modules/bootstrap-vue/esm/components/jumbotron/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/link/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-document.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-window.js","webpack:///./node_modules/bootstrap-vue/esm/utils/get-scope-id.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/scoped-style.js","webpack:///./node_modules/bootstrap-vue/esm/components/transporter/transporter.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/modal-manager.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/modal.js","webpack:///./node_modules/bootstrap-vue/esm/directives/modal/modal.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-form.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-item-dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-brand.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-toggle.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination-nav/pagination-nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination-nav/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/popover.js","webpack:///./node_modules/bootstrap-vue/esm/directives/popover/popover.js","webpack:///./node_modules/bootstrap-vue/esm/directives/popover/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress-bar.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/sidebar.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-icon.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-img.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table-simple.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-table.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-wrapper.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/spinner/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table-lite.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tab.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/toast.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/time/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/toaster.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/helpers/bv-toast.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/hover/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/modal/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/scrollspy/helpers/bv-scrollspy.class.js","webpack:///./node_modules/bootstrap-vue/esm/directives/scrollspy/scrollspy.js","webpack:///./node_modules/bootstrap-vue/esm/directives/scrollspy/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/index.js","webpack:///./node_modules/bootstrap-vue/esm/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/env.js"],"names":["HAS_WINDOW_SUPPORT","window","HAS_DOCUMENT_SUPPORT","document","HAS_NAVIGATOR_SUPPORT","navigator","HAS_PROMISE_SUPPORT","Promise","HAS_MUTATION_OBSERVER_SUPPORT","MutationObserver","WebKitMutationObserver","MozMutationObserver","IS_BROWSER","WINDOW","DOCUMENT","NAVIGATOR","USER_AGENT","userAgent","toLowerCase","IS_JSDOM","indexOf","HAS_PASSIVE_EVENT_SUPPORT","test","passiveEventSupported","options","addEventListener","removeEventListener","_unused","HAS_TOUCH_SUPPORT","documentElement","maxTouchPoints","HAS_POINTER_EVENT_SUPPORT","Boolean","PointerEvent","MSPointerEvent","HAS_INTERACTION_OBSERVER_SUPPORT","IntersectionObserverEntry","prototype","NAME","PROP_NAME","DEFAULT_BREAKPOINT","RX_ARRAY_NOTATION","RX_BV_PREFIX","RX_DIGITS","RX_EXTENSION","RX_HASH","RX_HASH_ID","RX_HTML_TAGS","RX_HYPHENATE","RX_LOWER_UPPER","RX_NUMBER","RX_PLUS","RX_REGEXP_REPLACE","RX_SPACES","RX_SPACE_SPLIT","RX_STAR","RX_START_SPACE_WORD","RX_TRIM_LEFT","RX_UNDERSCORE","RX_UN_KEBAB","RX_DATE","RX_DATE_SPLIT","RX_TIME","RX_HREF","RX_ENCODED_COMMA","RX_ENCODE_REVERSE","RX_QUERY_START","RX_ASPECT","RX_ASPECT_SEPARATOR","RX_COL_CLASS","RX_ICON_PREFIX","RX_STRIP_LOCALE_MODS","_typeof","obj","Symbol","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_inherits","subClass","superClass","Object","create","value","writable","configurable","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","this","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","call","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Map","undefined","_isNativeFunction","has","get","set","Wrapper","_construct","enumerable","Parent","args","a","push","Function","bind","sham","Proxy","Date","toString","e","fn","o","p","setPrototypeOf","__proto__","getPrototypeOf","Element","_Object","_super","HTMLElement","_Element","_super2","SVGElement","_Element2","_super3","File","_Object2","_super4","toRawType","slice","isUndefined","isNull","isUndefinedOrNull","isFunction","isBoolean","isString","isNumber","String","isArray","Array","isObject","isPlainObject","isDate","isEvent","Event","isRegExp","isPromise","then","catch","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","target","i","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","assign","proto","optionalProps","props","prop","descriptor","getOwnPropertyNames","hasOwnProperty","clone","pick","reduce","omit","mergeDeep","sortKeys","sort","readonlyDescriptor","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","n","name","from","iter","len","arr2","cloneDeep","defaultValue","val","concat","identity","x","path","join","replace","steps","split","every","step","message","console","warn","_defineProperties","_createClass","protoProps","staticProps","BvConfig","$_config","_this","config","configKeys","subConfig","some","b","Vue","setConfig","checkMultipleVue","checkMultipleVueWarned","MULTIPLE_VUE_WARNING","_ref","components","directives","plugins","install","installed","registerComponents","registerDirectives","registerPlugins","pluginFactory","extend","plugin","use","registerComponent","def","component","registerDirective","directive","COMPONENT_UID_KEY","NAME_ALERT","NAME_ASPECT","NAME_AVATAR","NAME_AVATAR_GROUP","NAME_BADGE","NAME_BREADCRUMB","NAME_BREADCRUMB_ITEM","NAME_BREADCRUMB_LINK","NAME_BUTTON","NAME_BUTTON_CLOSE","NAME_BUTTON_GROUP","NAME_BUTTON_TOOLBAR","NAME_CALENDAR","NAME_CARD","NAME_CARD_BODY","NAME_CARD_FOOTER","NAME_CARD_GROUP","NAME_CARD_HEADER","NAME_CARD_IMG","NAME_CARD_IMG_LAZY","NAME_CARD_SUB_TITLE","NAME_CARD_TEXT","NAME_CARD_TITLE","NAME_CAROUSEL","NAME_CAROUSEL_SLIDE","NAME_COL","NAME_COLLAPSE","NAME_CONTAINER","NAME_DROPDOWN","NAME_DROPDOWN_DIVIDER","NAME_DROPDOWN_FORM","NAME_DROPDOWN_GROUP","NAME_DROPDOWN_HEADER","NAME_DROPDOWN_ITEM","NAME_DROPDOWN_ITEM_BUTTON","NAME_DROPDOWN_TEXT","NAME_EMBED","NAME_FORM","NAME_FORM_CHECKBOX","NAME_FORM_CHECKBOX_GROUP","NAME_FORM_DATALIST","NAME_FORM_DATEPICKER","NAME_FORM_FILE","NAME_FORM_GROUP","NAME_FORM_INPUT","NAME_FORM_INVALID_FEEDBACK","NAME_FORM_RADIO","NAME_FORM_RADIO_GROUP","NAME_FORM_RATING","NAME_FORM_ROW","NAME_FORM_SELECT","NAME_FORM_SELECT_OPTION","NAME_FORM_SELECT_OPTION_GROUP","NAME_FORM_SPINBUTTON","NAME_FORM_TAG","NAME_FORM_TAGS","NAME_FORM_TEXT","NAME_FORM_TEXTAREA","NAME_FORM_TIMEPICKER","NAME_FORM_VALID_FEEDBACK","NAME_ICON","NAME_ICON_BASE","NAME_IMG","NAME_IMG_LAZY","NAME_INPUT_GROUP","NAME_INPUT_GROUP_ADDON","NAME_INPUT_GROUP_APPEND","NAME_INPUT_GROUP_PREPEND","NAME_INPUT_GROUP_TEXT","NAME_JUMBOTRON","NAME_LINK","NAME_LIST_GROUP","NAME_LIST_GROUP_ITEM","NAME_MEDIA","NAME_MEDIA_ASIDE","NAME_MEDIA_BODY","NAME_MODAL","NAME_MSG_BOX","NAME_NAV","NAME_NAVBAR","NAME_NAVBAR_BRAND","NAME_NAVBAR_NAV","NAME_NAVBAR_TOGGLE","NAME_NAV_FORM","NAME_NAV_ITEM","NAME_NAV_ITEM_DROPDOWN","NAME_NAV_TEXT","NAME_OVERLAY","NAME_PAGINATION","NAME_PAGINATION_NAV","NAME_POPOVER","NAME_PROGRESS","NAME_PROGRESS_BAR","NAME_ROW","NAME_SIDEBAR","NAME_SKELETON","NAME_SKELETON_ICON","NAME_SKELETON_IMG","NAME_SKELETON_TABLE","NAME_SKELETON_WRAPPER","NAME_SPINNER","NAME_TAB","NAME_TABLE","NAME_TABLE_CELL","NAME_TABLE_LITE","NAME_TABLE_SIMPLE","NAME_TABS","NAME_TBODY","NAME_TFOOT","NAME_TH","NAME_THEAD","NAME_TIME","NAME_TOAST","NAME_TOASTER","NAME_TOOLTIP","NAME_TR","NAME_COLLAPSE_HELPER","NAME_FORM_BUTTON_LABEL_CONTROL","NAME_FORM_RATING_STAR","NAME_POPOVER_HELPER","NAME_POPOVER_TEMPLATE","NAME_POPPER","NAME_TAB_BUTTON_HELPER","NAME_TOAST_POP","NAME_TOOLTIP_HELPER","NAME_TOOLTIP_TEMPLATE","NAME_TRANSITION","NAME_TRANSPORTER","NAME_TRANSPORTER_TARGET","EVENT_NAME_ACTIVATE_TAB","EVENT_NAME_BLUR","EVENT_NAME_CANCEL","EVENT_NAME_CHANGE","EVENT_NAME_CHANGED","EVENT_NAME_CLICK","EVENT_NAME_CLOSE","EVENT_NAME_CONTEXT","EVENT_NAME_CONTEXT_CHANGED","EVENT_NAME_DESTROYED","EVENT_NAME_DISABLE","EVENT_NAME_DISABLED","EVENT_NAME_DISMISSED","EVENT_NAME_DISMISS_COUNT_DOWN","EVENT_NAME_ENABLE","EVENT_NAME_ENABLED","EVENT_NAME_FILTERED","EVENT_NAME_FIRST","EVENT_NAME_FOCUSIN","EVENT_NAME_FOCUSOUT","EVENT_NAME_HEAD_CLICKED","EVENT_NAME_HIDDEN","EVENT_NAME_HIDE","EVENT_NAME_IMG_ERROR","EVENT_NAME_INPUT","EVENT_NAME_LAST","EVENT_NAME_MOUSEENTER","EVENT_NAME_MOUSELEAVE","EVENT_NAME_NEXT","EVENT_NAME_OK","EVENT_NAME_OPEN","EVENT_NAME_PAGE_CLICK","EVENT_NAME_PAUSED","EVENT_NAME_PREV","EVENT_NAME_REFRESH","EVENT_NAME_REFRESHED","EVENT_NAME_REMOVE","EVENT_NAME_ROW_CLICKED","EVENT_NAME_ROW_CONTEXTMENU","EVENT_NAME_ROW_DBLCLICKED","EVENT_NAME_ROW_HOVERED","EVENT_NAME_ROW_MIDDLE_CLICKED","EVENT_NAME_ROW_SELECTED","EVENT_NAME_ROW_UNHOVERED","EVENT_NAME_SELECTED","EVENT_NAME_SHOW","EVENT_NAME_SHOWN","EVENT_NAME_SLIDING_END","EVENT_NAME_SLIDING_START","EVENT_NAME_SORT_CHANGED","EVENT_NAME_TAG_STATE","EVENT_NAME_TOGGLE","EVENT_NAME_UNPAUSED","EVENT_NAME_UPDATE","HOOK_EVENT_NAME_BEFORE_DESTROY","HOOK_EVENT_NAME_DESTROYED","MODEL_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_SEPARATOR","EVENT_OPTIONS_PASSIVE","passive","EVENT_OPTIONS_NO_CAPTURE","capture","PROP_TYPE_ANY","PROP_TYPE_ARRAY","PROP_TYPE_BOOLEAN","PROP_TYPE_DATE","PROP_TYPE_FUNCTION","PROP_TYPE_NUMBER","Number","PROP_TYPE_OBJECT","PROP_TYPE_REG_EXP","RegExp","PROP_TYPE_STRING","PROP_TYPE_ARRAY_FUNCTION","PROP_TYPE_ARRAY_OBJECT","PROP_TYPE_ARRAY_OBJECT_STRING","PROP_TYPE_ARRAY_STRING","PROP_TYPE_BOOLEAN_NUMBER","PROP_TYPE_BOOLEAN_NUMBER_STRING","PROP_TYPE_BOOLEAN_STRING","PROP_TYPE_DATE_STRING","PROP_TYPE_FUNCTION_STRING","PROP_TYPE_NUMBER_STRING","PROP_TYPE_NUMBER_OBJECT_STRING","PROP_TYPE_OBJECT_FUNCTION","PROP_TYPE_OBJECT_STRING","SLOT_NAME_ADD_BUTTON_TEXT","SLOT_NAME_APPEND","SLOT_NAME_ASIDE","SLOT_NAME_BADGE","SLOT_NAME_BOTTOM_ROW","SLOT_NAME_BUTTON_CONTENT","SLOT_NAME_CUSTOM_FOOT","SLOT_NAME_DECREMENT","SLOT_NAME_DEFAULT","SLOT_NAME_DESCRIPTION","SLOT_NAME_DISMISS","SLOT_NAME_DROP_PLACEHOLDER","SLOT_NAME_ELLIPSIS_TEXT","SLOT_NAME_EMPTY","SLOT_NAME_EMPTYFILTERED","SLOT_NAME_FILE_NAME","SLOT_NAME_FIRST","SLOT_NAME_FIRST_TEXT","SLOT_NAME_FOOTER","SLOT_NAME_HEADER","SLOT_NAME_HEADER_CLOSE","SLOT_NAME_ICON_CLEAR","SLOT_NAME_ICON_EMPTY","SLOT_NAME_ICON_FULL","SLOT_NAME_ICON_HALF","SLOT_NAME_IMG","SLOT_NAME_INCREMENT","SLOT_NAME_INVALID_FEEDBACK","SLOT_NAME_LABEL","SLOT_NAME_LAST_TEXT","SLOT_NAME_LEAD","SLOT_NAME_LOADING","SLOT_NAME_MODAL_BACKDROP","SLOT_NAME_MODAL_CANCEL","SLOT_NAME_MODAL_FOOTER","SLOT_NAME_MODAL_HEADER","SLOT_NAME_MODAL_HEADER_CLOSE","SLOT_NAME_MODAL_OK","SLOT_NAME_MODAL_TITLE","SLOT_NAME_NAV_NEXT_DECADE","SLOT_NAME_NAV_NEXT_MONTH","SLOT_NAME_NAV_NEXT_YEAR","SLOT_NAME_NAV_PEV_DECADE","SLOT_NAME_NAV_PEV_MONTH","SLOT_NAME_NAV_PEV_YEAR","SLOT_NAME_NAV_THIS_MONTH","SLOT_NAME_NEXT_TEXT","SLOT_NAME_OVERLAY","SLOT_NAME_PAGE","SLOT_NAME_PLACEHOLDER","SLOT_NAME_PREPEND","SLOT_NAME_PREV_TEXT","SLOT_NAME_ROW_DETAILS","SLOT_NAME_TABLE_BUSY","SLOT_NAME_TABLE_CAPTION","SLOT_NAME_TABLE_COLGROUP","SLOT_NAME_TABS_END","SLOT_NAME_TABS_START","SLOT_NAME_TEXT","SLOT_NAME_THEAD_TOP","SLOT_NAME_TITLE","SLOT_NAME_TOAST_TITLE","SLOT_NAME_TOP_ROW","SLOT_NAME_VALID_FEEDBACK","arrayIncludes","array","_len","_key","fillFn","mapFn","map","flatten","item","flattenDeep","toInteger","NaN","integer","parseInt","isNaN","toFloat","float","parseFloat","toFixed","precision","str","_","c","toUpperCase","charAt","$1","$2","trim","spaces","JSON","stringify","lowerCase","ELEMENT_PROTO","TABABLE_SELECTOR","s","matchesEl","matches","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","el","parentElement","parentNode","nodeType","Node","ELEMENT_NODE","requestAF","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","cb","setTimeout","MutationObs","removeNode","removeChild","isElement","excludes","activeElement","tag","isActiveElement","body","getStyle","bcr","getBCR","height","width","disabled","hasAttr","hasClass","reflow","offsetHeight","selector","root","querySelectorAll","querySelector","includeRoot","parent","child","contains","id","getElementById","addClass","className","classList","add","removeClass","remove","setAttr","attr","setAttribute","removeAttr","removeAttribute","getAttr","getAttribute","hasAttribute","setStyle","style","removeStyle","getBoundingClientRect","getComputedStyle","getSelection","_offset","top","left","getClientRects","win","ownerDocument","defaultView","pageYOffset","pageXOffset","parentOffset","elStyles","position","doc","offsetParent","offsetParentStyles","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getTabables","rootEl","tabIndex","attemptFocus","focus","attemptBlur","blur","_unused2","cache","argsKey","VueProto","bvConfig","getConfigValue","getComponentConfig","propKey","_getBreakpointsCached","getBreakpointsUpCached","breakpoints","prefix","suffix","type","requiredOrValidator","validator","required","default","transformFn","copied","keysToPluck","objToPluck","memo","componentKey","configurablePropDefaultFnName","_ref$type","_ref$defaultValue","_ref$validator","_ref$event","event","mixin","model","names","$scopedSlots","$slots","slot","scope","normalizeSlotMixin","methods","hasNormalizedSlot","scopedSlots","slots","normalizeSlot","vNodes","eventOn","eventName","handler","eventOff","eventOnOff","on","method","stopEvent","_ref$preventDefault","preventDefault","_ref$propagation","propagation","_ref$immediatePropaga","immediatePropagation","stopPropagation","stopImmediatePropagation","actionName","ariaLabel","content","textVariant","BButtonClose","functional","render","h","data","componentData","staticClass","class","attrs","click","domProps","innerHTML","_watch","NO_FADE_PROPS","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","FADE_PROPS","appear","mode","noFade","transProps","BVTransition","children","appearClass","appearActiveClass","appearToClass","css","_makeModelMixin","modelMixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","show","dismissLabel","dismissible","fade","variant","BAlert","mixins","countDown","localShow","watch","newValue","clearCountDownInterval","$emit","$_countDownTimeout","$nextTick","created","$_filterTimer","beforeDestroy","dismiss","clearTimeout","$alert","$dismissButton","role","AlertPlugin","mathMin","Math","min","mathMax","max","mathAbs","abs","mathCeil","ceil","mathFloor","floor","mathPow","pow","mathRound","round","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_s","_i","next","done","err","CLASS_NAME","aspect","BAspect","computed","padding","ratio","_aspect$split$map","v","_aspect$split$map2","$sizer","paddingBottom","$content","AspectPlugin","ANCHOR_TAG","encodeReserveReplacer","charCodeAt","encodeURIComponent","decode","decodeURIComponent","query","results","value2","parsed","param","parts","shift","href","to","computeTag","thisOrParent","routerComponentName","hasRouter","$router","$nuxt","_ref2","rel","_ref3","fallback","toFallback","hash","BASE_ATTRS","viewBox","focusable","STACKED_ATTRS","animation","flipH","flipV","fontScale","rotate","scale","shiftH","shiftV","stacked","title","BVIconBase","_class","hasScale","hasTransforms","hasShift","hasContent","transforms","$inner","transform","$title","fontSize","xmlns","fill","kebabName","iconName","iconNameClass","iconTitle","svgContent","BIconBlank","BIconCalendar","BIconCalendarFill","BIconChevronBarLeft","BIconChevronDoubleLeft","BIconChevronDown","BIconChevronLeft","BIconChevronUp","BIconCircleFill","BIconClock","BIconClockFill","BIconDash","BIconPersonFill","BIconPlus","BIconStar","BIconStarFill","BIconStarHalf","BIconX","findIconComponent","ctx","$options","iconComponent","$parent","iconProps","icon","BIcon","CODE_BACKSPACE","CODE_DELETE","CODE_DOWN","CODE_END","CODE_ENTER","CODE_ESC","CODE_HOME","CODE_LEFT","CODE_PAGEDOWN","CODE_PAGEUP","CODE_RIGHT","CODE_SPACE","CODE_UP","compareArrays","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","propName","oldValue","$delete","$data","$set","proxyPropName","attrsMixin","listenOnRootMixin","listenOnRoot","callback","$root","$on","$off","listenOnRootOnce","_this2","$once","emitOnRoot","_this$$root","listenersMixin","ROOT_EVENT_NAME_CLICKED","routerLinkProps","activeClass","append","exact","exactActiveClass","routerTag","nuxtLinkProps","noPrefetch","prefetch","active","BLink","inheritAttrs","computedTag","isRouterLink","computedRel","computedHref","computedProps","computedAttrs","bvAttrs","tabindex","computedListeners","bvListeners","onClick","_arguments","eventIsEvent","suppliedHandler","currentTarget","__vue__","$el","block","pill","pressed","size","squared","computeClass","computeAttrs","button","link","toggle","nonStandardTag","hashLink","autocomplete","BButton","listeners","keydown","keyCode","focusin","focusout","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","alt","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","buttonType","rounded","square","src","text","BAvatar","inject","bvAvatarGroup","localSrc","computedSize","computedVariant","computedRounded","fontStyle","marginStyle","overlapScale","marginRight","badgeStyle","offset","bottom","right","onImgError","_class2","error","$badge","hasBadgeSlot","badgeText","overlap","BAvatarGroup","provide","paddingStyle","paddingLeft","paddingRight","AvatarPlugin","BBadge","BadgePlugin","htmlOrText","textContent","ariaCurrent","html","BBreadcrumbLink","suppliedProps","BBreadcrumbItem","items","BBreadcrumb","childNodes","activeDefined","idx","_item","BreadcrumbPlugin","ButtonPlugin","BBtn","BBtnClose","ariaRole","vertical","BButtonGroup","ButtonGroupPlugin","BBtnGroup","ITEM_SELECTOR","justify","keyNav","BButtonToolbar","mounted","getItems","focusFirst","focusPrev","index","reverse","focusNext","focusLast","onFocusin","relatedTarget","onKeydown","shiftKey","ButtonToolbarPlugin","BBtnToolbar","CALENDAR_GREGORY","CALENDAR_LONG","CALENDAR_NARROW","CALENDAR_SHORT","DATE_FORMAT_2_DIGIT","DATE_FORMAT_NUMERIC","createDate","date","_date$split$map","_date$split$map2","year","month","day","getFullYear","getMonth","getDate","formatYMD","locales","calendar","fmt","Intl","DateTimeFormat","resolvedOptions","locale","createDateFormatter","dtf","format","datesEqual","date1","date2","firstDateOfMonth","setDate","lastDateOfMonth","setMonth","addYears","numberOfYears","setFullYear","oneMonthAgo","oneMonthAhead","oneYearAgo","oneYearAhead","oneDecadeAgo","oneDecadeAhead","RTL_LANGS","locale1","locale2","idMixin","localId_","safeId","ariaControls","dateDisabledFn","dateFormatOptions","weekday","dateInfoFn","direction","hidden","hideHeader","initialDate","labelCalendar","labelCurrentMonth","labelHelp","labelNav","labelNextDecade","labelNextMonth","labelNextYear","labelNoDateSelected","labelPrevDecade","labelPrevMonth","labelPrevYear","labelSelected","labelToday","navButtonVariant","noHighlightToday","noKeyNav","readonly","roleDescription","selectedVariant","showDecadeNav","startWeekday","todayVariant","valueAsDate","weekdayHeaderFormat","BCalendar","selected","selectedYMD","activeYMD","getToday","gridHasFocus","isLive","valueId","widgetId","navId","gridId","gridCaptionId","gridHelpId","activeId","selectedDate","activeDate","computedMin","computedMax","computedWeekStarts","computedLocale","computedDateDisabledFn","computedDateInfoFn","calendarLocale","calendarYear","calendarMonth","calendarFirstDay","calendarDaysInMonth","computedTodayVariant","computedNavButtonVariant","isRTL","dir","context","selectedFormatted","formatDateString","activeFormatted","dateDisabled","rtl","dateOutOfRange","rangeFn","ymd","hour","minute","second","formatYearMonth","formatWeekdayName","formatWeekdayNameShort","formatDay","nf","NumberFormat","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","prevDecadeDisabled","prevYearDisabled","prevMonthDisabled","thisMonthDisabled","nextMonthDisabled","nextYearDisabled","nextDecadeDisabled","matrix","firstDay","daysInMonth","startIndex","getDay","weekOffset","currentDay","week","j","dayYMD","dayDisabled","dateInfo","label","isThisMonth","isDisabled","info","calendarHeadings","d","old","newYMD","oldYMD","constrainDate","setLive","_this3","activated","deactivated","$refs","grid","_this4","emitSelected","_this5","setGridFocusFlag","onKeydownWrapper","altKey","ctrlKey","checkDate","constrainedToday","onKeydownGrid","onClickDay","clickedDate","gotoPrevDecade","gotoPrevYear","gotoPrevMonth","gotoCurrentMonth","gotoNextMonth","gotoNextYear","gotoNextDecade","onHeaderClick","_this6","hideDecadeNav","todayYMD","highlightToday","$header","for","labelSelectedDate","navScope","navProps","navPrevProps","navNextProps","$prevDecadeIcon","$prevYearIcon","$prevMonthIcon","$thisMonthIcon","$nextMonthIcon","$nextYearIcon","$nextDecadeIcon","makeNavBtn","btnDisabled","shortcut","$nav","$gridCaption","$gridWeekDays","$gridBody","$cells","dIndex","isSelected","isActive","isToday","idCell","$btn","pointerEvents","$gridHelp","$grid","ref","$slot","$widget","lang","CalendarPlugin","bgVariant","borderVariant","titleTag","BCardTitle","subTitle","subTitleTag","subTitleTextVariant","BCardSubTitle","bodyClass","overlay","BCardBody","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$subTitle","bodyTag","header","headerClass","headerHtml","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","footer","footerClass","footerHtml","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","BLANK_TEMPLATE","color","blank","blankColor","center","fluid","fluidGrow","sizes","srcset","thumbnail","BImg","align","end","start","BCardImg","baseClass","cardImgProps","imgSrc","noBody","BCard","imgLeft","imgRight","imgStart","imgEnd","imgBottom","slotScope","$imgFirst","$imgLast","$img","hasHeaderSlot","$footer","hasFooterSlot","OBSERVER_PROP_NAME","VisibilityObserver","vnode","margin","once","observer","visible","doneOnce","createObserver","stop","IntersectionObserver","rootMargin","threshold","observe","entries","entry","isIntersecting","intersectionRatio","disconnect","destroy","modifiers","mod","_prevModifiers","VBVisible","componentUpdated","unbind","MODEL_PROP_NAME_SHOW","MODEL_EVENT_NAME_SHOW","imgProps","blankHeight","blankSrc","blankWidth","BImgLazy","isShown","computedSrc","computedBlank","computedWidth","computedHeight","computedSrcset","computedSizes","updateShowProp","doShow","_modifiers","$props","BCardImgLazy","textTag","BCardText","columns","deck","BCardGroup","CardPlugin","noop","obs","mutations","changed","mutation","TEXT_NODE","addedNodes","removedNodes","childList","subtree","DIRECTION","dirClass","overlayClass","prev","TRANS_DURATION","TOUCH_EVENT_COMPAT_WAIT","SWIPE_THRESHOLD","PointerType","TOUCH","PEN","TransitionEndEvents","WebkitTransition","MozTransition","OTransition","transition","background","controls","imgHeight","imgWidth","indicators","interval","labelGotoSlide","labelIndicators","labelNext","labelPrev","noAnimation","noHoverPause","noTouch","noWrap","BCarousel","bvCarousel","isSliding","transitionEndEvent","slides","isPaused","touchStartX","touchDeltaX","numSlides","setSlide","pause","doSlide","$_interval","$_animationTimeout","$_touchTimeout","$_observer","updateSlides","setObserver","clearInterval","clearAnimationTimeout","clearTouchTimeout","_clearInterval","inner","attributes","attributeFilter","slide","visibilityState","setInterval","restart","isCycling","calcDirection","currentSlide","nextSlide","called","onceTransEnd","events","curIndex","nextIndex","handleClick","handleSwipe","absDeltaX","touchStart","pointerType","clientX","touches","touchMove","touchEnd","idInner","$controls","makeControl","handlerWrapper","$indicators","mouseenter","mouseleave","tagName","imgAlt","imgBlank","imgBlankColor","caption","captionHtml","captionTag","contentTag","contentVisibleUp","textHtml","BCarouselSlide","contentClasses","dragstart","$contentChildren","$child","CarouselPlugin","CLASS_NAME_SHOW","scrollHeight","TRANSITION_PROPS","TRANSITION_HANDLERS","enter","afterEnter","leave","afterLeave","BVCollapse","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_EVENT_NAME_ACCORDION","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","accordion","isNav","BCollapse","transitioning","classObject","collapse","close","emitState","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","emitSync","updated","onEnter","onAfterEnter","onLeave","onAfterLeave","checkDisplayBlock","restore","isBlock","display","clickHandler","openedId","openAccordion","isThis","CLASS_BV_TOGGLE_COLLAPSED","CLASS_BV_TOGGLE_NOT_COLLAPSED","BV_BASE","BV_TOGGLE_ROOT_HANDLER","BV_TOGGLE_CLICK_HANDLER","BV_TOGGLE_STATE","BV_TOGGLE_TARGETS","STRING_FALSE","STRING_TRUE","ATTR_ARIA_CONTROLS","ATTR_ARIA_EXPANDED","ATTR_ROLE","ATTR_TABINDEX","STYLE_OVERFLOW_ANCHOR","KEYDOWN_KEY_CODES","arg","targets","t","removeRootListeners","state","resetProp","binding","VBToggle","VBTogglePlugin","CollapsePlugin","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","BvEvent","eventInit","Defaults","cancelable","nativeEvent","vueTarget","componentId","defaultPrevented","clickOutMixin","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","els","boundary","dropleft","dropright","dropup","noFlip","popperOpts","dropdownMixin","bvDropdown","bvNavbar","visibleChangePrevented","inNavbar","toggler","directionClass","boundaryClass","bvEvent","menu","emitEvent","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","whileOpenListen","destroyPopper","clearHideTimeout","createPopper","focusMenu","element","getPopperConfig","updatePopper","scheduleUpdate","placement","popperConfig","flip","enabled","boundariesElement","preventOverflow","isOpen","rootCloseListener","vm","hide","refocus","_event","onMousedown","onEsc","onSplitClick","hideHandler","up","focusItem","find","lazy","menuClass","noCaret","splitButtonType","splitClass","splitHref","splitTo","splitVariant","toggleClass","toggleTag","toggleText","BDropdown","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","$split","btnProps","$toggle","mousedown","$menu","linkClass","BDropdownItem","closeDropdown","buttonClass","BDropdownItemButton","BDropdownHeader","BDropdownDivider","inline","novalidate","validated","BForm","formClass","BDropdownForm","textClass","BDropdownText","ariaDescribedby","headerClasses","headerVariant","BDropdownGroup","headerId","ariaDescribedBy","DropdownPlugin","BDd","BDdItem","BDropdownItemBtn","BDdItemButton","BDdItemBtn","BDdHeader","BDdDivider","BDdForm","BDdText","BDdGroup","TYPES","BEmbed","EmbedPlugin","OPTIONS_OBJECT_DEPRECATED_MSG","disabledField","htmlField","textField","valueField","formOptionsMixin","formOptions","normalizeOptions","normalizeOption","option","BFormDatalist","_methods","BFormText","ariaLive","forceShow","tooltip","BFormInvalidFeedback","BFormValidFeedback","BFormRow","FormPlugin","BDatalist","BFormFeedback","SELECTOR","autofocus","form","formControlMixin","handleAutofocus","plain","formCustomMixin","custom","formSizeMixin","sizeFormClass","formStateMixin","computedState","stateClass","computedAriaInvalid","ariaInvalid","_objectSpread2","ariaLabelledby","buttonVariant","formRadioCheckMixin","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isRequired","computedName","groupName","computedForm","computedButtonVariant","buttonClasses","computedLocalCheckedWatcher","checked","input","$input","change","handleChange","handleFocus","$button","$label","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","BFormCheckbox","setIndeterminate","indeterminate","_ref$target","uncheckedValue","BFormRadio","PASS_DOWN_ATTRS","formRadioCheckGroupMixin","groupClasses","classes","isRadioGroup","$attrs","optionComponent","$inputs","BFormCheckboxGroup","bvCheckGroup","FormCheckboxPlugin","BCheckbox","BCheck","BCheckboxGroup","BCheckGroup","PROP","MOUSEENTER","MOUSELEAVE","createListener","listener","_ref$value","hasListener","handlerChanged","VBHover","buttonOnly","formattedValue","placeholder","BVFormBtnLabelControl","isHovered","idButton","idLabel","idMenu","idWrapper","computedDir","setFocus","handleHover","hovered","invalid","btnScope","opened","$hidden","calendarProps","formBtnLabelControlProps","calendarWidth","closeButton","closeButtonVariant","dark","labelCloseButton","labelResetButton","labelTodayButton","noCloseOnSelect","resetButton","resetButtonVariant","resetValue","todayButton","todayButtonVariant","BFormDatepicker","localYMD","isVisible","localLocale","calendarYM","computedLang","computedResetValue","control","setAndClose","onSelected","onInput","onContext","onTodayButton","onResetButton","onCloseButton","onShow","onShown","onHidden","defaultButtonFn","$createElement","_label","_label2","$calendar","shown","FormDatepickerPlugin","BDatepicker","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","getAsEntry","webkitGetAsEntry","dataTransferItemList","traverseDirectories","all","kind","isDirectory","createReader","isFile","resolve","file","$path","getAllFileEntriesInDirectory","directoryReader","entryPromises","readDirectoryEntries","readEntries","accept","browseText","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","BFormFile","files","dragging","dropAllowed","computedAccept","extOrType","startMatch","endMatch","rx","computedCapture","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","labelContent","allowed","filesTraversed","reset","$_form","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","handleFiles","isDrop","filteredFiles","focusHandler","onChange","_event$dataTransfer","webkitRelativePath","onDragenter","_event$dataTransfer2","dropEffect","onDragover","_event$dataTransfer3","onDragleave","onDrop","zIndex","dragenter","dragover","dragleave","drop","FormFilePlugin","BFile","escapeChar","firstCharCode","char","charCode","ALIGN_SELF_VALUES","breakpoint","computeBreakpointClass","breakpointPropMap","breakpointCol","breakpointOffset","breakpointOrder","col","order","alignSelf","cols","BCol","_classList$push","_keys","hasColClasses","INPUTS","INPUT_SELECTOR","LEGEND_INTERACTIVE_ELEMENTS","description","feedbackAriaLive","invalidFeedback","labelClass","labelFor","labelSize","labelSrOnly","validFeedback","BFormGroup","contentColProps","getColProps","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","updateAriaDescribedby","propValue","newIds","oldIds","ids","onLegendClick","inputs","isFieldset","labelId","labelTag","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","FormGroupPlugin","BFormFieldset","formSelectionMixin","selectionStart","selectionEnd","selectionDirection","select","_this$$refs$input","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","debounce","formatter","lazyFormatter","number","plaintext","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","computedDebounce","hasFormatter","stringifyValue","modifiedValue","clearDebounce","$_inputDebounceTimer","formatValue","force","updateValue","doUpdate","composing","onBlur","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","list","noWheel","BFormInput","localType","setWheelStopper","onWheelFocus","onWheelBlur","stopWheel","FormInputPlugin","BInput","BFormRadioGroup","bvRadioGroup","FormRadioPlugin","BRadio","BRadioGroup","MIN_STARS","DEFAULT_STARS","stars","BVFormRatingStar","focused","hasClear","rating","star","minStar","iconClear","iconEmpty","iconFull","iconHalf","noBorder","showClear","showValue","showValueMax","BFormRating","computedStars","computedRating","isInteractive","formattedRating","formatOptions","toLocaleString","amountRtl","onFocus","renderIcon","iconEmptyFn","iconHalfFn","iconFullFn","iconClearFn","$icon","empty","half","full","FormRatingPlugin","BRating","labelField","optionsField","optionsMixin","BFormSelectOption","BFormSelectOptionGroup","selectSize","BFormSelect","computedSelectSize","inputClass","selectedValue","_value","FormSelectPlugin","BSelect","BSelectOption","BSelectOptionGroup","DEFAULT_MIN","DEFAULT_MAX","DEFAULT_STEP","DEFAULT_REPEAT_DELAY","DEFAULT_REPEAT_INTERVAL","DEFAULT_REPEAT_THRESHOLD","DEFAULT_REPEAT_MULTIPLIER","KEY_CODES","formatterFn","labelDecrement","labelIncrement","repeatDelay","repeatInterval","repeatStepMultiplier","repeatThreshold","wrap","BFormSpinbutton","spinId","computedInline","computedReadonly","computedRequired","computedStep","computedDelay","delay","computedInterval","computedThreshold","computedStepMultiplier","computedPrecision","computedMultiplier","valueAsFixed","computedRTL","defaultFormatter","useGrouping","computedFormatter","computedSpinAttrs","hasValue","_disabled","clearRepeat","_readonly","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","spinner","emitChange","stepValue","multiplier","onFocusBlur","stepUp","stepDown","metaKey","resetTimers","handleStepRepeat","onKeyup","stepper","count","onMouseup","setMouseup","makeButton","IconCmp","keyRef","slotName","touchstart","$increment","$decrement","$spin","keyup","FormSpinbuttonPlugin","BSpinbutton","noRemove","removeLabel","BFormTag","onRemove","tagId","tagLabelId","$remove","$tag","DEFAULT_INPUT_FOCUS_SELECTOR","tags","cleanTagsState","valid","duplicate","addButtonText","addButtonVariant","addOnChange","duplicateTagText","ignoreInputFocusSelector","inputAttrs","inputId","inputType","invalidTagText","limit","limitTagsText","noAddOnEnter","noOuterFocus","noTagRemove","removeOnDelete","separator","tagClass","tagPills","tagRemoveLabel","tagRemovedLabel","tagValidator","tagVariant","BFormTags","newTag","removedTags","tagsState","computedInputId","computedInputType","computedInputAttrs","computedInputHandlers","onInputInput","onInputChange","onInputKeydown","computedSeparator","computedSeparatorRegExp","computedJoiner","joiner","computeIgnoreInputFocusSelector","disableAddButton","splitTags","validateTag","duplicateTags","hasDuplicateTags","invalidTags","hasInvalidTags","isLimitReached","addTag","parseTags","getInput","invalidAndDuplicates","removeTag","separatorRe","ignoreFocusSelector","onFocusout","_this7","defaultRender","inputHandlers","isDuplicate","isInvalid","$tags","duplicateFeedbackId","limitFeedbackId","outline","minWidth","invisible","tagListId","$field","$ul","$feedback","$invalid","$duplicate","$limit","$output","$removed","hasTags","FormTagsPlugin","BTags","BTag","maxRows","noAutoShrink","noResize","rows","BFormTextarea","heightInPx","computedStyle","styles","resize","computedRows","overflowY","computedMinRows","computedMaxRows","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderBottomWidth","paddingTop","minHeight","oldHeight","contentRows","FormTextareaPlugin","BTextarea","NUMERIC","padLeftZeros","hh","mm","ss","_value$split$map","_value$split$map2","hours","minutes","seconds","ampm","requireSeconds","hms","hour12","labelAm","labelAmpm","labelHours","labelMinutes","labelNoTimeSelected","labelPm","labelSeconds","minutesStep","secondsStep","showSeconds","BTime","modelHours","modelMinutes","modelSeconds","modelAmpm","computedHMS","resolved","hourCycle","computedHourCycle","is12Hour","formatted","formattedTimeString","computedAriaLabelledby","timeFormatter","timeZone","numberFormatter","UTC","spinScopedSlots","increment","decrement","_parseHMS","newHours","oldHours","spinners","formatHours","formatMinutes","formatSeconds","formatAmpm","setHours","setMinutes","setSeconds","setAmpm","onSpinLeftRight","cmp","spinIds","makeSpinbutton","spinbuttonProps","refInFor","makeColon","$spinners","$value","timeProps","labelNowButton","noCloseButton","nowButton","nowButtonVariant","BFormTimepicker","localHMS","onNowButton","now","getHours","getMinutes","getSeconds","time","$time","FormTimepickerPlugin","BTimepicker","ImagePlugin","BInputGroupText","isText","BInputGroupAddon","BInputGroupAppend","BInputGroupPrepend","appendHtml","prepend","prependHtml","BInputGroup","$prepend","hasPrependSlot","$append","hasAppendSlot","InputGroupPlugin","BContainer","container","containerFluid","headerLevel","lead","leadHtml","leadTag","BJumbotron","$lead","hasLeadSlot","$children","JumbotronPlugin","COMMON_ALIGNMENT","computeRowColsClass","computeRowColsBreakpoint","rowColsPropList","rowColsProps","alignContent","alignH","alignV","noGutters","BRow","LayoutPlugin","LinkPlugin","flush","horizontal","BListGroup","actionTags","action","BListGroupItem","itemProps","ListGroupPlugin","verticalAlign","BMediaAside","BMediaBody","rightAlign","BMedia","$aside","MediaPlugin","listenOnDocumentMixin","handlers","listenDocument","listenOnDocument","listenOffDocument","listenOnWindowMixin","listenWindow","listenOnWindow","listenOffWindow","getScopeId","_scopeId","scopedStyleMixin","scopedStyleAttrs","scopeId","BVTransporterTarget","abstract","nodes","updatedNodes","destroyed","$nodes","BVTransporter","immediate","unmountTarget","mountTarget","$_defaultFn","$_target","beforeMount","updateTarget","getContainer","$container","createElement","appendChild","propsData","defaultFn","$destroy","_get","property","receiver","base","_superPropBase","desc","_BvEvent","BvModalEvent","trigger","DEFAULT_ZINDEX","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","SELECTOR_NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","resetScrollbar","updateModals","registerModal","modal","unregisterModal","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","clientWidth","isTop","_getBCR","innerWidth","_paddingChangedForModal","_marginChangedForModal","actualPadding","actualMargin","modalManager","TRIGGER_BACKDROP","TRIGGER_ESC","TRIGGER_FORCE","TRIGGER_TOGGLE","BUTTON_CANCEL","BUTTON_CLOSE","BUTTON_OK","BUTTONS","OBSERVER_CONFIG","characterData","autoFocusButton","busy","buttonSize","cancelDisabled","cancelTitle","cancelTitleHtml","cancelVariant","centered","contentClass","dialogClass","headerCloseContent","headerCloseLabel","headerCloseVariant","hideBackdrop","hideFooter","hideHeaderClose","ignoreEnforceFocusSelector","modalClass","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","noStacking","okDisabled","okOnly","okTitle","okTitleHtml","okVariant","returnFocus","scrollable","static","titleClass","titleHtml","titleSrOnly","BModal","isHidden","isTransitioning","isShow","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","modalId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","modalStyles","sbWidth","dialogClasses","titleClasses","bodyClasses","footerClasses","_ref4","modalOuterStyle","cancel","onCancel","onClose","ok","onOk","computeIgnoreEnforceFocusSelector","computedModalAttrs","$_returnFocus","showHandler","toggleHandler","modalListener","checkModalOverflow","updateModel","buildEvent","getActiveElement","showEvt","hideEvt","triggerEl","onBeforeEnter","setResizeEvent","setEnforceFocus","onBeforeLeave","returnFocusTo","onDialogMousedown","onceModalMouseup","onClickOut","tabables","bottomTrap","topTrap","preventScroll","autoFocus","scrollTop","clientHeight","makeModal","$modalHeader","$closeButton","$body","$modalFooter","$cancelButton","$okButton","$modalContent","$tabTrapTop","$tabTrapBottom","$modalDialog","$modal","beforeEnter","beforeLeave","$backdrop","ROOT_ACTION_EVENT_NAME_SHOW","PROPERTY","_ref$modifiers","oldProp","VBModal","inserted","PROP_NAME_PRIV","BASE_PROPS","defaultResolver","propsToSlots","msgBoxContent","BMsgBox","extends","handleDestroy","$route","$watch","asyncMsgBox","resolver","msgBox","reject","Error","bvModalEvt","$mount","makeMsgBox","BvModal","_vm","_root","_this$_root","_this$_root2","_len2","_key2","BVModalPlugin","ModalPlugin","computeJustifyContent","cardHeader","justified","pills","small","tabs","BNav","linkAttrs","linkClasses","BNavItem","BNavText","formProps","BNavForm","BNavItemDropdown","toggleId","NavPlugin","BNavItemDd","BNavDropdown","BNavDd","fixed","print","sticky","toggleable","BNavbar","breakpointClass","xs","BNavbarNav","BNavbarBrand","isLink","BNavbarToggle","toggleState","handleStateEvt","expanded","NavbarPlugin","BNavToggle","BSpinner","POSITION_COVER","bgColor","noCenter","opacity","overlayTag","spinnerSmall","spinnerType","spinnerVariant","wrapTag","BOverlay","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","OverlayPlugin","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","startNumber","numberOfPages","page","ellipsisClass","ellipsisText","firstClass","firstNumber","firstText","hideEllipsis","hideGotoEndButtons","labelFirstPage","labelLastPage","labelNextPage","labelPage","labelPrevPage","lastClass","lastNumber","lastText","nextClass","nextText","pageClass","prevClass","prevText","paginationMixin","currentPage","localNumberOfPages","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","lastPageNumber","pageList","_this$paginationParam","pages","_i2","_i3","handleKeyNav","getButtons","btn","focusCurrent","pageNumbers","_this$paginationParam2","$buttons","isActivePage","pageNumber","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","$btnContent","linkProps","makeEllipsis","isLast","makePageButton","btnContent","makePage","$firstPageBtn","$lastPageBtn","$pagination","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","perPage","totalRows","BPagination","pageSizeNumberOfPages","clickEvt","pageNum","PaginationPlugin","_linkProps","baseUrl","linkGen","noPageDetect","pageGen","useRouter","BPaginationNav","computedValue","setNumberOfPages","guessCurrentPage","getPageInfo","_link","makeLink","resolveLink","_link2","pathname","search","resolveRoute","route","guess","currentRoute","loc","location","currentLink","PaginationNavPlugin","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","arrowPadding","boundaryPadding","fallbackPlacement","BVPopper","attachment","getAttachment","templateType","getOffset","behavior","arrow","onCreate","originalPlacement","popperPlacementChange","onUpdate","popperCreate","arrowOffset","renderTemplate","BVTooltipTemplate","customClass","interactive","templateClasses","noninteractive","templateAttributes","templateListeners","_makePropsConfigurabl","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","triggers","BVTooltip","activeTrigger","hover","computedId","computedTriggers","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","getTarget","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","updateData","titleUpdated","fixTitle","createTemplateAndShow","Template","$tip","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","hideTemplate","clearActiveTriggers","localPlacementTarget","removeAriaDescribedby","restoreTitle","getTemplateElement","dropdownOpen","addAriaDescribedby","tip","prevHoverState","getTargetId","isInModal","isDropdown","setRootListener","doHide","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","_this9","eventTarget","_this10","_this11","MODEL_PROP_NAME_ENABLED","MODEL_EVENT_NAME_ENABLED","BTooltip","localTitle","localContent","templateData","templateTitleContent","$_toolpop","updateContent","doOpen","doClose","Component","getComponent","$toolpop","onHide","onDisabled","onEnabled","setTitle","setContent","BVPopoverTemplate","titleDomProps","contentDomProps","BVPopover","BPopover","BV_POPOVER","DefaultTrigger","validTriggers","manual","htmlRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","bindings","selectedTriggers","__bv_prev_data__","oldData","newData","removePopover","VBPopover","VBPopoverPlugin","PopoverPlugin","animated","labelHtml","showProgress","striped","BProgressBar","bvProgress","progressBarClasses","computedAnimated","computedStriped","progressBarStyles","computedProgress","computedShowProgress","computedShowValue","progressBarProps","BProgress","progressHeight","$childNodes","ProgressPlugin","backdrop","backdropVariant","closeLabel","noCloseOnRouteChange","noHeader","noHeaderClose","noSlide","shadow","sidebarClass","$close","renderContent","renderBackdrop","onBackdropClick","BSidebar","transitionProps","hasTitle","titleId","fullPath","$_returnFocusEl","handleToggle","handleSync","onTopTrapFocus","enforceFocus","onBottomTrapFocus","$sidebar","SidebarPlugin","BSkeleton","BSkeletonIcon","cardImg","noAspect","BSkeletonImg","hasListenerMixin","$listeners","$events","_events","stackedMixin","isStacked","isStackedAlways","stackedTableClasses","bordered","borderless","captionTop","noBorderCollapse","outlined","responsive","stickyHeader","tableClass","tableVariant","tableRendererMixin","bvTable","isResponsive","isStickyHeader","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","computedItems","computedBusy","selectableTableClasses","tableAttrs","filteredItems","fields","computedFields","selectableTableAttrs","ariaAttrs","captionId","rowCount","renderCaption","renderColgroup","renderThead","renderTbody","renderTfoot","$table","BTableSimple","isPositiveNumber","showFooter","tableProps","BSkeletonTable","$th","$thTr","$td","$tdTr","$tbody","$thead","$tfoot","loading","BSkeletonWrapper","SkeletonPlugin","SpinnerPlugin","LIGHT","DARK","BTr","bvTableTr","bvTableRowGroup","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","isDark","hasStickyHeader","headVariant","footVariant","isRowDark","trClasses","trAttrs","bottomRowMixin","renderBottomRow","tbodyTrClass","tbodyTrAttr","colspan","rowspan","stackedHeading","stickyColumn","BTd","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","stopIfBusy","renderBusy","captionMixin","$caption","hasCaptionSlot","colgroupMixin","$colgroup","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","$empty","isFiltered","stringifyObjectValues","k","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","EVENT_FILTER","row","ignoreFields","includeFields","fieldsObj","formattedRow","field","filterByFormatted","allowedKeys","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","computedFilterIncluded","computedFilterDebounce","ms","localFiltering","hasProvider","noProviderFiltering","filteredCheck","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","clearFilterTimer","deep","newCriteria","timeout","regExp","pattern","lastIndex","computedFieldsObj","origFields","f","sample","primaryKey","itemsMixin","paginatedItems","sortedItems","sortBy","localSortBy","sortDesc","localSortDesc","apiUrl","getFieldFormatter","localPaging","noProviderPaging","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","noProviderSorting","providerMixin","providerTriggerContext","_providerUpdate","refresh","clearSelected","_providerSetLocal","_props","SELECT_MODES","noSelectOnClick","selectMode","selectable","selectableMixin","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","selectableIsMultiSelect","setSelectionHandlers","_selectedRows","selectRow","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","selectableRowAttrs","selectionHandler","stableSort","compareFn","_ref$sortBy","_ref$formatter","_ref$locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","bb","localeCompare","MODEL_PROP_NAME_SORT_BY","MODEL_EVENT_NAME_SORT_BY","MODEL_PROP_NAME_SORT_DESC","MODEL_EVENT_NAME_SORT_DESC","SORT_DIRECTION_ASC","SORT_DIRECTION_DESC","SORT_DIRECTION_LAST","SORT_DIRECTIONS","labelSortAsc","labelSortClear","labelSortDesc","noFooterSorting","noLocalSorting","noSortReset","numeric","sortingMixin","localSorting","isSortable","sortable","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","usage","sortByFormatted","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","TABLE_TAG_NAMES","containsNode","BTh","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","isRowHeader","cellTag","cellVariant","tdClass","thAttr","tdAttr","unformatted","toggleDetails","detailsShowing","rowSelected","$_bodyFieldSlotNameCache","renderTbodyRow","rowShowDetails","hasRowClickHandler","$rows","detailsId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","tbody","trs","tr","getTbodyTrIndex","onTbodyRowKeydown","onTBodyRowClicked","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTopRow","$busy","defaultSlotName","lowercaseSlotName","auxclick","contextmenu","dblclick","BTfoot","tfootClasses","tfootAttrs","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","BThead","theadClasses","theadAttrs","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","makeCell","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$trs","topRowMixin","BTable","BTableLite","TableLitePlugin","TableSimplePlugin","TablePlugin","notDisabled","tab","BVTabButton","bvTabs","posInSet","setSize","handleEvt","_this$tab","localActive","titleItemClass","titleLinkClass","titleLinkAttributes","$link","activeNavItemClass","activeTabClass","card","navClass","navWrapperClass","noNavStyle","BTabs","currentTab","registeredTabs","localNavClass","$tab","activateTab","previousTab","nextTab","updateTabs","registerTab","unregisterTab","$t","getTabs","$tabs","_isTab","getButtonForTab","updateButton","$forceUpdate","tabEvent","deactivateTab","focusButton","emitTabClick","clickTab","firstTab","currentIndex","lastTab","$activeTab","$fallbackTab","_on","controlledBy","MODEL_PROP_NAME_ACTIVE","MODEL_EVENT_NAME_ACTIVE","BTab","tabClasses","buttonId","computedNoFade","computedLazy","activate","deactivate","TabsPlugin","TimePlugin","DefaultTransition","ariaAtomic","BToaster","doRender","dead","staticName","hasTarget","$toaster","$target","slim","MIN_DURATION","appendToast","autoHideDelay","isStatus","noAutoHide","solid","toastClass","toaster","BToast","isMounted","isHiding","dismissStarted","resumeDismiss","toastClasses","computedDuration","computedToaster","transitionHandlers","ensureToaster","$_dismissTimer","clearDismissTimer","setHoverHandler","startDismissTimer","onPause","onUnPause","passed","onLinkClick","hiddenEvt","makeToast","$headerContent","isStatic","$toast","toastContent","BVToastPop","toast","BvToast","BVToastPlugin","ToastPlugin","BV_TOOLTIP","noninteractiveRE","removeTooltip","VBTooltip","VBTooltipPlugin","TooltipPlugin","componentsPlugin","VBHoverPlugin","VBModalPlugin","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_ITEMS","SELECTOR_DROPDOWN_TOGGLE","ROOT_EVENT_NAME_ACTIVATE","METHOD_OFFSET","METHOD_POSITION","Default","throttle","DefaultType","match","componentName","configTypes","expectedTypes","valueType","_isVue","BVScrollSpy","$scroller","$selector","$offsets","$targets","$activeTarget","$scrollHeight","$resizeTimeout","$scrollerObserver","$targetsObserver","$config","updateConfig","unlisten","cfg","Name","scroller","getScroller","setObservers","resizeThrottle","process","autoMethod","methodFn","offsetBase","getScrollTop","getScrollHeight","maxScroll","getOffsetHeight","clear","isActiveTarget","innerHeight","links","dropdown","setActiveState","sibling","previousElementSibling","BV_SCROLLSPY","onlyDigitsRE","removeScrollspy","dispose","VBScrollspy","update","VBScrollspyPlugin","VBVisiblePlugin","directivesPlugin","BootstrapVue","getEnv","env","getNoWarn"],"mappings":"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","file":"js/npm.bootstrap-vue.3b7356b6.js","sourcesContent":["export var HAS_WINDOW_SUPPORT = typeof window !== 'undefined';\nexport var HAS_DOCUMENT_SUPPORT = typeof document !== 'undefined';\nexport var HAS_NAVIGATOR_SUPPORT = typeof navigator !== 'undefined';\nexport var HAS_PROMISE_SUPPORT = typeof Promise !== 'undefined';\n/* istanbul ignore next: JSDOM always returns false */\n\nexport var HAS_MUTATION_OBSERVER_SUPPORT = typeof MutationObserver !== 'undefined' || typeof WebKitMutationObserver !== 'undefined' || typeof MozMutationObserver !== 'undefined';\nexport var IS_BROWSER = HAS_WINDOW_SUPPORT && HAS_DOCUMENT_SUPPORT && HAS_NAVIGATOR_SUPPORT;\nexport var WINDOW = HAS_WINDOW_SUPPORT ? window : {};\nexport var DOCUMENT = HAS_DOCUMENT_SUPPORT ? document : {};\nexport var NAVIGATOR = HAS_NAVIGATOR_SUPPORT ? navigator : {};\nexport var USER_AGENT = (NAVIGATOR.userAgent || '').toLowerCase();\nexport var IS_JSDOM = USER_AGENT.indexOf('jsdom') > 0;\nexport var IS_IE = /msie|trident/.test(USER_AGENT); // Determine if the browser supports the option passive for events\n\nexport var HAS_PASSIVE_EVENT_SUPPORT = function () {\n var passiveEventSupported = false;\n\n if (IS_BROWSER) {\n try {\n var options = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true;\n }\n\n };\n WINDOW.addEventListener('test', options, options);\n WINDOW.removeEventListener('test', options, options);\n } catch (_unused) {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false;\n }\n }\n\n return passiveEventSupported;\n}();\nexport var HAS_TOUCH_SUPPORT = IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0);\nexport var HAS_POINTER_EVENT_SUPPORT = IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent);\n/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\n\nexport var HAS_INTERACTION_OBSERVER_SUPPORT = IS_BROWSER && 'IntersectionObserver' in WINDOW && 'IntersectionObserverEntry' in WINDOW && // Edge 15 and UC Browser lack support for `isIntersecting`\n// but we an use `intersectionRatio > 0` instead\n// 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n'intersectionRatio' in WINDOW.IntersectionObserverEntry.prototype;","export var NAME = 'BvConfig';\nexport var PROP_NAME = '$bvConfig';\nexport var DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl'];","// --- General ---\nexport var RX_ARRAY_NOTATION = /\\[(\\d+)]/g;\nexport var RX_BV_PREFIX = /^(BV?)/;\nexport var RX_DIGITS = /^\\d+$/;\nexport var RX_EXTENSION = /^\\..+/;\nexport var RX_HASH = /^#/;\nexport var RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/;\nexport var RX_HTML_TAGS = /(<([^>]+)>)/gi;\nexport var RX_HYPHENATE = /\\B([A-Z])/g;\nexport var RX_LOWER_UPPER = /([a-z])([A-Z])/g;\nexport var RX_NUMBER = /^[0-9]*\\.?[0-9]+$/;\nexport var RX_PLUS = /\\+/g;\nexport var RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g;\nexport var RX_SPACES = /[\\s\\uFEFF\\xA0]+/g;\nexport var RX_SPACE_SPLIT = /\\s+/;\nexport var RX_STAR = /\\/\\*$/;\nexport var RX_START_SPACE_WORD = /(\\s|^)(\\w)/g;\nexport var RX_TRIM_LEFT = /^\\s+/;\nexport var RX_TRIM_RIGHT = /\\s+$/;\nexport var RX_UNDERSCORE = /_/g;\nexport var RX_UN_KEBAB = /-(\\w)/g; // --- Date ---\n// Loose YYYY-MM-DD matching, ignores any appended time inforation\n// Matches '1999-12-20', '1999-1-1', '1999-01-20T22:51:49.118Z', '1999-01-02 13:00:00'\n\nexport var RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/; // Used to split off the date parts of the YYYY-MM-DD string\n\nexport var RX_DATE_SPLIT = /-|\\s|T/; // Time string RegEx (optional seconds)\n\nexport var RX_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/; // --- URL ---\n// HREFs must end with a hash followed by at least one non-hash character\n\nexport var RX_HREF = /^.*(#[^#]+)$/;\nexport var RX_ENCODED_COMMA = /%2C/g;\nexport var RX_ENCODE_REVERSE = /[!'()*]/g;\nexport var RX_QUERY_START = /^(\\?|#|&)/; // --- Aspect ---\n\nexport var RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/;\nexport var RX_ASPECT_SEPARATOR = /[/:]/; // --- Grid ---\n\nexport var RX_COL_CLASS = /^col-/; // --- Icon ---\n\nexport var RX_ICON_PREFIX = /^BIcon/; // --- Locale ---\n\nexport var RX_STRIP_LOCALE_MODS = /-u-.+/;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { HAS_WINDOW_SUPPORT, WINDOW } from './env';\n/* istanbul ignore next */\n\nexport var Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : /*#__PURE__*/function (_Object) {\n _inherits(Element, _Object);\n\n var _super = _createSuper(Element);\n\n function Element() {\n _classCallCheck(this, Element);\n\n return _super.apply(this, arguments);\n }\n\n return Element;\n}( /*#__PURE__*/_wrapNativeSuper(Object));\n/* istanbul ignore next */\n\nexport var HTMLElement = HAS_WINDOW_SUPPORT ? WINDOW.HTMLElement : /*#__PURE__*/function (_Element) {\n _inherits(HTMLElement, _Element);\n\n var _super2 = _createSuper(HTMLElement);\n\n function HTMLElement() {\n _classCallCheck(this, HTMLElement);\n\n return _super2.apply(this, arguments);\n }\n\n return HTMLElement;\n}(Element);\n/* istanbul ignore next */\n\nexport var SVGElement = HAS_WINDOW_SUPPORT ? WINDOW.SVGElement : /*#__PURE__*/function (_Element2) {\n _inherits(SVGElement, _Element2);\n\n var _super3 = _createSuper(SVGElement);\n\n function SVGElement() {\n _classCallCheck(this, SVGElement);\n\n return _super3.apply(this, arguments);\n }\n\n return SVGElement;\n}(Element);\n/* istanbul ignore next */\n\nexport var File = HAS_WINDOW_SUPPORT ? WINDOW.File : /*#__PURE__*/function (_Object2) {\n _inherits(File, _Object2);\n\n var _super4 = _createSuper(File);\n\n function File() {\n _classCallCheck(this, File);\n\n return _super4.apply(this, arguments);\n }\n\n return File;\n}( /*#__PURE__*/_wrapNativeSuper(Object));","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { RX_NUMBER } from '../constants/regex';\nimport { File } from '../constants/safe-types'; // --- Convenience inspection utilities ---\n\nexport var toType = function toType(value) {\n return _typeof(value);\n};\nexport var toRawType = function toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n};\nexport var toRawTypeLC = function toRawTypeLC(value) {\n return toRawType(value).toLowerCase();\n};\nexport var isUndefined = function isUndefined(value) {\n return value === undefined;\n};\nexport var isNull = function isNull(value) {\n return value === null;\n};\nexport var isEmptyString = function isEmptyString(value) {\n return value === '';\n};\nexport var isUndefinedOrNull = function isUndefinedOrNull(value) {\n return isUndefined(value) || isNull(value);\n};\nexport var isUndefinedOrNullOrEmpty = function isUndefinedOrNullOrEmpty(value) {\n return isUndefinedOrNull(value) || isEmptyString(value);\n};\nexport var isFunction = function isFunction(value) {\n return toType(value) === 'function';\n};\nexport var isBoolean = function isBoolean(value) {\n return toType(value) === 'boolean';\n};\nexport var isString = function isString(value) {\n return toType(value) === 'string';\n};\nexport var isNumber = function isNumber(value) {\n return toType(value) === 'number';\n};\nexport var isNumeric = function isNumeric(value) {\n return RX_NUMBER.test(String(value));\n};\nexport var isPrimitive = function isPrimitive(value) {\n return isBoolean(value) || isString(value) || isNumber(value);\n};\nexport var isArray = function isArray(value) {\n return Array.isArray(value);\n}; // Quick object check\n// This is primarily used to tell Objects from primitive values\n// when we know the value is a JSON-compliant type\n// Note object could be a complex type like array, Date, etc.\n\nexport var isObject = function isObject(obj) {\n return obj !== null && _typeof(obj) === 'object';\n}; // Strict object type check\n// Only returns true for plain JavaScript objects\n\nexport var isPlainObject = function isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n};\nexport var isDate = function isDate(value) {\n return value instanceof Date;\n};\nexport var isEvent = function isEvent(value) {\n return value instanceof Event;\n};\nexport var isFile = function isFile(value) {\n return value instanceof File;\n};\nexport var isRegExp = function isRegExp(value) {\n return toRawType(value) === 'RegExp';\n};\nexport var isPromise = function isPromise(value) {\n return !isUndefinedOrNull(value) && isFunction(value.then) && isFunction(value.catch);\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { isObject } from './inspect'; // --- Static ---\n\nexport var assign = function assign() {\n return Object.assign.apply(Object, arguments);\n};\nexport var create = function create(proto, optionalProps) {\n return Object.create(proto, optionalProps);\n};\nexport var defineProperties = function defineProperties(obj, props) {\n return Object.defineProperties(obj, props);\n};\nexport var defineProperty = function defineProperty(obj, prop, descriptor) {\n return Object.defineProperty(obj, prop, descriptor);\n};\nexport var freeze = function freeze(obj) {\n return Object.freeze(obj);\n};\nexport var getOwnPropertyNames = function getOwnPropertyNames(obj) {\n return Object.getOwnPropertyNames(obj);\n};\nexport var getOwnPropertyDescriptor = function getOwnPropertyDescriptor(obj, prop) {\n return Object.getOwnPropertyDescriptor(obj, prop);\n};\nexport var getOwnPropertySymbols = function getOwnPropertySymbols(obj) {\n return Object.getOwnPropertySymbols(obj);\n};\nexport var getPrototypeOf = function getPrototypeOf(obj) {\n return Object.getPrototypeOf(obj);\n};\nexport var is = function is(value1, value2) {\n return Object.is(value1, value2);\n};\nexport var isFrozen = function isFrozen(obj) {\n return Object.isFrozen(obj);\n};\nexport var keys = function keys(obj) {\n return Object.keys(obj);\n}; // --- \"Instance\" ---\n\nexport var hasOwnProperty = function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n};\nexport var toString = function toString(obj) {\n return Object.prototype.toString.call(obj);\n}; // --- Utilities ---\n// Shallow copy an object\n\nexport var clone = function clone(obj) {\n return _objectSpread({}, obj);\n}; // Return a shallow copy of object with the specified properties only\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n\nexport var pick = function pick(obj, props) {\n return keys(obj).filter(function (key) {\n return props.indexOf(key) !== -1;\n }).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n}; // Return a shallow copy of object with the specified properties omitted\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n\nexport var omit = function omit(obj, props) {\n return keys(obj).filter(function (key) {\n return props.indexOf(key) === -1;\n }).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n}; // Merges two object deeply together\n// See: https://gist.github.com/Salakar/1d7137de9cb8b704e48a\n\nexport var mergeDeep = function mergeDeep(target, source) {\n if (isObject(target) && isObject(source)) {\n keys(source).forEach(function (key) {\n if (isObject(source[key])) {\n if (!target[key] || !isObject(target[key])) {\n target[key] = source[key];\n }\n\n mergeDeep(target[key], source[key]);\n } else {\n assign(target, _defineProperty({}, key, source[key]));\n }\n });\n }\n\n return target;\n}; // Returns a shallow copy of the object with keys in sorted order\n\nexport var sortKeys = function sortKeys(obj) {\n return keys(obj).sort().reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n}; // Convenience method to create a read-only descriptor\n\nexport var readonlyDescriptor = function readonlyDescriptor() {\n return {\n enumerable: true,\n configurable: false,\n writable: false\n };\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { isArray, isPlainObject } from './inspect';\nimport { keys } from './object';\nexport var cloneDeep = function cloneDeep(obj) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : obj;\n\n if (isArray(obj)) {\n return obj.reduce(function (result, val) {\n return [].concat(_toConsumableArray(result), [cloneDeep(val, val)]);\n }, []);\n }\n\n if (isPlainObject(obj)) {\n return keys(obj).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, cloneDeep(obj[key], obj[key])));\n }, {});\n }\n\n return defaultValue;\n};","export var identity = function identity(x) {\n return x;\n};","import { RX_ARRAY_NOTATION } from '../constants/regex';\nimport { identity } from './identity';\nimport { isArray, isNull, isObject, isUndefinedOrNull } from './inspect';\n/**\n * Get property defined by dot/array notation in string, returns undefined if not found\n *\n * @link https://gist.github.com/jeneg/9767afdcca45601ea44930ea03e0febf#gistcomment-1935901\n *\n * @param {Object} obj\n * @param {string|Array} path\n * @return {*}\n */\n\nexport var getRaw = function getRaw(obj, path) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n // Handle array of path values\n path = isArray(path) ? path.join('.') : path; // If no path or no object passed\n\n if (!path || !isObject(obj)) {\n return defaultValue;\n } // Handle edge case where user has dot(s) in top-level item field key\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2762\n // Switched to `in` operator vs `hasOwnProperty` to handle obj.prototype getters\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3463\n\n\n if (path in obj) {\n return obj[path];\n } // Handle string array notation (numeric indices only)\n\n\n path = String(path).replace(RX_ARRAY_NOTATION, '.$1');\n var steps = path.split('.').filter(identity); // Handle case where someone passes a string of only dots\n\n if (steps.length === 0) {\n return defaultValue;\n } // Traverse path in object to find result\n // Switched to `in` operator vs `hasOwnProperty` to handle obj.prototype getters\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3463\n\n\n return steps.every(function (step) {\n return isObject(obj) && step in obj && !isUndefinedOrNull(obj = obj[step]);\n }) ? obj : isNull(obj) ? null : defaultValue;\n};\n/**\n * Get property defined by dot/array notation in string.\n *\n * @link https://gist.github.com/jeneg/9767afdcca45601ea44930ea03e0febf#gistcomment-1935901\n *\n * @param {Object} obj\n * @param {string|Array} path\n * @param {*} defaultValue (optional)\n * @return {*}\n */\n\nexport var get = function get(obj, path) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var value = getRaw(obj, path);\n return isUndefinedOrNull(value) ? defaultValue : value;\n};","import { IS_BROWSER, HAS_PROMISE_SUPPORT, HAS_MUTATION_OBSERVER_SUPPORT } from '../constants/env';\nimport { getNoWarn } from './env';\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\n\nexport var warn = function warn(message)\n/* istanbul ignore next */\n{\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (!getNoWarn()) {\n console.warn(\"[BootstrapVue warn]: \".concat(source ? \"\".concat(source, \" - \") : '').concat(message));\n }\n};\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nexport var warnNotClient = function warnNotClient(source) {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n return false;\n } else {\n warn(\"\".concat(source, \": Can not be called during SSR.\"));\n return true;\n }\n};\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nexport var warnNoPromiseSupport = function warnNoPromiseSupport(source) {\n /* istanbul ignore else */\n if (HAS_PROMISE_SUPPORT) {\n return false;\n } else {\n warn(\"\".concat(source, \": Requires Promise support.\"));\n return true;\n }\n};\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nexport var warnNoMutationObserverSupport = function warnNoMutationObserverSupport(source) {\n /* istanbul ignore else */\n if (HAS_MUTATION_OBSERVER_SUPPORT) {\n return false;\n } else {\n warn(\"\".concat(source, \": Requires MutationObserver support.\"));\n return true;\n }\n};","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { Vue as OurVue } from '../vue';\nimport { NAME, PROP_NAME } from '../constants/config';\nimport { cloneDeep } from './clone-deep';\nimport { getRaw } from './get';\nimport { isArray, isPlainObject, isString, isUndefined } from './inspect';\nimport { getOwnPropertyNames } from './object';\nimport { warn } from './warn'; // Config manager class\n\nvar BvConfig = /*#__PURE__*/function () {\n function BvConfig() {\n _classCallCheck(this, BvConfig);\n\n this.$_config = {};\n } // Method to merge in user config parameters\n\n\n _createClass(BvConfig, [{\n key: \"setConfig\",\n value: function setConfig() {\n var _this = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n /* istanbul ignore next */\n if (!isPlainObject(config)) {\n return;\n }\n\n var configKeys = getOwnPropertyNames(config);\n configKeys.forEach(function (key) {\n /* istanbul ignore next */\n var subConfig = config[key];\n\n if (key === 'breakpoints') {\n /* istanbul ignore if */\n if (!isArray(subConfig) || subConfig.length < 2 || subConfig.some(function (b) {\n return !isString(b) || b.length === 0;\n })) {\n warn('\"breakpoints\" must be an array of at least 2 breakpoint names', NAME);\n } else {\n _this.$_config[key] = cloneDeep(subConfig);\n }\n } else if (isPlainObject(subConfig)) {\n // Component prop defaults\n _this.$_config[key] = getOwnPropertyNames(subConfig).reduce(function (config, prop) {\n if (!isUndefined(subConfig[prop])) {\n config[prop] = cloneDeep(subConfig[prop]);\n }\n\n return config;\n }, _this.$_config[key] || {});\n }\n });\n } // Clear the config\n\n }, {\n key: \"resetConfig\",\n value: function resetConfig() {\n this.$_config = {};\n } // Returns a deep copy of the user config\n\n }, {\n key: \"getConfig\",\n value: function getConfig() {\n return cloneDeep(this.$_config);\n } // Returns a deep copy of the config value\n\n }, {\n key: \"getConfigValue\",\n value: function getConfigValue(key) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n return cloneDeep(getRaw(this.$_config, key, defaultValue));\n }\n }]);\n\n return BvConfig;\n}(); // Method for applying a global config\n\n\nexport var setConfig = function setConfig() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var Vue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OurVue;\n // Ensure we have a `$bvConfig` Object on the Vue prototype\n // We set on Vue and OurVue just in case consumer has not set an alias of `vue`\n Vue.prototype[PROP_NAME] = OurVue.prototype[PROP_NAME] = Vue.prototype[PROP_NAME] || OurVue.prototype[PROP_NAME] || new BvConfig(); // Apply the config values\n\n Vue.prototype[PROP_NAME].setConfig(config);\n}; // Method for resetting the user config\n// Exported for testing purposes only\n\nexport var resetConfig = function resetConfig() {\n if (OurVue.prototype[PROP_NAME] && OurVue.prototype[PROP_NAME].resetConfig) {\n OurVue.prototype[PROP_NAME].resetConfig();\n }\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue as OurVue } from '../vue';\nimport { HAS_WINDOW_SUPPORT, IS_JSDOM } from '../constants/env';\nimport { setConfig } from './config-set';\nimport { warn } from './warn';\n/**\n * Checks if there are multiple instances of Vue, and warns (once) about possible issues.\n * @param {object} Vue\n */\n\nexport var checkMultipleVue = function () {\n var checkMultipleVueWarned = false;\n var MULTIPLE_VUE_WARNING = ['Multiple instances of Vue detected!', 'You may need to set up an alias for Vue in your bundler config.', 'See: https://bootstrap-vue.org/docs#using-module-bundlers'].join('\\n');\n return function (Vue) {\n /* istanbul ignore next */\n if (!checkMultipleVueWarned && OurVue !== Vue && !IS_JSDOM) {\n warn(MULTIPLE_VUE_WARNING);\n }\n\n checkMultipleVueWarned = true;\n };\n}();\n/**\n * Plugin install factory function.\n * @param {object} { components, directives }\n * @returns {function} plugin install function\n */\n\nexport var installFactory = function installFactory() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n components = _ref.components,\n directives = _ref.directives,\n plugins = _ref.plugins;\n\n var install = function install(Vue) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (install.installed) {\n /* istanbul ignore next */\n return;\n }\n\n install.installed = true;\n checkMultipleVue(Vue);\n setConfig(config, Vue);\n registerComponents(Vue, components);\n registerDirectives(Vue, directives);\n registerPlugins(Vue, plugins);\n };\n\n install.installed = false;\n return install;\n};\n/**\n * Plugin install factory function (no plugin config option).\n * @param {object} { components, directives }\n * @returns {function} plugin install function\n */\n\nexport var installFactoryNoConfig = function installFactoryNoConfig() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n components = _ref2.components,\n directives = _ref2.directives,\n plugins = _ref2.plugins;\n\n var install = function install(Vue) {\n if (install.installed) {\n /* istanbul ignore next */\n return;\n }\n\n install.installed = true;\n checkMultipleVue(Vue);\n registerComponents(Vue, components);\n registerDirectives(Vue, directives);\n registerPlugins(Vue, plugins);\n };\n\n install.installed = false;\n return install;\n};\n/**\n * Plugin object factory function.\n * @param {object} { components, directives, plugins }\n * @returns {object} plugin install object\n */\n\nexport var pluginFactory = function pluginFactory() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extend = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _objectSpread(_objectSpread({}, extend), {}, {\n install: installFactory(options)\n });\n};\n/**\n * Plugin object factory function (no config option).\n * @param {object} { components, directives, plugins }\n * @returns {object} plugin install object\n */\n\nexport var pluginFactoryNoConfig = function pluginFactoryNoConfig() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extend = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _objectSpread(_objectSpread({}, extend), {}, {\n install: installFactoryNoConfig(options)\n });\n};\n/**\n * Load a group of plugins.\n * @param {object} Vue\n * @param {object} Plugin definitions\n */\n\nexport var registerPlugins = function registerPlugins(Vue) {\n var plugins = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var plugin in plugins) {\n if (plugin && plugins[plugin]) {\n Vue.use(plugins[plugin]);\n }\n }\n};\n/**\n * Load a component.\n * @param {object} Vue\n * @param {string} Component name\n * @param {object} Component definition\n */\n\nexport var registerComponent = function registerComponent(Vue, name, def) {\n if (Vue && name && def) {\n Vue.component(name, def);\n }\n};\n/**\n * Load a group of components.\n * @param {object} Vue\n * @param {object} Object of component definitions\n */\n\nexport var registerComponents = function registerComponents(Vue) {\n var components = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var component in components) {\n registerComponent(Vue, component, components[component]);\n }\n};\n/**\n * Load a directive.\n * @param {object} Vue\n * @param {string} Directive name\n * @param {object} Directive definition\n */\n\nexport var registerDirective = function registerDirective(Vue, name, def) {\n if (Vue && name && def) {\n // Ensure that any leading V is removed from the\n // name, as Vue adds it automatically\n Vue.directive(name.replace(/^VB/, 'B'), def);\n }\n};\n/**\n * Load a group of directives.\n * @param {object} Vue\n * @param {object} Object of directive definitions\n */\n\nexport var registerDirectives = function registerDirectives(Vue) {\n var directives = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var directive in directives) {\n registerDirective(Vue, directive, directives[directive]);\n }\n};\n/**\n * Install plugin if window.Vue available\n * @param {object} Plugin definition\n */\n\nexport var vueUse = function vueUse(VuePlugin) {\n /* istanbul ignore next */\n if (HAS_WINDOW_SUPPORT && window.Vue) {\n window.Vue.use(VuePlugin);\n }\n /* istanbul ignore next */\n\n\n if (HAS_WINDOW_SUPPORT && VuePlugin.NAME) {\n window[VuePlugin.NAME] = VuePlugin;\n }\n};","import Vue from 'vue';\nimport { mergeData } from 'vue-functional-data-merge'; // --- Constants ---\n\nvar COMPONENT_UID_KEY = '_uid';\nexport { COMPONENT_UID_KEY, Vue, mergeData };","// Component names\nexport var NAME_ALERT = 'BAlert';\nexport var NAME_ASPECT = 'BAspect';\nexport var NAME_AVATAR = 'BAvatar';\nexport var NAME_AVATAR_GROUP = 'BAvatarGroup';\nexport var NAME_BADGE = 'BBadge';\nexport var NAME_BREADCRUMB = 'BBreadcrumb';\nexport var NAME_BREADCRUMB_ITEM = 'BBreadcrumbItem';\nexport var NAME_BREADCRUMB_LINK = 'BBreadcrumbLink';\nexport var NAME_BUTTON = 'BButton';\nexport var NAME_BUTTON_CLOSE = 'BButtonClose';\nexport var NAME_BUTTON_GROUP = 'BButtonGroup';\nexport var NAME_BUTTON_TOOLBAR = 'BButtonToolbar';\nexport var NAME_CALENDAR = 'BCalendar';\nexport var NAME_CARD = 'BCard';\nexport var NAME_CARD_BODY = 'BCardBody';\nexport var NAME_CARD_FOOTER = 'BCardFooter';\nexport var NAME_CARD_GROUP = 'BCardGroup';\nexport var NAME_CARD_HEADER = 'BCardHeader';\nexport var NAME_CARD_IMG = 'BCardImg';\nexport var NAME_CARD_IMG_LAZY = 'BCardImgLazy';\nexport var NAME_CARD_SUB_TITLE = 'BCardSubTitle';\nexport var NAME_CARD_TEXT = 'BCardText';\nexport var NAME_CARD_TITLE = 'BCardTitle';\nexport var NAME_CAROUSEL = 'BCarousel';\nexport var NAME_CAROUSEL_SLIDE = 'BCarouselSlide';\nexport var NAME_COL = 'BCol';\nexport var NAME_COLLAPSE = 'BCollapse';\nexport var NAME_CONTAINER = 'BContainer';\nexport var NAME_DROPDOWN = 'BDropdown';\nexport var NAME_DROPDOWN_DIVIDER = 'BDropdownDivider';\nexport var NAME_DROPDOWN_FORM = 'BDropdownForm';\nexport var NAME_DROPDOWN_GROUP = 'BDropdownGroup';\nexport var NAME_DROPDOWN_HEADER = 'BDropdownHeader';\nexport var NAME_DROPDOWN_ITEM = 'BDropdownItem';\nexport var NAME_DROPDOWN_ITEM_BUTTON = 'BDropdownItemButton';\nexport var NAME_DROPDOWN_TEXT = 'BDropdownText';\nexport var NAME_EMBED = 'BEmbed';\nexport var NAME_FORM = 'BForm';\nexport var NAME_FORM_CHECKBOX = 'BFormCheckbox';\nexport var NAME_FORM_CHECKBOX_GROUP = 'BFormCheckboxGroup';\nexport var NAME_FORM_DATALIST = 'BFormDatalist';\nexport var NAME_FORM_DATEPICKER = 'BFormDatepicker';\nexport var NAME_FORM_FILE = 'BFormFile';\nexport var NAME_FORM_GROUP = 'BFormGroup';\nexport var NAME_FORM_INPUT = 'BFormInput';\nexport var NAME_FORM_INVALID_FEEDBACK = 'BFormInvalidFeedback';\nexport var NAME_FORM_RADIO = 'BFormRadio';\nexport var NAME_FORM_RADIO_GROUP = 'BFormRadioGroup';\nexport var NAME_FORM_RATING = 'BFormRating';\nexport var NAME_FORM_ROW = 'BFormRow';\nexport var NAME_FORM_SELECT = 'BFormSelect';\nexport var NAME_FORM_SELECT_OPTION = 'BFormSelectOption';\nexport var NAME_FORM_SELECT_OPTION_GROUP = 'BFormSelectOptionGroup';\nexport var NAME_FORM_SPINBUTTON = 'BFormSpinbutton';\nexport var NAME_FORM_TAG = 'BFormTag';\nexport var NAME_FORM_TAGS = 'BFormTags';\nexport var NAME_FORM_TEXT = 'BFormText';\nexport var NAME_FORM_TEXTAREA = 'BFormTextarea';\nexport var NAME_FORM_TIMEPICKER = 'BFormTimepicker';\nexport var NAME_FORM_VALID_FEEDBACK = 'BFormValidFeedback';\nexport var NAME_ICON = 'BIcon';\nexport var NAME_ICONSTACK = 'BIconstack';\nexport var NAME_ICON_BASE = 'BIconBase';\nexport var NAME_IMG = 'BImg';\nexport var NAME_IMG_LAZY = 'BImgLazy';\nexport var NAME_INPUT_GROUP = 'BInputGroup';\nexport var NAME_INPUT_GROUP_ADDON = 'BInputGroupAddon';\nexport var NAME_INPUT_GROUP_APPEND = 'BInputGroupAppend';\nexport var NAME_INPUT_GROUP_PREPEND = 'BInputGroupPrepend';\nexport var NAME_INPUT_GROUP_TEXT = 'BInputGroupText';\nexport var NAME_JUMBOTRON = 'BJumbotron';\nexport var NAME_LINK = 'BLink';\nexport var NAME_LIST_GROUP = 'BListGroup';\nexport var NAME_LIST_GROUP_ITEM = 'BListGroupItem';\nexport var NAME_MEDIA = 'BMedia';\nexport var NAME_MEDIA_ASIDE = 'BMediaAside';\nexport var NAME_MEDIA_BODY = 'BMediaBody';\nexport var NAME_MODAL = 'BModal';\nexport var NAME_MSG_BOX = 'BMsgBox';\nexport var NAME_NAV = 'BNav';\nexport var NAME_NAVBAR = 'BNavbar';\nexport var NAME_NAVBAR_BRAND = 'BNavbarBrand';\nexport var NAME_NAVBAR_NAV = 'BNavbarNav';\nexport var NAME_NAVBAR_TOGGLE = 'BNavbarToggle';\nexport var NAME_NAV_FORM = 'BNavForm';\nexport var NAME_NAV_ITEM = 'BNavItem';\nexport var NAME_NAV_ITEM_DROPDOWN = 'BNavItemDropdown';\nexport var NAME_NAV_TEXT = 'BNavText';\nexport var NAME_OVERLAY = 'BOverlay';\nexport var NAME_PAGINATION = 'BPagination';\nexport var NAME_PAGINATION_NAV = 'BPaginationNav';\nexport var NAME_POPOVER = 'BPopover';\nexport var NAME_PROGRESS = 'BProgress';\nexport var NAME_PROGRESS_BAR = 'BProgressBar';\nexport var NAME_ROW = 'BRow';\nexport var NAME_SIDEBAR = 'BSidebar';\nexport var NAME_SKELETON = 'BSkeleton';\nexport var NAME_SKELETON_ICON = 'BSkeletonIcon';\nexport var NAME_SKELETON_IMG = 'BSkeletonImg';\nexport var NAME_SKELETON_TABLE = 'BSkeletonTable';\nexport var NAME_SKELETON_WRAPPER = 'BSkeletonWrapper';\nexport var NAME_SPINNER = 'BSpinner';\nexport var NAME_TAB = 'BTab';\nexport var NAME_TABLE = 'BTable';\nexport var NAME_TABLE_CELL = 'BTableCell';\nexport var NAME_TABLE_LITE = 'BTableLite';\nexport var NAME_TABLE_SIMPLE = 'BTableSimple';\nexport var NAME_TABS = 'BTabs';\nexport var NAME_TBODY = 'BTbody';\nexport var NAME_TFOOT = 'BTfoot';\nexport var NAME_TH = 'BTh';\nexport var NAME_THEAD = 'BThead';\nexport var NAME_TIME = 'BTime';\nexport var NAME_TOAST = 'BToast';\nexport var NAME_TOASTER = 'BToaster';\nexport var NAME_TOOLTIP = 'BTooltip';\nexport var NAME_TR = 'BTr'; // Helper component names\n\nexport var NAME_COLLAPSE_HELPER = 'BVCollapse';\nexport var NAME_FORM_BUTTON_LABEL_CONTROL = 'BVFormBtnLabelControl';\nexport var NAME_FORM_RATING_STAR = 'BVFormRatingStar';\nexport var NAME_POPOVER_HELPER = 'BVPopover';\nexport var NAME_POPOVER_TEMPLATE = 'BVPopoverTemplate';\nexport var NAME_POPPER = 'BVPopper';\nexport var NAME_TAB_BUTTON_HELPER = 'BVTabButton';\nexport var NAME_TOAST_POP = 'BVToastPop';\nexport var NAME_TOOLTIP_HELPER = 'BVTooltip';\nexport var NAME_TOOLTIP_TEMPLATE = 'BVTooltipTemplate';\nexport var NAME_TRANSITION = 'BVTransition';\nexport var NAME_TRANSPORTER = 'BVTransporter';\nexport var NAME_TRANSPORTER_TARGET = 'BVTransporterTarget';","export var EVENT_NAME_ACTIVATE_TAB = 'activate-tab';\nexport var EVENT_NAME_BLUR = 'blur';\nexport var EVENT_NAME_CANCEL = 'cancel';\nexport var EVENT_NAME_CHANGE = 'change';\nexport var EVENT_NAME_CHANGED = 'changed';\nexport var EVENT_NAME_CLICK = 'click';\nexport var EVENT_NAME_CLOSE = 'close';\nexport var EVENT_NAME_CONTEXT = 'context';\nexport var EVENT_NAME_CONTEXT_CHANGED = 'context-changed';\nexport var EVENT_NAME_DESTROYED = 'destroyed';\nexport var EVENT_NAME_DISABLE = 'disable';\nexport var EVENT_NAME_DISABLED = 'disabled';\nexport var EVENT_NAME_DISMISSED = 'dismissed';\nexport var EVENT_NAME_DISMISS_COUNT_DOWN = 'dismiss-count-down';\nexport var EVENT_NAME_ENABLE = 'enable';\nexport var EVENT_NAME_ENABLED = 'enabled';\nexport var EVENT_NAME_FILTERED = 'filtered';\nexport var EVENT_NAME_FIRST = 'first';\nexport var EVENT_NAME_FOCUSIN = 'focusin';\nexport var EVENT_NAME_FOCUSOUT = 'focusout';\nexport var EVENT_NAME_HEAD_CLICKED = 'head-clicked';\nexport var EVENT_NAME_HIDDEN = 'hidden';\nexport var EVENT_NAME_HIDE = 'hide';\nexport var EVENT_NAME_IMG_ERROR = 'img-error';\nexport var EVENT_NAME_INPUT = 'input';\nexport var EVENT_NAME_LAST = 'last';\nexport var EVENT_NAME_MOUSEENTER = 'mouseenter';\nexport var EVENT_NAME_MOUSELEAVE = 'mouseleave';\nexport var EVENT_NAME_NEXT = 'next';\nexport var EVENT_NAME_OK = 'ok';\nexport var EVENT_NAME_OPEN = 'open';\nexport var EVENT_NAME_PAGE_CLICK = 'page-click';\nexport var EVENT_NAME_PAUSED = 'paused';\nexport var EVENT_NAME_PREV = 'prev';\nexport var EVENT_NAME_REFRESH = 'refresh';\nexport var EVENT_NAME_REFRESHED = 'refreshed';\nexport var EVENT_NAME_REMOVE = 'remove';\nexport var EVENT_NAME_ROW_CLICKED = 'row-clicked';\nexport var EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu';\nexport var EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked';\nexport var EVENT_NAME_ROW_HOVERED = 'row-hovered';\nexport var EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked';\nexport var EVENT_NAME_ROW_SELECTED = 'row-selected';\nexport var EVENT_NAME_ROW_UNHOVERED = 'row-unhovered';\nexport var EVENT_NAME_SELECTED = 'selected';\nexport var EVENT_NAME_SHOW = 'show';\nexport var EVENT_NAME_SHOWN = 'shown';\nexport var EVENT_NAME_SLIDING_END = 'sliding-end';\nexport var EVENT_NAME_SLIDING_START = 'sliding-start';\nexport var EVENT_NAME_SORT_CHANGED = 'sort-changed';\nexport var EVENT_NAME_TAG_STATE = 'tag-state';\nexport var EVENT_NAME_TOGGLE = 'toggle';\nexport var EVENT_NAME_UNPAUSED = 'unpaused';\nexport var EVENT_NAME_UPDATE = 'update';\nexport var HOOK_EVENT_NAME_BEFORE_DESTROY = 'hook:beforeDestroy';\nexport var HOOK_EVENT_NAME_DESTROYED = 'hook:destroyed';\nexport var MODEL_EVENT_NAME_PREFIX = 'update:';\nexport var ROOT_EVENT_NAME_PREFIX = 'bv';\nexport var ROOT_EVENT_NAME_SEPARATOR = '::';\nexport var EVENT_OPTIONS_PASSIVE = {\n passive: true\n};\nexport var EVENT_OPTIONS_NO_CAPTURE = {\n passive: true,\n capture: false\n};","// General types\nexport var PROP_TYPE_ANY = undefined;\nexport var PROP_TYPE_ARRAY = Array;\nexport var PROP_TYPE_BOOLEAN = Boolean;\nexport var PROP_TYPE_DATE = Date;\nexport var PROP_TYPE_FUNCTION = Function;\nexport var PROP_TYPE_NUMBER = Number;\nexport var PROP_TYPE_OBJECT = Object;\nexport var PROP_TYPE_REG_EXP = RegExp;\nexport var PROP_TYPE_STRING = String; // Multiple types\n\nexport var PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION];\nexport var PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT];\nexport var PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING];\nexport var PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING];\nexport var PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER];\nexport var PROP_TYPE_BOOLEAN_NUMBER_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING];\nexport var PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING];\nexport var PROP_TYPE_DATE_STRING = [PROP_TYPE_DATE, PROP_TYPE_STRING];\nexport var PROP_TYPE_FUNCTION_STRING = [PROP_TYPE_FUNCTION, PROP_TYPE_STRING];\nexport var PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING];\nexport var PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING];\nexport var PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION];\nexport var PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING];","export var SLOT_NAME_ADD_BUTTON_TEXT = 'add-button-text';\nexport var SLOT_NAME_APPEND = 'append';\nexport var SLOT_NAME_ASIDE = 'aside';\nexport var SLOT_NAME_BADGE = 'badge';\nexport var SLOT_NAME_BOTTOM_ROW = 'bottom-row';\nexport var SLOT_NAME_BUTTON_CONTENT = 'button-content';\nexport var SLOT_NAME_CUSTOM_FOOT = 'custom-foot';\nexport var SLOT_NAME_DECREMENT = 'decrement';\nexport var SLOT_NAME_DEFAULT = 'default';\nexport var SLOT_NAME_DESCRIPTION = 'description';\nexport var SLOT_NAME_DISMISS = 'dismiss';\nexport var SLOT_NAME_DROP_PLACEHOLDER = 'drop-placeholder';\nexport var SLOT_NAME_ELLIPSIS_TEXT = 'ellipsis-text';\nexport var SLOT_NAME_EMPTY = 'empty';\nexport var SLOT_NAME_EMPTYFILTERED = 'emptyfiltered';\nexport var SLOT_NAME_FILE_NAME = 'file-name';\nexport var SLOT_NAME_FIRST = 'first';\nexport var SLOT_NAME_FIRST_TEXT = 'first-text';\nexport var SLOT_NAME_FOOTER = 'footer';\nexport var SLOT_NAME_HEADER = 'header';\nexport var SLOT_NAME_HEADER_CLOSE = 'header-close';\nexport var SLOT_NAME_ICON_CLEAR = 'icon-clear';\nexport var SLOT_NAME_ICON_EMPTY = 'icon-empty';\nexport var SLOT_NAME_ICON_FULL = 'icon-full';\nexport var SLOT_NAME_ICON_HALF = 'icon-half';\nexport var SLOT_NAME_IMG = 'img';\nexport var SLOT_NAME_INCREMENT = 'increment';\nexport var SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback';\nexport var SLOT_NAME_LABEL = 'label';\nexport var SLOT_NAME_LAST_TEXT = 'last-text';\nexport var SLOT_NAME_LEAD = 'lead';\nexport var SLOT_NAME_LOADING = 'loading';\nexport var SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop';\nexport var SLOT_NAME_MODAL_CANCEL = 'modal-cancel';\nexport var SLOT_NAME_MODAL_FOOTER = 'modal-footer';\nexport var SLOT_NAME_MODAL_HEADER = 'modal-header';\nexport var SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close';\nexport var SLOT_NAME_MODAL_OK = 'modal-ok';\nexport var SLOT_NAME_MODAL_TITLE = 'modal-title';\nexport var SLOT_NAME_NAV_NEXT_DECADE = 'nav-next-decade';\nexport var SLOT_NAME_NAV_NEXT_MONTH = 'nav-next-month';\nexport var SLOT_NAME_NAV_NEXT_YEAR = 'nav-next-year';\nexport var SLOT_NAME_NAV_PEV_DECADE = 'nav-prev-decade';\nexport var SLOT_NAME_NAV_PEV_MONTH = 'nav-prev-month';\nexport var SLOT_NAME_NAV_PEV_YEAR = 'nav-prev-year';\nexport var SLOT_NAME_NAV_THIS_MONTH = 'nav-this-month';\nexport var SLOT_NAME_NEXT_TEXT = 'next-text';\nexport var SLOT_NAME_OVERLAY = 'overlay';\nexport var SLOT_NAME_PAGE = 'page';\nexport var SLOT_NAME_PLACEHOLDER = 'placeholder';\nexport var SLOT_NAME_PREPEND = 'prepend';\nexport var SLOT_NAME_PREV_TEXT = 'prev-text';\nexport var SLOT_NAME_ROW_DETAILS = 'row-details';\nexport var SLOT_NAME_TABLE_BUSY = 'table-busy';\nexport var SLOT_NAME_TABLE_CAPTION = 'table-caption';\nexport var SLOT_NAME_TABLE_COLGROUP = 'table-colgroup';\nexport var SLOT_NAME_TABS_END = 'tabs-end';\nexport var SLOT_NAME_TABS_START = 'tabs-start';\nexport var SLOT_NAME_TEXT = 'text';\nexport var SLOT_NAME_THEAD_TOP = 'thead-top';\nexport var SLOT_NAME_TITLE = 'title';\nexport var SLOT_NAME_TOAST_TITLE = 'toast-title';\nexport var SLOT_NAME_TOP_ROW = 'top-row';\nexport var SLOT_NAME_VALID_FEEDBACK = 'valid-feedback';","import { isFunction } from './inspect'; // --- Static ---\n\nexport var from = function from() {\n return Array.from.apply(Array, arguments);\n}; // --- Instance ---\n\nexport var arrayIncludes = function arrayIncludes(array, value) {\n return array.indexOf(value) !== -1;\n};\nexport var concat = function concat() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return Array.prototype.concat.apply([], args);\n}; // --- Utilities ---\n\nexport var createArray = function createArray(length, fillFn) {\n var mapFn = isFunction(fillFn) ? fillFn : function () {\n return fillFn;\n };\n return Array.apply(null, {\n length: length\n }).map(mapFn);\n};\nexport var flatten = function flatten(array) {\n return array.reduce(function (result, item) {\n return concat(result, item);\n }, []);\n};\nexport var flattenDeep = function flattenDeep(array) {\n return array.reduce(function (result, item) {\n return concat(result, Array.isArray(item) ? flattenDeep(item) : item);\n }, []);\n};","// Number utilities\n// Converts a value (string, number, etc.) to an integer number\n// Assumes radix base 10\nexport var toInteger = function toInteger(value) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;\n var integer = parseInt(value, 10);\n return isNaN(integer) ? defaultValue : integer;\n}; // Converts a value (string, number, etc.) to a number\n\nexport var toFloat = function toFloat(value) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;\n var float = parseFloat(value);\n return isNaN(float) ? defaultValue : float;\n}; // Converts a value (string, number, etc.) to a string\n// representation with `precision` digits after the decimal\n// Returns the string 'NaN' if the value cannot be converted\n\nexport var toFixed = function toFixed(val, precision) {\n return toFloat(val).toFixed(toInteger(precision, 0));\n};","// String utilities\nimport { RX_HYPHENATE, RX_LOWER_UPPER, RX_REGEXP_REPLACE, RX_START_SPACE_WORD, RX_TRIM_LEFT, RX_TRIM_RIGHT, RX_UNDERSCORE, RX_UN_KEBAB } from '../constants/regex';\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'; // --- Utilities ---\n// Converts PascalCase or camelCase to kebab-case\n\nexport var kebabCase = function kebabCase(str) {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase();\n}; // Converts a kebab-case or camelCase string to PascalCase\n\nexport var pascalCase = function pascalCase(str) {\n str = kebabCase(str).replace(RX_UN_KEBAB, function (_, c) {\n return c ? c.toUpperCase() : '';\n });\n return str.charAt(0).toUpperCase() + str.slice(1);\n}; // Converts a string, including strings in camelCase or snake_case, into Start Case\n// It keeps original single quote and hyphen in the word\n// https://github.com/UrbanCompass/to-start-case\n\nexport var startCase = function startCase(str) {\n return str.replace(RX_UNDERSCORE, ' ').replace(RX_LOWER_UPPER, function (str, $1, $2) {\n return $1 + ' ' + $2;\n }).replace(RX_START_SPACE_WORD, function (str, $1, $2) {\n return $1 + $2.toUpperCase();\n });\n}; // Lowercases the first letter of a string and returns a new string\n\nexport var lowerFirst = function lowerFirst(str) {\n str = isString(str) ? str.trim() : String(str);\n return str.charAt(0).toLowerCase() + str.slice(1);\n}; // Uppercases the first letter of a string and returns a new string\n\nexport var upperFirst = function upperFirst(str) {\n str = isString(str) ? str.trim() : String(str);\n return str.charAt(0).toUpperCase() + str.slice(1);\n}; // Escape characters to be used in building a regular expression\n\nexport var escapeRegExp = function escapeRegExp(str) {\n return str.replace(RX_REGEXP_REPLACE, '\\\\$&');\n}; // Convert a value to a string that can be rendered\n// `undefined`/`null` will be converted to `''`\n// Plain objects and arrays will be JSON stringified\n\nexport var toString = function toString(val) {\n var spaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n return isUndefinedOrNull(val) ? '' : isArray(val) || isPlainObject(val) && val.toString === Object.prototype.toString ? JSON.stringify(val, null, spaces) : String(val);\n}; // Remove leading white space from a string\n\nexport var trimLeft = function trimLeft(str) {\n return toString(str).replace(RX_TRIM_LEFT, '');\n}; // Remove Trailing white space from a string\n\nexport var trimRight = function trimRight(str) {\n return toString(str).replace(RX_TRIM_RIGHT, '');\n}; // Remove leading and trailing white space from a string\n\nexport var trim = function trim(str) {\n return toString(str).trim();\n}; // Lower case a string\n\nexport var lowerCase = function lowerCase(str) {\n return toString(str).toLowerCase();\n}; // Upper case a string\n\nexport var upperCase = function upperCase(str) {\n return toString(str).toUpperCase();\n};","import { DOCUMENT, WINDOW } from '../constants/env';\nimport { Element } from '../constants/safe-types';\nimport { from as arrayFrom } from './array';\nimport { isFunction, isNull } from './inspect';\nimport { toFloat } from './number';\nimport { toString } from './string'; // --- Constants ---\n\nvar ELEMENT_PROTO = Element.prototype;\nvar TABABLE_SELECTOR = ['button', '[href]:not(.disabled)', 'input', 'select', 'textarea', '[tabindex]', '[contenteditable]'].map(function (s) {\n return \"\".concat(s, \":not(:disabled):not([disabled])\");\n}).join(', '); // --- Normalization utils ---\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\n/* istanbul ignore next */\n\nexport var matchesEl = ELEMENT_PROTO.matches || ELEMENT_PROTO.msMatchesSelector || ELEMENT_PROTO.webkitMatchesSelector; // See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n\n/* istanbul ignore next */\n\nexport var closestEl = ELEMENT_PROTO.closest || function (sel) {\n var el = this;\n\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el;\n }\n\n el = el.parentElement || el.parentNode;\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE);\n\n return null;\n}; // `requestAnimationFrame()` convenience method\n\n/* istanbul ignore next: JSDOM always returns the first option */\n\nexport var requestAF = WINDOW.requestAnimationFrame || WINDOW.webkitRequestAnimationFrame || WINDOW.mozRequestAnimationFrame || WINDOW.msRequestAnimationFrame || WINDOW.oRequestAnimationFrame || // Fallback, but not a true polyfill\n// Only needed for Opera Mini\n\n/* istanbul ignore next */\nfunction (cb) {\n return setTimeout(cb, 16);\n};\nexport var MutationObs = WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null; // --- Utils ---\n// Remove a node from DOM\n\nexport var removeNode = function removeNode(el) {\n return el && el.parentNode && el.parentNode.removeChild(el);\n}; // Determine if an element is an HTML element\n\nexport var isElement = function isElement(el) {\n return !!(el && el.nodeType === Node.ELEMENT_NODE);\n}; // Get the currently active HTML element\n\nexport var getActiveElement = function getActiveElement() {\n var excludes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var activeElement = DOCUMENT.activeElement;\n return activeElement && !excludes.some(function (el) {\n return el === activeElement;\n }) ? activeElement : null;\n}; // Returns `true` if a tag's name equals `name`\n\nexport var isTag = function isTag(tag, name) {\n return toString(tag).toLowerCase() === toString(name).toLowerCase();\n}; // Determine if an HTML element is the currently active element\n\nexport var isActiveElement = function isActiveElement(el) {\n return isElement(el) && el === getActiveElement();\n}; // Determine if an HTML element is visible - Faster than CSS check\n\nexport var isVisible = function isVisible(el) {\n if (!isElement(el) || !el.parentNode || !contains(DOCUMENT.body, el)) {\n // Note this can fail for shadow dom elements since they\n // are not a direct descendant of document.body\n return false;\n }\n\n if (getStyle(el, 'display') === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n\n /* istanbul ignore next */\n return false;\n } // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n\n\n var bcr = getBCR(el);\n return !!(bcr && bcr.height > 0 && bcr.width > 0);\n}; // Determine if an element is disabled\n\nexport var isDisabled = function isDisabled(el) {\n return !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled');\n}; // Cause/wait-for an element to reflow its content (adjusting its height/width)\n\nexport var reflow = function reflow(el) {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight;\n}; // Select all elements matching selector. Returns `[]` if none found\n\nexport var selectAll = function selectAll(selector, root) {\n return arrayFrom((isElement(root) ? root : DOCUMENT).querySelectorAll(selector));\n}; // Select a single element, returns `null` if not found\n\nexport var select = function select(selector, root) {\n return (isElement(root) ? root : DOCUMENT).querySelector(selector) || null;\n}; // Determine if an element matches a selector\n\nexport var matches = function matches(el, selector) {\n return isElement(el) ? matchesEl.call(el, selector) : false;\n}; // Finds closest element matching selector. Returns `null` if not found\n\nexport var closest = function closest(selector, root) {\n var includeRoot = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!isElement(root)) {\n return null;\n }\n\n var el = closestEl.call(root, selector); // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n\n return includeRoot ? el : el === root ? null : el;\n}; // Returns true if the parent element contains the child element\n\nexport var contains = function contains(parent, child) {\n return parent && isFunction(parent.contains) ? parent.contains(child) : false;\n}; // Get an element given an ID\n\nexport var getById = function getById(id) {\n return DOCUMENT.getElementById(/^#/.test(id) ? id.slice(1) : id) || null;\n}; // Add a class to an element\n\nexport var addClass = function addClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className);\n }\n}; // Remove a class from an element\n\nexport var removeClass = function removeClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className);\n }\n}; // Test if an element has a class\n\nexport var hasClass = function hasClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className);\n }\n\n return false;\n}; // Set an attribute on an element\n\nexport var setAttr = function setAttr(el, attr, value) {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value);\n }\n}; // Remove an attribute from an element\n\nexport var removeAttr = function removeAttr(el, attr) {\n if (attr && isElement(el)) {\n el.removeAttribute(attr);\n }\n}; // Get an attribute value from an element\n// Returns `null` if not found\n\nexport var getAttr = function getAttr(el, attr) {\n return attr && isElement(el) ? el.getAttribute(attr) : null;\n}; // Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\n\nexport var hasAttr = function hasAttr(el, attr) {\n return attr && isElement(el) ? el.hasAttribute(attr) : null;\n}; // Set an style property on an element\n\nexport var setStyle = function setStyle(el, prop, value) {\n if (prop && isElement(el)) {\n el.style[prop] = value;\n }\n}; // Remove an style property from an element\n\nexport var removeStyle = function removeStyle(el, prop) {\n if (prop && isElement(el)) {\n el.style[prop] = '';\n }\n}; // Get an style property value from an element\n// Returns `null` if not found\n\nexport var getStyle = function getStyle(el, prop) {\n return prop && isElement(el) ? el.style[prop] || null : null;\n}; // Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n\nexport var getBCR = function getBCR(el) {\n return isElement(el) ? el.getBoundingClientRect() : null;\n}; // Get computed style object for an element\n\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\n\nexport var getCS = function getCS(el) {\n var getComputedStyle = WINDOW.getComputedStyle;\n return getComputedStyle && isElement(el) ? getComputedStyle(el) : {};\n}; // Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\n\nexport var getSel = function getSel() {\n var getSelection = WINDOW.getSelection;\n return getSelection ? WINDOW.getSelection() : null;\n}; // Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\n\nexport var offset = function offset(el)\n/* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */\n{\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset;\n }\n\n var bcr = getBCR(el);\n\n if (bcr) {\n var win = el.ownerDocument.defaultView;\n _offset.top = bcr.top + win.pageYOffset;\n _offset.left = bcr.left + win.pageXOffset;\n }\n\n return _offset;\n}; // Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\n\nexport var position = function position(el)\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n{\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el)) {\n return _offset;\n }\n\n var parentOffset = {\n top: 0,\n left: 0\n };\n var elStyles = getCS(el);\n\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset;\n } else {\n _offset = offset(el);\n var doc = el.ownerDocument;\n var offsetParent = el.offsetParent || doc.documentElement;\n\n while (offsetParent && (offsetParent === doc.body || offsetParent === doc.documentElement) && getCS(offsetParent).position === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent);\n var offsetParentStyles = getCS(offsetParent);\n parentOffset.top += toFloat(offsetParentStyles.borderTopWidth, 0);\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0);\n }\n }\n\n return {\n top: _offset.top - parentOffset.top - toFloat(elStyles.marginTop, 0),\n left: _offset.left - parentOffset.left - toFloat(elStyles.marginLeft, 0)\n };\n}; // Find all tabable elements in the given element\n// Assumes users have not used `tabindex` > `0` on elements\n\nexport var getTabables = function getTabables() {\n var rootEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n return selectAll(TABABLE_SELECTOR, rootEl).filter(isVisible).filter(function (el) {\n return el.tabIndex > -1 && !el.disabled;\n });\n}; // Attempt to focus an element, and return `true` if successful\n\nexport var attemptFocus = function attemptFocus(el) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n el.focus(options);\n } catch (_unused) {}\n\n return isActiveElement(el);\n}; // Attempt to blur an element, and return `true` if successful\n\nexport var attemptBlur = function attemptBlur(el) {\n try {\n el.blur();\n } catch (_unused2) {}\n\n return !isActiveElement(el);\n};","import { create } from './object';\nexport var memoize = function memoize(fn) {\n var cache = create(null);\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsKey = JSON.stringify(args);\n return cache[argsKey] = cache[argsKey] || fn.apply(null, args);\n };\n};","import { Vue } from '../vue';\nimport { DEFAULT_BREAKPOINT, PROP_NAME } from '../constants/config';\nimport { cloneDeep } from './clone-deep';\nimport { memoize } from './memoize'; // --- Constants ---\n\nvar VueProto = Vue.prototype; // --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config value,\n// to prevent mutation of the user config object\n// Get the current config\n\nexport var getConfig = function getConfig() {\n var bvConfig = VueProto[PROP_NAME];\n return bvConfig ? bvConfig.getConfig() : {};\n}; // Method to grab a config value based on a dotted/array notation key\n\nexport var getConfigValue = function getConfigValue(key) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n var bvConfig = VueProto[PROP_NAME];\n return bvConfig ? bvConfig.getConfigValue(key, defaultValue) : cloneDeep(defaultValue);\n}; // Method to grab a config value for a particular component\n\nexport var getComponentConfig = function getComponentConfig(key) {\n var propKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n // Return the particular config value for key if specified,\n // otherwise we return the full config (or an empty object if not found)\n return propKey ? getConfigValue(\"\".concat(key, \".\").concat(propKey), defaultValue) : getConfigValue(key, {});\n}; // Get all breakpoint names\n\nexport var getBreakpoints = function getBreakpoints() {\n return getConfigValue('breakpoints', DEFAULT_BREAKPOINT);\n}; // Private method for caching breakpoint names\n\nvar _getBreakpointsCached = memoize(function () {\n return getBreakpoints();\n}); // Get all breakpoint names (cached)\n\n\nexport var getBreakpointsCached = function getBreakpointsCached() {\n return cloneDeep(_getBreakpointsCached());\n}; // Get breakpoints with the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\n\nexport var getBreakpointsUp = function getBreakpointsUp() {\n var breakpoints = getBreakpoints();\n breakpoints[0] = '';\n return breakpoints;\n}; // Get breakpoints with the smallest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n\nexport var getBreakpointsUpCached = memoize(function () {\n var breakpoints = getBreakpointsCached();\n breakpoints[0] = '';\n return breakpoints;\n}); // Get breakpoints with the largest breakpoint set as ''\n\nexport var getBreakpointsDown = function getBreakpointsDown() {\n var breakpoints = getBreakpoints();\n breakpoints[breakpoints.length - 1] = '';\n return breakpoints;\n}; // Get breakpoints with the largest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n\n/* istanbul ignore next: we don't use this method anywhere, yet */\n\nexport var getBreakpointsDownCached = function getBreakpointsDownCached() {\n var breakpoints = getBreakpointsCached();\n breakpoints[breakpoints.length - 1] = '';\n return breakpoints;\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { PROP_TYPE_ANY } from '../constants/props';\nimport { cloneDeep } from './clone-deep';\nimport { getComponentConfig } from './config';\nimport { identity } from './identity';\nimport { isArray, isFunction, isObject, isUndefined } from './inspect';\nimport { clone, hasOwnProperty, keys } from './object';\nimport { lowerFirst, upperFirst } from './string'; // Prefix a property\n\nexport var prefixPropName = function prefixPropName(prefix, value) {\n return prefix + upperFirst(value);\n}; // Remove a prefix from a property\n\nexport var unprefixPropName = function unprefixPropName(prefix, value) {\n return lowerFirst(value.replace(prefix, ''));\n}; // Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n// Use data last parameters to allow for currying\n\nexport var suffixPropName = function suffixPropName(suffix, value) {\n return value + (suffix ? upperFirst(suffix) : '');\n}; // Generates a prop object\n\nexport var makeProp = function makeProp() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : PROP_TYPE_ANY;\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n var requiredOrValidator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n var validator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;\n var required = requiredOrValidator === true;\n validator = required ? validator : requiredOrValidator;\n return _objectSpread(_objectSpread(_objectSpread({}, type ? {\n type: type\n } : {}), required ? {\n required: required\n } : isUndefined(value) ? {} : {\n default: isObject(value) ? function () {\n return value;\n } : value\n }), isUndefined(validator) ? {} : {\n validator: validator\n });\n}; // Copies props from one array/object to a new array/object\n// Prop values are also cloned as new references to prevent possible\n// mutation of original prop object values\n// Optionally accepts a function to transform the prop name\n\nexport var copyProps = function copyProps(props) {\n var transformFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : identity;\n\n if (isArray(props)) {\n return props.map(transformFn);\n }\n\n var copied = {};\n\n for (var prop in props) {\n /* istanbul ignore else */\n if (hasOwnProperty(props, prop)) {\n // If the prop value is an object, do a shallow clone\n // to prevent potential mutations to the original object\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop];\n }\n }\n\n return copied;\n}; // Given an array of properties or an object of property keys,\n// plucks all the values off the target object, returning a new object\n// that has props that reference the original prop values\n\nexport var pluckProps = function pluckProps(keysToPluck, objToPluck) {\n var transformFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : identity;\n return (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce(function (memo, prop) {\n memo[transformFn(prop)] = objToPluck[prop];\n return memo;\n }, {});\n}; // Make a prop object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\n\nexport var makePropConfigurable = function makePropConfigurable(prop, key, componentKey) {\n return _objectSpread(_objectSpread({}, cloneDeep(prop)), {}, {\n default: function bvConfigurablePropDefault() {\n var value = getComponentConfig(componentKey, key, prop.default);\n return isFunction(value) ? value() : value;\n }\n });\n}; // Make a props object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\n\nexport var makePropsConfigurable = function makePropsConfigurable(props, componentKey) {\n return keys(props).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, makePropConfigurable(props[key], key, componentKey)));\n }, {});\n}; // Get function name we use in `makePropConfigurable()`\n// for the prop default value override to compare\n// against in `hasPropFunction()`\n\nvar configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name; // Detect wether the given value is currently a function\n// and isn't the props default function\n\nexport var hasPropFunction = function hasPropFunction(fn) {\n return isFunction(fn) && fn.name !== configurablePropDefaultFnName;\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { EVENT_NAME_INPUT } from '../constants/events';\nimport { PROP_TYPE_ANY } from '../constants/props';\nimport { makeProp } from './props';\nexport var makeModelMixin = function makeModelMixin(prop) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? PROP_TYPE_ANY : _ref$type,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? undefined : _ref$defaultValue,\n _ref$validator = _ref.validator,\n validator = _ref$validator === void 0 ? undefined : _ref$validator,\n _ref$event = _ref.event,\n event = _ref$event === void 0 ? EVENT_NAME_INPUT : _ref$event;\n\n var props = _defineProperty({}, prop, makeProp(type, defaultValue, validator)); // @vue/component\n\n\n var mixin = Vue.extend({\n model: {\n prop: prop,\n event: event\n },\n props: props\n });\n return {\n mixin: mixin,\n props: props,\n prop: prop,\n event: event\n };\n};","import { concat } from './array';\nimport { identity } from './identity';\nimport { isFunction } from './inspect'; // Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\n\nexport var hasNormalizedSlot = function hasNormalizedSlot(names) {\n var $scopedSlots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var $slots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n // Ensure names is an array\n names = concat(names).filter(identity); // Returns true if the either a $scopedSlot or $slot exists with the specified name\n\n return names.some(function (name) {\n return $scopedSlots[name] || $slots[name];\n });\n};\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\n\nexport var normalizeSlot = function normalizeSlot(names) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var $scopedSlots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var $slots = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // Ensure names is an array\n names = concat(names).filter(identity);\n var slot;\n\n for (var i = 0; i < names.length && !slot; i++) {\n var name = names[i];\n slot = $scopedSlots[name] || $slots[name];\n } // Note: in Vue 2.6.x, all named slots are also scoped slots\n\n\n return isFunction(slot) ? slot(scope) : slot;\n};","import { Vue } from '../vue';\nimport { SLOT_NAME_DEFAULT } from '../constants/slots';\nimport { hasNormalizedSlot as _hasNormalizedSlot, normalizeSlot as _normalizeSlot } from '../utils/normalize-slot';\nimport { concat } from '../utils/array'; // @vue/component\n\nexport var normalizeSlotMixin = Vue.extend({\n methods: {\n // Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name\n // `name` can be a string name or an array of names\n hasNormalizedSlot: function hasNormalizedSlot() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SLOT_NAME_DEFAULT;\n var scopedSlots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.$scopedSlots;\n var slots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.$slots;\n return _hasNormalizedSlot(name, scopedSlots, slots);\n },\n // Returns an array of rendered VNodes if slot found, otherwise `undefined`\n // `name` can be a string name or an array of names\n normalizeSlot: function normalizeSlot() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SLOT_NAME_DEFAULT;\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var scopedSlots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.$scopedSlots;\n var slots = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.$slots;\n\n var vNodes = _normalizeSlot(name, scope, scopedSlots, slots);\n\n return vNodes ? concat(vNodes) : vNodes;\n }\n }\n});","import { HAS_PASSIVE_EVENT_SUPPORT } from '../constants/env';\nimport { ROOT_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_SEPARATOR } from '../constants/events';\nimport { RX_BV_PREFIX } from '../constants/regex';\nimport { isObject } from './inspect';\nimport { kebabCase } from './string'; // --- Utils ---\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\n\nexport var parseEventOptions = function parseEventOptions(options) {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return isObject(options) ? options : {\n capture: !!options || false\n };\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options);\n }\n}; // Attach an event listener to an element\n\nexport var eventOn = function eventOn(el, eventName, handler, options) {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options));\n }\n}; // Remove an event listener from an element\n\nexport var eventOff = function eventOff(el, eventName, handler, options) {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, parseEventOptions(options));\n }\n}; // Utility method to add/remove a event listener based on first argument (boolean)\n// It passes all other arguments to the `eventOn()` or `eventOff` method\n\nexport var eventOnOff = function eventOnOff(on) {\n var method = on ? eventOn : eventOff;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n method.apply(void 0, args);\n}; // Utility method to prevent the default event handling and propagation\n\nexport var stopEvent = function stopEvent(event) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$preventDefault = _ref.preventDefault,\n preventDefault = _ref$preventDefault === void 0 ? true : _ref$preventDefault,\n _ref$propagation = _ref.propagation,\n propagation = _ref$propagation === void 0 ? true : _ref$propagation,\n _ref$immediatePropaga = _ref.immediatePropagation,\n immediatePropagation = _ref$immediatePropaga === void 0 ? false : _ref$immediatePropaga;\n\n if (preventDefault) {\n event.preventDefault();\n }\n\n if (propagation) {\n event.stopPropagation();\n }\n\n if (immediatePropagation) {\n event.stopImmediatePropagation();\n }\n}; // Helper method to convert a component/directive name to a base event name\n// `getBaseEventName('BNavigationItem')` => 'navigation-item'\n// `getBaseEventName('BVToggle')` => 'toggle'\n\nvar getBaseEventName = function getBaseEventName(value) {\n return kebabCase(value.replace(RX_BV_PREFIX, ''));\n}; // Get a root event name by component/directive and event name\n// `getBaseEventName('BModal', 'show')` => 'bv::modal::show'\n\n\nexport var getRootEventName = function getRootEventName(name, eventName) {\n return [ROOT_EVENT_NAME_PREFIX, getBaseEventName(name), eventName].join(ROOT_EVENT_NAME_SEPARATOR);\n}; // Get a root action event name by component/directive and action name\n// `getRootActionEventName('BModal', 'show')` => 'bv::show::modal'\n\nexport var getRootActionEventName = function getRootActionEventName(name, actionName) {\n return [ROOT_EVENT_NAME_PREFIX, actionName, getBaseEventName(name)].join(ROOT_EVENT_NAME_SEPARATOR);\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BUTTON_CLOSE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { stopEvent } from '../../utils/events';\nimport { isEvent } from '../../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n content: makeProp(PROP_TYPE_STRING, '×'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_BUTTON_CLOSE); // --- Main component ---\n// @vue/component\n\nexport var BButtonClose = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var componentData = {\n staticClass: 'close',\n class: _defineProperty({}, \"text-\".concat(props.textVariant), props.textVariant),\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click: function click(event) {\n // Ensure click on button HTML content is also disabled\n\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(event)) {\n stopEvent(event);\n }\n }\n }\n }; // Careful not to override the default slot with innerHTML\n\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = {\n innerHTML: props.content\n };\n }\n\n return h('button', mergeData(data, componentData), normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_TRANSITION } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { isPlainObject } from '../../utils/inspect';\nimport { makeProp } from '../../utils/props'; // --- Constants ---\n\nvar NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n};\n\nvar FADE_PROPS = _objectSpread(_objectSpread({}, NO_FADE_PROPS), {}, {\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}); // --- Props ---\n\n\nexport var props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTransition = /*#__PURE__*/Vue.extend({\n name: NAME_TRANSITION,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var children = _ref.children,\n data = _ref.data,\n props = _ref.props;\n var transProps = props.transProps;\n\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS;\n\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = _objectSpread(_objectSpread({}, transProps), {}, {\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n });\n }\n }\n\n transProps = _objectSpread(_objectSpread({\n mode: props.mode\n }, transProps), {}, {\n // We always need `css` true\n css: true\n });\n return h('transition', // Any transition event listeners will get merged here\n mergeData(data, {\n props: transProps\n }), children);\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_ALERT } from '../../constants/components';\nimport { EVENT_NAME_DISMISSED, EVENT_NAME_DISMISS_COUNT_DOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DISMISS } from '../../constants/slots';\nimport { requestAF } from '../../utils/dom';\nimport { isBoolean, isNumeric } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('show', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Convert `show` value to a number\n\n\nvar parseCountDown = function parseCountDown(show) {\n if (show === '' || isBoolean(show)) {\n return 0;\n }\n\n show = toInteger(show, 0);\n return show > 0 ? show : 0;\n}; // Convert `show` value to a boolean\n\n\nvar parseShow = function parseShow(show) {\n if (show === '' || show === true) {\n return true;\n }\n\n if (toInteger(show, 0) < 1) {\n // Boolean will always return false for the above comparison\n return false;\n }\n\n return !!show;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n dismissLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n dismissible: makeProp(PROP_TYPE_BOOLEAN, false),\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING, 'info')\n})), NAME_ALERT); // --- Main component ---\n// @vue/component\n\nexport var BAlert = /*#__PURE__*/Vue.extend({\n name: NAME_ALERT,\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this[MODEL_PROP_NAME])\n };\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n this.countDown = parseCountDown(newValue);\n this.localShow = parseShow(newValue);\n }), _defineProperty(_watch, \"countDown\", function countDown(newValue) {\n var _this = this;\n\n this.clearCountDownInterval();\n var show = this[MODEL_PROP_NAME]; // Ignore if `show` transitions to a boolean value\n\n if (isNumeric(show)) {\n this.$emit(EVENT_NAME_DISMISS_COUNT_DOWN, newValue); // Update the v-model if needed\n\n if (show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n\n if (newValue > 0) {\n this.localShow = true;\n this.$_countDownTimeout = setTimeout(function () {\n _this.countDown--;\n }, 1000);\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(function () {\n requestAF(function () {\n _this.localShow = false;\n });\n });\n }\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n var show = this[MODEL_PROP_NAME]; // Only emit dismissed events for dismissible or auto-dismissing alerts\n\n if (!newValue && (this.dismissible || isNumeric(show))) {\n this.$emit(EVENT_NAME_DISMISSED);\n } // Only emit booleans if we weren't passed a number via v-model\n\n\n if (!isNumeric(show) && show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_filterTimer = null;\n var show = this[MODEL_PROP_NAME];\n this.countDown = parseCountDown(show);\n this.localShow = parseShow(show);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearCountDownInterval();\n },\n methods: {\n dismiss: function dismiss() {\n this.clearCountDownInterval();\n this.countDown = 0;\n this.localShow = false;\n },\n clearCountDownInterval: function clearCountDownInterval() {\n clearTimeout(this.$_countDownTimeout);\n this.$_countDownTimeout = null;\n }\n },\n render: function render(h) {\n var $alert = h();\n\n if (this.localShow) {\n var dismissible = this.dismissible,\n variant = this.variant;\n var $dismissButton = h();\n\n if (dismissible) {\n // Add dismiss button\n $dismissButton = h(BButtonClose, {\n attrs: {\n 'aria-label': this.dismissLabel\n },\n on: {\n click: this.dismiss\n }\n }, [this.normalizeSlot(SLOT_NAME_DISMISS)]);\n }\n\n $alert = h('div', {\n staticClass: 'alert',\n class: _defineProperty({\n 'alert-dismissible': dismissible\n }, \"alert-\".concat(variant), variant),\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': true\n },\n key: this[COMPONENT_UID_KEY]\n }, [$dismissButton, this.normalizeSlot()]);\n }\n\n return h(BVTransition, {\n props: {\n noFade: !this.fade\n }\n }, [$alert]);\n }\n});","import { BAlert } from './alert';\nimport { pluginFactory } from '../../utils/plugins';\nvar AlertPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BAlert: BAlert\n }\n});\nexport { AlertPlugin, BAlert };","// Math utilty functions\nexport var mathMin = Math.min;\nexport var mathMax = Math.max;\nexport var mathAbs = Math.abs;\nexport var mathCeil = Math.ceil;\nexport var mathFloor = Math.floor;\nexport var mathPow = Math.pow;\nexport var mathRound = Math.round;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { Vue } from '../../vue';\nimport { NAME_ASPECT } from '../../constants/components';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_ASPECT, RX_ASPECT_SEPARATOR } from '../../constants/regex';\nimport { mathAbs } from '../../utils/math';\nimport { toFloat } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar CLASS_NAME = 'b-aspect'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Accepts a number (i.e. `16 / 9`, `1`, `4 / 3`)\n // Or a string (i.e. '16/9', '16:9', '4:3' '1:1')\n aspect: makeProp(PROP_TYPE_NUMBER_STRING, '1:1'),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_ASPECT); // --- Main component ---\n// @vue/component\n\nexport var BAspect = /*#__PURE__*/Vue.extend({\n name: NAME_ASPECT,\n mixins: [normalizeSlotMixin],\n props: props,\n computed: {\n padding: function padding() {\n var aspect = this.aspect;\n var ratio = 1;\n\n if (RX_ASPECT.test(aspect)) {\n // Width and/or Height can be a decimal value below `1`, so\n // we only fallback to `1` if the value is `0` or `NaN`\n var _aspect$split$map = aspect.split(RX_ASPECT_SEPARATOR).map(function (v) {\n return toFloat(v) || 1;\n }),\n _aspect$split$map2 = _slicedToArray(_aspect$split$map, 2),\n width = _aspect$split$map2[0],\n height = _aspect$split$map2[1];\n\n ratio = width / height;\n } else {\n ratio = toFloat(aspect) || 1;\n }\n\n return \"\".concat(100 / mathAbs(ratio), \"%\");\n }\n },\n render: function render(h) {\n var $sizer = h('div', {\n staticClass: \"\".concat(CLASS_NAME, \"-sizer flex-grow-1\"),\n style: {\n paddingBottom: this.padding,\n height: 0\n }\n });\n var $content = h('div', {\n staticClass: \"\".concat(CLASS_NAME, \"-content flex-grow-1 w-100 mw-100\"),\n style: {\n marginLeft: '-100%'\n }\n }, this.normalizeSlot());\n return h(this.tag, {\n staticClass: \"\".concat(CLASS_NAME, \" d-flex\")\n }, [$sizer, $content]);\n }\n});","import { BAspect } from './aspect';\nimport { pluginFactory } from '../../utils/plugins';\nvar AspectPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BAspect: BAspect\n }\n});\nexport { AspectPlugin, BAspect };","import { RX_ENCODED_COMMA, RX_ENCODE_REVERSE, RX_PLUS, RX_QUERY_START } from '../constants/regex';\nimport { isTag } from './dom';\nimport { isArray, isNull, isPlainObject, isString, isUndefined } from './inspect';\nimport { keys } from './object';\nimport { toString } from './string';\nvar ANCHOR_TAG = 'a'; // Method to replace reserved chars\n\nvar encodeReserveReplacer = function encodeReserveReplacer(c) {\n return '%' + c.charCodeAt(0).toString(16);\n}; // Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\n\n\nvar encode = function encode(str) {\n return encodeURIComponent(toString(str)).replace(RX_ENCODE_REVERSE, encodeReserveReplacer).replace(RX_ENCODED_COMMA, ',');\n};\n\nvar decode = decodeURIComponent; // Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\n\nexport var stringifyQueryObj = function stringifyQueryObj(obj) {\n if (!isPlainObject(obj)) {\n return '';\n }\n\n var query = keys(obj).map(function (key) {\n var value = obj[key];\n\n if (isUndefined(value)) {\n return '';\n } else if (isNull(value)) {\n return encode(key);\n } else if (isArray(value)) {\n return value.reduce(function (results, value2) {\n if (isNull(value2)) {\n results.push(encode(key));\n } else if (!isUndefined(value2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(value2));\n }\n\n return results;\n }, []).join('&');\n } // Faster than string interpolation\n\n\n return encode(key) + '=' + encode(value);\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(function (x) {\n return x.length > 0;\n }).join('&');\n return query ? \"?\".concat(query) : '';\n};\nexport var parseQuery = function parseQuery(query) {\n var parsed = {};\n query = toString(query).trim().replace(RX_QUERY_START, '');\n\n if (!query) {\n return parsed;\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(RX_PLUS, ' ').split('=');\n var key = decode(parts.shift());\n var value = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (isUndefined(parsed[key])) {\n parsed[key] = value;\n } else if (isArray(parsed[key])) {\n parsed[key].push(value);\n } else {\n parsed[key] = [parsed[key], value];\n }\n });\n return parsed;\n};\nexport var isLink = function isLink(props) {\n return !!(props.href || props.to);\n};\nexport var isRouterLink = function isRouterLink(tag) {\n return !!(tag && !isTag(tag, 'a'));\n};\nexport var computeTag = function computeTag(_ref, thisOrParent) {\n var to = _ref.to,\n disabled = _ref.disabled,\n routerComponentName = _ref.routerComponentName;\n var hasRouter = !!thisOrParent.$router;\n\n if (!hasRouter || hasRouter && (disabled || !to)) {\n return ANCHOR_TAG;\n } // TODO:\n // Check registered components for existence of user supplied router link component name\n // We would need to check PascalCase, kebab-case, and camelCase versions of name:\n // const name = routerComponentName\n // const names = [name, PascalCase(name), KebabCase(name), CamelCase(name)]\n // exists = names.some(name => !!thisOrParent.$options.components[name])\n // And may want to cache the result for performance or we just let the render fail\n // if the component is not registered\n\n\n return routerComponentName || (thisOrParent.$nuxt ? 'nuxt-link' : 'router-link');\n};\nexport var computeRel = function computeRel() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n target = _ref2.target,\n rel = _ref2.rel;\n\n return target === '_blank' && isNull(rel) ? 'noopener' : rel || null;\n};\nexport var computeHref = function computeHref() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n href = _ref3.href,\n to = _ref3.to;\n\n var tag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ANCHOR_TAG;\n var fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '#';\n var toFallback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '/';\n\n // Return `href` when explicitly provided\n if (href) {\n return href;\n } // We've checked for `$router` in `computeTag()`, so `isRouterLink()` indicates a live router\n // When deferring to Vue Router's ``, don't use the `href` attribute at all\n // We return `null`, and then remove `href` from the attributes passed to ``\n\n\n if (isRouterLink(tag)) {\n return null;\n } // Fallback to `to` prop (if `to` is a string)\n\n\n if (isString(to)) {\n return to || toFallback;\n } // Fallback to `to.path' + `to.query` + `to.hash` prop (if `to` is an object)\n\n\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n var path = toString(to.path);\n var query = stringifyQueryObj(to.query);\n var hash = toString(to.hash);\n hash = !hash || hash.charAt(0) === '#' ? hash : \"#\".concat(hash);\n return \"\".concat(path).concat(query).concat(hash) || toFallback;\n } // If nothing is provided return the fallback\n\n\n return fallback;\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_ICON_BASE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { identity } from '../../utils/identity';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { mathMax } from '../../utils/math';\nimport { toFloat } from '../../utils/number';\nimport { makeProp } from '../../utils/props'; // --- Constants ---\n// Base attributes needed on all icons\n\nvar BASE_ATTRS = {\n viewBox: '0 0 16 16',\n width: '1em',\n height: '1em',\n focusable: 'false',\n role: 'img',\n 'aria-label': 'icon'\n}; // Attributes that are nulled out when stacked\n\nvar STACKED_ATTRS = {\n width: null,\n height: null,\n focusable: null,\n role: null,\n 'aria-label': null\n}; // --- Props ---\n\nexport var props = {\n animation: makeProp(PROP_TYPE_STRING),\n content: makeProp(PROP_TYPE_STRING),\n flipH: makeProp(PROP_TYPE_BOOLEAN, false),\n flipV: makeProp(PROP_TYPE_BOOLEAN, false),\n fontScale: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n rotate: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n scale: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n shiftH: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n shiftV: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n stacked: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n}; // --- Main component ---\n// Shared private base component to reduce bundle/runtime size\n// @vue/component\n\nexport var BVIconBase = /*#__PURE__*/Vue.extend({\n name: NAME_ICON_BASE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var data = _ref.data,\n props = _ref.props,\n children = _ref.children;\n var animation = props.animation,\n content = props.content,\n flipH = props.flipH,\n flipV = props.flipV,\n stacked = props.stacked,\n title = props.title,\n variant = props.variant;\n var fontScale = mathMax(toFloat(props.fontScale, 1), 0) || 1;\n var scale = mathMax(toFloat(props.scale, 1), 0) || 1;\n var rotate = toFloat(props.rotate, 0);\n var shiftH = toFloat(props.shiftH, 0);\n var shiftV = toFloat(props.shiftV, 0); // Compute the transforms\n // Note that order is important as SVG transforms are applied in order from\n // left to right and we want flipping/scale to occur before rotation\n // Note shifting is applied separately\n // Assumes that the viewbox is `0 0 16 16` (`8 8` is the center)\n\n var hasScale = flipH || flipV || scale !== 1;\n var hasTransforms = hasScale || rotate;\n var hasShift = shiftH || shiftV;\n var hasContent = !isUndefinedOrNull(content);\n var transforms = [hasTransforms ? 'translate(8 8)' : null, hasScale ? \"scale(\".concat((flipH ? -1 : 1) * scale, \" \").concat((flipV ? -1 : 1) * scale, \")\") : null, rotate ? \"rotate(\".concat(rotate, \")\") : null, hasTransforms ? 'translate(-8 -8)' : null].filter(identity); // We wrap the content in a `` for handling the transforms (except shift)\n\n var $inner = h('g', {\n attrs: {\n transform: transforms.join(' ') || null\n },\n domProps: hasContent ? {\n innerHTML: content || ''\n } : {}\n }, children); // If needed, we wrap in an additional `` in order to handle the shifting\n\n if (hasShift) {\n $inner = h('g', {\n attrs: {\n transform: \"translate(\".concat(16 * shiftH / 16, \" \").concat(-16 * shiftV / 16, \")\")\n }\n }, [$inner]);\n } // Wrap in an additional `` for proper animation handling if stacked\n\n\n if (stacked) {\n $inner = h('g', [$inner]);\n }\n\n var $title = title ? h('title', title) : null;\n var $content = [$title, $inner].filter(identity);\n return h('svg', mergeData({\n staticClass: 'b-icon bi',\n class: (_class = {}, _defineProperty(_class, \"text-\".concat(variant), variant), _defineProperty(_class, \"b-icon-animation-\".concat(animation), animation), _class),\n attrs: BASE_ATTRS,\n style: stacked ? {} : {\n fontSize: fontScale === 1 ? null : \"\".concat(fontScale * 100, \"%\")\n }\n }, // Merge in user supplied data\n data, // If icon is stacked, null-out some attrs\n stacked ? {\n attrs: STACKED_ATTRS\n } : {}, // These cannot be overridden by users\n {\n attrs: {\n xmlns: stacked ? null : 'http://www.w3.org/2000/svg',\n fill: 'currentColor'\n }\n }), $content);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { omit } from '../../utils/object';\nimport { kebabCase, pascalCase, trim } from '../../utils/string';\nimport { BVIconBase, props as BVIconBaseProps } from './icon-base';\n/**\n * Icon component generator function\n *\n * @param {string} icon name (minus the leading `BIcon`)\n * @param {string} raw `innerHTML` for SVG\n * @return {VueComponent}\n */\n\nexport var makeIcon = function makeIcon(name, content) {\n // For performance reason we pre-compute some values, so that\n // they are not computed on each render of the icon component\n var kebabName = kebabCase(name);\n var iconName = \"BIcon\".concat(pascalCase(name));\n var iconNameClass = \"bi-\".concat(kebabName);\n var iconTitle = kebabName.replace(/-/g, ' ');\n var svgContent = trim(content || '');\n return /*#__PURE__*/Vue.extend({\n name: iconName,\n functional: true,\n props: omit(BVIconBaseProps, ['content']),\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props;\n return h(BVIconBase, mergeData( // Defaults\n {\n props: {\n title: iconTitle\n },\n attrs: {\n 'aria-label': iconTitle\n }\n }, // User data\n data, // Required data\n {\n staticClass: iconNameClass,\n props: _objectSpread(_objectSpread({}, props), {}, {\n content: svgContent\n })\n }));\n }\n });\n};","// --- BEGIN AUTO-GENERATED FILE ---\n//\n// @IconsVersion: 1.2.2\n// @Generated: 2021-01-01T00:29:10.157Z\n//\n// This file is generated on each build. Do not edit this file!\n/*!\n * BootstrapVue Icons, generated from Bootstrap Icons 1.2.2\n *\n * @link https://icons.getbootstrap.com/\n * @license MIT\n * https://github.com/twbs/icons/blob/master/LICENSE.md\n */import{makeIcon}from'./helpers/make-icon';// --- BootstrapVue custom icons ---\nexport var BIconBlank=/*#__PURE__*/makeIcon('Blank','');// --- Bootstrap Icons ---\n// eslint-disable-next-line\nexport var BIconAlarm=/*#__PURE__*/makeIcon('Alarm','');// eslint-disable-next-line\nexport var BIconAlarmFill=/*#__PURE__*/makeIcon('AlarmFill','');// eslint-disable-next-line\nexport var BIconAlignBottom=/*#__PURE__*/makeIcon('AlignBottom','');// eslint-disable-next-line\nexport var BIconAlignCenter=/*#__PURE__*/makeIcon('AlignCenter','');// eslint-disable-next-line\nexport var BIconAlignEnd=/*#__PURE__*/makeIcon('AlignEnd','');// eslint-disable-next-line\nexport var BIconAlignMiddle=/*#__PURE__*/makeIcon('AlignMiddle','');// eslint-disable-next-line\nexport var BIconAlignStart=/*#__PURE__*/makeIcon('AlignStart','');// eslint-disable-next-line\nexport var BIconAlignTop=/*#__PURE__*/makeIcon('AlignTop','');// eslint-disable-next-line\nexport var BIconAlt=/*#__PURE__*/makeIcon('Alt','');// eslint-disable-next-line\nexport var BIconApp=/*#__PURE__*/makeIcon('App','');// eslint-disable-next-line\nexport var BIconAppIndicator=/*#__PURE__*/makeIcon('AppIndicator','');// eslint-disable-next-line\nexport var BIconArchive=/*#__PURE__*/makeIcon('Archive','');// eslint-disable-next-line\nexport var BIconArchiveFill=/*#__PURE__*/makeIcon('ArchiveFill','');// eslint-disable-next-line\nexport var BIconArrow90degDown=/*#__PURE__*/makeIcon('Arrow90degDown','');// eslint-disable-next-line\nexport var BIconArrow90degLeft=/*#__PURE__*/makeIcon('Arrow90degLeft','');// eslint-disable-next-line\nexport var BIconArrow90degRight=/*#__PURE__*/makeIcon('Arrow90degRight','');// eslint-disable-next-line\nexport var BIconArrow90degUp=/*#__PURE__*/makeIcon('Arrow90degUp','');// eslint-disable-next-line\nexport var BIconArrowBarDown=/*#__PURE__*/makeIcon('ArrowBarDown','');// eslint-disable-next-line\nexport var BIconArrowBarLeft=/*#__PURE__*/makeIcon('ArrowBarLeft','');// eslint-disable-next-line\nexport var BIconArrowBarRight=/*#__PURE__*/makeIcon('ArrowBarRight','');// eslint-disable-next-line\nexport var BIconArrowBarUp=/*#__PURE__*/makeIcon('ArrowBarUp','');// eslint-disable-next-line\nexport var BIconArrowClockwise=/*#__PURE__*/makeIcon('ArrowClockwise','');// eslint-disable-next-line\nexport var BIconArrowCounterclockwise=/*#__PURE__*/makeIcon('ArrowCounterclockwise','');// eslint-disable-next-line\nexport var BIconArrowDown=/*#__PURE__*/makeIcon('ArrowDown','');// eslint-disable-next-line\nexport var BIconArrowDownCircle=/*#__PURE__*/makeIcon('ArrowDownCircle','');// eslint-disable-next-line\nexport var BIconArrowDownCircleFill=/*#__PURE__*/makeIcon('ArrowDownCircleFill','');// eslint-disable-next-line\nexport var BIconArrowDownLeft=/*#__PURE__*/makeIcon('ArrowDownLeft','');// eslint-disable-next-line\nexport var BIconArrowDownLeftCircle=/*#__PURE__*/makeIcon('ArrowDownLeftCircle','');// eslint-disable-next-line\nexport var BIconArrowDownLeftCircleFill=/*#__PURE__*/makeIcon('ArrowDownLeftCircleFill','');// eslint-disable-next-line\nexport var BIconArrowDownLeftSquare=/*#__PURE__*/makeIcon('ArrowDownLeftSquare','');// eslint-disable-next-line\nexport var BIconArrowDownLeftSquareFill=/*#__PURE__*/makeIcon('ArrowDownLeftSquareFill','');// eslint-disable-next-line\nexport var BIconArrowDownRight=/*#__PURE__*/makeIcon('ArrowDownRight','');// eslint-disable-next-line\nexport var BIconArrowDownRightCircle=/*#__PURE__*/makeIcon('ArrowDownRightCircle','');// eslint-disable-next-line\nexport var BIconArrowDownRightCircleFill=/*#__PURE__*/makeIcon('ArrowDownRightCircleFill','');// eslint-disable-next-line\nexport var BIconArrowDownRightSquare=/*#__PURE__*/makeIcon('ArrowDownRightSquare','');// eslint-disable-next-line\nexport var BIconArrowDownRightSquareFill=/*#__PURE__*/makeIcon('ArrowDownRightSquareFill','');// eslint-disable-next-line\nexport var BIconArrowDownShort=/*#__PURE__*/makeIcon('ArrowDownShort','');// eslint-disable-next-line\nexport var BIconArrowDownSquare=/*#__PURE__*/makeIcon('ArrowDownSquare','');// eslint-disable-next-line\nexport var BIconArrowDownSquareFill=/*#__PURE__*/makeIcon('ArrowDownSquareFill','');// eslint-disable-next-line\nexport var BIconArrowDownUp=/*#__PURE__*/makeIcon('ArrowDownUp','');// eslint-disable-next-line\nexport var BIconArrowLeft=/*#__PURE__*/makeIcon('ArrowLeft','');// eslint-disable-next-line\nexport var BIconArrowLeftCircle=/*#__PURE__*/makeIcon('ArrowLeftCircle','');// eslint-disable-next-line\nexport var BIconArrowLeftCircleFill=/*#__PURE__*/makeIcon('ArrowLeftCircleFill','');// eslint-disable-next-line\nexport var BIconArrowLeftRight=/*#__PURE__*/makeIcon('ArrowLeftRight','');// eslint-disable-next-line\nexport var BIconArrowLeftShort=/*#__PURE__*/makeIcon('ArrowLeftShort','');// eslint-disable-next-line\nexport var BIconArrowLeftSquare=/*#__PURE__*/makeIcon('ArrowLeftSquare','');// eslint-disable-next-line\nexport var BIconArrowLeftSquareFill=/*#__PURE__*/makeIcon('ArrowLeftSquareFill','');// eslint-disable-next-line\nexport var BIconArrowRepeat=/*#__PURE__*/makeIcon('ArrowRepeat','');// eslint-disable-next-line\nexport var BIconArrowReturnLeft=/*#__PURE__*/makeIcon('ArrowReturnLeft','');// eslint-disable-next-line\nexport var BIconArrowReturnRight=/*#__PURE__*/makeIcon('ArrowReturnRight','');// eslint-disable-next-line\nexport var BIconArrowRight=/*#__PURE__*/makeIcon('ArrowRight','');// eslint-disable-next-line\nexport var BIconArrowRightCircle=/*#__PURE__*/makeIcon('ArrowRightCircle','');// eslint-disable-next-line\nexport var BIconArrowRightCircleFill=/*#__PURE__*/makeIcon('ArrowRightCircleFill','');// eslint-disable-next-line\nexport var BIconArrowRightShort=/*#__PURE__*/makeIcon('ArrowRightShort','');// eslint-disable-next-line\nexport var BIconArrowRightSquare=/*#__PURE__*/makeIcon('ArrowRightSquare','');// eslint-disable-next-line\nexport var BIconArrowRightSquareFill=/*#__PURE__*/makeIcon('ArrowRightSquareFill','');// eslint-disable-next-line\nexport var BIconArrowUp=/*#__PURE__*/makeIcon('ArrowUp','');// eslint-disable-next-line\nexport var BIconArrowUpCircle=/*#__PURE__*/makeIcon('ArrowUpCircle','');// eslint-disable-next-line\nexport var BIconArrowUpCircleFill=/*#__PURE__*/makeIcon('ArrowUpCircleFill','');// eslint-disable-next-line\nexport var BIconArrowUpLeft=/*#__PURE__*/makeIcon('ArrowUpLeft','');// eslint-disable-next-line\nexport var BIconArrowUpLeftCircle=/*#__PURE__*/makeIcon('ArrowUpLeftCircle','');// eslint-disable-next-line\nexport var BIconArrowUpLeftCircleFill=/*#__PURE__*/makeIcon('ArrowUpLeftCircleFill','');// eslint-disable-next-line\nexport var BIconArrowUpLeftSquare=/*#__PURE__*/makeIcon('ArrowUpLeftSquare','');// eslint-disable-next-line\nexport var BIconArrowUpLeftSquareFill=/*#__PURE__*/makeIcon('ArrowUpLeftSquareFill','');// eslint-disable-next-line\nexport var BIconArrowUpRight=/*#__PURE__*/makeIcon('ArrowUpRight','');// eslint-disable-next-line\nexport var BIconArrowUpRightCircle=/*#__PURE__*/makeIcon('ArrowUpRightCircle','');// eslint-disable-next-line\nexport var BIconArrowUpRightCircleFill=/*#__PURE__*/makeIcon('ArrowUpRightCircleFill','');// eslint-disable-next-line\nexport var BIconArrowUpRightSquare=/*#__PURE__*/makeIcon('ArrowUpRightSquare','');// eslint-disable-next-line\nexport var BIconArrowUpRightSquareFill=/*#__PURE__*/makeIcon('ArrowUpRightSquareFill','');// eslint-disable-next-line\nexport var BIconArrowUpShort=/*#__PURE__*/makeIcon('ArrowUpShort','');// eslint-disable-next-line\nexport var BIconArrowUpSquare=/*#__PURE__*/makeIcon('ArrowUpSquare','');// eslint-disable-next-line\nexport var BIconArrowUpSquareFill=/*#__PURE__*/makeIcon('ArrowUpSquareFill','');// eslint-disable-next-line\nexport var BIconArrowsAngleContract=/*#__PURE__*/makeIcon('ArrowsAngleContract','');// eslint-disable-next-line\nexport var BIconArrowsAngleExpand=/*#__PURE__*/makeIcon('ArrowsAngleExpand','');// eslint-disable-next-line\nexport var BIconArrowsCollapse=/*#__PURE__*/makeIcon('ArrowsCollapse','');// eslint-disable-next-line\nexport var BIconArrowsExpand=/*#__PURE__*/makeIcon('ArrowsExpand','');// eslint-disable-next-line\nexport var BIconArrowsFullscreen=/*#__PURE__*/makeIcon('ArrowsFullscreen','');// eslint-disable-next-line\nexport var BIconArrowsMove=/*#__PURE__*/makeIcon('ArrowsMove','');// eslint-disable-next-line\nexport var BIconAspectRatio=/*#__PURE__*/makeIcon('AspectRatio','');// eslint-disable-next-line\nexport var BIconAspectRatioFill=/*#__PURE__*/makeIcon('AspectRatioFill','');// eslint-disable-next-line\nexport var BIconAsterisk=/*#__PURE__*/makeIcon('Asterisk','');// eslint-disable-next-line\nexport var BIconAt=/*#__PURE__*/makeIcon('At','');// eslint-disable-next-line\nexport var BIconAward=/*#__PURE__*/makeIcon('Award','');// eslint-disable-next-line\nexport var BIconAwardFill=/*#__PURE__*/makeIcon('AwardFill','');// eslint-disable-next-line\nexport var BIconBack=/*#__PURE__*/makeIcon('Back','');// eslint-disable-next-line\nexport var BIconBackspace=/*#__PURE__*/makeIcon('Backspace','');// eslint-disable-next-line\nexport var BIconBackspaceFill=/*#__PURE__*/makeIcon('BackspaceFill','');// eslint-disable-next-line\nexport var BIconBackspaceReverse=/*#__PURE__*/makeIcon('BackspaceReverse','');// eslint-disable-next-line\nexport var BIconBackspaceReverseFill=/*#__PURE__*/makeIcon('BackspaceReverseFill','');// eslint-disable-next-line\nexport var BIconBadge4k=/*#__PURE__*/makeIcon('Badge4k','');// eslint-disable-next-line\nexport var BIconBadge4kFill=/*#__PURE__*/makeIcon('Badge4kFill','');// eslint-disable-next-line\nexport var BIconBadge8k=/*#__PURE__*/makeIcon('Badge8k','');// eslint-disable-next-line\nexport var BIconBadge8kFill=/*#__PURE__*/makeIcon('Badge8kFill','');// eslint-disable-next-line\nexport var BIconBadgeAd=/*#__PURE__*/makeIcon('BadgeAd','');// eslint-disable-next-line\nexport var BIconBadgeAdFill=/*#__PURE__*/makeIcon('BadgeAdFill','');// eslint-disable-next-line\nexport var BIconBadgeCc=/*#__PURE__*/makeIcon('BadgeCc','');// eslint-disable-next-line\nexport var BIconBadgeCcFill=/*#__PURE__*/makeIcon('BadgeCcFill','');// eslint-disable-next-line\nexport var BIconBadgeHd=/*#__PURE__*/makeIcon('BadgeHd','');// eslint-disable-next-line\nexport var BIconBadgeHdFill=/*#__PURE__*/makeIcon('BadgeHdFill','');// eslint-disable-next-line\nexport var BIconBadgeTm=/*#__PURE__*/makeIcon('BadgeTm','');// eslint-disable-next-line\nexport var BIconBadgeTmFill=/*#__PURE__*/makeIcon('BadgeTmFill','');// eslint-disable-next-line\nexport var BIconBadgeVo=/*#__PURE__*/makeIcon('BadgeVo','');// eslint-disable-next-line\nexport var BIconBadgeVoFill=/*#__PURE__*/makeIcon('BadgeVoFill','');// eslint-disable-next-line\nexport var BIconBag=/*#__PURE__*/makeIcon('Bag','');// eslint-disable-next-line\nexport var BIconBagCheck=/*#__PURE__*/makeIcon('BagCheck','');// eslint-disable-next-line\nexport var BIconBagCheckFill=/*#__PURE__*/makeIcon('BagCheckFill','');// eslint-disable-next-line\nexport var BIconBagDash=/*#__PURE__*/makeIcon('BagDash','');// eslint-disable-next-line\nexport var BIconBagDashFill=/*#__PURE__*/makeIcon('BagDashFill','');// eslint-disable-next-line\nexport var BIconBagFill=/*#__PURE__*/makeIcon('BagFill','');// eslint-disable-next-line\nexport var BIconBagPlus=/*#__PURE__*/makeIcon('BagPlus','');// eslint-disable-next-line\nexport var BIconBagPlusFill=/*#__PURE__*/makeIcon('BagPlusFill','');// eslint-disable-next-line\nexport var BIconBagX=/*#__PURE__*/makeIcon('BagX','');// eslint-disable-next-line\nexport var BIconBagXFill=/*#__PURE__*/makeIcon('BagXFill','');// eslint-disable-next-line\nexport var BIconBarChart=/*#__PURE__*/makeIcon('BarChart','');// eslint-disable-next-line\nexport var BIconBarChartFill=/*#__PURE__*/makeIcon('BarChartFill','');// eslint-disable-next-line\nexport var BIconBarChartLine=/*#__PURE__*/makeIcon('BarChartLine','');// eslint-disable-next-line\nexport var BIconBarChartLineFill=/*#__PURE__*/makeIcon('BarChartLineFill','');// eslint-disable-next-line\nexport var BIconBarChartSteps=/*#__PURE__*/makeIcon('BarChartSteps','');// eslint-disable-next-line\nexport var BIconBasket=/*#__PURE__*/makeIcon('Basket','');// eslint-disable-next-line\nexport var BIconBasket2=/*#__PURE__*/makeIcon('Basket2','');// eslint-disable-next-line\nexport var BIconBasket2Fill=/*#__PURE__*/makeIcon('Basket2Fill','');// eslint-disable-next-line\nexport var BIconBasket3=/*#__PURE__*/makeIcon('Basket3','');// eslint-disable-next-line\nexport var BIconBasket3Fill=/*#__PURE__*/makeIcon('Basket3Fill','');// eslint-disable-next-line\nexport var BIconBasketFill=/*#__PURE__*/makeIcon('BasketFill','');// eslint-disable-next-line\nexport var BIconBattery=/*#__PURE__*/makeIcon('Battery','');// eslint-disable-next-line\nexport var BIconBatteryCharging=/*#__PURE__*/makeIcon('BatteryCharging','');// eslint-disable-next-line\nexport var BIconBatteryFull=/*#__PURE__*/makeIcon('BatteryFull','');// eslint-disable-next-line\nexport var BIconBatteryHalf=/*#__PURE__*/makeIcon('BatteryHalf','');// eslint-disable-next-line\nexport var BIconBell=/*#__PURE__*/makeIcon('Bell','');// eslint-disable-next-line\nexport var BIconBellFill=/*#__PURE__*/makeIcon('BellFill','');// eslint-disable-next-line\nexport var BIconBezier=/*#__PURE__*/makeIcon('Bezier','');// eslint-disable-next-line\nexport var BIconBezier2=/*#__PURE__*/makeIcon('Bezier2','');// eslint-disable-next-line\nexport var BIconBicycle=/*#__PURE__*/makeIcon('Bicycle','');// eslint-disable-next-line\nexport var BIconBinoculars=/*#__PURE__*/makeIcon('Binoculars','');// eslint-disable-next-line\nexport var BIconBinocularsFill=/*#__PURE__*/makeIcon('BinocularsFill','');// eslint-disable-next-line\nexport var BIconBlockquoteLeft=/*#__PURE__*/makeIcon('BlockquoteLeft','');// eslint-disable-next-line\nexport var BIconBlockquoteRight=/*#__PURE__*/makeIcon('BlockquoteRight','');// eslint-disable-next-line\nexport var BIconBook=/*#__PURE__*/makeIcon('Book','');// eslint-disable-next-line\nexport var BIconBookFill=/*#__PURE__*/makeIcon('BookFill','');// eslint-disable-next-line\nexport var BIconBookHalf=/*#__PURE__*/makeIcon('BookHalf','');// eslint-disable-next-line\nexport var BIconBookmark=/*#__PURE__*/makeIcon('Bookmark','');// eslint-disable-next-line\nexport var BIconBookmarkCheck=/*#__PURE__*/makeIcon('BookmarkCheck','');// eslint-disable-next-line\nexport var BIconBookmarkCheckFill=/*#__PURE__*/makeIcon('BookmarkCheckFill','');// eslint-disable-next-line\nexport var BIconBookmarkDash=/*#__PURE__*/makeIcon('BookmarkDash','');// eslint-disable-next-line\nexport var BIconBookmarkDashFill=/*#__PURE__*/makeIcon('BookmarkDashFill','');// eslint-disable-next-line\nexport var BIconBookmarkFill=/*#__PURE__*/makeIcon('BookmarkFill','');// eslint-disable-next-line\nexport var BIconBookmarkHeart=/*#__PURE__*/makeIcon('BookmarkHeart','');// eslint-disable-next-line\nexport var BIconBookmarkHeartFill=/*#__PURE__*/makeIcon('BookmarkHeartFill','');// eslint-disable-next-line\nexport var BIconBookmarkPlus=/*#__PURE__*/makeIcon('BookmarkPlus','');// eslint-disable-next-line\nexport var BIconBookmarkPlusFill=/*#__PURE__*/makeIcon('BookmarkPlusFill','');// eslint-disable-next-line\nexport var BIconBookmarkStar=/*#__PURE__*/makeIcon('BookmarkStar','');// eslint-disable-next-line\nexport var BIconBookmarkStarFill=/*#__PURE__*/makeIcon('BookmarkStarFill','');// eslint-disable-next-line\nexport var BIconBookmarkX=/*#__PURE__*/makeIcon('BookmarkX','');// eslint-disable-next-line\nexport var BIconBookmarkXFill=/*#__PURE__*/makeIcon('BookmarkXFill','');// eslint-disable-next-line\nexport var BIconBookmarks=/*#__PURE__*/makeIcon('Bookmarks','');// eslint-disable-next-line\nexport var BIconBookmarksFill=/*#__PURE__*/makeIcon('BookmarksFill','');// eslint-disable-next-line\nexport var BIconBookshelf=/*#__PURE__*/makeIcon('Bookshelf','');// eslint-disable-next-line\nexport var BIconBootstrap=/*#__PURE__*/makeIcon('Bootstrap','');// eslint-disable-next-line\nexport var BIconBootstrapFill=/*#__PURE__*/makeIcon('BootstrapFill','');// eslint-disable-next-line\nexport var BIconBootstrapReboot=/*#__PURE__*/makeIcon('BootstrapReboot','');// eslint-disable-next-line\nexport var BIconBorderStyle=/*#__PURE__*/makeIcon('BorderStyle','');// eslint-disable-next-line\nexport var BIconBorderWidth=/*#__PURE__*/makeIcon('BorderWidth','');// eslint-disable-next-line\nexport var BIconBoundingBox=/*#__PURE__*/makeIcon('BoundingBox','');// eslint-disable-next-line\nexport var BIconBoundingBoxCircles=/*#__PURE__*/makeIcon('BoundingBoxCircles','');// eslint-disable-next-line\nexport var BIconBox=/*#__PURE__*/makeIcon('Box','');// eslint-disable-next-line\nexport var BIconBoxArrowDown=/*#__PURE__*/makeIcon('BoxArrowDown','');// eslint-disable-next-line\nexport var BIconBoxArrowDownLeft=/*#__PURE__*/makeIcon('BoxArrowDownLeft','');// eslint-disable-next-line\nexport var BIconBoxArrowDownRight=/*#__PURE__*/makeIcon('BoxArrowDownRight','');// eslint-disable-next-line\nexport var BIconBoxArrowInDown=/*#__PURE__*/makeIcon('BoxArrowInDown','');// eslint-disable-next-line\nexport var BIconBoxArrowInDownLeft=/*#__PURE__*/makeIcon('BoxArrowInDownLeft','');// eslint-disable-next-line\nexport var BIconBoxArrowInDownRight=/*#__PURE__*/makeIcon('BoxArrowInDownRight','');// eslint-disable-next-line\nexport var BIconBoxArrowInLeft=/*#__PURE__*/makeIcon('BoxArrowInLeft','');// eslint-disable-next-line\nexport var BIconBoxArrowInRight=/*#__PURE__*/makeIcon('BoxArrowInRight','');// eslint-disable-next-line\nexport var BIconBoxArrowInUp=/*#__PURE__*/makeIcon('BoxArrowInUp','');// eslint-disable-next-line\nexport var BIconBoxArrowInUpLeft=/*#__PURE__*/makeIcon('BoxArrowInUpLeft','');// eslint-disable-next-line\nexport var BIconBoxArrowInUpRight=/*#__PURE__*/makeIcon('BoxArrowInUpRight','');// eslint-disable-next-line\nexport var BIconBoxArrowLeft=/*#__PURE__*/makeIcon('BoxArrowLeft','');// eslint-disable-next-line\nexport var BIconBoxArrowRight=/*#__PURE__*/makeIcon('BoxArrowRight','');// eslint-disable-next-line\nexport var BIconBoxArrowUp=/*#__PURE__*/makeIcon('BoxArrowUp','');// eslint-disable-next-line\nexport var BIconBoxArrowUpLeft=/*#__PURE__*/makeIcon('BoxArrowUpLeft','');// eslint-disable-next-line\nexport var BIconBoxArrowUpRight=/*#__PURE__*/makeIcon('BoxArrowUpRight','');// eslint-disable-next-line\nexport var BIconBoxSeam=/*#__PURE__*/makeIcon('BoxSeam','');// eslint-disable-next-line\nexport var BIconBraces=/*#__PURE__*/makeIcon('Braces','');// eslint-disable-next-line\nexport var BIconBricks=/*#__PURE__*/makeIcon('Bricks','');// eslint-disable-next-line\nexport var BIconBriefcase=/*#__PURE__*/makeIcon('Briefcase','');// eslint-disable-next-line\nexport var BIconBriefcaseFill=/*#__PURE__*/makeIcon('BriefcaseFill','');// eslint-disable-next-line\nexport var BIconBrightnessAltHigh=/*#__PURE__*/makeIcon('BrightnessAltHigh','');// eslint-disable-next-line\nexport var BIconBrightnessAltHighFill=/*#__PURE__*/makeIcon('BrightnessAltHighFill','');// eslint-disable-next-line\nexport var BIconBrightnessAltLow=/*#__PURE__*/makeIcon('BrightnessAltLow','');// eslint-disable-next-line\nexport var BIconBrightnessAltLowFill=/*#__PURE__*/makeIcon('BrightnessAltLowFill','');// eslint-disable-next-line\nexport var BIconBrightnessHigh=/*#__PURE__*/makeIcon('BrightnessHigh','');// eslint-disable-next-line\nexport var BIconBrightnessHighFill=/*#__PURE__*/makeIcon('BrightnessHighFill','');// eslint-disable-next-line\nexport var BIconBrightnessLow=/*#__PURE__*/makeIcon('BrightnessLow','');// eslint-disable-next-line\nexport var BIconBrightnessLowFill=/*#__PURE__*/makeIcon('BrightnessLowFill','');// eslint-disable-next-line\nexport var BIconBroadcast=/*#__PURE__*/makeIcon('Broadcast','');// eslint-disable-next-line\nexport var BIconBroadcastPin=/*#__PURE__*/makeIcon('BroadcastPin','');// eslint-disable-next-line\nexport var BIconBrush=/*#__PURE__*/makeIcon('Brush','');// eslint-disable-next-line\nexport var BIconBrushFill=/*#__PURE__*/makeIcon('BrushFill','');// eslint-disable-next-line\nexport var BIconBucket=/*#__PURE__*/makeIcon('Bucket','');// eslint-disable-next-line\nexport var BIconBucketFill=/*#__PURE__*/makeIcon('BucketFill','');// eslint-disable-next-line\nexport var BIconBug=/*#__PURE__*/makeIcon('Bug','');// eslint-disable-next-line\nexport var BIconBugFill=/*#__PURE__*/makeIcon('BugFill','');// eslint-disable-next-line\nexport var BIconBuilding=/*#__PURE__*/makeIcon('Building','');// eslint-disable-next-line\nexport var BIconBullseye=/*#__PURE__*/makeIcon('Bullseye','');// eslint-disable-next-line\nexport var BIconCalculator=/*#__PURE__*/makeIcon('Calculator','');// eslint-disable-next-line\nexport var BIconCalculatorFill=/*#__PURE__*/makeIcon('CalculatorFill','');// eslint-disable-next-line\nexport var BIconCalendar=/*#__PURE__*/makeIcon('Calendar','');// eslint-disable-next-line\nexport var BIconCalendar2=/*#__PURE__*/makeIcon('Calendar2','');// eslint-disable-next-line\nexport var BIconCalendar2Check=/*#__PURE__*/makeIcon('Calendar2Check','');// eslint-disable-next-line\nexport var BIconCalendar2CheckFill=/*#__PURE__*/makeIcon('Calendar2CheckFill','');// eslint-disable-next-line\nexport var BIconCalendar2Date=/*#__PURE__*/makeIcon('Calendar2Date','');// eslint-disable-next-line\nexport var BIconCalendar2DateFill=/*#__PURE__*/makeIcon('Calendar2DateFill','');// eslint-disable-next-line\nexport var BIconCalendar2Day=/*#__PURE__*/makeIcon('Calendar2Day','');// eslint-disable-next-line\nexport var BIconCalendar2DayFill=/*#__PURE__*/makeIcon('Calendar2DayFill','');// eslint-disable-next-line\nexport var BIconCalendar2Event=/*#__PURE__*/makeIcon('Calendar2Event','');// eslint-disable-next-line\nexport var BIconCalendar2EventFill=/*#__PURE__*/makeIcon('Calendar2EventFill','');// eslint-disable-next-line\nexport var BIconCalendar2Fill=/*#__PURE__*/makeIcon('Calendar2Fill','');// eslint-disable-next-line\nexport var BIconCalendar2Minus=/*#__PURE__*/makeIcon('Calendar2Minus','');// eslint-disable-next-line\nexport var BIconCalendar2MinusFill=/*#__PURE__*/makeIcon('Calendar2MinusFill','');// eslint-disable-next-line\nexport var BIconCalendar2Month=/*#__PURE__*/makeIcon('Calendar2Month','');// eslint-disable-next-line\nexport var BIconCalendar2MonthFill=/*#__PURE__*/makeIcon('Calendar2MonthFill','');// eslint-disable-next-line\nexport var BIconCalendar2Plus=/*#__PURE__*/makeIcon('Calendar2Plus','');// eslint-disable-next-line\nexport var BIconCalendar2PlusFill=/*#__PURE__*/makeIcon('Calendar2PlusFill','');// eslint-disable-next-line\nexport var BIconCalendar2Range=/*#__PURE__*/makeIcon('Calendar2Range','');// eslint-disable-next-line\nexport var BIconCalendar2RangeFill=/*#__PURE__*/makeIcon('Calendar2RangeFill','');// eslint-disable-next-line\nexport var BIconCalendar2Week=/*#__PURE__*/makeIcon('Calendar2Week','');// eslint-disable-next-line\nexport var BIconCalendar2WeekFill=/*#__PURE__*/makeIcon('Calendar2WeekFill','');// eslint-disable-next-line\nexport var BIconCalendar2X=/*#__PURE__*/makeIcon('Calendar2X','');// eslint-disable-next-line\nexport var BIconCalendar2XFill=/*#__PURE__*/makeIcon('Calendar2XFill','');// eslint-disable-next-line\nexport var BIconCalendar3=/*#__PURE__*/makeIcon('Calendar3','');// eslint-disable-next-line\nexport var BIconCalendar3Event=/*#__PURE__*/makeIcon('Calendar3Event','');// eslint-disable-next-line\nexport var BIconCalendar3EventFill=/*#__PURE__*/makeIcon('Calendar3EventFill','');// eslint-disable-next-line\nexport var BIconCalendar3Fill=/*#__PURE__*/makeIcon('Calendar3Fill','');// eslint-disable-next-line\nexport var BIconCalendar3Range=/*#__PURE__*/makeIcon('Calendar3Range','');// eslint-disable-next-line\nexport var BIconCalendar3RangeFill=/*#__PURE__*/makeIcon('Calendar3RangeFill','');// eslint-disable-next-line\nexport var BIconCalendar3Week=/*#__PURE__*/makeIcon('Calendar3Week','');// eslint-disable-next-line\nexport var BIconCalendar3WeekFill=/*#__PURE__*/makeIcon('Calendar3WeekFill','');// eslint-disable-next-line\nexport var BIconCalendar4=/*#__PURE__*/makeIcon('Calendar4','');// eslint-disable-next-line\nexport var BIconCalendar4Event=/*#__PURE__*/makeIcon('Calendar4Event','');// eslint-disable-next-line\nexport var BIconCalendar4Range=/*#__PURE__*/makeIcon('Calendar4Range','');// eslint-disable-next-line\nexport var BIconCalendar4Week=/*#__PURE__*/makeIcon('Calendar4Week','');// eslint-disable-next-line\nexport var BIconCalendarCheck=/*#__PURE__*/makeIcon('CalendarCheck','');// eslint-disable-next-line\nexport var BIconCalendarCheckFill=/*#__PURE__*/makeIcon('CalendarCheckFill','');// eslint-disable-next-line\nexport var BIconCalendarDate=/*#__PURE__*/makeIcon('CalendarDate','');// eslint-disable-next-line\nexport var BIconCalendarDateFill=/*#__PURE__*/makeIcon('CalendarDateFill','');// eslint-disable-next-line\nexport var BIconCalendarDay=/*#__PURE__*/makeIcon('CalendarDay','');// eslint-disable-next-line\nexport var BIconCalendarDayFill=/*#__PURE__*/makeIcon('CalendarDayFill','');// eslint-disable-next-line\nexport var BIconCalendarEvent=/*#__PURE__*/makeIcon('CalendarEvent','');// eslint-disable-next-line\nexport var BIconCalendarEventFill=/*#__PURE__*/makeIcon('CalendarEventFill','');// eslint-disable-next-line\nexport var BIconCalendarFill=/*#__PURE__*/makeIcon('CalendarFill','');// eslint-disable-next-line\nexport var BIconCalendarMinus=/*#__PURE__*/makeIcon('CalendarMinus','');// eslint-disable-next-line\nexport var BIconCalendarMinusFill=/*#__PURE__*/makeIcon('CalendarMinusFill','');// eslint-disable-next-line\nexport var BIconCalendarMonth=/*#__PURE__*/makeIcon('CalendarMonth','');// eslint-disable-next-line\nexport var BIconCalendarMonthFill=/*#__PURE__*/makeIcon('CalendarMonthFill','');// eslint-disable-next-line\nexport var BIconCalendarPlus=/*#__PURE__*/makeIcon('CalendarPlus','');// eslint-disable-next-line\nexport var BIconCalendarPlusFill=/*#__PURE__*/makeIcon('CalendarPlusFill','');// eslint-disable-next-line\nexport var BIconCalendarRange=/*#__PURE__*/makeIcon('CalendarRange','');// eslint-disable-next-line\nexport var BIconCalendarRangeFill=/*#__PURE__*/makeIcon('CalendarRangeFill','');// eslint-disable-next-line\nexport var BIconCalendarWeek=/*#__PURE__*/makeIcon('CalendarWeek','');// eslint-disable-next-line\nexport var BIconCalendarWeekFill=/*#__PURE__*/makeIcon('CalendarWeekFill','');// eslint-disable-next-line\nexport var BIconCalendarX=/*#__PURE__*/makeIcon('CalendarX','');// eslint-disable-next-line\nexport var BIconCalendarXFill=/*#__PURE__*/makeIcon('CalendarXFill','');// eslint-disable-next-line\nexport var BIconCamera=/*#__PURE__*/makeIcon('Camera','');// eslint-disable-next-line\nexport var BIconCamera2=/*#__PURE__*/makeIcon('Camera2','');// eslint-disable-next-line\nexport var BIconCameraFill=/*#__PURE__*/makeIcon('CameraFill','');// eslint-disable-next-line\nexport var BIconCameraReels=/*#__PURE__*/makeIcon('CameraReels','');// eslint-disable-next-line\nexport var BIconCameraReelsFill=/*#__PURE__*/makeIcon('CameraReelsFill','');// eslint-disable-next-line\nexport var BIconCameraVideo=/*#__PURE__*/makeIcon('CameraVideo','');// eslint-disable-next-line\nexport var BIconCameraVideoFill=/*#__PURE__*/makeIcon('CameraVideoFill','');// eslint-disable-next-line\nexport var BIconCameraVideoOff=/*#__PURE__*/makeIcon('CameraVideoOff','');// eslint-disable-next-line\nexport var BIconCameraVideoOffFill=/*#__PURE__*/makeIcon('CameraVideoOffFill','');// eslint-disable-next-line\nexport var BIconCapslock=/*#__PURE__*/makeIcon('Capslock','');// eslint-disable-next-line\nexport var BIconCapslockFill=/*#__PURE__*/makeIcon('CapslockFill','');// eslint-disable-next-line\nexport var BIconCardChecklist=/*#__PURE__*/makeIcon('CardChecklist','');// eslint-disable-next-line\nexport var BIconCardHeading=/*#__PURE__*/makeIcon('CardHeading','');// eslint-disable-next-line\nexport var BIconCardImage=/*#__PURE__*/makeIcon('CardImage','');// eslint-disable-next-line\nexport var BIconCardList=/*#__PURE__*/makeIcon('CardList','');// eslint-disable-next-line\nexport var BIconCardText=/*#__PURE__*/makeIcon('CardText','');// eslint-disable-next-line\nexport var BIconCaretDown=/*#__PURE__*/makeIcon('CaretDown','');// eslint-disable-next-line\nexport var BIconCaretDownFill=/*#__PURE__*/makeIcon('CaretDownFill','');// eslint-disable-next-line\nexport var BIconCaretDownSquare=/*#__PURE__*/makeIcon('CaretDownSquare','');// eslint-disable-next-line\nexport var BIconCaretDownSquareFill=/*#__PURE__*/makeIcon('CaretDownSquareFill','');// eslint-disable-next-line\nexport var BIconCaretLeft=/*#__PURE__*/makeIcon('CaretLeft','');// eslint-disable-next-line\nexport var BIconCaretLeftFill=/*#__PURE__*/makeIcon('CaretLeftFill','');// eslint-disable-next-line\nexport var BIconCaretLeftSquare=/*#__PURE__*/makeIcon('CaretLeftSquare','');// eslint-disable-next-line\nexport var BIconCaretLeftSquareFill=/*#__PURE__*/makeIcon('CaretLeftSquareFill','');// eslint-disable-next-line\nexport var BIconCaretRight=/*#__PURE__*/makeIcon('CaretRight','');// eslint-disable-next-line\nexport var BIconCaretRightFill=/*#__PURE__*/makeIcon('CaretRightFill','');// eslint-disable-next-line\nexport var BIconCaretRightSquare=/*#__PURE__*/makeIcon('CaretRightSquare','');// eslint-disable-next-line\nexport var BIconCaretRightSquareFill=/*#__PURE__*/makeIcon('CaretRightSquareFill','');// eslint-disable-next-line\nexport var BIconCaretUp=/*#__PURE__*/makeIcon('CaretUp','');// eslint-disable-next-line\nexport var BIconCaretUpFill=/*#__PURE__*/makeIcon('CaretUpFill','');// eslint-disable-next-line\nexport var BIconCaretUpSquare=/*#__PURE__*/makeIcon('CaretUpSquare','');// eslint-disable-next-line\nexport var BIconCaretUpSquareFill=/*#__PURE__*/makeIcon('CaretUpSquareFill','');// eslint-disable-next-line\nexport var BIconCart=/*#__PURE__*/makeIcon('Cart','');// eslint-disable-next-line\nexport var BIconCart2=/*#__PURE__*/makeIcon('Cart2','');// eslint-disable-next-line\nexport var BIconCart3=/*#__PURE__*/makeIcon('Cart3','');// eslint-disable-next-line\nexport var BIconCart4=/*#__PURE__*/makeIcon('Cart4','');// eslint-disable-next-line\nexport var BIconCartCheck=/*#__PURE__*/makeIcon('CartCheck','');// eslint-disable-next-line\nexport var BIconCartCheckFill=/*#__PURE__*/makeIcon('CartCheckFill','');// eslint-disable-next-line\nexport var BIconCartDash=/*#__PURE__*/makeIcon('CartDash','');// eslint-disable-next-line\nexport var BIconCartDashFill=/*#__PURE__*/makeIcon('CartDashFill','');// eslint-disable-next-line\nexport var BIconCartFill=/*#__PURE__*/makeIcon('CartFill','');// eslint-disable-next-line\nexport var BIconCartPlus=/*#__PURE__*/makeIcon('CartPlus','');// eslint-disable-next-line\nexport var BIconCartPlusFill=/*#__PURE__*/makeIcon('CartPlusFill','');// eslint-disable-next-line\nexport var BIconCartX=/*#__PURE__*/makeIcon('CartX','');// eslint-disable-next-line\nexport var BIconCartXFill=/*#__PURE__*/makeIcon('CartXFill','');// eslint-disable-next-line\nexport var BIconCash=/*#__PURE__*/makeIcon('Cash','');// eslint-disable-next-line\nexport var BIconCashStack=/*#__PURE__*/makeIcon('CashStack','');// eslint-disable-next-line\nexport var BIconCast=/*#__PURE__*/makeIcon('Cast','');// eslint-disable-next-line\nexport var BIconChat=/*#__PURE__*/makeIcon('Chat','');// eslint-disable-next-line\nexport var BIconChatDots=/*#__PURE__*/makeIcon('ChatDots','');// eslint-disable-next-line\nexport var BIconChatDotsFill=/*#__PURE__*/makeIcon('ChatDotsFill','');// eslint-disable-next-line\nexport var BIconChatFill=/*#__PURE__*/makeIcon('ChatFill','');// eslint-disable-next-line\nexport var BIconChatLeft=/*#__PURE__*/makeIcon('ChatLeft','');// eslint-disable-next-line\nexport var BIconChatLeftDots=/*#__PURE__*/makeIcon('ChatLeftDots','');// eslint-disable-next-line\nexport var BIconChatLeftDotsFill=/*#__PURE__*/makeIcon('ChatLeftDotsFill','');// eslint-disable-next-line\nexport var BIconChatLeftFill=/*#__PURE__*/makeIcon('ChatLeftFill','');// eslint-disable-next-line\nexport var BIconChatLeftQuote=/*#__PURE__*/makeIcon('ChatLeftQuote','');// eslint-disable-next-line\nexport var BIconChatLeftQuoteFill=/*#__PURE__*/makeIcon('ChatLeftQuoteFill','');// eslint-disable-next-line\nexport var BIconChatLeftText=/*#__PURE__*/makeIcon('ChatLeftText','');// eslint-disable-next-line\nexport var BIconChatLeftTextFill=/*#__PURE__*/makeIcon('ChatLeftTextFill','');// eslint-disable-next-line\nexport var BIconChatQuote=/*#__PURE__*/makeIcon('ChatQuote','');// eslint-disable-next-line\nexport var BIconChatQuoteFill=/*#__PURE__*/makeIcon('ChatQuoteFill','');// eslint-disable-next-line\nexport var BIconChatRight=/*#__PURE__*/makeIcon('ChatRight','');// eslint-disable-next-line\nexport var BIconChatRightDots=/*#__PURE__*/makeIcon('ChatRightDots','');// eslint-disable-next-line\nexport var BIconChatRightDotsFill=/*#__PURE__*/makeIcon('ChatRightDotsFill','');// eslint-disable-next-line\nexport var BIconChatRightFill=/*#__PURE__*/makeIcon('ChatRightFill','');// eslint-disable-next-line\nexport var BIconChatRightQuote=/*#__PURE__*/makeIcon('ChatRightQuote','');// eslint-disable-next-line\nexport var BIconChatRightQuoteFill=/*#__PURE__*/makeIcon('ChatRightQuoteFill','');// eslint-disable-next-line\nexport var BIconChatRightText=/*#__PURE__*/makeIcon('ChatRightText','');// eslint-disable-next-line\nexport var BIconChatRightTextFill=/*#__PURE__*/makeIcon('ChatRightTextFill','');// eslint-disable-next-line\nexport var BIconChatSquare=/*#__PURE__*/makeIcon('ChatSquare','');// eslint-disable-next-line\nexport var BIconChatSquareDots=/*#__PURE__*/makeIcon('ChatSquareDots','');// eslint-disable-next-line\nexport var BIconChatSquareDotsFill=/*#__PURE__*/makeIcon('ChatSquareDotsFill','');// eslint-disable-next-line\nexport var BIconChatSquareFill=/*#__PURE__*/makeIcon('ChatSquareFill','');// eslint-disable-next-line\nexport var BIconChatSquareQuote=/*#__PURE__*/makeIcon('ChatSquareQuote','');// eslint-disable-next-line\nexport var BIconChatSquareQuoteFill=/*#__PURE__*/makeIcon('ChatSquareQuoteFill','');// eslint-disable-next-line\nexport var BIconChatSquareText=/*#__PURE__*/makeIcon('ChatSquareText','');// eslint-disable-next-line\nexport var BIconChatSquareTextFill=/*#__PURE__*/makeIcon('ChatSquareTextFill','');// eslint-disable-next-line\nexport var BIconChatText=/*#__PURE__*/makeIcon('ChatText','');// eslint-disable-next-line\nexport var BIconChatTextFill=/*#__PURE__*/makeIcon('ChatTextFill','');// eslint-disable-next-line\nexport var BIconCheck=/*#__PURE__*/makeIcon('Check','');// eslint-disable-next-line\nexport var BIconCheck2=/*#__PURE__*/makeIcon('Check2','');// eslint-disable-next-line\nexport var BIconCheck2All=/*#__PURE__*/makeIcon('Check2All','');// eslint-disable-next-line\nexport var BIconCheck2Circle=/*#__PURE__*/makeIcon('Check2Circle','');// eslint-disable-next-line\nexport var BIconCheck2Square=/*#__PURE__*/makeIcon('Check2Square','');// eslint-disable-next-line\nexport var BIconCheckAll=/*#__PURE__*/makeIcon('CheckAll','');// eslint-disable-next-line\nexport var BIconCheckCircle=/*#__PURE__*/makeIcon('CheckCircle','');// eslint-disable-next-line\nexport var BIconCheckCircleFill=/*#__PURE__*/makeIcon('CheckCircleFill','');// eslint-disable-next-line\nexport var BIconCheckSquare=/*#__PURE__*/makeIcon('CheckSquare','');// eslint-disable-next-line\nexport var BIconCheckSquareFill=/*#__PURE__*/makeIcon('CheckSquareFill','');// eslint-disable-next-line\nexport var BIconChevronBarContract=/*#__PURE__*/makeIcon('ChevronBarContract','');// eslint-disable-next-line\nexport var BIconChevronBarDown=/*#__PURE__*/makeIcon('ChevronBarDown','');// eslint-disable-next-line\nexport var BIconChevronBarExpand=/*#__PURE__*/makeIcon('ChevronBarExpand','');// eslint-disable-next-line\nexport var BIconChevronBarLeft=/*#__PURE__*/makeIcon('ChevronBarLeft','');// eslint-disable-next-line\nexport var BIconChevronBarRight=/*#__PURE__*/makeIcon('ChevronBarRight','');// eslint-disable-next-line\nexport var BIconChevronBarUp=/*#__PURE__*/makeIcon('ChevronBarUp','');// eslint-disable-next-line\nexport var BIconChevronCompactDown=/*#__PURE__*/makeIcon('ChevronCompactDown','');// eslint-disable-next-line\nexport var BIconChevronCompactLeft=/*#__PURE__*/makeIcon('ChevronCompactLeft','');// eslint-disable-next-line\nexport var BIconChevronCompactRight=/*#__PURE__*/makeIcon('ChevronCompactRight','');// eslint-disable-next-line\nexport var BIconChevronCompactUp=/*#__PURE__*/makeIcon('ChevronCompactUp','');// eslint-disable-next-line\nexport var BIconChevronContract=/*#__PURE__*/makeIcon('ChevronContract','');// eslint-disable-next-line\nexport var BIconChevronDoubleDown=/*#__PURE__*/makeIcon('ChevronDoubleDown','');// eslint-disable-next-line\nexport var BIconChevronDoubleLeft=/*#__PURE__*/makeIcon('ChevronDoubleLeft','');// eslint-disable-next-line\nexport var BIconChevronDoubleRight=/*#__PURE__*/makeIcon('ChevronDoubleRight','');// eslint-disable-next-line\nexport var BIconChevronDoubleUp=/*#__PURE__*/makeIcon('ChevronDoubleUp','');// eslint-disable-next-line\nexport var BIconChevronDown=/*#__PURE__*/makeIcon('ChevronDown','');// eslint-disable-next-line\nexport var BIconChevronExpand=/*#__PURE__*/makeIcon('ChevronExpand','');// eslint-disable-next-line\nexport var BIconChevronLeft=/*#__PURE__*/makeIcon('ChevronLeft','');// eslint-disable-next-line\nexport var BIconChevronRight=/*#__PURE__*/makeIcon('ChevronRight','');// eslint-disable-next-line\nexport var BIconChevronUp=/*#__PURE__*/makeIcon('ChevronUp','');// eslint-disable-next-line\nexport var BIconCircle=/*#__PURE__*/makeIcon('Circle','');// eslint-disable-next-line\nexport var BIconCircleFill=/*#__PURE__*/makeIcon('CircleFill','');// eslint-disable-next-line\nexport var BIconCircleHalf=/*#__PURE__*/makeIcon('CircleHalf','');// eslint-disable-next-line\nexport var BIconCircleSquare=/*#__PURE__*/makeIcon('CircleSquare','');// eslint-disable-next-line\nexport var BIconClipboard=/*#__PURE__*/makeIcon('Clipboard','');// eslint-disable-next-line\nexport var BIconClipboardCheck=/*#__PURE__*/makeIcon('ClipboardCheck','');// eslint-disable-next-line\nexport var BIconClipboardData=/*#__PURE__*/makeIcon('ClipboardData','');// eslint-disable-next-line\nexport var BIconClipboardMinus=/*#__PURE__*/makeIcon('ClipboardMinus','');// eslint-disable-next-line\nexport var BIconClipboardPlus=/*#__PURE__*/makeIcon('ClipboardPlus','');// eslint-disable-next-line\nexport var BIconClipboardX=/*#__PURE__*/makeIcon('ClipboardX','');// eslint-disable-next-line\nexport var BIconClock=/*#__PURE__*/makeIcon('Clock','');// eslint-disable-next-line\nexport var BIconClockFill=/*#__PURE__*/makeIcon('ClockFill','');// eslint-disable-next-line\nexport var BIconClockHistory=/*#__PURE__*/makeIcon('ClockHistory','');// eslint-disable-next-line\nexport var BIconCloud=/*#__PURE__*/makeIcon('Cloud','');// eslint-disable-next-line\nexport var BIconCloudArrowDown=/*#__PURE__*/makeIcon('CloudArrowDown','');// eslint-disable-next-line\nexport var BIconCloudArrowDownFill=/*#__PURE__*/makeIcon('CloudArrowDownFill','');// eslint-disable-next-line\nexport var BIconCloudArrowUp=/*#__PURE__*/makeIcon('CloudArrowUp','');// eslint-disable-next-line\nexport var BIconCloudArrowUpFill=/*#__PURE__*/makeIcon('CloudArrowUpFill','');// eslint-disable-next-line\nexport var BIconCloudCheck=/*#__PURE__*/makeIcon('CloudCheck','');// eslint-disable-next-line\nexport var BIconCloudCheckFill=/*#__PURE__*/makeIcon('CloudCheckFill','');// eslint-disable-next-line\nexport var BIconCloudDownload=/*#__PURE__*/makeIcon('CloudDownload','');// eslint-disable-next-line\nexport var BIconCloudDownloadFill=/*#__PURE__*/makeIcon('CloudDownloadFill','');// eslint-disable-next-line\nexport var BIconCloudFill=/*#__PURE__*/makeIcon('CloudFill','');// eslint-disable-next-line\nexport var BIconCloudMinus=/*#__PURE__*/makeIcon('CloudMinus','');// eslint-disable-next-line\nexport var BIconCloudMinusFill=/*#__PURE__*/makeIcon('CloudMinusFill','');// eslint-disable-next-line\nexport var BIconCloudPlus=/*#__PURE__*/makeIcon('CloudPlus','');// eslint-disable-next-line\nexport var BIconCloudPlusFill=/*#__PURE__*/makeIcon('CloudPlusFill','');// eslint-disable-next-line\nexport var BIconCloudSlash=/*#__PURE__*/makeIcon('CloudSlash','');// eslint-disable-next-line\nexport var BIconCloudSlashFill=/*#__PURE__*/makeIcon('CloudSlashFill','');// eslint-disable-next-line\nexport var BIconCloudUpload=/*#__PURE__*/makeIcon('CloudUpload','');// eslint-disable-next-line\nexport var BIconCloudUploadFill=/*#__PURE__*/makeIcon('CloudUploadFill','');// eslint-disable-next-line\nexport var BIconCode=/*#__PURE__*/makeIcon('Code','');// eslint-disable-next-line\nexport var BIconCodeSlash=/*#__PURE__*/makeIcon('CodeSlash','');// eslint-disable-next-line\nexport var BIconCodeSquare=/*#__PURE__*/makeIcon('CodeSquare','');// eslint-disable-next-line\nexport var BIconCollection=/*#__PURE__*/makeIcon('Collection','');// eslint-disable-next-line\nexport var BIconCollectionFill=/*#__PURE__*/makeIcon('CollectionFill','');// eslint-disable-next-line\nexport var BIconCollectionPlay=/*#__PURE__*/makeIcon('CollectionPlay','');// eslint-disable-next-line\nexport var BIconCollectionPlayFill=/*#__PURE__*/makeIcon('CollectionPlayFill','');// eslint-disable-next-line\nexport var BIconColumns=/*#__PURE__*/makeIcon('Columns','');// eslint-disable-next-line\nexport var BIconColumnsGap=/*#__PURE__*/makeIcon('ColumnsGap','');// eslint-disable-next-line\nexport var BIconCommand=/*#__PURE__*/makeIcon('Command','');// eslint-disable-next-line\nexport var BIconCompass=/*#__PURE__*/makeIcon('Compass','');// eslint-disable-next-line\nexport var BIconCompassFill=/*#__PURE__*/makeIcon('CompassFill','');// eslint-disable-next-line\nexport var BIconCone=/*#__PURE__*/makeIcon('Cone','');// eslint-disable-next-line\nexport var BIconConeStriped=/*#__PURE__*/makeIcon('ConeStriped','');// eslint-disable-next-line\nexport var BIconController=/*#__PURE__*/makeIcon('Controller','');// eslint-disable-next-line\nexport var BIconCpu=/*#__PURE__*/makeIcon('Cpu','');// eslint-disable-next-line\nexport var BIconCpuFill=/*#__PURE__*/makeIcon('CpuFill','');// eslint-disable-next-line\nexport var BIconCreditCard=/*#__PURE__*/makeIcon('CreditCard','');// eslint-disable-next-line\nexport var BIconCreditCard2Back=/*#__PURE__*/makeIcon('CreditCard2Back','');// eslint-disable-next-line\nexport var BIconCreditCard2BackFill=/*#__PURE__*/makeIcon('CreditCard2BackFill','');// eslint-disable-next-line\nexport var BIconCreditCard2Front=/*#__PURE__*/makeIcon('CreditCard2Front','');// eslint-disable-next-line\nexport var BIconCreditCard2FrontFill=/*#__PURE__*/makeIcon('CreditCard2FrontFill','');// eslint-disable-next-line\nexport var BIconCreditCardFill=/*#__PURE__*/makeIcon('CreditCardFill','');// eslint-disable-next-line\nexport var BIconCrop=/*#__PURE__*/makeIcon('Crop','');// eslint-disable-next-line\nexport var BIconCup=/*#__PURE__*/makeIcon('Cup','');// eslint-disable-next-line\nexport var BIconCupFill=/*#__PURE__*/makeIcon('CupFill','');// eslint-disable-next-line\nexport var BIconCupStraw=/*#__PURE__*/makeIcon('CupStraw','');// eslint-disable-next-line\nexport var BIconCursor=/*#__PURE__*/makeIcon('Cursor','');// eslint-disable-next-line\nexport var BIconCursorFill=/*#__PURE__*/makeIcon('CursorFill','');// eslint-disable-next-line\nexport var BIconCursorText=/*#__PURE__*/makeIcon('CursorText','');// eslint-disable-next-line\nexport var BIconDash=/*#__PURE__*/makeIcon('Dash','');// eslint-disable-next-line\nexport var BIconDashCircle=/*#__PURE__*/makeIcon('DashCircle','');// eslint-disable-next-line\nexport var BIconDashCircleFill=/*#__PURE__*/makeIcon('DashCircleFill','');// eslint-disable-next-line\nexport var BIconDashSquare=/*#__PURE__*/makeIcon('DashSquare','');// eslint-disable-next-line\nexport var BIconDashSquareFill=/*#__PURE__*/makeIcon('DashSquareFill','');// eslint-disable-next-line\nexport var BIconDiagram2=/*#__PURE__*/makeIcon('Diagram2','');// eslint-disable-next-line\nexport var BIconDiagram2Fill=/*#__PURE__*/makeIcon('Diagram2Fill','');// eslint-disable-next-line\nexport var BIconDiagram3=/*#__PURE__*/makeIcon('Diagram3','');// eslint-disable-next-line\nexport var BIconDiagram3Fill=/*#__PURE__*/makeIcon('Diagram3Fill','');// eslint-disable-next-line\nexport var BIconDiamond=/*#__PURE__*/makeIcon('Diamond','');// eslint-disable-next-line\nexport var BIconDiamondFill=/*#__PURE__*/makeIcon('DiamondFill','');// eslint-disable-next-line\nexport var BIconDiamondHalf=/*#__PURE__*/makeIcon('DiamondHalf','');// eslint-disable-next-line\nexport var BIconDice1=/*#__PURE__*/makeIcon('Dice1','');// eslint-disable-next-line\nexport var BIconDice1Fill=/*#__PURE__*/makeIcon('Dice1Fill','');// eslint-disable-next-line\nexport var BIconDice2=/*#__PURE__*/makeIcon('Dice2','');// eslint-disable-next-line\nexport var BIconDice2Fill=/*#__PURE__*/makeIcon('Dice2Fill','');// eslint-disable-next-line\nexport var BIconDice3=/*#__PURE__*/makeIcon('Dice3','');// eslint-disable-next-line\nexport var BIconDice3Fill=/*#__PURE__*/makeIcon('Dice3Fill','');// eslint-disable-next-line\nexport var BIconDice4=/*#__PURE__*/makeIcon('Dice4','');// eslint-disable-next-line\nexport var BIconDice4Fill=/*#__PURE__*/makeIcon('Dice4Fill','');// eslint-disable-next-line\nexport var BIconDice5=/*#__PURE__*/makeIcon('Dice5','');// eslint-disable-next-line\nexport var BIconDice5Fill=/*#__PURE__*/makeIcon('Dice5Fill','');// eslint-disable-next-line\nexport var BIconDice6=/*#__PURE__*/makeIcon('Dice6','');// eslint-disable-next-line\nexport var BIconDice6Fill=/*#__PURE__*/makeIcon('Dice6Fill','');// eslint-disable-next-line\nexport var BIconDisc=/*#__PURE__*/makeIcon('Disc','');// eslint-disable-next-line\nexport var BIconDiscFill=/*#__PURE__*/makeIcon('DiscFill','');// eslint-disable-next-line\nexport var BIconDiscord=/*#__PURE__*/makeIcon('Discord','');// eslint-disable-next-line\nexport var BIconDisplay=/*#__PURE__*/makeIcon('Display','');// eslint-disable-next-line\nexport var BIconDisplayFill=/*#__PURE__*/makeIcon('DisplayFill','');// eslint-disable-next-line\nexport var BIconDistributeHorizontal=/*#__PURE__*/makeIcon('DistributeHorizontal','');// eslint-disable-next-line\nexport var BIconDistributeVertical=/*#__PURE__*/makeIcon('DistributeVertical','');// eslint-disable-next-line\nexport var BIconDoorClosed=/*#__PURE__*/makeIcon('DoorClosed','');// eslint-disable-next-line\nexport var BIconDoorClosedFill=/*#__PURE__*/makeIcon('DoorClosedFill','');// eslint-disable-next-line\nexport var BIconDoorOpen=/*#__PURE__*/makeIcon('DoorOpen','');// eslint-disable-next-line\nexport var BIconDoorOpenFill=/*#__PURE__*/makeIcon('DoorOpenFill','');// eslint-disable-next-line\nexport var BIconDot=/*#__PURE__*/makeIcon('Dot','');// eslint-disable-next-line\nexport var BIconDownload=/*#__PURE__*/makeIcon('Download','');// eslint-disable-next-line\nexport var BIconDroplet=/*#__PURE__*/makeIcon('Droplet','');// eslint-disable-next-line\nexport var BIconDropletFill=/*#__PURE__*/makeIcon('DropletFill','');// eslint-disable-next-line\nexport var BIconDropletHalf=/*#__PURE__*/makeIcon('DropletHalf','');// eslint-disable-next-line\nexport var BIconEarbuds=/*#__PURE__*/makeIcon('Earbuds','');// eslint-disable-next-line\nexport var BIconEasel=/*#__PURE__*/makeIcon('Easel','');// eslint-disable-next-line\nexport var BIconEaselFill=/*#__PURE__*/makeIcon('EaselFill','');// eslint-disable-next-line\nexport var BIconEgg=/*#__PURE__*/makeIcon('Egg','');// eslint-disable-next-line\nexport var BIconEggFill=/*#__PURE__*/makeIcon('EggFill','');// eslint-disable-next-line\nexport var BIconEggFried=/*#__PURE__*/makeIcon('EggFried','');// eslint-disable-next-line\nexport var BIconEject=/*#__PURE__*/makeIcon('Eject','');// eslint-disable-next-line\nexport var BIconEjectFill=/*#__PURE__*/makeIcon('EjectFill','');// eslint-disable-next-line\nexport var BIconEmojiAngry=/*#__PURE__*/makeIcon('EmojiAngry','');// eslint-disable-next-line\nexport var BIconEmojiAngryFill=/*#__PURE__*/makeIcon('EmojiAngryFill','');// eslint-disable-next-line\nexport var BIconEmojiDizzy=/*#__PURE__*/makeIcon('EmojiDizzy','');// eslint-disable-next-line\nexport var BIconEmojiDizzyFill=/*#__PURE__*/makeIcon('EmojiDizzyFill','');// eslint-disable-next-line\nexport var BIconEmojiExpressionless=/*#__PURE__*/makeIcon('EmojiExpressionless','');// eslint-disable-next-line\nexport var BIconEmojiExpressionlessFill=/*#__PURE__*/makeIcon('EmojiExpressionlessFill','');// eslint-disable-next-line\nexport var BIconEmojiFrown=/*#__PURE__*/makeIcon('EmojiFrown','');// eslint-disable-next-line\nexport var BIconEmojiFrownFill=/*#__PURE__*/makeIcon('EmojiFrownFill','');// eslint-disable-next-line\nexport var BIconEmojiHeartEyes=/*#__PURE__*/makeIcon('EmojiHeartEyes','');// eslint-disable-next-line\nexport var BIconEmojiHeartEyesFill=/*#__PURE__*/makeIcon('EmojiHeartEyesFill','');// eslint-disable-next-line\nexport var BIconEmojiLaughing=/*#__PURE__*/makeIcon('EmojiLaughing','');// eslint-disable-next-line\nexport var BIconEmojiLaughingFill=/*#__PURE__*/makeIcon('EmojiLaughingFill','');// eslint-disable-next-line\nexport var BIconEmojiNeutral=/*#__PURE__*/makeIcon('EmojiNeutral','');// eslint-disable-next-line\nexport var BIconEmojiNeutralFill=/*#__PURE__*/makeIcon('EmojiNeutralFill','');// eslint-disable-next-line\nexport var BIconEmojiSmile=/*#__PURE__*/makeIcon('EmojiSmile','');// eslint-disable-next-line\nexport var BIconEmojiSmileFill=/*#__PURE__*/makeIcon('EmojiSmileFill','');// eslint-disable-next-line\nexport var BIconEmojiSmileUpsideDown=/*#__PURE__*/makeIcon('EmojiSmileUpsideDown','');// eslint-disable-next-line\nexport var BIconEmojiSmileUpsideDownFill=/*#__PURE__*/makeIcon('EmojiSmileUpsideDownFill','');// eslint-disable-next-line\nexport var BIconEmojiSunglasses=/*#__PURE__*/makeIcon('EmojiSunglasses','');// eslint-disable-next-line\nexport var BIconEmojiSunglassesFill=/*#__PURE__*/makeIcon('EmojiSunglassesFill','');// eslint-disable-next-line\nexport var BIconEmojiWink=/*#__PURE__*/makeIcon('EmojiWink','');// eslint-disable-next-line\nexport var BIconEmojiWinkFill=/*#__PURE__*/makeIcon('EmojiWinkFill','');// eslint-disable-next-line\nexport var BIconEnvelope=/*#__PURE__*/makeIcon('Envelope','');// eslint-disable-next-line\nexport var BIconEnvelopeFill=/*#__PURE__*/makeIcon('EnvelopeFill','');// eslint-disable-next-line\nexport var BIconEnvelopeOpen=/*#__PURE__*/makeIcon('EnvelopeOpen','');// eslint-disable-next-line\nexport var BIconEnvelopeOpenFill=/*#__PURE__*/makeIcon('EnvelopeOpenFill','');// eslint-disable-next-line\nexport var BIconExclamation=/*#__PURE__*/makeIcon('Exclamation','');// eslint-disable-next-line\nexport var BIconExclamationCircle=/*#__PURE__*/makeIcon('ExclamationCircle','');// eslint-disable-next-line\nexport var BIconExclamationCircleFill=/*#__PURE__*/makeIcon('ExclamationCircleFill','');// eslint-disable-next-line\nexport var BIconExclamationDiamond=/*#__PURE__*/makeIcon('ExclamationDiamond','');// eslint-disable-next-line\nexport var BIconExclamationDiamondFill=/*#__PURE__*/makeIcon('ExclamationDiamondFill','');// eslint-disable-next-line\nexport var BIconExclamationOctagon=/*#__PURE__*/makeIcon('ExclamationOctagon','');// eslint-disable-next-line\nexport var BIconExclamationOctagonFill=/*#__PURE__*/makeIcon('ExclamationOctagonFill','');// eslint-disable-next-line\nexport var BIconExclamationSquare=/*#__PURE__*/makeIcon('ExclamationSquare','');// eslint-disable-next-line\nexport var BIconExclamationSquareFill=/*#__PURE__*/makeIcon('ExclamationSquareFill','');// eslint-disable-next-line\nexport var BIconExclamationTriangle=/*#__PURE__*/makeIcon('ExclamationTriangle','');// eslint-disable-next-line\nexport var BIconExclamationTriangleFill=/*#__PURE__*/makeIcon('ExclamationTriangleFill','');// eslint-disable-next-line\nexport var BIconExclude=/*#__PURE__*/makeIcon('Exclude','');// eslint-disable-next-line\nexport var BIconEye=/*#__PURE__*/makeIcon('Eye','');// eslint-disable-next-line\nexport var BIconEyeFill=/*#__PURE__*/makeIcon('EyeFill','');// eslint-disable-next-line\nexport var BIconEyeSlash=/*#__PURE__*/makeIcon('EyeSlash','');// eslint-disable-next-line\nexport var BIconEyeSlashFill=/*#__PURE__*/makeIcon('EyeSlashFill','');// eslint-disable-next-line\nexport var BIconEyeglasses=/*#__PURE__*/makeIcon('Eyeglasses','');// eslint-disable-next-line\nexport var BIconFacebook=/*#__PURE__*/makeIcon('Facebook','');// eslint-disable-next-line\nexport var BIconFile=/*#__PURE__*/makeIcon('File','');// eslint-disable-next-line\nexport var BIconFileArrowDown=/*#__PURE__*/makeIcon('FileArrowDown','');// eslint-disable-next-line\nexport var BIconFileArrowDownFill=/*#__PURE__*/makeIcon('FileArrowDownFill','');// eslint-disable-next-line\nexport var BIconFileArrowUp=/*#__PURE__*/makeIcon('FileArrowUp','');// eslint-disable-next-line\nexport var BIconFileArrowUpFill=/*#__PURE__*/makeIcon('FileArrowUpFill','');// eslint-disable-next-line\nexport var BIconFileBarGraph=/*#__PURE__*/makeIcon('FileBarGraph','');// eslint-disable-next-line\nexport var BIconFileBarGraphFill=/*#__PURE__*/makeIcon('FileBarGraphFill','');// eslint-disable-next-line\nexport var BIconFileBinary=/*#__PURE__*/makeIcon('FileBinary','');// eslint-disable-next-line\nexport var BIconFileBinaryFill=/*#__PURE__*/makeIcon('FileBinaryFill','');// eslint-disable-next-line\nexport var BIconFileBreak=/*#__PURE__*/makeIcon('FileBreak','');// eslint-disable-next-line\nexport var BIconFileBreakFill=/*#__PURE__*/makeIcon('FileBreakFill','');// eslint-disable-next-line\nexport var BIconFileCheck=/*#__PURE__*/makeIcon('FileCheck','');// eslint-disable-next-line\nexport var BIconFileCheckFill=/*#__PURE__*/makeIcon('FileCheckFill','');// eslint-disable-next-line\nexport var BIconFileCode=/*#__PURE__*/makeIcon('FileCode','');// eslint-disable-next-line\nexport var BIconFileCodeFill=/*#__PURE__*/makeIcon('FileCodeFill','');// eslint-disable-next-line\nexport var BIconFileDiff=/*#__PURE__*/makeIcon('FileDiff','');// eslint-disable-next-line\nexport var BIconFileDiffFill=/*#__PURE__*/makeIcon('FileDiffFill','');// eslint-disable-next-line\nexport var BIconFileEarmark=/*#__PURE__*/makeIcon('FileEarmark','');// eslint-disable-next-line\nexport var BIconFileEarmarkArrowDown=/*#__PURE__*/makeIcon('FileEarmarkArrowDown','');// eslint-disable-next-line\nexport var BIconFileEarmarkArrowDownFill=/*#__PURE__*/makeIcon('FileEarmarkArrowDownFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkArrowUp=/*#__PURE__*/makeIcon('FileEarmarkArrowUp','');// eslint-disable-next-line\nexport var BIconFileEarmarkArrowUpFill=/*#__PURE__*/makeIcon('FileEarmarkArrowUpFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkBarGraph=/*#__PURE__*/makeIcon('FileEarmarkBarGraph','');// eslint-disable-next-line\nexport var BIconFileEarmarkBarGraphFill=/*#__PURE__*/makeIcon('FileEarmarkBarGraphFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkBinary=/*#__PURE__*/makeIcon('FileEarmarkBinary','');// eslint-disable-next-line\nexport var BIconFileEarmarkBinaryFill=/*#__PURE__*/makeIcon('FileEarmarkBinaryFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkBreak=/*#__PURE__*/makeIcon('FileEarmarkBreak','');// eslint-disable-next-line\nexport var BIconFileEarmarkBreakFill=/*#__PURE__*/makeIcon('FileEarmarkBreakFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkCheck=/*#__PURE__*/makeIcon('FileEarmarkCheck','');// eslint-disable-next-line\nexport var BIconFileEarmarkCheckFill=/*#__PURE__*/makeIcon('FileEarmarkCheckFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkCode=/*#__PURE__*/makeIcon('FileEarmarkCode','');// eslint-disable-next-line\nexport var BIconFileEarmarkCodeFill=/*#__PURE__*/makeIcon('FileEarmarkCodeFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkDiff=/*#__PURE__*/makeIcon('FileEarmarkDiff','');// eslint-disable-next-line\nexport var BIconFileEarmarkDiffFill=/*#__PURE__*/makeIcon('FileEarmarkDiffFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkEasel=/*#__PURE__*/makeIcon('FileEarmarkEasel','');// eslint-disable-next-line\nexport var BIconFileEarmarkEaselFill=/*#__PURE__*/makeIcon('FileEarmarkEaselFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkExcel=/*#__PURE__*/makeIcon('FileEarmarkExcel','');// eslint-disable-next-line\nexport var BIconFileEarmarkExcelFill=/*#__PURE__*/makeIcon('FileEarmarkExcelFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkFill=/*#__PURE__*/makeIcon('FileEarmarkFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkFont=/*#__PURE__*/makeIcon('FileEarmarkFont','');// eslint-disable-next-line\nexport var BIconFileEarmarkFontFill=/*#__PURE__*/makeIcon('FileEarmarkFontFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkImage=/*#__PURE__*/makeIcon('FileEarmarkImage','');// eslint-disable-next-line\nexport var BIconFileEarmarkImageFill=/*#__PURE__*/makeIcon('FileEarmarkImageFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkLock=/*#__PURE__*/makeIcon('FileEarmarkLock','');// eslint-disable-next-line\nexport var BIconFileEarmarkLock2=/*#__PURE__*/makeIcon('FileEarmarkLock2','');// eslint-disable-next-line\nexport var BIconFileEarmarkLock2Fill=/*#__PURE__*/makeIcon('FileEarmarkLock2Fill','');// eslint-disable-next-line\nexport var BIconFileEarmarkLockFill=/*#__PURE__*/makeIcon('FileEarmarkLockFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkMedical=/*#__PURE__*/makeIcon('FileEarmarkMedical','');// eslint-disable-next-line\nexport var BIconFileEarmarkMedicalFill=/*#__PURE__*/makeIcon('FileEarmarkMedicalFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkMinus=/*#__PURE__*/makeIcon('FileEarmarkMinus','');// eslint-disable-next-line\nexport var BIconFileEarmarkMinusFill=/*#__PURE__*/makeIcon('FileEarmarkMinusFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkMusic=/*#__PURE__*/makeIcon('FileEarmarkMusic','');// eslint-disable-next-line\nexport var BIconFileEarmarkMusicFill=/*#__PURE__*/makeIcon('FileEarmarkMusicFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkPerson=/*#__PURE__*/makeIcon('FileEarmarkPerson','');// eslint-disable-next-line\nexport var BIconFileEarmarkPersonFill=/*#__PURE__*/makeIcon('FileEarmarkPersonFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkPlay=/*#__PURE__*/makeIcon('FileEarmarkPlay','');// eslint-disable-next-line\nexport var BIconFileEarmarkPlayFill=/*#__PURE__*/makeIcon('FileEarmarkPlayFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkPlus=/*#__PURE__*/makeIcon('FileEarmarkPlus','');// eslint-disable-next-line\nexport var BIconFileEarmarkPlusFill=/*#__PURE__*/makeIcon('FileEarmarkPlusFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkPost=/*#__PURE__*/makeIcon('FileEarmarkPost','');// eslint-disable-next-line\nexport var BIconFileEarmarkPostFill=/*#__PURE__*/makeIcon('FileEarmarkPostFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkPpt=/*#__PURE__*/makeIcon('FileEarmarkPpt','');// eslint-disable-next-line\nexport var BIconFileEarmarkPptFill=/*#__PURE__*/makeIcon('FileEarmarkPptFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkRichtext=/*#__PURE__*/makeIcon('FileEarmarkRichtext','');// eslint-disable-next-line\nexport var BIconFileEarmarkRichtextFill=/*#__PURE__*/makeIcon('FileEarmarkRichtextFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkRuled=/*#__PURE__*/makeIcon('FileEarmarkRuled','');// eslint-disable-next-line\nexport var BIconFileEarmarkRuledFill=/*#__PURE__*/makeIcon('FileEarmarkRuledFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkSlides=/*#__PURE__*/makeIcon('FileEarmarkSlides','');// eslint-disable-next-line\nexport var BIconFileEarmarkSlidesFill=/*#__PURE__*/makeIcon('FileEarmarkSlidesFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkSpreadsheet=/*#__PURE__*/makeIcon('FileEarmarkSpreadsheet','');// eslint-disable-next-line\nexport var BIconFileEarmarkSpreadsheetFill=/*#__PURE__*/makeIcon('FileEarmarkSpreadsheetFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkText=/*#__PURE__*/makeIcon('FileEarmarkText','');// eslint-disable-next-line\nexport var BIconFileEarmarkTextFill=/*#__PURE__*/makeIcon('FileEarmarkTextFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkWord=/*#__PURE__*/makeIcon('FileEarmarkWord','');// eslint-disable-next-line\nexport var BIconFileEarmarkWordFill=/*#__PURE__*/makeIcon('FileEarmarkWordFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkX=/*#__PURE__*/makeIcon('FileEarmarkX','');// eslint-disable-next-line\nexport var BIconFileEarmarkXFill=/*#__PURE__*/makeIcon('FileEarmarkXFill','');// eslint-disable-next-line\nexport var BIconFileEarmarkZip=/*#__PURE__*/makeIcon('FileEarmarkZip','');// eslint-disable-next-line\nexport var BIconFileEarmarkZipFill=/*#__PURE__*/makeIcon('FileEarmarkZipFill','');// eslint-disable-next-line\nexport var BIconFileEasel=/*#__PURE__*/makeIcon('FileEasel','');// eslint-disable-next-line\nexport var BIconFileEaselFill=/*#__PURE__*/makeIcon('FileEaselFill','');// eslint-disable-next-line\nexport var BIconFileExcel=/*#__PURE__*/makeIcon('FileExcel','');// eslint-disable-next-line\nexport var BIconFileExcelFill=/*#__PURE__*/makeIcon('FileExcelFill','');// eslint-disable-next-line\nexport var BIconFileFill=/*#__PURE__*/makeIcon('FileFill','');// eslint-disable-next-line\nexport var BIconFileFont=/*#__PURE__*/makeIcon('FileFont','');// eslint-disable-next-line\nexport var BIconFileFontFill=/*#__PURE__*/makeIcon('FileFontFill','');// eslint-disable-next-line\nexport var BIconFileImage=/*#__PURE__*/makeIcon('FileImage','');// eslint-disable-next-line\nexport var BIconFileImageFill=/*#__PURE__*/makeIcon('FileImageFill','');// eslint-disable-next-line\nexport var BIconFileLock=/*#__PURE__*/makeIcon('FileLock','');// eslint-disable-next-line\nexport var BIconFileLock2=/*#__PURE__*/makeIcon('FileLock2','');// eslint-disable-next-line\nexport var BIconFileLock2Fill=/*#__PURE__*/makeIcon('FileLock2Fill','');// eslint-disable-next-line\nexport var BIconFileLockFill=/*#__PURE__*/makeIcon('FileLockFill','');// eslint-disable-next-line\nexport var BIconFileMedical=/*#__PURE__*/makeIcon('FileMedical','');// eslint-disable-next-line\nexport var BIconFileMedicalFill=/*#__PURE__*/makeIcon('FileMedicalFill','');// eslint-disable-next-line\nexport var BIconFileMinus=/*#__PURE__*/makeIcon('FileMinus','');// eslint-disable-next-line\nexport var BIconFileMinusFill=/*#__PURE__*/makeIcon('FileMinusFill','');// eslint-disable-next-line\nexport var BIconFileMusic=/*#__PURE__*/makeIcon('FileMusic','');// eslint-disable-next-line\nexport var BIconFileMusicFill=/*#__PURE__*/makeIcon('FileMusicFill','');// eslint-disable-next-line\nexport var BIconFilePerson=/*#__PURE__*/makeIcon('FilePerson','');// eslint-disable-next-line\nexport var BIconFilePersonFill=/*#__PURE__*/makeIcon('FilePersonFill','');// eslint-disable-next-line\nexport var BIconFilePlay=/*#__PURE__*/makeIcon('FilePlay','');// eslint-disable-next-line\nexport var BIconFilePlayFill=/*#__PURE__*/makeIcon('FilePlayFill','');// eslint-disable-next-line\nexport var BIconFilePlus=/*#__PURE__*/makeIcon('FilePlus','');// eslint-disable-next-line\nexport var BIconFilePlusFill=/*#__PURE__*/makeIcon('FilePlusFill','');// eslint-disable-next-line\nexport var BIconFilePost=/*#__PURE__*/makeIcon('FilePost','');// eslint-disable-next-line\nexport var BIconFilePostFill=/*#__PURE__*/makeIcon('FilePostFill','');// eslint-disable-next-line\nexport var BIconFilePpt=/*#__PURE__*/makeIcon('FilePpt','');// eslint-disable-next-line\nexport var BIconFilePptFill=/*#__PURE__*/makeIcon('FilePptFill','');// eslint-disable-next-line\nexport var BIconFileRichtext=/*#__PURE__*/makeIcon('FileRichtext','');// eslint-disable-next-line\nexport var BIconFileRichtextFill=/*#__PURE__*/makeIcon('FileRichtextFill','');// eslint-disable-next-line\nexport var BIconFileRuled=/*#__PURE__*/makeIcon('FileRuled','');// eslint-disable-next-line\nexport var BIconFileRuledFill=/*#__PURE__*/makeIcon('FileRuledFill','');// eslint-disable-next-line\nexport var BIconFileSlides=/*#__PURE__*/makeIcon('FileSlides','');// eslint-disable-next-line\nexport var BIconFileSlidesFill=/*#__PURE__*/makeIcon('FileSlidesFill','');// eslint-disable-next-line\nexport var BIconFileSpreadsheet=/*#__PURE__*/makeIcon('FileSpreadsheet','');// eslint-disable-next-line\nexport var BIconFileSpreadsheetFill=/*#__PURE__*/makeIcon('FileSpreadsheetFill','');// eslint-disable-next-line\nexport var BIconFileText=/*#__PURE__*/makeIcon('FileText','');// eslint-disable-next-line\nexport var BIconFileTextFill=/*#__PURE__*/makeIcon('FileTextFill','');// eslint-disable-next-line\nexport var BIconFileWord=/*#__PURE__*/makeIcon('FileWord','');// eslint-disable-next-line\nexport var BIconFileWordFill=/*#__PURE__*/makeIcon('FileWordFill','');// eslint-disable-next-line\nexport var BIconFileX=/*#__PURE__*/makeIcon('FileX','');// eslint-disable-next-line\nexport var BIconFileXFill=/*#__PURE__*/makeIcon('FileXFill','');// eslint-disable-next-line\nexport var BIconFileZip=/*#__PURE__*/makeIcon('FileZip','');// eslint-disable-next-line\nexport var BIconFileZipFill=/*#__PURE__*/makeIcon('FileZipFill','');// eslint-disable-next-line\nexport var BIconFiles=/*#__PURE__*/makeIcon('Files','');// eslint-disable-next-line\nexport var BIconFilesAlt=/*#__PURE__*/makeIcon('FilesAlt','');// eslint-disable-next-line\nexport var BIconFilm=/*#__PURE__*/makeIcon('Film','');// eslint-disable-next-line\nexport var BIconFilter=/*#__PURE__*/makeIcon('Filter','');// eslint-disable-next-line\nexport var BIconFilterCircle=/*#__PURE__*/makeIcon('FilterCircle','');// eslint-disable-next-line\nexport var BIconFilterCircleFill=/*#__PURE__*/makeIcon('FilterCircleFill','');// eslint-disable-next-line\nexport var BIconFilterLeft=/*#__PURE__*/makeIcon('FilterLeft','');// eslint-disable-next-line\nexport var BIconFilterRight=/*#__PURE__*/makeIcon('FilterRight','');// eslint-disable-next-line\nexport var BIconFilterSquare=/*#__PURE__*/makeIcon('FilterSquare','');// eslint-disable-next-line\nexport var BIconFilterSquareFill=/*#__PURE__*/makeIcon('FilterSquareFill','');// eslint-disable-next-line\nexport var BIconFlag=/*#__PURE__*/makeIcon('Flag','');// eslint-disable-next-line\nexport var BIconFlagFill=/*#__PURE__*/makeIcon('FlagFill','');// eslint-disable-next-line\nexport var BIconFlower1=/*#__PURE__*/makeIcon('Flower1','');// eslint-disable-next-line\nexport var BIconFlower2=/*#__PURE__*/makeIcon('Flower2','');// eslint-disable-next-line\nexport var BIconFlower3=/*#__PURE__*/makeIcon('Flower3','');// eslint-disable-next-line\nexport var BIconFolder=/*#__PURE__*/makeIcon('Folder','');// eslint-disable-next-line\nexport var BIconFolder2=/*#__PURE__*/makeIcon('Folder2','');// eslint-disable-next-line\nexport var BIconFolder2Open=/*#__PURE__*/makeIcon('Folder2Open','');// eslint-disable-next-line\nexport var BIconFolderCheck=/*#__PURE__*/makeIcon('FolderCheck','');// eslint-disable-next-line\nexport var BIconFolderFill=/*#__PURE__*/makeIcon('FolderFill','');// eslint-disable-next-line\nexport var BIconFolderMinus=/*#__PURE__*/makeIcon('FolderMinus','');// eslint-disable-next-line\nexport var BIconFolderPlus=/*#__PURE__*/makeIcon('FolderPlus','');// eslint-disable-next-line\nexport var BIconFolderSymlink=/*#__PURE__*/makeIcon('FolderSymlink','');// eslint-disable-next-line\nexport var BIconFolderSymlinkFill=/*#__PURE__*/makeIcon('FolderSymlinkFill','');// eslint-disable-next-line\nexport var BIconFolderX=/*#__PURE__*/makeIcon('FolderX','');// eslint-disable-next-line\nexport var BIconFonts=/*#__PURE__*/makeIcon('Fonts','');// eslint-disable-next-line\nexport var BIconForward=/*#__PURE__*/makeIcon('Forward','');// eslint-disable-next-line\nexport var BIconForwardFill=/*#__PURE__*/makeIcon('ForwardFill','');// eslint-disable-next-line\nexport var BIconFront=/*#__PURE__*/makeIcon('Front','');// eslint-disable-next-line\nexport var BIconFullscreen=/*#__PURE__*/makeIcon('Fullscreen','');// eslint-disable-next-line\nexport var BIconFullscreenExit=/*#__PURE__*/makeIcon('FullscreenExit','');// eslint-disable-next-line\nexport var BIconFunnel=/*#__PURE__*/makeIcon('Funnel','');// eslint-disable-next-line\nexport var BIconFunnelFill=/*#__PURE__*/makeIcon('FunnelFill','');// eslint-disable-next-line\nexport var BIconGear=/*#__PURE__*/makeIcon('Gear','');// eslint-disable-next-line\nexport var BIconGearFill=/*#__PURE__*/makeIcon('GearFill','');// eslint-disable-next-line\nexport var BIconGearWide=/*#__PURE__*/makeIcon('GearWide','');// eslint-disable-next-line\nexport var BIconGearWideConnected=/*#__PURE__*/makeIcon('GearWideConnected','');// eslint-disable-next-line\nexport var BIconGem=/*#__PURE__*/makeIcon('Gem','');// eslint-disable-next-line\nexport var BIconGeo=/*#__PURE__*/makeIcon('Geo','');// eslint-disable-next-line\nexport var BIconGeoAlt=/*#__PURE__*/makeIcon('GeoAlt','');// eslint-disable-next-line\nexport var BIconGeoAltFill=/*#__PURE__*/makeIcon('GeoAltFill','');// eslint-disable-next-line\nexport var BIconGeoFill=/*#__PURE__*/makeIcon('GeoFill','');// eslint-disable-next-line\nexport var BIconGift=/*#__PURE__*/makeIcon('Gift','');// eslint-disable-next-line\nexport var BIconGiftFill=/*#__PURE__*/makeIcon('GiftFill','');// eslint-disable-next-line\nexport var BIconGithub=/*#__PURE__*/makeIcon('Github','');// eslint-disable-next-line\nexport var BIconGlobe=/*#__PURE__*/makeIcon('Globe','');// eslint-disable-next-line\nexport var BIconGlobe2=/*#__PURE__*/makeIcon('Globe2','');// eslint-disable-next-line\nexport var BIconGoogle=/*#__PURE__*/makeIcon('Google','');// eslint-disable-next-line\nexport var BIconGraphDown=/*#__PURE__*/makeIcon('GraphDown','');// eslint-disable-next-line\nexport var BIconGraphUp=/*#__PURE__*/makeIcon('GraphUp','');// eslint-disable-next-line\nexport var BIconGrid=/*#__PURE__*/makeIcon('Grid','');// eslint-disable-next-line\nexport var BIconGrid1x2=/*#__PURE__*/makeIcon('Grid1x2','');// eslint-disable-next-line\nexport var BIconGrid1x2Fill=/*#__PURE__*/makeIcon('Grid1x2Fill','');// eslint-disable-next-line\nexport var BIconGrid3x2=/*#__PURE__*/makeIcon('Grid3x2','');// eslint-disable-next-line\nexport var BIconGrid3x2Gap=/*#__PURE__*/makeIcon('Grid3x2Gap','');// eslint-disable-next-line\nexport var BIconGrid3x2GapFill=/*#__PURE__*/makeIcon('Grid3x2GapFill','');// eslint-disable-next-line\nexport var BIconGrid3x3=/*#__PURE__*/makeIcon('Grid3x3','');// eslint-disable-next-line\nexport var BIconGrid3x3Gap=/*#__PURE__*/makeIcon('Grid3x3Gap','');// eslint-disable-next-line\nexport var BIconGrid3x3GapFill=/*#__PURE__*/makeIcon('Grid3x3GapFill','');// eslint-disable-next-line\nexport var BIconGridFill=/*#__PURE__*/makeIcon('GridFill','');// eslint-disable-next-line\nexport var BIconGripHorizontal=/*#__PURE__*/makeIcon('GripHorizontal','');// eslint-disable-next-line\nexport var BIconGripVertical=/*#__PURE__*/makeIcon('GripVertical','');// eslint-disable-next-line\nexport var BIconHammer=/*#__PURE__*/makeIcon('Hammer','');// eslint-disable-next-line\nexport var BIconHandIndex=/*#__PURE__*/makeIcon('HandIndex','');// eslint-disable-next-line\nexport var BIconHandIndexThumb=/*#__PURE__*/makeIcon('HandIndexThumb','');// eslint-disable-next-line\nexport var BIconHandThumbsDown=/*#__PURE__*/makeIcon('HandThumbsDown','');// eslint-disable-next-line\nexport var BIconHandThumbsUp=/*#__PURE__*/makeIcon('HandThumbsUp','');// eslint-disable-next-line\nexport var BIconHandbag=/*#__PURE__*/makeIcon('Handbag','');// eslint-disable-next-line\nexport var BIconHandbagFill=/*#__PURE__*/makeIcon('HandbagFill','');// eslint-disable-next-line\nexport var BIconHash=/*#__PURE__*/makeIcon('Hash','');// eslint-disable-next-line\nexport var BIconHdd=/*#__PURE__*/makeIcon('Hdd','');// eslint-disable-next-line\nexport var BIconHddFill=/*#__PURE__*/makeIcon('HddFill','');// eslint-disable-next-line\nexport var BIconHddNetwork=/*#__PURE__*/makeIcon('HddNetwork','');// eslint-disable-next-line\nexport var BIconHddNetworkFill=/*#__PURE__*/makeIcon('HddNetworkFill','');// eslint-disable-next-line\nexport var BIconHddRack=/*#__PURE__*/makeIcon('HddRack','');// eslint-disable-next-line\nexport var BIconHddRackFill=/*#__PURE__*/makeIcon('HddRackFill','');// eslint-disable-next-line\nexport var BIconHddStack=/*#__PURE__*/makeIcon('HddStack','');// eslint-disable-next-line\nexport var BIconHddStackFill=/*#__PURE__*/makeIcon('HddStackFill','');// eslint-disable-next-line\nexport var BIconHeadphones=/*#__PURE__*/makeIcon('Headphones','');// eslint-disable-next-line\nexport var BIconHeadset=/*#__PURE__*/makeIcon('Headset','');// eslint-disable-next-line\nexport var BIconHeart=/*#__PURE__*/makeIcon('Heart','');// eslint-disable-next-line\nexport var BIconHeartFill=/*#__PURE__*/makeIcon('HeartFill','');// eslint-disable-next-line\nexport var BIconHeartHalf=/*#__PURE__*/makeIcon('HeartHalf','');// eslint-disable-next-line\nexport var BIconHeptagon=/*#__PURE__*/makeIcon('Heptagon','');// eslint-disable-next-line\nexport var BIconHeptagonFill=/*#__PURE__*/makeIcon('HeptagonFill','');// eslint-disable-next-line\nexport var BIconHeptagonHalf=/*#__PURE__*/makeIcon('HeptagonHalf','');// eslint-disable-next-line\nexport var BIconHexagon=/*#__PURE__*/makeIcon('Hexagon','');// eslint-disable-next-line\nexport var BIconHexagonFill=/*#__PURE__*/makeIcon('HexagonFill','');// eslint-disable-next-line\nexport var BIconHexagonHalf=/*#__PURE__*/makeIcon('HexagonHalf','');// eslint-disable-next-line\nexport var BIconHourglass=/*#__PURE__*/makeIcon('Hourglass','');// eslint-disable-next-line\nexport var BIconHourglassBottom=/*#__PURE__*/makeIcon('HourglassBottom','');// eslint-disable-next-line\nexport var BIconHourglassSplit=/*#__PURE__*/makeIcon('HourglassSplit','');// eslint-disable-next-line\nexport var BIconHourglassTop=/*#__PURE__*/makeIcon('HourglassTop','');// eslint-disable-next-line\nexport var BIconHouse=/*#__PURE__*/makeIcon('House','');// eslint-disable-next-line\nexport var BIconHouseDoor=/*#__PURE__*/makeIcon('HouseDoor','');// eslint-disable-next-line\nexport var BIconHouseDoorFill=/*#__PURE__*/makeIcon('HouseDoorFill','');// eslint-disable-next-line\nexport var BIconHouseFill=/*#__PURE__*/makeIcon('HouseFill','');// eslint-disable-next-line\nexport var BIconHr=/*#__PURE__*/makeIcon('Hr','');// eslint-disable-next-line\nexport var BIconImage=/*#__PURE__*/makeIcon('Image','');// eslint-disable-next-line\nexport var BIconImageAlt=/*#__PURE__*/makeIcon('ImageAlt','');// eslint-disable-next-line\nexport var BIconImageFill=/*#__PURE__*/makeIcon('ImageFill','');// eslint-disable-next-line\nexport var BIconImages=/*#__PURE__*/makeIcon('Images','');// eslint-disable-next-line\nexport var BIconInbox=/*#__PURE__*/makeIcon('Inbox','');// eslint-disable-next-line\nexport var BIconInboxFill=/*#__PURE__*/makeIcon('InboxFill','');// eslint-disable-next-line\nexport var BIconInboxes=/*#__PURE__*/makeIcon('Inboxes','');// eslint-disable-next-line\nexport var BIconInboxesFill=/*#__PURE__*/makeIcon('InboxesFill','');// eslint-disable-next-line\nexport var BIconInfo=/*#__PURE__*/makeIcon('Info','');// eslint-disable-next-line\nexport var BIconInfoCircle=/*#__PURE__*/makeIcon('InfoCircle','');// eslint-disable-next-line\nexport var BIconInfoCircleFill=/*#__PURE__*/makeIcon('InfoCircleFill','');// eslint-disable-next-line\nexport var BIconInfoSquare=/*#__PURE__*/makeIcon('InfoSquare','');// eslint-disable-next-line\nexport var BIconInfoSquareFill=/*#__PURE__*/makeIcon('InfoSquareFill','');// eslint-disable-next-line\nexport var BIconInputCursor=/*#__PURE__*/makeIcon('InputCursor','');// eslint-disable-next-line\nexport var BIconInputCursorText=/*#__PURE__*/makeIcon('InputCursorText','');// eslint-disable-next-line\nexport var BIconInstagram=/*#__PURE__*/makeIcon('Instagram','');// eslint-disable-next-line\nexport var BIconIntersect=/*#__PURE__*/makeIcon('Intersect','');// eslint-disable-next-line\nexport var BIconJournal=/*#__PURE__*/makeIcon('Journal','');// eslint-disable-next-line\nexport var BIconJournalAlbum=/*#__PURE__*/makeIcon('JournalAlbum','');// eslint-disable-next-line\nexport var BIconJournalArrowDown=/*#__PURE__*/makeIcon('JournalArrowDown','');// eslint-disable-next-line\nexport var BIconJournalArrowUp=/*#__PURE__*/makeIcon('JournalArrowUp','');// eslint-disable-next-line\nexport var BIconJournalBookmark=/*#__PURE__*/makeIcon('JournalBookmark','');// eslint-disable-next-line\nexport var BIconJournalBookmarkFill=/*#__PURE__*/makeIcon('JournalBookmarkFill','');// eslint-disable-next-line\nexport var BIconJournalCheck=/*#__PURE__*/makeIcon('JournalCheck','');// eslint-disable-next-line\nexport var BIconJournalCode=/*#__PURE__*/makeIcon('JournalCode','');// eslint-disable-next-line\nexport var BIconJournalMedical=/*#__PURE__*/makeIcon('JournalMedical','');// eslint-disable-next-line\nexport var BIconJournalMinus=/*#__PURE__*/makeIcon('JournalMinus','');// eslint-disable-next-line\nexport var BIconJournalPlus=/*#__PURE__*/makeIcon('JournalPlus','');// eslint-disable-next-line\nexport var BIconJournalRichtext=/*#__PURE__*/makeIcon('JournalRichtext','');// eslint-disable-next-line\nexport var BIconJournalText=/*#__PURE__*/makeIcon('JournalText','');// eslint-disable-next-line\nexport var BIconJournalX=/*#__PURE__*/makeIcon('JournalX','');// eslint-disable-next-line\nexport var BIconJournals=/*#__PURE__*/makeIcon('Journals','');// eslint-disable-next-line\nexport var BIconJoystick=/*#__PURE__*/makeIcon('Joystick','');// eslint-disable-next-line\nexport var BIconJustify=/*#__PURE__*/makeIcon('Justify','');// eslint-disable-next-line\nexport var BIconJustifyLeft=/*#__PURE__*/makeIcon('JustifyLeft','');// eslint-disable-next-line\nexport var BIconJustifyRight=/*#__PURE__*/makeIcon('JustifyRight','');// eslint-disable-next-line\nexport var BIconKanban=/*#__PURE__*/makeIcon('Kanban','');// eslint-disable-next-line\nexport var BIconKanbanFill=/*#__PURE__*/makeIcon('KanbanFill','');// eslint-disable-next-line\nexport var BIconKey=/*#__PURE__*/makeIcon('Key','');// eslint-disable-next-line\nexport var BIconKeyFill=/*#__PURE__*/makeIcon('KeyFill','');// eslint-disable-next-line\nexport var BIconKeyboard=/*#__PURE__*/makeIcon('Keyboard','');// eslint-disable-next-line\nexport var BIconKeyboardFill=/*#__PURE__*/makeIcon('KeyboardFill','');// eslint-disable-next-line\nexport var BIconLadder=/*#__PURE__*/makeIcon('Ladder','');// eslint-disable-next-line\nexport var BIconLamp=/*#__PURE__*/makeIcon('Lamp','');// eslint-disable-next-line\nexport var BIconLampFill=/*#__PURE__*/makeIcon('LampFill','');// eslint-disable-next-line\nexport var BIconLaptop=/*#__PURE__*/makeIcon('Laptop','');// eslint-disable-next-line\nexport var BIconLaptopFill=/*#__PURE__*/makeIcon('LaptopFill','');// eslint-disable-next-line\nexport var BIconLayers=/*#__PURE__*/makeIcon('Layers','');// eslint-disable-next-line\nexport var BIconLayersFill=/*#__PURE__*/makeIcon('LayersFill','');// eslint-disable-next-line\nexport var BIconLayersHalf=/*#__PURE__*/makeIcon('LayersHalf','');// eslint-disable-next-line\nexport var BIconLayoutSidebar=/*#__PURE__*/makeIcon('LayoutSidebar','');// eslint-disable-next-line\nexport var BIconLayoutSidebarInset=/*#__PURE__*/makeIcon('LayoutSidebarInset','');// eslint-disable-next-line\nexport var BIconLayoutSidebarInsetReverse=/*#__PURE__*/makeIcon('LayoutSidebarInsetReverse','');// eslint-disable-next-line\nexport var BIconLayoutSidebarReverse=/*#__PURE__*/makeIcon('LayoutSidebarReverse','');// eslint-disable-next-line\nexport var BIconLayoutSplit=/*#__PURE__*/makeIcon('LayoutSplit','');// eslint-disable-next-line\nexport var BIconLayoutTextSidebar=/*#__PURE__*/makeIcon('LayoutTextSidebar','');// eslint-disable-next-line\nexport var BIconLayoutTextSidebarReverse=/*#__PURE__*/makeIcon('LayoutTextSidebarReverse','');// eslint-disable-next-line\nexport var BIconLayoutTextWindow=/*#__PURE__*/makeIcon('LayoutTextWindow','');// eslint-disable-next-line\nexport var BIconLayoutTextWindowReverse=/*#__PURE__*/makeIcon('LayoutTextWindowReverse','');// eslint-disable-next-line\nexport var BIconLayoutThreeColumns=/*#__PURE__*/makeIcon('LayoutThreeColumns','');// eslint-disable-next-line\nexport var BIconLayoutWtf=/*#__PURE__*/makeIcon('LayoutWtf','');// eslint-disable-next-line\nexport var BIconLifePreserver=/*#__PURE__*/makeIcon('LifePreserver','');// eslint-disable-next-line\nexport var BIconLightning=/*#__PURE__*/makeIcon('Lightning','');// eslint-disable-next-line\nexport var BIconLightningFill=/*#__PURE__*/makeIcon('LightningFill','');// eslint-disable-next-line\nexport var BIconLink=/*#__PURE__*/makeIcon('Link','');// eslint-disable-next-line\nexport var BIconLink45deg=/*#__PURE__*/makeIcon('Link45deg','');// eslint-disable-next-line\nexport var BIconLinkedin=/*#__PURE__*/makeIcon('Linkedin','');// eslint-disable-next-line\nexport var BIconList=/*#__PURE__*/makeIcon('List','');// eslint-disable-next-line\nexport var BIconListCheck=/*#__PURE__*/makeIcon('ListCheck','');// eslint-disable-next-line\nexport var BIconListNested=/*#__PURE__*/makeIcon('ListNested','');// eslint-disable-next-line\nexport var BIconListOl=/*#__PURE__*/makeIcon('ListOl','');// eslint-disable-next-line\nexport var BIconListStars=/*#__PURE__*/makeIcon('ListStars','');// eslint-disable-next-line\nexport var BIconListTask=/*#__PURE__*/makeIcon('ListTask','');// eslint-disable-next-line\nexport var BIconListUl=/*#__PURE__*/makeIcon('ListUl','');// eslint-disable-next-line\nexport var BIconLock=/*#__PURE__*/makeIcon('Lock','');// eslint-disable-next-line\nexport var BIconLockFill=/*#__PURE__*/makeIcon('LockFill','');// eslint-disable-next-line\nexport var BIconMailbox=/*#__PURE__*/makeIcon('Mailbox','');// eslint-disable-next-line\nexport var BIconMailbox2=/*#__PURE__*/makeIcon('Mailbox2','');// eslint-disable-next-line\nexport var BIconMap=/*#__PURE__*/makeIcon('Map','');// eslint-disable-next-line\nexport var BIconMapFill=/*#__PURE__*/makeIcon('MapFill','');// eslint-disable-next-line\nexport var BIconMarkdown=/*#__PURE__*/makeIcon('Markdown','');// eslint-disable-next-line\nexport var BIconMarkdownFill=/*#__PURE__*/makeIcon('MarkdownFill','');// eslint-disable-next-line\nexport var BIconMenuApp=/*#__PURE__*/makeIcon('MenuApp','');// eslint-disable-next-line\nexport var BIconMenuAppFill=/*#__PURE__*/makeIcon('MenuAppFill','');// eslint-disable-next-line\nexport var BIconMenuButton=/*#__PURE__*/makeIcon('MenuButton','');// eslint-disable-next-line\nexport var BIconMenuButtonFill=/*#__PURE__*/makeIcon('MenuButtonFill','');// eslint-disable-next-line\nexport var BIconMenuButtonWide=/*#__PURE__*/makeIcon('MenuButtonWide','');// eslint-disable-next-line\nexport var BIconMenuButtonWideFill=/*#__PURE__*/makeIcon('MenuButtonWideFill','');// eslint-disable-next-line\nexport var BIconMenuDown=/*#__PURE__*/makeIcon('MenuDown','');// eslint-disable-next-line\nexport var BIconMenuUp=/*#__PURE__*/makeIcon('MenuUp','');// eslint-disable-next-line\nexport var BIconMic=/*#__PURE__*/makeIcon('Mic','');// eslint-disable-next-line\nexport var BIconMicFill=/*#__PURE__*/makeIcon('MicFill','');// eslint-disable-next-line\nexport var BIconMicMute=/*#__PURE__*/makeIcon('MicMute','');// eslint-disable-next-line\nexport var BIconMicMuteFill=/*#__PURE__*/makeIcon('MicMuteFill','');// eslint-disable-next-line\nexport var BIconMinecart=/*#__PURE__*/makeIcon('Minecart','');// eslint-disable-next-line\nexport var BIconMinecartLoaded=/*#__PURE__*/makeIcon('MinecartLoaded','');// eslint-disable-next-line\nexport var BIconMoon=/*#__PURE__*/makeIcon('Moon','');// eslint-disable-next-line\nexport var BIconMouse=/*#__PURE__*/makeIcon('Mouse','');// eslint-disable-next-line\nexport var BIconMouse2=/*#__PURE__*/makeIcon('Mouse2','');// eslint-disable-next-line\nexport var BIconMouse3=/*#__PURE__*/makeIcon('Mouse3','');// eslint-disable-next-line\nexport var BIconMusicNote=/*#__PURE__*/makeIcon('MusicNote','');// eslint-disable-next-line\nexport var BIconMusicNoteBeamed=/*#__PURE__*/makeIcon('MusicNoteBeamed','');// eslint-disable-next-line\nexport var BIconMusicNoteList=/*#__PURE__*/makeIcon('MusicNoteList','');// eslint-disable-next-line\nexport var BIconMusicPlayer=/*#__PURE__*/makeIcon('MusicPlayer','');// eslint-disable-next-line\nexport var BIconMusicPlayerFill=/*#__PURE__*/makeIcon('MusicPlayerFill','');// eslint-disable-next-line\nexport var BIconNewspaper=/*#__PURE__*/makeIcon('Newspaper','');// eslint-disable-next-line\nexport var BIconNodeMinus=/*#__PURE__*/makeIcon('NodeMinus','');// eslint-disable-next-line\nexport var BIconNodeMinusFill=/*#__PURE__*/makeIcon('NodeMinusFill','');// eslint-disable-next-line\nexport var BIconNodePlus=/*#__PURE__*/makeIcon('NodePlus','');// eslint-disable-next-line\nexport var BIconNodePlusFill=/*#__PURE__*/makeIcon('NodePlusFill','');// eslint-disable-next-line\nexport var BIconNut=/*#__PURE__*/makeIcon('Nut','');// eslint-disable-next-line\nexport var BIconNutFill=/*#__PURE__*/makeIcon('NutFill','');// eslint-disable-next-line\nexport var BIconOctagon=/*#__PURE__*/makeIcon('Octagon','');// eslint-disable-next-line\nexport var BIconOctagonFill=/*#__PURE__*/makeIcon('OctagonFill','');// eslint-disable-next-line\nexport var BIconOctagonHalf=/*#__PURE__*/makeIcon('OctagonHalf','');// eslint-disable-next-line\nexport var BIconOption=/*#__PURE__*/makeIcon('Option','');// eslint-disable-next-line\nexport var BIconOutlet=/*#__PURE__*/makeIcon('Outlet','');// eslint-disable-next-line\nexport var BIconPaperclip=/*#__PURE__*/makeIcon('Paperclip','');// eslint-disable-next-line\nexport var BIconParagraph=/*#__PURE__*/makeIcon('Paragraph','');// eslint-disable-next-line\nexport var BIconPatchCheck=/*#__PURE__*/makeIcon('PatchCheck','');// eslint-disable-next-line\nexport var BIconPatchCheckFill=/*#__PURE__*/makeIcon('PatchCheckFill','');// eslint-disable-next-line\nexport var BIconPatchExclamation=/*#__PURE__*/makeIcon('PatchExclamation','');// eslint-disable-next-line\nexport var BIconPatchExclamationFill=/*#__PURE__*/makeIcon('PatchExclamationFill','');// eslint-disable-next-line\nexport var BIconPatchMinus=/*#__PURE__*/makeIcon('PatchMinus','');// eslint-disable-next-line\nexport var BIconPatchMinusFill=/*#__PURE__*/makeIcon('PatchMinusFill','');// eslint-disable-next-line\nexport var BIconPatchPlus=/*#__PURE__*/makeIcon('PatchPlus','');// eslint-disable-next-line\nexport var BIconPatchPlusFill=/*#__PURE__*/makeIcon('PatchPlusFill','');// eslint-disable-next-line\nexport var BIconPatchQuestion=/*#__PURE__*/makeIcon('PatchQuestion','');// eslint-disable-next-line\nexport var BIconPatchQuestionFill=/*#__PURE__*/makeIcon('PatchQuestionFill','');// eslint-disable-next-line\nexport var BIconPause=/*#__PURE__*/makeIcon('Pause','');// eslint-disable-next-line\nexport var BIconPauseBtn=/*#__PURE__*/makeIcon('PauseBtn','');// eslint-disable-next-line\nexport var BIconPauseBtnFill=/*#__PURE__*/makeIcon('PauseBtnFill','');// eslint-disable-next-line\nexport var BIconPauseCircle=/*#__PURE__*/makeIcon('PauseCircle','');// eslint-disable-next-line\nexport var BIconPauseCircleFill=/*#__PURE__*/makeIcon('PauseCircleFill','');// eslint-disable-next-line\nexport var BIconPauseFill=/*#__PURE__*/makeIcon('PauseFill','');// eslint-disable-next-line\nexport var BIconPeace=/*#__PURE__*/makeIcon('Peace','');// eslint-disable-next-line\nexport var BIconPeaceFill=/*#__PURE__*/makeIcon('PeaceFill','');// eslint-disable-next-line\nexport var BIconPen=/*#__PURE__*/makeIcon('Pen','');// eslint-disable-next-line\nexport var BIconPenFill=/*#__PURE__*/makeIcon('PenFill','');// eslint-disable-next-line\nexport var BIconPencil=/*#__PURE__*/makeIcon('Pencil','');// eslint-disable-next-line\nexport var BIconPencilFill=/*#__PURE__*/makeIcon('PencilFill','');// eslint-disable-next-line\nexport var BIconPencilSquare=/*#__PURE__*/makeIcon('PencilSquare','');// eslint-disable-next-line\nexport var BIconPentagon=/*#__PURE__*/makeIcon('Pentagon','');// eslint-disable-next-line\nexport var BIconPentagonFill=/*#__PURE__*/makeIcon('PentagonFill','');// eslint-disable-next-line\nexport var BIconPentagonHalf=/*#__PURE__*/makeIcon('PentagonHalf','');// eslint-disable-next-line\nexport var BIconPeople=/*#__PURE__*/makeIcon('People','');// eslint-disable-next-line\nexport var BIconPeopleFill=/*#__PURE__*/makeIcon('PeopleFill','');// eslint-disable-next-line\nexport var BIconPercent=/*#__PURE__*/makeIcon('Percent','');// eslint-disable-next-line\nexport var BIconPerson=/*#__PURE__*/makeIcon('Person','');// eslint-disable-next-line\nexport var BIconPersonBadge=/*#__PURE__*/makeIcon('PersonBadge','');// eslint-disable-next-line\nexport var BIconPersonBadgeFill=/*#__PURE__*/makeIcon('PersonBadgeFill','');// eslint-disable-next-line\nexport var BIconPersonBoundingBox=/*#__PURE__*/makeIcon('PersonBoundingBox','');// eslint-disable-next-line\nexport var BIconPersonCheck=/*#__PURE__*/makeIcon('PersonCheck','');// eslint-disable-next-line\nexport var BIconPersonCheckFill=/*#__PURE__*/makeIcon('PersonCheckFill','');// eslint-disable-next-line\nexport var BIconPersonCircle=/*#__PURE__*/makeIcon('PersonCircle','');// eslint-disable-next-line\nexport var BIconPersonDash=/*#__PURE__*/makeIcon('PersonDash','');// eslint-disable-next-line\nexport var BIconPersonDashFill=/*#__PURE__*/makeIcon('PersonDashFill','');// eslint-disable-next-line\nexport var BIconPersonFill=/*#__PURE__*/makeIcon('PersonFill','');// eslint-disable-next-line\nexport var BIconPersonLinesFill=/*#__PURE__*/makeIcon('PersonLinesFill','');// eslint-disable-next-line\nexport var BIconPersonPlus=/*#__PURE__*/makeIcon('PersonPlus','');// eslint-disable-next-line\nexport var BIconPersonPlusFill=/*#__PURE__*/makeIcon('PersonPlusFill','');// eslint-disable-next-line\nexport var BIconPersonSquare=/*#__PURE__*/makeIcon('PersonSquare','');// eslint-disable-next-line\nexport var BIconPersonX=/*#__PURE__*/makeIcon('PersonX','');// eslint-disable-next-line\nexport var BIconPersonXFill=/*#__PURE__*/makeIcon('PersonXFill','');// eslint-disable-next-line\nexport var BIconPhone=/*#__PURE__*/makeIcon('Phone','');// eslint-disable-next-line\nexport var BIconPhoneFill=/*#__PURE__*/makeIcon('PhoneFill','');// eslint-disable-next-line\nexport var BIconPhoneLandscape=/*#__PURE__*/makeIcon('PhoneLandscape','');// eslint-disable-next-line\nexport var BIconPhoneLandscapeFill=/*#__PURE__*/makeIcon('PhoneLandscapeFill','');// eslint-disable-next-line\nexport var BIconPhoneVibrate=/*#__PURE__*/makeIcon('PhoneVibrate','');// eslint-disable-next-line\nexport var BIconPieChart=/*#__PURE__*/makeIcon('PieChart','');// eslint-disable-next-line\nexport var BIconPieChartFill=/*#__PURE__*/makeIcon('PieChartFill','');// eslint-disable-next-line\nexport var BIconPip=/*#__PURE__*/makeIcon('Pip','');// eslint-disable-next-line\nexport var BIconPipFill=/*#__PURE__*/makeIcon('PipFill','');// eslint-disable-next-line\nexport var BIconPlay=/*#__PURE__*/makeIcon('Play','');// eslint-disable-next-line\nexport var BIconPlayBtn=/*#__PURE__*/makeIcon('PlayBtn','');// eslint-disable-next-line\nexport var BIconPlayBtnFill=/*#__PURE__*/makeIcon('PlayBtnFill','');// eslint-disable-next-line\nexport var BIconPlayCircle=/*#__PURE__*/makeIcon('PlayCircle','');// eslint-disable-next-line\nexport var BIconPlayCircleFill=/*#__PURE__*/makeIcon('PlayCircleFill','');// eslint-disable-next-line\nexport var BIconPlayFill=/*#__PURE__*/makeIcon('PlayFill','');// eslint-disable-next-line\nexport var BIconPlug=/*#__PURE__*/makeIcon('Plug','');// eslint-disable-next-line\nexport var BIconPlugFill=/*#__PURE__*/makeIcon('PlugFill','');// eslint-disable-next-line\nexport var BIconPlus=/*#__PURE__*/makeIcon('Plus','');// eslint-disable-next-line\nexport var BIconPlusCircle=/*#__PURE__*/makeIcon('PlusCircle','');// eslint-disable-next-line\nexport var BIconPlusCircleFill=/*#__PURE__*/makeIcon('PlusCircleFill','');// eslint-disable-next-line\nexport var BIconPlusSquare=/*#__PURE__*/makeIcon('PlusSquare','');// eslint-disable-next-line\nexport var BIconPlusSquareFill=/*#__PURE__*/makeIcon('PlusSquareFill','');// eslint-disable-next-line\nexport var BIconPower=/*#__PURE__*/makeIcon('Power','');// eslint-disable-next-line\nexport var BIconPrinter=/*#__PURE__*/makeIcon('Printer','');// eslint-disable-next-line\nexport var BIconPrinterFill=/*#__PURE__*/makeIcon('PrinterFill','');// eslint-disable-next-line\nexport var BIconPuzzle=/*#__PURE__*/makeIcon('Puzzle','');// eslint-disable-next-line\nexport var BIconPuzzleFill=/*#__PURE__*/makeIcon('PuzzleFill','');// eslint-disable-next-line\nexport var BIconQuestion=/*#__PURE__*/makeIcon('Question','');// eslint-disable-next-line\nexport var BIconQuestionCircle=/*#__PURE__*/makeIcon('QuestionCircle','');// eslint-disable-next-line\nexport var BIconQuestionCircleFill=/*#__PURE__*/makeIcon('QuestionCircleFill','');// eslint-disable-next-line\nexport var BIconQuestionDiamond=/*#__PURE__*/makeIcon('QuestionDiamond','');// eslint-disable-next-line\nexport var BIconQuestionDiamondFill=/*#__PURE__*/makeIcon('QuestionDiamondFill','');// eslint-disable-next-line\nexport var BIconQuestionOctagon=/*#__PURE__*/makeIcon('QuestionOctagon','');// eslint-disable-next-line\nexport var BIconQuestionOctagonFill=/*#__PURE__*/makeIcon('QuestionOctagonFill','');// eslint-disable-next-line\nexport var BIconQuestionSquare=/*#__PURE__*/makeIcon('QuestionSquare','');// eslint-disable-next-line\nexport var BIconQuestionSquareFill=/*#__PURE__*/makeIcon('QuestionSquareFill','');// eslint-disable-next-line\nexport var BIconReceipt=/*#__PURE__*/makeIcon('Receipt','');// eslint-disable-next-line\nexport var BIconReceiptCutoff=/*#__PURE__*/makeIcon('ReceiptCutoff','');// eslint-disable-next-line\nexport var BIconReception0=/*#__PURE__*/makeIcon('Reception0','');// eslint-disable-next-line\nexport var BIconReception1=/*#__PURE__*/makeIcon('Reception1','');// eslint-disable-next-line\nexport var BIconReception2=/*#__PURE__*/makeIcon('Reception2','');// eslint-disable-next-line\nexport var BIconReception3=/*#__PURE__*/makeIcon('Reception3','');// eslint-disable-next-line\nexport var BIconReception4=/*#__PURE__*/makeIcon('Reception4','');// eslint-disable-next-line\nexport var BIconRecord=/*#__PURE__*/makeIcon('Record','');// eslint-disable-next-line\nexport var BIconRecord2=/*#__PURE__*/makeIcon('Record2','');// eslint-disable-next-line\nexport var BIconRecord2Fill=/*#__PURE__*/makeIcon('Record2Fill','');// eslint-disable-next-line\nexport var BIconRecordBtn=/*#__PURE__*/makeIcon('RecordBtn','');// eslint-disable-next-line\nexport var BIconRecordBtnFill=/*#__PURE__*/makeIcon('RecordBtnFill','');// eslint-disable-next-line\nexport var BIconRecordCircle=/*#__PURE__*/makeIcon('RecordCircle','');// eslint-disable-next-line\nexport var BIconRecordCircleFill=/*#__PURE__*/makeIcon('RecordCircleFill','');// eslint-disable-next-line\nexport var BIconRecordFill=/*#__PURE__*/makeIcon('RecordFill','');// eslint-disable-next-line\nexport var BIconReply=/*#__PURE__*/makeIcon('Reply','');// eslint-disable-next-line\nexport var BIconReplyAll=/*#__PURE__*/makeIcon('ReplyAll','');// eslint-disable-next-line\nexport var BIconReplyAllFill=/*#__PURE__*/makeIcon('ReplyAllFill','');// eslint-disable-next-line\nexport var BIconReplyFill=/*#__PURE__*/makeIcon('ReplyFill','');// eslint-disable-next-line\nexport var BIconRss=/*#__PURE__*/makeIcon('Rss','');// eslint-disable-next-line\nexport var BIconRssFill=/*#__PURE__*/makeIcon('RssFill','');// eslint-disable-next-line\nexport var BIconScissors=/*#__PURE__*/makeIcon('Scissors','');// eslint-disable-next-line\nexport var BIconScrewdriver=/*#__PURE__*/makeIcon('Screwdriver','');// eslint-disable-next-line\nexport var BIconSearch=/*#__PURE__*/makeIcon('Search','');// eslint-disable-next-line\nexport var BIconSegmentedNav=/*#__PURE__*/makeIcon('SegmentedNav','');// eslint-disable-next-line\nexport var BIconServer=/*#__PURE__*/makeIcon('Server','');// eslint-disable-next-line\nexport var BIconShare=/*#__PURE__*/makeIcon('Share','');// eslint-disable-next-line\nexport var BIconShareFill=/*#__PURE__*/makeIcon('ShareFill','');// eslint-disable-next-line\nexport var BIconShield=/*#__PURE__*/makeIcon('Shield','');// eslint-disable-next-line\nexport var BIconShieldCheck=/*#__PURE__*/makeIcon('ShieldCheck','');// eslint-disable-next-line\nexport var BIconShieldExclamation=/*#__PURE__*/makeIcon('ShieldExclamation','');// eslint-disable-next-line\nexport var BIconShieldFill=/*#__PURE__*/makeIcon('ShieldFill','');// eslint-disable-next-line\nexport var BIconShieldFillCheck=/*#__PURE__*/makeIcon('ShieldFillCheck','');// eslint-disable-next-line\nexport var BIconShieldFillExclamation=/*#__PURE__*/makeIcon('ShieldFillExclamation','');// eslint-disable-next-line\nexport var BIconShieldFillMinus=/*#__PURE__*/makeIcon('ShieldFillMinus','');// eslint-disable-next-line\nexport var BIconShieldFillPlus=/*#__PURE__*/makeIcon('ShieldFillPlus','');// eslint-disable-next-line\nexport var BIconShieldFillX=/*#__PURE__*/makeIcon('ShieldFillX','');// eslint-disable-next-line\nexport var BIconShieldLock=/*#__PURE__*/makeIcon('ShieldLock','');// eslint-disable-next-line\nexport var BIconShieldLockFill=/*#__PURE__*/makeIcon('ShieldLockFill','');// eslint-disable-next-line\nexport var BIconShieldMinus=/*#__PURE__*/makeIcon('ShieldMinus','');// eslint-disable-next-line\nexport var BIconShieldPlus=/*#__PURE__*/makeIcon('ShieldPlus','');// eslint-disable-next-line\nexport var BIconShieldShaded=/*#__PURE__*/makeIcon('ShieldShaded','');// eslint-disable-next-line\nexport var BIconShieldSlash=/*#__PURE__*/makeIcon('ShieldSlash','');// eslint-disable-next-line\nexport var BIconShieldSlashFill=/*#__PURE__*/makeIcon('ShieldSlashFill','');// eslint-disable-next-line\nexport var BIconShieldX=/*#__PURE__*/makeIcon('ShieldX','');// eslint-disable-next-line\nexport var BIconShift=/*#__PURE__*/makeIcon('Shift','');// eslint-disable-next-line\nexport var BIconShiftFill=/*#__PURE__*/makeIcon('ShiftFill','');// eslint-disable-next-line\nexport var BIconShop=/*#__PURE__*/makeIcon('Shop','');// eslint-disable-next-line\nexport var BIconShopWindow=/*#__PURE__*/makeIcon('ShopWindow','');// eslint-disable-next-line\nexport var BIconShuffle=/*#__PURE__*/makeIcon('Shuffle','');// eslint-disable-next-line\nexport var BIconSignpost=/*#__PURE__*/makeIcon('Signpost','');// eslint-disable-next-line\nexport var BIconSignpost2=/*#__PURE__*/makeIcon('Signpost2','');// eslint-disable-next-line\nexport var BIconSignpost2Fill=/*#__PURE__*/makeIcon('Signpost2Fill','');// eslint-disable-next-line\nexport var BIconSignpostFill=/*#__PURE__*/makeIcon('SignpostFill','');// eslint-disable-next-line\nexport var BIconSignpostSplit=/*#__PURE__*/makeIcon('SignpostSplit','');// eslint-disable-next-line\nexport var BIconSignpostSplitFill=/*#__PURE__*/makeIcon('SignpostSplitFill','');// eslint-disable-next-line\nexport var BIconSim=/*#__PURE__*/makeIcon('Sim','');// eslint-disable-next-line\nexport var BIconSimFill=/*#__PURE__*/makeIcon('SimFill','');// eslint-disable-next-line\nexport var BIconSkipBackward=/*#__PURE__*/makeIcon('SkipBackward','');// eslint-disable-next-line\nexport var BIconSkipBackwardBtn=/*#__PURE__*/makeIcon('SkipBackwardBtn','');// eslint-disable-next-line\nexport var BIconSkipBackwardBtnFill=/*#__PURE__*/makeIcon('SkipBackwardBtnFill','');// eslint-disable-next-line\nexport var BIconSkipBackwardCircle=/*#__PURE__*/makeIcon('SkipBackwardCircle','');// eslint-disable-next-line\nexport var BIconSkipBackwardCircleFill=/*#__PURE__*/makeIcon('SkipBackwardCircleFill','');// eslint-disable-next-line\nexport var BIconSkipBackwardFill=/*#__PURE__*/makeIcon('SkipBackwardFill','');// eslint-disable-next-line\nexport var BIconSkipEnd=/*#__PURE__*/makeIcon('SkipEnd','');// eslint-disable-next-line\nexport var BIconSkipEndBtn=/*#__PURE__*/makeIcon('SkipEndBtn','');// eslint-disable-next-line\nexport var BIconSkipEndBtnFill=/*#__PURE__*/makeIcon('SkipEndBtnFill','');// eslint-disable-next-line\nexport var BIconSkipEndCircle=/*#__PURE__*/makeIcon('SkipEndCircle','');// eslint-disable-next-line\nexport var BIconSkipEndCircleFill=/*#__PURE__*/makeIcon('SkipEndCircleFill','');// eslint-disable-next-line\nexport var BIconSkipEndFill=/*#__PURE__*/makeIcon('SkipEndFill','');// eslint-disable-next-line\nexport var BIconSkipForward=/*#__PURE__*/makeIcon('SkipForward','');// eslint-disable-next-line\nexport var BIconSkipForwardBtn=/*#__PURE__*/makeIcon('SkipForwardBtn','');// eslint-disable-next-line\nexport var BIconSkipForwardBtnFill=/*#__PURE__*/makeIcon('SkipForwardBtnFill','');// eslint-disable-next-line\nexport var BIconSkipForwardCircle=/*#__PURE__*/makeIcon('SkipForwardCircle','');// eslint-disable-next-line\nexport var BIconSkipForwardCircleFill=/*#__PURE__*/makeIcon('SkipForwardCircleFill','');// eslint-disable-next-line\nexport var BIconSkipForwardFill=/*#__PURE__*/makeIcon('SkipForwardFill','');// eslint-disable-next-line\nexport var BIconSkipStart=/*#__PURE__*/makeIcon('SkipStart','');// eslint-disable-next-line\nexport var BIconSkipStartBtn=/*#__PURE__*/makeIcon('SkipStartBtn','');// eslint-disable-next-line\nexport var BIconSkipStartBtnFill=/*#__PURE__*/makeIcon('SkipStartBtnFill','');// eslint-disable-next-line\nexport var BIconSkipStartCircle=/*#__PURE__*/makeIcon('SkipStartCircle','');// eslint-disable-next-line\nexport var BIconSkipStartCircleFill=/*#__PURE__*/makeIcon('SkipStartCircleFill','');// eslint-disable-next-line\nexport var BIconSkipStartFill=/*#__PURE__*/makeIcon('SkipStartFill','');// eslint-disable-next-line\nexport var BIconSlack=/*#__PURE__*/makeIcon('Slack','');// eslint-disable-next-line\nexport var BIconSlash=/*#__PURE__*/makeIcon('Slash','');// eslint-disable-next-line\nexport var BIconSlashCircle=/*#__PURE__*/makeIcon('SlashCircle','');// eslint-disable-next-line\nexport var BIconSlashCircleFill=/*#__PURE__*/makeIcon('SlashCircleFill','');// eslint-disable-next-line\nexport var BIconSlashSquare=/*#__PURE__*/makeIcon('SlashSquare','');// eslint-disable-next-line\nexport var BIconSlashSquareFill=/*#__PURE__*/makeIcon('SlashSquareFill','');// eslint-disable-next-line\nexport var BIconSliders=/*#__PURE__*/makeIcon('Sliders','');// eslint-disable-next-line\nexport var BIconSmartwatch=/*#__PURE__*/makeIcon('Smartwatch','');// eslint-disable-next-line\nexport var BIconSortAlphaDown=/*#__PURE__*/makeIcon('SortAlphaDown','');// eslint-disable-next-line\nexport var BIconSortAlphaDownAlt=/*#__PURE__*/makeIcon('SortAlphaDownAlt','');// eslint-disable-next-line\nexport var BIconSortAlphaUp=/*#__PURE__*/makeIcon('SortAlphaUp','');// eslint-disable-next-line\nexport var BIconSortAlphaUpAlt=/*#__PURE__*/makeIcon('SortAlphaUpAlt','');// eslint-disable-next-line\nexport var BIconSortDown=/*#__PURE__*/makeIcon('SortDown','');// eslint-disable-next-line\nexport var BIconSortDownAlt=/*#__PURE__*/makeIcon('SortDownAlt','');// eslint-disable-next-line\nexport var BIconSortNumericDown=/*#__PURE__*/makeIcon('SortNumericDown','');// eslint-disable-next-line\nexport var BIconSortNumericDownAlt=/*#__PURE__*/makeIcon('SortNumericDownAlt','');// eslint-disable-next-line\nexport var BIconSortNumericUp=/*#__PURE__*/makeIcon('SortNumericUp','');// eslint-disable-next-line\nexport var BIconSortNumericUpAlt=/*#__PURE__*/makeIcon('SortNumericUpAlt','');// eslint-disable-next-line\nexport var BIconSortUp=/*#__PURE__*/makeIcon('SortUp','');// eslint-disable-next-line\nexport var BIconSortUpAlt=/*#__PURE__*/makeIcon('SortUpAlt','');// eslint-disable-next-line\nexport var BIconSoundwave=/*#__PURE__*/makeIcon('Soundwave','');// eslint-disable-next-line\nexport var BIconSpeaker=/*#__PURE__*/makeIcon('Speaker','');// eslint-disable-next-line\nexport var BIconSpeakerFill=/*#__PURE__*/makeIcon('SpeakerFill','');// eslint-disable-next-line\nexport var BIconSpellcheck=/*#__PURE__*/makeIcon('Spellcheck','');// eslint-disable-next-line\nexport var BIconSquare=/*#__PURE__*/makeIcon('Square','');// eslint-disable-next-line\nexport var BIconSquareFill=/*#__PURE__*/makeIcon('SquareFill','');// eslint-disable-next-line\nexport var BIconSquareHalf=/*#__PURE__*/makeIcon('SquareHalf','');// eslint-disable-next-line\nexport var BIconStar=/*#__PURE__*/makeIcon('Star','');// eslint-disable-next-line\nexport var BIconStarFill=/*#__PURE__*/makeIcon('StarFill','');// eslint-disable-next-line\nexport var BIconStarHalf=/*#__PURE__*/makeIcon('StarHalf','');// eslint-disable-next-line\nexport var BIconStickies=/*#__PURE__*/makeIcon('Stickies','');// eslint-disable-next-line\nexport var BIconStickiesFill=/*#__PURE__*/makeIcon('StickiesFill','');// eslint-disable-next-line\nexport var BIconSticky=/*#__PURE__*/makeIcon('Sticky','');// eslint-disable-next-line\nexport var BIconStickyFill=/*#__PURE__*/makeIcon('StickyFill','');// eslint-disable-next-line\nexport var BIconStop=/*#__PURE__*/makeIcon('Stop','');// eslint-disable-next-line\nexport var BIconStopBtn=/*#__PURE__*/makeIcon('StopBtn','');// eslint-disable-next-line\nexport var BIconStopBtnFill=/*#__PURE__*/makeIcon('StopBtnFill','');// eslint-disable-next-line\nexport var BIconStopCircle=/*#__PURE__*/makeIcon('StopCircle','');// eslint-disable-next-line\nexport var BIconStopCircleFill=/*#__PURE__*/makeIcon('StopCircleFill','');// eslint-disable-next-line\nexport var BIconStopFill=/*#__PURE__*/makeIcon('StopFill','');// eslint-disable-next-line\nexport var BIconStoplights=/*#__PURE__*/makeIcon('Stoplights','');// eslint-disable-next-line\nexport var BIconStoplightsFill=/*#__PURE__*/makeIcon('StoplightsFill','');// eslint-disable-next-line\nexport var BIconStopwatch=/*#__PURE__*/makeIcon('Stopwatch','');// eslint-disable-next-line\nexport var BIconStopwatchFill=/*#__PURE__*/makeIcon('StopwatchFill','');// eslint-disable-next-line\nexport var BIconSubtract=/*#__PURE__*/makeIcon('Subtract','');// eslint-disable-next-line\nexport var BIconSuitClub=/*#__PURE__*/makeIcon('SuitClub','');// eslint-disable-next-line\nexport var BIconSuitClubFill=/*#__PURE__*/makeIcon('SuitClubFill','');// eslint-disable-next-line\nexport var BIconSuitDiamond=/*#__PURE__*/makeIcon('SuitDiamond','');// eslint-disable-next-line\nexport var BIconSuitDiamondFill=/*#__PURE__*/makeIcon('SuitDiamondFill','');// eslint-disable-next-line\nexport var BIconSuitHeart=/*#__PURE__*/makeIcon('SuitHeart','');// eslint-disable-next-line\nexport var BIconSuitHeartFill=/*#__PURE__*/makeIcon('SuitHeartFill','');// eslint-disable-next-line\nexport var BIconSuitSpade=/*#__PURE__*/makeIcon('SuitSpade','');// eslint-disable-next-line\nexport var BIconSuitSpadeFill=/*#__PURE__*/makeIcon('SuitSpadeFill','');// eslint-disable-next-line\nexport var BIconSun=/*#__PURE__*/makeIcon('Sun','');// eslint-disable-next-line\nexport var BIconSunglasses=/*#__PURE__*/makeIcon('Sunglasses','');// eslint-disable-next-line\nexport var BIconTable=/*#__PURE__*/makeIcon('Table','');// eslint-disable-next-line\nexport var BIconTablet=/*#__PURE__*/makeIcon('Tablet','');// eslint-disable-next-line\nexport var BIconTabletFill=/*#__PURE__*/makeIcon('TabletFill','');// eslint-disable-next-line\nexport var BIconTabletLandscape=/*#__PURE__*/makeIcon('TabletLandscape','');// eslint-disable-next-line\nexport var BIconTabletLandscapeFill=/*#__PURE__*/makeIcon('TabletLandscapeFill','');// eslint-disable-next-line\nexport var BIconTag=/*#__PURE__*/makeIcon('Tag','');// eslint-disable-next-line\nexport var BIconTagFill=/*#__PURE__*/makeIcon('TagFill','');// eslint-disable-next-line\nexport var BIconTags=/*#__PURE__*/makeIcon('Tags','');// eslint-disable-next-line\nexport var BIconTagsFill=/*#__PURE__*/makeIcon('TagsFill','');// eslint-disable-next-line\nexport var BIconTelephone=/*#__PURE__*/makeIcon('Telephone','');// eslint-disable-next-line\nexport var BIconTelephoneFill=/*#__PURE__*/makeIcon('TelephoneFill','');// eslint-disable-next-line\nexport var BIconTelephoneForward=/*#__PURE__*/makeIcon('TelephoneForward','');// eslint-disable-next-line\nexport var BIconTelephoneForwardFill=/*#__PURE__*/makeIcon('TelephoneForwardFill','');// eslint-disable-next-line\nexport var BIconTelephoneInbound=/*#__PURE__*/makeIcon('TelephoneInbound','');// eslint-disable-next-line\nexport var BIconTelephoneInboundFill=/*#__PURE__*/makeIcon('TelephoneInboundFill','');// eslint-disable-next-line\nexport var BIconTelephoneMinus=/*#__PURE__*/makeIcon('TelephoneMinus','');// eslint-disable-next-line\nexport var BIconTelephoneMinusFill=/*#__PURE__*/makeIcon('TelephoneMinusFill','');// eslint-disable-next-line\nexport var BIconTelephoneOutbound=/*#__PURE__*/makeIcon('TelephoneOutbound','');// eslint-disable-next-line\nexport var BIconTelephoneOutboundFill=/*#__PURE__*/makeIcon('TelephoneOutboundFill','');// eslint-disable-next-line\nexport var BIconTelephonePlus=/*#__PURE__*/makeIcon('TelephonePlus','');// eslint-disable-next-line\nexport var BIconTelephonePlusFill=/*#__PURE__*/makeIcon('TelephonePlusFill','');// eslint-disable-next-line\nexport var BIconTelephoneX=/*#__PURE__*/makeIcon('TelephoneX','');// eslint-disable-next-line\nexport var BIconTelephoneXFill=/*#__PURE__*/makeIcon('TelephoneXFill','');// eslint-disable-next-line\nexport var BIconTerminal=/*#__PURE__*/makeIcon('Terminal','');// eslint-disable-next-line\nexport var BIconTerminalFill=/*#__PURE__*/makeIcon('TerminalFill','');// eslint-disable-next-line\nexport var BIconTextCenter=/*#__PURE__*/makeIcon('TextCenter','');// eslint-disable-next-line\nexport var BIconTextIndentLeft=/*#__PURE__*/makeIcon('TextIndentLeft','');// eslint-disable-next-line\nexport var BIconTextIndentRight=/*#__PURE__*/makeIcon('TextIndentRight','');// eslint-disable-next-line\nexport var BIconTextLeft=/*#__PURE__*/makeIcon('TextLeft','');// eslint-disable-next-line\nexport var BIconTextParagraph=/*#__PURE__*/makeIcon('TextParagraph','');// eslint-disable-next-line\nexport var BIconTextRight=/*#__PURE__*/makeIcon('TextRight','');// eslint-disable-next-line\nexport var BIconTextarea=/*#__PURE__*/makeIcon('Textarea','');// eslint-disable-next-line\nexport var BIconTextareaResize=/*#__PURE__*/makeIcon('TextareaResize','');// eslint-disable-next-line\nexport var BIconTextareaT=/*#__PURE__*/makeIcon('TextareaT','');// eslint-disable-next-line\nexport var BIconThermometer=/*#__PURE__*/makeIcon('Thermometer','');// eslint-disable-next-line\nexport var BIconThermometerHalf=/*#__PURE__*/makeIcon('ThermometerHalf','');// eslint-disable-next-line\nexport var BIconThreeDots=/*#__PURE__*/makeIcon('ThreeDots','');// eslint-disable-next-line\nexport var BIconThreeDotsVertical=/*#__PURE__*/makeIcon('ThreeDotsVertical','');// eslint-disable-next-line\nexport var BIconToggle2Off=/*#__PURE__*/makeIcon('Toggle2Off','');// eslint-disable-next-line\nexport var BIconToggle2On=/*#__PURE__*/makeIcon('Toggle2On','');// eslint-disable-next-line\nexport var BIconToggleOff=/*#__PURE__*/makeIcon('ToggleOff','');// eslint-disable-next-line\nexport var BIconToggleOn=/*#__PURE__*/makeIcon('ToggleOn','');// eslint-disable-next-line\nexport var BIconToggles=/*#__PURE__*/makeIcon('Toggles','');// eslint-disable-next-line\nexport var BIconToggles2=/*#__PURE__*/makeIcon('Toggles2','');// eslint-disable-next-line\nexport var BIconTools=/*#__PURE__*/makeIcon('Tools','');// eslint-disable-next-line\nexport var BIconTrash=/*#__PURE__*/makeIcon('Trash','');// eslint-disable-next-line\nexport var BIconTrash2=/*#__PURE__*/makeIcon('Trash2','');// eslint-disable-next-line\nexport var BIconTrash2Fill=/*#__PURE__*/makeIcon('Trash2Fill','');// eslint-disable-next-line\nexport var BIconTrashFill=/*#__PURE__*/makeIcon('TrashFill','');// eslint-disable-next-line\nexport var BIconTree=/*#__PURE__*/makeIcon('Tree','');// eslint-disable-next-line\nexport var BIconTreeFill=/*#__PURE__*/makeIcon('TreeFill','');// eslint-disable-next-line\nexport var BIconTriangle=/*#__PURE__*/makeIcon('Triangle','');// eslint-disable-next-line\nexport var BIconTriangleFill=/*#__PURE__*/makeIcon('TriangleFill','');// eslint-disable-next-line\nexport var BIconTriangleHalf=/*#__PURE__*/makeIcon('TriangleHalf','');// eslint-disable-next-line\nexport var BIconTrophy=/*#__PURE__*/makeIcon('Trophy','');// eslint-disable-next-line\nexport var BIconTrophyFill=/*#__PURE__*/makeIcon('TrophyFill','');// eslint-disable-next-line\nexport var BIconTruck=/*#__PURE__*/makeIcon('Truck','');// eslint-disable-next-line\nexport var BIconTruckFlatbed=/*#__PURE__*/makeIcon('TruckFlatbed','');// eslint-disable-next-line\nexport var BIconTv=/*#__PURE__*/makeIcon('Tv','');// eslint-disable-next-line\nexport var BIconTvFill=/*#__PURE__*/makeIcon('TvFill','');// eslint-disable-next-line\nexport var BIconTwitch=/*#__PURE__*/makeIcon('Twitch','');// eslint-disable-next-line\nexport var BIconTwitter=/*#__PURE__*/makeIcon('Twitter','');// eslint-disable-next-line\nexport var BIconType=/*#__PURE__*/makeIcon('Type','');// eslint-disable-next-line\nexport var BIconTypeBold=/*#__PURE__*/makeIcon('TypeBold','');// eslint-disable-next-line\nexport var BIconTypeH1=/*#__PURE__*/makeIcon('TypeH1','');// eslint-disable-next-line\nexport var BIconTypeH2=/*#__PURE__*/makeIcon('TypeH2','');// eslint-disable-next-line\nexport var BIconTypeH3=/*#__PURE__*/makeIcon('TypeH3','');// eslint-disable-next-line\nexport var BIconTypeItalic=/*#__PURE__*/makeIcon('TypeItalic','');// eslint-disable-next-line\nexport var BIconTypeStrikethrough=/*#__PURE__*/makeIcon('TypeStrikethrough','');// eslint-disable-next-line\nexport var BIconTypeUnderline=/*#__PURE__*/makeIcon('TypeUnderline','');// eslint-disable-next-line\nexport var BIconUiChecks=/*#__PURE__*/makeIcon('UiChecks','');// eslint-disable-next-line\nexport var BIconUiChecksGrid=/*#__PURE__*/makeIcon('UiChecksGrid','');// eslint-disable-next-line\nexport var BIconUiRadios=/*#__PURE__*/makeIcon('UiRadios','');// eslint-disable-next-line\nexport var BIconUiRadiosGrid=/*#__PURE__*/makeIcon('UiRadiosGrid','');// eslint-disable-next-line\nexport var BIconUnion=/*#__PURE__*/makeIcon('Union','');// eslint-disable-next-line\nexport var BIconUnlock=/*#__PURE__*/makeIcon('Unlock','');// eslint-disable-next-line\nexport var BIconUnlockFill=/*#__PURE__*/makeIcon('UnlockFill','');// eslint-disable-next-line\nexport var BIconUpc=/*#__PURE__*/makeIcon('Upc','');// eslint-disable-next-line\nexport var BIconUpcScan=/*#__PURE__*/makeIcon('UpcScan','');// eslint-disable-next-line\nexport var BIconUpload=/*#__PURE__*/makeIcon('Upload','');// eslint-disable-next-line\nexport var BIconVectorPen=/*#__PURE__*/makeIcon('VectorPen','');// eslint-disable-next-line\nexport var BIconViewList=/*#__PURE__*/makeIcon('ViewList','');// eslint-disable-next-line\nexport var BIconViewStacked=/*#__PURE__*/makeIcon('ViewStacked','');// eslint-disable-next-line\nexport var BIconVinyl=/*#__PURE__*/makeIcon('Vinyl','');// eslint-disable-next-line\nexport var BIconVinylFill=/*#__PURE__*/makeIcon('VinylFill','');// eslint-disable-next-line\nexport var BIconVoicemail=/*#__PURE__*/makeIcon('Voicemail','');// eslint-disable-next-line\nexport var BIconVolumeDown=/*#__PURE__*/makeIcon('VolumeDown','');// eslint-disable-next-line\nexport var BIconVolumeDownFill=/*#__PURE__*/makeIcon('VolumeDownFill','');// eslint-disable-next-line\nexport var BIconVolumeMute=/*#__PURE__*/makeIcon('VolumeMute','');// eslint-disable-next-line\nexport var BIconVolumeMuteFill=/*#__PURE__*/makeIcon('VolumeMuteFill','');// eslint-disable-next-line\nexport var BIconVolumeOff=/*#__PURE__*/makeIcon('VolumeOff','');// eslint-disable-next-line\nexport var BIconVolumeOffFill=/*#__PURE__*/makeIcon('VolumeOffFill','');// eslint-disable-next-line\nexport var BIconVolumeUp=/*#__PURE__*/makeIcon('VolumeUp','');// eslint-disable-next-line\nexport var BIconVolumeUpFill=/*#__PURE__*/makeIcon('VolumeUpFill','');// eslint-disable-next-line\nexport var BIconVr=/*#__PURE__*/makeIcon('Vr','');// eslint-disable-next-line\nexport var BIconWallet=/*#__PURE__*/makeIcon('Wallet','');// eslint-disable-next-line\nexport var BIconWallet2=/*#__PURE__*/makeIcon('Wallet2','');// eslint-disable-next-line\nexport var BIconWalletFill=/*#__PURE__*/makeIcon('WalletFill','');// eslint-disable-next-line\nexport var BIconWatch=/*#__PURE__*/makeIcon('Watch','');// eslint-disable-next-line\nexport var BIconWifi=/*#__PURE__*/makeIcon('Wifi','');// eslint-disable-next-line\nexport var BIconWifi1=/*#__PURE__*/makeIcon('Wifi1','');// eslint-disable-next-line\nexport var BIconWifi2=/*#__PURE__*/makeIcon('Wifi2','');// eslint-disable-next-line\nexport var BIconWifiOff=/*#__PURE__*/makeIcon('WifiOff','');// eslint-disable-next-line\nexport var BIconWindow=/*#__PURE__*/makeIcon('Window','');// eslint-disable-next-line\nexport var BIconWrench=/*#__PURE__*/makeIcon('Wrench','');// eslint-disable-next-line\nexport var BIconX=/*#__PURE__*/makeIcon('X','');// eslint-disable-next-line\nexport var BIconXCircle=/*#__PURE__*/makeIcon('XCircle','');// eslint-disable-next-line\nexport var BIconXCircleFill=/*#__PURE__*/makeIcon('XCircleFill','');// eslint-disable-next-line\nexport var BIconXDiamond=/*#__PURE__*/makeIcon('XDiamond','');// eslint-disable-next-line\nexport var BIconXDiamondFill=/*#__PURE__*/makeIcon('XDiamondFill','');// eslint-disable-next-line\nexport var BIconXOctagon=/*#__PURE__*/makeIcon('XOctagon','');// eslint-disable-next-line\nexport var BIconXOctagonFill=/*#__PURE__*/makeIcon('XOctagonFill','');// eslint-disable-next-line\nexport var BIconXSquare=/*#__PURE__*/makeIcon('XSquare','');// eslint-disable-next-line\nexport var BIconXSquareFill=/*#__PURE__*/makeIcon('XSquareFill','');// eslint-disable-next-line\nexport var BIconYoutube=/*#__PURE__*/makeIcon('Youtube','');// eslint-disable-next-line\nexport var BIconZoomIn=/*#__PURE__*/makeIcon('ZoomIn','');// eslint-disable-next-line\nexport var BIconZoomOut=/*#__PURE__*/makeIcon('ZoomOut','');// --- END AUTO-GENERATED FILE ---","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../vue';\nimport { NAME_ICON } from '../constants/components';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { RX_ICON_PREFIX } from '../constants/regex';\nimport { omit, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../utils/props';\nimport { pascalCase, trim } from '../utils/string';\nimport { BIconBlank } from './icons';\nimport { props as BVIconBaseProps } from './helpers/icon-base'; // --- Helper methods ---\n\nvar findIconComponent = function findIconComponent(ctx, iconName) {\n if (!ctx) {\n return null;\n }\n\n var components = (ctx.$options || {}).components;\n var iconComponent = components[iconName];\n return iconComponent || findIconComponent(ctx.$parent, iconName);\n}; // --- Props ---\n\n\nvar iconProps = omit(BVIconBaseProps, ['content']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, iconProps), {}, {\n icon: makeProp(PROP_TYPE_STRING)\n})), NAME_ICON); // --- Main component ---\n// Helper BIcon component\n// Requires the requested icon component to be installed\n// @vue/component\n\nexport var BIcon = /*#__PURE__*/Vue.extend({\n name: NAME_ICON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n parent = _ref.parent;\n var icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, ''); // If parent context exists, we check to see if the icon has been registered\n // either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n\n return h(icon ? findIconComponent(parent, \"BIcon\".concat(icon)) || BIconBlank : BIconBlank, mergeData(data, {\n props: pluckProps(iconProps, props)\n }));\n }\n});","export var CODE_BACKSPACE = 8;\nexport var CODE_BREAK = 19;\nexport var CODE_DELETE = 46;\nexport var CODE_DOWN = 40;\nexport var CODE_END = 35;\nexport var CODE_ENTER = 13;\nexport var CODE_ESC = 27;\nexport var CODE_HOME = 36;\nexport var CODE_LEFT = 37;\nexport var CODE_PAGEDOWN = 34;\nexport var CODE_PAGEUP = 33;\nexport var CODE_RIGHT = 39;\nexport var CODE_SPACE = 32;\nexport var CODE_UP = 38;","import { hasOwnProperty, keys } from './object';\nimport { isArray, isDate, isObject } from './inspect'; // Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\n\nvar compareArrays = function compareArrays(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n var equal = true;\n\n for (var i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n\n return equal;\n};\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\n\n\nexport var looseEqual = function looseEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n var aValidType = isDate(a);\n var bValidType = isDate(b);\n\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n\n aValidType = isArray(a);\n bValidType = isArray(b);\n\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false;\n }\n\n aValidType = isObject(a);\n bValidType = isObject(b);\n\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false;\n }\n\n var aKeysCount = keys(a).length;\n var bKeysCount = keys(b).length;\n\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n\n for (var key in a) {\n var aHasKey = hasOwnProperty(a, key);\n var bHasKey = hasOwnProperty(b, key);\n\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n\n return String(a) === String(b);\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { cloneDeep } from './clone-deep';\nimport { looseEqual } from './loose-equal';\nimport { hasOwnProperty, keys } from './object';\n\nvar isEmpty = function isEmpty(value) {\n return !value || keys(value).length === 0;\n};\n\nexport var makePropWatcher = function makePropWatcher(propName) {\n return {\n handler: function handler(newValue, oldValue) {\n if (looseEqual(newValue, oldValue)) {\n return;\n }\n\n if (isEmpty(newValue) || isEmpty(oldValue)) {\n this[propName] = cloneDeep(newValue);\n return;\n }\n\n for (var key in oldValue) {\n if (!hasOwnProperty(newValue, key)) {\n this.$delete(this.$data[propName], key);\n }\n }\n\n for (var _key in newValue) {\n this.$set(this.$data[propName], _key, newValue[_key]);\n }\n }\n };\n};\nexport var makePropCacheMixin = function makePropCacheMixin(propName, proxyPropName) {\n return Vue.extend({\n data: function data() {\n return _defineProperty({}, proxyPropName, cloneDeep(this[propName]));\n },\n watch: _defineProperty({}, propName, makePropWatcher(proxyPropName))\n });\n};","import { makePropCacheMixin } from '../utils/cache';\nexport var attrsMixin = makePropCacheMixin('$attrs', 'bvAttrs');","import { Vue } from '../vue';\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'; // @vue/component\n\nexport var listenOnRootMixin = Vue.extend({\n methods: {\n /**\n * Safely register event listeners on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a `$root` listener, it also registers a listener on\n * the component's `beforeDestroy()` hook to automatically remove the\n * event listener from the `$root` instance\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot: function listenOnRoot(event, callback) {\n var _this = this;\n\n this.$root.$on(event, callback);\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this.$root.$off(event, callback);\n });\n },\n\n /**\n * Safely register a `$once()` event listener on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce: function listenOnRootOnce(event, callback) {\n var _this2 = this;\n\n this.$root.$once(event, callback);\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$root.$off(event, callback);\n });\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `vm.$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot: function emitOnRoot(event) {\n var _this$$root;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_this$$root = this.$root).$emit.apply(_this$$root, [event].concat(args));\n }\n }\n});","import { makePropCacheMixin } from '../utils/cache';\nexport var listenersMixin = makePropCacheMixin('$listeners', 'bvListeners');","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_LINK } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { attemptBlur, attemptFocus, isTag } from '../../utils/dom';\nimport { getRootEventName, stopEvent } from '../../utils/events';\nimport { isBoolean, isEvent, isFunction, isUndefined } from '../../utils/inspect';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { computeHref, computeRel, computeTag, isRouterLink as _isRouterLink } from '../../utils/router';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_CLICKED = getRootEventName(NAME_LINK, 'clicked'); // --- Props ---\n// `` specific props\n\nexport var routerLinkProps = {\n activeClass: makeProp(PROP_TYPE_STRING),\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n event: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK),\n exact: makeProp(PROP_TYPE_BOOLEAN, false),\n exactActiveClass: makeProp(PROP_TYPE_STRING),\n replace: makeProp(PROP_TYPE_BOOLEAN, false),\n routerTag: makeProp(PROP_TYPE_STRING, 'a'),\n to: makeProp(PROP_TYPE_OBJECT_STRING)\n}; // `` specific props\n\nexport var nuxtLinkProps = {\n noPrefetch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Must be `null` to fall back to the value defined in the\n // `nuxt.config.js` configuration file for `router.prefetchLinks`\n // We convert `null` to `undefined`, so that Nuxt.js will use the\n // compiled default\n // Vue treats `undefined` as default of `false` for Boolean props,\n // so we must set it as `null` here to be a true tri-state prop\n prefetch: makeProp(PROP_TYPE_BOOLEAN, null)\n}; // All `` props\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, nuxtLinkProps), routerLinkProps), {}, {\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n href: makeProp(PROP_TYPE_STRING),\n // Must be `null` if no value provided\n rel: makeProp(PROP_TYPE_STRING, null),\n // To support 3rd party router links based on `` (i.e. `g-link` for Gridsome)\n // Default is to auto choose between `` and ``\n // Gridsome doesn't provide a mechanism to auto detect and has caveats\n // such as not supporting FQDN URLs or hash only URLs\n routerComponentName: makeProp(PROP_TYPE_STRING),\n target: makeProp(PROP_TYPE_STRING, '_self')\n})), NAME_LINK); // --- Main component ---\n// @vue/component\n\nexport var BLink = /*#__PURE__*/Vue.extend({\n name: NAME_LINK,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n computed: {\n computedTag: function computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n var to = this.to,\n disabled = this.disabled,\n routerComponentName = this.routerComponentName;\n return computeTag({\n to: to,\n disabled: disabled,\n routerComponentName: routerComponentName\n }, this);\n },\n isRouterLink: function isRouterLink() {\n return _isRouterLink(this.computedTag);\n },\n computedRel: function computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n var target = this.target,\n rel = this.rel;\n return computeRel({\n target: target,\n rel: rel\n });\n },\n computedHref: function computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n var to = this.to,\n href = this.href;\n return computeHref({\n to: to,\n href: href\n }, this.computedTag);\n },\n computedProps: function computedProps() {\n var prefetch = this.prefetch;\n return this.isRouterLink ? _objectSpread(_objectSpread({}, pluckProps(_objectSpread(_objectSpread({}, routerLinkProps), nuxtLinkProps), this)), {}, {\n // Coerce `prefetch` value `null` to be `undefined`\n prefetch: isBoolean(prefetch) ? prefetch : undefined,\n // Pass `router-tag` as `tag` prop\n tag: this.routerTag\n }) : {};\n },\n computedAttrs: function computedAttrs() {\n var bvAttrs = this.bvAttrs,\n href = this.computedHref,\n rel = this.computedRel,\n disabled = this.disabled,\n target = this.target,\n routerTag = this.routerTag,\n isRouterLink = this.isRouterLink;\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, bvAttrs), href ? {\n href: href\n } : {}), isRouterLink && !isTag(routerTag, 'a') ? {} : {\n rel: rel,\n target: target\n }), {}, {\n tabindex: disabled ? '-1' : isUndefined(bvAttrs.tabindex) ? null : bvAttrs.tabindex,\n 'aria-disabled': disabled ? 'true' : null\n });\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n });\n }\n },\n methods: {\n onClick: function onClick(event) {\n var _arguments = arguments;\n var eventIsEvent = isEvent(event);\n var isRouterLink = this.isRouterLink;\n var suppliedHandler = this.bvListeners.click;\n\n if (eventIsEvent && this.disabled) {\n // Stop event from bubbling up\n // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing its thing\n stopEvent(event, {\n immediatePropagation: true\n });\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && event.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', event)` on its Vue instance\n event.currentTarget.__vue__.$emit(EVENT_NAME_CLICK, event);\n } // Call the suppliedHandler(s), if any provided\n\n\n concat(suppliedHandler).filter(function (h) {\n return isFunction(h);\n }).forEach(function (handler) {\n handler.apply(void 0, _toConsumableArray(_arguments));\n }); // Emit the global `$root` click event\n\n this.emitOnRoot(ROOT_EVENT_NAME_CLICKED, event); // TODO: Remove deprecated 'clicked::link' event with next major release\n\n this.emitOnRoot('clicked::link', event);\n } // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n\n\n if (eventIsEvent && !isRouterLink && this.computedHref === '#') {\n stopEvent(event, {\n propagation: false\n });\n }\n },\n focus: function focus() {\n attemptFocus(this.$el);\n },\n blur: function blur() {\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n var active = this.active,\n disabled = this.disabled;\n return h(this.computedTag, _defineProperty({\n class: {\n active: active,\n disabled: disabled\n },\n attrs: this.computedAttrs,\n props: this.computedProps\n }, this.isRouterLink ? 'nativeOn' : 'on', this.computedListeners), this.normalizeSlot());\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BUTTON } from '../../constants/components';\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { addClass, isTag, removeClass } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink as isLinkStrict } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n pressed: makeProp(PROP_TYPE_BOOLEAN, null),\n size: makeProp(PROP_TYPE_STRING),\n squared: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'button'),\n type: makeProp(PROP_TYPE_STRING, 'button'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BUTTON); // --- Helper methods ---\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\n\nvar handleFocus = function handleFocus(event) {\n if (event.type === 'focusin') {\n addClass(event.target, 'focus');\n } else if (event.type === 'focusout') {\n removeClass(event.target, 'focus');\n }\n}; // Is the requested button a link?\n// If tag prop is set to `a`, we use a to get proper disabled handling\n\n\nvar isLink = function isLink(props) {\n return isLinkStrict(props) || isTag(props.tag, 'a');\n}; // Is the button to be a toggle button?\n\n\nvar isToggle = function isToggle(props) {\n return isBoolean(props.pressed);\n}; // Is the button \"really\" a button?\n\n\nvar isButton = function isButton(props) {\n return !(isLink(props) || props.tag && !isTag(props.tag, 'button'));\n}; // Is the requested tag not a button or link?\n\n\nvar isNonStandardTag = function isNonStandardTag(props) {\n return !isLink(props) && !isButton(props);\n}; // Compute required classes (non static classes)\n\n\nvar computeClass = function computeClass(props) {\n var _ref;\n\n return [\"btn-\".concat(props.variant || 'secondary'), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(props.size), props.size), _defineProperty(_ref, 'btn-block', props.block), _defineProperty(_ref, 'rounded-pill', props.pill), _defineProperty(_ref, 'rounded-0', props.squared && !props.pill), _defineProperty(_ref, \"disabled\", props.disabled), _defineProperty(_ref, \"active\", props.pressed), _ref)];\n}; // Compute the link props to pass to b-link (if required)\n\n\nvar computeLinkProps = function computeLinkProps(props) {\n return isLink(props) ? pluckProps(linkProps, props) : {};\n}; // Compute the attributes for a button\n\n\nvar computeAttrs = function computeAttrs(props, data) {\n var button = isButton(props);\n var link = isLink(props);\n var toggle = isToggle(props);\n var nonStandardTag = isNonStandardTag(props);\n var hashLink = link && props.href === '#';\n var role = data.attrs && data.attrs.role ? data.attrs.role : null;\n var tabindex = data.attrs ? data.attrs.tabindex : null;\n\n if (nonStandardTag || hashLink) {\n tabindex = '0';\n }\n\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA\n // Don't bork any role provided in `data.attrs` when `isLink` or `isButton`\n // Except when link has `href` of `#`\n role: nonStandardTag || hashLink ? 'button' : role,\n // We set the `aria-disabled` state for non-standard tags\n 'aria-disabled': nonStandardTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // `autocomplete=\"off\"` is needed in toggle mode to prevent some browsers\n // from remembering the previous setting when using the back button\n autocomplete: toggle ? 'off' : null,\n // `tabindex` is used when the component is not a button\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a `tabindex=\"0\"` to non buttons or non links\n tabindex: props.disabled && !button ? '-1' : tabindex\n };\n}; // --- Main component ---\n// @vue/component\n\n\nexport var BButton = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON,\n functional: true,\n props: props,\n render: function render(h, _ref2) {\n var props = _ref2.props,\n data = _ref2.data,\n listeners = _ref2.listeners,\n children = _ref2.children;\n var toggle = isToggle(props);\n var link = isLink(props);\n var nonStandardTag = isNonStandardTag(props);\n var hashLink = link && props.href === '#';\n var on = {\n keydown: function keydown(event) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for CODE_SPACE/CODE_ENTER\n\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return;\n }\n\n var keyCode = event.keyCode; // Add CODE_SPACE handler for `href=\"#\"` and CODE_ENTER handler for non-standard tags\n\n if (keyCode === CODE_SPACE || keyCode === CODE_ENTER && nonStandardTag) {\n var target = event.currentTarget || event.target;\n stopEvent(event, {\n propagation: false\n });\n target.click();\n }\n },\n click: function click(event) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(event)) {\n stopEvent(event);\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send `.sync` updates to any \"pressed\" prop (if `.sync` listeners)\n // `concat()` will normalize the value to an array without\n // double wrapping an array value in an array\n concat(listeners['update:pressed']).forEach(function (fn) {\n if (isFunction(fn)) {\n fn(!props.pressed);\n }\n });\n }\n }\n };\n\n if (toggle) {\n on.focusin = handleFocus;\n on.focusout = handleFocus;\n }\n\n var componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on: on\n };\n return h(link ? BLink : props.tag, mergeData(data, componentData), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_AVATAR } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_IMG_ERROR } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BADGE } from '../../constants/slots';\nimport { isNumber, isNumeric, isString } from '../../utils/inspect';\nimport { toFloat } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIcon } from '../../icons/icon';\nimport { BIconPersonFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar CLASS_NAME = 'b-avatar';\nvar SIZES = ['sm', null, 'lg'];\nvar FONT_SIZE_SCALE = 0.4;\nvar BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\nexport var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n}; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['active', 'event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n alt: makeProp(PROP_TYPE_STRING, 'avatar'),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n badge: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n badgeLeft: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeOffset: makeProp(PROP_TYPE_STRING),\n badgeTop: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonType: makeProp(PROP_TYPE_STRING, 'button'),\n icon: makeProp(PROP_TYPE_STRING),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n size: makeProp(PROP_TYPE_NUMBER_STRING),\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n src: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_AVATAR); // --- Main component ---\n// @vue/component\n\nexport var BAvatar = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n computedSize: function computedSize() {\n // Always use the avatar group size\n var bvAvatarGroup = this.bvAvatarGroup;\n return computeSize(bvAvatarGroup ? bvAvatarGroup.size : this.size);\n },\n computedVariant: function computedVariant() {\n var bvAvatarGroup = this.bvAvatarGroup;\n return bvAvatarGroup && bvAvatarGroup.variant ? bvAvatarGroup.variant : this.variant;\n },\n computedRounded: function computedRounded() {\n var bvAvatarGroup = this.bvAvatarGroup;\n var square = bvAvatarGroup && bvAvatarGroup.square ? true : this.square;\n var rounded = bvAvatarGroup && bvAvatarGroup.rounded ? bvAvatarGroup.rounded : this.rounded;\n return square ? '0' : rounded === '' ? true : rounded || 'circle';\n },\n fontStyle: function fontStyle() {\n var size = this.computedSize;\n var fontSize = SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(FONT_SIZE_SCALE, \")\") : null;\n return fontSize ? {\n fontSize: fontSize\n } : {};\n },\n marginStyle: function marginStyle() {\n var size = this.computedSize,\n bvAvatarGroup = this.bvAvatarGroup;\n var overlapScale = bvAvatarGroup ? bvAvatarGroup.overlapScale : 0;\n var value = size && overlapScale ? \"calc(\".concat(size, \" * -\").concat(overlapScale, \")\") : null;\n return value ? {\n marginLeft: value,\n marginRight: value\n } : {};\n },\n badgeStyle: function badgeStyle() {\n var size = this.computedSize,\n badgeTop = this.badgeTop,\n badgeLeft = this.badgeLeft,\n badgeOffset = this.badgeOffset;\n var offset = badgeOffset || '0px';\n return {\n fontSize: SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(BADGE_FONT_SIZE_SCALE, \" )\") : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n };\n }\n },\n watch: {\n src: function src(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localSrc = newValue || null;\n }\n }\n },\n methods: {\n onImgError: function onImgError(event) {\n this.localSrc = null;\n this.$emit(EVENT_NAME_IMG_ERROR, event);\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n render: function render(h) {\n var _class2;\n\n var variant = this.computedVariant,\n disabled = this.disabled,\n rounded = this.computedRounded,\n icon = this.icon,\n src = this.localSrc,\n text = this.text,\n fontStyle = this.fontStyle,\n marginStyle = this.marginStyle,\n size = this.computedSize,\n button = this.button,\n type = this.buttonType,\n badge = this.badge,\n badgeVariant = this.badgeVariant,\n badgeStyle = this.badgeStyle;\n var link = !button && isLink(this);\n var tag = button ? BButton : link ? BLink : 'span';\n var alt = this.alt;\n var ariaLabel = this.ariaLabel || null;\n var $content = null;\n\n if (this.hasNormalizedSlot()) {\n // Default slot overrides props\n $content = h('span', {\n staticClass: 'b-avatar-custom'\n }, [this.normalizeSlot()]);\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : {\n width: '100%',\n height: '100%'\n },\n attrs: {\n src: src,\n alt: alt\n },\n on: {\n error: this.onImgError\n }\n });\n $content = h('span', {\n staticClass: 'b-avatar-img'\n }, [$content]);\n } else if (icon) {\n $content = h(BIcon, {\n props: {\n icon: icon\n },\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n } else if (text) {\n $content = h('span', {\n staticClass: 'b-avatar-text',\n style: fontStyle\n }, [h('span', text)]);\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, {\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n }\n\n var $badge = h();\n var hasBadgeSlot = this.hasNormalizedSlot(SLOT_NAME_BADGE);\n\n if (badge || badge === '' || hasBadgeSlot) {\n var badgeText = badge === true ? '' : badge;\n $badge = h('span', {\n staticClass: 'b-avatar-badge',\n class: _defineProperty({}, \"badge-\".concat(badgeVariant), badgeVariant),\n style: badgeStyle\n }, [hasBadgeSlot ? this.normalizeSlot(SLOT_NAME_BADGE) : badgeText]);\n }\n\n var componentData = {\n staticClass: CLASS_NAME,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME, \"-\").concat(size), size && SIZES.indexOf(size) !== -1), _defineProperty(_class2, \"badge-\".concat(variant), !button && variant), _defineProperty(_class2, \"rounded\", rounded === true), _defineProperty(_class2, \"rounded-\".concat(rounded), rounded && rounded !== true), _defineProperty(_class2, \"disabled\", disabled), _class2),\n style: _objectSpread(_objectSpread({}, marginStyle), {}, {\n width: size,\n height: size\n }),\n attrs: {\n 'aria-label': ariaLabel || null\n },\n props: button ? {\n variant: variant,\n disabled: disabled,\n type: type\n } : link ? pluckProps(linkProps, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\n }\n});","import { Vue } from '../../vue';\nimport { NAME_AVATAR_GROUP } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { mathMax, mathMin } from '../../utils/math';\nimport { toFloat } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { computeSize } from './avatar'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n overlap: makeProp(PROP_TYPE_NUMBER_STRING, 0.3),\n // Child avatars will prefer this prop (if set) over their own\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n // Child avatars will always use this over their own size\n size: makeProp(PROP_TYPE_STRING),\n // Child avatars will prefer this prop (if set) over their own\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n // Child avatars will prefer this variant over their own\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_AVATAR_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BAvatarGroup = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR_GROUP,\n mixins: [normalizeSlotMixin],\n provide: function provide() {\n return {\n bvAvatarGroup: this\n };\n },\n props: props,\n computed: {\n computedSize: function computedSize() {\n return computeSize(this.size);\n },\n overlapScale: function overlapScale() {\n return mathMin(mathMax(toFloat(this.overlap, 0), 0), 1) / 2;\n },\n paddingStyle: function paddingStyle() {\n var value = this.computedSize;\n value = value ? \"calc(\".concat(value, \" * \").concat(this.overlapScale, \")\") : null;\n return value ? {\n paddingLeft: value,\n paddingRight: value\n } : {};\n }\n },\n render: function render(h) {\n var $inner = h('div', {\n staticClass: 'b-avatar-group-inner',\n style: this.paddingStyle\n }, this.normalizeSlot());\n return h(this.tag, {\n staticClass: 'b-avatar-group',\n attrs: {\n role: 'group'\n }\n }, [$inner]);\n }\n});","import { BAvatar } from './avatar';\nimport { BAvatarGroup } from './avatar-group';\nimport { pluginFactory } from '../../utils/plugins';\nvar AvatarPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BAvatar: BAvatar,\n BAvatarGroup: BAvatarGroup\n }\n});\nexport { AvatarPlugin, BAvatar, BAvatarGroup };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BADGE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BADGE); // --- Main component ---\n// @vue/component\n\nexport var BBadge = /*#__PURE__*/Vue.extend({\n name: NAME_BADGE,\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 var active = props.active,\n disabled = props.disabled;\n var link = isLink(props);\n var tag = link ? BLink : props.tag;\n var variant = props.variant || 'secondary';\n return h(tag, mergeData(data, {\n staticClass: 'badge',\n class: [\"badge-\".concat(variant), {\n 'badge-pill': props.pill,\n active: active,\n disabled: disabled\n }],\n props: link ? pluckProps(linkProps, props) : {}\n }), children);\n }\n});","import { BBadge } from './badge';\nimport { pluginFactory } from '../../utils/plugins';\nvar BadgePlugin = /*#__PURE__*/pluginFactory({\n components: {\n BBadge: BBadge\n }\n});\nexport { BadgePlugin, BBadge };","import { RX_HTML_TAGS } from '../constants/regex'; // Removes anything that looks like an HTML tag from the supplied string\n\nexport var stripTags = function stripTags() {\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return String(text).replace(RX_HTML_TAGS, '');\n}; // Generate a `domProps` object for either `innerHTML`, `textContent` or an empty object\n\nexport var htmlOrText = function htmlOrText(innerHTML, textContent) {\n return innerHTML ? {\n innerHTML: innerHTML\n } : textContent ? {\n textContent: textContent\n } : {};\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BREADCRUMB_LINK } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BLinkProps, ['event', 'routerTag'])), {}, {\n ariaCurrent: makeProp(PROP_TYPE_STRING, 'location'),\n html: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING)\n})), NAME_BREADCRUMB_LINK); // --- Main component ---\n// @vue/component\n\nexport var BBreadcrumbLink = /*#__PURE__*/Vue.extend({\n name: NAME_BREADCRUMB_LINK,\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 var active = suppliedProps.active;\n var tag = active ? 'span' : BLink;\n var componentData = {\n attrs: {\n 'aria-current': active ? suppliedProps.ariaCurrent : null\n },\n props: pluckProps(props, suppliedProps)\n };\n\n if (!children) {\n componentData.domProps = htmlOrText(suppliedProps.html, suppliedProps.text);\n }\n\n return h(tag, mergeData(data, componentData), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_BREADCRUMB_ITEM } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BBreadcrumbLink, props as BBreadcrumbLinkProps } from './breadcrumb-link'; // --- Props ---\n\nexport var props = makePropsConfigurable(BBreadcrumbLinkProps, NAME_BREADCRUMB_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BBreadcrumbItem = /*#__PURE__*/Vue.extend({\n name: NAME_BREADCRUMB_ITEM,\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 return h('li', mergeData(data, {\n staticClass: 'breadcrumb-item',\n class: {\n active: props.active\n }\n }), [h(BBreadcrumbLink, {\n props: props\n }, children)]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BREADCRUMB } from '../../constants/components';\nimport { PROP_TYPE_ARRAY } from '../../constants/props';\nimport { isArray, isObject } from '../../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { BBreadcrumbItem } from './breadcrumb-item'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n items: makeProp(PROP_TYPE_ARRAY)\n}, NAME_BREADCRUMB); // --- Main component ---\n// @vue/component\n\nexport var BBreadcrumb = /*#__PURE__*/Vue.extend({\n name: NAME_BREADCRUMB,\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 var items = props.items; // Build child nodes from items, if given\n\n var childNodes = children;\n\n if (isArray(items)) {\n var activeDefined = false;\n childNodes = items.map(function (item, idx) {\n if (!isObject(item)) {\n item = {\n text: toString(item)\n };\n } // Copy the value here so we can normalize it\n\n\n var _item = item,\n active = _item.active;\n\n if (active) {\n activeDefined = true;\n } // Auto-detect active by position in list\n\n\n if (!active && !activeDefined) {\n active = idx + 1 === items.length;\n }\n\n return h(BBreadcrumbItem, {\n props: _objectSpread(_objectSpread({}, item), {}, {\n active: active\n })\n });\n });\n }\n\n return h('ol', mergeData(data, {\n staticClass: 'breadcrumb'\n }), childNodes);\n }\n});","import { BBreadcrumb } from './breadcrumb';\nimport { BBreadcrumbItem } from './breadcrumb-item';\nimport { BBreadcrumbLink } from './breadcrumb-link';\nimport { pluginFactory } from '../../utils/plugins';\nvar BreadcrumbPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BBreadcrumb: BBreadcrumb,\n BBreadcrumbItem: BBreadcrumbItem,\n BBreadcrumbLink: BBreadcrumbLink\n }\n});\nexport { BreadcrumbPlugin, BBreadcrumb, BBreadcrumbItem, BBreadcrumbLink };","import { BButton } from './button';\nimport { BButtonClose } from './button-close';\nimport { pluginFactory } from '../../utils/plugins';\nvar ButtonPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BButton: BButton,\n BBtn: BButton,\n BButtonClose: BButtonClose,\n BBtnClose: BButtonClose\n }\n});\nexport { ButtonPlugin, BButton, BButtonClose };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BUTTON_GROUP } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as buttonProps } from '../button/button'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(buttonProps, ['size'])), {}, {\n ariaRole: makeProp(PROP_TYPE_STRING, 'group'),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_BUTTON_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BButtonGroup = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON_GROUP,\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 return h(props.tag, mergeData(data, {\n class: _defineProperty({\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical\n }, \"btn-group-\".concat(props.size), props.size),\n attrs: {\n role: props.ariaRole\n }\n }), children);\n }\n});","import { BButtonGroup } from './button-group';\nimport { pluginFactory } from '../../utils/plugins';\nvar ButtonGroupPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BButtonGroup: BButtonGroup,\n BBtnGroup: BButtonGroup\n }\n});\nexport { ButtonGroupPlugin, BButtonGroup };","import { Vue } from '../../vue';\nimport { NAME_BUTTON_TOOLBAR } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_UP } from '../../constants/key-codes';\nimport { attemptFocus, contains, isVisible, selectAll } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\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(','); // --- Props ---\n\nexport var props = makePropsConfigurable({\n justify: makeProp(PROP_TYPE_BOOLEAN, false),\n keyNav: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_BUTTON_TOOLBAR); // --- Main component ---\n// @vue/component\n\nexport var BButtonToolbar = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON_TOOLBAR,\n mixins: [normalizeSlotMixin],\n props: props,\n mounted: function mounted() {\n // Pre-set the tabindexes if the markup does not include\n // `tabindex=\"-1\"` on the toolbar items\n if (this.keyNav) {\n this.getItems();\n }\n },\n methods: {\n getItems: function getItems() {\n var items = selectAll(ITEM_SELECTOR, this.$el); // Ensure `tabindex=\"-1\"` is set on every item\n\n items.forEach(function (item) {\n item.tabIndex = -1;\n });\n return items.filter(function (el) {\n return isVisible(el);\n });\n },\n focusFirst: function focusFirst() {\n var items = this.getItems();\n attemptFocus(items[0]);\n },\n focusPrev: function focusPrev(event) {\n var items = this.getItems();\n var index = items.indexOf(event.target);\n\n if (index > -1) {\n items = items.slice(0, index).reverse();\n attemptFocus(items[0]);\n }\n },\n focusNext: function focusNext(event) {\n var items = this.getItems();\n var index = items.indexOf(event.target);\n\n if (index > -1) {\n items = items.slice(index + 1);\n attemptFocus(items[0]);\n }\n },\n focusLast: function focusLast() {\n var items = this.getItems().reverse();\n attemptFocus(items[0]);\n },\n onFocusin: function onFocusin(event) {\n var $el = this.$el;\n\n if (event.target === $el && !contains($el, event.relatedTarget)) {\n stopEvent(event);\n this.focusFirst(event);\n }\n },\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (keyCode === CODE_UP || keyCode === CODE_LEFT) {\n stopEvent(event);\n shiftKey ? this.focusFirst(event) : this.focusPrev(event);\n } else if (keyCode === CODE_DOWN || keyCode === CODE_RIGHT) {\n stopEvent(event);\n shiftKey ? this.focusLast(event) : this.focusNext(event);\n }\n }\n },\n render: function render(h) {\n var keyNav = this.keyNav;\n return h('div', {\n staticClass: 'btn-toolbar',\n class: {\n 'justify-content-between': this.justify\n },\n attrs: {\n role: 'toolbar',\n tabindex: keyNav ? '0' : null\n },\n on: keyNav ? {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n } : {}\n }, [this.normalizeSlot()]);\n }\n});","import { BButtonToolbar } from './button-toolbar';\nimport { pluginFactory } from '../../utils/plugins';\nvar ButtonToolbarPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BButtonToolbar: BButtonToolbar,\n BBtnToolbar: BButtonToolbar\n }\n});\nexport { ButtonToolbarPlugin, BButtonToolbar };","export var CALENDAR_GREGORY = 'gregory';\nexport var CALENDAR_LONG = 'long';\nexport var CALENDAR_NARROW = 'narrow';\nexport var CALENDAR_SHORT = 'short';\nexport var DATE_FORMAT_2_DIGIT = '2-digit';\nexport var DATE_FORMAT_NUMERIC = 'numeric';","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n// Date utility functions\nimport { CALENDAR_GREGORY } from '../constants/date';\nimport { RX_DATE, RX_DATE_SPLIT } from '../constants/regex';\nimport { concat } from './array';\nimport { identity } from './identity';\nimport { isDate, isString } from './inspect';\nimport { toInteger } from './number'; // --- Date utility methods ---\n// Create or clone a date (`new Date(...)` shortcut)\n\nexport var createDate = function createDate() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _construct(Date, args);\n}; // Parse a date sting, or Date object, into a Date object (with no time information)\n\nexport var parseYMD = function parseYMD(date) {\n if (isString(date) && RX_DATE.test(date.trim())) {\n var _date$split$map = date.split(RX_DATE_SPLIT).map(function (v) {\n return toInteger(v, 1);\n }),\n _date$split$map2 = _slicedToArray(_date$split$map, 3),\n year = _date$split$map2[0],\n month = _date$split$map2[1],\n day = _date$split$map2[2];\n\n return createDate(year, month - 1, day);\n } else if (isDate(date)) {\n return createDate(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n return null;\n}; // Format a date object as `YYYY-MM-DD` format\n\nexport var formatYMD = function formatYMD(date) {\n date = parseYMD(date);\n\n if (!date) {\n return null;\n }\n\n var year = date.getFullYear();\n var month = \"0\".concat(date.getMonth() + 1).slice(-2);\n var day = \"0\".concat(date.getDate()).slice(-2);\n return \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n}; // Given a locale (or locales), resolve the browser available locale\n\nexport var resolveLocale = function resolveLocale(locales)\n/* istanbul ignore next */\n{\n var calendar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : CALENDAR_GREGORY;\n locales = concat(locales).filter(identity);\n var fmt = new Intl.DateTimeFormat(locales, {\n calendar: calendar\n });\n return fmt.resolvedOptions().locale;\n}; // Create a `Intl.DateTimeFormat` formatter function\n\nexport var createDateFormatter = function createDateFormatter(locale, options)\n/* istanbul ignore next */\n{\n var dtf = new Intl.DateTimeFormat(locale, options);\n return dtf.format;\n}; // Determine if two dates are the same date (ignoring time portion)\n\nexport var datesEqual = function datesEqual(date1, date2) {\n // Returns true of the date portion of two date objects are equal\n // We don't compare the time portion\n return formatYMD(date1) === formatYMD(date2);\n}; // --- Date \"math\" utility methods (for BCalendar component mainly) ---\n\nexport var firstDateOfMonth = function firstDateOfMonth(date) {\n date = createDate(date);\n date.setDate(1);\n return date;\n};\nexport var lastDateOfMonth = function lastDateOfMonth(date) {\n date = createDate(date);\n date.setMonth(date.getMonth() + 1);\n date.setDate(0);\n return date;\n};\nexport var addYears = function addYears(date, numberOfYears) {\n date = createDate(date);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear() + numberOfYears); // Handle Feb 29th for leap years\n\n if (date.getMonth() !== month) {\n date.setDate(0);\n }\n\n return date;\n};\nexport var oneMonthAgo = function oneMonthAgo(date) {\n date = createDate(date);\n var month = date.getMonth();\n date.setMonth(month - 1); // Handle when days in month are different\n\n if (date.getMonth() === month) {\n date.setDate(0);\n }\n\n return date;\n};\nexport var oneMonthAhead = function oneMonthAhead(date) {\n date = createDate(date);\n var month = date.getMonth();\n date.setMonth(month + 1); // Handle when days in month are different\n\n if (date.getMonth() === (month + 2) % 12) {\n date.setDate(0);\n }\n\n return date;\n};\nexport var oneYearAgo = function oneYearAgo(date) {\n return addYears(date, -1);\n};\nexport var oneYearAhead = function oneYearAhead(date) {\n return addYears(date, 1);\n};\nexport var oneDecadeAgo = function oneDecadeAgo(date) {\n return addYears(date, -10);\n};\nexport var oneDecadeAhead = function oneDecadeAhead(date) {\n return addYears(date, 10);\n}; // Helper function to constrain a date between two values\n// Always returns a `Date` object or `null` if no date passed\n\nexport var constrainDate = function constrainDate(date) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n // Ensure values are `Date` objects (or `null`)\n date = parseYMD(date);\n min = parseYMD(min) || date;\n max = parseYMD(max) || date; // Return a new `Date` object (or `null`)\n\n return date ? date < min ? min : date > max ? max : date : null;\n};","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_CALENDAR } from '../../constants/components';\nimport { CALENDAR_GREGORY, CALENDAR_LONG, CALENDAR_NARROW, CALENDAR_SHORT, DATE_FORMAT_2_DIGIT, DATE_FORMAT_NUMERIC } from '../../constants/date';\nimport { EVENT_NAME_CONTEXT, EVENT_NAME_SELECTED } from '../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_ENTER, CODE_HOME, CODE_LEFT, CODE_PAGEDOWN, CODE_PAGEUP, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_DATE_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_NAV_NEXT_DECADE, SLOT_NAME_NAV_NEXT_MONTH, SLOT_NAME_NAV_NEXT_YEAR, SLOT_NAME_NAV_PEV_DECADE, SLOT_NAME_NAV_PEV_MONTH, SLOT_NAME_NAV_PEV_YEAR, SLOT_NAME_NAV_THIS_MONTH } from '../../constants/slots';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { createDate, createDateFormatter, constrainDate as _constrainDate, datesEqual, firstDateOfMonth, formatYMD, lastDateOfMonth, oneMonthAgo, oneMonthAhead, oneYearAgo, oneYearAhead, oneDecadeAgo, oneDecadeAhead, parseYMD, resolveLocale } from '../../utils/date';\nimport { attemptBlur, attemptFocus, requestAF } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isArray, isPlainObject, isString } from '../../utils/inspect';\nimport { isLocaleRTL } from '../../utils/locale';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { mathMax } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIconChevronLeft, BIconChevronDoubleLeft, BIconChevronBarLeft, BIconCircleFill } from '../../icons/icons'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_DATE_STRING\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n // Makes calendar the full width of its parent container\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n dateDisabledFn: makeProp(PROP_TYPE_FUNCTION),\n // `Intl.DateTimeFormat` object\n dateFormatOptions: makeProp(PROP_TYPE_OBJECT, {\n year: DATE_FORMAT_NUMERIC,\n month: CALENDAR_LONG,\n day: DATE_FORMAT_NUMERIC,\n weekday: CALENDAR_LONG\n }),\n // Function to set a class of (classes) on the date cell\n // if passed a string or an array\n // TODO:\n // If the function returns an object, look for class prop for classes,\n // and other props for handling events/details/descriptions\n dateInfoFn: makeProp(PROP_TYPE_FUNCTION),\n // 'ltr', 'rtl', or `null` (for auto detect)\n direction: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // When `true`, renders a comment node, but keeps the component instance active\n // Mainly for , so that we can get the component's value and locale\n // But we might just use separate date formatters, using the resolved locale\n // (adjusted for the gregorian calendar)\n hidden: makeProp(PROP_TYPE_BOOLEAN, false),\n // When `true` makes the selected date header `sr-only`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // This specifies the calendar year/month/day that will be shown when\n // first opening the datepicker if no v-model value is provided\n // Default is the current date (or `min`/`max`)\n initialDate: makeProp(PROP_TYPE_DATE_STRING),\n // Labels for buttons and keyboard shortcuts\n labelCalendar: makeProp(PROP_TYPE_STRING, 'Calendar'),\n labelCurrentMonth: makeProp(PROP_TYPE_STRING, 'Current month'),\n labelHelp: makeProp(PROP_TYPE_STRING, 'Use cursor keys to navigate calendar dates'),\n labelNav: makeProp(PROP_TYPE_STRING, 'Calendar navigation'),\n labelNextDecade: makeProp(PROP_TYPE_STRING, 'Next decade'),\n labelNextMonth: makeProp(PROP_TYPE_STRING, 'Next month'),\n labelNextYear: makeProp(PROP_TYPE_STRING, 'Next year'),\n labelNoDateSelected: makeProp(PROP_TYPE_STRING, 'No date selected'),\n labelPrevDecade: makeProp(PROP_TYPE_STRING, 'Previous decade'),\n labelPrevMonth: makeProp(PROP_TYPE_STRING, 'Previous month'),\n labelPrevYear: makeProp(PROP_TYPE_STRING, 'Previous year'),\n labelSelected: makeProp(PROP_TYPE_STRING, 'Selected date'),\n labelToday: makeProp(PROP_TYPE_STRING, 'Today'),\n // Locale(s) to use\n // Default is to use page/browser default setting\n locale: makeProp(PROP_TYPE_ARRAY_STRING),\n max: makeProp(PROP_TYPE_DATE_STRING),\n min: makeProp(PROP_TYPE_DATE_STRING),\n // Variant color to use for the navigation buttons\n navButtonVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n // Disable highlighting today's date\n noHighlightToday: makeProp(PROP_TYPE_BOOLEAN, false),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n roleDescription: makeProp(PROP_TYPE_STRING),\n // Variant color to use for the selected date\n selectedVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // When `true` enables the decade navigation buttons\n showDecadeNav: makeProp(PROP_TYPE_BOOLEAN, false),\n // Day of week to start calendar on\n // `0` (Sunday), `1` (Monday), ... `6` (Saturday)\n startWeekday: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n // Variant color to use for today's date (defaults to `selectedVariant`)\n todayVariant: makeProp(PROP_TYPE_STRING),\n // Always return the `v-model` value as a date object\n valueAsDate: makeProp(PROP_TYPE_BOOLEAN, false),\n // Format of the weekday names at the top of the calendar\n // `short` is typically a 3 letter abbreviation,\n // `narrow` is typically a single letter\n // `long` is the full week day name\n // Although some locales may override this (i.e `ar`, etc.)\n weekdayHeaderFormat: makeProp(PROP_TYPE_STRING, CALENDAR_SHORT, function (value) {\n return arrayIncludes([CALENDAR_LONG, CALENDAR_SHORT, CALENDAR_NARROW], value);\n }),\n // Has no effect if prop `block` is set\n width: makeProp(PROP_TYPE_STRING, '270px')\n})), NAME_CALENDAR); // --- Main component ---\n// @vue/component\n\nexport var BCalendar = Vue.extend({\n name: NAME_CALENDAR,\n // Mixin order is important!\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n var selected = formatYMD(this[MODEL_PROP_NAME]) || '';\n return {\n // Selected date\n selectedYMD: selected,\n // Date in calendar grid that has `tabindex` of `0`\n activeYMD: selected || formatYMD(_constrainDate(this.initialDate || this.getToday()), this.min, this.max),\n // Will be true if the calendar grid has/contains focus\n gridHasFocus: false,\n // Flag to enable the `aria-live` region(s) after mount\n // to prevent screen reader \"outbursts\" when mounting\n isLive: false\n };\n },\n computed: {\n valueId: function valueId() {\n return this.safeId();\n },\n widgetId: function widgetId() {\n return this.safeId('_calendar-wrapper_');\n },\n navId: function navId() {\n return this.safeId('_calendar-nav_');\n },\n gridId: function gridId() {\n return this.safeId('_calendar-grid_');\n },\n gridCaptionId: function gridCaptionId() {\n return this.safeId('_calendar-grid-caption_');\n },\n gridHelpId: function gridHelpId() {\n return this.safeId('_calendar-grid-help_');\n },\n activeId: function activeId() {\n return this.activeYMD ? this.safeId(\"_cell-\".concat(this.activeYMD, \"_\")) : null;\n },\n // TODO: Use computed props to convert `YYYY-MM-DD` to `Date` object\n selectedDate: function selectedDate() {\n // Selected as a `Date` object\n return parseYMD(this.selectedYMD);\n },\n activeDate: function activeDate() {\n // Active as a `Date` object\n return parseYMD(this.activeYMD);\n },\n computedMin: function computedMin() {\n return parseYMD(this.min);\n },\n computedMax: function computedMax() {\n return parseYMD(this.max);\n },\n computedWeekStarts: function computedWeekStarts() {\n // `startWeekday` is a prop (constrained to `0` through `6`)\n return mathMax(toInteger(this.startWeekday, 0), 0) % 7;\n },\n computedLocale: function computedLocale() {\n // Returns the resolved locale used by the calendar\n return resolveLocale(concat(this.locale).filter(identity), CALENDAR_GREGORY);\n },\n computedDateDisabledFn: function computedDateDisabledFn() {\n var dateDisabledFn = this.dateDisabledFn;\n return hasPropFunction(dateDisabledFn) ? dateDisabledFn : function () {\n return false;\n };\n },\n // TODO: Change `dateInfoFn` to handle events and notes as well as classes\n computedDateInfoFn: function computedDateInfoFn() {\n var dateInfoFn = this.dateInfoFn;\n return hasPropFunction(dateInfoFn) ? dateInfoFn : function () {\n return {};\n };\n },\n calendarLocale: function calendarLocale() {\n // This locale enforces the gregorian calendar (for use in formatter functions)\n // Needed because IE 11 resolves `ar-IR` as islamic-civil calendar\n // and IE 11 (and some other browsers) do not support the `calendar` option\n // And we currently only support the gregorian calendar\n var fmt = new Intl.DateTimeFormat(this.computedLocale, {\n calendar: CALENDAR_GREGORY\n });\n var calendar = fmt.resolvedOptions().calendar;\n var locale = fmt.resolvedOptions().locale;\n /* istanbul ignore if: mainly for IE 11 and a few other browsers, hard to test in JSDOM */\n\n if (calendar !== CALENDAR_GREGORY) {\n // Ensure the locale requests the gregorian calendar\n // Mainly for IE 11, and currently we can't handle non-gregorian calendars\n // TODO: Should we always return this value?\n locale = locale.replace(/-u-.+$/i, '').concat('-u-ca-gregory');\n }\n\n return locale;\n },\n calendarYear: function calendarYear() {\n return this.activeDate.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.activeDate.getMonth();\n },\n calendarFirstDay: function calendarFirstDay() {\n // We set the time for this date to 12pm to work around\n // date formatting issues in Firefox and Safari\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/5818\n return createDate(this.calendarYear, this.calendarMonth, 1, 12);\n },\n calendarDaysInMonth: function calendarDaysInMonth() {\n // We create a new date as to not mutate the original\n var date = createDate(this.calendarFirstDay);\n date.setMonth(date.getMonth() + 1, 0);\n return date.getDate();\n },\n computedVariant: function computedVariant() {\n return \"btn-\".concat(this.selectedVariant || 'primary');\n },\n computedTodayVariant: function computedTodayVariant() {\n return \"btn-outline-\".concat(this.todayVariant || this.selectedVariant || 'primary');\n },\n computedNavButtonVariant: function computedNavButtonVariant() {\n return \"btn-outline-\".concat(this.navButtonVariant || 'primary');\n },\n isRTL: function isRTL() {\n // `true` if the language requested is RTL\n var dir = toString(this.direction).toLowerCase();\n\n if (dir === 'rtl') {\n /* istanbul ignore next */\n return true;\n } else if (dir === 'ltr') {\n /* istanbul ignore next */\n return false;\n }\n\n return isLocaleRTL(this.computedLocale);\n },\n context: function context() {\n var selectedYMD = this.selectedYMD,\n activeYMD = this.activeYMD;\n var selectedDate = parseYMD(selectedYMD);\n var activeDate = parseYMD(activeYMD);\n return {\n // The current value of the `v-model`\n selectedYMD: selectedYMD,\n selectedDate: selectedDate,\n selectedFormatted: selectedDate ? this.formatDateString(selectedDate) : this.labelNoDateSelected,\n // Which date cell is considered active due to navigation\n activeYMD: activeYMD,\n activeDate: activeDate,\n activeFormatted: activeDate ? this.formatDateString(activeDate) : '',\n // `true` if the date is disabled (when using keyboard navigation)\n disabled: this.dateDisabled(activeDate),\n // Locales used in formatting dates\n locale: this.computedLocale,\n calendarLocale: this.calendarLocale,\n rtl: this.isRTL\n };\n },\n // Computed props that return a function reference\n dateOutOfRange: function dateOutOfRange() {\n // Check whether a date is within the min/max range\n // Returns a new function ref if the pops change\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n var min = this.computedMin,\n max = this.computedMax;\n return function (date) {\n // Handle both `YYYY-MM-DD` and `Date` objects\n date = parseYMD(date);\n return min && date < min || max && date > max;\n };\n },\n dateDisabled: function dateDisabled() {\n var _this = this;\n\n // Returns a function for validating if a date is within range\n // We grab this variables first to ensure a new function ref\n // is generated when the props value changes\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n var rangeFn = this.dateOutOfRange; // Return the function ref\n\n return function (date) {\n // Handle both `YYYY-MM-DD` and `Date` objects\n date = parseYMD(date);\n var ymd = formatYMD(date);\n return !!(rangeFn(date) || _this.computedDateDisabledFn(ymd, date));\n };\n },\n // Computed props that return date formatter functions\n formatDateString: function formatDateString() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, _objectSpread(_objectSpread({\n // Ensure we have year, month, day shown for screen readers/ARIA\n // If users really want to leave one of these out, they can\n // pass `undefined` for the property value\n year: DATE_FORMAT_NUMERIC,\n month: DATE_FORMAT_2_DIGIT,\n day: DATE_FORMAT_2_DIGIT\n }, this.dateFormatOptions), {}, {\n // Ensure hours/minutes/seconds are not shown\n // As we do not support the time portion (yet)\n hour: undefined,\n minute: undefined,\n second: undefined,\n // Ensure calendar is gregorian\n calendar: CALENDAR_GREGORY\n }));\n },\n formatYearMonth: function formatYearMonth() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, {\n year: DATE_FORMAT_NUMERIC,\n month: CALENDAR_LONG,\n calendar: CALENDAR_GREGORY\n });\n },\n formatWeekdayName: function formatWeekdayName() {\n // Long weekday name for weekday header aria-label\n return createDateFormatter(this.calendarLocale, {\n weekday: CALENDAR_LONG,\n calendar: CALENDAR_GREGORY\n });\n },\n formatWeekdayNameShort: function formatWeekdayNameShort() {\n // Weekday header cell format\n // defaults to 'short' 3 letter days, where possible\n return createDateFormatter(this.calendarLocale, {\n weekday: this.weekdayHeaderFormat || CALENDAR_SHORT,\n calendar: CALENDAR_GREGORY\n });\n },\n formatDay: function formatDay() {\n // Calendar grid day number formatter\n // We don't use DateTimeFormatter here as it can place extra\n // character(s) after the number (i.e the `zh` locale)\n var nf = new Intl.NumberFormat([this.computedLocale], {\n style: 'decimal',\n minimumIntegerDigits: 1,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n notation: 'standard'\n }); // Return a formatter function instance\n\n return function (date) {\n return nf.format(date.getDate());\n };\n },\n // Disabled states for the nav buttons\n prevDecadeDisabled: function prevDecadeDisabled() {\n var min = this.computedMin;\n return this.disabled || min && lastDateOfMonth(oneDecadeAgo(this.activeDate)) < min;\n },\n prevYearDisabled: function prevYearDisabled() {\n var min = this.computedMin;\n return this.disabled || min && lastDateOfMonth(oneYearAgo(this.activeDate)) < min;\n },\n prevMonthDisabled: function prevMonthDisabled() {\n var min = this.computedMin;\n return this.disabled || min && lastDateOfMonth(oneMonthAgo(this.activeDate)) < min;\n },\n thisMonthDisabled: function thisMonthDisabled() {\n // TODO: We could/should check if today is out of range\n return this.disabled;\n },\n nextMonthDisabled: function nextMonthDisabled() {\n var max = this.computedMax;\n return this.disabled || max && firstDateOfMonth(oneMonthAhead(this.activeDate)) > max;\n },\n nextYearDisabled: function nextYearDisabled() {\n var max = this.computedMax;\n return this.disabled || max && firstDateOfMonth(oneYearAhead(this.activeDate)) > max;\n },\n nextDecadeDisabled: function nextDecadeDisabled() {\n var max = this.computedMax;\n return this.disabled || max && firstDateOfMonth(oneDecadeAhead(this.activeDate)) > max;\n },\n // Calendar dates generation\n calendar: function calendar() {\n var matrix = [];\n var firstDay = this.calendarFirstDay;\n var calendarYear = firstDay.getFullYear();\n var calendarMonth = firstDay.getMonth();\n var daysInMonth = this.calendarDaysInMonth;\n var startIndex = firstDay.getDay(); // `0`..`6`\n\n var weekOffset = (this.computedWeekStarts > startIndex ? 7 : 0) - this.computedWeekStarts; // Build the calendar matrix\n\n var currentDay = 0 - weekOffset - startIndex;\n\n for (var week = 0; week < 6 && currentDay < daysInMonth; week++) {\n // For each week\n matrix[week] = []; // The following could be a map function\n\n for (var j = 0; j < 7; j++) {\n // For each day in week\n currentDay++;\n var date = createDate(calendarYear, calendarMonth, currentDay);\n var month = date.getMonth();\n var dayYMD = formatYMD(date);\n var dayDisabled = this.dateDisabled(date); // TODO: This could be a normalizer method\n\n var dateInfo = this.computedDateInfoFn(dayYMD, parseYMD(dayYMD));\n dateInfo = isString(dateInfo) || isArray(dateInfo) ?\n /* istanbul ignore next */\n {\n class: dateInfo\n } : isPlainObject(dateInfo) ? _objectSpread({\n class: ''\n }, dateInfo) :\n /* istanbul ignore next */\n {\n class: ''\n };\n matrix[week].push({\n ymd: dayYMD,\n // Cell content\n day: this.formatDay(date),\n label: this.formatDateString(date),\n // Flags for styling\n isThisMonth: month === calendarMonth,\n isDisabled: dayDisabled,\n // TODO: Handle other dateInfo properties such as notes/events\n info: dateInfo\n });\n }\n }\n\n return matrix;\n },\n calendarHeadings: function calendarHeadings() {\n var _this2 = this;\n\n return this.calendar[0].map(function (d) {\n return {\n text: _this2.formatWeekdayNameShort(parseYMD(d.ymd)),\n label: _this2.formatWeekdayName(parseYMD(d.ymd))\n };\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n var selected = formatYMD(newValue) || '';\n var old = formatYMD(oldValue) || '';\n\n if (!datesEqual(selected, old)) {\n this.activeYMD = selected || this.activeYMD;\n this.selectedYMD = selected;\n }\n }), _defineProperty(_watch, \"selectedYMD\", function selectedYMD(newYMD, oldYMD) {\n // TODO:\n // Should we compare to `formatYMD(this.value)` and emit\n // only if they are different?\n if (newYMD !== oldYMD) {\n this.$emit(MODEL_EVENT_NAME, this.valueAsDate ? parseYMD(newYMD) || null : newYMD || '');\n }\n }), _defineProperty(_watch, \"context\", function context(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT, newValue);\n }\n }), _defineProperty(_watch, \"hidden\", function hidden(newValue) {\n // Reset the active focused day when hidden\n this.activeYMD = this.selectedYMD || formatYMD(this[MODEL_PROP_NAME] || this.constrainDate(this.initialDate || this.getToday())); // Enable/disable the live regions\n\n this.setLive(!newValue);\n }), _watch),\n created: function created() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.$emit(EVENT_NAME_CONTEXT, _this3.context);\n });\n },\n mounted: function mounted() {\n this.setLive(true);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.setLive(true);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n this.setLive(false);\n },\n beforeDestroy: function beforeDestroy() {\n this.setLive(false);\n },\n methods: {\n // Public method(s)\n focus: function focus() {\n if (!this.disabled) {\n attemptFocus(this.$refs.grid);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n attemptBlur(this.$refs.grid);\n }\n },\n // Private methods\n setLive: function setLive(on) {\n var _this4 = this;\n\n if (on) {\n this.$nextTick(function () {\n requestAF(function () {\n _this4.isLive = true;\n });\n });\n } else {\n this.isLive = false;\n }\n },\n getToday: function getToday() {\n return parseYMD(createDate());\n },\n constrainDate: function constrainDate(date) {\n // Constrains a date between min and max\n // returns a new `Date` object instance\n return _constrainDate(date, this.computedMin, this.computedMax);\n },\n emitSelected: function emitSelected(date) {\n var _this5 = this;\n\n // Performed in a `$nextTick()` to (probably) ensure\n // the input event has emitted first\n this.$nextTick(function () {\n _this5.$emit(EVENT_NAME_SELECTED, formatYMD(date) || '', parseYMD(date) || null);\n });\n },\n // Event handlers\n setGridFocusFlag: function setGridFocusFlag(event) {\n // Sets the gridHasFocus flag to make date \"button\" look focused\n this.gridHasFocus = !this.disabled && event.type === 'focus';\n },\n onKeydownWrapper: function onKeydownWrapper(event) {\n // Calendar keyboard navigation\n // Handles PAGEUP/PAGEDOWN/END/HOME/LEFT/UP/RIGHT/DOWN\n // Focuses grid after updating\n if (this.noKeyNav) {\n /* istanbul ignore next */\n return;\n }\n\n var altKey = event.altKey,\n ctrlKey = event.ctrlKey,\n keyCode = event.keyCode;\n\n if (!arrayIncludes([CODE_PAGEUP, CODE_PAGEDOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_UP, CODE_RIGHT, CODE_DOWN], keyCode)) {\n /* istanbul ignore next */\n return;\n }\n\n stopEvent(event);\n var activeDate = createDate(this.activeDate);\n var checkDate = createDate(this.activeDate);\n var day = activeDate.getDate();\n var constrainedToday = this.constrainDate(this.getToday());\n var isRTL = this.isRTL;\n\n if (keyCode === CODE_PAGEUP) {\n // PAGEUP - Previous month/year\n activeDate = (altKey ? ctrlKey ? oneDecadeAgo : oneYearAgo : oneMonthAgo)(activeDate); // We check the first day of month to be in rage\n\n checkDate = createDate(activeDate);\n checkDate.setDate(1);\n } else if (keyCode === CODE_PAGEDOWN) {\n // PAGEDOWN - Next month/year\n activeDate = (altKey ? ctrlKey ? oneDecadeAhead : oneYearAhead : oneMonthAhead)(activeDate); // We check the last day of month to be in rage\n\n checkDate = createDate(activeDate);\n checkDate.setMonth(checkDate.getMonth() + 1);\n checkDate.setDate(0);\n } else if (keyCode === CODE_LEFT) {\n // LEFT - Previous day (or next day for RTL)\n activeDate.setDate(day + (isRTL ? 1 : -1));\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_RIGHT) {\n // RIGHT - Next day (or previous day for RTL)\n activeDate.setDate(day + (isRTL ? -1 : 1));\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_UP) {\n // UP - Previous week\n activeDate.setDate(day - 7);\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_DOWN) {\n // DOWN - Next week\n activeDate.setDate(day + 7);\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_HOME) {\n // HOME - Today\n activeDate = constrainedToday;\n checkDate = activeDate;\n } else if (keyCode === CODE_END) {\n // END - Selected date, or today if no selected date\n activeDate = parseYMD(this.selectedDate) || constrainedToday;\n checkDate = activeDate;\n }\n\n if (!this.dateOutOfRange(checkDate) && !datesEqual(activeDate, this.activeDate)) {\n // We only jump to date if within min/max\n // We don't check for individual disabled dates though (via user function)\n this.activeYMD = formatYMD(activeDate);\n } // Ensure grid is focused\n\n\n this.focus();\n },\n onKeydownGrid: function onKeydownGrid(event) {\n // Pressing enter/space on grid to select active date\n var keyCode = event.keyCode;\n var activeDate = this.activeDate;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n stopEvent(event);\n\n if (!this.disabled && !this.readonly && !this.dateDisabled(activeDate)) {\n this.selectedYMD = formatYMD(activeDate);\n this.emitSelected(activeDate);\n } // Ensure grid is focused\n\n\n this.focus();\n }\n },\n onClickDay: function onClickDay(day) {\n // Clicking on a date \"button\" to select it\n var selectedDate = this.selectedDate,\n activeDate = this.activeDate;\n var clickedDate = parseYMD(day.ymd);\n\n if (!this.disabled && !day.isDisabled && !this.dateDisabled(clickedDate)) {\n if (!this.readonly) {\n // If readonly mode, we don't set the selected date, just the active date\n // If the clicked date is equal to the already selected date, we don't update the model\n this.selectedYMD = formatYMD(datesEqual(clickedDate, selectedDate) ? selectedDate : clickedDate);\n this.emitSelected(clickedDate);\n }\n\n this.activeYMD = formatYMD(datesEqual(clickedDate, activeDate) ? activeDate : createDate(clickedDate)); // Ensure grid is focused\n\n this.focus();\n }\n },\n gotoPrevDecade: function gotoPrevDecade() {\n this.activeYMD = formatYMD(this.constrainDate(oneDecadeAgo(this.activeDate)));\n },\n gotoPrevYear: function gotoPrevYear() {\n this.activeYMD = formatYMD(this.constrainDate(oneYearAgo(this.activeDate)));\n },\n gotoPrevMonth: function gotoPrevMonth() {\n this.activeYMD = formatYMD(this.constrainDate(oneMonthAgo(this.activeDate)));\n },\n gotoCurrentMonth: function gotoCurrentMonth() {\n // TODO: Maybe this goto date should be configurable?\n this.activeYMD = formatYMD(this.constrainDate(this.getToday()));\n },\n gotoNextMonth: function gotoNextMonth() {\n this.activeYMD = formatYMD(this.constrainDate(oneMonthAhead(this.activeDate)));\n },\n gotoNextYear: function gotoNextYear() {\n this.activeYMD = formatYMD(this.constrainDate(oneYearAhead(this.activeDate)));\n },\n gotoNextDecade: function gotoNextDecade() {\n this.activeYMD = formatYMD(this.constrainDate(oneDecadeAhead(this.activeDate)));\n },\n onHeaderClick: function onHeaderClick() {\n if (!this.disabled) {\n this.activeYMD = this.selectedYMD || formatYMD(this.getToday());\n this.focus();\n }\n }\n },\n render: function render(h) {\n var _this6 = this;\n\n // If `hidden` prop is set, render just a placeholder node\n if (this.hidden) {\n return h();\n }\n\n var valueId = this.valueId,\n widgetId = this.widgetId,\n navId = this.navId,\n gridId = this.gridId,\n gridCaptionId = this.gridCaptionId,\n gridHelpId = this.gridHelpId,\n activeId = this.activeId,\n disabled = this.disabled,\n noKeyNav = this.noKeyNav,\n isLive = this.isLive,\n isRTL = this.isRTL,\n activeYMD = this.activeYMD,\n selectedYMD = this.selectedYMD,\n safeId = this.safeId;\n var hideDecadeNav = !this.showDecadeNav;\n var todayYMD = formatYMD(this.getToday());\n var highlightToday = !this.noHighlightToday; // Header showing current selected date\n\n var $header = h('output', {\n staticClass: 'form-control form-control-sm text-center',\n class: {\n 'text-muted': disabled,\n readonly: this.readonly || disabled\n },\n attrs: {\n id: valueId,\n for: gridId,\n role: 'status',\n tabindex: disabled ? null : '-1',\n // Mainly for testing purposes, as we do not know\n // the exact format `Intl` will format the date string\n 'data-selected': toString(selectedYMD),\n // We wait until after mount to enable `aria-live`\n // to prevent initial announcement on page render\n 'aria-live': isLive ? 'polite' : 'off',\n 'aria-atomic': isLive ? 'true' : null\n },\n on: {\n // Transfer focus/click to focus grid\n // and focus active date (or today if no selection)\n click: this.onHeaderClick,\n focus: this.onHeaderClick\n }\n }, this.selectedDate ? [// We use `bdi` elements here in case the label doesn't match the locale\n // Although IE 11 does not deal with at all (equivalent to a span)\n h('bdi', {\n staticClass: 'sr-only'\n }, \" (\".concat(toString(this.labelSelected), \") \")), h('bdi', this.formatDateString(this.selectedDate))] : this.labelNoDateSelected || \"\\xA0\" // ' '\n );\n $header = h('header', {\n staticClass: 'b-calendar-header',\n class: {\n 'sr-only': this.hideHeader\n },\n attrs: {\n title: this.selectedDate ? this.labelSelectedDate || null : null\n }\n }, [$header]); // Content for the date navigation buttons\n\n var navScope = {\n isRTL: isRTL\n };\n var navProps = {\n shiftV: 0.5\n };\n\n var navPrevProps = _objectSpread(_objectSpread({}, navProps), {}, {\n flipH: isRTL\n });\n\n var navNextProps = _objectSpread(_objectSpread({}, navProps), {}, {\n flipH: !isRTL\n });\n\n var $prevDecadeIcon = this.normalizeSlot(SLOT_NAME_NAV_PEV_DECADE, navScope) || h(BIconChevronBarLeft, {\n props: navPrevProps\n });\n var $prevYearIcon = this.normalizeSlot(SLOT_NAME_NAV_PEV_YEAR, navScope) || h(BIconChevronDoubleLeft, {\n props: navPrevProps\n });\n var $prevMonthIcon = this.normalizeSlot(SLOT_NAME_NAV_PEV_MONTH, navScope) || h(BIconChevronLeft, {\n props: navPrevProps\n });\n var $thisMonthIcon = this.normalizeSlot(SLOT_NAME_NAV_THIS_MONTH, navScope) || h(BIconCircleFill, {\n props: navProps\n });\n var $nextMonthIcon = this.normalizeSlot(SLOT_NAME_NAV_NEXT_MONTH, navScope) || h(BIconChevronLeft, {\n props: navNextProps\n });\n var $nextYearIcon = this.normalizeSlot(SLOT_NAME_NAV_NEXT_YEAR, navScope) || h(BIconChevronDoubleLeft, {\n props: navNextProps\n });\n var $nextDecadeIcon = this.normalizeSlot(SLOT_NAME_NAV_NEXT_DECADE, navScope) || h(BIconChevronBarLeft, {\n props: navNextProps\n }); // Utility to create the date navigation buttons\n\n var makeNavBtn = function makeNavBtn(content, label, handler, btnDisabled, shortcut) {\n return h('button', {\n staticClass: 'btn btn-sm border-0 flex-fill',\n class: [_this6.computedNavButtonVariant, {\n disabled: btnDisabled\n }],\n attrs: {\n title: label || null,\n type: 'button',\n tabindex: noKeyNav ? '-1' : null,\n 'aria-label': label || null,\n 'aria-disabled': btnDisabled ? 'true' : null,\n 'aria-keyshortcuts': shortcut || null\n },\n on: btnDisabled ? {} : {\n click: handler\n }\n }, [h('div', {\n attrs: {\n 'aria-hidden': 'true'\n }\n }, [content])]);\n }; // Generate the date navigation buttons\n\n\n var $nav = h('div', {\n staticClass: 'b-calendar-nav d-flex',\n attrs: {\n id: navId,\n role: 'group',\n tabindex: noKeyNav ? '-1' : null,\n 'aria-hidden': disabled ? 'true' : null,\n 'aria-label': this.labelNav || null,\n 'aria-controls': gridId\n }\n }, [hideDecadeNav ? h() : makeNavBtn($prevDecadeIcon, this.labelPrevDecade, this.gotoPrevDecade, this.prevDecadeDisabled, 'Ctrl+Alt+PageDown'), makeNavBtn($prevYearIcon, this.labelPrevYear, this.gotoPrevYear, this.prevYearDisabled, 'Alt+PageDown'), makeNavBtn($prevMonthIcon, this.labelPrevMonth, this.gotoPrevMonth, this.prevMonthDisabled, 'PageDown'), makeNavBtn($thisMonthIcon, this.labelCurrentMonth, this.gotoCurrentMonth, this.thisMonthDisabled, 'Home'), makeNavBtn($nextMonthIcon, this.labelNextMonth, this.gotoNextMonth, this.nextMonthDisabled, 'PageUp'), makeNavBtn($nextYearIcon, this.labelNextYear, this.gotoNextYear, this.nextYearDisabled, 'Alt+PageUp'), hideDecadeNav ? h() : makeNavBtn($nextDecadeIcon, this.labelNextDecade, this.gotoNextDecade, this.nextDecadeDisabled, 'Ctrl+Alt+PageUp')]); // Caption for calendar grid\n\n var $gridCaption = h('header', {\n staticClass: 'b-calendar-grid-caption text-center font-weight-bold',\n class: {\n 'text-muted': disabled\n },\n attrs: {\n id: gridCaptionId,\n 'aria-live': isLive ? 'polite' : null,\n 'aria-atomic': isLive ? 'true' : null\n },\n key: 'grid-caption'\n }, this.formatYearMonth(this.calendarFirstDay)); // Calendar weekday headings\n\n var $gridWeekDays = h('div', {\n staticClass: 'b-calendar-grid-weekdays row no-gutters border-bottom',\n attrs: {\n 'aria-hidden': 'true'\n }\n }, this.calendarHeadings.map(function (d, idx) {\n return h('small', {\n staticClass: 'col text-truncate',\n class: {\n 'text-muted': disabled\n },\n attrs: {\n title: d.label === d.text ? null : d.label,\n 'aria-label': d.label\n },\n key: idx\n }, d.text);\n })); // Calendar day grid\n\n var $gridBody = this.calendar.map(function (week) {\n var $cells = week.map(function (day, dIndex) {\n var _class;\n\n var isSelected = day.ymd === selectedYMD;\n var isActive = day.ymd === activeYMD;\n var isToday = day.ymd === todayYMD;\n var idCell = safeId(\"_cell-\".concat(day.ymd, \"_\")); // \"fake\" button\n\n var $btn = h('span', {\n staticClass: 'btn border-0 rounded-circle text-nowrap',\n // Should we add some classes to signify if today/selected/etc?\n class: (_class = {\n // Give the fake button a focus ring\n focus: isActive && _this6.gridHasFocus,\n // Styling\n disabled: day.isDisabled || disabled,\n active: isSelected\n }, _defineProperty(_class, _this6.computedVariant, isSelected), _defineProperty(_class, _this6.computedTodayVariant, isToday && highlightToday && !isSelected && day.isThisMonth), _defineProperty(_class, 'btn-outline-light', !(isToday && highlightToday) && !isSelected && !isActive), _defineProperty(_class, 'btn-light', !(isToday && highlightToday) && !isSelected && isActive), _defineProperty(_class, 'text-muted', !day.isThisMonth && !isSelected), _defineProperty(_class, 'text-dark', !(isToday && highlightToday) && !isSelected && !isActive && day.isThisMonth), _defineProperty(_class, 'font-weight-bold', (isSelected || day.isThisMonth) && !day.isDisabled), _class),\n on: {\n click: function click() {\n return _this6.onClickDay(day);\n }\n }\n }, day.day);\n return h('div', // Cell with button\n {\n staticClass: 'col p-0',\n class: day.isDisabled ? 'bg-light' : day.info.class || '',\n attrs: {\n id: idCell,\n role: 'button',\n 'data-date': day.ymd,\n // Primarily for testing purposes\n // Only days in the month are presented as buttons to screen readers\n 'aria-hidden': day.isThisMonth ? null : 'true',\n 'aria-disabled': day.isDisabled || disabled ? 'true' : null,\n 'aria-label': [day.label, isSelected ? \"(\".concat(_this6.labelSelected, \")\") : null, isToday ? \"(\".concat(_this6.labelToday, \")\") : null].filter(identity).join(' '),\n // NVDA doesn't convey `aria-selected`, but does `aria-current`,\n // ChromeVox doesn't convey `aria-current`, but does `aria-selected`,\n // so we set both attributes for robustness\n 'aria-selected': isSelected ? 'true' : null,\n 'aria-current': isSelected ? 'date' : null\n },\n key: dIndex\n }, [$btn]);\n }); // Return the week \"row\"\n // We use the first day of the weeks YMD value as a\n // key for efficient DOM patching / element re-use\n\n return h('div', {\n staticClass: 'row no-gutters',\n key: week[0].ymd\n }, $cells);\n });\n $gridBody = h('div', {\n // A key is only required on the body if we add in transition support\n staticClass: 'b-calendar-grid-body',\n style: disabled ? {\n pointerEvents: 'none'\n } : {} // key: this.activeYMD.slice(0, -3)\n\n }, $gridBody);\n var $gridHelp = h('footer', {\n staticClass: 'b-calendar-grid-help border-top small text-muted text-center bg-light',\n attrs: {\n id: gridHelpId\n }\n }, [h('div', {\n staticClass: 'small'\n }, this.labelHelp)]);\n var $grid = h('div', {\n staticClass: 'b-calendar-grid form-control h-auto text-center',\n attrs: {\n id: gridId,\n role: 'application',\n tabindex: noKeyNav ? '-1' : disabled ? null : '0',\n 'data-month': activeYMD.slice(0, -3),\n // `YYYY-MM`, mainly for testing\n 'aria-roledescription': this.labelCalendar || null,\n 'aria-labelledby': gridCaptionId,\n 'aria-describedby': gridHelpId,\n // `aria-readonly` is not considered valid on `role=\"application\"`\n // https://www.w3.org/TR/wai-aria-1.1/#aria-readonly\n // 'aria-readonly': this.readonly && !disabled ? 'true' : null,\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-activedescendant': activeId\n },\n on: {\n keydown: this.onKeydownGrid,\n focus: this.setGridFocusFlag,\n blur: this.setGridFocusFlag\n },\n ref: 'grid'\n }, [$gridCaption, $gridWeekDays, $gridBody, $gridHelp]); // Optional bottom slot\n\n var $slot = this.normalizeSlot();\n $slot = $slot ? h('footer', {\n staticClass: 'b-calendar-footer'\n }, $slot) : h();\n var $widget = h('div', {\n staticClass: 'b-calendar-inner',\n style: this.block ? {} : {\n width: this.width\n },\n attrs: {\n id: widgetId,\n dir: isRTL ? 'rtl' : 'ltr',\n lang: this.computedLocale || null,\n role: 'group',\n 'aria-disabled': disabled ? 'true' : null,\n // If datepicker controls an input, this will specify the ID of the input\n 'aria-controls': this.ariaControls || null,\n // This should be a prop (so it can be changed to Date picker, etc, localized\n 'aria-roledescription': this.roleDescription || null,\n 'aria-describedby': [// Should the attr (if present) go last?\n // Or should this attr be a prop?\n this.bvAttrs['aria-describedby'], valueId, gridHelpId].filter(identity).join(' ')\n },\n on: {\n keydown: this.onKeydownWrapper\n }\n }, [$header, $nav, $grid, $slot]); // Wrap in an outer div that can be styled\n\n return h('div', {\n staticClass: 'b-calendar',\n class: {\n 'd-block': this.block\n }\n }, [$widget]);\n }\n});","// Localization utilities\nimport { RX_STRIP_LOCALE_MODS } from '../constants/regex';\nimport { arrayIncludes } from './array';\nimport { toString } from './string'; // Languages that are RTL\n\nvar RTL_LANGS = ['ar', 'az', 'ckb', 'fa', 'he', 'ks', 'lrc', 'mzn', 'ps', 'sd', 'te', 'ug', 'ur', 'yi'].map(function (locale) {\n return locale.toLowerCase();\n}); // Returns true if the locale is RTL\n\nexport var isLocaleRTL = function isLocaleRTL(locale) {\n // Determines if the locale is RTL (only single locale supported)\n var parts = toString(locale).toLowerCase().replace(RX_STRIP_LOCALE_MODS, '').split('-');\n var locale1 = parts.slice(0, 2).join('-');\n var locale2 = parts[0];\n return arrayIncludes(RTL_LANGS, locale1) || arrayIncludes(RTL_LANGS, locale2);\n};","// SSR safe client-side ID attribute generation\n// ID's can only be generated client-side, after mount\n// `this._uid` is not synched between server and client\nimport { COMPONENT_UID_KEY, Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp } from '../utils/props'; // --- Props ---\n\nexport var props = {\n id: makeProp(PROP_TYPE_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var idMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localId_: null\n };\n },\n computed: {\n safeId: function safeId() {\n // Computed property that returns a dynamic function for creating the ID\n // Reacts to changes in both `.id` and `.localId_` and regenerates a new function\n var id = this.id || this.localId_; // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method\n // but benefits from Vue's computed prop caching\n\n var fn = function fn(suffix) {\n if (!id) {\n return null;\n }\n\n suffix = String(suffix || '').replace(/\\s+/g, '_');\n return suffix ? id + '_' + suffix : id;\n };\n\n return fn;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // `mounted()` only occurs client-side\n this.$nextTick(function () {\n // Update DOM with auto-generated ID after mount\n // to prevent SSR hydration errors\n _this.localId_ = \"__BVID__\".concat(_this[COMPONENT_UID_KEY]);\n });\n }\n});","import { BCalendar } from './calendar';\nimport { pluginFactory } from '../../utils/plugins';\nvar CalendarPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BCalendar: BCalendar\n }\n});\nexport { CalendarPlugin, BCalendar };","import { Vue } from '../vue';\nimport { NAME_CARD } from '../constants/components';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n bgVariant: makeProp(PROP_TYPE_STRING),\n borderVariant: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_CARD); // --- Mixin ---\n// @vue/component\n\nexport var cardMixin = Vue.extend({\n props: props\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n}, NAME_CARD_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TITLE,\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 return h(props.titleTag, mergeData(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_SUB_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n subTitle: makeProp(PROP_TYPE_STRING),\n subTitleTag: makeProp(PROP_TYPE_STRING, 'h6'),\n subTitleTextVariant: makeProp(PROP_TYPE_STRING, 'muted')\n}, NAME_CARD_SUB_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardSubTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_SUB_TITLE,\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 return h(props.subTitleTag, mergeData(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? \"text-\".concat(props.subTitleTextVariant) : null]\n }), children || toString(props.subTitle));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_BODY } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardTitle, props as titleProps } from './card-title';\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, titleProps), subTitleProps), copyProps(cardProps, prefixPropName.bind(null, 'body'))), {}, {\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n overlay: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_BODY); // --- Main component ---\n// @vue/component\n\nexport var BCardBody = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_BODY,\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 children = _ref.children;\n var bodyBgVariant = props.bodyBgVariant,\n bodyBorderVariant = props.bodyBorderVariant,\n bodyTextVariant = props.bodyTextVariant;\n var $title = h();\n\n if (props.title) {\n $title = h(BCardTitle, {\n props: pluckProps(titleProps, props)\n });\n }\n\n var $subTitle = h();\n\n if (props.subTitle) {\n $subTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n });\n }\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-\".concat(bodyBgVariant), bodyBgVariant), _defineProperty(_ref2, \"border-\".concat(bodyBorderVariant), bodyBorderVariant), _defineProperty(_ref2, \"text-\".concat(bodyTextVariant), bodyTextVariant), _ref2), props.bodyClass]\n }), [$title, $subTitle, children]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_HEADER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'header'))), {}, {\n header: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_HEADER); // --- Main component ---\n// @vue/component\n\nexport var BCardHeader = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_HEADER,\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 children = _ref.children;\n var headerBgVariant = props.headerBgVariant,\n headerBorderVariant = props.headerBorderVariant,\n headerTextVariant = props.headerTextVariant;\n return h(props.headerTag, mergeData(data, {\n staticClass: 'card-header',\n class: [props.headerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(headerBgVariant), headerBgVariant), _defineProperty(_ref2, \"border-\".concat(headerBorderVariant), headerBorderVariant), _defineProperty(_ref2, \"text-\".concat(headerTextVariant), headerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.headerHtml, props.header)\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_FOOTER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'footer'))), {}, {\n footer: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_FOOTER); // --- Main component ---\n// @vue/component\n\nexport var BCardFooter = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_FOOTER,\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 children = _ref.children;\n var footerBgVariant = props.footerBgVariant,\n footerBorderVariant = props.footerBorderVariant,\n footerTextVariant = props.footerTextVariant;\n return h(props.footerTag, mergeData(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(footerBgVariant), footerBgVariant), _defineProperty(_ref2, \"border-\".concat(footerBorderVariant), footerBorderVariant), _defineProperty(_ref2, \"text-\".concat(footerTextVariant), footerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.footerHtml, props.footer)\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 { Vue, mergeData } from '../../vue';\nimport { NAME_IMG } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { isString } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Constants --\n// Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\nvar makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', toString(width)).replace('%{h}', toString(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n alt: makeProp(PROP_TYPE_STRING),\n blank: makeProp(PROP_TYPE_BOOLEAN, false),\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n center: makeProp(PROP_TYPE_BOOLEAN, false),\n fluid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Gives fluid images class `w-100` to make them grow to fit container\n fluidGrow: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_NUMBER_STRING),\n left: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n // Possible values:\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 rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sizes: makeProp(PROP_TYPE_ARRAY_STRING),\n src: makeProp(PROP_TYPE_STRING),\n srcset: makeProp(PROP_TYPE_ARRAY_STRING),\n thumbnail: makeProp(PROP_TYPE_BOOLEAN, false),\n width: makeProp(PROP_TYPE_NUMBER_STRING)\n}, NAME_IMG); // --- Main component ---\n// @vue/component\n\nexport var BImg = /*#__PURE__*/Vue.extend({\n name: NAME_IMG,\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 var alt = props.alt,\n src = props.src,\n block = props.block,\n fluidGrow = props.fluidGrow,\n rounded = props.rounded;\n var width = toInteger(props.width) || null;\n var height = toInteger(props.height) || null;\n var align = null;\n var srcset = concat(props.srcset).filter(identity).join(',');\n var sizes = concat(props.sizes).filter(identity).join(',');\n\n if (props.blank) {\n if (!height && width) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent'); // Disable srcset and sizes\n\n srcset = null;\n sizes = null;\n }\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\n return h('img', mergeData(data, {\n attrs: {\n src: src,\n alt: alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || fluidGrow,\n 'w-100': fluidGrow,\n rounded: rounded === '' || rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(rounded), isString(rounded) && rounded !== ''), _defineProperty(_class, align, align), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(BImgProps, ['src', 'alt', 'width', 'height', 'left', 'right'])), {}, {\n bottom: makeProp(PROP_TYPE_BOOLEAN, false),\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n start: makeProp(PROP_TYPE_BOOLEAN, false),\n top: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_IMG); // --- Main component ---\n// @vue/component\n\nexport var BCardImg = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var src = props.src,\n alt = props.alt,\n width = props.width,\n height = props.height;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', mergeData(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\n }\n }));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardBody, props as BCardBodyProps } from './card-body';\nimport { BCardHeader, props as BCardHeaderProps } from './card-header';\nimport { BCardFooter, props as BCardFooterProps } from './card-footer';\nimport { BCardImg, props as BCardImgProps } from './card-img'; // --- Props ---\n\nvar cardImgProps = copyProps(BCardImgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, BCardBodyProps), BCardHeaderProps), BCardFooterProps), cardImgProps), cardProps), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD); // --- Main component ---\n// @vue/component\n\nexport var BCard = /*#__PURE__*/Vue.extend({\n name: NAME_CARD,\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 scopedSlots = _ref.scopedSlots;\n var imgSrc = props.imgSrc,\n imgLeft = props.imgLeft,\n imgRight = props.imgRight,\n imgStart = props.imgStart,\n imgEnd = props.imgEnd,\n imgBottom = props.imgBottom,\n header = props.header,\n headerHtml = props.headerHtml,\n footer = props.footer,\n footerHtml = props.footerHtml,\n align = props.align,\n textVariant = props.textVariant,\n bgVariant = props.bgVariant,\n borderVariant = props.borderVariant;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $imgFirst = h();\n var $imgLast = h();\n\n if (imgSrc) {\n var $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n });\n\n if (imgBottom) {\n $imgLast = $img;\n } else {\n $imgFirst = $img;\n }\n }\n\n var $header = h();\n var hasHeaderSlot = hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots);\n\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(BCardHeader, {\n props: pluckProps(BCardHeaderProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots));\n }\n\n var $content = normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots); // Wrap content in `` when `noBody` prop set\n\n if (!props.noBody) {\n $content = h(BCardBody, {\n props: pluckProps(BCardBodyProps, props)\n }, $content); // When the `overlap` prop is set we need to wrap the `` and ``\n // into a relative positioned wrapper to don't distract a potential header or footer\n\n if (props.overlay && imgSrc) {\n $content = h('div', {\n staticClass: 'position-relative'\n }, [$imgFirst, $content, $imgLast]); // Reset image variables since they are already in the wrapper\n\n $imgFirst = h();\n $imgLast = h();\n }\n }\n\n var $footer = h();\n var hasFooterSlot = hasNormalizedSlot(SLOT_NAME_FOOTER, $scopedSlots, $slots);\n\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(BCardFooter, {\n props: pluckProps(BCardFooterProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart)\n }, _defineProperty(_class, \"text-\".concat(align), align), _defineProperty(_class, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_class, \"border-\".concat(borderVariant), borderVariant), _defineProperty(_class, \"text-\".concat(textVariant), textVariant), _class)\n }), [$imgFirst, $header, $content, $footer, $imgLast]);\n }\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility..=\"\"\n//\n// Value:\n// : method to be called when visibility state changes, receives one arg:\n// true: element is visible\n// false: element is not visible\n// null: IntersectionObserver not supported\n//\n// Modifiers:\n// : a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// : keyword 'once', meaning when the element becomes visible and\n// callback is called observation/notification will stop.\n//\n// When used in a render function:\n// export default {\n// directives: { 'b-visible': VBVisible },\n// render(h) {\n// h(\n// 'div',\n// {\n// directives: [\n// { name: 'b-visible', value=this.callback, modifiers: { '123':true, 'once':true } }\n// ]\n// }\n// )\n// }\nimport { RX_DIGITS } from '../../constants/regex';\nimport { requestAF } from '../../utils/dom';\nimport { isFunction } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { clone, keys } from '../../utils/object';\nvar OBSERVER_PROP_NAME = '__bv__visibility_observer';\n\nvar VisibilityObserver = /*#__PURE__*/function () {\n function VisibilityObserver(el, options, vnode) {\n _classCallCheck(this, VisibilityObserver);\n\n this.el = el;\n this.callback = options.callback;\n this.margin = options.margin || 0;\n this.once = options.once || false;\n this.observer = null;\n this.visible = undefined;\n this.doneOnce = false; // Create the observer instance (if possible)\n\n this.createObserver(vnode);\n }\n\n _createClass(VisibilityObserver, [{\n key: \"createObserver\",\n value: function createObserver(vnode) {\n var _this = this;\n\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop();\n } // Should only be called once and `callback` prop should be a function\n\n\n if (this.doneOnce || !isFunction(this.callback)) {\n /* istanbul ignore next */\n return;\n } // Create the observer instance\n\n\n try {\n // Future: Possibly add in other modifiers for left/right/top/bottom\n // offsets, root element reference, and thresholds\n this.observer = new IntersectionObserver(this.handler.bind(this), {\n // `null` = 'viewport'\n root: null,\n // Pixels away from view port to consider \"visible\"\n rootMargin: this.margin,\n // Intersection ratio of el and root (as a value from 0 to 1)\n threshold: 0\n });\n } catch (_unused) {\n // No IntersectionObserver support, so just stop trying to observe\n this.doneOnce = true;\n this.observer = undefined;\n this.callback(null);\n return;\n } // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n\n\n vnode.context.$nextTick(function () {\n requestAF(function () {\n // Placed in an `if` just in case we were destroyed before\n // this `requestAnimationFrame` runs\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n });\n }\n /* istanbul ignore next */\n\n }, {\n key: \"handler\",\n value: function handler(entries) {\n var entry = entries ? entries[0] : {};\n var isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0);\n\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting;\n this.callback(isIntersecting);\n\n if (this.once && this.visible) {\n this.doneOnce = true;\n this.stop();\n }\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n /* istanbul ignore next */\n this.observer && this.observer.disconnect();\n this.observer = null;\n }\n }]);\n\n return VisibilityObserver;\n}();\n\nvar destroy = function destroy(el) {\n var observer = el[OBSERVER_PROP_NAME];\n\n if (observer && observer.stop) {\n observer.stop();\n }\n\n delete el[OBSERVER_PROP_NAME];\n};\n\nvar bind = function bind(el, _ref, vnode) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n // `value` is the callback function\n var options = {\n margin: '0px',\n once: false,\n callback: value\n }; // Parse modifiers\n\n keys(modifiers).forEach(function (mod) {\n /* istanbul ignore else: Until is switched to use this directive */\n if (RX_DIGITS.test(mod)) {\n options.margin = \"\".concat(mod, \"px\");\n } else if (mod.toLowerCase() === 'once') {\n options.once = true;\n }\n }); // Destroy any previous observer\n\n destroy(el); // Create new observer\n\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options, vnode); // Store the current modifiers on the object (cloned)\n\n el[OBSERVER_PROP_NAME]._prevModifiers = clone(modifiers);\n}; // When the directive options may have been updated (or element)\n\n\nvar componentUpdated = function componentUpdated(el, _ref2, vnode) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n\n /* istanbul ignore next */\n modifiers = clone(modifiers);\n /* istanbul ignore next */\n\n if (el && (value !== oldValue || !el[OBSERVER_PROP_NAME] || !looseEqual(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers))) {\n // Re-bind on element\n bind(el, {\n value: value,\n modifiers: modifiers\n }, vnode);\n }\n}; // When directive un-binds from element\n\n\nvar unbind = function unbind(el) {\n // Remove the observer\n destroy(el);\n}; // Export the directive\n\n\nexport var VBVisible = {\n bind: bind,\n componentUpdated: componentUpdated,\n unbind: unbind\n};","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_IMG_LAZY } from '../../constants/components';\nimport { HAS_INTERACTION_OBSERVER_SUPPORT } from '../../constants/env';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { toInteger } from '../../utils/number';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { VBVisible } from '../../directives/visible/visible';\nimport { BImg, props as BImgProps } from './img'; // --- Constants ---\n\nvar MODEL_PROP_NAME_SHOW = 'show';\nvar MODEL_EVENT_NAME_SHOW = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SHOW; // --- Props ---\n\nvar imgProps = omit(BImgProps, ['blank']);\nexport var props = makePropsConfigurable(_objectSpread(_objectSpread({}, imgProps), {}, _defineProperty({\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n blankHeight: makeProp(PROP_TYPE_NUMBER_STRING),\n // If `null`, a blank image is generated\n blankSrc: makeProp(PROP_TYPE_STRING, null),\n blankWidth: makeProp(PROP_TYPE_NUMBER_STRING),\n // Distance away from viewport (in pixels)\n // before being considered \"visible\"\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 360)\n}, MODEL_PROP_NAME_SHOW, makeProp(PROP_TYPE_BOOLEAN, false))), NAME_IMG_LAZY); // --- Main component ---\n// @vue/component\n\nexport var BImgLazy = /*#__PURE__*/Vue.extend({\n name: NAME_IMG_LAZY,\n directives: {\n 'b-visible': VBVisible\n },\n props: props,\n data: function data() {\n return {\n isShown: this[MODEL_PROP_NAME_SHOW]\n };\n },\n computed: {\n computedSrc: function computedSrc() {\n var blankSrc = this.blankSrc;\n return !blankSrc || this.isShown ? this.src : blankSrc;\n },\n computedBlank: function computedBlank() {\n return !(this.isShown || this.blankSrc);\n },\n computedWidth: function computedWidth() {\n var width = this.width;\n return this.isShown ? width : this.blankWidth || width;\n },\n computedHeight: function computedHeight() {\n var height = this.height;\n return this.isShown ? height : this.blankHeight || height;\n },\n computedSrcset: function computedSrcset() {\n var srcset = concat(this.srcset).filter(identity).join(',');\n return !this.blankSrc || this.isShown ? srcset : null;\n },\n computedSizes: function computedSizes() {\n var sizes = concat(this.sizes).filter(identity).join(',');\n return !this.blankSrc || this.isShown ? sizes : null;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME_SHOW, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n // If `IntersectionObserver` support is not available, image is always shown\n var visible = HAS_INTERACTION_OBSERVER_SUPPORT ? newValue : true;\n this.isShown = visible; // Ensure the show prop is synced (when no `IntersectionObserver`)\n\n if (visible !== newValue) {\n this.$nextTick(this.updateShowProp);\n }\n }\n }), _defineProperty(_watch, \"isShown\", function isShown(newValue, oldValue) {\n // Update synched show prop\n if (newValue !== oldValue) {\n this.updateShowProp();\n }\n }), _watch),\n mounted: function mounted() {\n // If `IntersectionObserver` is not available, image is always shown\n this.isShown = HAS_INTERACTION_OBSERVER_SUPPORT ? this[MODEL_PROP_NAME_SHOW] : true;\n },\n methods: {\n updateShowProp: function updateShowProp() {\n this.$emit(MODEL_EVENT_NAME_SHOW, this.isShown);\n },\n doShow: function doShow(visible) {\n // If IntersectionObserver is not supported, the callback\n // will be called with `null` rather than `true` or `false`\n if ((visible || visible === null) && !this.isShown) {\n this.isShown = true;\n }\n }\n },\n render: function render(h) {\n var directives = [];\n\n if (!this.isShown) {\n var _modifiers;\n\n // We only add the visible directive if we are not shown\n directives.push({\n // Visible directive will silently do nothing if\n // IntersectionObserver is not supported\n name: 'b-visible',\n // Value expects a callback (passed one arg of `visible` = `true` or `false`)\n value: this.doShow,\n modifiers: (_modifiers = {}, _defineProperty(_modifiers, \"\".concat(toInteger(this.offset, 0)), true), _defineProperty(_modifiers, \"once\", true), _modifiers)\n });\n }\n\n return h(BImg, {\n directives: directives,\n props: _objectSpread({\n // Computed value props\n src: this.computedSrc,\n blank: this.computedBlank,\n width: this.computedWidth,\n height: this.computedHeight,\n srcset: this.computedSrcset || null,\n sizes: this.computedSizes || null\n }, pluckProps(imgProps, this.$props))\n });\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_IMG_LAZY } from '../../constants/components';\nimport { keys, omit, sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img';\nimport { BImgLazy, props as BImgLazyProps } from '../image/img-lazy';\nimport { props as BCardImgProps } from './card-img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BImgLazyProps, keys(BImgProps))), omit(BCardImgProps, ['src', 'alt', 'width', 'height']))), NAME_CARD_IMG_LAZY); // --- Main component ---\n// @vue/component\n\nexport var BCardImgLazy = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG_LAZY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h(BImgLazy, mergeData(data, {\n class: [baseClass],\n // Exclude `left` and `right` props before passing to ``\n props: omit(props, ['left', 'right'])\n }));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TEXT,\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 return h(props.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_GROUP } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n columns: makeProp(PROP_TYPE_BOOLEAN, false),\n deck: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_CARD_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BCardGroup = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_GROUP,\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 return h(props.tag, mergeData(data, {\n class: props.deck ? 'card-deck' : props.columns ? 'card-columns' : 'card-group'\n }), children);\n }\n});","import { BCard } from './card';\nimport { BCardHeader } from './card-header';\nimport { BCardBody } from './card-body';\nimport { BCardTitle } from './card-title';\nimport { BCardSubTitle } from './card-sub-title';\nimport { BCardFooter } from './card-footer';\nimport { BCardImg } from './card-img';\nimport { BCardImgLazy } from './card-img-lazy';\nimport { BCardText } from './card-text';\nimport { BCardGroup } from './card-group';\nimport { pluginFactory } from '../../utils/plugins';\nvar CardPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BCard: BCard,\n BCardHeader: BCardHeader,\n BCardBody: BCardBody,\n BCardTitle: BCardTitle,\n BCardSubTitle: BCardSubTitle,\n BCardFooter: BCardFooter,\n BCardImg: BCardImg,\n BCardImgLazy: BCardImgLazy,\n BCardText: BCardText,\n BCardGroup: BCardGroup\n }\n});\nexport { CardPlugin, BCard, BCardHeader, BCardBody, BCardTitle, BCardSubTitle, BCardFooter, BCardImg, BCardImgLazy, BCardText, BCardGroup };","export var noop = function noop() {};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { MutationObs, isElement } from './dom';\nimport { warnNoMutationObserverSupport } from './warn';\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [options={childList: true, subtree: true}] observe options\n * @see https://stackoverflow.com/questions/3219758\n */\n\nexport var observeDom = function observeDom(el, callback, options)\n/* istanbul ignore next: difficult to test in JSDOM */\n{\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null; // Early exit when we have no element\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n if (!isElement(el)) {\n return null;\n } // Exit and throw a warning when `MutationObserver` isn't available\n\n\n if (warnNoMutationObserverSupport('observeDom')) {\n return null;\n } // Define a new observer\n\n\n var obs = new MutationObs(function (mutations) {\n var changed = false; // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n\n for (var i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n var mutation = mutations[i]; // Mutation type\n\n var type = mutation.type; // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n\n var target = mutation.target; // Detect whether a change happened based on type and target\n\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc.)\n // as they don't change layout\n changed = true;\n } else if (type === 'attributes') {\n changed = true;\n } else if (type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true;\n }\n } // We only call the callback if a change that could affect\n // layout/size truly happened\n\n\n if (changed) {\n callback();\n }\n }); // Have the observer observe foo for changes in children, etc\n\n obs.observe(el, _objectSpread({\n childList: true,\n subtree: true\n }, options)); // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n\n return obs;\n};","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_CAROUSEL } from '../../constants/components';\nimport { IS_BROWSER, HAS_POINTER_EVENT_SUPPORT, HAS_TOUCH_SUPPORT } from '../../constants/env';\nimport { EVENT_NAME_PAUSED, EVENT_NAME_SLIDING_END, EVENT_NAME_SLIDING_START, EVENT_NAME_UNPAUSED, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { CODE_ENTER, CODE_LEFT, CODE_RIGHT, CODE_SPACE } from '../../constants/key-codes';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { addClass, getActiveElement, reflow, removeClass, requestAF, selectAll, setAttr } from '../../utils/dom';\nimport { eventOn, eventOff, stopEvent } from '../../utils/events';\nimport { isUndefined } from '../../utils/inspect';\nimport { mathAbs, mathFloor, mathMax, mathMin } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { noop } from '../../utils/noop';\nimport { sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER,\n defaultValue: 0\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // Slide directional classes\n\n\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}; // Fallback Transition duration (with a little buffer) in ms\n\nvar TRANS_DURATION = 600 + 50; // Time for mouse compat events to fire after touch\n\nvar TOUCH_EVENT_COMPAT_WAIT = 500; // Number of pixels to consider touch move a swipe\n\nvar SWIPE_THRESHOLD = 40; // PointerEvent pointer types\n\nvar PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}; // Transition Event names\n\nvar TransitionEndEvents = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'otransitionend oTransitionEnd',\n transition: 'transitionend'\n}; // --- Helper methods ---\n// Return the browser specific transitionEnd event name\n\nvar getTransitionEndEvent = function getTransitionEndEvent(el) {\n for (var name in TransitionEndEvents) {\n if (!isUndefined(el.style[name])) {\n return TransitionEndEvents[name];\n }\n } // Fallback\n\n /* istanbul ignore next */\n\n\n return null;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n background: makeProp(PROP_TYPE_STRING),\n controls: makeProp(PROP_TYPE_BOOLEAN, false),\n // Enable cross-fade animation instead of slide animation\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n // Sniffed by carousel-slide\n imgHeight: makeProp(PROP_TYPE_NUMBER_STRING),\n // Sniffed by carousel-slide\n imgWidth: makeProp(PROP_TYPE_NUMBER_STRING),\n indicators: makeProp(PROP_TYPE_BOOLEAN, false),\n interval: makeProp(PROP_TYPE_NUMBER, 5000),\n labelGotoSlide: makeProp(PROP_TYPE_STRING, 'Goto slide'),\n labelIndicators: makeProp(PROP_TYPE_STRING, 'Select a slide to display'),\n labelNext: makeProp(PROP_TYPE_STRING, 'Next slide'),\n labelPrev: makeProp(PROP_TYPE_STRING, 'Previous slide'),\n // Disable slide/fade animation\n noAnimation: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable pause on hover\n noHoverPause: makeProp(PROP_TYPE_BOOLEAN, false),\n // Sniffed by carousel-slide\n noTouch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable wrapping/looping when start/end is reached\n noWrap: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CAROUSEL); // --- Main component ---\n// @vue/component\n\nexport var BCarousel = /*#__PURE__*/Vue.extend({\n name: NAME_CAROUSEL,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvCarousel: this\n };\n },\n props: props,\n data: function data() {\n return {\n index: this[MODEL_PROP_NAME] || 0,\n isSliding: false,\n transitionEndEvent: null,\n slides: [],\n direction: null,\n isPaused: !(toInteger(this.interval, 0) > 0),\n // Touch event handling values\n touchStartX: 0,\n touchDeltaX: 0\n };\n },\n computed: {\n numSlides: function numSlides() {\n return this.slides.length;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.setSlide(toInteger(newValue, 0));\n }\n }), _defineProperty(_watch, \"interval\", function interval(newValue, oldValue) {\n /* istanbul ignore next */\n if (newValue === oldValue) {\n return;\n }\n\n if (!newValue) {\n // Pausing slide show\n this.pause(false);\n } else {\n // Restarting or Changing interval\n this.pause(true);\n this.start(false);\n }\n }), _defineProperty(_watch, \"isPaused\", function isPaused(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(newValue ? EVENT_NAME_PAUSED : EVENT_NAME_UNPAUSED);\n }\n }), _defineProperty(_watch, \"index\", function index(to, from) {\n /* istanbul ignore next */\n if (to === from || this.isSliding) {\n return;\n }\n\n this.doSlide(to, from);\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_interval = null;\n this.$_animationTimeout = null;\n this.$_touchTimeout = null;\n this.$_observer = null; // Set initial paused state\n\n this.isPaused = !(toInteger(this.interval, 0) > 0);\n },\n mounted: function mounted() {\n // Cache current browser transitionend event name\n this.transitionEndEvent = getTransitionEndEvent(this.$el) || null; // Get all slides\n\n this.updateSlides(); // Observe child changes so we can update slide list\n\n this.setObserver(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearInterval();\n this.clearAnimationTimeout();\n this.clearTouchTimeout();\n this.setObserver(false);\n },\n methods: {\n clearInterval: function (_clearInterval) {\n function clearInterval() {\n return _clearInterval.apply(this, arguments);\n }\n\n clearInterval.toString = function () {\n return _clearInterval.toString();\n };\n\n return clearInterval;\n }(function () {\n clearInterval(this.$_interval);\n this.$_interval = null;\n }),\n clearAnimationTimeout: function clearAnimationTimeout() {\n clearTimeout(this.$_animationTimeout);\n this.$_animationTimeout = null;\n },\n clearTouchTimeout: function clearTouchTimeout() {\n clearTimeout(this.$_touchTimeout);\n this.$_touchTimeout = null;\n },\n setObserver: function setObserver() {\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n this.$_observer = observeDom(this.$refs.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n });\n }\n },\n // Set slide\n setSlide: function setSlide(slide) {\n var _this = this;\n\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // Don't animate when page is not visible\n\n /* istanbul ignore if: difficult to test */\n if (IS_BROWSER && document.visibilityState && document.hidden) {\n return;\n }\n\n var noWrap = this.noWrap;\n var numSlides = this.numSlides; // Make sure we have an integer (you never know!)\n\n slide = mathFloor(slide); // Don't do anything if nothing to slide to\n\n if (numSlides === 0) {\n return;\n } // Don't change slide while transitioning, wait until transition is done\n\n\n if (this.isSliding) {\n // Schedule slide after sliding complete\n this.$once(EVENT_NAME_SLIDING_END, function () {\n // Wrap in `requestAF()` to allow the slide to properly finish to avoid glitching\n requestAF(function () {\n return _this.setSlide(slide, direction);\n });\n });\n return;\n }\n\n this.direction = direction; // Set new slide index\n // Wrap around if necessary (if no-wrap not enabled)\n\n this.index = slide >= numSlides ? noWrap ? numSlides - 1 : 0 : slide < 0 ? noWrap ? 0 : numSlides - 1 : slide; // Ensure the v-model is synched up if no-wrap is enabled\n // and user tried to slide pass either ends\n\n if (noWrap && this.index !== slide && this.index !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, this.index);\n }\n },\n // Previous slide\n prev: function prev() {\n this.setSlide(this.index - 1, 'prev');\n },\n // Next slide\n next: function next() {\n this.setSlide(this.index + 1, 'next');\n },\n // Pause auto rotation\n pause: function pause(event) {\n if (!event) {\n this.isPaused = true;\n }\n\n this.clearInterval();\n },\n // Start auto rotate slides\n start: function start(event) {\n if (!event) {\n this.isPaused = false;\n }\n /* istanbul ignore next: most likely will never happen, but just in case */\n\n\n this.clearInterval(); // Don't start if no interval, or less than 2 slides\n\n if (this.interval && this.numSlides > 1) {\n this.$_interval = setInterval(this.next, mathMax(1000, this.interval));\n }\n },\n // Restart auto rotate slides when focus/hover leaves the carousel\n\n /* istanbul ignore next */\n restart: function restart() {\n if (!this.$el.contains(getActiveElement())) {\n this.start();\n }\n },\n doSlide: function doSlide(to, from) {\n var _this2 = this;\n\n var isCycling = Boolean(this.interval); // Determine sliding direction\n\n var direction = this.calcDirection(this.direction, from, to);\n var overlayClass = direction.overlayClass;\n var dirClass = direction.dirClass; // Determine current and next slides\n\n var currentSlide = this.slides[from];\n var nextSlide = this.slides[to]; // Don't do anything if there aren't any slides to slide to\n\n if (!currentSlide || !nextSlide) {\n /* istanbul ignore next */\n return;\n } // Start animating\n\n\n this.isSliding = true;\n\n if (isCycling) {\n this.pause(false);\n }\n\n this.$emit(EVENT_NAME_SLIDING_START, to); // Update v-model\n\n this.$emit(MODEL_EVENT_NAME, this.index);\n\n if (this.noAnimation) {\n addClass(nextSlide, 'active');\n removeClass(currentSlide, 'active');\n this.isSliding = false; // Notify ourselves that we're done sliding (slid)\n\n this.$nextTick(function () {\n return _this2.$emit(EVENT_NAME_SLIDING_END, to);\n });\n } else {\n addClass(nextSlide, overlayClass); // Trigger a reflow of next slide\n\n reflow(nextSlide);\n addClass(currentSlide, dirClass);\n addClass(nextSlide, dirClass); // Transition End handler\n\n var called = false;\n /* istanbul ignore next: difficult to test */\n\n var onceTransEnd = function onceTransEnd() {\n if (called) {\n return;\n }\n\n called = true;\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n if (_this2.transitionEndEvent) {\n var events = _this2.transitionEndEvent.split(/\\s+/);\n\n events.forEach(function (event) {\n return eventOff(nextSlide, event, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE);\n });\n }\n\n _this2.clearAnimationTimeout();\n\n removeClass(nextSlide, dirClass);\n removeClass(nextSlide, overlayClass);\n addClass(nextSlide, 'active');\n removeClass(currentSlide, 'active');\n removeClass(currentSlide, dirClass);\n removeClass(currentSlide, overlayClass);\n setAttr(currentSlide, 'aria-current', 'false');\n setAttr(nextSlide, 'aria-current', 'true');\n setAttr(currentSlide, 'aria-hidden', 'true');\n setAttr(nextSlide, 'aria-hidden', 'false');\n _this2.isSliding = false;\n _this2.direction = null; // Notify ourselves that we're done sliding (slid)\n\n _this2.$nextTick(function () {\n return _this2.$emit(EVENT_NAME_SLIDING_END, to);\n });\n }; // Set up transitionend handler\n\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n\n if (this.transitionEndEvent) {\n var events = this.transitionEndEvent.split(/\\s+/);\n events.forEach(function (event) {\n return eventOn(nextSlide, event, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE);\n });\n } // Fallback to setTimeout()\n\n\n this.$_animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION);\n }\n\n if (isCycling) {\n this.start(false);\n }\n },\n // Update slide list\n updateSlides: function updateSlides() {\n this.pause(true); // Get all slides as DOM elements\n\n this.slides = selectAll('.carousel-item', this.$refs.inner);\n var numSlides = this.slides.length; // Keep slide number in range\n\n var index = mathMax(0, mathMin(mathFloor(this.index), numSlides - 1));\n this.slides.forEach(function (slide, idx) {\n var n = idx + 1;\n\n if (idx === index) {\n addClass(slide, 'active');\n setAttr(slide, 'aria-current', 'true');\n } else {\n removeClass(slide, 'active');\n setAttr(slide, 'aria-current', 'false');\n }\n\n setAttr(slide, 'aria-posinset', String(n));\n setAttr(slide, 'aria-setsize', String(numSlides));\n }); // Set slide as active\n\n this.setSlide(index);\n this.start(this.isPaused);\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\n return DIRECTION[direction];\n },\n handleClick: function handleClick(event, fn) {\n var keyCode = event.keyCode;\n\n if (event.type === 'click' || keyCode === CODE_SPACE || keyCode === CODE_ENTER) {\n stopEvent(event);\n fn();\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n handleSwipe: function handleSwipe() {\n var absDeltaX = mathAbs(this.touchDeltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltaX / this.touchDeltaX; // Reset touch delta X\n // https://github.com/twbs/bootstrap/pull/28558\n\n this.touchDeltaX = 0;\n\n if (direction > 0) {\n // Swipe left\n this.prev();\n } else if (direction < 0) {\n // Swipe right\n this.next();\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchStart: function touchStart(event) {\n if (HAS_POINTER_EVENT_SUPPORT && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX;\n } else if (!HAS_POINTER_EVENT_SUPPORT) {\n this.touchStartX = event.touches[0].clientX;\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchMove: function touchMove(event) {\n // Ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0;\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX;\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchEnd: function touchEnd(event) {\n if (HAS_POINTER_EVENT_SUPPORT && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX;\n }\n\n this.handleSwipe(); // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause(false);\n this.clearTouchTimeout();\n this.$_touchTimeout = setTimeout(this.start, TOUCH_EVENT_COMPAT_WAIT + mathMax(1000, this.interval));\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n var indicators = this.indicators,\n background = this.background,\n noAnimation = this.noAnimation,\n noHoverPause = this.noHoverPause,\n noTouch = this.noTouch,\n index = this.index,\n isSliding = this.isSliding,\n pause = this.pause,\n restart = this.restart,\n touchStart = this.touchStart,\n touchEnd = this.touchEnd;\n var idInner = this.safeId('__BV_inner_'); // Wrapper for slides\n\n var $inner = h('div', {\n staticClass: 'carousel-inner',\n attrs: {\n id: idInner,\n role: 'list'\n },\n ref: 'inner'\n }, [this.normalizeSlot()]); // Prev and next controls\n\n var $controls = h();\n\n if (this.controls) {\n var makeControl = function makeControl(direction, label, handler) {\n var handlerWrapper = function handlerWrapper(event) {\n /* istanbul ignore next */\n if (!isSliding) {\n _this3.handleClick(event, handler);\n } else {\n stopEvent(event, {\n propagation: false\n });\n }\n };\n\n return h('a', {\n staticClass: \"carousel-control-\".concat(direction),\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': idInner,\n 'aria-disabled': isSliding ? 'true' : null\n },\n on: {\n click: handlerWrapper,\n keydown: handlerWrapper\n }\n }, [h('span', {\n staticClass: \"carousel-control-\".concat(direction, \"-icon\"),\n attrs: {\n 'aria-hidden': 'true'\n }\n }), h('span', {\n class: 'sr-only'\n }, [label])]);\n };\n\n $controls = [makeControl('prev', this.labelPrev, this.prev), makeControl('next', this.labelNext, this.next)];\n } // Indicators\n\n\n var $indicators = h('ol', {\n staticClass: 'carousel-indicators',\n directives: [{\n name: 'show',\n value: indicators\n }],\n attrs: {\n id: this.safeId('__BV_indicators_'),\n 'aria-hidden': indicators ? 'false' : 'true',\n 'aria-label': this.labelIndicators,\n 'aria-owns': idInner\n }\n }, this.slides.map(function (slide, i) {\n var handler = function handler(event) {\n _this3.handleClick(event, function () {\n _this3.setSlide(i);\n });\n };\n\n return h('li', {\n class: {\n active: i === index\n },\n attrs: {\n role: 'button',\n id: _this3.safeId(\"__BV_indicator_\".concat(i + 1, \"_\")),\n tabindex: indicators ? '0' : '-1',\n 'aria-current': i === index ? 'true' : 'false',\n 'aria-label': \"\".concat(_this3.labelGotoSlide, \" \").concat(i + 1),\n 'aria-describedby': slide.id || null,\n 'aria-controls': idInner\n },\n on: {\n click: handler,\n keydown: handler\n },\n key: \"slide_\".concat(i)\n });\n }));\n var on = {\n mouseenter: noHoverPause ? noop : pause,\n mouseleave: noHoverPause ? noop : restart,\n focusin: pause,\n focusout: restart,\n keydown: function keydown(event) {\n /* istanbul ignore next */\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_LEFT || keyCode === CODE_RIGHT) {\n stopEvent(event);\n\n _this3[keyCode === CODE_LEFT ? 'prev' : 'next']();\n }\n }\n }; // Touch support event handlers for environment\n\n if (HAS_TOUCH_SUPPORT && !noTouch) {\n // Attach appropriate listeners (prepend event name with '&' for passive mode)\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n if (HAS_POINTER_EVENT_SUPPORT) {\n on['&pointerdown'] = touchStart;\n on['&pointerup'] = touchEnd;\n } else {\n on['&touchstart'] = touchStart;\n on['&touchmove'] = this.touchMove;\n on['&touchend'] = touchEnd;\n }\n } // Return the carousel\n\n\n return h('div', {\n staticClass: 'carousel',\n class: {\n slide: !noAnimation,\n 'carousel-fade': !noAnimation && this.fade,\n 'pointer-event': HAS_TOUCH_SUPPORT && HAS_POINTER_EVENT_SUPPORT && !noTouch\n },\n style: {\n background: background\n },\n attrs: {\n role: 'region',\n id: this.safeId(),\n 'aria-busy': isSliding ? 'true' : 'false'\n },\n on: on\n }, [$inner, $controls, $indicators]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_CAROUSEL_SLIDE } from '../../constants/components';\nimport { HAS_TOUCH_SUPPORT } from '../../constants/env';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_IMG } from '../../constants/slots';\nimport { stopEvent } from '../../utils/events';\nimport { htmlOrText } from '../../utils/html';\nimport { identity } from '../../utils/identity';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps, unprefixPropName } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BImg } from '../image/img'; // --- Props ---\n\nvar imgProps = {\n imgAlt: makeProp(PROP_TYPE_STRING),\n imgBlank: makeProp(PROP_TYPE_BOOLEAN, false),\n imgBlankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n imgHeight: makeProp(PROP_TYPE_NUMBER_STRING),\n imgSrc: makeProp(PROP_TYPE_STRING),\n imgWidth: makeProp(PROP_TYPE_NUMBER_STRING)\n};\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), imgProps), {}, {\n background: makeProp(PROP_TYPE_STRING),\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING),\n captionTag: makeProp(PROP_TYPE_STRING, 'h3'),\n contentTag: makeProp(PROP_TYPE_STRING, 'div'),\n contentVisibleUp: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n textHtml: makeProp(PROP_TYPE_STRING),\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n})), NAME_CAROUSEL_SLIDE); // --- Main component ---\n// @vue/component\n\nexport var BCarouselSlide = /*#__PURE__*/Vue.extend({\n name: NAME_CAROUSEL_SLIDE,\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n bvCarousel: {\n // Explicitly disable touch if not a child of carousel\n default: function _default() {\n return {\n noTouch: true\n };\n }\n }\n },\n props: props,\n computed: {\n contentClasses: function contentClasses() {\n return [this.contentVisibleUp ? 'd-none' : '', this.contentVisibleUp ? \"d-\".concat(this.contentVisibleUp, \"-block\") : ''];\n },\n computedWidth: function computedWidth() {\n // Use local width, or try parent width\n return this.imgWidth || this.bvCarousel.imgWidth || null;\n },\n computedHeight: function computedHeight() {\n // Use local height, or try parent height\n return this.imgHeight || this.bvCarousel.imgHeight || null;\n }\n },\n render: function render(h) {\n var $img = this.normalizeSlot(SLOT_NAME_IMG);\n\n if (!$img && (this.imgSrc || this.imgBlank)) {\n var on = {}; // Touch support event handler\n\n /* istanbul ignore if: difficult to test in JSDOM */\n\n if (!this.bvCarousel.noTouch && HAS_TOUCH_SUPPORT) {\n on.dragstart = function (event) {\n return stopEvent(event, {\n propagation: false\n });\n };\n }\n\n $img = h(BImg, {\n props: _objectSpread(_objectSpread({}, pluckProps(imgProps, this.$props, unprefixPropName.bind(null, 'img'))), {}, {\n width: this.computedWidth,\n height: this.computedHeight,\n fluidGrow: true,\n block: true\n }),\n on: on\n });\n }\n\n var $contentChildren = [// Caption\n this.caption || this.captionHtml ? h(this.captionTag, {\n domProps: htmlOrText(this.captionHtml, this.caption)\n }) : false, // Text\n this.text || this.textHtml ? h(this.textTag, {\n domProps: htmlOrText(this.textHtml, this.text)\n }) : false, // Children\n this.normalizeSlot() || false];\n var $content = h();\n\n if ($contentChildren.some(identity)) {\n $content = h(this.contentTag, {\n staticClass: 'carousel-caption',\n class: this.contentClasses\n }, $contentChildren.map(function ($child) {\n return $child || h();\n }));\n }\n\n return h('div', {\n staticClass: 'carousel-item',\n style: {\n background: this.background || this.bvCarousel.background || null\n },\n attrs: {\n id: this.safeId(),\n role: 'listitem'\n }\n }, [$img, $content]);\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_COLLAPSE } from '../../constants/components';\nimport { CLASS_NAME_SHOW } from '../../constants/classes';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOnOff } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVCollapse } from './helpers/bv-collapse'; // --- Constants ---\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n accordion: makeProp(PROP_TYPE_STRING),\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n isNav: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_COLLAPSE); // --- Main component ---\n// @vue/component\n\nexport var BCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],\n props: props,\n data: function data() {\n return {\n show: this[MODEL_PROP_NAME],\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n var transitioning = this.transitioning;\n return {\n 'navbar-collapse': this.isNav,\n collapse: !transitioning,\n show: this.show && !transitioning\n };\n },\n slotScope: function slotScope() {\n var _this = this;\n\n return {\n visible: this.show,\n close: function close() {\n _this.show = false;\n }\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n }), _defineProperty(_watch, \"show\", function show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }), _watch),\n created: function created() {\n this.show = this[MODEL_PROP_NAME];\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.show = this[MODEL_PROP_NAME]; // Listen for toggle events to open/close us\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvt); // Listen to other collapses for accordion events\n\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvt);\n\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this2.emitState();\n }); // Listen for \"Sync state\" requests from `v-b-toggle`\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, function (id) {\n if (id === _this2.safeId()) {\n _this2.$nextTick(_this2.emitSync);\n }\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.isNav) {\n this.setWindowEvents(false);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.isNav) {\n this.setWindowEvents(true);\n }\n\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && IS_BROWSER) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_SHOW);\n },\n onAfterEnter: function onAfterEnter() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_SHOWN);\n },\n onLeave: function onLeave() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_HIDE);\n },\n onAfterLeave: function onAfterLeave() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n emitState: function emitState() {\n var show = this.show,\n accordion = this.accordion;\n var id = this.safeId();\n this.$emit(MODEL_EVENT_NAME, show); // Let `v-b-toggle` know the state of this collapse\n\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, id, show);\n\n if (accordion && show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);\n }\n },\n emitSync: function emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), this.show);\n },\n checkDisplayBlock: function checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n var $el = this.$el;\n var restore = hasClass($el, CLASS_NAME_SHOW);\n removeClass($el, CLASS_NAME_SHOW);\n var isBlock = getCS($el).display === 'block';\n\n if (restore) {\n addClass($el, CLASS_NAME_SHOW);\n }\n\n return isBlock;\n },\n clickHandler: function clickHandler(event) {\n var el = event.target; // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n\n /* istanbul ignore next: can't test `getComputedStyle()` in JSDOM */\n\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n return;\n } // Only close the collapse if it is not forced to be `display: block !important`\n\n\n if ((matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) && !this.checkDisplayBlock()) {\n this.show = false;\n }\n },\n handleToggleEvt: function handleToggleEvt(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvt: function handleAccordionEvt(openedId, openAccordion) {\n var accordion = this.accordion,\n show = this.show;\n\n if (!accordion || accordion !== openAccordion) {\n return;\n }\n\n var isThis = openedId === this.safeId(); // Open this collapse if not shown or\n // close this collapse if shown\n\n if (isThis && !show || !isThis && show) {\n this.toggle();\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var appear = this.appear;\n var $content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n },\n on: {\n click: this.clickHandler\n }\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));\n return h(BVCollapse, {\n props: {\n appear: appear\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$content]);\n }\n});","import { BCarousel } from './carousel';\nimport { BCarouselSlide } from './carousel-slide';\nimport { pluginFactory } from '../../utils/plugins';\nvar CarouselPlugin =\n/*#__PURE*/\npluginFactory({\n components: {\n BCarousel: BCarousel,\n BCarouselSlide: BCarouselSlide\n }\n});\nexport { CarouselPlugin, BCarousel, BCarouselSlide };","export var CLASS_NAME_SHOW = 'show';\nexport var CLASS_NAME_FADE = 'fade';","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport { Vue, mergeData } from '../../../vue';\nimport { NAME_COLLAPSE_HELPER } from '../../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { getBCR, reflow, removeStyle, requestAF, setStyle } from '../../../utils/dom';\nimport { makeProp } from '../../../utils/props'; // --- Helper methods ---\n// Transition event handler helpers\n\nvar onEnter = function onEnter(el) {\n setStyle(el, 'height', 0); // In a `requestAF()` for `appear` to work\n\n requestAF(function () {\n reflow(el);\n setStyle(el, 'height', \"\".concat(el.scrollHeight, \"px\"));\n });\n};\n\nvar onAfterEnter = function onAfterEnter(el) {\n removeStyle(el, 'height');\n};\n\nvar onLeave = function onLeave(el) {\n setStyle(el, 'height', 'auto');\n setStyle(el, 'display', 'block');\n setStyle(el, 'height', \"\".concat(getBCR(el).height, \"px\"));\n reflow(el);\n setStyle(el, 'height', 0);\n};\n\nvar onAfterLeave = function onAfterLeave(el) {\n removeStyle(el, 'height');\n}; // --- Constants ---\n// Default transition props\n// `appear` will use the enter classes\n\n\nvar TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n}; // Default transition handlers\n// `appear` will use the enter handlers\n\nvar TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}; // --- Main component ---\n\nexport var props = {\n // // If `true` (and `visible` is `true` on mount), animate initially visible\n appear: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE_HELPER,\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 return h('transition', // We merge in the `appear` prop last\n mergeData(data, {\n props: TRANSITION_PROPS,\n on: TRANSITION_HANDLERS\n }, {\n props: props\n }), // Note: `` supports a single root element only\n children);\n }\n});","import { NAME_COLLAPSE } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_OPTIONS_PASSIVE } from '../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes';\nimport { RX_HASH, RX_HASH_ID, RX_SPACE_SPLIT } from '../../constants/regex';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { addClass, getAttr, hasAttr, isDisabled, isTag, removeAttr, removeClass, removeStyle, requestAF, setAttr, setStyle } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events';\nimport { isString } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { keys } from '../../utils/object'; // --- Constants ---\n// Classes to apply to trigger element\n\nvar CLASS_BV_TOGGLE_COLLAPSED = 'collapsed';\nvar CLASS_BV_TOGGLE_NOT_COLLAPSED = 'not-collapsed'; // Property key for handler storage\n\nvar BV_BASE = '__BV_toggle'; // Root event listener property (Function)\n\nvar BV_TOGGLE_ROOT_HANDLER = \"\".concat(BV_BASE, \"_HANDLER__\"); // Trigger element click handler property (Function)\n\nvar BV_TOGGLE_CLICK_HANDLER = \"\".concat(BV_BASE, \"_CLICK__\"); // Target visibility state property (Boolean)\n\nvar BV_TOGGLE_STATE = \"\".concat(BV_BASE, \"_STATE__\"); // Target ID list property (Array)\n\nvar BV_TOGGLE_TARGETS = \"\".concat(BV_BASE, \"_TARGETS__\"); // Commonly used strings\n\nvar STRING_FALSE = 'false';\nvar STRING_TRUE = 'true'; // Commonly used attribute names\n\nvar ATTR_ARIA_CONTROLS = 'aria-controls';\nvar ATTR_ARIA_EXPANDED = 'aria-expanded';\nvar ATTR_ROLE = 'role';\nvar ATTR_TABINDEX = 'tabindex'; // Commonly used style properties\n\nvar STYLE_OVERFLOW_ANCHOR = 'overflow-anchor'; // Emitted control event for collapse (emitted to collapse)\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle'); // Listen to event for toggle state update (emitted by collapse)\n\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state'); // Private event emitted on `$root` to ensure the toggle state is always synced\n// Gets emitted even if the state of b-collapse has not changed\n// This event is NOT to be documented as people should not be using it\n\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state'); // Private event we send to collapse to request state update sync event\n\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar KEYDOWN_KEY_CODES = [CODE_ENTER, CODE_SPACE]; // --- Helper methods ---\n\nvar isNonStandardTag = function isNonStandardTag(el) {\n return !arrayIncludes(['button', 'a'], el.tagName.toLowerCase());\n};\n\nvar getTargets = function getTargets(_ref, el) {\n var modifiers = _ref.modifiers,\n arg = _ref.arg,\n value = _ref.value;\n // Any modifiers are considered target IDs\n var targets = keys(modifiers || {}); // If value is a string, split out individual targets (if space delimited)\n\n value = isString(value) ? value.split(RX_SPACE_SPLIT) : value; // Support target ID as link href (`href=\"#id\"`)\n\n if (isTag(el.tagName, 'a')) {\n var href = getAttr(el, 'href') || '';\n\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''));\n }\n } // Add ID from `arg` (if provided), and support value\n // as a single string ID or an array of string IDs\n // If `value` is not an array or string, then it gets filtered out\n\n\n concat(arg, value).forEach(function (t) {\n return isString(t) && targets.push(t);\n }); // Return only unique and truthy target IDs\n\n return targets.filter(function (t, index, arr) {\n return t && arr.indexOf(t) === index;\n });\n};\n\nvar removeClickListener = function removeClickListener(el) {\n var handler = el[BV_TOGGLE_CLICK_HANDLER];\n\n if (handler) {\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n\n el[BV_TOGGLE_CLICK_HANDLER] = null;\n};\n\nvar addClickListener = function addClickListener(el, vnode) {\n removeClickListener(el);\n\n if (vnode.context) {\n var handler = function handler(event) {\n if (!(event.type === 'keydown' && !arrayIncludes(KEYDOWN_KEY_CODES, event.keyCode)) && !isDisabled(el)) {\n var targets = el[BV_TOGGLE_TARGETS] || [];\n targets.forEach(function (target) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_TOGGLE, target);\n });\n }\n };\n\n el[BV_TOGGLE_CLICK_HANDLER] = handler;\n eventOn(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n\n if (isNonStandardTag(el)) {\n eventOn(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n }\n};\n\nvar removeRootListeners = function removeRootListeners(el, vnode) {\n if (el[BV_TOGGLE_ROOT_HANDLER] && vnode.context) {\n vnode.context.$root.$off([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], el[BV_TOGGLE_ROOT_HANDLER]);\n }\n\n el[BV_TOGGLE_ROOT_HANDLER] = null;\n};\n\nvar addRootListeners = function addRootListeners(el, vnode) {\n removeRootListeners(el, vnode);\n\n if (vnode.context) {\n var handler = function handler(id, state) {\n // `state` will be `true` if target is expanded\n if (arrayIncludes(el[BV_TOGGLE_TARGETS] || [], id)) {\n // Set/Clear 'collapsed' visibility class state\n el[BV_TOGGLE_STATE] = state; // Set `aria-expanded` and class state on trigger element\n\n setToggleState(el, state);\n }\n };\n\n el[BV_TOGGLE_ROOT_HANDLER] = handler; // Listen for toggle state changes (public) and sync (private)\n\n vnode.context.$root.$on([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], handler);\n }\n};\n\nvar setToggleState = function setToggleState(el, state) {\n // State refers to the visibility of the collapse/sidebar\n if (state) {\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_TRUE);\n } else {\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_FALSE);\n }\n}; // Reset and remove a property from the provided element\n\n\nvar resetProp = function resetProp(el, prop) {\n el[prop] = null;\n delete el[prop];\n}; // Handle directive updates\n\n\nvar handleUpdate = function handleUpdate(el, binding, vnode) {\n /* istanbul ignore next: should never happen */\n if (!IS_BROWSER || !vnode.context) {\n return;\n } // If element is not a button or link, we add `role=\"button\"`\n // and `tabindex=\"0\"` for accessibility reasons\n\n\n if (isNonStandardTag(el)) {\n if (!hasAttr(el, ATTR_ROLE)) {\n setAttr(el, ATTR_ROLE, 'button');\n }\n\n if (!hasAttr(el, ATTR_TABINDEX)) {\n setAttr(el, ATTR_TABINDEX, '0');\n }\n } // Ensure the collapse class and `aria-*` attributes persist\n // after element is updated (either by parent re-rendering\n // or changes to this element or its contents)\n\n\n setToggleState(el, el[BV_TOGGLE_STATE]); // Parse list of target IDs\n\n var targets = getTargets(binding, el); // Ensure the `aria-controls` hasn't been overwritten\n // or removed when vnode updates\n // Also ensure to set `overflow-anchor` to `none` to prevent\n // the browser's scroll anchoring behavior\n\n /* istanbul ignore else */\n\n if (targets.length > 0) {\n setAttr(el, ATTR_ARIA_CONTROLS, targets.join(' '));\n setStyle(el, STYLE_OVERFLOW_ANCHOR, 'none');\n } else {\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n } // Add/Update our click listener(s)\n // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n addClickListener(el, vnode);\n }); // If targets array has changed, update\n\n if (!looseEqual(targets, el[BV_TOGGLE_TARGETS])) {\n // Update targets array to element storage\n el[BV_TOGGLE_TARGETS] = targets; // Ensure `aria-controls` is up to date\n // Request a state update from targets so that we can\n // ensure expanded state is correct (in most cases)\n\n targets.forEach(function (target) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, target);\n });\n }\n};\n/*\n * Export our directive\n */\n\n\nexport var VBToggle = {\n bind: function bind(el, binding, vnode) {\n // State is initially collapsed until we receive a state event\n el[BV_TOGGLE_STATE] = false; // Assume no targets initially\n\n el[BV_TOGGLE_TARGETS] = []; // Add our root listeners\n\n addRootListeners(el, vnode); // Initial update of trigger\n\n handleUpdate(el, binding, vnode);\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind: function unbind(el, binding, vnode) {\n removeClickListener(el); // Remove our $root listener\n\n removeRootListeners(el, vnode); // Reset custom props\n\n resetProp(el, BV_TOGGLE_ROOT_HANDLER);\n resetProp(el, BV_TOGGLE_CLICK_HANDLER);\n resetProp(el, BV_TOGGLE_STATE);\n resetProp(el, BV_TOGGLE_TARGETS); // Reset classes/attrs/styles\n\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n removeAttr(el, ATTR_ARIA_EXPANDED);\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeAttr(el, ATTR_ROLE);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n }\n};","import { VBToggle } from './toggle';\nimport { pluginFactory } from '../../utils/plugins';\nvar VBTogglePlugin = /*#__PURE__*/pluginFactory({\n directives: {\n VBToggle: VBToggle\n }\n});\nexport { VBTogglePlugin, VBToggle };","import { BCollapse } from './collapse';\nimport { VBTogglePlugin } from '../../directives/toggle';\nimport { pluginFactory } from '../../utils/plugins';\nvar CollapsePlugin = /*#__PURE__*/pluginFactory({\n components: {\n BCollapse: BCollapse\n },\n plugins: {\n VBTogglePlugin: VBTogglePlugin\n }\n});\nexport { CollapsePlugin, BCollapse };","export var PLACEMENT_TOP_START = 'top-start';\nexport var PLACEMENT_TOP_END = 'top-end';\nexport var PLACEMENT_BOTTOM_START = 'bottom-start';\nexport var PLACEMENT_BOTTOM_END = 'bottom-end';\nexport var PLACEMENT_RIGHT_START = 'right-start';\nexport var PLACEMENT_RIGHT_END = 'right-end';\nexport var PLACEMENT_LEFT_START = 'left-start';\nexport var PLACEMENT_LEFT_END = 'left-end';","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { assign, defineProperty, defineProperties, readonlyDescriptor } from './object';\nexport var BvEvent = /*#__PURE__*/function () {\n function BvEvent(type) {\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvEvent);\n\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\"Failed to construct '\".concat(this.constructor.name, \"'. 1 argument required, \").concat(arguments.length, \" given.\"));\n } // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n\n\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, {\n type: type\n }); // Freeze some props as readonly, but leave them enumerable\n\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n }); // Create a private variable using closure scoping\n\n var defaultPrevented = false; // Recreate preventDefault method. One way setter\n\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true;\n }\n }; // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n\n\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get: function get() {\n return defaultPrevented;\n }\n });\n }\n\n _createClass(BvEvent, null, [{\n key: \"Defaults\",\n get: function get() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n };\n }\n }]);\n\n return BvEvent;\n}();","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { contains } from '../utils/dom';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var clickOutMixin = Vue.extend({\n data: function data() {\n return {\n listenForClickOut: false\n };\n },\n watch: {\n listenForClickOut: function listenForClickOut(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.clickOutElement = null;\n this.clickOutEventName = null;\n },\n mounted: function mounted() {\n if (!this.clickOutElement) {\n this.clickOutElement = document;\n }\n\n if (!this.clickOutEventName) {\n this.clickOutEventName = 'click';\n }\n\n if (this.listenForClickOut) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n isClickOut: function isClickOut(event) {\n return !contains(this.$el, event.target);\n },\n _clickOutHandler: function _clickOutHandler(event) {\n if (this.clickOutHandler && this.isClickOut(event)) {\n this.clickOutHandler(event);\n }\n }\n }\n});","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var focusInMixin = Vue.extend({\n data: function data() {\n return {\n listenForFocusIn: false\n };\n },\n watch: {\n listenForFocusIn: function listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null;\n },\n mounted: function mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document;\n }\n\n if (this.listenForFocusIn) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n _focusInHandler: function _focusInHandler(event) {\n if (this.focusInHandler) {\n this.focusInHandler(event);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport Popper from 'popper.js';\nimport { Vue } from '../vue';\nimport { NAME_DROPDOWN } from '../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_TOGGLE } from '../constants/events';\nimport { CODE_DOWN, CODE_ENTER, CODE_ESC, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PLACEMENT_TOP_START, PLACEMENT_TOP_END, PLACEMENT_BOTTOM_START, PLACEMENT_BOTTOM_END, PLACEMENT_RIGHT_START, PLACEMENT_LEFT_START } from '../constants/popper';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../constants/props';\nimport { HTMLElement } from '../constants/safe-types';\nimport { BvEvent } from '../utils/bv-event.class';\nimport { attemptFocus, closest, contains, isVisible, requestAF, selectAll } from '../utils/dom';\nimport { getRootEventName, stopEvent } from '../utils/events';\nimport { isNull } from '../utils/inspect';\nimport { mergeDeep, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { warn } from '../utils/warn';\nimport { clickOutMixin } from './click-out';\nimport { focusInMixin } from './focus-in';\nimport { idMixin, props as idProps } from './id';\nimport { listenOnRootMixin } from './listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_SHOWN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_SHOWN);\nvar ROOT_EVENT_NAME_HIDDEN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_HIDDEN); // CSS selectors\n\nvar SELECTOR_FORM_CHILD = '.dropdown form';\nvar SELECTOR_ITEM = ['.dropdown-item', '.b-dropdown-form'].map(function (selector) {\n return \"\".concat(selector, \":not(.disabled):not([disabled])\");\n}).join(', '); // --- Helper methods ---\n// Return an array of visible items\n\nvar filterVisibles = function filterVisibles(els) {\n return (els || []).filter(isVisible);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place left if possible\n dropleft: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place right if possible\n dropright: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place on top if possible\n dropup: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable auto-flipping of menu from bottom <=> top\n noFlip: makeProp(PROP_TYPE_BOOLEAN, false),\n // Number of pixels or a CSS unit value to offset menu\n // (i.e. `1px`, `1rem`, etc.)\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n popperOpts: makeProp(PROP_TYPE_OBJECT, {}),\n // Right align menu (default is left align)\n right: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_DROPDOWN); // --- Mixin ---\n// @vue/component\n\nexport var dropdownMixin = Vue.extend({\n mixins: [idMixin, listenOnRootMixin, clickOutMixin, focusInMixin],\n provide: function provide() {\n return {\n bvDropdown: this\n };\n },\n inject: {\n bvNavbar: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n visible: false,\n visibleChangePrevented: false\n };\n },\n computed: {\n inNavbar: function inNavbar() {\n return !isNull(this.bvNavbar);\n },\n toggler: function toggler() {\n var toggle = this.$refs.toggle;\n return toggle ? toggle.$el || toggle : null;\n },\n directionClass: function directionClass() {\n if (this.dropup) {\n return 'dropup';\n } else if (this.dropright) {\n return 'dropright';\n } else if (this.dropleft) {\n return 'dropleft';\n }\n\n return '';\n },\n boundaryClass: function boundaryClass() {\n // Position `static` is needed to allow menu to \"breakout\" of the `scrollParent`\n // boundaries when boundary is anything other than `scrollParent`\n // See: https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n return this.boundary !== 'scrollParent' && !this.inNavbar ? 'position-static' : '';\n }\n },\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var eventName = newValue ? EVENT_NAME_SHOW : EVENT_NAME_HIDE;\n var bvEvent = new BvEvent(eventName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null,\n componentId: this.safeId ? this.safeId() : this.id || null\n });\n this.emitEvent(bvEvent);\n\n if (bvEvent.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue; // Just in case a child element triggered `this.hide(true)`\n\n this.$off(EVENT_NAME_HIDDEN, this.focusToggler);\n return;\n }\n\n if (newValue) {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_popper = null;\n this.$_hideTimeout = null;\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In case we are inside a ``\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n this.clearHideTimeout();\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(NAME_DROPDOWN, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n showMenu: function showMenu() {\n var _this = this;\n\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n } // Only instantiate Popper.js when dropdown is not in ``\n\n\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n /* istanbul ignore next */\n warn('Popper.js not found. Falling back to CSS positioning', NAME_DROPDOWN);\n } else {\n // For dropup with alignment we use the parent element as popper container\n var el = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle; // Make sure we have a reference to an element, not a component!\n\n el = el.$el || el; // Instantiate Popper.js\n\n this.createPopper(el);\n }\n } // Ensure other menus are closed\n\n\n this.emitOnRoot(ROOT_EVENT_NAME_SHOWN, this); // Enable listeners\n\n this.whileOpenListen(true); // Wrap in `$nextTick()` to ensure menu is fully rendered/shown\n\n this.$nextTick(function () {\n // Focus on the menu container on show\n _this.focusMenu(); // Emit the shown event\n\n\n _this.$emit(EVENT_NAME_SHOWN);\n });\n },\n hideMenu: function hideMenu() {\n this.whileOpenListen(false);\n this.emitOnRoot(ROOT_EVENT_NAME_HIDDEN, this);\n this.$emit(EVENT_NAME_HIDDEN);\n this.destroyPopper();\n },\n createPopper: function createPopper(element) {\n this.destroyPopper();\n this.$_popper = new Popper(element, this.$refs.menu, this.getPopperConfig());\n },\n // Ensure popper event listeners are removed cleanly\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n // Instructs popper to re-computes the dropdown position\n // useful if the content changes size\n updatePopper: function updatePopper() {\n try {\n this.$_popper.scheduleUpdate();\n } catch (_unused) {}\n },\n clearHideTimeout: function clearHideTimeout() {\n clearTimeout(this.$_hideTimeout);\n this.$_hideTimeout = null;\n },\n getPopperConfig: function getPopperConfig() {\n var placement = PLACEMENT_BOTTOM_START;\n\n if (this.dropup) {\n placement = this.right ? PLACEMENT_TOP_END : PLACEMENT_TOP_START;\n } else if (this.dropright) {\n placement = PLACEMENT_RIGHT_START;\n } else if (this.dropleft) {\n placement = PLACEMENT_LEFT_START;\n } else if (this.right) {\n placement = PLACEMENT_BOTTOM_END;\n }\n\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n var boundariesElement = this.boundary;\n\n if (boundariesElement) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: boundariesElement\n };\n }\n\n return mergeDeep(popperConfig, this.popperOpts || {});\n },\n // Turn listeners on/off while open\n whileOpenListen: function whileOpenListen(isOpen) {\n // Hide the dropdown when clicked outside\n this.listenForClickOut = isOpen; // Hide the dropdown when it loses focus\n\n this.listenForFocusIn = isOpen; // Hide the dropdown when another dropdown is opened\n\n var method = isOpen ? '$on' : '$off';\n this.$root[method](ROOT_EVENT_NAME_SHOWN, this.rootCloseListener);\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n // Public method to show dropdown\n show: function show() {\n var _this2 = this;\n\n if (this.disabled) {\n return;\n } // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n _this2.visible = true;\n });\n },\n // Public method to hide dropdown\n hide: function hide() {\n var refocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n /* istanbul ignore next */\n if (this.disabled) {\n return;\n }\n\n this.visible = false;\n\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only by a button that toggles the menu\n toggle: function toggle(event) {\n event = event || {}; // Early exit when not a click event or ENTER, SPACE or DOWN were pressed\n\n var _event = event,\n type = _event.type,\n keyCode = _event.keyCode;\n\n if (type !== 'click' && !(type === 'keydown' && [CODE_ENTER, CODE_SPACE, CODE_DOWN].indexOf(keyCode) !== -1)) {\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_TOGGLE, event);\n stopEvent(event); // Toggle visibility\n\n if (this.visible) {\n this.hide(true);\n } else {\n this.show();\n }\n },\n // Mousedown handler for the toggle\n\n /* istanbul ignore next */\n onMousedown: function onMousedown(event) {\n // We prevent the 'mousedown' event for the toggle to stop the\n // 'focusin' event from being fired\n // The event would otherwise be picked up by the global 'focusin'\n // listener and there is no cross-browser solution to detect it\n // relates to the toggle click\n // The 'click' event will still be fired and we handle closing\n // other dropdowns there too\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/4328\n stopEvent(event, {\n propagation: false\n });\n },\n // Called from dropdown menu context\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ESC) {\n // Close on ESC\n this.onEsc(event);\n } else if (keyCode === CODE_DOWN) {\n // Down Arrow\n this.focusNext(event, false);\n } else if (keyCode === CODE_UP) {\n // Up Arrow\n this.focusNext(event, true);\n }\n },\n // If user presses ESC, close the menu\n onEsc: function onEsc(event) {\n if (this.visible) {\n this.visible = false;\n stopEvent(event); // Return focus to original trigger button\n\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only in split button mode, for the split button\n onSplitClick: function onSplitClick(event) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_CLICK, event);\n },\n // Shared hide handler between click-out and focus-in events\n hideHandler: function hideHandler(event) {\n var _this3 = this;\n\n var target = event.target;\n\n if (this.visible && !contains(this.$refs.menu, target) && !contains(this.toggler, target)) {\n this.clearHideTimeout();\n this.$_hideTimeout = setTimeout(function () {\n return _this3.hide();\n }, this.inNavbar ? 300 : 0);\n }\n },\n // Document click-out listener\n clickOutHandler: function clickOutHandler(event) {\n this.hideHandler(event);\n },\n // Document focus-in listener\n focusInHandler: function focusInHandler(event) {\n this.hideHandler(event);\n },\n // Keyboard nav\n focusNext: function focusNext(event, up) {\n var _this4 = this;\n\n // Ignore key up/down on form elements\n var target = event.target;\n\n if (!this.visible || event && closest(SELECTOR_FORM_CHILD, target)) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n stopEvent(event);\n this.$nextTick(function () {\n var items = _this4.getItems();\n\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var index = items.indexOf(target);\n\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0;\n }\n\n _this4.focusItem(index, items);\n });\n },\n focusItem: function focusItem(index, items) {\n var el = items.find(function (el, i) {\n return i === index;\n });\n attemptFocus(el);\n },\n getItems: function getItems() {\n // Get all items\n return filterVisibles(selectAll(SELECTOR_ITEM, this.$refs.menu));\n },\n focusMenu: function focusMenu() {\n attemptFocus(this.$refs.menu);\n },\n focusToggler: function focusToggler() {\n var _this5 = this;\n\n this.$nextTick(function () {\n attemptFocus(_this5.toggler);\n });\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_DROPDOWN } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { htmlOrText } from '../../utils/html';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButton } from '../button/button';\nimport { sortKeys } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), dropdownProps), {}, {\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n html: makeProp(PROP_TYPE_STRING),\n // If `true`, only render menu contents when open\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCaret: makeProp(PROP_TYPE_BOOLEAN, false),\n role: makeProp(PROP_TYPE_STRING, 'menu'),\n size: makeProp(PROP_TYPE_STRING),\n split: makeProp(PROP_TYPE_BOOLEAN, false),\n splitButtonType: makeProp(PROP_TYPE_STRING, 'button', function (value) {\n return arrayIncludes(['button', 'submit', 'reset'], value);\n }),\n splitClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n splitHref: makeProp(PROP_TYPE_STRING),\n splitTo: makeProp(PROP_TYPE_OBJECT_STRING),\n splitVariant: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n toggleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n toggleTag: makeProp(PROP_TYPE_STRING, 'button'),\n // TODO: This really should be `toggleLabel`\n toggleText: makeProp(PROP_TYPE_STRING, 'Toggle dropdown'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_DROPDOWN); // --- Main component ---\n// @vue/component\n\nexport var BDropdown = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props: props,\n computed: {\n dropdownClasses: function dropdownClasses() {\n var block = this.block,\n split = this.split;\n return [this.directionClass, this.boundaryClass, {\n show: this.visible,\n // The 'btn-group' class is required in `split` mode for button alignment\n // It needs also to be applied when `block` is disabled to allow multiple\n // dropdowns to be aligned one line\n 'btn-group': split || !block,\n // When `block` is enabled and we are in `split` mode the 'd-flex' class\n // needs to be applied to allow the buttons to stretch to full width\n 'd-flex': block && split\n }];\n },\n menuClasses: function menuClasses() {\n return [this.menuClass, {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }];\n },\n toggleClasses: function toggleClasses() {\n var split = this.split;\n return [this.toggleClass, {\n 'dropdown-toggle-split': split,\n 'dropdown-toggle-no-caret': this.noCaret && !split\n }];\n }\n },\n render: function render(h) {\n var visible = this.visible,\n variant = this.variant,\n size = this.size,\n block = this.block,\n disabled = this.disabled,\n split = this.split,\n role = this.role,\n hide = this.hide,\n toggle = this.toggle;\n var commonProps = {\n variant: variant,\n size: size,\n block: block,\n disabled: disabled\n };\n var $buttonChildren = this.normalizeSlot(SLOT_NAME_BUTTON_CONTENT);\n var buttonContentDomProps = this.hasNormalizedSlot(SLOT_NAME_BUTTON_CONTENT) ? {} : htmlOrText(this.html, this.text);\n var $split = h();\n\n if (split) {\n var splitTo = this.splitTo,\n splitHref = this.splitHref,\n splitButtonType = this.splitButtonType;\n\n var btnProps = _objectSpread(_objectSpread({}, commonProps), {}, {\n variant: this.splitVariant || variant\n }); // We add these as needed due to issues with\n // defined property with `undefined`/`null` values\n\n\n if (splitTo) {\n btnProps.to = splitTo;\n } else if (splitHref) {\n btnProps.href = splitHref;\n } else if (splitButtonType) {\n btnProps.type = splitButtonType;\n }\n\n $split = h(BButton, {\n class: this.splitClass,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n props: btnProps,\n domProps: buttonContentDomProps,\n on: {\n click: this.onSplitClick\n },\n ref: 'button'\n }, $buttonChildren); // Overwrite button content for the toggle when in `split` mode\n\n $buttonChildren = [h('span', {\n class: ['sr-only']\n }, [this.toggleText])];\n buttonContentDomProps = {};\n }\n\n var $toggle = h(BButton, {\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': toString(visible)\n },\n props: _objectSpread(_objectSpread({}, commonProps), {}, {\n tag: this.toggleTag,\n block: block && !split\n }),\n domProps: buttonContentDomProps,\n on: {\n mousedown: this.onMousedown,\n click: toggle,\n keydown: toggle // Handle ENTER, SPACE and DOWN\n\n },\n ref: 'toggle'\n }, $buttonChildren);\n var $menu = h('ul', {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role: role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n\n },\n ref: 'menu'\n }, [!this.lazy || visible ? this.normalizeSlot(SLOT_NAME_DEFAULT, {\n hide: hide\n }) : h()]);\n return h('div', {\n staticClass: 'dropdown b-dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [$split, $toggle, $menu]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_DROPDOWN_ITEM } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { requestAF } from '../../utils/dom';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n})), NAME_DROPDOWN_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BDropdownItem = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_ITEM,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n bvDropdown: {\n default: null\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'menuitem'\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n var _this = this;\n\n // Close on next animation frame to allow time to process\n requestAF(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var linkClass = this.linkClass,\n variant = this.variant,\n active = this.active,\n disabled = this.disabled,\n onClick = this.onClick,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h(BLink, {\n staticClass: 'dropdown-item',\n class: [linkClass, _defineProperty({}, \"text-\".concat(variant), variant && !(active || disabled))],\n props: pluckProps(linkProps, this.$props),\n attrs: this.computedAttrs,\n on: {\n click: onClick\n },\n ref: 'item'\n }, this.normalizeSlot())]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_DROPDOWN_ITEM_BUTTON } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n activeClass: makeProp(PROP_TYPE_STRING, 'active'),\n buttonClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_ITEM_BUTTON); // --- Main component ---\n// @vue/component\n\nexport var BDropdownItemButton = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_ITEM_BUTTON,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n bvDropdown: {\n default: null\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'menuitem',\n type: 'button',\n disabled: this.disabled\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n if (this.bvDropdown) {\n this.bvDropdown.hide(true);\n }\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var _ref;\n\n var active = this.active,\n variant = this.variant,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h('button', {\n staticClass: 'dropdown-item',\n class: [this.buttonClass, (_ref = {}, _defineProperty(_ref, this.activeClass, active), _defineProperty(_ref, \"text-\".concat(variant), variant && !(active || this.disabled)), _ref)],\n attrs: this.computedAttrs,\n on: {\n click: this.onClick\n },\n ref: 'button'\n }, this.normalizeSlot())]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_HEADER } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'header'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_HEADER); // --- Main component ---\n// @vue/component\n\nexport var BDropdownHeader = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_HEADER,\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 var tag = props.tag,\n variant = props.variant;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(tag, {\n staticClass: 'dropdown-header',\n class: _defineProperty({}, \"text-\".concat(variant), variant),\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n id: props.id || null,\n role: isTag(tag, 'header') ? null : 'heading'\n }),\n ref: 'header'\n }, children)]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_DIVIDER } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { omit } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'hr')\n}, NAME_DROPDOWN_DIVIDER); // --- Main component ---\n// @vue/component\n\nexport var BDropdownDivider = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_DIVIDER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(props.tag, {\n staticClass: 'dropdown-divider',\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n role: 'separator',\n 'aria-orientation': 'horizontal'\n }),\n ref: 'divider'\n })]);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\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 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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_FORM } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BForm, props as formControlProps } from '../form/form'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, formControlProps), {}, {\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n formClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})), NAME_DROPDOWN_FORM); // --- Main component ---\n// @vue/component\n\nexport var BDropdownForm = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_FORM,\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 children = _ref.children;\n return h('li', mergeData(omit(data, ['attrs', 'on']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(BForm, {\n staticClass: 'b-dropdown-form',\n class: [props.formClass, {\n disabled: props.disabled\n }],\n props: props,\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n disabled: props.disabled,\n // Tab index of -1 for keyboard navigation\n tabindex: props.disabled ? null : '-1'\n }),\n on: listeners,\n ref: 'form'\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 { Vue, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_TEXT } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'p'),\n textClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BDropdownText = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_TEXT,\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 var tag = props.tag,\n textClass = props.textClass,\n variant = props.variant;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(tag, {\n staticClass: 'b-dropdown-text',\n class: [textClass, _defineProperty({}, \"text-\".concat(variant), variant)],\n props: props,\n attrs: data.attrs || {},\n ref: 'text'\n }, children)]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_GROUP } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { isTag } from '../../utils/dom';\nimport { identity } from '../../utils/identity';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaDescribedby: makeProp(PROP_TYPE_STRING),\n header: makeProp(PROP_TYPE_STRING),\n headerClasses: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerTag: makeProp(PROP_TYPE_STRING, 'header'),\n headerVariant: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BDropdownGroup = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var id = props.id,\n variant = props.variant,\n header = props.header,\n headerTag = props.headerTag;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var slotScope = {};\n var headerId = id ? \"_bv_\".concat(id, \"_group_dd_header\") : null;\n var $header = h();\n\n if (hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots) || header) {\n $header = h(headerTag, {\n staticClass: 'dropdown-header',\n class: [props.headerClasses, _defineProperty({}, \"text-\".concat(variant), variant)],\n attrs: {\n id: headerId,\n role: isTag(headerTag, 'header') ? null : 'heading'\n }\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots) || header);\n }\n\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [$header, h('ul', {\n staticClass: 'list-unstyled',\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n id: id,\n role: 'group',\n 'aria-describedby': [headerId, props.ariaDescribedBy].filter(identity).join(' ').trim() || null\n })\n }, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots))]);\n }\n});","import { BDropdown } from './dropdown';\nimport { BDropdownItem } from './dropdown-item';\nimport { BDropdownItemButton } from './dropdown-item-button';\nimport { BDropdownHeader } from './dropdown-header';\nimport { BDropdownDivider } from './dropdown-divider';\nimport { BDropdownForm } from './dropdown-form';\nimport { BDropdownText } from './dropdown-text';\nimport { BDropdownGroup } from './dropdown-group';\nimport { pluginFactory } from '../../utils/plugins';\nvar DropdownPlugin = /*#__PURE__*/pluginFactory({\n 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 BDropdownForm: BDropdownForm,\n BDdForm: BDropdownForm,\n BDropdownText: BDropdownText,\n BDdText: BDropdownText,\n BDropdownGroup: BDropdownGroup,\n BDdGroup: BDropdownGroup\n }\n});\nexport { DropdownPlugin, BDropdown, BDropdownItem, BDropdownItemButton, BDropdownHeader, BDropdownDivider, BDropdownForm, BDropdownText, BDropdownGroup };","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_EMBED } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Constants ---\n\nvar TYPES = ['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy']; // --- Props ---\n\nexport var props = makePropsConfigurable({\n aspect: makeProp(PROP_TYPE_STRING, '16by9'),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n type: makeProp(PROP_TYPE_STRING, 'iframe', function (value) {\n return arrayIncludes(TYPES, value);\n })\n}, NAME_EMBED); // --- Main component ---\n// @vue/component\n\nexport var BEmbed = /*#__PURE__*/Vue.extend({\n name: NAME_EMBED,\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 var aspect = props.aspect;\n return h(props.tag, {\n staticClass: 'embed-responsive',\n class: _defineProperty({}, \"embed-responsive-\".concat(aspect), aspect),\n ref: data.ref\n }, [h(props.type, mergeData(omit(data, ['ref']), {\n staticClass: 'embed-responsive-item'\n }), children)]);\n }\n});","import { BEmbed } from './embed';\nimport { pluginFactory } from '../../utils/plugins';\nvar EmbedPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BEmbed: BEmbed\n }\n});\nexport { EmbedPlugin, BEmbed };","import { Vue } from '../vue';\nimport { PROP_TYPE_ARRAY_OBJECT, PROP_TYPE_STRING } from '../constants/props';\nimport { get } from '../utils/get';\nimport { stripTags } from '../utils/html';\nimport { isArray, isPlainObject, isUndefined } from '../utils/inspect';\nimport { keys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { warn } from '../utils/warn'; // --- Constants ---\n\nvar OPTIONS_OBJECT_DEPRECATED_MSG = 'Setting prop \"options\" to an object is deprecated. Use the array format instead.'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n disabledField: makeProp(PROP_TYPE_STRING, 'disabled'),\n htmlField: makeProp(PROP_TYPE_STRING, 'html'),\n options: makeProp(PROP_TYPE_ARRAY_OBJECT, []),\n textField: makeProp(PROP_TYPE_STRING, 'text'),\n valueField: makeProp(PROP_TYPE_STRING, 'value')\n}, 'formOptionControls'); // --- Mixin ---\n// @vue/component\n\nexport var formOptionsMixin = Vue.extend({\n props: props,\n computed: {\n formOptions: function formOptions() {\n return this.normalizeOptions(this.options);\n }\n },\n methods: {\n normalizeOption: function normalizeOption(option) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // When the option is an object, normalize it\n if (isPlainObject(option)) {\n var value = get(option, this.valueField);\n var text = get(option, this.textField);\n return {\n value: isUndefined(value) ? key || text : value,\n text: stripTags(String(isUndefined(text) ? key : text)),\n html: get(option, this.htmlField),\n disabled: Boolean(get(option, this.disabledField))\n };\n } // Otherwise create an `