{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./src/@core/components/b-card-code/index.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?f9e5","webpack:///src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?270b","webpack:///./src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/views/components/tooltip/Tooltip.vue?4394","webpack:///./src/views/components/tooltip/TooltipPosition.vue?4234","webpack:///./src/views/components/tooltip/code.js","webpack:///src/views/components/tooltip/TooltipPosition.vue","webpack:///./src/views/components/tooltip/TooltipPosition.vue?0d1c","webpack:///./src/views/components/tooltip/TooltipPosition.vue","webpack:///./src/views/components/tooltip/TooltipVariant.vue?acb7","webpack:///src/views/components/tooltip/TooltipVariant.vue","webpack:///./src/views/components/tooltip/TooltipVariant.vue?e930","webpack:///./src/views/components/tooltip/TooltipVariant.vue","webpack:///./src/views/components/tooltip/TooltipTrigger.vue?ce8b","webpack:///src/views/components/tooltip/TooltipTrigger.vue","webpack:///./src/views/components/tooltip/TooltipTrigger.vue?c153","webpack:///./src/views/components/tooltip/TooltipTrigger.vue","webpack:///./src/views/components/tooltip/TooltipOption.vue?492f","webpack:///src/views/components/tooltip/TooltipOption.vue","webpack:///./src/views/components/tooltip/TooltipOption.vue?5d0f","webpack:///./src/views/components/tooltip/TooltipOption.vue","webpack:///./src/views/components/tooltip/TooltipMethod.vue?5fed","webpack:///src/views/components/tooltip/TooltipMethod.vue","webpack:///./src/views/components/tooltip/TooltipMethod.vue?ca6f","webpack:///./src/views/components/tooltip/TooltipMethod.vue","webpack:///./src/views/components/tooltip/TooltipEvent.vue?a30a","webpack:///src/views/components/tooltip/TooltipEvent.vue","webpack:///./src/views/components/tooltip/TooltipEvent.vue?fc95","webpack:///./src/views/components/tooltip/TooltipEvent.vue","webpack:///src/views/components/tooltip/Tooltip.vue","webpack:///./src/views/components/tooltip/Tooltip.vue?906f","webpack:///./src/views/components/tooltip/Tooltip.vue","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/col.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?b7cc"],"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","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","props","icon","stacked","BIcon","extend","name","functional","render","h","_ref","data","parent","replace","concat","BCardCode","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","variant","class","domProps","_s","title","_e","text","on","$event","$emit","hideClose","staticRenderFns","BAvatar","type","default","component","scopedSlots","_u","fn","_v","codePosition","proxy","directives","rawName","expression","modifiers","codeVariantCustom","codeTriggers","codeOptions","codeMethods","codeEvent","BButton","BCardText","Ripple","delay","BTooltip","show","hide","showTooltip","hideTooltip","disabled","ref","methods","onShow","onShown","onHide","onHidden","ToastificationContent","BRow","BCol","TooltipPosition","TooltipVariant","TooltipTrigger","TooltipOption","TooltipMethod","TooltipEvent","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","undefined","trigger","placement","fallbackPlacement","container","animation","offset","id","html","interactive","boundary","String","boundaryPadding","customClass","arg","mod","test","slice","selectedTriggers","join","trim","toLowerCase","split","applyTooltip","el","context","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","bind","componentUpdated","$nextTick","unbind","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","content","arrowPadding","BVTooltip","mixins","activeTrigger","localShow","computed","templateType","computedId","computedDelay","computedTriggers","sort","isWithActiveTrigger","computedTemplateData","watch","newTriggers","oldTriggers","_this","unListen","listen","handleTemplateUpdate","newValue","oldValue","disable","enable","created","_this2","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","$once","getTarget","document","body","scopeId","updated","deactivated","forceHide","beforeDestroy","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","_this3","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","appendChild","createElement","hideTemplate","clearActiveTriggers","localPlacementTarget","_unused","removeAriaDescribedby","restoreTitle","getTemplateElement","$el","_this4","dropdownOpen","showEvt","buildEvent","cancelable","emitEvent","defaultPrevented","addAriaDescribedby","force","tip","hideEvt","prevHoverState","leave","getTargetId","isInModal","isDropdown","clearTimeout","clearInterval","desc","_this5","d","options","relatedTarget","componentId","vueTarget","bvEvent","emitOnRoot","_this6","setRootListener","_this7","events","event","$root","method","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","parentNode","_this9","documentElement","children","__vue__","enter","eventTarget","currentTarget","toggle","_this10","setTimeout","_this11","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","reduce","alignContent","alignH","alignV","noGutters","tag","_classList$push","classList","c","ALIGN_SELF_VALUES","computeBreakpoint","className","computeBreakpointClass","breakpointPropMap","breakpoints","breakpointCol","breakpointOffset","breakpointOrder","col","order","alignSelf","_keys","hasColClasses","some","_makePropsConfigurabl","_watch","MODEL_PROP_NAME_ENABLED","MODEL_EVENT_NAME_ENABLED","MODEL_PROP_NAME_SHOW","MODEL_EVENT_NAME_SHOW","inheritAttrs","localTitle","localContent","noninteractive","$props","templateTitleContent","$_toolpop","updateContent","$off","doOpen","doClose","mounted","Component","getComponent","$toolpop","onDisabled","onEnabled","setTitle","normalizeSlot","setContent","textTag","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","BVPopper","attachment","getAttachment","popperConfig","getOffset","flip","behavior","arrow","element","preventOverflow","padding","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","$_popper","popperCreate","handleDestroy","beforeMount","updatePopper","destroyPopper","destroyed","removeChild","toUpperCase","$refs","arrowOffset","width","destroy","scheduleUpdate","renderTemplate","appear","beforeEnter","afterEnter","beforeLeave","afterLeave","BVTooltipTemplate","extends","templateClasses","templateAttributes","$attrs","role","tabindex","scopedStyleAttrs","templateListeners","mouseenter","mouseleave","focusin","focusout","$title","innerHTML","CLASS_NAME","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","linkProps","alt","ariaLabel","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","button","buttonType","rounded","size","square","src","inject","bvAvatarGroup","localSrc","computedSize","computedVariant","computedRounded","fontStyle","fontSize","indexOf","marginStyle","overlapScale","marginLeft","marginRight","badgeStyle","top","bottom","left","right","onImgError","onClick","_class2","link","$content","hasNormalizedSlot","style","height","error","$badge","hasBadgeSlot","badgeText","componentData","noop"],"mappings":"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","file":"js/chunk-20c2e95d.23bdf00c.js","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../vue';\nimport { NAME_ICON } from '../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { RX_ICON_PREFIX } from '../constants/regex';\nimport { omit, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { pascalCase, trim } from '../utils/string';\nimport { BIconBlank } from './icons';\nimport { props as BVIconBaseProps } from './helpers/icon-base'; // --- Helper methods ---\n\nvar findIconComponent = function findIconComponent(ctx, iconName) {\n if (!ctx) {\n return null;\n }\n\n var components = (ctx.$options || {}).components;\n var iconComponent = components[iconName];\n return iconComponent || findIconComponent(ctx.$parent, iconName);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BVIconBaseProps, ['content', 'stacked'])), {}, {\n icon: makeProp(PROP_TYPE_STRING),\n stacked: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_ICON); // --- Main component ---\n// Helper BIcon component\n// Requires the requested icon component to be installed\n// @vue/component\n\nexport var BIcon = /*#__PURE__*/Vue.extend({\n name: NAME_ICON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n parent = _ref.parent;\n var icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, ''); // If parent context exists, we check to see if the icon has been registered\n // either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n\n return h(icon ? findIconComponent(parent, \"BIcon\".concat(icon)) || BIconBlank : BIconBlank, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n icon: null\n })\n }));\n }\n});","import BCardCode from './BCardCode.vue'\r\n\r\nexport default BCardCode\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toastification\"},[_c('div',{staticClass:\"d-flex align-items-start\"},[_c('b-avatar',{staticClass:\"mr-75 flex-shrink-0\",attrs:{\"variant\":_vm.variant,\"size\":\"1.8rem\"}},[_c('feather-icon',{attrs:{\"icon\":_vm.icon,\"size\":\"15\"}})],1),_c('div',{staticClass:\"d-flex flex-grow-1\"},[_c('div',[(_vm.title)?_c('h5',{staticClass:\"mb-0 font-weight-bolder toastification-title\",class:(\"text-\" + _vm.variant),domProps:{\"textContent\":_vm._s(_vm.title)}}):_vm._e(),(_vm.text)?_c('small',{staticClass:\"d-inline-block text-body\",domProps:{\"textContent\":_vm._s(_vm.text)}}):_vm._e()]),_c('span',{staticClass:\"cursor-pointer toastification-close-icon ml-auto \",on:{\"click\":function($event){return _vm.$emit('close-toast')}}},[(!_vm.hideClose)?_c('feather-icon',{staticClass:\"text-body\",attrs:{\"icon\":\"XIcon\"}}):_vm._e()],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToastificationContent.vue?vue&type=template&id=55dd3057&scoped=true&\"\nimport script from \"./ToastificationContent.vue?vue&type=script&lang=js&\"\nexport * from \"./ToastificationContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"55dd3057\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('tooltip-position'),_c('tooltip-variant'),_c('tooltip-trigger'),_c('tooltip-option'),_c('tooltip-method'),_c('tooltip-event')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Tooltip Positions\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codePosition)+\" \")]},proxy:true}])},[_c('b-card-text',{staticClass:\"mb-0\"},[_c('span',[_vm._v(\"Twelve options are available for positioning: \")]),_c('code',[_vm._v(\"top, topleft, topright, right, righttop, rightbottom, bottom, bottomleft, bottomright, left, lefttop,\")]),_c('span',[_vm._v(\" and \")]),_c('code',[_vm._v(\"leftbottom\")]),_c('span',[_vm._v(\" aligned. The default position is top.\")])]),_c('div',{staticClass:\"demo-inline-spacing\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.top\",value:('Tooltip on top!'),expression:\"'Tooltip on top!'\",modifiers:{\"hover\":true,\"top\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Tooltip on top \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.right\",value:('Tooltip on right!'),expression:\"'Tooltip on right!'\",modifiers:{\"hover\":true,\"right\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Tooltip on right \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.left\",value:('Tooltip on left!'),expression:\"'Tooltip on left!'\",modifiers:{\"hover\":true,\"left\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Tooltip on left \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottom\",value:('Tooltip on bottom!'),expression:\"'Tooltip on bottom!'\",modifiers:{\"hover\":true,\"bottom\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Tooltip on bottom \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const codeTooltipDefault = `\r\n\r\n\r\n\r\n`\r\n\r\nexport const codePosition = `\r\n\r\n\r\n\r\n`\r\n\r\nexport const codeVariantCustom = `\r\n\r\n\r\n\r\n`\r\n\r\nexport const codeTriggers = `\r\n\r\n\r\n\r\n`\r\n\r\nexport const codeOptions = `\r\n\r\n\r\n\r\n`\r\n\r\nexport const codeMethods = `\r\n\r\n\r\n\r\n`\r\n\r\nexport const codeEvent = `\r\n\r\n\r\n\r\n`\r\n","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipPosition.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipPosition.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TooltipPosition.vue?vue&type=template&id=5e609426&\"\nimport script from \"./TooltipPosition.vue?vue&type=script&lang=js&\"\nexport * from \"./TooltipPosition.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Variants and custom class\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeVariantCustom)+\" \")]},proxy:true}])},[_c('b-card-text',{staticClass:\"mb-0\"},[_vm._v(\" BootstrapVue's tooltips support contextual color variants via our custom CSS, either by using directive modifiers or config options: \")]),_c('div',{staticClass:\"demo-inline-spacing\"},[_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":\"Default variant\",\"variant\":\"gradient-primary\"}},[_vm._v(\" Default \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-primary\",modifiers:{\"hover\":true,\"v-primary\":true}}],attrs:{\"title\":\"Primary variant\",\"variant\":\"outline-primary\"}},[_vm._v(\" Primary \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],attrs:{\"title\":\"Secondary variant\",\"variant\":\"outline-secondary\"}},[_vm._v(\" Secondary \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(40, 199, 111, 0.15)'),expression:\"'rgba(40, 199, 111, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-success\",modifiers:{\"hover\":true,\"v-success\":true}}],attrs:{\"title\":\"Success variant\",\"variant\":\"outline-success\"}},[_vm._v(\" Success \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(234, 84, 85, 0.15)'),expression:\"'rgba(234, 84, 85, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-danger\",modifiers:{\"hover\":true,\"v-danger\":true}}],attrs:{\"title\":\"Danger variant\",\"variant\":\"outline-danger\"}},[_vm._v(\" Danger \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 159, 67, 0.15)'),expression:\"'rgba(255, 159, 67, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-warning\",modifiers:{\"hover\":true,\"v-warning\":true}}],attrs:{\"title\":\"Warning variant\",\"variant\":\"outline-warning\"}},[_vm._v(\" Warning \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(0, 207, 232, 0.15)'),expression:\"'rgba(0, 207, 232, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-info\",modifiers:{\"hover\":true,\"v-info\":true}}],attrs:{\"title\":\"Info variant\",\"variant\":\"outline-info\"}},[_vm._v(\" Info \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(30, 30, 30, 0.15)'),expression:\"'rgba(30, 30, 30, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-dark\",modifiers:{\"hover\":true,\"v-dark\":true}}],attrs:{\"title\":\"Dark variant\",\"variant\":\"outline-dark\"}},[_vm._v(\" Dark \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipVariant.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipVariant.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TooltipVariant.vue?vue&type=template&id=13750854&\"\nimport script from \"./TooltipVariant.vue?vue&type=script&lang=js&\"\nexport * from \"./TooltipVariant.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Tooltip Triggers\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeTriggers)+\" \")]},proxy:true}])},[_c('b-card-text',{staticClass:\"mb-0\"},[_vm._v(\" Tooltip is triggered using - click | hover | focus | manual options.You may pass multiple triggers; separate them with a space. \")]),_c('div',{staticClass:\"demo-inline-spacing\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.click.v-primary\",modifiers:{\"click\":true,\"v-primary\":true}}],attrs:{\"title\":\"On Cllick Trigger\",\"variant\":\"outline-primary\"}},[_vm._v(\" On Cllick Trigger \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-primary\",modifiers:{\"hover\":true,\"v-primary\":true}}],attrs:{\"title\":\"On Hover Trigger\",\"variant\":\"outline-primary\"}},[_vm._v(\" On Hover Trigger \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.focus.v-primary\",modifiers:{\"hover\":true,\"focus\":true,\"v-primary\":true}}],attrs:{\"title\":\"Hover + Focus Trigger\",\"variant\":\"outline-primary\"}},[_vm._v(\" Hover + Focus Trigger \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.focus.v-primary\",modifiers:{\"focus\":true,\"v-primary\":true}}],attrs:{\"title\":\"On Focus Trigger\",\"variant\":\"outline-primary\"}},[_vm._v(\" On Focus Trigger \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipTrigger.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipTrigger.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TooltipTrigger.vue?vue&type=template&id=5ca33244&\"\nimport script from \"./TooltipTrigger.vue?vue&type=script&lang=js&\"\nexport * from \"./TooltipTrigger.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Tooltip Options\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeOptions)+\" \")]},proxy:true}])},[_c('b-card-text',{staticClass:\"mb-0\"},[_c('span',[_vm._v(\"Use the \")]),_c('code',[_vm._v(\"nofade\")]),_c('span',[_vm._v(\" prop to turn off animation.\")]),_c('span',[_vm._v(\"Delay showing and hiding the tooltip (ms). If a number is supplied, delay is applied to both hide/show. Object structure is: \")]),_c('code',[_vm._v(\"delay: { \\\"show\\\": 500, \\\"hide\\\": 100 }\")])]),_c('div',{staticClass:\"demo-inline-spacing\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"id\":\"tooltip-target-1\",\"variant\":\"outline-primary\"}},[_vm._v(\" No animation \")]),_c('b-tooltip',{attrs:{\"target\":\"tooltip-target-1\",\"triggers\":\"hover\",\"no-fade\":\"\"}},[_vm._v(\" Without Fade Animation class=\\\"mb-1 mb-md-0\\\" \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"id\":\"tooltip-target-2\",\"variant\":\"outline-primary\"}},[_vm._v(\" Delay Tooltip \")]),_c('b-tooltip',{attrs:{\"target\":\"tooltip-target-2\",\"delay\":_vm.delay}},[_vm._v(\" Delay triggers \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipOption.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipOption.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TooltipOption.vue?vue&type=template&id=57bfb0f1&\"\nimport script from \"./TooltipOption.vue?vue&type=script&lang=js&\"\nexport * from \"./TooltipOption.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Tooltip Methods\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeMethods)+\" \")]},proxy:true}])},[_c('b-card-text',{staticClass:\"mb-0\"},[_vm._v(\" This is considered a “manual” triggering of the tooltip. Tooltips with zero-length titles are never displayed. \")]),_c('div',{staticClass:\"demo-inline-spacing\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"id\":\"tooltip-button-1\",\"variant\":\"outline-primary\"},on:{\"click\":_vm.showTooltip}},[_vm._v(\" Show Toggle Tooltip \")]),_c('b-tooltip',{attrs:{\"target\":\"tooltip-button-1\",\"placement\":\"top\",\"triggers\":\"click\"}},[_vm._v(\" tooltip! \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"id\":\"tooltip-button-2\",\"variant\":\"outline-primary\"},on:{\"click\":_vm.hideTooltip}},[_vm._v(\" Hide Toggle Tooltip \")]),_c('b-tooltip',{attrs:{\"target\":\"tooltip-button-2\",\"placement\":\"top\",\"triggers\":\"hover\"}},[_vm._v(\" tooltip! \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"id\":\"tooltip-button-3\",\"variant\":\"outline-primary\"},on:{\"click\":function($event){_vm.show = !_vm.show}}},[_vm._v(\" Toggle Tooltip \")]),_c('b-tooltip',{attrs:{\"show\":_vm.show,\"target\":\"tooltip-button-3\",\"placement\":\"top\",\"triggers\":\"click\"},on:{\"update:show\":function($event){_vm.show=$event}}},[_vm._v(\" tooltip! \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"id\":\"tooltip-button-disable\",\"variant\":\"outline-primary\"}},[_vm._v(\" I have a tooltip \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":_vm.disabled ? 'success':'danger'},on:{\"click\":function($event){_vm.disabled = !_vm.disabled}}},[_vm._v(\" \"+_vm._s(_vm.disabled ? 'Enable' : 'Disable')+\" Tooltip by prop \")]),_c('b-tooltip',{ref:\"tooltip\",attrs:{\"disabled\":_vm.disabled,\"target\":\"tooltip-button-disable\"},on:{\"update:disabled\":function($event){_vm.disabled=$event}}},[_c('span',[_vm._v(\"Hello \")]),_c('strong',[_vm._v(\"World!\")])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipMethod.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipMethod.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TooltipMethod.vue?vue&type=template&id=7d2b81c2&\"\nimport script from \"./TooltipMethod.vue?vue&type=script&lang=js&\"\nexport * from \"./TooltipMethod.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Tooltip Events\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeEvent)+\" \")]},proxy:true}])},[_c('div',{staticClass:\"demo-inline-spacing\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"id\":\"tooltip-button-show-event\",\"variant\":\"outline-primary\"}},[_vm._v(\" Show Event Tooltip \")]),_c('b-tooltip',{ref:\"tooltip-show\",attrs:{\"target\":\"tooltip-button-show-event\",\"triggers\":\"click\"},on:{\"show\":_vm.onShow}},[_vm._v(\" tooltip! \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"id\":\"tooltip-button-shown-event\",\"variant\":\"outline-primary\"}},[_vm._v(\" Shown Event Tooltip \")]),_c('b-tooltip',{ref:\"tooltip-shown\",attrs:{\"target\":\"tooltip-button-shown-event\",\"triggers\":\"click\"},on:{\"shown\":_vm.onShown}},[_vm._v(\" tooltip! \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"id\":\"tooltip-button-hide-event\",\"variant\":\"outline-primary\"}},[_vm._v(\" Hide Event Tooltip \")]),_c('b-tooltip',{ref:\"tooltip-hide\",attrs:{\"target\":\"tooltip-button-hide-event\",\"triggers\":\"click\"},on:{\"hide\":_vm.onHide}},[_vm._v(\" tooltip! \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mb-1 mb-xl-0\",attrs:{\"id\":\"tooltip-button-hidden-event\",\"variant\":\"outline-primary\"}},[_vm._v(\" Hidden Event Tooltip \")]),_c('b-tooltip',{ref:\"tooltip-hidden\",attrs:{\"target\":\"tooltip-button-hidden-event\",\"triggers\":\"click\"},on:{\"hidden\":_vm.onHidden}},[_vm._v(\" tooltip! \")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipEvent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipEvent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TooltipEvent.vue?vue&type=template&id=dde8983a&\"\nimport script from \"./TooltipEvent.vue?vue&type=script&lang=js&\"\nexport * from \"./TooltipEvent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tooltip.vue?vue&type=template&id=ca45edb4&\"\nimport script from \"./Tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./Tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { COMPONENT_UID_KEY, Vue } from '../../../vue';\nimport { NAME_MODAL, NAME_TOOLTIP_HELPER } from '../../../constants/components';\nimport { EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, contains, getAttr, getById, hasAttr, hasClass, isDisabled, isElement, isVisible, removeAttr, requestAF, select, setAttr } from '../../../utils/dom';\nimport { eventOff, eventOn, eventOnOff, getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { getScopeId } from '../../../utils/get-scope-id';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { noop } from '../../../utils/noop';\nimport { toInteger } from '../../../utils/number';\nimport { keys } from '../../../utils/object';\nimport { warn } from '../../../utils/warn';\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root';\nimport { BVTooltipTemplate } from './bv-tooltip-template'; // --- Constants ---\n// Modal container selector for appending tooltip/popover\n\nvar MODAL_SELECTOR = '.modal-content'; // Modal `$root` hidden event\n\nvar ROOT_EVENT_NAME_MODAL_HIDDEN = getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN); // Sidebar container selector for appending tooltip/popover\n\nvar SIDEBAR_SELECTOR = '.b-sidebar'; // For finding the container to append to\n\nvar CONTAINER_SELECTOR = [MODAL_SELECTOR, SIDEBAR_SELECTOR].join(', '); // For dropdown sniffing\n\nvar DROPDOWN_CLASS = 'dropdown';\nvar DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'; // Data attribute to temporary store the `title` attribute's value\n\nvar DATA_TITLE_ATTR = 'data-original-title'; // Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\n\nvar templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null,\n // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Interactive state (Boolean)\n interactive: true,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltip = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin],\n data: function data() {\n return _objectSpread(_objectSpread({}, templateData), {}, {\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n });\n },\n computed: {\n templateType: function templateType() {\n // Overwritten by BVPopover\n return 'tooltip';\n },\n computedId: function computedId() {\n return this.id || \"__bv_\".concat(this.templateType, \"_\").concat(this[COMPONENT_UID_KEY], \"__\");\n },\n computedDelay: function computedDelay() {\n // Normalizes delay into object form\n var delay = {\n show: 0,\n hide: 0\n };\n\n if (isPlainObject(this.delay)) {\n delay.show = mathMax(toInteger(this.delay.show, 0), 0);\n delay.hide = mathMax(toInteger(this.delay.hide, 0), 0);\n } else if (isNumber(this.delay) || isString(this.delay)) {\n delay.show = delay.hide = mathMax(toInteger(this.delay, 0), 0);\n }\n\n return delay;\n },\n computedTriggers: function computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return concat(this.triggers).filter(identity).join(' ').trim().toLowerCase().split(/\\s+/).sort();\n },\n isWithActiveTrigger: function isWithActiveTrigger() {\n for (var trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n },\n computedTemplateData: function computedTemplateData() {\n var title = this.title,\n content = this.content,\n variant = this.variant,\n customClass = this.customClass,\n noFade = this.noFade,\n interactive = this.interactive;\n return {\n title: title,\n content: content,\n variant: variant,\n customClass: customClass,\n noFade: noFade,\n interactive: interactive\n };\n }\n },\n watch: {\n computedTriggers: function computedTriggers(newTriggers, oldTriggers) {\n var _this = this;\n\n // Triggers have changed, so re-register them\n\n /* istanbul ignore next */\n if (!looseEqual(newTriggers, oldTriggers)) {\n this.$nextTick(function () {\n // Disable trigger listeners\n _this.unListen(); // Clear any active triggers that are no longer in the list of triggers\n\n\n oldTriggers.forEach(function (trigger) {\n if (!arrayIncludes(newTriggers, trigger)) {\n if (_this.activeTrigger[trigger]) {\n _this.activeTrigger[trigger] = false;\n }\n }\n }); // Re-enable the trigger listeners\n\n _this.listen();\n });\n }\n },\n computedTemplateData: function computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate();\n },\n title: function title(newValue, oldValue) {\n // Make sure to hide the tooltip when the title is set empty\n if (newValue !== oldValue && !newValue) {\n this.hide();\n }\n },\n disabled: function disabled(newValue) {\n if (newValue) {\n this.disable();\n } else {\n this.enable();\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive properties\n this.$_tip = null;\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.$_visibleInterval = null;\n this.$_enabled = !this.disabled;\n this.$_noop = noop.bind(this); // Destroy ourselves when the parent is destroyed\n\n if (this.$parent) {\n this.$parent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n });\n }\n\n this.$nextTick(function () {\n var target = _this2.getTarget();\n\n if (target && contains(document.body, target)) {\n // Copy the parent's scoped style attribute\n _this2.scopeId = getScopeId(_this2.$parent); // Set up all trigger handlers and listeners\n\n _this2.listen();\n } else {\n /* istanbul ignore next */\n warn(isString(_this2.target) ? \"Unable to find target element by ID \\\"#\".concat(_this2.target, \"\\\" in document.\") : 'The provided target is no valid HTML element.', _this2.templateType);\n }\n });\n },\n\n /* istanbul ignore next */\n updated: function updated() {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide();\n },\n beforeDestroy: function beforeDestroy() {\n // Remove all handler/listeners\n this.unListen();\n this.setWhileOpenListeners(false); // Clear any timeouts/intervals\n\n this.clearHoverTimeout();\n this.clearVisibilityInterval(); // Destroy the template\n\n this.destroyTemplate(); // Remove any other private properties created during create\n\n this.$_noop = null;\n },\n methods: {\n // --- Methods for creating and destroying the template ---\n getTemplate: function getTemplate() {\n // Overridden by BVPopover\n return BVTooltipTemplate;\n },\n updateData: function updateData() {\n var _this3 = this;\n\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n var titleUpdated = false;\n keys(templateData).forEach(function (prop) {\n if (!isUndefined(data[prop]) && _this3[prop] !== data[prop]) {\n _this3[prop] = data[prop];\n\n if (prop === 'title') {\n titleUpdated = true;\n }\n }\n }); // If the title has updated, we may need to handle the `title`\n // attribute on the trigger target\n // We only do this while the template is open\n\n if (titleUpdated && this.localShow) {\n this.fixTitle();\n }\n },\n createTemplateAndShow: function createTemplateAndShow() {\n // Creates the template instance and show it\n var container = this.getContainer();\n var Template = this.getTemplate();\n var $tip = this.$_tip = new Template({\n parent: this,\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: toInteger(this.offset, 0),\n arrowPadding: toInteger(this.arrowPadding, 0),\n boundaryPadding: toInteger(this.boundaryPadding, 0)\n }\n }); // We set the initial reactive data (values that can be changed while open)\n\n this.handleTemplateUpdate(); // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n\n $tip.$once(EVENT_NAME_SHOW, this.onTemplateShow); // When the template has completed showing\n\n $tip.$once(EVENT_NAME_SHOWN, this.onTemplateShown); // When the template has started to hide\n\n $tip.$once(EVENT_NAME_HIDE, this.onTemplateHide); // When the template has completed hiding\n\n $tip.$once(EVENT_NAME_HIDDEN, this.onTemplateHidden); // When the template gets destroyed for any reason\n\n $tip.$once(HOOK_EVENT_NAME_DESTROYED, this.destroyTemplate); // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n\n $tip.$on(EVENT_NAME_FOCUSIN, this.handleEvent);\n $tip.$on(EVENT_NAME_FOCUSOUT, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSEENTER, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSELEAVE, this.handleEvent); // Mount (which triggers the `show`)\n\n $tip.$mount(container.appendChild(document.createElement('div'))); // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate: function hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide(); // Clear out any stragging active triggers\n\n this.clearActiveTriggers(); // Reset the hover state\n\n this.$_hoverState = '';\n },\n // Destroy the template instance and reset state\n destroyTemplate: function destroyTemplate() {\n this.setWhileOpenListeners(false);\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers();\n this.localPlacementTarget = null;\n\n try {\n this.$_tip.$destroy();\n } catch (_unused) {}\n\n this.$_tip = null;\n this.removeAriaDescribedby();\n this.restoreTitle();\n this.localShow = false;\n },\n getTemplateElement: function getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null;\n },\n handleTemplateUpdate: function handleTemplateUpdate() {\n var _this4 = this;\n\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n var $tip = this.$_tip;\n\n if ($tip) {\n var props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']; // Only update the values if they have changed\n\n props.forEach(function (prop) {\n if ($tip[prop] !== _this4[prop]) {\n $tip[prop] = _this4[prop];\n }\n });\n }\n },\n // --- Show/Hide handlers ---\n // Show the tooltip\n show: function show() {\n var target = this.getTarget();\n\n if (!target || !contains(document.body, target) || !isVisible(target) || this.dropdownOpen() || (isUndefinedOrNull(this.title) || this.title === '') && (isUndefinedOrNull(this.content) || this.content === '')) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return;\n } // If tip already exists, exit early\n\n\n if (this.$_tip || this.localShow) {\n /* istanbul ignore next */\n return;\n } // In the process of showing\n\n\n this.localShow = true; // Create a cancelable BvEvent\n\n var showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvt.defaultPrevented) {\n // Destroy the template (if for some reason it was created)\n this.destroyTemplate();\n return;\n } // Fix the title attribute on target\n\n\n this.fixTitle(); // Set aria-describedby on target\n\n this.addAriaDescribedby(); // Create and show the tooltip\n\n this.createTemplateAndShow();\n },\n hide: function hide() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // Hide the tooltip\n var tip = this.getTemplateElement();\n /* istanbul ignore if */\n\n if (!tip || !this.localShow) {\n this.restoreTitle();\n return;\n } // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n\n\n var hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvt);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n return;\n } // Tell the template to hide\n\n\n this.hideTemplate();\n },\n forceHide: function forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return;\n } // Disable while open listeners/watchers\n // This is also done in the template `hide` event handler\n\n\n this.setWhileOpenListeners(false); // Clear any hover enter/leave event\n\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers(); // Disable the fade animation on the template\n\n if (this.$_tip) {\n this.$_tip.noFade = true;\n } // Hide the tip (with force = true)\n\n\n this.hide(true);\n },\n enable: function enable() {\n this.$_enabled = true; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_ENABLED));\n },\n disable: function disable() {\n this.$_enabled = false; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_DISABLED));\n },\n // --- Handlers for template events ---\n // When template is inserted into DOM, but not yet shown\n onTemplateShow: function onTemplateShow() {\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n },\n // When template show transition completes\n onTemplateShown: function onTemplateShown() {\n var prevHoverState = this.$_hoverState;\n this.$_hoverState = '';\n /* istanbul ignore next: occasional Node 10 coverage error */\n\n if (prevHoverState === 'out') {\n this.leave(null);\n } // Emit a non-cancelable BvEvent 'shown'\n\n\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN));\n },\n // When template is starting to hide\n onTemplateHide: function onTemplateHide() {\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n },\n // When template has completed closing (just before it self destructs)\n onTemplateHidden: function onTemplateHidden() {\n // Destroy the template\n this.destroyTemplate(); // Emit a non-cancelable BvEvent 'shown'\n\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN));\n },\n // --- Helper methods ---\n getTarget: function getTarget() {\n var target = this.target;\n\n if (isString(target)) {\n target = getById(target.replace(/^#/, ''));\n } else if (isFunction(target)) {\n target = target();\n } else if (target) {\n target = target.$el || target;\n }\n\n return isElement(target) ? target : null;\n },\n getPlacementTarget: function getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget();\n },\n getTargetId: function getTargetId() {\n // Returns the ID of the trigger element\n var target = this.getTarget();\n return target && target.id ? target.id : null;\n },\n getContainer: function getContainer() {\n // Handle case where container may be a component ref\n var container = this.container ? this.container.$el || this.container : false;\n var body = document.body;\n var target = this.getTarget(); // If we are in a modal, we append to the modal, If we\n // are in a sidebar, we append to the sidebar, else append\n // to body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n\n return container === false ? closest(CONTAINER_SELECTOR, target) || body :\n /*istanbul ignore next */\n isString(container) ?\n /*istanbul ignore next */\n getById(container.replace(/^#/, '')) || body :\n /*istanbul ignore next */\n body;\n },\n getBoundary: function getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent';\n },\n isInModal: function isInModal() {\n var target = this.getTarget();\n return target && closest(MODAL_SELECTOR, target);\n },\n isDropdown: function isDropdown() {\n // Returns true if trigger is a dropdown\n var target = this.getTarget();\n return target && hasClass(target, DROPDOWN_CLASS);\n },\n dropdownOpen: function dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n var target = this.getTarget();\n return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target);\n },\n clearHoverTimeout: function clearHoverTimeout() {\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimeout = null;\n },\n clearVisibilityInterval: function clearVisibilityInterval() {\n clearInterval(this.$_visibleInterval);\n this.$_visibleInterval = null;\n },\n clearActiveTriggers: function clearActiveTriggers() {\n for (var trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false;\n }\n },\n addAriaDescribedby: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.computedId).join(' ').trim(); // Update/add aria-described by\n\n setAttr(target, 'aria-describedby', desc);\n },\n removeAriaDescribedby: function removeAriaDescribedby() {\n var _this5 = this;\n\n // Remove aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this5.computedId;\n }).join(' ').trim(); // Update or remove aria-describedby\n\n if (desc) {\n /* istanbul ignore next */\n setAttr(target, 'aria-describedby', desc);\n } else {\n removeAttr(target, 'aria-describedby');\n }\n },\n fixTitle: function fixTitle() {\n // If the target has a `title` attribute,\n // remove it and store it on a data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, 'title')) {\n // Get `title` attribute value and remove it from target\n var title = getAttr(target, 'title');\n setAttr(target, 'title', ''); // Only set the data attribute when the value is truthy\n\n if (title) {\n setAttr(target, DATA_TITLE_ATTR, title);\n }\n }\n },\n restoreTitle: function restoreTitle() {\n // If the target had a `title` attribute,\n // restore it and remove the data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, DATA_TITLE_ATTR)) {\n // Get data attribute value and remove it from target\n var title = getAttr(target, DATA_TITLE_ATTR);\n removeAttr(target, DATA_TITLE_ATTR); // Only restore the `title` attribute when the value is truthy\n\n if (title) {\n setAttr(target, 'title', title);\n }\n }\n },\n // --- BvEvent helpers ---\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Defaults to a non-cancellable event\n return new BvEvent(type, _objectSpread({\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this\n }, options));\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(this.templateType, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n // --- Event handler setup methods ---\n listen: function listen() {\n var _this6 = this;\n\n // Enable trigger event handlers\n var el = this.getTarget();\n\n if (!el) {\n /* istanbul ignore next */\n return;\n } // Listen for global show/hide events\n\n\n this.setRootListener(true); // Set up our listeners on the target trigger element\n\n this.computedTriggers.forEach(function (trigger) {\n if (trigger === 'click') {\n eventOn(el, 'click', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n\n /* istanbul ignore next */\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'mouseleave', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }\n }, this);\n },\n\n /* istanbul ignore next */\n unListen: function unListen() {\n var _this7 = this;\n\n // Remove trigger event handlers\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n var target = this.getTarget(); // Stop listening for global show/hide/enable/disable events\n\n this.setRootListener(false); // Clear out any active target listeners\n\n events.forEach(function (event) {\n target && eventOff(target, event, _this7.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }, this);\n },\n setRootListener: function setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n var $root = this.$root;\n\n if ($root) {\n var method = on ? '$on' : '$off';\n var type = this.templateType;\n $root[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n $root[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n $root[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n $root[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\n }\n },\n setWhileOpenListeners: function setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on); // Dropdown open events (if we are attached to a dropdown)\n\n this.setDropdownListener(on); // Periodic $element visibility check\n // For handling when tip target is in , tabs, carousel, etc\n\n this.visibleCheck(on); // On-touch start listeners\n\n this.setOnTouchStartListener(on);\n },\n // Handler for periodic visibility check\n visibleCheck: function visibleCheck(on) {\n var _this8 = this;\n\n this.clearVisibilityInterval();\n var target = this.getTarget();\n var tip = this.getTemplateElement();\n\n if (on) {\n this.$_visibleInterval = setInterval(function () {\n if (tip && _this8.localShow && (!target.parentNode || !isVisible(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n _this8.forceHide();\n }\n }, 100);\n }\n },\n setModalListener: function setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this.$root[on ? '$on' : '$off'](ROOT_EVENT_NAME_MODAL_HIDDEN, this.forceHide);\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */\n setOnTouchStartListener: function setOnTouchStartListener(on) {\n var _this9 = this;\n\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(function (el) {\n eventOnOff(on, el, 'mouseover', _this9.$_noop);\n });\n }\n },\n setDropdownListener: function setDropdownListener(on) {\n var target = this.getTarget();\n\n if (!target || !this.$root || !this.isDropdown) {\n return;\n } // We can listen for dropdown shown events on its instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n\n\n if (target.__vue__) {\n target.__vue__[on ? '$on' : '$off'](EVENT_NAME_SHOWN, this.forceHide);\n }\n },\n // --- Event handlers ---\n handleEvent: function handleEvent(event) {\n // General trigger event handler\n // target is the trigger element\n var target = this.getTarget();\n\n if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return;\n }\n\n var type = event.type;\n var triggers = this.computedTriggers;\n\n if (type === 'click' && arrayIncludes(triggers, 'click')) {\n this.click(event);\n } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(event);\n } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `event` includes `relatedTarget` (element losing focus)\n this.enter(event);\n } else if (type === 'focusout' && (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur')) || type === 'mouseleave' && arrayIncludes(triggers, 'hover')) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n var tip = this.getTemplateElement(); // `eventTarget` is the element which is losing focus/hover and\n\n var eventTarget = event.target; // `relatedTarget` is the element gaining focus/hover\n\n var relatedTarget = event.relatedTarget;\n /* istanbul ignore next */\n\n if ( // From tip to target\n tip && contains(tip, eventTarget) && contains(target, relatedTarget) || // From target to tip\n tip && contains(target, eventTarget) && contains(tip, relatedTarget) || // Within tip\n tip && contains(tip, eventTarget) && contains(tip, relatedTarget) || // Within target\n contains(target, eventTarget) && contains(target, relatedTarget)) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return;\n } // Otherwise trigger a leave\n\n\n this.leave(event);\n }\n },\n doHide: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide();\n }\n },\n doShow: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doDisable: function doDisable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically disable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doEnable: function doEnable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically enable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable();\n }\n },\n click: function click(event) {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Get around a WebKit bug where `click` does not trigger focus events\n // On most browsers, `click` triggers a `focusin`/`focus` event first\n // Needed so that trigger 'click blur' works on iOS\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/5099\n // We use `currentTarget` rather than `target` to trigger on the\n // element, not the inner content\n\n\n attemptFocus(event.currentTarget);\n this.activeTrigger.click = !this.activeTrigger.click;\n\n if (this.isWithActiveTrigger) {\n this.enter(null);\n } else {\n /* istanbul ignore next */\n this.leave(null);\n }\n },\n\n /* istanbul ignore next */\n toggle: function toggle() {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n\n\n if (this.localShow) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n },\n enter: function enter() {\n var _this10 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Opening trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n /* istanbul ignore next */\n\n\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in';\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'in';\n\n if (!this.computedDelay.show) {\n this.show();\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle();\n this.$_hoverTimeout = setTimeout(function () {\n /* istanbul ignore else */\n if (_this10.$_hoverState === 'in') {\n _this10.show();\n } else if (!_this10.localShow) {\n _this10.restoreTitle();\n }\n }, this.computedDelay.show);\n }\n },\n leave: function leave() {\n var _this11 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Closing trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false;\n /* istanbul ignore next */\n\n if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false;\n this.activeTrigger.hover = false;\n }\n }\n /* istanbul ignore next: ignore for now */\n\n\n if (this.isWithActiveTrigger) {\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'out';\n\n if (!this.computedDelay.hide) {\n this.hide();\n } else {\n this.$_hoverTimeout = setTimeout(function () {\n if (_this11.$_hoverState === 'out') {\n _this11.hide();\n }\n }, this.computedDelay.hide);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from '../../vue';\nimport { NAME_COL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_COL_CLASS } from '../../constants/regex';\nimport { arrayIncludes } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { memoize } from '../../utils/memoize';\nimport { assign, create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase } from '../../utils/string'; // --- Constants ---\n\nvar ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch']; // --- Helper methods ---\n// Compute a breakpoint class name\n\nvar computeBreakpoint = function computeBreakpoint(type, breakpoint, value) {\n var className = type;\n\n if (isUndefinedOrNull(value) || value === false) {\n return undefined;\n }\n\n if (breakpoint) {\n className += \"-\".concat(breakpoint);\n } // Handling the boolean style prop when accepting `[Boolean, String, Number]`\n // means Vue will not convert `` to `sm: true` for us\n // Since the default is `false`, '' indicates the prop's presence\n\n\n if (type === 'col' && (value === '' || value === true)) {\n // .col-md\n return lowerCase(className);\n } // .order-md-6\n\n\n className += \"-\".concat(value);\n return lowerCase(className);\n}; // Memoized function for better performance on generating class names\n\n\nvar computeBreakpointClass = memoize(computeBreakpoint); // Cached copy of the breakpoint prop names\n\nvar breakpointPropMap = create(null); // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n var breakpoints = getBreakpointsUpCached().filter(identity); // i.e. 'col-sm', 'col-md-6', 'col-lg-auto', ...\n\n var breakpointCol = breakpoints.reduce(function (props, breakpoint) {\n props[breakpoint] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING);\n return props;\n }, create(null)); // i.e. 'offset-md-1', 'offset-lg-12', ...\n\n var breakpointOffset = breakpoints.reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'offset')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // i.e. 'order-md-1', 'order-lg-12', ...\n\n var breakpointOrder = breakpoints.reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'order')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // For loop doesn't need to check `.hasOwnProperty()`\n // when using an object created from `null`\n\n breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n }); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, breakpointCol), breakpointOffset), breakpointOrder), {}, {\n // Flex alignment\n alignSelf: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(ALIGN_SELF_VALUES, value);\n }),\n // Generic flexbox 'col' (xs)\n col: makeProp(PROP_TYPE_BOOLEAN, false),\n // i.e. 'col-1', 'col-2', 'col-auto', ...\n cols: makeProp(PROP_TYPE_NUMBER_STRING),\n offset: makeProp(PROP_TYPE_NUMBER_STRING),\n order: makeProp(PROP_TYPE_NUMBER_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_COL);\n}; // --- Main component ---\n// We do not use Vue.extend here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BCol = {\n name: NAME_COL,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props; // eslint-disable-next-line no-return-assign\n\n return this.props = generateProps();\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var cols = props.cols,\n offset = props.offset,\n order = props.order,\n alignSelf = props.alignSelf;\n var classList = []; // Loop through `col`, `offset`, `order` breakpoint props\n\n for (var type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n var _keys = breakpointPropMap[type];\n\n for (var i = 0; i < _keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n var c = computeBreakpointClass(type, _keys[i].replace(type, ''), props[_keys[i]]); // If a class is returned, push it onto the array.\n\n if (c) {\n classList.push(c);\n }\n }\n }\n\n var hasColClasses = classList.some(function (className) {\n return RX_COL_CLASS.test(className);\n });\n classList.push((_classList$push = {\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || !hasColClasses && !cols\n }, _defineProperty(_classList$push, \"col-\".concat(cols), cols), _defineProperty(_classList$push, \"offset-\".concat(offset), offset), _defineProperty(_classList$push, \"order-\".concat(order), order), _defineProperty(_classList$push, \"align-self-\".concat(alignSelf), alignSelf), _classList$push));\n return h(props.tag, mergeData(data, {\n class: classList\n }), children);\n }\n};","var _makePropsConfigurabl, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TOOLTIP } from '../../constants/components';\nimport { EVENT_NAME_CLOSE, EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_OPEN, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_OBJECT_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { HTMLElement, SVGElement } from '../../constants/safe-types';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { pick } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVTooltip } from './helpers/bv-tooltip'; // --- Constants ---\n\nvar MODEL_PROP_NAME_ENABLED = 'disabled';\nvar MODEL_EVENT_NAME_ENABLED = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_ENABLED;\nvar MODEL_PROP_NAME_SHOW = 'show';\nvar MODEL_EVENT_NAME_SHOW = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SHOW; // --- Props ---\n\nexport var props = makePropsConfigurable((_makePropsConfigurabl = {\n // String: scrollParent, window, or viewport\n // Element: element reference\n // Object: Vue component\n boundary: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING], 'scrollParent'),\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 50),\n // String: HTML ID of container, if null body is used (default)\n // HTMLElement: element reference reference\n // Object: Vue Component\n container: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n customClass: makeProp(PROP_TYPE_STRING),\n delay: makeProp(PROP_TYPE_NUMBER_OBJECT_STRING, 50)\n}, _defineProperty(_makePropsConfigurabl, MODEL_PROP_NAME_ENABLED, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"fallbackPlacement\", makeProp(PROP_TYPE_ARRAY_STRING, 'flip')), _defineProperty(_makePropsConfigurabl, \"id\", makeProp(PROP_TYPE_STRING)), _defineProperty(_makePropsConfigurabl, \"noFade\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"noninteractive\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"offset\", makeProp(PROP_TYPE_NUMBER_STRING, 0)), _defineProperty(_makePropsConfigurabl, \"placement\", makeProp(PROP_TYPE_STRING, 'top')), _defineProperty(_makePropsConfigurabl, MODEL_PROP_NAME_SHOW, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"target\", makeProp([HTMLElement, SVGElement, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING], undefined, true)), _defineProperty(_makePropsConfigurabl, \"title\", makeProp(PROP_TYPE_STRING)), _defineProperty(_makePropsConfigurabl, \"triggers\", makeProp(PROP_TYPE_ARRAY_STRING, 'hover focus')), _defineProperty(_makePropsConfigurabl, \"variant\", makeProp(PROP_TYPE_STRING)), _makePropsConfigurabl), NAME_TOOLTIP); // --- Main component ---\n// @vue/component\n\nexport var BTooltip = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP,\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localShow: this[MODEL_PROP_NAME_SHOW],\n localTitle: '',\n localContent: ''\n };\n },\n computed: {\n // Data that will be passed to the template and popper\n templateData: function templateData() {\n return _objectSpread({\n title: this.localTitle,\n content: this.localContent,\n interactive: !this.noninteractive\n }, pick(this.$props, ['boundary', 'boundaryPadding', 'container', 'customClass', 'delay', 'fallbackPlacement', 'id', 'noFade', 'offset', 'placement', 'target', 'target', 'triggers', 'variant', MODEL_PROP_NAME_ENABLED]));\n },\n // Used to watch for changes to the title and content props\n templateTitleContent: function templateTitleContent() {\n var title = this.title,\n content = this.content;\n return {\n title: title,\n content: content\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME_SHOW, function (newValue, oldValue) {\n if (newValue !== oldValue && newValue !== this.localShow && this.$_toolpop) {\n if (newValue) {\n this.$_toolpop.show();\n } else {\n // We use `forceHide()` to override any active triggers\n this.$_toolpop.forceHide();\n }\n }\n }), _defineProperty(_watch, MODEL_PROP_NAME_ENABLED, function (newValue) {\n if (newValue) {\n this.doDisable();\n } else {\n this.doEnable();\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n // TODO: May need to be done in a `$nextTick()`\n this.$emit(MODEL_EVENT_NAME_SHOW, newValue);\n }), _defineProperty(_watch, \"templateData\", function templateData() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.$_toolpop) {\n _this.$_toolpop.updateData(_this.templateData);\n }\n });\n }), _defineProperty(_watch, \"templateTitleContent\", function templateTitleContent() {\n this.$nextTick(this.updateContent);\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_toolpop = null;\n },\n updated: function updated() {\n // Update the `propData` object\n // Done in a `$nextTick()` to ensure slot(s) have updated\n this.$nextTick(this.updateContent);\n },\n beforeDestroy: function beforeDestroy() {\n // Shutdown our local event listeners\n this.$off(EVENT_NAME_OPEN, this.doOpen);\n this.$off(EVENT_NAME_CLOSE, this.doClose);\n this.$off(EVENT_NAME_DISABLE, this.doDisable);\n this.$off(EVENT_NAME_ENABLE, this.doEnable); // Destroy the tip instance\n\n if (this.$_toolpop) {\n this.$_toolpop.$destroy();\n this.$_toolpop = null;\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n // Instantiate a new BVTooltip instance\n // Done in a `$nextTick()` to ensure DOM has completed rendering\n // so that target can be found\n this.$nextTick(function () {\n // Load the on demand child instance\n var Component = _this2.getComponent(); // Ensure we have initial content\n\n\n _this2.updateContent(); // Pass down the scoped style attribute if available\n\n\n var scopeId = getScopeId(_this2) || getScopeId(_this2.$parent); // Create the instance\n\n var $toolpop = _this2.$_toolpop = new Component({\n parent: _this2,\n // Pass down the scoped style ID\n _scopeId: scopeId || undefined\n }); // Set the initial data\n\n $toolpop.updateData(_this2.templateData); // Set listeners\n\n $toolpop.$on(EVENT_NAME_SHOW, _this2.onShow);\n $toolpop.$on(EVENT_NAME_SHOWN, _this2.onShown);\n $toolpop.$on(EVENT_NAME_HIDE, _this2.onHide);\n $toolpop.$on(EVENT_NAME_HIDDEN, _this2.onHidden);\n $toolpop.$on(EVENT_NAME_DISABLED, _this2.onDisabled);\n $toolpop.$on(EVENT_NAME_ENABLED, _this2.onEnabled); // Initially disabled?\n\n if (_this2[MODEL_PROP_NAME_ENABLED]) {\n // Initially disabled\n _this2.doDisable();\n } // Listen to open signals from others\n\n\n _this2.$on(EVENT_NAME_OPEN, _this2.doOpen); // Listen to close signals from others\n\n\n _this2.$on(EVENT_NAME_CLOSE, _this2.doClose); // Listen to disable signals from others\n\n\n _this2.$on(EVENT_NAME_DISABLE, _this2.doDisable); // Listen to enable signals from others\n\n\n _this2.$on(EVENT_NAME_ENABLE, _this2.doEnable); // Initially show tooltip?\n\n\n if (_this2.localShow) {\n $toolpop.show();\n }\n });\n },\n methods: {\n getComponent: function getComponent() {\n // Overridden by BPopover\n return BVTooltip;\n },\n updateContent: function updateContent() {\n // Overridden by BPopover\n // Tooltip: Default slot is `title`\n // Popover: Default slot is `content`, `title` slot is title\n // We pass a scoped slot function reference by default (Vue v2.6x)\n // And pass the title prop as a fallback\n this.setTitle(this.normalizeSlot() || this.title);\n },\n // Helper methods for `updateContent()`\n setTitle: function setTitle(value) {\n value = isUndefinedOrNull(value) ? '' : value; // We only update the value if it has changed\n\n if (this.localTitle !== value) {\n this.localTitle = value;\n }\n },\n setContent: function setContent(value) {\n value = isUndefinedOrNull(value) ? '' : value; // We only update the value if it has changed\n\n if (this.localContent !== value) {\n this.localContent = value;\n }\n },\n // --- Template event handlers ---\n onShow: function onShow(bvEvent) {\n // Placeholder\n this.$emit(EVENT_NAME_SHOW, bvEvent);\n\n if (bvEvent) {\n this.localShow = !bvEvent.defaultPrevented;\n }\n },\n onShown: function onShown(bvEvent) {\n // Tip is now showing\n this.localShow = true;\n this.$emit(EVENT_NAME_SHOWN, bvEvent);\n },\n onHide: function onHide(bvEvent) {\n this.$emit(EVENT_NAME_HIDE, bvEvent);\n },\n onHidden: function onHidden(bvEvent) {\n // Tip is no longer showing\n this.$emit(EVENT_NAME_HIDDEN, bvEvent);\n this.localShow = false;\n },\n onDisabled: function onDisabled(bvEvent) {\n // Prevent possible endless loop if user mistakenly\n // fires `disabled` instead of `disable`\n if (bvEvent && bvEvent.type === EVENT_NAME_DISABLED) {\n this.$emit(MODEL_EVENT_NAME_ENABLED, true);\n this.$emit(EVENT_NAME_DISABLED, bvEvent);\n }\n },\n onEnabled: function onEnabled(bvEvent) {\n // Prevent possible endless loop if user mistakenly\n // fires `enabled` instead of `enable`\n if (bvEvent && bvEvent.type === EVENT_NAME_ENABLED) {\n this.$emit(MODEL_EVENT_NAME_ENABLED, false);\n this.$emit(EVENT_NAME_ENABLED, bvEvent);\n }\n },\n // --- Local event listeners ---\n doOpen: function doOpen() {\n !this.localShow && this.$_toolpop && this.$_toolpop.show();\n },\n doClose: function doClose() {\n this.localShow && this.$_toolpop && this.$_toolpop.hide();\n },\n doDisable: function doDisable() {\n this.$_toolpop && this.$_toolpop.disable();\n },\n doEnable: function doEnable() {\n this.$_toolpop && this.$_toolpop.enable();\n }\n },\n render: function render(h) {\n // Always renders a comment node\n // TODO:\n // Future: Possibly render a target slot (single root element)\n // which we can apply the listeners to (pass `this.$el` to BVTooltip)\n return h();\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","// Base on-demand component for tooltip / popover templates\n//\n// Currently:\n// Responsible for positioning and transitioning the template\n// Templates are only instantiated when shown, and destroyed when hidden\n//\nimport Popper from 'popper.js';\nimport { Vue } from '../../../vue';\nimport { NAME_POPPER } from '../../../constants/components';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { HTMLElement, SVGElement } from '../../../constants/safe-types';\nimport { getCS, requestAF, select } from '../../../utils/dom';\nimport { toFloat } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props';\nimport { BVTransition } from '../../transition/bv-transition'; // --- Constants ---\n\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n};\nvar OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n}; // --- Props ---\n\nexport var props = {\n // The minimum distance (in `px`) from the edge of the\n // tooltip/popover that the arrow can be positioned\n arrowPadding: makeProp(PROP_TYPE_NUMBER_STRING, 6),\n // 'scrollParent', 'viewport', 'window', or `Element`\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 5),\n fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n placement: makeProp(PROP_TYPE_STRING, 'top'),\n // Element that the tooltip/popover is positioned relative to\n target: makeProp([HTMLElement, SVGElement])\n}; // --- Main component ---\n// @vue/component\n\nexport var BVPopper = /*#__PURE__*/Vue.extend({\n name: NAME_POPPER,\n props: props,\n data: function data() {\n return {\n // reactive props set by parent\n noFade: false,\n // State related data\n localShow: true,\n attachment: this.getAttachment(this.placement)\n };\n },\n computed: {\n /* istanbul ignore next */\n templateType: function templateType() {\n // Overridden by template component\n return 'unknown';\n },\n popperConfig: function popperConfig() {\n var _this = this;\n\n var placement = this.placement;\n return {\n placement: this.getAttachment(placement),\n modifiers: {\n offset: {\n offset: this.getOffset(placement)\n },\n flip: {\n behavior: this.fallbackPlacement\n },\n // `arrow.element` can also be a reference to an HTML Element\n // maybe we should make this a `$ref` in the templates?\n arrow: {\n element: '.arrow'\n },\n preventOverflow: {\n padding: this.boundaryPadding,\n boundariesElement: this.boundary\n }\n },\n onCreate: function onCreate(data) {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n /* istanbul ignore next: can't test in JSDOM */\n _this.popperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n // Handle flipping arrow classes\n _this.popperPlacementChange(data);\n }\n };\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Note: We are created on-demand, and should be guaranteed that\n // DOM is rendered/ready by the time the created hook runs\n this.$_popper = null; // Ensure we show as we mount\n\n this.localShow = true; // Create popper instance before shown\n\n this.$on(EVENT_NAME_SHOW, function (el) {\n _this2.popperCreate(el);\n }); // Self destruct handler\n\n var handleDestroy = function handleDestroy() {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once(HOOK_EVENT_NAME_DESTROYED, handleDestroy); // Self destruct after hidden\n\n this.$once(EVENT_NAME_HIDDEN, handleDestroy);\n },\n beforeMount: function beforeMount() {\n // Ensure that the attachment position is correct before mounting\n // as our propsData is added after `new Template({...})`\n this.attachment = this.getAttachment(this.placement);\n },\n updated: function updated() {\n // Update popper if needed\n // TODO: Should this be a watcher on `this.popperConfig` instead?\n this.updatePopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroyPopper();\n },\n destroyed: function destroyed() {\n // Make sure template is removed from DOM\n var el = this.$el;\n el && el.parentNode && el.parentNode.removeChild(el);\n },\n methods: {\n // \"Public\" method to trigger hide template\n hide: function hide() {\n this.localShow = false;\n },\n // Private\n getAttachment: function getAttachment(placement) {\n return AttachmentMap[String(placement).toUpperCase()] || 'auto';\n },\n getOffset: function getOffset(placement) {\n if (!this.offset) {\n // Could set a ref for the arrow element\n var arrow = this.$refs.arrow || select('.arrow', this.$el);\n var arrowOffset = toFloat(getCS(arrow).width, 0) + toFloat(this.arrowPadding, 0);\n\n switch (OffsetMap[String(placement).toUpperCase()] || 0) {\n /* istanbul ignore next: can't test in JSDOM */\n case +1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"+50%p - \".concat(arrowOffset, \"px\");\n\n /* istanbul ignore next: can't test in JSDOM */\n\n case -1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"-50%p + \".concat(arrowOffset, \"px\");\n\n default:\n return 0;\n }\n }\n /* istanbul ignore next */\n\n\n return this.offset;\n },\n popperCreate: function popperCreate(el) {\n this.destroyPopper(); // We use `el` rather than `this.$el` just in case the original\n // mountpoint root element type was changed by the template\n\n this.$_popper = new Popper(this.target, el, this.popperConfig);\n },\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n updatePopper: function updatePopper() {\n this.$_popper && this.$_popper.scheduleUpdate();\n },\n popperPlacementChange: function popperPlacementChange(data) {\n // Callback used by popper to adjust the arrow placement\n this.attachment = this.getAttachment(data.placement);\n },\n\n /* istanbul ignore next */\n renderTemplate: function renderTemplate(h) {\n // Will be overridden by templates\n return h('div');\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n var noFade = this.noFade; // Note: 'show' and 'fade' classes are only appled during transition\n\n return h(BVTransition, {\n // Transitions as soon as mounted\n props: {\n appear: true,\n noFade: noFade\n },\n on: {\n // Events used by parent component/instance\n beforeEnter: function beforeEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOW, el);\n },\n afterEnter: function afterEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOWN, el);\n },\n beforeLeave: function beforeLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDE, el);\n },\n afterLeave: function afterLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDDEN, el);\n }\n }\n }, [this.localShow ? this.renderTemplate(h) : h()]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { NAME_TOOLTIP_TEMPLATE } from '../../../constants/components';\nimport { EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { scopedStyleMixin } from '../../../mixins/scoped-style';\nimport { BVPopper } from './bv-popper'; // --- Props ---\n\nexport var props = {\n // Used only by the directive versions\n html: makeProp(PROP_TYPE_BOOLEAN, false),\n // Other non-reactive (while open) props are pulled in from BVPopper\n id: makeProp(PROP_TYPE_STRING)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltipTemplate = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_TEMPLATE,\n extends: BVPopper,\n mixins: [scopedStyleMixin],\n props: props,\n data: function data() {\n // We use data, rather than props to ensure reactivity\n // Parent component will directly set this data\n return {\n title: '',\n content: '',\n variant: null,\n customClass: null,\n interactive: true\n };\n },\n computed: {\n templateType: function templateType() {\n return 'tooltip';\n },\n templateClasses: function templateClasses() {\n var _ref;\n\n var variant = this.variant,\n attachment = this.attachment,\n templateType = this.templateType;\n return [(_ref = {\n // Disables pointer events to hide the tooltip when the user\n // hovers over its content\n noninteractive: !this.interactive\n }, _defineProperty(_ref, \"b-\".concat(templateType, \"-\").concat(variant), variant), _defineProperty(_ref, \"bs-\".concat(templateType, \"-\").concat(attachment), attachment), _ref), this.customClass];\n },\n templateAttributes: function templateAttributes() {\n var id = this.id;\n return _objectSpread(_objectSpread({}, this.$parent.$parent.$attrs), {}, {\n id: id,\n role: 'tooltip',\n tabindex: '-1'\n }, this.scopedStyleAttrs);\n },\n templateListeners: function templateListeners() {\n var _this = this;\n\n // Used for hover/focus trigger listeners\n return {\n mouseenter:\n /* istanbul ignore next */\n function mouseenter(event) {\n _this.$emit(EVENT_NAME_MOUSEENTER, event);\n },\n mouseleave:\n /* istanbul ignore next */\n function mouseleave(event) {\n _this.$emit(EVENT_NAME_MOUSELEAVE, event);\n },\n focusin:\n /* istanbul ignore next */\n function focusin(event) {\n _this.$emit(EVENT_NAME_FOCUSIN, event);\n },\n focusout:\n /* istanbul ignore next */\n function focusout(event) {\n _this.$emit(EVENT_NAME_FOCUSOUT, event);\n }\n };\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n var title = this.title; // Title can be a scoped slot function\n\n var $title = isFunction(title) ? title({}) : title; // Directive versions only\n\n var domProps = this.html && !isFunction(title) ? {\n innerHTML: title\n } : {};\n return h('div', {\n staticClass: 'tooltip b-tooltip',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n staticClass: 'arrow',\n ref: 'arrow'\n }), h('div', {\n staticClass: 'tooltip-inner',\n domProps: domProps\n }, [$title])]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_AVATAR } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_IMG_ERROR } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BADGE } from '../../constants/slots';\nimport { isNumber, isNumeric, isString } from '../../utils/inspect';\nimport { toFloat } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIcon } from '../../icons/icon';\nimport { BIconPersonFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar CLASS_NAME = 'b-avatar';\nvar SIZES = ['sm', null, 'lg'];\nvar FONT_SIZE_SCALE = 0.4;\nvar BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\nexport var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n}; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['active', 'event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n alt: makeProp(PROP_TYPE_STRING, 'avatar'),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n badge: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n badgeLeft: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeOffset: makeProp(PROP_TYPE_STRING),\n badgeTop: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonType: makeProp(PROP_TYPE_STRING, 'button'),\n icon: makeProp(PROP_TYPE_STRING),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n size: makeProp(PROP_TYPE_NUMBER_STRING),\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n src: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_AVATAR); // --- Main component ---\n// @vue/component\n\nexport var BAvatar = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n computedSize: function computedSize() {\n // Always use the avatar group size\n var bvAvatarGroup = this.bvAvatarGroup;\n return computeSize(bvAvatarGroup ? bvAvatarGroup.size : this.size);\n },\n computedVariant: function computedVariant() {\n var bvAvatarGroup = this.bvAvatarGroup;\n return bvAvatarGroup && bvAvatarGroup.variant ? bvAvatarGroup.variant : this.variant;\n },\n computedRounded: function computedRounded() {\n var bvAvatarGroup = this.bvAvatarGroup;\n var square = bvAvatarGroup && bvAvatarGroup.square ? true : this.square;\n var rounded = bvAvatarGroup && bvAvatarGroup.rounded ? bvAvatarGroup.rounded : this.rounded;\n return square ? '0' : rounded === '' ? true : rounded || 'circle';\n },\n fontStyle: function fontStyle() {\n var size = this.computedSize;\n var fontSize = SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(FONT_SIZE_SCALE, \")\") : null;\n return fontSize ? {\n fontSize: fontSize\n } : {};\n },\n marginStyle: function marginStyle() {\n var size = this.computedSize,\n bvAvatarGroup = this.bvAvatarGroup;\n var overlapScale = bvAvatarGroup ? bvAvatarGroup.overlapScale : 0;\n var value = size && overlapScale ? \"calc(\".concat(size, \" * -\").concat(overlapScale, \")\") : null;\n return value ? {\n marginLeft: value,\n marginRight: value\n } : {};\n },\n badgeStyle: function badgeStyle() {\n var size = this.computedSize,\n badgeTop = this.badgeTop,\n badgeLeft = this.badgeLeft,\n badgeOffset = this.badgeOffset;\n var offset = badgeOffset || '0px';\n return {\n fontSize: SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(BADGE_FONT_SIZE_SCALE, \" )\") : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n };\n }\n },\n watch: {\n src: function src(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localSrc = newValue || null;\n }\n }\n },\n methods: {\n onImgError: function onImgError(event) {\n this.localSrc = null;\n this.$emit(EVENT_NAME_IMG_ERROR, event);\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n render: function render(h) {\n var _class2;\n\n var variant = this.computedVariant,\n disabled = this.disabled,\n rounded = this.computedRounded,\n icon = this.icon,\n src = this.localSrc,\n text = this.text,\n fontStyle = this.fontStyle,\n marginStyle = this.marginStyle,\n size = this.computedSize,\n button = this.button,\n type = this.buttonType,\n badge = this.badge,\n badgeVariant = this.badgeVariant,\n badgeStyle = this.badgeStyle;\n var link = !button && isLink(this);\n var tag = button ? BButton : link ? BLink : 'span';\n var alt = this.alt;\n var ariaLabel = this.ariaLabel || null;\n var $content = null;\n\n if (this.hasNormalizedSlot()) {\n // Default slot overrides props\n $content = h('span', {\n staticClass: 'b-avatar-custom'\n }, [this.normalizeSlot()]);\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : {\n width: '100%',\n height: '100%'\n },\n attrs: {\n src: src,\n alt: alt\n },\n on: {\n error: this.onImgError\n }\n });\n $content = h('span', {\n staticClass: 'b-avatar-img'\n }, [$content]);\n } else if (icon) {\n $content = h(BIcon, {\n props: {\n icon: icon\n },\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n } else if (text) {\n $content = h('span', {\n staticClass: 'b-avatar-text',\n style: fontStyle\n }, [h('span', text)]);\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, {\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n }\n\n var $badge = h();\n var hasBadgeSlot = this.hasNormalizedSlot(SLOT_NAME_BADGE);\n\n if (badge || badge === '' || hasBadgeSlot) {\n var badgeText = badge === true ? '' : badge;\n $badge = h('span', {\n staticClass: 'b-avatar-badge',\n class: _defineProperty({}, \"badge-\".concat(badgeVariant), badgeVariant),\n style: badgeStyle\n }, [hasBadgeSlot ? this.normalizeSlot(SLOT_NAME_BADGE) : badgeText]);\n }\n\n var componentData = {\n staticClass: CLASS_NAME,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME, \"-\").concat(size), size && SIZES.indexOf(size) !== -1), _defineProperty(_class2, \"badge-\".concat(variant), !button && variant), _defineProperty(_class2, \"rounded\", rounded === true), _defineProperty(_class2, \"rounded-\".concat(rounded), rounded && rounded !== true), _defineProperty(_class2, \"disabled\", disabled), _class2),\n style: _objectSpread(_objectSpread({}, marginStyle), {}, {\n width: size,\n height: size\n }),\n attrs: {\n 'aria-label': ariaLabel || null\n },\n props: button ? {\n variant: variant,\n disabled: disabled,\n type: type\n } : link ? pluckProps(linkProps, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\n }\n});","export var noop = function noop() {};","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&prod&lang=scss&scoped=true&\""],"sourceRoot":""}