{"version":3,"file":"tooltip-jzxVsIff.js","sources":["../../../app/frontend/entrypoints/marketing/bootstrap/mdb-prefix/tooltip.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core';\n\nimport {\n defineJQueryPlugin,\n findShadowRoot,\n getElement,\n getUID,\n isElement,\n isRTL,\n noop,\n typeCheckConfig,\n} from './util/index';\nimport { DefaultAllowlist, sanitizeHtml } from './util/sanitizer';\nimport Data from './dom/data';\nimport EventHandler from './dom/event-handler';\nimport Manipulator from './dom/manipulator';\nimport SelectorEngine from './dom/selector-engine';\nimport BaseComponent from './base-component';\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip';\nconst DATA_KEY = 'bs.tooltip';\nconst EVENT_KEY = `.${DATA_KEY}`;\nconst CLASS_PREFIX = 'bs-tooltip';\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(array|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacements: 'array',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object|function)',\n};\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left',\n};\n\nconst Default = {\n animation: true,\n template:\n '
' +\n '
' +\n '
' +\n '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: [0, 0],\n container: false,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n boundary: 'clippingParents',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null,\n};\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n};\n\nconst CLASS_NAME_FADE = 'fade';\nconst CLASS_NAME_MODAL = 'modal';\nconst CLASS_NAME_SHOW = 'show';\n\nconst HOVER_STATE_SHOW = 'show';\nconst HOVER_STATE_OUT = 'out';\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\n\nconst TRIGGER_HOVER = 'hover';\nconst TRIGGER_FOCUS = 'focus';\nconst TRIGGER_CLICK = 'click';\nconst TRIGGER_MANUAL = 'manual';\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError(\"Bootstrap's tooltips require Popper (https://popper.js.org)\");\n }\n\n super(element);\n\n // private\n this._isEnabled = true;\n this._timeout = 0;\n this._hoverState = '';\n this._activeTrigger = {};\n this._popper = null;\n\n // Protected\n this._config = this._getConfig(config);\n this.tip = null;\n\n this._setListeners();\n }\n\n // Getters\n\n static get Default() {\n return Default;\n }\n\n static get NAME() {\n return NAME;\n }\n\n static get Event() {\n return Event;\n }\n\n static get DefaultType() {\n return DefaultType;\n }\n\n // Public\n\n enable() {\n this._isEnabled = true;\n }\n\n disable() {\n this._isEnabled = false;\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return;\n }\n\n if (event) {\n const context = this._initializeOnDelegatedTarget(event);\n\n context._activeTrigger.click = !context._activeTrigger.click;\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context);\n } else {\n context._leave(null, context);\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this);\n return;\n }\n\n this._enter(null, this);\n }\n }\n\n dispose() {\n clearTimeout(this._timeout);\n\n EventHandler.off(\n this._element.closest(SELECTOR_MODAL),\n EVENT_MODAL_HIDE,\n this._hideModalHandler\n );\n\n if (this.tip) {\n this.tip.remove();\n }\n\n this._disposePopper();\n super.dispose();\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n if (!(this.isWithContent() && this._isEnabled)) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW);\n const shadowRoot = findShadowRoot(this._element);\n const isInTheDom =\n shadowRoot === null\n ? this._element.ownerDocument.documentElement.contains(this._element)\n : shadowRoot.contains(this._element);\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n }\n\n // A trick to recreate a tooltip in case a new title is given by using the NOT documented `data-mdb-original-title`\n // This will be removed later in favor of a `setContent` method\n if (\n this.constructor.NAME === 'tooltip' &&\n this.tip &&\n this.getTitle() !== this.tip.querySelector(SELECTOR_TOOLTIP_INNER).innerHTML\n ) {\n this._disposePopper();\n this.tip.remove();\n this.tip = null;\n }\n\n const tip = this.getTipElement();\n const tipId = getUID(this.constructor.NAME);\n\n tip.setAttribute('id', tipId);\n this._element.setAttribute('aria-describedby', tipId);\n\n if (this._config.animation) {\n tip.classList.add(CLASS_NAME_FADE);\n }\n\n const placement =\n typeof this._config.placement === 'function'\n ? this._config.placement.call(this, tip, this._element)\n : this._config.placement;\n\n const attachment = this._getAttachment(placement);\n this._addAttachmentClass(attachment);\n\n const { container } = this._config;\n Data.set(tip, this.constructor.DATA_KEY, this);\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED);\n }\n\n if (this._popper) {\n this._popper.update();\n } else {\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n\n tip.classList.add(CLASS_NAME_SHOW);\n\n const customClass = this._resolvePossibleFunction(this._config.customClass);\n if (customClass) {\n tip.classList.add(...customClass.split(' '));\n }\n\n // If this is a touch-enabled device we add extra\n // empty 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 [].concat(...document.body.children).forEach((element) => {\n EventHandler.on(element, 'mouseover', noop);\n });\n }\n\n const complete = () => {\n const prevHoverState = this._hoverState;\n\n this._hoverState = null;\n EventHandler.trigger(this._element, this.constructor.Event.SHOWN);\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this);\n }\n };\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE);\n this._queueCallback(complete, this.tip, isAnimated);\n }\n\n hide() {\n if (!this._popper) {\n return;\n }\n\n const tip = this.getTipElement();\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return;\n }\n\n if (this._hoverState !== HOVER_STATE_SHOW) {\n tip.remove();\n }\n\n this._cleanTipClass();\n this._element.removeAttribute('aria-describedby');\n EventHandler.trigger(this._element, this.constructor.Event.HIDDEN);\n\n this._disposePopper();\n };\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE);\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n tip.classList.remove(CLASS_NAME_SHOW);\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n []\n .concat(...document.body.children)\n .forEach((element) => EventHandler.off(element, 'mouseover', noop));\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE);\n this._queueCallback(complete, this.tip, isAnimated);\n this._hoverState = '';\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.update();\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle());\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip;\n }\n\n const element = document.createElement('div');\n element.innerHTML = this._config.template;\n\n const tip = element.children[0];\n this.setContent(tip);\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);\n\n this.tip = tip;\n return this.tip;\n }\n\n setContent(tip) {\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TOOLTIP_INNER);\n }\n\n _sanitizeAndSetContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template);\n\n if (!content && templateElement) {\n templateElement.remove();\n return;\n }\n\n // we use append for html objects to maintain js events\n this.setElementContent(templateElement, content);\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return;\n }\n\n if (isElement(content)) {\n content = getElement(content);\n\n // content is a DOM node or a jQuery\n if (this._config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = '';\n element.append(content);\n }\n } else {\n element.textContent = content.textContent;\n }\n\n return;\n }\n\n if (this._config.html) {\n if (this._config.sanitize) {\n content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn);\n }\n\n element.innerHTML = content;\n } else {\n element.textContent = content;\n }\n }\n\n getTitle() {\n const title = this._element.getAttribute('data-mdb-original-title') || this._config.title;\n\n return this._resolvePossibleFunction(title);\n }\n\n updateAttachment(attachment) {\n if (attachment === 'right') {\n return 'end';\n }\n\n if (attachment === 'left') {\n return 'start';\n }\n\n return attachment;\n }\n\n // Private\n\n _initializeOnDelegatedTarget(event, context) {\n return (\n context ||\n this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n );\n }\n\n _getOffset() {\n const { offset } = this._config;\n\n if (typeof offset === 'string') {\n return offset.split(',').map((val) => Number.parseInt(val, 10));\n }\n\n if (typeof offset === 'function') {\n return (popperData) => offset(popperData, this._element);\n }\n\n return offset;\n }\n\n _resolvePossibleFunction(content) {\n return typeof content === 'function' ? content.call(this._element) : content;\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements,\n },\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset(),\n },\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary,\n },\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`,\n },\n },\n {\n name: 'onChange',\n enabled: true,\n phase: 'afterWrite',\n fn: (data) => this._handlePopperPlacementChange(data),\n },\n ],\n onFirstUpdate: (data) => {\n if (data.options.placement !== data.placement) {\n this._handlePopperPlacementChange(data);\n }\n },\n };\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function'\n ? this._config.popperConfig(defaultBsPopperConfig)\n : this._config.popperConfig),\n };\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(\n `${this._getBasicClassPrefix()}-${this.updateAttachment(attachment)}`\n );\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ');\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n EventHandler.on(\n this._element,\n this.constructor.Event.CLICK,\n this._config.selector,\n (event) => this.toggle(event)\n );\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn =\n trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN;\n const eventOut =\n trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT;\n\n EventHandler.on(this._element, eventIn, this._config.selector, (event) =>\n this._enter(event)\n );\n EventHandler.on(this._element, eventOut, this._config.selector, (event) =>\n this._leave(event)\n );\n }\n });\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide();\n }\n };\n\n EventHandler.on(\n this._element.closest(SELECTOR_MODAL),\n EVENT_MODAL_HIDE,\n this._hideModalHandler\n );\n\n if (this._config.selector) {\n this._config = {\n ...this._config,\n trigger: 'manual',\n selector: '',\n };\n } else {\n this._fixTitle();\n }\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title');\n const originalTitleType = typeof this._element.getAttribute('data-mdb-original-title');\n\n if (title || originalTitleType !== 'string') {\n this._element.setAttribute('data-mdb-original-title', title || '');\n if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {\n this._element.setAttribute('aria-label', title);\n }\n\n this._element.setAttribute('title', '');\n }\n }\n\n _enter(event, context) {\n context = this._initializeOnDelegatedTarget(event, context);\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n }\n\n if (\n context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW\n ) {\n context._hoverState = HOVER_STATE_SHOW;\n return;\n }\n\n clearTimeout(context._timeout);\n\n context._hoverState = HOVER_STATE_SHOW;\n\n if (!context._config.delay || !context._config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show();\n }\n }, context._config.delay.show);\n }\n\n _leave(event, context) {\n context = this._initializeOnDelegatedTarget(event, context);\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget);\n }\n\n if (context._isWithActiveTrigger()) {\n return;\n }\n\n clearTimeout(context._timeout);\n\n context._hoverState = HOVER_STATE_OUT;\n\n if (!context._config.delay || !context._config.delay.hide) {\n context.hide();\n return;\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide();\n }\n }, context._config.delay.hide);\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element);\n\n Object.keys(dataAttributes).forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\n delete dataAttributes[dataAttr];\n }\n });\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {}),\n };\n\n config.container = config.container === false ? document.body : getElement(config.container);\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay,\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn);\n }\n\n return config;\n }\n\n _getDelegateConfig() {\n const config = {};\n\n for (const key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key];\n }\n }\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config;\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement();\n const basicClassPrefixRegex = new RegExp(`(^|\\\\s)${this._getBasicClassPrefix()}\\\\S+`, 'g');\n const tabClass = tip.getAttribute('class').match(basicClassPrefixRegex);\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map((token) => token.trim()).forEach((tClass) => tip.classList.remove(tClass));\n }\n }\n\n _getBasicClassPrefix() {\n return CLASS_PREFIX;\n }\n\n _handlePopperPlacementChange(popperData) {\n const { state } = popperData;\n\n if (!state) {\n return;\n }\n\n this.tip = state.elements.popper;\n this._cleanTipClass();\n this._addAttachmentClass(this._getAttachment(state.placement));\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n this._popper = null;\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n }\n });\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Tooltip);\n\nexport default Tooltip;\n"],"names":["NAME","DATA_KEY","EVENT_KEY","CLASS_PREFIX","DISALLOWED_ATTRIBUTES","DefaultType","AttachmentMap","isRTL","Default","DefaultAllowlist","Event","CLASS_NAME_FADE","CLASS_NAME_MODAL","CLASS_NAME_SHOW","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","BaseComponent","element","config","Popper","event","context","EventHandler","showEvent","shadowRoot","findShadowRoot","isInTheDom","tip","tipId","getUID","placement","attachment","container","Data","Popper.createPopper","customClass","noop","complete","prevHoverState","isAnimated","template","content","selector","templateElement","SelectorEngine","isElement","getElement","sanitizeHtml","title","offset","val","popperData","defaultBsPopperConfig","data","trigger","eventIn","eventOut","originalTitleType","dataAttributes","Manipulator","dataAttr","typeCheckConfig","key","basicClassPrefixRegex","tabClass","token","tClass","state","defineJQueryPlugin"],"mappings":"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"}