{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./node_modules/vue-ripple-directive/src/ripple.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","arrowPadding","boundary","boundaryPadding","fallbackPlacement","offset","placement","target","BVPopper","extend","name","props","data","noFade","localShow","attachment","this","getAttachment","computed","templateType","popperConfig","_this","modifiers","getOffset","flip","behavior","arrow","element","preventOverflow","padding","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","created","_this2","$_popper","$on","el","popperCreate","handleDestroy","$nextTick","$destroy","$parent","$once","beforeMount","updated","updatePopper","beforeDestroy","destroyPopper","destroyed","$el","parentNode","removeChild","methods","hide","String","toUpperCase","$refs","arrowOffset","width","concat","destroy","scheduleUpdate","renderTemplate","h","render","_this3","appear","on","beforeEnter","$emit","afterEnter","beforeLeave","afterLeave","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","configurable","writable","html","id","BVTooltipTemplate","extends","mixins","title","content","variant","customClass","interactive","templateClasses","_ref","noninteractive","templateAttributes","$attrs","role","tabindex","scopedStyleAttrs","templateListeners","mouseenter","event","mouseleave","focusin","focusout","$title","domProps","innerHTML","staticClass","class","attrs","ref","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","join","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","triggers","container","delay","disabled","BVTooltip","activeTrigger","hover","click","focus","computedId","computedDelay","show","math","computedTriggers","identity","trim","toLowerCase","split","sort","isWithActiveTrigger","trigger","computedTemplateData","watch","newTriggers","oldTriggers","unListen","array","listen","handleTemplateUpdate","newValue","oldValue","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","noop","bind","getTarget","document","body","scopeId","warn","deactivated","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","updateData","undefined","titleUpdated","prop","fixTitle","createTemplateAndShow","getContainer","Template","$tip","parent","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","appendChild","createElement","hideTemplate","clearActiveTriggers","localPlacementTarget","_unused","removeAriaDescribedby","restoreTitle","getTemplateElement","_this4","dropdownOpen","showEvt","buildEvent","cancelable","emitEvent","defaultPrevented","addAriaDescribedby","force","tip","hideEvt","prevHoverState","leave","replace","getTargetId","isInModal","isDropdown","clearTimeout","clearInterval","desc","_this5","d","type","options","relatedTarget","componentId","vueTarget","bvEvent","emitOnRoot","_this6","setRootListener","_this7","events","$root","method","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","_this9","documentElement","children","__vue__","enter","eventTarget","currentTarget","toggle","_this10","setTimeout","_this11","defineWellKnownSymbol","Ripple","binding","transition","setProps","addEventListener","rippler","bg","color","zIndex","targetBorder","parseInt","getComputedStyle","rect","getBoundingClientRect","left","top","offsetWidth","height","offsetHeight","dx","clientX","dy","clientY","maxX","Math","max","maxY","style","window","radius","sqrt","border","ripple","rippleContainer","className","marginTop","marginLeft","borderRadius","pointerEvents","position","backgroundColor","overflow","storedTargetPosition","clearRipple","removeEventListener","clearPosition","childNodes","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","direction","item","isNaN","Number","$","DESCRIPTORS","global","has","isObject","f","copyConstructorProperties","NativeSymbol","description","EmptyStringDescriptionStore","SymbolWrapper","result","symbolPrototype","symbolToString","toString","native","regexp","get","symbol","valueOf","string","call","slice","forced"],"mappings":"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","file":"js/chunk-2e632f22.2b3056df.js","sourcesContent":["export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\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\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});","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var Ripple = {\n bind: function(el, binding){\n\n // Default values.\n var props = {\n event: 'mousedown',\n transition: 600\n };\n\n setProps(Object.keys(binding.modifiers),props);\n\n el.addEventListener(props.event, function(event) {\n rippler(event, el, binding.value);\n });\n\n var bg = binding.value || Ripple.color || 'rgba(0, 0, 0, 0.35)';\n var zIndex = Ripple.zIndex || '9999';\n\n function rippler(event, el) {\n var target = el;\n // Get border to avoid offsetting on ripple container position\n var targetBorder = parseInt((getComputedStyle(target).borderWidth).replace('px', ''));\n\n // Get necessary variables\n var rect = target.getBoundingClientRect(),\n left = rect.left,\n top = rect.top,\n width = target.offsetWidth,\n height = target.offsetHeight,\n dx = event.clientX - left,\n dy = event.clientY - top,\n maxX = Math.max(dx, width - dx),\n maxY = Math.max(dy, height - dy),\n style = window.getComputedStyle(target),\n radius = Math.sqrt((maxX * maxX) + (maxY * maxY)),\n border = (targetBorder > 0 ) ? targetBorder : 0;\n\n // Create the ripple and its container\n var ripple = document.createElement(\"div\"),\n rippleContainer = document.createElement(\"div\");\n rippleContainer.className = 'ripple-container';\n ripple.className = 'ripple';\n\n //Styles for ripple\n ripple.style.marginTop= '0px';\n ripple.style.marginLeft= '0px';\n ripple.style.width= '1px';\n ripple.style.height= '1px';\n ripple.style.transition= 'all ' + props.transition + 'ms cubic-bezier(0.4, 0, 0.2, 1)';\n ripple.style.borderRadius= '50%';\n ripple.style.pointerEvents= 'none';\n ripple.style.position= 'relative';\n ripple.style.zIndex= zIndex;\n ripple.style.backgroundColor = bg;\n\n //Styles for rippleContainer\n rippleContainer.style.position= 'absolute';\n rippleContainer.style.left = 0 - border + 'px';\n rippleContainer.style.top = 0 - border + 'px';\n rippleContainer.style.height = '0';\n rippleContainer.style.width = '0';\n rippleContainer.style.pointerEvents = 'none';\n rippleContainer.style.overflow = 'hidden';\n\n // Store target position to change it after\n var storedTargetPosition = ((target.style.position).length > 0) ? target.style.position : getComputedStyle(target).position;\n // Change target position to relative to guarantee ripples correct positioning\n if (storedTargetPosition !== 'relative') {\n target.style.position = 'relative';\n }\n\n rippleContainer.appendChild(ripple);\n target.appendChild(rippleContainer);\n\n ripple.style.marginLeft = dx + \"px\";\n ripple.style.marginTop = dy + \"px\";\n\n // No need to set positioning because ripple should be child of target and to it's relative position.\n // rippleContainer.style.left = left + (((window.pageXOffset || document.scrollLeft) - (document.clientLeft || 0)) || 0) + \"px\";\n // rippleContainer.style.top = top + (((window.pageYOffset || document.scrollTop) - (document.clientTop || 0)) || 0) + \"px\";\n rippleContainer.style.width = width + \"px\";\n rippleContainer.style.height = height + \"px\";\n rippleContainer.style.borderTopLeftRadius = style.borderTopLeftRadius;\n rippleContainer.style.borderTopRightRadius = style.borderTopRightRadius;\n rippleContainer.style.borderBottomLeftRadius = style.borderBottomLeftRadius;\n rippleContainer.style.borderBottomRightRadius = style.borderBottomRightRadius;\n\n rippleContainer.style.direction = 'ltr';\n\n setTimeout(function() {\n ripple.style.width = radius * 2 + \"px\";\n ripple.style.height = radius * 2 + \"px\";\n ripple.style.marginLeft = dx - radius + \"px\";\n ripple.style.marginTop = dy - radius + \"px\";\n }, 0);\n\n function clearRipple() {\n setTimeout(function() {\n ripple.style.backgroundColor = \"rgba(0, 0, 0, 0)\";\n }, 250);\n\n // Timeout set to get a smooth removal of the ripple\n setTimeout(function() {\n rippleContainer.parentNode.removeChild(rippleContainer);\n }, 850);\n\n el.removeEventListener('mouseup', clearRipple, false);\n\n // After removing event set position to target to it's original one\n // Timeout it's needed to avoid jerky effect of ripple jumping out parent target\n setTimeout(function () {\n\n var clearPosition = true;\n for(var i = 0; i < target.childNodes.length; i++) {\n if(target.childNodes[i].className === 'ripple-container') {\n clearPosition = false;\n }\n }\n\n if(clearPosition) {\n if(storedTargetPosition !== 'static') {\n target.style.position = storedTargetPosition;\n } else {\n target.style.position = '';\n }\n }\n\n }, props.transition + 250)\n }\n\n if(event.type === 'mousedown') {\n el.addEventListener('mouseup', clearRipple, false);\n } else {\n clearRipple();\n }\n }\n }\n};\n\nfunction setProps(modifiers,props) {\n modifiers.forEach(function(item) {\n if(isNaN(Number(item)))\n props.event = item;\n else\n props.transition = item;\n });\n}\n\nexport default Ripple;","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n"],"sourceRoot":""}