{"version":3,"sources":["webpack:///./node_modules/aurelia-dependency-injection/dist/native-modules/aurelia-dependency-injection.js","webpack:///./node_modules/aurelia-dialog/dist/native-modules/chunk.js","webpack:///./node_modules/aurelia-dialog/dist/native-modules/aurelia-dialog.js"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","autoinject","potentialTarget","deco","hasOwnProperty","inject","getOwn","paramTypes","_emptyParameters","slice","splice","isInjectable","rest","_i","_key","descriptor","value","Strategy","resolver","create","get","isStrategy","actual","expected","state","StrategyResolver","strategy","this","prototype","container","instance","singleton","invoke","transient","function","array","alias","Error","Number","Lazy","Lazy_1","_this","of","All","All_1","getAll","Optional","checkParent","_checkParent","Optional_1","hasResolver","Boolean","Parent","Parent_1","parent","Factory","Factory_1","fn","getResolver","NewInstance","dynamicDependencies","asKey","NewInstance_1","map","dependency","undefined","registerInstance","as","bind","apply","concat","getDecoratorDependencies","lazy","keyValue","index","all","optional","checkParentOrTarget","inject$$1","factory","newInstance","asKeyOrTarget","validateKey","freeze","registration","invoker","resolverDecorates","decorates","InvocationHandler","dependencies","invokeWithDynamicDependencies","classInvoker","Type","deps","instances","dep","construct","staticDependencies","lookup","args","Array","Container","configuration","_configuration","_onHandlerCreated","onHandlerCreated","_handlers","handlers","Map","_resolvers","root","makeGlobal","setHandlerCreatedCallback","registerResolver","registerSingleton","registerTransient","registerHandler","handler","registerAlias","originalKey","aliasKey","resolver$$1","allResolvers","result","set","push","autoRegister","autoRegisterAll","fns","unregister","delete","has","_get","results","createChild","child","_createInvocationHandler","e","name","f","ctor","getPrototypeOf","define","invokeAsFactory","FactoryInvoker","TransientRegistration","keyOrRegisterInChild","registerInChild","SingletonRegistration","existingResolver","_registerInChild","targetContainer","Renderer","getDialogContainer","showDialog","dialogController","hideDialog","createDialogCancelError","output","error","wasCancelled","createDialogCloseError","invokeLifecycle","model","Promise","resolve","then","DialogController","renderer","settings","reject","releaseResources","controller","viewModel","unbind","cancelOperation","rejectOnCancel","ok","close","cancel","closeError","closePromise","dialogResult","catch","reason","canDeactivate","DefaultDialogSettings","lock","startingZIndex","centerHorizontalOnly","ignoreTransitions","restoreFocus","lastActiveElement","focus","RENDERRERS","ux","m","DialogRenderer","native","NativeDialogRenderer","DEFAULT_RESOURCES","UxDialog","UxDialogHeader","UxDialogBody","UxDialogFooter","AttachFocus","DEFAULT_CSS_TEXT","cssM","DialogConfiguration","frameworkConfiguration","applySetter","cssText","resources","fwConfig","_apply","_a","rendererImpl","$cssText","injectStyles","modules","globalResources","useDefaults","useRenderer","useCSS","useStandardResources","keys","forEach","useResource","resourceName","assign","whenClosed","onfulfilled","onrejected","closeResult","DialogService","compositionEngine","defaultSettings","controllers","hasOpenDialog","hasActiveDialog","validateSettings","view","createCompositionContext","childContainer","host","bindingContext","viewResources","viewSlot","ensureViewModel","compositionContext","_cancelOperation","composeAndShowDialog","compose","createSettings","keyboard","overlayDismiss","writable","configurable","enumerable","open","resolveCloseResult","rejectCloseResult","removeController","promise","openResult","canActivate","closeAll","unclosedControllers","filter","unclosed","service","indexOf","configure","frameworkConfig","callback","applyConfig","config"],"mappings":"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","file":"vendors~a3fd09b7.ac40d7cf351a1f58e436.chunk.js","sourcesContent":["import { metadata, protocol } from 'aurelia-metadata';\nimport { AggregateError } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\n\nfunction isInjectable(potentialTarget) {\r\n    return !!potentialTarget;\r\n}\r\nfunction autoinject(potentialTarget) {\r\n    var deco = function (target) {\r\n        if (!target.hasOwnProperty('inject')) {\r\n            target.inject = (metadata.getOwn(metadata.paramTypes, target) ||\r\n                _emptyParameters).slice();\r\n            if (target.inject && target.inject.length > 0) {\r\n                if (target.inject[target.inject.length - 1] === Object) {\r\n                    target.inject.splice(-1, 1);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    if (isInjectable(potentialTarget)) {\r\n        return deco(potentialTarget);\r\n    }\r\n    return deco;\r\n}\r\nfunction inject() {\r\n    var rest = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        rest[_i] = arguments[_i];\r\n    }\r\n    return function (target, _key, descriptor) {\r\n        if (typeof descriptor === 'number') {\r\n            autoinject(target);\r\n            if (rest.length === 1) {\r\n                target.inject[descriptor] = rest[0];\r\n            }\r\n            return;\r\n        }\r\n        if (descriptor) {\r\n            var fn = descriptor.value;\r\n            fn.inject = rest;\r\n        }\r\n        else {\r\n            target.inject = rest;\r\n        }\r\n    };\r\n}\n\nvar resolver = protocol.create('aurelia:resolver', function (target) {\r\n    if (!(typeof target.get === 'function')) {\r\n        return 'Resolvers must implement: get(container: Container, key: any): any';\r\n    }\r\n    return true;\r\n});\r\nvar Strategy;\r\n(function (Strategy) {\r\n    Strategy[Strategy[\"instance\"] = 0] = \"instance\";\r\n    Strategy[Strategy[\"singleton\"] = 1] = \"singleton\";\r\n    Strategy[Strategy[\"transient\"] = 2] = \"transient\";\r\n    Strategy[Strategy[\"function\"] = 3] = \"function\";\r\n    Strategy[Strategy[\"array\"] = 4] = \"array\";\r\n    Strategy[Strategy[\"alias\"] = 5] = \"alias\";\r\n})(Strategy || (Strategy = {}));\r\nfunction isStrategy(actual, expected, state) {\r\n    return actual === expected;\r\n}\r\nvar StrategyResolver = (function () {\r\n    function StrategyResolver(strategy, state) {\r\n        this.strategy = strategy;\r\n        this.state = state;\r\n    }\r\n    StrategyResolver.prototype.get = function (container, key) {\r\n        if (isStrategy(this.strategy, Strategy.instance, this.state)) {\r\n            return this.state;\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.singleton, this.state)) {\r\n            var singleton = container.invoke(this.state);\r\n            this.state = singleton;\r\n            this.strategy = 0;\r\n            return singleton;\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.transient, this.state)) {\r\n            return container.invoke(this.state);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.function, this.state)) {\r\n            return this.state(container, key, this);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.array, this.state)) {\r\n            return this.state[0].get(container, key);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.alias, this.state)) {\r\n            return container.get(this.state);\r\n        }\r\n        throw new Error('Invalid strategy: ' + this.strategy);\r\n    };\r\n    StrategyResolver = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Number, Object])\r\n    ], StrategyResolver);\r\n    return StrategyResolver;\r\n}());\r\nvar Lazy = (function () {\r\n    function Lazy(key) {\r\n        this._key = key;\r\n    }\r\n    Lazy_1 = Lazy;\r\n    Lazy.prototype.get = function (container) {\r\n        var _this = this;\r\n        return function () { return container.get(_this._key); };\r\n    };\r\n    Lazy.of = function (key) {\r\n        return new Lazy_1(key);\r\n    };\r\n    var Lazy_1;\r\n    Lazy = Lazy_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Lazy);\r\n    return Lazy;\r\n}());\r\nvar All = (function () {\r\n    function All(key) {\r\n        this._key = key;\r\n    }\r\n    All_1 = All;\r\n    All.prototype.get = function (container) {\r\n        return container.getAll(this._key);\r\n    };\r\n    All.of = function (key) {\r\n        return new All_1(key);\r\n    };\r\n    var All_1;\r\n    All = All_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], All);\r\n    return All;\r\n}());\r\nvar Optional = (function () {\r\n    function Optional(key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = true; }\r\n        this._key = key;\r\n        this._checkParent = checkParent;\r\n    }\r\n    Optional_1 = Optional;\r\n    Optional.prototype.get = function (container) {\r\n        if (container.hasResolver(this._key, this._checkParent)) {\r\n            return container.get(this._key);\r\n        }\r\n        return null;\r\n    };\r\n    Optional.of = function (key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = true; }\r\n        return new Optional_1(key, checkParent);\r\n    };\r\n    var Optional_1;\r\n    Optional = Optional_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object, Boolean])\r\n    ], Optional);\r\n    return Optional;\r\n}());\r\nvar Parent = (function () {\r\n    function Parent(key) {\r\n        this._key = key;\r\n    }\r\n    Parent_1 = Parent;\r\n    Parent.prototype.get = function (container) {\r\n        return container.parent ? container.parent.get(this._key) : null;\r\n    };\r\n    Parent.of = function (key) {\r\n        return new Parent_1(key);\r\n    };\r\n    var Parent_1;\r\n    Parent = Parent_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Parent);\r\n    return Parent;\r\n}());\r\nvar Factory = (function () {\r\n    function Factory(key) {\r\n        this._key = key;\r\n    }\r\n    Factory_1 = Factory;\r\n    Factory.prototype.get = function (container) {\r\n        var fn = this._key;\r\n        var resolver = container.getResolver(fn);\r\n        if (resolver && resolver.strategy === Strategy.function) {\r\n            fn = resolver.state;\r\n        }\r\n        return function () {\r\n            var rest = [];\r\n            for (var _i = 0; _i < arguments.length; _i++) {\r\n                rest[_i] = arguments[_i];\r\n            }\r\n            return container.invoke(fn, rest);\r\n        };\r\n    };\r\n    Factory.of = function (key) {\r\n        return new Factory_1(key);\r\n    };\r\n    var Factory_1;\r\n    Factory = Factory_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Factory);\r\n    return Factory;\r\n}());\r\nvar NewInstance = (function () {\r\n    function NewInstance(key) {\r\n        var dynamicDependencies = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            dynamicDependencies[_i - 1] = arguments[_i];\r\n        }\r\n        this.key = key;\r\n        this.asKey = key;\r\n        this.dynamicDependencies = dynamicDependencies;\r\n    }\r\n    NewInstance_1 = NewInstance;\r\n    NewInstance.prototype.get = function (container) {\r\n        var dynamicDependencies = this.dynamicDependencies.length > 0\r\n            ? this.dynamicDependencies.map(function (dependency) {\r\n                return dependency['protocol:aurelia:resolver']\r\n                    ? dependency.get(container)\r\n                    : container.get(dependency);\r\n            })\r\n            : undefined;\r\n        var fn = this.key;\r\n        var resolver = container.getResolver(fn);\r\n        if (resolver && resolver.strategy === 3) {\r\n            fn = resolver.state;\r\n        }\r\n        var instance = container.invoke(fn, dynamicDependencies);\r\n        container.registerInstance(this.asKey, instance);\r\n        return instance;\r\n    };\r\n    NewInstance.prototype.as = function (key) {\r\n        this.asKey = key;\r\n        return this;\r\n    };\r\n    NewInstance.of = function (key) {\r\n        var dynamicDependencies = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            dynamicDependencies[_i - 1] = arguments[_i];\r\n        }\r\n        return new (NewInstance_1.bind.apply(NewInstance_1, [void 0, key].concat(dynamicDependencies)))();\r\n    };\r\n    var NewInstance_1;\r\n    NewInstance = NewInstance_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object, Object])\r\n    ], NewInstance);\r\n    return NewInstance;\r\n}());\r\nfunction getDecoratorDependencies(target) {\r\n    autoinject(target);\r\n    return target.inject;\r\n}\r\nfunction lazy(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = Lazy.of(keyValue);\r\n    };\r\n}\r\nfunction all(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = All.of(keyValue);\r\n    };\r\n}\r\nfunction optional(checkParentOrTarget) {\r\n    if (checkParentOrTarget === void 0) { checkParentOrTarget = true; }\r\n    var deco = function (checkParent) {\r\n        return function (target, _key, index) {\r\n            var inject$$1 = getDecoratorDependencies(target);\r\n            inject$$1[index] = Optional.of(inject$$1[index], checkParent);\r\n        };\r\n    };\r\n    if (typeof checkParentOrTarget === 'boolean') {\r\n        return deco(checkParentOrTarget);\r\n    }\r\n    return deco(true);\r\n}\r\nfunction parent(target, _key, index) {\r\n    var inject$$1 = getDecoratorDependencies(target);\r\n    inject$$1[index] = Parent.of(inject$$1[index]);\r\n}\r\nfunction factory(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = Factory.of(keyValue);\r\n    };\r\n}\r\nfunction newInstance(asKeyOrTarget) {\r\n    var dynamicDependencies = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        dynamicDependencies[_i - 1] = arguments[_i];\r\n    }\r\n    var deco = function (asKey) {\r\n        return function (target, _key, index) {\r\n            var inject$$1 = getDecoratorDependencies(target);\r\n            inject$$1[index] = NewInstance.of.apply(NewInstance, [inject$$1[index]].concat(dynamicDependencies));\r\n            if (!!asKey) {\r\n                inject$$1[index].as(asKey);\r\n            }\r\n        };\r\n    };\r\n    if (arguments.length >= 1) {\r\n        return deco(asKeyOrTarget);\r\n    }\r\n    return deco();\r\n}\n\nfunction validateKey(key) {\r\n    if (key === null || key === undefined) {\r\n        throw new Error('key/value cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\r\n    }\r\n}\r\nvar _emptyParameters = Object.freeze([]);\r\nmetadata.registration = 'aurelia:registration';\r\nmetadata.invoker = 'aurelia:invoker';\r\nvar resolverDecorates = resolver.decorates;\r\nvar InvocationHandler = (function () {\r\n    function InvocationHandler(fn, invoker, dependencies) {\r\n        this.fn = fn;\r\n        this.invoker = invoker;\r\n        this.dependencies = dependencies;\r\n    }\r\n    InvocationHandler.prototype.invoke = function (container, dynamicDependencies) {\r\n        return dynamicDependencies !== undefined\r\n            ? this.invoker.invokeWithDynamicDependencies(container, this.fn, this.dependencies, dynamicDependencies)\r\n            : this.invoker.invoke(container, this.fn, this.dependencies);\r\n    };\r\n    return InvocationHandler;\r\n}());\r\nfunction invokeWithDynamicDependencies(container, fn, staticDependencies, dynamicDependencies) {\r\n    var i = staticDependencies.length;\r\n    var args = new Array(i);\r\n    var lookup;\r\n    while (i--) {\r\n        lookup = staticDependencies[i];\r\n        if (lookup === null || lookup === undefined) {\r\n            throw new Error('Constructor Parameter with index ' +\r\n                i +\r\n                ' cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\r\n        }\r\n        else {\r\n            args[i] = container.get(lookup);\r\n        }\r\n    }\r\n    if (dynamicDependencies !== undefined) {\r\n        args = args.concat(dynamicDependencies);\r\n    }\r\n    return Reflect.construct(fn, args);\r\n}\r\nvar classInvoker = {\r\n    invoke: function (container, Type, deps) {\r\n        var instances = deps.map(function (dep) { return container.get(dep); });\r\n        return Reflect.construct(Type, instances);\r\n    },\r\n    invokeWithDynamicDependencies: invokeWithDynamicDependencies\r\n};\r\nfunction getDependencies(f) {\r\n    if (!f.hasOwnProperty('inject')) {\r\n        return [];\r\n    }\r\n    if (typeof f.inject === 'function') {\r\n        return f.inject();\r\n    }\r\n    return f.inject;\r\n}\r\nvar Container = (function () {\r\n    function Container(configuration) {\r\n        if (configuration === undefined) {\r\n            configuration = {};\r\n        }\r\n        this._configuration = configuration;\r\n        this._onHandlerCreated = configuration.onHandlerCreated;\r\n        this._handlers =\r\n            configuration.handlers || (configuration.handlers = new Map());\r\n        this._resolvers = new Map();\r\n        this.root = this;\r\n        this.parent = null;\r\n    }\r\n    Container.prototype.makeGlobal = function () {\r\n        Container.instance = this;\r\n        return this;\r\n    };\r\n    Container.prototype.setHandlerCreatedCallback = function (onHandlerCreated) {\r\n        this._onHandlerCreated = onHandlerCreated;\r\n        this._configuration.onHandlerCreated = onHandlerCreated;\r\n    };\r\n    Container.prototype.registerInstance = function (key, instance) {\r\n        return this.registerResolver(key, new StrategyResolver(0, instance === undefined ? key : instance));\r\n    };\r\n    Container.prototype.registerSingleton = function (key, fn) {\r\n        return this.registerResolver(key, new StrategyResolver(1, fn === undefined ? key : fn));\r\n    };\r\n    Container.prototype.registerTransient = function (key, fn) {\r\n        return this.registerResolver(key, new StrategyResolver(2, fn === undefined ? key : fn));\r\n    };\r\n    Container.prototype.registerHandler = function (key, handler) {\r\n        return this.registerResolver(key, new StrategyResolver(3, handler));\r\n    };\r\n    Container.prototype.registerAlias = function (originalKey, aliasKey) {\r\n        return this.registerResolver(aliasKey, new StrategyResolver(5, originalKey));\r\n    };\r\n    Container.prototype.registerResolver = function (key, resolver$$1) {\r\n        validateKey(key);\r\n        var allResolvers = this._resolvers;\r\n        var result = allResolvers.get(key);\r\n        if (result === undefined) {\r\n            allResolvers.set(key, resolver$$1);\r\n        }\r\n        else if (result.strategy === 4) {\r\n            result.state.push(resolver$$1);\r\n        }\r\n        else {\r\n            allResolvers.set(key, new StrategyResolver(4, [result, resolver$$1]));\r\n        }\r\n        return resolver$$1;\r\n    };\r\n    Container.prototype.autoRegister = function (key, fn) {\r\n        fn = fn === undefined ? key : fn;\r\n        if (typeof fn === 'function') {\r\n            var registration = metadata.get(metadata.registration, fn);\r\n            if (registration === undefined) {\r\n                return this.registerResolver(key, new StrategyResolver(1, fn));\r\n            }\r\n            return registration.registerResolver(this, key, fn);\r\n        }\r\n        return this.registerResolver(key, new StrategyResolver(0, fn));\r\n    };\r\n    Container.prototype.autoRegisterAll = function (fns) {\r\n        var i = fns.length;\r\n        while (i--) {\r\n            this.autoRegister(fns[i]);\r\n        }\r\n    };\r\n    Container.prototype.unregister = function (key) {\r\n        this._resolvers.delete(key);\r\n    };\r\n    Container.prototype.hasResolver = function (key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = false; }\r\n        validateKey(key);\r\n        return (this._resolvers.has(key) ||\r\n            (checkParent &&\r\n                this.parent !== null &&\r\n                this.parent.hasResolver(key, checkParent)));\r\n    };\r\n    Container.prototype.getResolver = function (key) {\r\n        return this._resolvers.get(key);\r\n    };\r\n    Container.prototype.get = function (key) {\r\n        validateKey(key);\r\n        if (key === Container) {\r\n            return this;\r\n        }\r\n        if (resolverDecorates(key)) {\r\n            return key.get(this, key);\r\n        }\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return this.autoRegister(key).get(this, key);\r\n            }\r\n            var registration = metadata.get(metadata.registration, key);\r\n            if (registration === undefined) {\r\n                return this.parent._get(key);\r\n            }\r\n            return registration.registerResolver(this, key, key).get(this, key);\r\n        }\r\n        return resolver$$1.get(this, key);\r\n    };\r\n    Container.prototype._get = function (key) {\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return this.autoRegister(key).get(this, key);\r\n            }\r\n            return this.parent._get(key);\r\n        }\r\n        return resolver$$1.get(this, key);\r\n    };\r\n    Container.prototype.getAll = function (key) {\r\n        validateKey(key);\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return _emptyParameters;\r\n            }\r\n            return this.parent.getAll(key);\r\n        }\r\n        if (resolver$$1.strategy === 4) {\r\n            var state = resolver$$1.state;\r\n            var i = state.length;\r\n            var results = new Array(i);\r\n            while (i--) {\r\n                results[i] = state[i].get(this, key);\r\n            }\r\n            return results;\r\n        }\r\n        return [resolver$$1.get(this, key)];\r\n    };\r\n    Container.prototype.createChild = function () {\r\n        var child = new Container(this._configuration);\r\n        child.root = this.root;\r\n        child.parent = this;\r\n        return child;\r\n    };\r\n    Container.prototype.invoke = function (fn, dynamicDependencies) {\r\n        try {\r\n            var handler = this._handlers.get(fn);\r\n            if (handler === undefined) {\r\n                handler = this._createInvocationHandler(fn);\r\n                this._handlers.set(fn, handler);\r\n            }\r\n            return handler.invoke(this, dynamicDependencies);\r\n        }\r\n        catch (e) {\r\n            throw new AggregateError(\"Error invoking \" + fn.name + \". Check the inner error for details.\", e, true);\r\n        }\r\n    };\r\n    Container.prototype._createInvocationHandler = function (fn) {\r\n        var dependencies;\r\n        if (fn.inject === undefined) {\r\n            dependencies =\r\n                metadata.getOwn(metadata.paramTypes, fn) || _emptyParameters;\r\n        }\r\n        else {\r\n            dependencies = [];\r\n            var ctor = fn;\r\n            while (typeof ctor === 'function') {\r\n                dependencies.push.apply(dependencies, getDependencies(ctor));\r\n                ctor = Object.getPrototypeOf(ctor);\r\n            }\r\n        }\r\n        var invoker = metadata.getOwn(metadata.invoker, fn) || classInvoker;\r\n        var handler = new InvocationHandler(fn, invoker, dependencies);\r\n        return this._onHandlerCreated !== undefined\r\n            ? this._onHandlerCreated(handler)\r\n            : handler;\r\n    };\r\n    return Container;\r\n}());\n\nfunction invoker(value) {\r\n    return function (target) {\r\n        metadata.define(metadata.invoker, value, target);\r\n    };\r\n}\r\nfunction invokeAsFactory(potentialTarget) {\r\n    var deco = function (target) {\r\n        metadata.define(metadata.invoker, FactoryInvoker.instance, target);\r\n    };\r\n    return potentialTarget ? deco(potentialTarget) : deco;\r\n}\r\nvar FactoryInvoker = (function () {\r\n    function FactoryInvoker() {\r\n    }\r\n    FactoryInvoker.prototype.invoke = function (container, fn, dependencies) {\r\n        var i = dependencies.length;\r\n        var args = new Array(i);\r\n        while (i--) {\r\n            args[i] = container.get(dependencies[i]);\r\n        }\r\n        return fn.apply(undefined, args);\r\n    };\r\n    FactoryInvoker.prototype.invokeWithDynamicDependencies = function (container, fn, staticDependencies, dynamicDependencies) {\r\n        var i = staticDependencies.length;\r\n        var args = new Array(i);\r\n        while (i--) {\r\n            args[i] = container.get(staticDependencies[i]);\r\n        }\r\n        if (dynamicDependencies !== undefined) {\r\n            args = args.concat(dynamicDependencies);\r\n        }\r\n        return fn.apply(undefined, args);\r\n    };\r\n    return FactoryInvoker;\r\n}());\r\nFactoryInvoker.instance = new FactoryInvoker();\n\nfunction registration(value) {\r\n    return function (target) {\r\n        metadata.define(metadata.registration, value, target);\r\n    };\r\n}\r\nfunction transient(key) {\r\n    return registration(new TransientRegistration(key));\r\n}\r\nfunction singleton(keyOrRegisterInChild, registerInChild) {\r\n    if (registerInChild === void 0) { registerInChild = false; }\r\n    return registration(new SingletonRegistration(keyOrRegisterInChild, registerInChild));\r\n}\r\nvar TransientRegistration = (function () {\r\n    function TransientRegistration(key) {\r\n        this._key = key;\r\n    }\r\n    TransientRegistration.prototype.registerResolver = function (container, key, fn) {\r\n        var existingResolver = container.getResolver(this._key || key);\r\n        return existingResolver === undefined\r\n            ? container.registerTransient((this._key || key), fn)\r\n            : existingResolver;\r\n    };\r\n    return TransientRegistration;\r\n}());\r\nvar SingletonRegistration = (function () {\r\n    function SingletonRegistration(keyOrRegisterInChild, registerInChild) {\r\n        if (registerInChild === void 0) { registerInChild = false; }\r\n        if (typeof keyOrRegisterInChild === 'boolean') {\r\n            this._registerInChild = keyOrRegisterInChild;\r\n        }\r\n        else {\r\n            this._key = keyOrRegisterInChild;\r\n            this._registerInChild = registerInChild;\r\n        }\r\n    }\r\n    SingletonRegistration.prototype.registerResolver = function (container, key, fn) {\r\n        var targetContainer = this._registerInChild ? container : container.root;\r\n        var existingResolver = targetContainer.getResolver(this._key || key);\r\n        return existingResolver === undefined\r\n            ? targetContainer.registerSingleton(this._key || key, fn)\r\n            : existingResolver;\r\n    };\r\n    return SingletonRegistration;\r\n}());\n\nexport { _emptyParameters, InvocationHandler, Container, autoinject, inject, invoker, invokeAsFactory, FactoryInvoker, registration, transient, singleton, TransientRegistration, SingletonRegistration, resolver, Strategy, StrategyResolver, Lazy, All, Optional, Parent, Factory, NewInstance, getDecoratorDependencies, lazy, all, optional, parent, factory, newInstance };\n","var Renderer = (function () {\r\n    function Renderer() {\r\n    }\r\n    Renderer.prototype.getDialogContainer = function () {\r\n        throw new Error('DialogRenderer must implement getDialogContainer().');\r\n    };\r\n    Renderer.prototype.showDialog = function (dialogController) {\r\n        throw new Error('DialogRenderer must implement showDialog().');\r\n    };\r\n    Renderer.prototype.hideDialog = function (dialogController) {\r\n        throw new Error('DialogRenderer must implement hideDialog().');\r\n    };\r\n    return Renderer;\r\n}());\n\nfunction createDialogCancelError(output) {\r\n    var error = new Error('Operation cancelled.');\r\n    error.wasCancelled = true;\r\n    error.output = output;\r\n    return error;\r\n}\n\nfunction createDialogCloseError(output) {\r\n    var error = new Error();\r\n    error.wasCancelled = false;\r\n    error.output = output;\r\n    return error;\r\n}\n\nfunction invokeLifecycle(instance, name, model) {\r\n    if (typeof instance[name] === 'function') {\r\n        return new Promise(function (resolve) {\r\n            resolve(instance[name](model));\r\n        }).then(function (result) {\r\n            if (result !== null && result !== undefined) {\r\n                return result;\r\n            }\r\n            return true;\r\n        });\r\n    }\r\n    return Promise.resolve(true);\r\n}\n\nvar DialogController = (function () {\r\n    function DialogController(renderer, settings, resolve, reject) {\r\n        this.resolve = resolve;\r\n        this.reject = reject;\r\n        this.settings = settings;\r\n        this.renderer = renderer;\r\n    }\r\n    DialogController.prototype.releaseResources = function (result) {\r\n        var _this = this;\r\n        return invokeLifecycle(this.controller.viewModel || {}, 'deactivate', result)\r\n            .then(function () { return _this.renderer.hideDialog(_this); })\r\n            .then(function () {\r\n            _this.controller.unbind();\r\n        });\r\n    };\r\n    DialogController.prototype.cancelOperation = function () {\r\n        if (!this.settings.rejectOnCancel) {\r\n            return { wasCancelled: true };\r\n        }\r\n        throw createDialogCancelError();\r\n    };\r\n    DialogController.prototype.ok = function (output) {\r\n        return this.close(true, output);\r\n    };\r\n    DialogController.prototype.cancel = function (output) {\r\n        return this.close(false, output);\r\n    };\r\n    DialogController.prototype.error = function (output) {\r\n        var _this = this;\r\n        var closeError = createDialogCloseError(output);\r\n        return this.releaseResources(closeError).then(function () { _this.reject(closeError); });\r\n    };\r\n    DialogController.prototype.close = function (ok, output) {\r\n        var _this = this;\r\n        if (this.closePromise) {\r\n            return this.closePromise;\r\n        }\r\n        var dialogResult = { wasCancelled: !ok, output: output };\r\n        return this.closePromise = invokeLifecycle(this.controller.viewModel || {}, 'canDeactivate', dialogResult)\r\n            .catch(function (reason) {\r\n            _this.closePromise = undefined;\r\n            return Promise.reject(reason);\r\n        }).then(function (canDeactivate) {\r\n            if (!canDeactivate) {\r\n                _this.closePromise = undefined;\r\n                return _this.cancelOperation();\r\n            }\r\n            return _this.releaseResources(dialogResult).then(function () {\r\n                if (!_this.settings.rejectOnCancel || ok) {\r\n                    _this.resolve(dialogResult);\r\n                }\r\n                else {\r\n                    _this.reject(createDialogCancelError(output));\r\n                }\r\n                return { wasCancelled: false };\r\n            }).catch(function (reason) {\r\n                _this.closePromise = undefined;\r\n                return Promise.reject(reason);\r\n            });\r\n        });\r\n    };\r\n    DialogController.inject = [Renderer];\r\n    return DialogController;\r\n}());\n\nexport { Renderer as a, createDialogCancelError as b, invokeLifecycle as c, DialogController as d, createDialogCloseError as e };\n//# sourceMappingURL=chunk.js.map\n","import { a as Renderer, b as createDialogCancelError, c as invokeLifecycle, d as DialogController } from './chunk.js';\nexport { d as DialogController, a as Renderer, b as createDialogCancelError, e as createDialogCloseError } from './chunk.js';\nimport { DOM } from 'aurelia-pal';\nimport { Container } from 'aurelia-dependency-injection';\nimport { ViewSlot, CompositionEngine } from 'aurelia-templating';\n\nvar DefaultDialogSettings = (function () {\r\n    function DefaultDialogSettings() {\r\n        this.lock = true;\r\n        this.startingZIndex = 1000;\r\n        this.centerHorizontalOnly = false;\r\n        this.rejectOnCancel = false;\r\n        this.ignoreTransitions = false;\r\n        this.restoreFocus = function (lastActiveElement) { return lastActiveElement.focus(); };\r\n    }\r\n    return DefaultDialogSettings;\r\n}());\n\nvar RENDERRERS = {\r\n    ux: function () { return import('./ux-dialog-renderer.js').then(function (m) { return m.DialogRenderer; }); },\r\n    native: function () { return import('./native-dialog-renderer.js').then(function (m) { return m.NativeDialogRenderer; }); }\r\n};\r\nvar DEFAULT_RESOURCES = {\r\n    'ux-dialog': function () { return import('./ux-dialog.js').then(function (m) { return m.UxDialog; }); },\r\n    'ux-dialog-header': function () { return import('./ux-dialog-header.js').then(function (m) { return m.UxDialogHeader; }); },\r\n    'ux-dialog-body': function () { return import('./ux-dialog-body.js').then(function (m) { return m.UxDialogBody; }); },\r\n    'ux-dialog-footer': function () { return import('./ux-dialog-footer.js').then(function (m) { return m.UxDialogFooter; }); },\r\n    'attach-focus': function () { return import('./attach-focus.js').then(function (m) { return m.AttachFocus; }); }\r\n};\r\nvar DEFAULT_CSS_TEXT = function () { return import('./default-styles.js').then(function (cssM) { return cssM['default']; }); };\r\nvar DialogConfiguration = (function () {\r\n    function DialogConfiguration(frameworkConfiguration, applySetter) {\r\n        var _this = this;\r\n        this.renderer = 'ux';\r\n        this.cssText = DEFAULT_CSS_TEXT;\r\n        this.resources = [];\r\n        this.fwConfig = frameworkConfiguration;\r\n        this.settings = frameworkConfiguration.container.get(DefaultDialogSettings);\r\n        applySetter(function () { return _this._apply(); });\r\n    }\r\n    DialogConfiguration.prototype._apply = function () {\r\n        var _this = this;\r\n        var renderer = this.renderer;\r\n        var cssText = this.cssText;\r\n        return Promise\r\n            .all([\r\n            typeof renderer === 'string' ? RENDERRERS[renderer]() : renderer,\r\n            cssText\r\n                ? typeof cssText === 'string'\r\n                    ? cssText\r\n                    : cssText()\r\n                : ''\r\n        ])\r\n            .then(function (_a) {\r\n            var rendererImpl = _a[0], $cssText = _a[1];\r\n            var fwConfig = _this.fwConfig;\r\n            fwConfig.transient(Renderer, rendererImpl);\r\n            if ($cssText) {\r\n                DOM.injectStyles($cssText);\r\n            }\r\n            return Promise\r\n                .all(_this.resources.map(function (name) { return DEFAULT_RESOURCES[name](); }))\r\n                .then(function (modules) {\r\n                fwConfig.globalResources(modules);\r\n            });\r\n        });\r\n    };\r\n    DialogConfiguration.prototype.useDefaults = function () {\r\n        return this\r\n            .useRenderer('ux')\r\n            .useCSS(DEFAULT_CSS_TEXT)\r\n            .useStandardResources();\r\n    };\r\n    DialogConfiguration.prototype.useStandardResources = function () {\r\n        Object.keys(DEFAULT_RESOURCES).forEach(this.useResource, this);\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useResource = function (resourceName) {\r\n        this.resources.push(resourceName);\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useRenderer = function (renderer, settings) {\r\n        this.renderer = renderer;\r\n        if (settings) {\r\n            Object.assign(this.settings, settings);\r\n        }\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useCSS = function (cssText) {\r\n        this.cssText = cssText;\r\n        return this;\r\n    };\r\n    return DialogConfiguration;\r\n}());\n\nfunction whenClosed(onfulfilled, onrejected) {\r\n    return this.then(function (r) { return r.wasCancelled ? r : r.closeResult; }).then(onfulfilled, onrejected);\r\n}\r\nfunction asDialogOpenPromise(promise) {\r\n    promise.whenClosed = whenClosed;\r\n    return promise;\r\n}\r\nvar DialogService = (function () {\r\n    function DialogService(container, compositionEngine, defaultSettings) {\r\n        this.controllers = [];\r\n        this.hasOpenDialog = false;\r\n        this.hasActiveDialog = false;\r\n        this.container = container;\r\n        this.compositionEngine = compositionEngine;\r\n        this.defaultSettings = defaultSettings;\r\n    }\r\n    DialogService.prototype.validateSettings = function (settings) {\r\n        if (!settings.viewModel && !settings.view) {\r\n            throw new Error('Invalid Dialog Settings. You must provide \"viewModel\", \"view\" or both.');\r\n        }\r\n    };\r\n    DialogService.prototype.createCompositionContext = function (childContainer, host, settings) {\r\n        return {\r\n            container: childContainer.parent,\r\n            childContainer: childContainer,\r\n            bindingContext: null,\r\n            viewResources: null,\r\n            model: settings.model,\r\n            view: settings.view,\r\n            viewModel: settings.viewModel,\r\n            viewSlot: new ViewSlot(host, true),\r\n            host: host\r\n        };\r\n    };\r\n    DialogService.prototype.ensureViewModel = function (compositionContext) {\r\n        if (typeof compositionContext.viewModel === 'object') {\r\n            return Promise.resolve(compositionContext);\r\n        }\r\n        return this.compositionEngine.ensureViewModel(compositionContext);\r\n    };\r\n    DialogService.prototype._cancelOperation = function (rejectOnCancel) {\r\n        if (!rejectOnCancel) {\r\n            return { wasCancelled: true };\r\n        }\r\n        throw createDialogCancelError();\r\n    };\r\n    DialogService.prototype.composeAndShowDialog = function (compositionContext, dialogController) {\r\n        var _this = this;\r\n        if (!compositionContext.viewModel) {\r\n            compositionContext.bindingContext = { controller: dialogController };\r\n        }\r\n        return this.compositionEngine\r\n            .compose(compositionContext)\r\n            .then(function (controller) {\r\n            dialogController.controller = controller;\r\n            return dialogController.renderer\r\n                .showDialog(dialogController)\r\n                .then(function () {\r\n                _this.controllers.push(dialogController);\r\n                _this.hasActiveDialog = _this.hasOpenDialog = !!_this.controllers.length;\r\n            }, function (reason) {\r\n                if (controller.viewModel) {\r\n                    invokeLifecycle(controller.viewModel, 'deactivate');\r\n                }\r\n                return Promise.reject(reason);\r\n            });\r\n        });\r\n    };\r\n    DialogService.prototype.createSettings = function (settings) {\r\n        settings = Object.assign({}, this.defaultSettings, settings);\r\n        if (typeof settings.keyboard !== 'boolean' && !settings.keyboard) {\r\n            settings.keyboard = !settings.lock;\r\n        }\r\n        if (typeof settings.overlayDismiss !== 'boolean') {\r\n            settings.overlayDismiss = !settings.lock;\r\n        }\r\n        Object.defineProperty(settings, 'rejectOnCancel', {\r\n            writable: false,\r\n            configurable: true,\r\n            enumerable: true\r\n        });\r\n        this.validateSettings(settings);\r\n        return settings;\r\n    };\r\n    DialogService.prototype.open = function (settings) {\r\n        var _this = this;\r\n        if (settings === void 0) { settings = {}; }\r\n        settings = this.createSettings(settings);\r\n        var childContainer = settings.childContainer || this.container.createChild();\r\n        var resolveCloseResult;\r\n        var rejectCloseResult;\r\n        var closeResult = new Promise(function (resolve, reject) {\r\n            resolveCloseResult = resolve;\r\n            rejectCloseResult = reject;\r\n        });\r\n        var dialogController = childContainer.invoke(DialogController, [settings, resolveCloseResult, rejectCloseResult]);\r\n        childContainer.registerInstance(DialogController, dialogController);\r\n        closeResult.then(function () {\r\n            removeController(_this, dialogController);\r\n        }, function () {\r\n            removeController(_this, dialogController);\r\n        });\r\n        var compositionContext = this.createCompositionContext(childContainer, dialogController.renderer.getDialogContainer(), dialogController.settings);\r\n        var openResult = this.ensureViewModel(compositionContext).then(function (compositionContext) {\r\n            if (!compositionContext.viewModel) {\r\n                return true;\r\n            }\r\n            return invokeLifecycle(compositionContext.viewModel, 'canActivate', dialogController.settings.model);\r\n        }).then(function (canActivate) {\r\n            if (!canActivate) {\r\n                return _this._cancelOperation(dialogController.settings.rejectOnCancel);\r\n            }\r\n            return _this.composeAndShowDialog(compositionContext, dialogController)\r\n                .then(function () { return ({ controller: dialogController, closeResult: closeResult, wasCancelled: false }); });\r\n        });\r\n        return asDialogOpenPromise(openResult);\r\n    };\r\n    DialogService.prototype.closeAll = function () {\r\n        return Promise.all(this.controllers.slice(0).map(function (controller) {\r\n            if (!controller.settings.rejectOnCancel) {\r\n                return controller.cancel().then(function (result) {\r\n                    if (result.wasCancelled) {\r\n                        return controller;\r\n                    }\r\n                    return null;\r\n                });\r\n            }\r\n            return controller.cancel().then(function () { return null; }).catch(function (reason) {\r\n                if (reason.wasCancelled) {\r\n                    return controller;\r\n                }\r\n                throw reason;\r\n            });\r\n        })).then(function (unclosedControllers) { return unclosedControllers.filter(function (unclosed) { return !!unclosed; }); });\r\n    };\r\n    DialogService.inject = [Container, CompositionEngine, DefaultDialogSettings];\r\n    return DialogService;\r\n}());\r\nfunction removeController(service, dialogController) {\r\n    var i = service.controllers.indexOf(dialogController);\r\n    if (i !== -1) {\r\n        service.controllers.splice(i, 1);\r\n        service.hasActiveDialog = service.hasOpenDialog = !!service.controllers.length;\r\n    }\r\n}\n\nfunction configure(frameworkConfig, callback) {\r\n    var applyConfig = null;\r\n    var config = new DialogConfiguration(frameworkConfig, function (apply) { applyConfig = apply; });\r\n    if (typeof callback === 'function') {\r\n        callback(config);\r\n    }\r\n    else {\r\n        config.useDefaults();\r\n    }\r\n    return applyConfig();\r\n}\n\nexport { DefaultDialogSettings, DialogConfiguration, DialogService, configure };\n//# sourceMappingURL=aurelia-dialog.js.map\n"],"sourceRoot":""}