{"version":3,"file":"button.min.js","sources":["https:\/\/edu.betha.com.br\/theme\/smart\/amd\/src\/bootstrap\/button.js"],"sourcesContent":["\/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v4.6.2): button.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\n\r\n\/**\r\n * Constants\r\n *\/\r\n\r\nconst NAME = 'button'\r\nconst VERSION = '4.6.2'\r\nconst DATA_KEY = 'bs.button'\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_ACTIVE = 'active'\r\nconst CLASS_NAME_BUTTON = 'btn'\r\nconst CLASS_NAME_FOCUS = 'focus'\r\n\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\r\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\r\n `blur${EVENT_KEY}${DATA_API_KEY}`\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\r\n\r\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\r\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\r\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\r\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\r\nconst SELECTOR_ACTIVE = '.active'\r\nconst SELECTOR_BUTTON = '.btn'\r\n\r\n\/**\r\n * Class definition\r\n *\/\r\n\r\nclass Button {\r\n constructor(element) {\r\n this._element = element\r\n this.shouldAvoidTriggerChange = false\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 toggle() {\r\n let triggerChangeEvent = true\r\n let addAriaPressed = true\r\n const rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0]\r\n\r\n if (rootElement) {\r\n const input = this._element.querySelector(SELECTOR_INPUT)\r\n\r\n if (input) {\r\n if (input.type === 'radio') {\r\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\r\n triggerChangeEvent = false\r\n } else {\r\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\r\n\r\n if (activeElement) {\r\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\r\n }\r\n }\r\n }\r\n\r\n if (triggerChangeEvent) {\r\n \/\/ if it's not a radio button or checkbox don't add a pointless\/invalid checked property to the input\r\n if (input.type === 'checkbox' || input.type === 'radio') {\r\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\r\n }\r\n\r\n if (!this.shouldAvoidTriggerChange) {\r\n $(input).trigger('change')\r\n }\r\n }\r\n\r\n input.focus()\r\n addAriaPressed = false\r\n }\r\n }\r\n\r\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\r\n if (addAriaPressed) {\r\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE))\r\n }\r\n\r\n if (triggerChangeEvent) {\r\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\r\n }\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 \/\/ Static\r\n static _jQueryInterface(config, avoidTriggerChange) {\r\n return this.each(function () {\r\n const $element = $(this)\r\n let data = $element.data(DATA_KEY)\r\n\r\n if (!data) {\r\n data = new Button(this)\r\n $element.data(DATA_KEY, data)\r\n }\r\n\r\n data.shouldAvoidTriggerChange = avoidTriggerChange\r\n\r\n if (config === 'toggle') {\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_CARROT, event => {\r\n let button = event.target\r\n const initialButton = button\r\n\r\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\r\n button = $(button).closest(SELECTOR_BUTTON)[0]\r\n }\r\n\r\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\r\n event.preventDefault() \/\/ work around Firefox bug #1540995\r\n } else {\r\n const inputBtn = button.querySelector(SELECTOR_INPUT)\r\n\r\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\r\n event.preventDefault() \/\/ work around Firefox bug #1540995\r\n return\r\n }\r\n\r\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\r\n Button._jQueryInterface.call($(button), 'toggle', initialButton.tagName === 'INPUT')\r\n }\r\n }\r\n })\r\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\r\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\r\n $(button).toggleClass(CLASS_NAME_FOCUS, \/^focus(in)?$\/.test(event.type))\r\n })\r\n\r\n$(window).on(EVENT_LOAD_DATA_API, () => {\r\n \/\/ ensure correct active class is set to match the controls' actual values\/states\r\n\r\n \/\/ find all checkboxes\/readio buttons inside data-toggle groups\r\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\r\n for (let i = 0, len = buttons.length; i < len; i++) {\r\n const button = buttons[i]\r\n const input = button.querySelector(SELECTOR_INPUT)\r\n if (input.checked || input.hasAttribute('checked')) {\r\n button.classList.add(CLASS_NAME_ACTIVE)\r\n } else {\r\n button.classList.remove(CLASS_NAME_ACTIVE)\r\n }\r\n }\r\n\r\n \/\/ find all button toggles\r\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\r\n for (let i = 0, len = buttons.length; i < len; i++) {\r\n const button = buttons[i]\r\n if (button.getAttribute('aria-pressed') === 'true') {\r\n button.classList.add(CLASS_NAME_ACTIVE)\r\n } else {\r\n button.classList.remove(CLASS_NAME_ACTIVE)\r\n }\r\n }\r\n})\r\n\r\n\/**\r\n * jQuery\r\n *\/\r\n\r\n$.fn[NAME] = Button._jQueryInterface\r\n$.fn[NAME].Constructor = Button\r\n$.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT\r\n return Button._jQueryInterface\r\n}\r\n\r\nexport default Button\r\n"],"names":["NAME","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","EVENT_CLICK_DATA_API","EVENT_FOCUS_BLUR_DATA_API","EVENT_LOAD_DATA_API","Button","constructor","element","_element","shouldAvoidTriggerChange","VERSION","toggle","triggerChangeEvent","addAriaPressed","rootElement","this","closest","input","querySelector","type","checked","classList","contains","activeElement","removeClass","trigger","focus","hasAttribute","setAttribute","toggleClass","dispose","removeData","config","avoidTriggerChange","each","$element","data","document","on","event","button","target","initialButton","hasClass","preventDefault","inputBtn","tagName","_jQueryInterface","call","test","window","buttons","slice","querySelectorAll","i","len","length","add","remove","getAttribute","Constructor","noConflict"],"mappings":"6OAaMA,KAAO,SAGPC,qBADW,aAGXC,mBAAqBC,gBAAEC,GAAGJ,MAM1BK,oCAA+BJ,kBAPhB,aAQfK,0BAA4B,eAAQL,kBARrB,+BASYA,kBATZ,aAUfM,kCAA6BN,kBAVd,mBAwBfO,OACJC,YAAYC,cACLC,SAAWD,aACXE,0BAA2B,EAIvBC,2BAlCG,QAuCdC,aACMC,oBAAqB,EACrBC,gBAAiB,QACfC,aAAc,mBAAEC,KAAKP,UAAUQ,QA1BX,2BA0B0C,MAEhEF,YAAa,OACTG,MAAQF,KAAKP,SAASU,cA1BX,iCA4BbD,MAAO,IACU,UAAfA,MAAME,QACJF,MAAMG,SAAWL,KAAKP,SAASa,UAAUC,SA3C7B,UA4CdV,oBAAqB,MAChB,OACCW,cAAgBT,YAAYI,cAhCtB,WAkCRK,mCACAA,eAAeC,YAjDL,UAsDdZ,qBAEiB,aAAfK,MAAME,MAAsC,UAAfF,MAAME,OACrCF,MAAMG,SAAWL,KAAKP,SAASa,UAAUC,SAzD3B,WA4DXP,KAAKN,8CACNQ,OAAOQ,QAAQ,WAIrBR,MAAMS,QACNb,gBAAiB,GAIfE,KAAKP,SAASmB,aAAa,aAAeZ,KAAKP,SAASa,UAAUC,SAAS,cAC3ET,qBACGL,SAASoB,aAAa,gBAAiBb,KAAKP,SAASa,UAAUC,SAxElD,WA2EhBV,wCACAG,KAAKP,UAAUqB,YA5EC,WAiFxBC,0BACIC,WAAWhB,KAAKP,SAvFL,kBAwFRA,SAAW,6BAIMwB,OAAQC,2BACvBlB,KAAKmB,MAAK,iBACTC,UAAW,mBAAEpB,UACfqB,KAAOD,SAASC,KA\/FT,aAiGNA,OACHA,KAAO,IAAI\/B,OAAOU,MAClBoB,SAASC,KAnGA,YAmGeA,OAG1BA,KAAK3B,yBAA2BwB,mBAEjB,WAAXD,QACFI,KAAKJ,kCAUXK,UACCC,GAAGpC,qBAtG8B,2BAsGqBqC,YACjDC,OAASD,MAAME,aACbC,cAAgBF,WAEjB,mBAAEA,QAAQG,SAlHO,SAmHpBH,QAAS,mBAAEA,QAAQxB,QArGD,QAqG0B,KAGzCwB,QAAUA,OAAOb,aAAa,aAAea,OAAOnB,UAAUC,SAAS,YAC1EiB,MAAMK,qBACD,OACCC,SAAWL,OAAOtB,cA7GP,iCA+Gb2B,WAAaA,SAASlB,aAAa,aAAekB,SAASxB,UAAUC,SAAS,yBAChFiB,MAAMK,iBAIsB,UAA1BF,cAAcI,SAA0C,UAAnBN,OAAOM,SAC9CzC,OAAO0C,iBAAiBC,MAAK,mBAAER,QAAS,SAAoC,UAA1BE,cAAcI,aAIrER,GAAGnC,0BA7H8B,2BA6H0BoC,cACpDC,QAAS,mBAAED,MAAME,QAAQzB,QAxHX,QAwHoC,uBACtDwB,QAAQX,YAtIW,QAsImB,eAAeoB,KAAKV,MAAMpB,8BAGpE+B,QAAQZ,GAAGlC,qBAAqB,SAI5B+C,QAAU,GAAGC,MAAMJ,KAAKX,SAASgB,iBAnID,qCAoI\/B,IAAIC,EAAI,EAAGC,IAAMJ,QAAQK,OAAQF,EAAIC,IAAKD,IAAK,OAC5Cd,OAASW,QAAQG,GACjBrC,MAAQuB,OAAOtB,cArIF,8BAsIfD,MAAMG,SAAWH,MAAMU,aAAa,WACtCa,OAAOnB,UAAUoC,IApJG,UAsJpBjB,OAAOnB,UAAUqC,OAtJG,UA2JxBP,QAAU,GAAGC,MAAMJ,KAAKX,SAASgB,iBAhJN,+BAiJtB,IAAIC,EAAI,EAAGC,IAAMJ,QAAQK,OAAQF,EAAIC,IAAKD,IAAK,OAC5Cd,OAASW,QAAQG,GACqB,SAAxCd,OAAOmB,aAAa,gBACtBnB,OAAOnB,UAAUoC,IA\/JG,UAiKpBjB,OAAOnB,UAAUqC,OAjKG,8BA0KxBzD,GAAGJ,MAAQQ,OAAO0C,iCAClB9C,GAAGJ,MAAM+D,YAAcvD,uBACvBJ,GAAGJ,MAAMgE,WAAa,qBACpB5D,GAAGJ,MAAQE,mBACNM,OAAO0C,+BAGD1C"}