{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./src/views/pages/notifications/NotificationsList.vue?0ce6","webpack:///./src/views/pages/notifications/NotificationsList.vue","webpack:///./src/views/pages/notifications/NotificationsList.vue?e184","webpack:///./src/views/pages/notifications/NotificationsList.vue?c471","webpack:///./src/views/pages/notifications/NotificationsList.vue?0157","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","title","undefined","trigger","placement","fallbackPlacement","container","animation","offset","id","html","interactive","disabled","delay","boundary","String","boundaryPadding","variant","customClass","data","attrs","show","hide","arg","concat","modifiers","mod","test","slice","selectedTriggers","join","trim","toLowerCase","split","applyTooltip","el","$parent","context","parent","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","bind","componentUpdated","$nextTick","unbind","props","noBody","rightAlign","tag","verticalAlign","BMedia","extend","name","functional","render","h","_ref","slots","scopedSlots","children","$children","slotScope","$slots","$scopedSlots","$aside","right","staticClass","_vm","this","_c","_self","_setupProxy","notifications","_v","_s","$ENUMS","PLACEHOLDER","NENHUMA_NOTIFICACAO","_e","_l","notification","index","resolverType","directives","rawName","expression","Read","TOOLTIP","MARCAR_COMO_EMAIL_NAO_LIDO","MARCAR_COMO_EMAIL_LIDO","on","$event","updateNotification","getDateNotification","Timestamp","categories","category","tagsColor","Message","deleteNotification","Id","staticRenderFns","NotificationsList","_Vue","_this","_classCallCheck","ENUMS","_inherits","_createClass","get","$store","getters","read","n","dispatch","notificationId","Type","date","convertDateTimestampToString","Vue","__decorate","Component","components","BRow","BCol","BCard","BCardText","BCardTitle","BMediaBody","BCardBody","RouterLink","BBadge","AvButton","Ripple","component","BMediaAside","align","class","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","arrowPadding","BVPopper","localShow","attachment","getAttachment","computed","templateType","popperConfig","getOffset","flip","behavior","arrow","element","preventOverflow","padding","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","created","_this2","$_popper","popperCreate","handleDestroy","$once","beforeMount","updated","updatePopper","beforeDestroy","destroyPopper","destroyed","$el","parentNode","removeChild","methods","toUpperCase","$refs","arrowOffset","width","destroy","scheduleUpdate","renderTemplate","_this3","appear","beforeEnter","$emit","afterEnter","beforeLeave","afterLeave","BVTooltipTemplate","extends","mixins","content","templateClasses","noninteractive","templateAttributes","$attrs","role","tabindex","scopedStyleAttrs","templateListeners","mouseenter","event","mouseleave","focusin","focusout","$title","domProps","innerHTML","ref","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","BVTooltip","activeTrigger","computedId","computedDelay","math","computedTriggers","identity","sort","isWithActiveTrigger","computedTemplateData","watch","newTriggers","oldTriggers","unListen","array","listen","handleTemplateUpdate","newValue","oldValue","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","noop","getTarget","document","body","scopeId","warn","deactivated","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","appendChild","createElement","hideTemplate","clearActiveTriggers","localPlacementTarget","_unused","removeAriaDescribedby","restoreTitle","getTemplateElement","_this4","dropdownOpen","showEvt","buildEvent","cancelable","emitEvent","defaultPrevented","addAriaDescribedby","force","tip","hideEvt","prevHoverState","leave","replace","getTargetId","isInModal","isDropdown","clearTimeout","clearInterval","desc","_this5","d","type","options","relatedTarget","componentId","vueTarget","bvEvent","emitOnRoot","_this6","setRootListener","_this7","events","$root","method","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","_this9","documentElement","__vue__","enter","eventTarget","currentTarget","toggle","_this10","setTimeout","_this11","textTag","linkProps","href","default","to","pill","active","link"],"mappings":"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","file":"js/chunk-23fd29d9.e7bbf23f.js","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), $children);\n }\n});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationsList.vue?vue&type=style&index=0&id=2fbb8c25&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[(_vm.notifications.length == 0)?_c('RouterLink',{staticClass:\"notification-wrapper\"},[_c('b-media',{staticClass:\"text-muted\"},[_c('small',{staticClass:\"notification-text\"},[_vm._v(\" \"+_vm._s(_vm.$ENUMS.PLACEHOLDER.NENHUMA_NOTIFICACAO)+\" \")])])],1):_vm._e(),_vm._l((_vm.notifications),function(notification,index){return _c('b-row',{key:index},[_c('b-col',[_c('b-card',{attrs:{\"tag\":\"article\",\"no-body\":\"\"}},[_c('b-card-body',[_c('b-card-title',[_c('b-row',[_c('b-col',{staticClass:\"col d-flex align-items-center\"},[_c('h5',{staticClass:\"blog-title-truncate text-body-heading mb-0\"},[_vm._v(\" \"+_vm._s(_vm.resolverType(notification).title)+\" \")])]),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('av-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(0, 207, 232, 0.15)'),expression:\"'rgba(0, 207, 232, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.right\",value:(\n notification.Read\n ? _vm.$ENUMS.TOOLTIP.MARCAR_COMO_EMAIL_NAO_LIDO\n : _vm.$ENUMS.TOOLTIP.MARCAR_COMO_EMAIL_LIDO\n ),expression:\"\\n notification.Read\\n ? $ENUMS.TOOLTIP.MARCAR_COMO_EMAIL_NAO_LIDO\\n : $ENUMS.TOOLTIP.MARCAR_COMO_EMAIL_LIDO\\n \",modifiers:{\"hover\":true,\"right\":true}}],staticClass:\"btn-icon rounded-circle\",attrs:{\"variant\":\"flat-primary\"},on:{\"click\":function($event){return _vm.updateNotification(notification, !notification.Read)}}},[_c('feather-icon',{attrs:{\"size\":\"18\",\"icon\":notification.Read ? 'CircleIcon' : 'CheckCircleIcon'}})],1)],1)],1)],1),_c('b-media',{attrs:{\"no-body\":\"\"}},[_c('b-media-body',[_c('small',{staticClass:\"text-muted mr-50\"},[_vm._v(\"Por\")]),_c('small',[_c('strong',{staticClass:\"text-body\"},[_vm._v(\"Sistema\")])]),_c('span',{staticClass:\"text-muted ml-75 mr-50\"},[_vm._v(\"|\")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.getDateNotification(notification.Timestamp))+\" \")])])],1),_c('div',{staticClass:\"my-1 py-25\"},_vm._l((_vm.resolverType(notification)\n .categories),function(category,index){return _c('span',{key:`cat-${index}`},[_c('b-badge',{staticClass:\"mr-75\",attrs:{\"pill\":\"\",\"variant\":_vm.tagsColor(category)}},[_vm._v(\" \"+_vm._s(category)+\" \")])],1)}),0),_c('b-card-text',{staticClass:\"blog-content-truncate\"},[_vm._v(\" \"+_vm._s(notification.Message)+\" \")])],1)],1)],1),_c('b-col',{staticClass:\"pl-0\",attrs:{\"cols\":\"auto\"}},[_c('av-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.left\",value:('Remover notificação'),expression:\"'Remover notificação'\",modifiers:{\"hover\":true,\"left\":true}}],staticClass:\"btn-icon btn-remove-notification rounded-circle\",attrs:{\"variant\":\"flat-secondary\"},on:{\"click\":function($event){return _vm.deleteNotification(notification.Id)}}},[_c('feather-icon',{attrs:{\"size\":\"18\",\"icon\":\"XIcon\"}})],1)],1)],1)})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { AvButton } from \"@/components\";\nimport ENUMS from \"@/enums\";\nimport { convertDateTimestampToString } from \"@/services/utils\";\nimport { INotification } from \"@/store/firebase/firebaseState\";\nimport {\n BBadge,\n BCard,\n BCardBody,\n BCardText,\n BCardTitle,\n BCol,\n BMedia,\n BMediaBody,\n BRow,\n VBTooltip,\n} from \"bootstrap-vue\";\nimport { Timestamp } from \"firebase/firestore\";\nimport { Component, Vue } from \"vue-property-decorator\";\nimport Ripple from \"vue-ripple-directive\";\nimport { RouterLink } from \"vue-router\";\n\n@Component({\n name: \"NotificationsList\",\n components: {\n BRow,\n BCol,\n BCard,\n BCardText,\n BCardTitle,\n BMedia,\n BMediaBody,\n BCardBody,\n RouterLink,\n BBadge,\n AvButton,\n },\n directives: {\n Ripple,\n \"b-tooltip\": VBTooltip,\n },\n})\nexport default class NotificationsList extends Vue {\n $ENUMS = ENUMS;\n\n // Computeds\n get notifications(): INotification[] {\n return this.$store.getters[\"firebase/notifications\"];\n }\n\n // Methods\n updateNotification(notification: INotification, read: boolean) {\n const n = {\n ...notification,\n Read: read,\n };\n this.$store.dispatch(\"firebase/updateNotification\", n);\n }\n\n deleteNotification(notificationId: string) {\n this.$store.dispatch(\"firebase/deleteNotification\", notificationId);\n }\n\n tagsColor(tag: string) {\n if (tag === \"Dashboard\") return \"light-info\";\n if (tag === \"Valid. Marca\") return \"light-info\";\n if (tag === \"Usuário\") return \"light-info\";\n if (tag === \"Arquivo\") return \"light-warning\";\n if (tag === \"Adicionado\") return \"light-success\";\n // if (tag === \"Gaming\") return \"light-danger\";\n // if (tag === \"Video\") return \"light-warning\";\n return \"light-primary\";\n }\n\n resolverType(notification: INotification): {\n title: string;\n categories: string[];\n } {\n if (notification.Type == \"NotificacaoDashboard\")\n return { title: \"Dashboard Atualizado\", categories: [\"Dashboard\"] };\n if (notification.Type == \"NotificacaoValidacaoMarca\")\n return {\n title: \"Validação da Marca\",\n categories: [\"Valid. Marca\", \"Arquivo\"],\n };\n if (notification.Type == \"NotificacaoCreateUserFinish\")\n return {\n title: \"Usuário Criado com Sucesso\",\n categories: [\"Usuário\", \"Adicionado\"],\n };\n return { title: notification.Message, categories: [\"Outros\"] };\n }\n\n getDateNotification(date: Timestamp): string {\n return convertDateTimestampToString(date);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationsList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationsList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NotificationsList.vue?vue&type=template&id=2fbb8c25\"\nimport script from \"./NotificationsList.vue?vue&type=script&lang=ts\"\nexport * from \"./NotificationsList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./NotificationsList.vue?vue&type=style&index=0&id=2fbb8c25&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","// Base on-demand component for tooltip / popover templates\n//\n// Currently:\n// Responsible for positioning and transitioning the template\n// Templates are only instantiated when shown, and destroyed when hidden\n//\nimport Popper from 'popper.js';\nimport { Vue } from '../../../vue';\nimport { NAME_POPPER } from '../../../constants/components';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { HTMLElement, SVGElement } from '../../../constants/safe-types';\nimport { getCS, requestAF, select } from '../../../utils/dom';\nimport { toFloat } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props';\nimport { BVTransition } from '../../transition/bv-transition'; // --- Constants ---\n\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n};\nvar OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n}; // --- Props ---\n\nexport var props = {\n // The minimum distance (in `px`) from the edge of the\n // tooltip/popover that the arrow can be positioned\n arrowPadding: makeProp(PROP_TYPE_NUMBER_STRING, 6),\n // 'scrollParent', 'viewport', 'window', or `Element`\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 5),\n fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n placement: makeProp(PROP_TYPE_STRING, 'top'),\n // Element that the tooltip/popover is positioned relative to\n target: makeProp([HTMLElement, SVGElement])\n}; // --- Main component ---\n// @vue/component\n\nexport var BVPopper = /*#__PURE__*/Vue.extend({\n name: NAME_POPPER,\n props: props,\n data: function data() {\n return {\n // reactive props set by parent\n noFade: false,\n // State related data\n localShow: true,\n attachment: this.getAttachment(this.placement)\n };\n },\n computed: {\n /* istanbul ignore next */\n templateType: function templateType() {\n // Overridden by template component\n return 'unknown';\n },\n popperConfig: function popperConfig() {\n var _this = this;\n\n var placement = this.placement;\n return {\n placement: this.getAttachment(placement),\n modifiers: {\n offset: {\n offset: this.getOffset(placement)\n },\n flip: {\n behavior: this.fallbackPlacement\n },\n // `arrow.element` can also be a reference to an HTML Element\n // maybe we should make this a `$ref` in the templates?\n arrow: {\n element: '.arrow'\n },\n preventOverflow: {\n padding: this.boundaryPadding,\n boundariesElement: this.boundary\n }\n },\n onCreate: function onCreate(data) {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n /* istanbul ignore next: can't test in JSDOM */\n _this.popperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n // Handle flipping arrow classes\n _this.popperPlacementChange(data);\n }\n };\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Note: We are created on-demand, and should be guaranteed that\n // DOM is rendered/ready by the time the created hook runs\n this.$_popper = null; // Ensure we show as we mount\n\n this.localShow = true; // Create popper instance before shown\n\n this.$on(EVENT_NAME_SHOW, function (el) {\n _this2.popperCreate(el);\n }); // Self destruct handler\n\n var handleDestroy = function handleDestroy() {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once(HOOK_EVENT_NAME_DESTROYED, handleDestroy); // Self destruct after hidden\n\n this.$once(EVENT_NAME_HIDDEN, handleDestroy);\n },\n beforeMount: function beforeMount() {\n // Ensure that the attachment position is correct before mounting\n // as our propsData is added after `new Template({...})`\n this.attachment = this.getAttachment(this.placement);\n },\n updated: function updated() {\n // Update popper if needed\n // TODO: Should this be a watcher on `this.popperConfig` instead?\n this.updatePopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroyPopper();\n },\n destroyed: function destroyed() {\n // Make sure template is removed from DOM\n var el = this.$el;\n el && el.parentNode && el.parentNode.removeChild(el);\n },\n methods: {\n // \"Public\" method to trigger hide template\n hide: function hide() {\n this.localShow = false;\n },\n // Private\n getAttachment: function getAttachment(placement) {\n return AttachmentMap[String(placement).toUpperCase()] || 'auto';\n },\n getOffset: function getOffset(placement) {\n if (!this.offset) {\n // Could set a ref for the arrow element\n var arrow = this.$refs.arrow || select('.arrow', this.$el);\n var arrowOffset = toFloat(getCS(arrow).width, 0) + toFloat(this.arrowPadding, 0);\n\n switch (OffsetMap[String(placement).toUpperCase()] || 0) {\n /* istanbul ignore next: can't test in JSDOM */\n case +1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"+50%p - \".concat(arrowOffset, \"px\");\n\n /* istanbul ignore next: can't test in JSDOM */\n\n case -1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"-50%p + \".concat(arrowOffset, \"px\");\n\n default:\n return 0;\n }\n }\n /* istanbul ignore next */\n\n\n return this.offset;\n },\n popperCreate: function popperCreate(el) {\n this.destroyPopper(); // We use `el` rather than `this.$el` just in case the original\n // mountpoint root element type was changed by the template\n\n this.$_popper = new Popper(this.target, el, this.popperConfig);\n },\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n updatePopper: function updatePopper() {\n this.$_popper && this.$_popper.scheduleUpdate();\n },\n popperPlacementChange: function popperPlacementChange(data) {\n // Callback used by popper to adjust the arrow placement\n this.attachment = this.getAttachment(data.placement);\n },\n\n /* istanbul ignore next */\n renderTemplate: function renderTemplate(h) {\n // Will be overridden by templates\n return h('div');\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n var noFade = this.noFade; // Note: 'show' and 'fade' classes are only appled during transition\n\n return h(BVTransition, {\n // Transitions as soon as mounted\n props: {\n appear: true,\n noFade: noFade\n },\n on: {\n // Events used by parent component/instance\n beforeEnter: function beforeEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOW, el);\n },\n afterEnter: function afterEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOWN, el);\n },\n beforeLeave: function beforeLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDE, el);\n },\n afterLeave: function afterLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDDEN, el);\n }\n }\n }, [this.localShow ? this.renderTemplate(h) : h()]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { NAME_TOOLTIP_TEMPLATE } from '../../../constants/components';\nimport { EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { scopedStyleMixin } from '../../../mixins/scoped-style';\nimport { BVPopper } from './bv-popper'; // --- Props ---\n\nexport var props = {\n // Used only by the directive versions\n html: makeProp(PROP_TYPE_BOOLEAN, false),\n // Other non-reactive (while open) props are pulled in from BVPopper\n id: makeProp(PROP_TYPE_STRING)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltipTemplate = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_TEMPLATE,\n extends: BVPopper,\n mixins: [scopedStyleMixin],\n props: props,\n data: function data() {\n // We use data, rather than props to ensure reactivity\n // Parent component will directly set this data\n return {\n title: '',\n content: '',\n variant: null,\n customClass: null,\n interactive: true\n };\n },\n computed: {\n templateType: function templateType() {\n return 'tooltip';\n },\n templateClasses: function templateClasses() {\n var _ref;\n\n var variant = this.variant,\n attachment = this.attachment,\n templateType = this.templateType;\n return [(_ref = {\n // Disables pointer events to hide the tooltip when the user\n // hovers over its content\n noninteractive: !this.interactive\n }, _defineProperty(_ref, \"b-\".concat(templateType, \"-\").concat(variant), variant), _defineProperty(_ref, \"bs-\".concat(templateType, \"-\").concat(attachment), attachment), _ref), this.customClass];\n },\n templateAttributes: function templateAttributes() {\n var id = this.id;\n return _objectSpread(_objectSpread({}, this.$parent.$parent.$attrs), {}, {\n id: id,\n role: 'tooltip',\n tabindex: '-1'\n }, this.scopedStyleAttrs);\n },\n templateListeners: function templateListeners() {\n var _this = this;\n\n // Used for hover/focus trigger listeners\n return {\n mouseenter:\n /* istanbul ignore next */\n function mouseenter(event) {\n _this.$emit(EVENT_NAME_MOUSEENTER, event);\n },\n mouseleave:\n /* istanbul ignore next */\n function mouseleave(event) {\n _this.$emit(EVENT_NAME_MOUSELEAVE, event);\n },\n focusin:\n /* istanbul ignore next */\n function focusin(event) {\n _this.$emit(EVENT_NAME_FOCUSIN, event);\n },\n focusout:\n /* istanbul ignore next */\n function focusout(event) {\n _this.$emit(EVENT_NAME_FOCUSOUT, event);\n }\n };\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n var title = this.title; // Title can be a scoped slot function\n\n var $title = isFunction(title) ? title({}) : title; // Directive versions only\n\n var domProps = this.html && !isFunction(title) ? {\n innerHTML: title\n } : {};\n return h('div', {\n staticClass: 'tooltip b-tooltip',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n staticClass: 'arrow',\n ref: 'arrow'\n }), h('div', {\n staticClass: 'tooltip-inner',\n domProps: domProps\n }, [$title])]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { COMPONENT_UID_KEY, Vue } from '../../../vue';\nimport { NAME_MODAL, NAME_TOOLTIP_HELPER } from '../../../constants/components';\nimport { EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, contains, getAttr, getById, hasAttr, hasClass, isDisabled, isElement, isVisible, removeAttr, requestAF, select, setAttr } from '../../../utils/dom';\nimport { eventOff, eventOn, eventOnOff, getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { getScopeId } from '../../../utils/get-scope-id';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { noop } from '../../../utils/noop';\nimport { toInteger } from '../../../utils/number';\nimport { keys } from '../../../utils/object';\nimport { warn } from '../../../utils/warn';\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root';\nimport { BVTooltipTemplate } from './bv-tooltip-template'; // --- Constants ---\n// Modal container selector for appending tooltip/popover\n\nvar MODAL_SELECTOR = '.modal-content'; // Modal `$root` hidden event\n\nvar ROOT_EVENT_NAME_MODAL_HIDDEN = getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN); // Sidebar container selector for appending tooltip/popover\n\nvar SIDEBAR_SELECTOR = '.b-sidebar'; // For finding the container to append to\n\nvar CONTAINER_SELECTOR = [MODAL_SELECTOR, SIDEBAR_SELECTOR].join(', '); // For dropdown sniffing\n\nvar DROPDOWN_CLASS = 'dropdown';\nvar DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'; // Data attribute to temporary store the `title` attribute's value\n\nvar DATA_TITLE_ATTR = 'data-original-title'; // Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\n\nvar templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null,\n // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Interactive state (Boolean)\n interactive: true,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltip = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin],\n data: function data() {\n return _objectSpread(_objectSpread({}, templateData), {}, {\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n });\n },\n computed: {\n templateType: function templateType() {\n // Overwritten by BVPopover\n return 'tooltip';\n },\n computedId: function computedId() {\n return this.id || \"__bv_\".concat(this.templateType, \"_\").concat(this[COMPONENT_UID_KEY], \"__\");\n },\n computedDelay: function computedDelay() {\n // Normalizes delay into object form\n var delay = {\n show: 0,\n hide: 0\n };\n\n if (isPlainObject(this.delay)) {\n delay.show = mathMax(toInteger(this.delay.show, 0), 0);\n delay.hide = mathMax(toInteger(this.delay.hide, 0), 0);\n } else if (isNumber(this.delay) || isString(this.delay)) {\n delay.show = delay.hide = mathMax(toInteger(this.delay, 0), 0);\n }\n\n return delay;\n },\n computedTriggers: function computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return concat(this.triggers).filter(identity).join(' ').trim().toLowerCase().split(/\\s+/).sort();\n },\n isWithActiveTrigger: function isWithActiveTrigger() {\n for (var trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n },\n computedTemplateData: function computedTemplateData() {\n var title = this.title,\n content = this.content,\n variant = this.variant,\n customClass = this.customClass,\n noFade = this.noFade,\n interactive = this.interactive;\n return {\n title: title,\n content: content,\n variant: variant,\n customClass: customClass,\n noFade: noFade,\n interactive: interactive\n };\n }\n },\n watch: {\n computedTriggers: function computedTriggers(newTriggers, oldTriggers) {\n var _this = this;\n\n // Triggers have changed, so re-register them\n\n /* istanbul ignore next */\n if (!looseEqual(newTriggers, oldTriggers)) {\n this.$nextTick(function () {\n // Disable trigger listeners\n _this.unListen(); // Clear any active triggers that are no longer in the list of triggers\n\n\n oldTriggers.forEach(function (trigger) {\n if (!arrayIncludes(newTriggers, trigger)) {\n if (_this.activeTrigger[trigger]) {\n _this.activeTrigger[trigger] = false;\n }\n }\n }); // Re-enable the trigger listeners\n\n _this.listen();\n });\n }\n },\n computedTemplateData: function computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate();\n },\n title: function title(newValue, oldValue) {\n // Make sure to hide the tooltip when the title is set empty\n if (newValue !== oldValue && !newValue) {\n this.hide();\n }\n },\n disabled: function disabled(newValue) {\n if (newValue) {\n this.disable();\n } else {\n this.enable();\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive properties\n this.$_tip = null;\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.$_visibleInterval = null;\n this.$_enabled = !this.disabled;\n this.$_noop = noop.bind(this); // Destroy ourselves when the parent is destroyed\n\n if (this.$parent) {\n this.$parent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n });\n }\n\n this.$nextTick(function () {\n var target = _this2.getTarget();\n\n if (target && contains(document.body, target)) {\n // Copy the parent's scoped style attribute\n _this2.scopeId = getScopeId(_this2.$parent); // Set up all trigger handlers and listeners\n\n _this2.listen();\n } else {\n /* istanbul ignore next */\n warn(isString(_this2.target) ? \"Unable to find target element by ID \\\"#\".concat(_this2.target, \"\\\" in document.\") : 'The provided target is no valid HTML element.', _this2.templateType);\n }\n });\n },\n\n /* istanbul ignore next */\n updated: function updated() {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide();\n },\n beforeDestroy: function beforeDestroy() {\n // Remove all handler/listeners\n this.unListen();\n this.setWhileOpenListeners(false); // Clear any timeouts/intervals\n\n this.clearHoverTimeout();\n this.clearVisibilityInterval(); // Destroy the template\n\n this.destroyTemplate(); // Remove any other private properties created during create\n\n this.$_noop = null;\n },\n methods: {\n // --- Methods for creating and destroying the template ---\n getTemplate: function getTemplate() {\n // Overridden by BVPopover\n return BVTooltipTemplate;\n },\n updateData: function updateData() {\n var _this3 = this;\n\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n var titleUpdated = false;\n keys(templateData).forEach(function (prop) {\n if (!isUndefined(data[prop]) && _this3[prop] !== data[prop]) {\n _this3[prop] = data[prop];\n\n if (prop === 'title') {\n titleUpdated = true;\n }\n }\n }); // If the title has updated, we may need to handle the `title`\n // attribute on the trigger target\n // We only do this while the template is open\n\n if (titleUpdated && this.localShow) {\n this.fixTitle();\n }\n },\n createTemplateAndShow: function createTemplateAndShow() {\n // Creates the template instance and show it\n var container = this.getContainer();\n var Template = this.getTemplate();\n var $tip = this.$_tip = new Template({\n parent: this,\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: toInteger(this.offset, 0),\n arrowPadding: toInteger(this.arrowPadding, 0),\n boundaryPadding: toInteger(this.boundaryPadding, 0)\n }\n }); // We set the initial reactive data (values that can be changed while open)\n\n this.handleTemplateUpdate(); // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n\n $tip.$once(EVENT_NAME_SHOW, this.onTemplateShow); // When the template has completed showing\n\n $tip.$once(EVENT_NAME_SHOWN, this.onTemplateShown); // When the template has started to hide\n\n $tip.$once(EVENT_NAME_HIDE, this.onTemplateHide); // When the template has completed hiding\n\n $tip.$once(EVENT_NAME_HIDDEN, this.onTemplateHidden); // When the template gets destroyed for any reason\n\n $tip.$once(HOOK_EVENT_NAME_DESTROYED, this.destroyTemplate); // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n\n $tip.$on(EVENT_NAME_FOCUSIN, this.handleEvent);\n $tip.$on(EVENT_NAME_FOCUSOUT, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSEENTER, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSELEAVE, this.handleEvent); // Mount (which triggers the `show`)\n\n $tip.$mount(container.appendChild(document.createElement('div'))); // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate: function hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide(); // Clear out any stragging active triggers\n\n this.clearActiveTriggers(); // Reset the hover state\n\n this.$_hoverState = '';\n },\n // Destroy the template instance and reset state\n destroyTemplate: function destroyTemplate() {\n this.setWhileOpenListeners(false);\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers();\n this.localPlacementTarget = null;\n\n try {\n this.$_tip.$destroy();\n } catch (_unused) {}\n\n this.$_tip = null;\n this.removeAriaDescribedby();\n this.restoreTitle();\n this.localShow = false;\n },\n getTemplateElement: function getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null;\n },\n handleTemplateUpdate: function handleTemplateUpdate() {\n var _this4 = this;\n\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n var $tip = this.$_tip;\n\n if ($tip) {\n var props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']; // Only update the values if they have changed\n\n props.forEach(function (prop) {\n if ($tip[prop] !== _this4[prop]) {\n $tip[prop] = _this4[prop];\n }\n });\n }\n },\n // --- Show/Hide handlers ---\n // Show the tooltip\n show: function show() {\n var target = this.getTarget();\n\n if (!target || !contains(document.body, target) || !isVisible(target) || this.dropdownOpen() || (isUndefinedOrNull(this.title) || this.title === '') && (isUndefinedOrNull(this.content) || this.content === '')) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return;\n } // If tip already exists, exit early\n\n\n if (this.$_tip || this.localShow) {\n /* istanbul ignore next */\n return;\n } // In the process of showing\n\n\n this.localShow = true; // Create a cancelable BvEvent\n\n var showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvt.defaultPrevented) {\n // Destroy the template (if for some reason it was created)\n this.destroyTemplate();\n return;\n } // Fix the title attribute on target\n\n\n this.fixTitle(); // Set aria-describedby on target\n\n this.addAriaDescribedby(); // Create and show the tooltip\n\n this.createTemplateAndShow();\n },\n hide: function hide() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // Hide the tooltip\n var tip = this.getTemplateElement();\n /* istanbul ignore if */\n\n if (!tip || !this.localShow) {\n this.restoreTitle();\n return;\n } // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n\n\n var hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvt);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n return;\n } // Tell the template to hide\n\n\n this.hideTemplate();\n },\n forceHide: function forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return;\n } // Disable while open listeners/watchers\n // This is also done in the template `hide` event handler\n\n\n this.setWhileOpenListeners(false); // Clear any hover enter/leave event\n\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers(); // Disable the fade animation on the template\n\n if (this.$_tip) {\n this.$_tip.noFade = true;\n } // Hide the tip (with force = true)\n\n\n this.hide(true);\n },\n enable: function enable() {\n this.$_enabled = true; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_ENABLED));\n },\n disable: function disable() {\n this.$_enabled = false; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_DISABLED));\n },\n // --- Handlers for template events ---\n // When template is inserted into DOM, but not yet shown\n onTemplateShow: function onTemplateShow() {\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n },\n // When template show transition completes\n onTemplateShown: function onTemplateShown() {\n var prevHoverState = this.$_hoverState;\n this.$_hoverState = '';\n /* istanbul ignore next: occasional Node 10 coverage error */\n\n if (prevHoverState === 'out') {\n this.leave(null);\n } // Emit a non-cancelable BvEvent 'shown'\n\n\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN));\n },\n // When template is starting to hide\n onTemplateHide: function onTemplateHide() {\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n },\n // When template has completed closing (just before it self destructs)\n onTemplateHidden: function onTemplateHidden() {\n // Destroy the template\n this.destroyTemplate(); // Emit a non-cancelable BvEvent 'shown'\n\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN));\n },\n // --- Helper methods ---\n getTarget: function getTarget() {\n var target = this.target;\n\n if (isString(target)) {\n target = getById(target.replace(/^#/, ''));\n } else if (isFunction(target)) {\n target = target();\n } else if (target) {\n target = target.$el || target;\n }\n\n return isElement(target) ? target : null;\n },\n getPlacementTarget: function getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget();\n },\n getTargetId: function getTargetId() {\n // Returns the ID of the trigger element\n var target = this.getTarget();\n return target && target.id ? target.id : null;\n },\n getContainer: function getContainer() {\n // Handle case where container may be a component ref\n var container = this.container ? this.container.$el || this.container : false;\n var body = document.body;\n var target = this.getTarget(); // If we are in a modal, we append to the modal, If we\n // are in a sidebar, we append to the sidebar, else append\n // to body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n\n return container === false ? closest(CONTAINER_SELECTOR, target) || body :\n /*istanbul ignore next */\n isString(container) ?\n /*istanbul ignore next */\n getById(container.replace(/^#/, '')) || body :\n /*istanbul ignore next */\n body;\n },\n getBoundary: function getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent';\n },\n isInModal: function isInModal() {\n var target = this.getTarget();\n return target && closest(MODAL_SELECTOR, target);\n },\n isDropdown: function isDropdown() {\n // Returns true if trigger is a dropdown\n var target = this.getTarget();\n return target && hasClass(target, DROPDOWN_CLASS);\n },\n dropdownOpen: function dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n var target = this.getTarget();\n return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target);\n },\n clearHoverTimeout: function clearHoverTimeout() {\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimeout = null;\n },\n clearVisibilityInterval: function clearVisibilityInterval() {\n clearInterval(this.$_visibleInterval);\n this.$_visibleInterval = null;\n },\n clearActiveTriggers: function clearActiveTriggers() {\n for (var trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false;\n }\n },\n addAriaDescribedby: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.computedId).join(' ').trim(); // Update/add aria-described by\n\n setAttr(target, 'aria-describedby', desc);\n },\n removeAriaDescribedby: function removeAriaDescribedby() {\n var _this5 = this;\n\n // Remove aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this5.computedId;\n }).join(' ').trim(); // Update or remove aria-describedby\n\n if (desc) {\n /* istanbul ignore next */\n setAttr(target, 'aria-describedby', desc);\n } else {\n removeAttr(target, 'aria-describedby');\n }\n },\n fixTitle: function fixTitle() {\n // If the target has a `title` attribute,\n // remove it and store it on a data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, 'title')) {\n // Get `title` attribute value and remove it from target\n var title = getAttr(target, 'title');\n setAttr(target, 'title', ''); // Only set the data attribute when the value is truthy\n\n if (title) {\n setAttr(target, DATA_TITLE_ATTR, title);\n }\n }\n },\n restoreTitle: function restoreTitle() {\n // If the target had a `title` attribute,\n // restore it and remove the data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, DATA_TITLE_ATTR)) {\n // Get data attribute value and remove it from target\n var title = getAttr(target, DATA_TITLE_ATTR);\n removeAttr(target, DATA_TITLE_ATTR); // Only restore the `title` attribute when the value is truthy\n\n if (title) {\n setAttr(target, 'title', title);\n }\n }\n },\n // --- BvEvent helpers ---\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Defaults to a non-cancellable event\n return new BvEvent(type, _objectSpread({\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this\n }, options));\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(this.templateType, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n // --- Event handler setup methods ---\n listen: function listen() {\n var _this6 = this;\n\n // Enable trigger event handlers\n var el = this.getTarget();\n\n if (!el) {\n /* istanbul ignore next */\n return;\n } // Listen for global show/hide events\n\n\n this.setRootListener(true); // Set up our listeners on the target trigger element\n\n this.computedTriggers.forEach(function (trigger) {\n if (trigger === 'click') {\n eventOn(el, 'click', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n\n /* istanbul ignore next */\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'mouseleave', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }\n }, this);\n },\n\n /* istanbul ignore next */\n unListen: function unListen() {\n var _this7 = this;\n\n // Remove trigger event handlers\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n var target = this.getTarget(); // Stop listening for global show/hide/enable/disable events\n\n this.setRootListener(false); // Clear out any active target listeners\n\n events.forEach(function (event) {\n target && eventOff(target, event, _this7.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }, this);\n },\n setRootListener: function setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n var $root = this.$root;\n\n if ($root) {\n var method = on ? '$on' : '$off';\n var type = this.templateType;\n $root[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n $root[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n $root[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n $root[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\n }\n },\n setWhileOpenListeners: function setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on); // Dropdown open events (if we are attached to a dropdown)\n\n this.setDropdownListener(on); // Periodic $element visibility check\n // For handling when tip target is in , tabs, carousel, etc\n\n this.visibleCheck(on); // On-touch start listeners\n\n this.setOnTouchStartListener(on);\n },\n // Handler for periodic visibility check\n visibleCheck: function visibleCheck(on) {\n var _this8 = this;\n\n this.clearVisibilityInterval();\n var target = this.getTarget();\n var tip = this.getTemplateElement();\n\n if (on) {\n this.$_visibleInterval = setInterval(function () {\n if (tip && _this8.localShow && (!target.parentNode || !isVisible(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n _this8.forceHide();\n }\n }, 100);\n }\n },\n setModalListener: function setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this.$root[on ? '$on' : '$off'](ROOT_EVENT_NAME_MODAL_HIDDEN, this.forceHide);\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */\n setOnTouchStartListener: function setOnTouchStartListener(on) {\n var _this9 = this;\n\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(function (el) {\n eventOnOff(on, el, 'mouseover', _this9.$_noop);\n });\n }\n },\n setDropdownListener: function setDropdownListener(on) {\n var target = this.getTarget();\n\n if (!target || !this.$root || !this.isDropdown) {\n return;\n } // We can listen for dropdown shown events on its instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n\n\n if (target.__vue__) {\n target.__vue__[on ? '$on' : '$off'](EVENT_NAME_SHOWN, this.forceHide);\n }\n },\n // --- Event handlers ---\n handleEvent: function handleEvent(event) {\n // General trigger event handler\n // target is the trigger element\n var target = this.getTarget();\n\n if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return;\n }\n\n var type = event.type;\n var triggers = this.computedTriggers;\n\n if (type === 'click' && arrayIncludes(triggers, 'click')) {\n this.click(event);\n } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(event);\n } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `event` includes `relatedTarget` (element losing focus)\n this.enter(event);\n } else if (type === 'focusout' && (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur')) || type === 'mouseleave' && arrayIncludes(triggers, 'hover')) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n var tip = this.getTemplateElement(); // `eventTarget` is the element which is losing focus/hover and\n\n var eventTarget = event.target; // `relatedTarget` is the element gaining focus/hover\n\n var relatedTarget = event.relatedTarget;\n /* istanbul ignore next */\n\n if ( // From tip to target\n tip && contains(tip, eventTarget) && contains(target, relatedTarget) || // From target to tip\n tip && contains(target, eventTarget) && contains(tip, relatedTarget) || // Within tip\n tip && contains(tip, eventTarget) && contains(tip, relatedTarget) || // Within target\n contains(target, eventTarget) && contains(target, relatedTarget)) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return;\n } // Otherwise trigger a leave\n\n\n this.leave(event);\n }\n },\n doHide: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide();\n }\n },\n doShow: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doDisable: function doDisable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically disable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doEnable: function doEnable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically enable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable();\n }\n },\n click: function click(event) {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Get around a WebKit bug where `click` does not trigger focus events\n // On most browsers, `click` triggers a `focusin`/`focus` event first\n // Needed so that trigger 'click blur' works on iOS\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/5099\n // We use `currentTarget` rather than `target` to trigger on the\n // element, not the inner content\n\n\n attemptFocus(event.currentTarget);\n this.activeTrigger.click = !this.activeTrigger.click;\n\n if (this.isWithActiveTrigger) {\n this.enter(null);\n } else {\n /* istanbul ignore next */\n this.leave(null);\n }\n },\n\n /* istanbul ignore next */\n toggle: function toggle() {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n\n\n if (this.localShow) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n },\n enter: function enter() {\n var _this10 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Opening trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n /* istanbul ignore next */\n\n\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in';\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'in';\n\n if (!this.computedDelay.show) {\n this.show();\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle();\n this.$_hoverTimeout = setTimeout(function () {\n /* istanbul ignore else */\n if (_this10.$_hoverState === 'in') {\n _this10.show();\n } else if (!_this10.localShow) {\n _this10.restoreTitle();\n }\n }, this.computedDelay.show);\n }\n },\n leave: function leave() {\n var _this11 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Closing trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false;\n /* istanbul ignore next */\n\n if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false;\n this.activeTrigger.hover = false;\n }\n }\n /* istanbul ignore next: ignore for now */\n\n\n if (this.isWithActiveTrigger) {\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'out';\n\n if (!this.computedDelay.hide) {\n this.hide();\n } else {\n this.$_hoverTimeout = setTimeout(function () {\n if (_this11.$_hoverState === 'out') {\n _this11.hide();\n }\n }, this.computedDelay.hide);\n }\n }\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BADGE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BADGE); // --- Main component ---\n// @vue/component\n\nexport var BBadge = /*#__PURE__*/Vue.extend({\n name: NAME_BADGE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var active = props.active,\n disabled = props.disabled;\n var link = isLink(props);\n var tag = link ? BLink : props.tag;\n var variant = props.variant || 'secondary';\n return h(tag, mergeData(data, {\n staticClass: 'badge',\n class: [\"badge-\".concat(variant), {\n 'badge-pill': props.pill,\n active: active,\n disabled: disabled\n }],\n props: link ? pluckProps(linkProps, props) : {}\n }), children);\n }\n});","export var noop = function noop() {};"],"sourceRoot":""}