{"version":3,"file":"tab--_XVQFGy.js","sources":["../../../app/frontend/entrypoints/marketing/free/tab.js"],"sourcesContent":["import { getjQuery, getElementFromSelector, onDOMContentLoaded } from '../mdb/util/index';\nimport EventHandler from '../mdb/dom/event-handler';\nimport SelectorEngine from '../mdb/dom/selector-engine';\nimport BSTab from '../bootstrap/mdb-prefix/tab';\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab';\nconst DATA_KEY = `mdb.${NAME}`;\nconst EVENT_KEY = `.${DATA_KEY}`;\n\nconst EVENT_SHOW_BS = 'show.bs.tab';\nconst EVENT_SHOWN_BS = 'shown.bs.tab';\nconst EVENT_HIDE_BS = 'hide.bs.tab';\nconst EVENT_HIDDEN_BS = 'hidden.bs.tab';\n\nconst EVENT_SHOW = `show${EVENT_KEY}`;\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\n\nconst CLASS_NAME_ACTIVE = 'active';\nconst CLASS_NAME_DISABLED = 'disabled';\n\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\n\nconst SELECTOR_ACTIVE = '.active';\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active';\n\nconst SELECTOR_DATA_TOGGLE =\n '[data-mdb-toggle=\"tab\"], [data-mdb-toggle=\"pill\"], [data-mdb-toggle=\"list\"]';\n\nclass Tab extends BSTab {\n constructor(element) {\n super(element);\n\n this._previous = null;\n\n this._init();\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_SHOW_BS);\n EventHandler.off(this._element, EVENT_SHOWN_BS);\n\n super.dispose();\n }\n\n // Getters\n static get NAME() {\n return NAME;\n }\n\n // Override\n show() {\n if (\n (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)\n ) {\n return;\n }\n\n const target = getElementFromSelector(this._element);\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);\n\n if (listElement) {\n const itemSelector =\n listElement.nodeName === 'UL' || listElement.nodeName === 'OL'\n ? SELECTOR_ACTIVE_UL\n : SELECTOR_ACTIVE;\n this._previous = SelectorEngine.find(itemSelector, listElement);\n this._previous = this._previous[this._previous.length - 1];\n }\n\n let hideEvent = null;\n let hideEventMdb = null;\n\n if (this._previous) {\n hideEvent = EventHandler.trigger(this._previous, EVENT_HIDE_BS, {\n relatedTarget: this._element,\n });\n hideEventMdb = EventHandler.trigger(this._previous, EVENT_HIDE, {\n relatedTarget: this._element,\n });\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW_BS, {\n relatedTarget: this._previous,\n });\n\n if (\n showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented) ||\n (hideEventMdb !== null && hideEventMdb.defaultPrevented)\n ) {\n return;\n }\n\n this._activate(this._element, listElement);\n\n const complete = () => {\n EventHandler.trigger(this._previous, EVENT_HIDDEN_BS, {\n relatedTarget: this._element,\n });\n EventHandler.trigger(this._previous, EVENT_HIDDEN, {\n relatedTarget: this._element,\n });\n\n EventHandler.trigger(this._element, EVENT_SHOWN_BS, {\n relatedTarget: this._previous,\n });\n };\n\n if (target) {\n this._activate(target, target.parentNode, complete);\n } else {\n complete();\n }\n }\n\n // Private\n _init() {\n this._bindShowEvent();\n this._bindShownEvent();\n this._bindHideEvent();\n this._bindHiddenEvent();\n }\n\n _bindShowEvent() {\n EventHandler.on(this._element, EVENT_SHOW_BS, (e) => {\n EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: e.relatedTarget,\n });\n });\n }\n\n _bindShownEvent() {\n EventHandler.on(this._element, EVENT_SHOWN_BS, (e) => {\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: e.relatedTarget,\n });\n });\n }\n\n _bindHideEvent() {\n EventHandler.on(this._previous, EVENT_HIDE_BS, () => {\n EventHandler.trigger(this._previous, EVENT_HIDE);\n });\n }\n\n _bindHiddenEvent() {\n EventHandler.on(this._previous, EVENT_HIDDEN_BS, () => {\n EventHandler.trigger(this._previous, EVENT_HIDDEN);\n });\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation - auto initialization\n * ------------------------------------------------------------------------\n */\n\nSelectorEngine.find(SELECTOR_DATA_TOGGLE).forEach((el) => {\n let instance = Tab.getInstance(el);\n if (!instance) {\n instance = new Tab(el);\n }\n});\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .rating to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery();\n\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME];\n $.fn[NAME] = Tab.jQueryInterface;\n $.fn[NAME].Constructor = Tab;\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Tab.jQueryInterface;\n };\n }\n});\n\nexport default Tab;\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_SHOW_BS","EVENT_SHOWN_BS","EVENT_HIDE_BS","EVENT_HIDDEN_BS","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_ACTIVE","CLASS_NAME_DISABLED","SELECTOR_NAV_LIST_GROUP","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","SELECTOR_DATA_TOGGLE","Tab","BSTab","element","EventHandler","target","getElementFromSelector","listElement","itemSelector","SelectorEngine","hideEvent","hideEventMdb","complete","e","el","instance","onDOMContentLoaded","$","getjQuery","JQUERY_NO_CONFLICT"],"mappings":"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"}