{"version":3,"file":"tab.min.js","sources":["https:\/\/edu.betha.com.br\/theme\/smart\/amd\/src\/bootstrap\/tab.js"],"sourcesContent":["\/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v4.6.2): tab.js\r\n * Licensed under MIT (https:\/\/github.com\/twbs\/bootstrap\/blob\/main\/LICENSE)\r\n * --------------------------------------------------------------------------\r\n *\/\r\n\r\nimport $ from 'jquery'\r\nimport Util from '.\/util'\r\n\r\n\/**\r\n * Constants\r\n *\/\r\n\r\nconst NAME = 'tab'\r\nconst VERSION = '4.6.2'\r\nconst DATA_KEY = 'bs.tab'\r\nconst EVENT_KEY = `.${DATA_KEY}`\r\nconst DATA_API_KEY = '.data-api'\r\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\r\n\r\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\r\nconst CLASS_NAME_ACTIVE = 'active'\r\nconst CLASS_NAME_DISABLED = 'disabled'\r\nconst CLASS_NAME_FADE = 'fade'\r\nconst CLASS_NAME_SHOW = 'show'\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\r\nconst EVENT_SHOW = `show${EVENT_KEY}`\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\r\n\r\nconst SELECTOR_DROPDOWN = '.dropdown'\r\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\r\nconst SELECTOR_ACTIVE = '.active'\r\nconst SELECTOR_ACTIVE_UL = '> li > .active'\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\r\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\r\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active'\r\n\r\n\/**\r\n * Class definition\r\n *\/\r\n\r\nclass Tab {\r\n constructor(element) {\r\n this._element = element\r\n }\r\n\r\n \/\/ Getters\r\n static get VERSION() {\r\n return VERSION\r\n }\r\n\r\n \/\/ Public\r\n show() {\r\n if (this._element.parentNode &&\r\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\r\n $(this._element).hasClass(CLASS_NAME_ACTIVE) ||\r\n $(this._element).hasClass(CLASS_NAME_DISABLED) ||\r\n this._element.hasAttribute('disabled')) {\r\n return\r\n }\r\n\r\n let target\r\n let previous\r\n const listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)[0]\r\n const selector = Util.getSelectorFromElement(this._element)\r\n\r\n if (listElement) {\r\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\r\n previous = $.makeArray($(listElement).find(itemSelector))\r\n previous = previous[previous.length - 1]\r\n }\r\n\r\n const hideEvent = $.Event(EVENT_HIDE, {\r\n relatedTarget: this._element\r\n })\r\n\r\n const showEvent = $.Event(EVENT_SHOW, {\r\n relatedTarget: previous\r\n })\r\n\r\n if (previous) {\r\n $(previous).trigger(hideEvent)\r\n }\r\n\r\n $(this._element).trigger(showEvent)\r\n\r\n if (showEvent.isDefaultPrevented() ||\r\n hideEvent.isDefaultPrevented()) {\r\n return\r\n }\r\n\r\n if (selector) {\r\n target = document.querySelector(selector)\r\n }\r\n\r\n this._activate(\r\n this._element,\r\n listElement\r\n )\r\n\r\n const complete = () => {\r\n const hiddenEvent = $.Event(EVENT_HIDDEN, {\r\n relatedTarget: this._element\r\n })\r\n\r\n const shownEvent = $.Event(EVENT_SHOWN, {\r\n relatedTarget: previous\r\n })\r\n\r\n $(previous).trigger(hiddenEvent)\r\n $(this._element).trigger(shownEvent)\r\n }\r\n\r\n if (target) {\r\n this._activate(target, target.parentNode, complete)\r\n } else {\r\n complete()\r\n }\r\n }\r\n\r\n dispose() {\r\n $.removeData(this._element, DATA_KEY)\r\n this._element = null\r\n }\r\n\r\n \/\/ Private\r\n _activate(element, container, callback) {\r\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\r\n $(container).find(SELECTOR_ACTIVE_UL) :\r\n $(container).children(SELECTOR_ACTIVE)\r\n\r\n const active = activeElements[0]\r\n const isTransitioning = callback && (active && $(active).hasClass(CLASS_NAME_FADE))\r\n const complete = () => this._transitionComplete(\r\n element,\r\n active,\r\n callback\r\n )\r\n\r\n if (active && isTransitioning) {\r\n const transitionDuration = Util.getTransitionDurationFromElement(active)\r\n\r\n $(active)\r\n .removeClass(CLASS_NAME_SHOW)\r\n .one(Util.TRANSITION_END, complete)\r\n .emulateTransitionEnd(transitionDuration)\r\n } else {\r\n complete()\r\n }\r\n }\r\n\r\n _transitionComplete(element, active, callback) {\r\n if (active) {\r\n $(active).removeClass(CLASS_NAME_ACTIVE)\r\n\r\n const dropdownChild = $(active.parentNode).find(\r\n SELECTOR_DROPDOWN_ACTIVE_CHILD\r\n )[0]\r\n\r\n if (dropdownChild) {\r\n $(dropdownChild).removeClass(CLASS_NAME_ACTIVE)\r\n }\r\n\r\n if (active.getAttribute('role') === 'tab') {\r\n active.setAttribute('aria-selected', false)\r\n }\r\n }\r\n\r\n $(element).addClass(CLASS_NAME_ACTIVE)\r\n if (element.getAttribute('role') === 'tab') {\r\n element.setAttribute('aria-selected', true)\r\n }\r\n\r\n Util.reflow(element)\r\n\r\n if (element.classList.contains(CLASS_NAME_FADE)) {\r\n element.classList.add(CLASS_NAME_SHOW)\r\n }\r\n\r\n let parent = element.parentNode\r\n if (parent && parent.nodeName === 'LI') {\r\n parent = parent.parentNode\r\n }\r\n\r\n if (parent && $(parent).hasClass(CLASS_NAME_DROPDOWN_MENU)) {\r\n const dropdownElement = $(element).closest(SELECTOR_DROPDOWN)[0]\r\n\r\n if (dropdownElement) {\r\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE))\r\n\r\n $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE)\r\n }\r\n\r\n element.setAttribute('aria-expanded', true)\r\n }\r\n\r\n if (callback) {\r\n callback()\r\n }\r\n }\r\n\r\n \/\/ Static\r\n static _jQueryInterface(config) {\r\n return this.each(function () {\r\n const $this = $(this)\r\n let data = $this.data(DATA_KEY)\r\n\r\n if (!data) {\r\n data = new Tab(this)\r\n $this.data(DATA_KEY, data)\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`)\r\n }\r\n\r\n data[config]()\r\n }\r\n })\r\n }\r\n}\r\n\r\n\/**\r\n * Data API implementation\r\n *\/\r\n\r\n$(document)\r\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n event.preventDefault()\r\n Tab._jQueryInterface.call($(this), 'show')\r\n })\r\n\r\n\/**\r\n * jQuery\r\n *\/\r\n\r\n$.fn[NAME] = Tab._jQueryInterface\r\n$.fn[NAME].Constructor = Tab\r\n$.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT\r\n return Tab._jQueryInterface\r\n}\r\n\r\nexport default Tab\r\n"],"names":["EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","Tab","constructor","element","_element","VERSION","show","this","parentNode","nodeType","Node","ELEMENT_NODE","hasClass","hasAttribute","target","previous","listElement","closest","selector","Util","getSelectorFromElement","itemSelector","nodeName","makeArray","find","length","hideEvent","Event","relatedTarget","showEvent","trigger","isDefaultPrevented","document","querySelector","_activate","complete","hiddenEvent","shownEvent","dispose","removeData","container","callback","active","children","isTransitioning","_transitionComplete","transitionDuration","getTransitionDurationFromElement","removeClass","one","TRANSITION_END","emulateTransitionEnd","dropdownChild","getAttribute","setAttribute","addClass","reflow","classList","contains","add","parent","dropdownElement","dropdownToggleList","slice","call","querySelectorAll","config","each","$this","data","TypeError","on","event","preventDefault","_jQueryInterface","Constructor","noConflict"],"mappings":"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"}