{"version":3,"file":"util.min.js","sources":["https:\/\/edu.betha.com.br\/theme\/smart\/amd\/src\/bootstrap\/util.js"],"sourcesContent":["\/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v4.6.2): util.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 * Private TransitionEnd Helpers\r\n *\/\r\n\r\nconst TRANSITION_END = 'transitionend'\r\nconst MAX_UID = 1000000\r\nconst MILLISECONDS_MULTIPLIER = 1000\r\n\r\n\/\/ Shoutout AngusCroll (https:\/\/goo.gl\/pxwQGp)\r\nfunction toType(obj) {\r\n if (obj === null || typeof obj === 'undefined') {\r\n return `${obj}`\r\n }\r\n\r\n return {}.toString.call(obj).match(\/\\s([a-z]+)\/i)[1].toLowerCase()\r\n}\r\n\r\nfunction getSpecialTransitionEndEvent() {\r\n return {\r\n bindType: TRANSITION_END,\r\n delegateType: TRANSITION_END,\r\n handle(event) {\r\n if ($(event.target).is(this)) {\r\n return event.handleObj.handler.apply(this, arguments) \/\/ eslint-disable-line prefer-rest-params\r\n }\r\n\r\n return undefined\r\n }\r\n }\r\n}\r\n\r\nfunction transitionEndEmulator(duration) {\r\n let called = false\r\n\r\n $(this).one(Util.TRANSITION_END, () => {\r\n called = true\r\n })\r\n\r\n setTimeout(() => {\r\n if (!called) {\r\n Util.triggerTransitionEnd(this)\r\n }\r\n }, duration)\r\n\r\n return this\r\n}\r\n\r\nfunction setTransitionEndSupport() {\r\n $.fn.emulateTransitionEnd = transitionEndEmulator\r\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\r\n}\r\n\r\n\/**\r\n * Public Util API\r\n *\/\r\n\r\nconst Util = {\r\n TRANSITION_END: 'bsTransitionEnd',\r\n\r\n getUID(prefix) {\r\n do {\r\n \/\/ eslint-disable-next-line no-bitwise\r\n prefix += ~~(Math.random() * MAX_UID) \/\/ \"~~\" acts like a faster Math.floor() here\r\n } while (document.getElementById(prefix))\r\n\r\n return prefix\r\n },\r\n\r\n getSelectorFromElement(element) {\r\n let selector = element.getAttribute('data-target')\r\n\r\n if (!selector || selector === '#') {\r\n const hrefAttr = element.getAttribute('href')\r\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\r\n }\r\n\r\n try {\r\n return document.querySelector(selector) ? selector : null\r\n } catch (_) {\r\n return null\r\n }\r\n },\r\n\r\n getTransitionDurationFromElement(element) {\r\n if (!element) {\r\n return 0\r\n }\r\n\r\n \/\/ Get transition-duration of the element\r\n let transitionDuration = $(element).css('transition-duration')\r\n let transitionDelay = $(element).css('transition-delay')\r\n\r\n const floatTransitionDuration = parseFloat(transitionDuration)\r\n const floatTransitionDelay = parseFloat(transitionDelay)\r\n\r\n \/\/ Return 0 if element or transition duration is not found\r\n if (!floatTransitionDuration && !floatTransitionDelay) {\r\n return 0\r\n }\r\n\r\n \/\/ If multiple durations are defined, take the first\r\n transitionDuration = transitionDuration.split(',')[0]\r\n transitionDelay = transitionDelay.split(',')[0]\r\n\r\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\r\n },\r\n\r\n reflow(element) {\r\n return element.offsetHeight\r\n },\r\n\r\n triggerTransitionEnd(element) {\r\n $(element).trigger(TRANSITION_END)\r\n },\r\n\r\n supportsTransitionEnd() {\r\n return Boolean(TRANSITION_END)\r\n },\r\n\r\n isElement(obj) {\r\n return (obj[0] || obj).nodeType\r\n },\r\n\r\n typeCheckConfig(componentName, config, configTypes) {\r\n for (const property in configTypes) {\r\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\r\n const expectedTypes = configTypes[property]\r\n const value = config[property]\r\n const valueType = value && Util.isElement(value) ?\r\n 'element' : toType(value)\r\n\r\n if (!new RegExp(expectedTypes).test(valueType)) {\r\n throw new Error(\r\n `${componentName.toUpperCase()}: ` +\r\n `Option \"${property}\" provided type \"${valueType}\" ` +\r\n `but expected type \"${expectedTypes}\".`)\r\n }\r\n }\r\n }\r\n },\r\n\r\n findShadowRoot(element) {\r\n if (!document.documentElement.attachShadow) {\r\n return null\r\n }\r\n\r\n \/\/ Can find the shadow root otherwise it'll return the document\r\n if (typeof element.getRootNode === 'function') {\r\n const root = element.getRootNode()\r\n return root instanceof ShadowRoot ? root : null\r\n }\r\n\r\n if (element instanceof ShadowRoot) {\r\n return element\r\n }\r\n\r\n \/\/ when we don't find a shadow root\r\n if (!element.parentNode) {\r\n return null\r\n }\r\n\r\n return Util.findShadowRoot(element.parentNode)\r\n },\r\n\r\n jQueryDetection() {\r\n if (typeof $ === 'undefined') {\r\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\r\n }\r\n\r\n const version = $.fn.jquery.split(' ')[0].split('.')\r\n const minMajor = 1\r\n const ltMajor = 2\r\n const minMinor = 9\r\n const minPatch = 1\r\n const maxMajor = 4\r\n\r\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\r\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\r\n }\r\n }\r\n}\r\n\r\nUtil.jQueryDetection()\r\nsetTransitionEndSupport()\r\n\r\nexport default Util\r\n"],"names":["TRANSITION_END","toType","obj","toString","call","match","toLowerCase","transitionEndEmulator","duration","called","this","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","_","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","$","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments"],"mappings":"2OAaMA,eAAiB,yBAKdC,OAAOC,YACVA,oBACQA,KAGL,GAAGC,SAASC,KAAKF,KAAKG,MAAM,eAAe,GAAGC,uBAiB9CC,sBAAsBC,cACzBC,QAAS,4BAEXC,MAAMC,IAAIC,KAAKZ,gBAAgB,KAC\/BS,QAAS,CAAT,IAGFI,YAAW,KACJJ,QACHG,KAAKE,qBAAqBJ,QAE3BF,UAEIE,WAYHE,KAAO,CACXZ,eAAgB,kBAEhBe,OAAOC,WAGHA,WAzDU,IAyDGC,KAAKC,gBACXC,SAASC,eAAeJ,gBAE1BA,QAGTK,uBAAuBC,aACjBC,SAAWD,QAAQE,aAAa,mBAE\/BD,UAAyB,MAAbA,SAAkB,OAC3BE,SAAWH,QAAQE,aAAa,QACtCD,SAAWE,UAAyB,MAAbA,SAAmBA,SAASC,OAAS,cAIrDP,SAASQ,cAAcJ,UAAYA,SAAW,KACrD,MAAOK,UACA,OAIXC,iCAAiCP,aAC1BA,eACI,MAILQ,oBAAqB,mBAAER,SAASS,IAAI,uBACpCC,iBAAkB,mBAAEV,SAASS,IAAI,0BAE\/BE,wBAA0BC,WAAWJ,oBACrCK,qBAAuBD,WAAWF,wBAGnCC,yBAA4BE,sBAKjCL,mBAAqBA,mBAAmBM,MAAM,KAAK,GACnDJ,gBAAkBA,gBAAgBI,MAAM,KAAK,GAhGjB,KAkGpBF,WAAWJ,oBAAsBI,WAAWF,mBAP3C,GAUXK,OAAOf,SACEA,QAAQgB,aAGjBxB,qBAAqBQ,6BACjBA,SAASiB,QAAQvC,iBAGrBwC,sBAAqB,IACZC,QAAQzC,gBAGjB0C,UAAUxC,MACAA,IAAI,IAAMA,KAAKyC,SAGzBC,gBAAgBC,cAAeC,OAAQC,iBAChC,MAAMC,YAAYD,eACjBE,OAAOC,UAAUC,eAAe\/C,KAAK2C,YAAaC,UAAW,OACzDI,cAAgBL,YAAYC,UAC5BK,MAAQP,OAAOE,UACfM,UAAYD,OAASzC,KAAK8B,UAAUW,OACxC,UAAYpD,OAAOoD,WAEhB,IAAIE,OAAOH,eAAeI,KAAKF,iBAC5B,IAAIG,MACR,UAAGZ,cAAca,sCACNV,qCAA4BM,6CACjBF,uBAMhCO,eAAerC,aACRH,SAASyC,gBAAgBC,oBACrB,QAI0B,mBAAxBvC,QAAQwC,YAA4B,OACvCC,KAAOzC,QAAQwC,qBACdC,gBAAgBC,WAAaD,KAAO,YAGzCzC,mBAAmB0C,WACd1C,QAIJA,QAAQ2C,WAINrD,KAAK+C,eAAerC,QAAQ2C,YAH1B,MAMXC,0BACmB,IAANC,sBACH,IAAIC,UAAU,wGAGhBC,QAAUF,gBAAEG,GAAGC,OAAOnC,MAAM,KAAK,GAAGA,MAAM,QAO5CiC,QAAQ,GALI,GAKYA,QAAQ,GAJnB,GAFA,IAMoCA,QAAQ,IAJ5C,IAI+DA,QAAQ,IAAmBA,QAAQ,GAHlG,GAGmHA,QAAQ,IAF3H,QAGT,IAAIZ,MAAM,iFAKtB7C,KAAKsD,kCAtIDI,GAAGE,qBAAuBjE,sCAC1BkE,MAAMC,QAAQ9D,KAAKZ,gBA\/Bd,CACL2E,SAAU3E,eACV4E,aAAc5E,eACd6E,OAAOJ,WACD,mBAAEA,MAAMK,QAAQC,GAAGrE,aACd+D,MAAMO,UAAUC,QAAQC,MAAMxE,KAAMyE,0BAkKpCvE"}