define(["exports","jquery","./Component","./Plugin"],function(e,t,n,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=u(t),r=u(n);function u(e){return e&&e.__esModule?e:{default:e}}var a=function(e,t,n){return t&&l(e.prototype,t),n&&l(e,n),e};function l(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var f=(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(c,r.default),a(c,[{key:"initializePlugins",value:function(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0];(0,o.default)("[data-plugin]",e||this.$el).each(function(){var e=(0,o.default)(this),t=e.data("plugin"),n=(0,i.pluginFactory)(t,e,e.data());n&&n.initialize()})}},{key:"initializePluginAPIs",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:document,t=(0,i.getPluginAPI)();for(var n in t)(0,i.getPluginAPI)(n)("[data-plugin="+n+"]",e)}}]),c);function c(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(c.__proto__||Object.getPrototypeOf(c)).apply(this,arguments))}e.default=f});