{"version":3,"file":"moduler-1.1.2.min.js","names":["define","Moduler","moduleAttribute","modulesPathResolver","name","options","debug","console","info","utils","extend","loadModules","document","addEventListener","e","target","moduleObj","BaseModule","arguments","length","Module","element","call","this","el","defaults","key","prototype","constructor","base","method","args","apply","hasOwnProperty","containerElement","moduleCount","finishedLoading","modules","querySelectorAll","Promise","resolve","reject","forEach","moduleElement","moduleNames","getAttribute","split","i","moduleName","settingsAttr","settings","parseSettings","modulePath","getBasePath","toLowerCase","initializeModule","then","catch","reason","warn","message","Error","dispatchEvent","Event","time","importModule","init","setAttribute","moduleInstance","timeEnd","System","import","default","error","settingsPropertyRegex","settingsQuoteRegex","value","JSON","parse","replace","bind","func","context","extended","deep","Object","toString","merge","obj","prop","fadeIn","callback","style","opacity","last","Date","tick","window","requestAnimationFrame","setTimeout","fadeOut"],"sources":["moduler-1.1.2.min.js"],"mappings":"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","sourcesContent":["/*!\r\n * Moduler.js - JavaScript library for binding modules to DOM elements.\r\n * @version v1.1.2 - 2023-10-24\r\n */\r\ndefine([],(function(){var t={version:\"1.1.2\",debug:!1,options:{moduleAttribute:\"data-module\",modulesPathResolver:function(t){return\"moduler.\"}},initialize:function(e){t.debug&&console.info(\"Moduler.initialize\"),t.options=t.utils.extend({},t.options,e),t.loadModules(),document.addEventListener(\"load-modules\",(function(e){t.loadModules(e.target)}))},create:function(){var e,o;2===arguments.length?(o=arguments[0],e=arguments[1]):e=arguments[0];var n=function(e,n,i){o&&o.call(this,e,n,i),this.el=e,this.options=t.utils.extend({},this.defaults,n),this.name=i};if(o){for(var i in(n.prototype=new o).constructor=n,n.prototype.base=o.prototype,n.prototype.super=function(t,e){this.base[t].apply(this,e)},e)e.hasOwnProperty(i)&&(n.prototype[i]=e[i]);n.prototype.defaults=t.utils.extend({},o.prototype.defaults,n.prototype.defaults)}else n.prototype=e;return n},loadModules:function(e){t.debug&&console.info(\"Moduler.loadModules\");var o=0,n=0;e||(e=document);var i=e.querySelectorAll(\"[\"+t.options.moduleAttribute+\"]\");return new Promise(((e,r)=>{i.forEach((function(i){var u=i.getAttribute(t.options.moduleAttribute).split(\" \");for(var l in o+=u.length-1,u)if(u[l]){var a=u[l],s=i.getAttribute(\"data-\"+a),d=t.utils.parseSettings(s),c=t.utils.getBasePath(a)+a.toLowerCase();t.initializeModule(c,a,d,i).then((function(){++n===o&&(t.debug&&console.debug(\"All modules loaded\"),e(\"modules loaded\"))})).catch((function(e){t.debug&&console.warn(e);var o='Error in module \"'+a+'\": '+e;throw r(o),new Error(o)}))}}))})).then((function(){document.dispatchEvent(new Event(\"modules-ready\"))}))},initializeModule:function(e,o,n,i){return t.debug&&console.time&&console.time('initialize module \"'+o+'\"'),new Promise(((r,u)=>{t.importModule(e).then((function(e){if(\"string\"!=typeof n)if(e&&e.prototype.init||u(\"Failed to load module, missing init? \"+o),o&&!i.getAttribute(\"_mo_\"+o)){i.setAttribute(\"_mo_\"+o,\"initialized\"),t.debug&&console.debug('module \"'+o+'\" initialized for ',i),e.prototype=t.utils.extend({},e.prototype);var l=new e(i,n,o);l.init(),l.init.length<1&&r(o+\" loaded\"),t.debug&&console.timeEnd&&console.timeEnd('initialize module \"'+o+'\"')}else r(o+\" already loaded\");else u('Settings attribute for module \"'+o+'\" should be JSON-formated: data-'+o+'=\\'{ \"property\": \"value\" }\\'. Current value (\"'+n+'\") is not JSON.')}))}))},importModule:function(t){return new Promise(((e,o)=>{System.import(t).then((function(t){e(t.default)})).catch((function(e){var n=\"Failed to load modules (\"+t+\"): \"+e;throw o(n),new Error(n)}))}))}};return t.utils={settingsPropertyRegex:/([\\w\\-$]+):[\\s\\d\\{\\[\\'\\\"\\-ftun]/gi,settingsQuoteRegex:/'/g,parseSettings:function(e){return e?\"{\"===e[0]?JSON.parse(e):(e=e.replace(t.utils.settingsPropertyRegex,'\"$1\":').replace(t.utils.settingsQuoteRegex,'\"'),JSON.parse(\"{\"+e+\"}\")):null},getBasePath:function(e){return t.options.modulesPathResolver(e)},bind:function(t,e){return function(){return t.apply(e,arguments)}},extend:function(){var e={},o=!0,n=0,i=arguments.length;\"[object Boolean]\"===Object.prototype.toString.call(arguments[0])&&(o=arguments[0],n++);for(var r=function(n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(o&&\"[object Object]\"===Object.prototype.toString.call(n[i])?e[i]=t.utils.extend(!0,e[i],n[i]):e[i]=n[i])};n0?window.requestAnimationFrame&&requestAnimationFrame(i)||setTimeout(i,16):(t.style.opacity=0,o&&o())};i()}},window.Moduler=t,t}));\r\n//# sourceMappingURL=moduler-1.1.2.min.js.map\r\n"]}