{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/button-group/button-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/aspect/aspect.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-toolbar/button-toolbar.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/aspect/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img-lazy.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-toolbar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/calendar/calendar.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/calendar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button-close.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-link.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","props","ariaRole","size","tag","vertical","BButtonGroup","name","functional","render","h","_ref","data","children","class","concat","attrs","role","linkProps","href","default","to","block","disabled","pill","pressed","squared","type","variant","handleFocus","event","isLink","isToggle","isButton","isNonStandardTag","computeClass","computeLinkProps","computeAttrs","button","link","toggle","nonStandardTag","hashLink","tabindex","String","autocomplete","BButton","_ref2","listeners","on","keydown","keyCode","currentTarget","propagation","click","fn","focusin","focusout","componentData","staticClass","undefined","cardImgProps","bind","imgSrc","required","align","noBody","BCard","_class","slots","scopedSlots","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","footer","footerHtml","textVariant","bgVariant","borderVariant","$scopedSlots","$slots","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","domProps","$content","overlay","$footer","hasFooterSlot","bottom","end","start","top","BCardImg","src","alt","width","height","baseClass","right","left","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_arr","_n","_d","next","done","err","isArray","CLASS_NAME","aspect","BAspect","mixins","computed","padding","this","ratio","_aspect$split$map","split","map","v","_aspect$split$map2","$sizer","style","paddingBottom","marginLeft","normalizeSlot","overlap","rounded","square","BAvatarGroup","provide","_this","getBvAvatarGroup","computedSize","overlapScale","paddingStyle","paddingLeft","paddingRight","$inner","BreadcrumbPlugin","components","BBreadcrumb","BBreadcrumbItem","BBreadcrumbLink","ITEM_SELECTOR","join","justify","keyNav","BButtonToolbar","mounted","getItems","methods","items","$el","item","tabIndex","el","focusFirst","focusPrev","index","indexOf","reverse","focusNext","focusLast","onFocusin","relatedTarget","onKeydown","shiftKey","title","titleTag","BCardTitle","AspectPlugin","BadgePlugin","BBadge","columns","deck","BCardGroup","_watch","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","parseCountDown","show","parseShow","dismissLabel","dismissible","fade","BAlert","countDown","localShow","watch","newValue","clearCountDownInterval","$emit","$_countDownTimeout","setTimeout","$nextTick","created","$_filterTimer","beforeDestroy","dismiss","clearTimeout","$alert","$dismissButton","noFade","BCardImgLazy","bodyClass","BCardBody","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","subTitle","bodyTag","AvatarPlugin","BAvatar","footerClass","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","ButtonPlugin","BBtn","BButtonClose","BBtnClose","ButtonToolbarPlugin","BBtnToolbar","ButtonGroupPlugin","BBtnGroup","ariaControls","dateDisabledFn","dateFormatOptions","year","month","day","weekday","dateInfoFn","direction","headerTag","hidden","hideHeader","initialDate","labelCalendar","labelCurrentMonth","labelHelp","labelNav","labelNextDecade","labelNextMonth","labelNextYear","labelNoDateSelected","labelPrevDecade","labelPrevMonth","labelPrevYear","labelSelected","labelToday","locale","max","min","navButtonVariant","noHighlightToday","noKeyNav","readonly","roleDescription","selectedVariant","showDecadeNav","startWeekday","todayVariant","valueAsDate","weekdayHeaderFormat","BCalendar","selected","selectedYMD","activeYMD","getToday","gridHasFocus","isLive","valueId","safeId","widgetId","navId","gridId","gridCaptionId","gridHelpId","activeId","selectedDate","activeDate","computedMin","computedMax","computedWeekStarts","computedLocale","computedDateDisabledFn","computedDateInfoFn","calendarLocale","fmt","Intl","DateTimeFormat","calendar","resolvedOptions","replace","calendarYear","getFullYear","calendarMonth","getMonth","calendarFirstDay","calendarDaysInMonth","date","setMonth","getDate","computedVariant","computedTodayVariant","computedNavButtonVariant","isRTL","dir","toLowerCase","context","selectedFormatted","formatDateString","activeFormatted","dateDisabled","rtl","dateOutOfRange","rangeFn","ymd","hour","minute","second","formatYearMonth","formatWeekdayName","formatWeekdayNameShort","formatDay","nf","NumberFormat","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","format","prevDecadeDisabled","prevYearDisabled","prevMonthDisabled","thisMonthDisabled","nextMonthDisabled","nextYearDisabled","nextDecadeDisabled","matrix","firstDay","daysInMonth","startIndex","getDay","weekOffset","currentDay","week","j","dayYMD","dayDisabled","dateInfo","label","isThisMonth","isDisabled","info","calendarHeadings","_this2","d","text","oldValue","old","newYMD","oldYMD","constrainDate","setLive","_this3","activated","deactivated","focus","$refs","grid","blur","_this4","emitSelected","_this5","setGridFocusFlag","onKeydownWrapper","altKey","ctrlKey","checkDate","constrainedToday","setDate","onKeydownGrid","onClickDay","clickedDate","gotoPrevDecade","gotoPrevYear","gotoPrevMonth","gotoCurrentMonth","gotoNextMonth","gotoNextYear","gotoNextDecade","onHeaderClick","_this6","hideDecadeNav","todayYMD","highlightToday","id","for","navScope","navProps","shiftV","navPrevProps","flipH","navNextProps","$prevDecadeIcon","$prevYearIcon","$prevMonthIcon","$thisMonthIcon","$nextMonthIcon","$nextYearIcon","$nextDecadeIcon","makeNavBtn","content","handler","btnDisabled","shortcut","$nav","$gridCaption","$gridWeekDays","idx","$gridBody","$cells","dIndex","isSelected","isActive","isToday","idCell","$btn","active","pointerEvents","$gridHelp","$grid","ref","$slot","$widget","lang","bvAttrs","CalendarPlugin","CardPlugin","BCardHeader","BCardSubTitle","BCardText","headerClass","headerBgVariant","headerBorderVariant","headerTextVariant","subTitleTag","subTitleTextVariant","AlertPlugin","textTag","childNodes","activeDefined","_item","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","ariaLabel","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","buttonType","icon","inject","localSrc","bvAvatarGroup","computedRounded","fontStyle","fontSize","marginStyle","marginRight","badgeStyle","offset","onImgError","onClick","_class2","hasNormalizedSlot","error","$badge","hasBadgeSlot","badgeText","innerHTML","ariaCurrent","html","suppliedProps"],"mappings":"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","file":"js/vendors-6f27f355.4c37314f.js","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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(_objectSpread(_objectSpread({}, data), {}, {\n props: undefined\n }), componentData), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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 _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) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 { extend } 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__*/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 { 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 { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { mathMax, mathMin } from '../../utils/math';\nimport { toFloat } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { extend } from '../../vue';\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__*/extend({\n name: NAME_AVATAR_GROUP,\n mixins: [normalizeSlotMixin],\n provide: function provide() {\n var _this = this;\n\n return {\n getBvAvatarGroup: function getBvAvatarGroup() {\n return _this;\n }\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 { 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 { extend } 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__*/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 { extend, 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__*/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 { BAspect } from './aspect';\nimport { pluginFactory } from '../../utils/plugins';\nvar AspectPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BAspect: BAspect\n }\n});\nexport { AspectPlugin, BAspect };","import { BBadge } from './badge';\nimport { pluginFactory } from '../../utils/plugins';\nvar BadgePlugin = /*#__PURE__*/pluginFactory({\n components: {\n BBadge: BBadge\n }\n});\nexport { BadgePlugin, BBadge };","import { extend, 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__*/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});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { 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 { normalizeSlotMixin } from '../../mixins/normalize-slot';\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 { COMPONENT_UID_KEY, extend } from '../../vue';\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__*/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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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});","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); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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});","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 };","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 };","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 };","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } 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 headerTag: makeProp(PROP_TYPE_STRING, 'header'),\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 = 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(this.headerTag, {\n staticClass: 'b-calendar-header',\n class: {\n 'sr-only': this.hideHeader\n },\n attrs: {\n title: this.selectedDate ? this.labelSelected || 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('div', {\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('div', {\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});","import { extend, 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__*/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});","import { BCalendar } from './calendar';\nimport { pluginFactory } from '../../utils/plugins';\nvar CalendarPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BCalendar: BCalendar\n }\n});\nexport { CalendarPlugin, BCalendar };","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 };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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});","import { extend, 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__*/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});","import { BAlert } from './alert';\nimport { pluginFactory } from '../../utils/plugins';\nvar AlertPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BAlert: BAlert\n }\n});\nexport { AlertPlugin, BAlert };","import { extend, 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__*/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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } 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__*/extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n getBvAvatarGroup: {\n default: function _default() {\n return function () {\n return null;\n };\n }\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n bvAvatarGroup: function bvAvatarGroup() {\n return this.getBvAvatarGroup();\n },\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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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});","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 { extend, 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__*/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); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, 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__*/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});"],"sourceRoot":""}