{"version":3,"file":"js/chunk-vendors-94540e98-legacy.44b8bcfb.js","mappings":"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","sources":["webpack://frog/./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/transition/bv-transition.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/toast/toast.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/toast/toaster.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/toast/helpers/bv-toast.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/toast/index.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/tooltip/index.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/transporter/transporter.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/tooltip/tooltip.js"],"sourcesContent":["// 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 { extend } 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 { useParentMixin } from '../../../mixins/use-parent';\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__*/extend({\n name: NAME_POPPER,\n mixins: [useParentMixin],\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.bvParent.$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); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../../vue';\nimport { NAME_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__*/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.bvParent.bvParent.$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); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\nimport { extend, mergeData } from '../../vue';\nimport { NAME_TRANSITION } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { isPlainObject } from '../../utils/inspect';\nimport { makeProp } from '../../utils/props'; // --- Constants ---\n\nvar NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n};\n\nvar FADE_PROPS = _objectSpread(_objectSpread({}, NO_FADE_PROPS), {}, {\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}); // --- Props ---\n\n\nexport var props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTransition = /*#__PURE__*/extend({\n name: NAME_TRANSITION,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var children = _ref.children,\n data = _ref.data,\n props = _ref.props;\n var transProps = props.transProps;\n\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS;\n\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = _objectSpread(_objectSpread({}, transProps), {}, {\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n });\n }\n }\n\n transProps = _objectSpread(_objectSpread({\n mode: props.mode\n }, transProps), {}, {\n // We always need `css` true\n css: true\n });\n\n var dataCopy = _objectSpread({}, data);\n\n delete dataCopy.props;\n return h('transition', // Any transition event listeners will get merged here\n mergeData(dataCopy, {\n props: transProps\n }), children);\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Portal, Wormhole } from 'portal-vue';\nimport { COMPONENT_UID_KEY, extend } from '../../vue';\nimport { NAME_TOAST, NAME_TOASTER } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_DESTROYED, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_TOAST_TITLE } from '../../constants/slots';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { requestAF } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOnOff } from '../../utils/events';\nimport { mathMax } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { createNewChildComponent } from '../../utils/create-new-child-component';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { scopedStyleMixin } from '../../mixins/scoped-style';\nimport { BButtonClose } from '../button/button-close';\nimport { BLink, props as BLinkProps } from '../link/link';\nimport { BVTransition } from '../transition/bv-transition';\nimport { BToaster } from './toaster'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nvar MIN_DURATION = 1000; // --- Props ---\n\nvar linkProps = pick(BLinkProps, ['href', 'to']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), linkProps), {}, {\n appendToast: makeProp(PROP_TYPE_BOOLEAN, false),\n autoHideDelay: makeProp(PROP_TYPE_NUMBER_STRING, 5000),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerTag: makeProp(PROP_TYPE_STRING, 'header'),\n // Switches role to 'status' and aria-live to 'polite'\n isStatus: makeProp(PROP_TYPE_BOOLEAN, false),\n noAutoHide: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseButton: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noHoverPause: makeProp(PROP_TYPE_BOOLEAN, false),\n solid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Render the toast in place, rather than in a portal-target\n static: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n toastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n toaster: makeProp(PROP_TYPE_STRING, 'b-toaster-top-right'),\n variant: makeProp(PROP_TYPE_STRING)\n})), NAME_TOAST); // --- Main component ---\n// @vue/component\n\nexport var BToast = /*#__PURE__*/extend({\n name: NAME_TOAST,\n mixins: [attrsMixin, idMixin, modelMixin, listenOnRootMixin, normalizeSlotMixin, scopedStyleMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n isMounted: false,\n doRender: false,\n localShow: false,\n isTransitioning: false,\n isHiding: false,\n order: 0,\n dismissStarted: 0,\n resumeDismiss: 0\n };\n },\n computed: {\n toastClasses: function toastClasses() {\n var appendToast = this.appendToast,\n variant = this.variant;\n return _defineProperty({\n 'b-toast-solid': this.solid,\n 'b-toast-append': appendToast,\n 'b-toast-prepend': !appendToast\n }, \"b-toast-\".concat(variant), variant);\n },\n slotScope: function slotScope() {\n var hide = this.hide;\n return {\n hide: hide\n };\n },\n computedDuration: function computedDuration() {\n // Minimum supported duration is 1 second\n return mathMax(toInteger(this.autoHideDelay, 0), MIN_DURATION);\n },\n computedToaster: function computedToaster() {\n return String(this.toaster);\n },\n transitionHandlers: function transitionHandlers() {\n return {\n beforeEnter: this.onBeforeEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n afterLeave: this.onAfterLeave\n };\n },\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n tabindex: '0'\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n this[newValue ? 'show' : 'hide']();\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n if (newValue !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_watch, \"toaster\", function toaster() {\n // If toaster target changed, make sure toaster exists\n this.$nextTick(this.ensureToaster);\n }), _defineProperty(_watch, \"static\", function _static(newValue) {\n // If static changes to true, and the toast is showing,\n // ensure the toaster target exists\n if (newValue && this.localShow) {\n this.ensureToaster();\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_dismissTimer = null;\n },\n mounted: function mounted() {\n var _this = this;\n\n this.isMounted = true;\n this.$nextTick(function () {\n if (_this[MODEL_PROP_NAME]) {\n requestAF(function () {\n _this.show();\n });\n }\n }); // Listen for global $root show events\n\n this.listenOnRoot(getRootActionEventName(NAME_TOAST, EVENT_NAME_SHOW), function (id) {\n if (id === _this.safeId()) {\n _this.show();\n }\n }); // Listen for global $root hide events\n\n this.listenOnRoot(getRootActionEventName(NAME_TOAST, EVENT_NAME_HIDE), function (id) {\n if (!id || id === _this.safeId()) {\n _this.hide();\n }\n }); // Make sure we hide when toaster is destroyed\n\n /* istanbul ignore next: difficult to test */\n\n this.listenOnRoot(getRootEventName(NAME_TOASTER, EVENT_NAME_DESTROYED), function (toaster) {\n /* istanbul ignore next */\n if (toaster === _this.computedToaster) {\n _this.hide();\n }\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDismissTimer();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n if (!this.localShow) {\n this.ensureToaster();\n var showEvent = this.buildEvent(EVENT_NAME_SHOW);\n this.emitEvent(showEvent);\n this.dismissStarted = this.resumeDismiss = 0;\n this.order = Date.now() * (this.appendToast ? 1 : -1);\n this.isHiding = false;\n this.doRender = true;\n this.$nextTick(function () {\n // We show the toast after we have rendered the portal and b-toast wrapper\n // so that screen readers will properly announce the toast\n requestAF(function () {\n _this2.localShow = true;\n });\n });\n }\n },\n hide: function hide() {\n var _this3 = this;\n\n if (this.localShow) {\n var hideEvent = this.buildEvent(EVENT_NAME_HIDE);\n this.emitEvent(hideEvent);\n this.setHoverHandler(false);\n this.dismissStarted = this.resumeDismiss = 0;\n this.clearDismissTimer();\n this.isHiding = true;\n requestAF(function () {\n _this3.localShow = false;\n });\n }\n },\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new BvEvent(type, _objectSpread(_objectSpread({\n cancelable: false,\n target: this.$el || null,\n relatedTarget: null\n }, options), {}, {\n vueTarget: this,\n componentId: this.safeId()\n }));\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(NAME_TOAST, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n ensureToaster: function ensureToaster() {\n if (this.static) {\n return;\n }\n\n var computedToaster = this.computedToaster;\n\n if (!Wormhole.hasTarget(computedToaster)) {\n var div = document.createElement('div');\n document.body.appendChild(div);\n var toaster = createNewChildComponent(this.bvEventRoot, BToaster, {\n propsData: {\n name: computedToaster\n }\n });\n toaster.$mount(div);\n }\n },\n startDismissTimer: function startDismissTimer() {\n this.clearDismissTimer();\n\n if (!this.noAutoHide) {\n this.$_dismissTimer = setTimeout(this.hide, this.resumeDismiss || this.computedDuration);\n this.dismissStarted = Date.now();\n this.resumeDismiss = 0;\n }\n },\n clearDismissTimer: function clearDismissTimer() {\n clearTimeout(this.$_dismissTimer);\n this.$_dismissTimer = null;\n },\n setHoverHandler: function setHoverHandler(on) {\n var el = this.$refs['b-toast'];\n eventOnOff(on, el, 'mouseenter', this.onPause, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, el, 'mouseleave', this.onUnPause, EVENT_OPTIONS_NO_CAPTURE);\n },\n onPause: function onPause() {\n // Determine time remaining, and then pause timer\n if (this.noAutoHide || this.noHoverPause || !this.$_dismissTimer || this.resumeDismiss) {\n return;\n }\n\n var passed = Date.now() - this.dismissStarted;\n\n if (passed > 0) {\n this.clearDismissTimer();\n this.resumeDismiss = mathMax(this.computedDuration - passed, MIN_DURATION);\n }\n },\n onUnPause: function onUnPause() {\n // Restart timer with max of time remaining or 1 second\n if (this.noAutoHide || this.noHoverPause || !this.resumeDismiss) {\n this.resumeDismiss = this.dismissStarted = 0;\n return;\n }\n\n this.startDismissTimer();\n },\n onLinkClick: function onLinkClick() {\n var _this4 = this;\n\n // We delay the close to allow time for the\n // browser to process the link click\n this.$nextTick(function () {\n requestAF(function () {\n _this4.hide();\n });\n });\n },\n onBeforeEnter: function onBeforeEnter() {\n this.isTransitioning = true;\n },\n onAfterEnter: function onAfterEnter() {\n this.isTransitioning = false;\n var hiddenEvent = this.buildEvent(EVENT_NAME_SHOWN);\n this.emitEvent(hiddenEvent);\n this.startDismissTimer();\n this.setHoverHandler(true);\n },\n onBeforeLeave: function onBeforeLeave() {\n this.isTransitioning = true;\n },\n onAfterLeave: function onAfterLeave() {\n this.isTransitioning = false;\n this.order = 0;\n this.resumeDismiss = this.dismissStarted = 0;\n var hiddenEvent = this.buildEvent(EVENT_NAME_HIDDEN);\n this.emitEvent(hiddenEvent);\n this.doRender = false;\n },\n // Render helper for generating the toast\n makeToast: function makeToast(h) {\n var _this5 = this;\n\n var title = this.title,\n slotScope = this.slotScope;\n var link = isLink(this);\n var $headerContent = [];\n var $title = this.normalizeSlot(SLOT_NAME_TOAST_TITLE, slotScope);\n\n if ($title) {\n $headerContent.push($title);\n } else if (title) {\n $headerContent.push(h('strong', {\n staticClass: 'mr-2'\n }, title));\n }\n\n if (!this.noCloseButton) {\n $headerContent.push(h(BButtonClose, {\n staticClass: 'ml-auto mb-1',\n on: {\n click: function click() {\n _this5.hide();\n }\n }\n }));\n }\n\n var $header = h();\n\n if ($headerContent.length > 0) {\n $header = h(this.headerTag, {\n staticClass: 'toast-header',\n class: this.headerClass\n }, $headerContent);\n }\n\n var $body = h(link ? BLink : 'div', {\n staticClass: 'toast-body',\n class: this.bodyClass,\n props: link ? pluckProps(linkProps, this) : {},\n on: link ? {\n click: this.onLinkClick\n } : {}\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, slotScope));\n return h('div', {\n staticClass: 'toast',\n class: this.toastClass,\n attrs: this.computedAttrs,\n key: \"toast-\".concat(this[COMPONENT_UID_KEY]),\n ref: 'toast'\n }, [$header, $body]);\n }\n },\n render: function render(h) {\n if (!this.doRender || !this.isMounted) {\n return h();\n }\n\n var order = this.order,\n isStatic = this.static,\n isHiding = this.isHiding,\n isStatus = this.isStatus;\n var name = \"b-toast-\".concat(this[COMPONENT_UID_KEY]);\n var $toast = h('div', {\n staticClass: 'b-toast',\n class: this.toastClasses,\n attrs: _objectSpread(_objectSpread({}, isStatic ? {} : this.scopedStyleAttrs), {}, {\n id: this.safeId('_toast_outer'),\n role: isHiding ? null : isStatus ? 'status' : 'alert',\n 'aria-live': isHiding ? null : isStatus ? 'polite' : 'assertive',\n 'aria-atomic': isHiding ? null : 'true'\n }),\n key: name,\n ref: 'b-toast'\n }, [h(BVTransition, {\n props: {\n noFade: this.noFade\n },\n on: this.transitionHandlers\n }, [this.localShow ? this.makeToast(h) : h()])]);\n return h(Portal, {\n props: {\n name: name,\n to: this.computedToaster,\n order: order,\n slim: true,\n disabled: isStatic\n }\n }, [$toast]);\n }\n});","import { PortalTarget, Wormhole } from 'portal-vue';\nimport { extend } from '../../vue';\nimport { NAME_TOASTER } from '../../constants/components';\nimport { EVENT_NAME_DESTROYED } from '../../constants/events';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { removeClass, requestAF } from '../../utils/dom';\nimport { getRootEventName } from '../../utils/events';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { warn } from '../../utils/warn';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Helper components ---\n// @vue/component\n\nexport var DefaultTransition = /*#__PURE__*/extend({\n mixins: [normalizeSlotMixin],\n data: function data() {\n return {\n // Transition classes base name\n name: 'b-toaster'\n };\n },\n methods: {\n onAfterEnter: function onAfterEnter(el) {\n var _this = this;\n\n // Work around a Vue.js bug where `*-enter-to` class is not removed\n // See: https://github.com/vuejs/vue/pull/7901\n // The `*-move` class is also stuck on elements that moved,\n // but there are no JavaScript hooks to handle after move\n // See: https://github.com/vuejs/vue/pull/7906\n requestAF(function () {\n removeClass(el, \"\".concat(_this.name, \"-enter-to\"));\n });\n }\n },\n render: function render(h) {\n return h('transition-group', {\n props: {\n tag: 'div',\n name: this.name\n },\n on: {\n afterEnter: this.onAfterEnter\n }\n }, this.normalizeSlot());\n }\n}); // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Allowed: 'true' or 'false' or `null`\n ariaAtomic: makeProp(PROP_TYPE_STRING),\n ariaLive: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING, undefined, true),\n // Required\n // Aria role\n role: makeProp(PROP_TYPE_STRING)\n}, NAME_TOASTER); // --- Main component ---\n// @vue/component\n\nexport var BToaster = /*#__PURE__*/extend({\n name: NAME_TOASTER,\n mixins: [listenOnRootMixin],\n props: props,\n data: function data() {\n return {\n // We don't render on SSR or if a an existing target found\n doRender: false,\n dead: false,\n // Toaster names cannot change once created\n staticName: this.name\n };\n },\n beforeMount: function beforeMount() {\n var name = this.name;\n this.staticName = name;\n /* istanbul ignore if */\n\n if (Wormhole.hasTarget(name)) {\n warn(\"A \\\"\\\" with name \\\"\".concat(name, \"\\\" already exists in the document.\"), NAME_TOASTER);\n this.dead = true;\n } else {\n this.doRender = true;\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Let toasts made with `this.$bvToast.toast()` know that this toaster\n // is being destroyed and should should also destroy/hide themselves\n if (this.doRender) {\n this.emitOnRoot(getRootEventName(NAME_TOASTER, EVENT_NAME_DESTROYED), this.name);\n }\n },\n destroyed: function destroyed() {\n // Remove from DOM if needed\n var $el = this.$el;\n /* istanbul ignore next: difficult to test */\n\n if ($el && $el.parentNode) {\n $el.parentNode.removeChild($el);\n }\n },\n render: function render(h) {\n var $toaster = h('div', {\n class: ['d-none', {\n 'b-dead-toaster': this.dead\n }]\n });\n\n if (this.doRender) {\n var $target = h(PortalTarget, {\n staticClass: 'b-toaster-slot',\n props: {\n name: this.staticName,\n multiple: true,\n tag: 'div',\n slim: false,\n // transition: this.transition || DefaultTransition\n transition: DefaultTransition\n }\n });\n $toaster = h('div', {\n staticClass: 'b-toaster',\n class: [this.staticName],\n attrs: {\n id: this.staticName,\n // Fallback to null to make sure attribute doesn't exist\n role: this.role || null,\n 'aria-live': this.ariaLive,\n 'aria-atomic': this.ariaAtomic\n }\n }, [$target]);\n }\n\n return $toaster;\n }\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Plugin for adding `$bvToast` property to all Vue instances\n */\nimport { NAME_TOAST, NAME_TOASTER, NAME_TOAST_POP } from '../../../constants/components';\nimport { EVENT_NAME_DESTROYED, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { useParentMixin } from '../../../mixins/use-parent';\nimport { concat } from '../../../utils/array';\nimport { getComponentConfig } from '../../../utils/config';\nimport { requestAF } from '../../../utils/dom';\nimport { getRootEventName, getRootActionEventName } from '../../../utils/events';\nimport { isUndefined, isString } from '../../../utils/inspect';\nimport { assign, defineProperties, defineProperty, hasOwnProperty, keys, omit, readonlyDescriptor } from '../../../utils/object';\nimport { pluginFactory } from '../../../utils/plugins';\nimport { warn, warnNotClient } from '../../../utils/warn';\nimport { createNewChildComponent } from '../../../utils/create-new-child-component';\nimport { getEventRoot } from '../../../utils/get-event-root';\nimport { BToast, props as toastProps } from '../toast'; // --- Constants ---\n\nvar PROP_NAME = '$bvToast';\nvar PROP_NAME_PRIV = '_bv__toast'; // Base toast props that are allowed\n// Some may be ignored or overridden on some message boxes\n// Prop ID is allowed, but really only should be used for testing\n// We need to add it in explicitly as it comes from the `idMixin`\n\nvar BASE_PROPS = ['id'].concat(_toConsumableArray(keys(omit(toastProps, ['static', 'visible'])))); // Map prop names to toast slot names\n\nvar propsToSlots = {\n toastContent: 'default',\n title: 'toast-title'\n}; // --- Helper methods ---\n// Method to filter only recognized props that are not undefined\n\nvar filterOptions = function filterOptions(options) {\n return BASE_PROPS.reduce(function (memo, key) {\n if (!isUndefined(options[key])) {\n memo[key] = options[key];\n }\n\n return memo;\n }, {});\n}; // Method to install `$bvToast` VM injection\n\n\nvar plugin = function plugin(Vue) {\n // Create a private sub-component constructor that\n // extends BToast and self-destructs after hidden\n // @vue/component\n var BVToastPop = Vue.extend({\n name: NAME_TOAST_POP,\n extends: BToast,\n mixins: [useParentMixin],\n destroyed: function destroyed() {\n // Make sure we not in document any more\n var $el = this.$el;\n\n if ($el && $el.parentNode) {\n $el.parentNode.removeChild($el);\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Self destruct handler\n var handleDestroy = function handleDestroy() {\n // Ensure the toast has been force hidden\n _this.localShow = false;\n _this.doRender = false;\n\n _this.$nextTick(function () {\n _this.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n // and to allow the portal-target time to remove the content\n requestAF(function () {\n _this.$destroy();\n });\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.bvParent.$once(HOOK_EVENT_NAME_DESTROYED, handleDestroy); // Self destruct after hidden\n\n this.$once(EVENT_NAME_HIDDEN, handleDestroy); // Self destruct when toaster is destroyed\n\n this.listenOnRoot(getRootEventName(NAME_TOASTER, EVENT_NAME_DESTROYED), function (toaster) {\n /* istanbul ignore next: hard to test */\n if (toaster === _this.toaster) {\n handleDestroy();\n }\n });\n }\n }); // Private method to generate the on-demand toast\n\n var makeToast = function makeToast(props, parent) {\n if (warnNotClient(PROP_NAME)) {\n /* istanbul ignore next */\n return;\n } // Create an instance of `BVToastPop` component\n\n\n var toast = createNewChildComponent(parent, BVToastPop, {\n // We set parent as the local VM so these toasts can emit events on the\n // app `$root`, and it ensures `BToast` is destroyed when parent is destroyed\n propsData: _objectSpread(_objectSpread(_objectSpread({}, filterOptions(getComponentConfig(NAME_TOAST))), omit(props, keys(propsToSlots))), {}, {\n // Props that can't be overridden\n static: false,\n visible: true\n })\n }); // Convert certain props to slots\n\n keys(propsToSlots).forEach(function (prop) {\n var value = props[prop];\n\n if (!isUndefined(value)) {\n // Can be a string, or array of VNodes\n if (prop === 'title' && isString(value)) {\n // Special case for title if it is a string, we wrap in a \n value = [parent.$createElement('strong', {\n class: 'mr-2'\n }, value)];\n }\n\n toast.$slots[propsToSlots[prop]] = concat(value);\n }\n }); // Create a mount point (a DIV) and mount it (which triggers the show)\n\n var div = document.createElement('div');\n document.body.appendChild(div);\n toast.$mount(div);\n }; // Declare BvToast instance property class\n\n\n var BvToast = /*#__PURE__*/function () {\n function BvToast(vm) {\n _classCallCheck(this, BvToast);\n\n // Assign the new properties to this instance\n assign(this, {\n _vm: vm,\n _root: getEventRoot(vm)\n }); // Set these properties as read-only and non-enumerable\n\n defineProperties(this, {\n _vm: readonlyDescriptor(),\n _root: readonlyDescriptor()\n });\n } // --- Public Instance methods ---\n // Opens a user defined toast and returns immediately\n\n\n _createClass(BvToast, [{\n key: \"toast\",\n value: function toast(content) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!content || warnNotClient(PROP_NAME)) {\n /* istanbul ignore next */\n return;\n }\n\n makeToast(_objectSpread(_objectSpread({}, filterOptions(options)), {}, {\n toastContent: content\n }), this._vm);\n } // shows a `` component with the specified ID\n\n }, {\n key: \"show\",\n value: function show(id) {\n if (id) {\n this._root.$emit(getRootActionEventName(NAME_TOAST, EVENT_NAME_SHOW), id);\n }\n } // Hide a toast with specified ID, or if not ID all toasts\n\n }, {\n key: \"hide\",\n value: function hide() {\n var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n this._root.$emit(getRootActionEventName(NAME_TOAST, EVENT_NAME_HIDE), id);\n }\n }]);\n\n return BvToast;\n }(); // Add our instance mixin\n\n\n Vue.mixin({\n beforeCreate: function beforeCreate() {\n // Because we need access to `$root` for `$emits`, and VM for parenting,\n // we have to create a fresh instance of `BvToast` for each VM\n this[PROP_NAME_PRIV] = new BvToast(this);\n }\n }); // Define our read-only `$bvToast` instance property\n // Placed in an if just in case in HMR mode\n\n if (!hasOwnProperty(Vue.prototype, PROP_NAME)) {\n defineProperty(Vue.prototype, PROP_NAME, {\n get: function get() {\n /* istanbul ignore next */\n if (!this || !this[PROP_NAME_PRIV]) {\n warn(\"\\\"\".concat(PROP_NAME, \"\\\" must be accessed from a Vue instance \\\"this\\\" context.\"), NAME_TOAST);\n }\n\n return this[PROP_NAME_PRIV];\n }\n });\n }\n};\n\nexport var BVToastPlugin = /*#__PURE__*/pluginFactory({\n plugins: {\n plugin: plugin\n }\n});","import { BVToastPlugin } from './helpers/bv-toast';\nimport { BToast } from './toast';\nimport { BToaster } from './toaster';\nimport { pluginFactory } from '../../utils/plugins';\nvar ToastPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BToast: BToast,\n BToaster: BToaster\n },\n // $bvToast injection\n plugins: {\n BVToastPlugin: BVToastPlugin\n }\n});\nexport { ToastPlugin, BToast, BToaster };","import { BTooltip } from './tooltip';\nimport { VBTooltipPlugin } from '../../directives/tooltip';\nimport { pluginFactory } from '../../utils/plugins';\nvar TooltipPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BTooltip: BTooltip\n },\n plugins: {\n VBTooltipPlugin: VBTooltipPlugin\n }\n});\nexport { TooltipPlugin, BTooltip };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { COMPONENT_UID_KEY, extend } 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 { useParentMixin } from '../../../mixins/use-parent';\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\nimport { getInstanceFromElement } from '../../../utils/element-to-vue-instance-registry';\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 { createNewChildComponent } from '../../../utils/create-new-child-component';\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__*/extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin, useParentMixin],\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.bvParent) {\n this.bvParent.$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.bvParent); // 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 = createNewChildComponent(this, Template, {\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 showEvent = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvent); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvent.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 hideEvent = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvent);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvent.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 loses 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 method = on ? 'listenOnRoot' : 'listenOffRoot';\n var type = this.templateType;\n this[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n this[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n this[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n this[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\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\n if (on) {\n this.$_visibleInterval = setInterval(function () {\n var tip = _this8.getTemplateElement();\n\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[on ? 'listenOnRoot' : 'listenOffRoot'](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.bvEventRoot || !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 var instance = getInstanceFromElement(target);\n\n if (instance) {\n instance[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});","import { Vue, extend, isVue3 } from '../../vue';\nimport { NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { HTMLElement } from '../../constants/safe-types';\nimport { concat } from '../../utils/array';\nimport { removeNode, select } from '../../utils/dom';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isString } from '../../utils/inspect';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { makeProp } from '../../utils/props';\nimport { createNewChildComponent } from '../../utils/create-new-child-component'; // --- Helper components ---\n// BVTransporter/BVTransporterTarget:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of its\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n// Transporter target used by BVTransporter\n// Supports only a single root element\n// @vue/component\n\nvar BVTransporterTarget = /*#__PURE__*/extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: NAME_TRANSPORTER_TARGET,\n props: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n nodes: makeProp(PROP_TYPE_ARRAY_FUNCTION)\n },\n data: function data(vm) {\n return {\n updatedNodes: vm.nodes\n };\n },\n destroyed: function destroyed() {\n removeNode(this.$el);\n },\n render: function render(h) {\n var updatedNodes = this.updatedNodes;\n var $nodes = isFunction(updatedNodes) ? updatedNodes({}) : updatedNodes;\n $nodes = concat($nodes).filter(identity);\n\n if ($nodes && $nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0];\n }\n /* istanbul ignore next */\n\n\n return h();\n }\n}); // --- Props ---\n\nexport var props = {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n container: makeProp([HTMLElement, PROP_TYPE_STRING], 'body'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // This should be set to match the root element type\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}; // --- Main component ---\n// @vue/component\n\nvar BVTransporterVue2 = /*#__PURE__*/extend({\n name: NAME_TRANSPORTER,\n mixins: [normalizeSlotMixin],\n props: props,\n watch: {\n disabled: {\n immediate: true,\n handler: function handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget);\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_defaultFn = null;\n this.$_target = null;\n },\n beforeMount: function beforeMount() {\n this.mountTarget();\n },\n updated: function updated() {\n // We need to make sure that all children have completed updating\n // before rendering in the target\n // `vue-simple-portal` has the this in a `$nextTick()`,\n // while `portal-vue` doesn't\n // Just trying to see if the `$nextTick()` delay is required or not\n // Since all slots in Vue 2.6.x are always functions\n this.updateTarget();\n },\n beforeDestroy: function beforeDestroy() {\n this.unmountTarget();\n this.$_defaultFn = null;\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer: function getContainer() {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n var container = this.container;\n return isString(container) ? select(container) : container;\n } else {\n return null;\n }\n },\n // Mount the target\n mountTarget: function mountTarget() {\n if (!this.$_target) {\n var $container = this.getContainer();\n\n if ($container) {\n var $el = document.createElement('div');\n $container.appendChild($el);\n this.$_target = createNewChildComponent(this, BVTransporterTarget, {\n el: $el,\n propsData: {\n // Initial nodes to be rendered\n nodes: concat(this.normalizeSlot())\n }\n });\n }\n }\n },\n // Update the content of the target\n updateTarget: function updateTarget() {\n if (IS_BROWSER && this.$_target) {\n var defaultFn = this.$scopedSlots.default;\n\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this.$_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this.$_target.updatedNodes = defaultFn;\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this.$_target.updatedNodes = this.$slots.default;\n }\n } // Update the scoped slot function cache\n\n\n this.$_defaultFn = defaultFn;\n }\n },\n // Unmount the target\n unmountTarget: function unmountTarget() {\n this.$_target && this.$_target.$destroy();\n this.$_target = null;\n }\n },\n render: function render(h) {\n // This component has no root element, so only a single VNode is allowed\n if (this.disabled) {\n var $nodes = concat(this.normalizeSlot()).filter(identity);\n\n if ($nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0];\n }\n }\n\n return h();\n }\n});\nvar BVTransporterVue3 = /*#__PURE__*/extend({\n name: NAME_TRANSPORTER,\n mixins: [normalizeSlotMixin],\n props: props,\n render: function render(h) {\n if (this.disabled) {\n var $nodes = concat(this.normalizeSlot()).filter(identity);\n\n if ($nodes.length > 0) {\n return $nodes[0];\n }\n }\n\n return h(Vue.Teleport, {\n to: this.container\n }, this.normalizeSlot());\n }\n});\nexport var BVTransporter = isVue3 ? BVTransporterVue3 : BVTransporterVue2;","var _makePropsConfigurabl, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_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 { useParentMixin } from '../../mixins/use-parent';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { pick } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { createNewChildComponent } from '../../utils/create-new-child-component';\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__*/extend({\n name: NAME_TOOLTIP,\n mixins: [normalizeSlotMixin, useParentMixin],\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.bvParent); // Create the instance\n\n var $toolpop = _this2.$_toolpop = createNewChildComponent(_this2, Component, {\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});"],"names":["AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","arrowPadding","boundary","boundaryPadding","fallbackPlacement","offset","placement","target","BVPopper","name","mixins","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","bvParent","$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","obj","value","configurable","writable","html","id","BVTooltipTemplate","extends","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","NO_FADE_PROPS","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","FADE_PROPS","mode","transProps","BVTransition","functional","children","appearClass","appearActiveClass","appearToClass","css","dataCopy","_watch","DefaultTransition","onAfterEnter","tag","normalizeSlot","ariaAtomic","ariaLive","undefined","BToaster","doRender","dead","staticName","hasTarget","warn","emitOnRoot","$toaster","$target","multiple","slim","transition","_makeModelMixin","type","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","MIN_DURATION","linkProps","appendToast","autoHideDelay","bodyClass","headerClass","headerTag","isStatus","noAutoHide","noCloseButton","noHoverPause","solid","static","toastClass","toaster","BToast","inheritAttrs","isMounted","isTransitioning","isHiding","order","dismissStarted","resumeDismiss","toastClasses","slotScope","computedDuration","math","computedToaster","transitionHandlers","onBeforeEnter","onBeforeLeave","onAfterLeave","computedAttrs","bvAttrs","safeId","watch","newValue","ensureToaster","$_dismissTimer","mounted","show","listenOnRoot","clearDismissTimer","showEvent","buildEvent","emitEvent","Date","now","hideEvent","setHoverHandler","options","cancelable","relatedTarget","vueTarget","componentId","bvEvent","div","document","createElement","body","appendChild","bvEventRoot","propsData","$mount","startDismissTimer","setTimeout","clearTimeout","onPause","onUnPause","passed","onLinkClick","_this4","hiddenEvent","makeToast","_this5","link","$headerContent","click","$header","$body","isStatic","$toast","to","disabled","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","prototype","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","call","slice","constructor","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","PROP_NAME","PROP_NAME_PRIV","BASE_PROPS","propsToSlots","toastContent","filterOptions","reduce","memo","Vue","BVToastPop","extend","parent","toast","visible","$createElement","$slots","BvToast","vm","_vm","_root","beforeCreate","get","BVToastPlugin","plugins","plugin","ToastPlugin","components","TooltipPlugin","BTooltip","VBTooltipPlugin","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","join","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","triggers","container","delay","BVTooltip","activeTrigger","hover","focus","computedId","computedDelay","computedTriggers","trim","toLowerCase","split","sort","isWithActiveTrigger","trigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","oldValue","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","bind","getTarget","scopeId","deactivated","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","updateData","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","hideTemplate","clearActiveTriggers","localPlacementTarget","_unused","removeAriaDescribedby","restoreTitle","getTemplateElement","dropdownOpen","defaultPrevented","addAriaDescribedby","force","tip","prevHoverState","leave","replace","getTargetId","isInModal","isDropdown","clearInterval","desc","d","_this6","setRootListener","_this7","events","method","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","_this9","documentElement","enter","eventTarget","currentTarget","toggle","_this10","_this11","BVTransporterTarget","abstract","nodes","updatedNodes","$nodes","text","BVTransporterVue2","immediate","handler","unmountTarget","mountTarget","$_defaultFn","$_target","updateTarget","$container","defaultFn","$scopedSlots","default","BVTransporterVue3","Teleport","BVTransporter","_makePropsConfigurabl","MODEL_PROP_NAME_ENABLED","MODEL_EVENT_NAME_ENABLED","MODEL_PROP_NAME_SHOW","MODEL_EVENT_NAME_SHOW","localTitle","localContent","$props","templateTitleContent","$_toolpop","updateContent","$off","doOpen","doClose","Component","getComponent","$toolpop","_scopeId","onShow","onShown","onHide","onHidden","onDisabled","onEnabled","setTitle","setContent"],"sourceRoot":""}