{"version":3,"sources":["webpack:///./node_modules/aurelia-framework/dist/native-modules/aurelia-framework.js"],"names":["logger","extPattern","runTasks","config","tasks","current","next","shift","Promise","resolve","then","loadResources","aurelia","resourcesToLoad","appResources","Object","keys","length","viewEngine","container","get","all","map","n","load","moduleId","ext","getExt","isOtherResource","removeExt","loader","normalize","relativeTo","normalized","name","importId","addOriginalExt","_normalize","loads","names","importIds","forEach","l","push","undefined","importViewResources","replace","match","split","loadBehaviors","behaviorsToLoad","m","target","assertProcessed","plugins","processed","Error","invalidConfigMsg","cfg","type","concat","FrameworkConfiguration","_this","this","info","preTasks","postTasks","configuredPlugins","preTask","bootstrapperName","postTask","resources","prototype","instance","registerInstance","singleton","implementation","registerSingleton","transient","registerTransient","task","feature","plugin","hasIndex","test","root","slice","resourcesRelativeTo","configure","globalResources","resource","toAdd","Array","isArray","arguments","i","ii","parent_1","grandParent","name_1","startsWith","meta","autoRegister","elementName","globalName","resourcePath","newName","pluginConfig","_addNormalizedPlugin","defaultBindingLanguage","router","history","defaultResources","eventAggregator","basicConfiguration","standardConfiguration","developmentLogging","level","logLevel","debug","loadModule","ConsoleAppender","apply","fwConfig","id","normalizedId","_loadPlugin","indexOf","call","loadPlugin","Aurelia","Loader","makeGlobal","use","hostConfigured","host","start","_started","addEventListener","evt","action","tagName","toLowerCase","preventDefault","hasResolver","message","error","createCustomEvent","bubbles","cancelable","dispatchEvent","enhance","bindingContext","applicationHost","_configureHost","querySelectorAll","engine","element","attached","_onAureliaComposed","setRoot","instruction","viewModel","deactivate","reset","initialComposition","configModuleId","childContainer","viewSlot","hostSlot","compose","r","getElementById","transformChildNodesIntoView","boundary","setTimeout"],"mappings":"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","file":"assets/npm.aurelia-framework.3b45b37940cf43166521.js","sourcesContent":["import { Container } from 'aurelia-dependency-injection';\nexport * from 'aurelia-dependency-injection';\nexport * from 'aurelia-binding';\nexport * from 'aurelia-metadata';\nimport { HtmlBehaviorResource, ViewEngine, BindingLanguage, TemplatingEngine, CompositionTransaction, ViewSlot, ViewResources } from 'aurelia-templating';\nexport * from 'aurelia-templating';\nimport { Loader } from 'aurelia-loader';\nexport * from 'aurelia-loader';\nexport * from 'aurelia-task-queue';\nimport { join, relativeToFile } from 'aurelia-path';\nexport * from 'aurelia-path';\nimport { DOM, PLATFORM } from 'aurelia-pal';\nexport * from 'aurelia-pal';\nimport * as TheLogManager from 'aurelia-logging';\nexport { TheLogManager as LogManager };\n\nvar logger = TheLogManager.getLogger('aurelia');\r\nvar extPattern = /\\.[^/.]+$/;\r\nfunction runTasks(config, tasks) {\r\n var current;\r\n var next = function () {\r\n current = tasks.shift();\r\n if (current) {\r\n return Promise.resolve(current(config)).then(next);\r\n }\r\n return Promise.resolve();\r\n };\r\n return next();\r\n}\r\nfunction loadPlugin(fwConfig, loader, info) {\r\n logger.debug(\"Loading plugin \".concat(info.moduleId, \".\"));\r\n if (typeof info.moduleId === 'string') {\r\n fwConfig.resourcesRelativeTo = info.resourcesRelativeTo;\r\n var id = info.moduleId;\r\n if (info.resourcesRelativeTo.length > 1) {\r\n return loader.normalize(info.moduleId, info.resourcesRelativeTo[1])\r\n .then(function (normalizedId) { return _loadPlugin(normalizedId); });\r\n }\r\n return _loadPlugin(id);\r\n }\r\n else if (typeof info.configure === 'function') {\r\n if (fwConfig.configuredPlugins.indexOf(info.configure) !== -1) {\r\n return Promise.resolve();\r\n }\r\n fwConfig.configuredPlugins.push(info.configure);\r\n return Promise.resolve(info.configure.call(null, fwConfig, info.config || {}));\r\n }\r\n throw new Error(invalidConfigMsg(info.moduleId || info.configure, 'plugin'));\r\n function _loadPlugin(moduleId) {\r\n return loader.loadModule(moduleId).then(function (m) {\r\n if ('configure' in m) {\r\n if (fwConfig.configuredPlugins.indexOf(m.configure) !== -1) {\r\n return Promise.resolve();\r\n }\r\n return Promise.resolve(m.configure(fwConfig, info.config || {})).then(function () {\r\n fwConfig.configuredPlugins.push(m.configure);\r\n fwConfig.resourcesRelativeTo = null;\r\n logger.debug(\"Configured plugin \".concat(info.moduleId, \".\"));\r\n });\r\n }\r\n fwConfig.resourcesRelativeTo = null;\r\n logger.debug(\"Loaded plugin \".concat(info.moduleId, \".\"));\r\n });\r\n }\r\n}\r\nfunction loadResources(aurelia, resourcesToLoad, appResources) {\r\n if (Object.keys(resourcesToLoad).length === 0) {\r\n return Promise.resolve();\r\n }\r\n var viewEngine = aurelia.container.get(ViewEngine);\r\n return Promise.all(Object.keys(resourcesToLoad).map(function (n) { return _normalize(resourcesToLoad[n]); }))\r\n .then(function (loads) {\r\n var names = [];\r\n var importIds = [];\r\n loads.forEach(function (l) {\r\n names.push(undefined);\r\n importIds.push(l.importId);\r\n });\r\n return viewEngine.importViewResources(importIds, names, appResources);\r\n });\r\n function _normalize(load) {\r\n var moduleId = load.moduleId;\r\n var ext = getExt(moduleId);\r\n if (isOtherResource(moduleId)) {\r\n moduleId = removeExt(moduleId);\r\n }\r\n return aurelia.loader.normalize(moduleId, load.relativeTo)\r\n .then(function (normalized) {\r\n return {\r\n name: load.moduleId,\r\n importId: isOtherResource(load.moduleId) ? addOriginalExt(normalized, ext) : normalized\r\n };\r\n });\r\n }\r\n function isOtherResource(name) {\r\n var ext = getExt(name);\r\n if (!ext)\r\n return false;\r\n if (ext === '')\r\n return false;\r\n if (ext === '.js' || ext === '.ts')\r\n return false;\r\n return true;\r\n }\r\n function removeExt(name) {\r\n return name.replace(extPattern, '');\r\n }\r\n function addOriginalExt(normalized, ext) {\r\n return removeExt(normalized) + '.' + ext;\r\n }\r\n}\r\nfunction getExt(name) {\r\n var match = name.match(extPattern);\r\n if (match && match.length > 0) {\r\n return (match[0].split('.'))[1];\r\n }\r\n}\r\nfunction loadBehaviors(config) {\r\n return Promise.all(config.behaviorsToLoad.map(function (m) { return m.load(config.container, m.target); })).then(function () {\r\n config.behaviorsToLoad = null;\r\n });\r\n}\r\nfunction assertProcessed(plugins) {\r\n if (plugins.processed) {\r\n throw new Error('This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.');\r\n }\r\n}\r\nfunction invalidConfigMsg(cfg, type) {\r\n return \"Invalid \".concat(type, \" [\").concat(cfg, \"], \").concat(type, \" must be specified as functions or relative module IDs.\");\r\n}\r\nvar FrameworkConfiguration = (function () {\r\n function FrameworkConfiguration(aurelia) {\r\n var _this = this;\r\n this.aurelia = aurelia;\r\n this.container = aurelia.container;\r\n this.info = [];\r\n this.processed = false;\r\n this.preTasks = [];\r\n this.postTasks = [];\r\n this.behaviorsToLoad = [];\r\n this.configuredPlugins = [];\r\n this.resourcesToLoad = {};\r\n this.preTask(function () { return aurelia.loader.normalize('aurelia-bootstrapper', undefined)\r\n .then(function (name) { return _this.bootstrapperName = name; }); });\r\n this.postTask(function () { return loadResources(aurelia, _this.resourcesToLoad, aurelia.resources); });\r\n }\r\n FrameworkConfiguration.prototype.instance = function (type, instance) {\r\n this.container.registerInstance(type, instance);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.singleton = function (type, implementation) {\r\n this.container.registerSingleton(type, implementation);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.transient = function (type, implementation) {\r\n this.container.registerTransient(type, implementation);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.preTask = function (task) {\r\n assertProcessed(this);\r\n this.preTasks.push(task);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.postTask = function (task) {\r\n assertProcessed(this);\r\n this.postTasks.push(task);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.feature = function (plugin, config) {\r\n if (config === void 0) { config = {}; }\r\n switch (typeof plugin) {\r\n case 'string':\r\n var hasIndex = /\\/index$/i.test(plugin);\r\n var moduleId = hasIndex || getExt(plugin) ? plugin : plugin + '/index';\r\n var root = hasIndex ? plugin.slice(0, -6) : plugin;\r\n this.info.push({ moduleId: moduleId, resourcesRelativeTo: [root, ''], config: config });\r\n break;\r\n case 'function':\r\n this.info.push({ configure: plugin, config: config || {} });\r\n break;\r\n default:\r\n throw new Error(invalidConfigMsg(plugin, 'feature'));\r\n }\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.globalResources = function (resources) {\r\n var _this = this;\r\n assertProcessed(this);\r\n var toAdd = Array.isArray(resources) ? resources : arguments;\r\n var resource;\r\n var resourcesRelativeTo = this.resourcesRelativeTo || ['', ''];\r\n for (var i = 0, ii = toAdd.length; i < ii; ++i) {\r\n resource = toAdd[i];\r\n switch (typeof resource) {\r\n case 'string':\r\n var parent_1 = resourcesRelativeTo[0];\r\n var grandParent = resourcesRelativeTo[1];\r\n var name_1 = resource;\r\n if ((resource.startsWith('./') || resource.startsWith('../')) && parent_1 !== '') {\r\n name_1 = join(parent_1, resource);\r\n }\r\n this.resourcesToLoad[name_1] = { moduleId: name_1, relativeTo: grandParent };\r\n break;\r\n case 'function':\r\n var meta = this.aurelia.resources.autoRegister(this.container, resource);\r\n if (meta instanceof HtmlBehaviorResource && meta.elementName !== null) {\r\n if (this.behaviorsToLoad.push(meta) === 1) {\r\n this.postTask(function () { return loadBehaviors(_this); });\r\n }\r\n }\r\n break;\r\n default:\r\n throw new Error(invalidConfigMsg(resource, 'resource'));\r\n }\r\n }\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.globalName = function (resourcePath, newName) {\r\n assertProcessed(this);\r\n this.resourcesToLoad[resourcePath] = { moduleId: newName, relativeTo: '' };\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.plugin = function (plugin, pluginConfig) {\r\n assertProcessed(this);\r\n var info;\r\n switch (typeof plugin) {\r\n case 'string':\r\n info = { moduleId: plugin, resourcesRelativeTo: [plugin, ''], config: pluginConfig || {} };\r\n break;\r\n case 'function':\r\n info = { configure: plugin, config: pluginConfig || {} };\r\n break;\r\n default:\r\n throw new Error(invalidConfigMsg(plugin, 'plugin'));\r\n }\r\n this.info.push(info);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype._addNormalizedPlugin = function (name, config) {\r\n var _this = this;\r\n var plugin = { moduleId: name, resourcesRelativeTo: [name, ''], config: config || {} };\r\n this.info.push(plugin);\r\n this.preTask(function () {\r\n var relativeTo = [name, _this.bootstrapperName];\r\n plugin.moduleId = name;\r\n plugin.resourcesRelativeTo = relativeTo;\r\n return Promise.resolve();\r\n });\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.defaultBindingLanguage = function () {\r\n return this._addNormalizedPlugin('aurelia-templating-binding');\r\n };\r\n FrameworkConfiguration.prototype.router = function () {\r\n return this._addNormalizedPlugin('aurelia-templating-router');\r\n };\r\n FrameworkConfiguration.prototype.history = function () {\r\n return this._addNormalizedPlugin('aurelia-history-browser');\r\n };\r\n FrameworkConfiguration.prototype.defaultResources = function () {\r\n return this._addNormalizedPlugin('aurelia-templating-resources');\r\n };\r\n FrameworkConfiguration.prototype.eventAggregator = function () {\r\n return this._addNormalizedPlugin('aurelia-event-aggregator');\r\n };\r\n FrameworkConfiguration.prototype.basicConfiguration = function () {\r\n return this.defaultBindingLanguage().defaultResources().eventAggregator();\r\n };\r\n FrameworkConfiguration.prototype.standardConfiguration = function () {\r\n return this.basicConfiguration().history().router();\r\n };\r\n FrameworkConfiguration.prototype.developmentLogging = function (level) {\r\n var _this = this;\r\n var logLevel = level ? TheLogManager.logLevel[level] : undefined;\r\n if (logLevel === undefined) {\r\n logLevel = TheLogManager.logLevel.debug;\r\n }\r\n this.preTask(function () {\r\n return _this.aurelia.loader.normalize('aurelia-logging-console', _this.bootstrapperName).then(function (name) {\r\n return _this.aurelia.loader.loadModule(name).then(function (m) {\r\n TheLogManager.addAppender(new m.ConsoleAppender());\r\n TheLogManager.setLevel(logLevel);\r\n });\r\n });\r\n });\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.apply = function () {\r\n var _this = this;\r\n if (this.processed) {\r\n return Promise.resolve();\r\n }\r\n return runTasks(this, this.preTasks).then(function () {\r\n var loader = _this.aurelia.loader;\r\n var info = _this.info;\r\n var current;\r\n var next = function () {\r\n current = info.shift();\r\n if (current) {\r\n return loadPlugin(_this, loader, current).then(next);\r\n }\r\n _this.processed = true;\r\n _this.configuredPlugins = null;\r\n return Promise.resolve();\r\n };\r\n return next().then(function () { return runTasks(_this, _this.postTasks); });\r\n });\r\n };\r\n return FrameworkConfiguration;\r\n}());\n\nfunction preventActionlessFormSubmit() {\r\n DOM.addEventListener('submit', function (evt) {\r\n var target = evt.target;\r\n var action = target.action;\r\n if (target.tagName.toLowerCase() === 'form' && !action) {\r\n evt.preventDefault();\r\n }\r\n }, false);\r\n}\r\nvar Aurelia = (function () {\r\n function Aurelia(loader, container, resources) {\r\n this.loader = loader || new PLATFORM.Loader();\r\n this.container = container || (new Container()).makeGlobal();\r\n this.resources = resources || new ViewResources();\r\n this.use = new FrameworkConfiguration(this);\r\n this.logger = TheLogManager.getLogger('aurelia');\r\n this.hostConfigured = false;\r\n this.host = null;\r\n this.use.instance(Aurelia, this);\r\n this.use.instance(Loader, this.loader);\r\n this.use.instance(ViewResources, this.resources);\r\n }\r\n Aurelia.prototype.start = function () {\r\n var _this = this;\r\n if (this._started) {\r\n return this._started;\r\n }\r\n this.logger.info('Aurelia Starting');\r\n return this._started = this.use.apply().then(function () {\r\n preventActionlessFormSubmit();\r\n if (!_this.container.hasResolver(BindingLanguage)) {\r\n var message = 'You must configure Aurelia with a BindingLanguage implementation.';\r\n _this.logger.error(message);\r\n throw new Error(message);\r\n }\r\n _this.logger.info('Aurelia Started');\r\n var evt = DOM.createCustomEvent('aurelia-started', { bubbles: true, cancelable: true });\r\n DOM.dispatchEvent(evt);\r\n return _this;\r\n });\r\n };\r\n Aurelia.prototype.enhance = function (bindingContext, applicationHost) {\r\n var _this = this;\r\n if (bindingContext === void 0) { bindingContext = {}; }\r\n if (applicationHost === void 0) { applicationHost = null; }\r\n this._configureHost(applicationHost || DOM.querySelectorAll('body')[0]);\r\n return new Promise(function (resolve) {\r\n var engine = _this.container.get(TemplatingEngine);\r\n _this.root = engine.enhance({ container: _this.container, element: _this.host, resources: _this.resources, bindingContext: bindingContext });\r\n _this.root.attached();\r\n _this._onAureliaComposed();\r\n resolve(_this);\r\n });\r\n };\r\n Aurelia.prototype.setRoot = function (root, applicationHost) {\r\n var _this = this;\r\n if (root === void 0) { root = null; }\r\n if (applicationHost === void 0) { applicationHost = null; }\r\n var instruction = {};\r\n if (this.root && this.root.viewModel && this.root.viewModel.router) {\r\n this.root.viewModel.router.deactivate();\r\n this.root.viewModel.router.reset();\r\n }\r\n this._configureHost(applicationHost);\r\n var engine = this.container.get(TemplatingEngine);\r\n var transaction = this.container.get(CompositionTransaction);\r\n delete transaction.initialComposition;\r\n if (!root) {\r\n if (this.configModuleId) {\r\n root = relativeToFile('./app', this.configModuleId);\r\n }\r\n else {\r\n root = 'app';\r\n }\r\n }\r\n instruction.viewModel = root;\r\n instruction.container = instruction.childContainer = this.container;\r\n instruction.viewSlot = this.hostSlot;\r\n instruction.host = this.host;\r\n return engine.compose(instruction).then(function (r) {\r\n _this.root = r;\r\n instruction.viewSlot.attached();\r\n _this._onAureliaComposed();\r\n return _this;\r\n });\r\n };\r\n Aurelia.prototype._configureHost = function (applicationHost) {\r\n if (this.hostConfigured) {\r\n return;\r\n }\r\n applicationHost = applicationHost || this.host;\r\n if (!applicationHost || typeof applicationHost === 'string') {\r\n this.host = DOM.getElementById(applicationHost || 'applicationHost');\r\n }\r\n else {\r\n this.host = applicationHost;\r\n }\r\n if (!this.host) {\r\n throw new Error('No applicationHost was specified.');\r\n }\r\n this.hostConfigured = true;\r\n this.host.aurelia = this;\r\n this.hostSlot = new ViewSlot(this.host, true);\r\n this.hostSlot.transformChildNodesIntoView();\r\n this.container.registerInstance(DOM.boundary, this.host);\r\n };\r\n Aurelia.prototype._onAureliaComposed = function () {\r\n var evt = DOM.createCustomEvent('aurelia-composed', { bubbles: true, cancelable: true });\r\n setTimeout(function () { return DOM.dispatchEvent(evt); }, 1);\r\n };\r\n return Aurelia;\r\n}());\n\nexport { Aurelia, FrameworkConfiguration };\n//# sourceMappingURL=aurelia-framework.js.map\n"],"sourceRoot":""}