{"version":3,"file":null,"sources":["../src/angular.ts","../node_modules/@uirouter/core/src/common/hof.ts","../node_modules/@uirouter/core/src/common/glob.ts","../node_modules/@uirouter/core/src/state/stateObject.ts","../node_modules/@uirouter/core/src/common/predicates.ts","../node_modules/@uirouter/core/src/common/coreservices.ts","../node_modules/@uirouter/core/src/common/common.ts","../node_modules/@uirouter/core/src/common/queue.ts","../node_modules/@uirouter/core/src/transition/rejectFactory.ts","../node_modules/@uirouter/core/src/common/trace.ts","../node_modules/@uirouter/core/src/transition/interface.ts","../node_modules/@uirouter/core/src/state/targetState.ts","../node_modules/@uirouter/core/src/transition/transitionHook.ts","../node_modules/@uirouter/core/src/transition/hookRegistry.ts","../node_modules/@uirouter/core/src/transition/hookBuilder.ts","../node_modules/@uirouter/core/src/params/paramType.ts","../node_modules/@uirouter/core/src/params/param.ts","../node_modules/@uirouter/core/src/path/pathNode.ts","../node_modules/@uirouter/core/src/path/pathFactory.ts","../node_modules/@uirouter/core/src/resolve/resolvable.ts","../node_modules/@uirouter/core/src/resolve/interface.ts","../node_modules/@uirouter/core/src/resolve/resolveContext.ts","../node_modules/@uirouter/core/src/transition/transition.ts","../node_modules/@uirouter/core/src/common/strings.ts","../node_modules/@uirouter/core/src/common/index.ts","../node_modules/@uirouter/core/src/params/paramTypes.ts","../node_modules/@uirouter/core/src/params/stateParams.ts","../node_modules/@uirouter/core/src/path/index.ts","../node_modules/@uirouter/core/src/resolve/index.ts","../node_modules/@uirouter/core/src/state/stateBuilder.ts","../node_modules/@uirouter/core/src/state/stateMatcher.ts","../node_modules/@uirouter/core/src/state/stateQueueManager.ts","../node_modules/@uirouter/core/src/state/stateRegistry.ts","../node_modules/@uirouter/core/src/url/urlMatcher.ts","../node_modules/@uirouter/core/src/url/urlMatcherFactory.ts","../node_modules/@uirouter/core/src/url/urlRule.ts","../node_modules/@uirouter/core/src/url/urlRouter.ts","../node_modules/@uirouter/core/src/view/view.ts","../node_modules/@uirouter/core/src/globals.ts","../node_modules/@uirouter/core/src/url/urlService.ts","../node_modules/@uirouter/core/src/router.ts","../node_modules/@uirouter/core/src/hooks/coreResolvables.ts","../node_modules/@uirouter/core/src/hooks/redirectTo.ts","../node_modules/@uirouter/core/src/hooks/onEnterExitRetain.ts","../node_modules/@uirouter/core/src/hooks/resolve.ts","../node_modules/@uirouter/core/src/hooks/views.ts","../node_modules/@uirouter/core/src/hooks/updateGlobals.ts","../node_modules/@uirouter/core/src/hooks/url.ts","../node_modules/@uirouter/core/src/hooks/lazyLoad.ts","../node_modules/@uirouter/core/src/transition/transitionEventType.ts","../node_modules/@uirouter/core/src/hooks/ignoredTransition.ts","../node_modules/@uirouter/core/src/hooks/invalidTransition.ts","../node_modules/@uirouter/core/src/transition/transitionService.ts","../node_modules/@uirouter/core/src/state/stateService.ts","../node_modules/@uirouter/core/src/transition/index.ts","../node_modules/@uirouter/core/src/vanilla/q.ts","../node_modules/@uirouter/core/src/vanilla/injector.ts","../node_modules/@uirouter/core/src/vanilla/utils.ts","../node_modules/@uirouter/core/src/vanilla/baseLocationService.ts","../node_modules/@uirouter/core/src/vanilla/hashLocationService.ts","../node_modules/@uirouter/core/src/vanilla/memoryLocationService.ts","../node_modules/@uirouter/core/src/vanilla/pushStateLocationService.ts","../node_modules/@uirouter/core/src/vanilla/memoryLocationConfig.ts","../node_modules/@uirouter/core/src/vanilla/browserLocationConfig.ts","../node_modules/@uirouter/core/src/vanilla/plugins.ts","../node_modules/@uirouter/core/src/vanilla.ts","../node_modules/@uirouter/core/src/interface.ts","../node_modules/@uirouter/core/src/index.ts","../src/statebuilders/views.ts","../src/templateFactory.ts","../src/stateProvider.ts","../src/statebuilders/onEnterExitRetain.ts","../src/locationServices.ts","../src/urlRouterProvider.ts","../src/services.ts","../src/injectables.ts","../src/directives/stateDirectives.ts","../src/stateFilters.ts","../src/directives/viewDirective.ts","../src/viewScroll.ts","../src/index.ts"],"sourcesContent":["/**\n * @hidden\n * @module ng1\n */ /** */\ndeclare var angular;\nimport * as ng_from_import from \"angular\";\nlet ng_from_global = angular;\n\nexport const ng = (ng_from_import && ng_from_import.module) ? ng_from_import : ng_from_global;\n",{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/hof.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/glob.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateObject.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/predicates.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/coreservices.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/common.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/queue.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/rejectFactory.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/trace.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/interface.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/targetState.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/transitionHook.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/hookRegistry.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/hookBuilder.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/params/paramType.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/params/param.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/path/pathNode.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/path/pathFactory.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/resolve/resolvable.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/resolve/interface.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/resolve/resolveContext.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/transition.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/strings.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/index.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/params/paramTypes.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/params/stateParams.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/path/index.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/resolve/index.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateBuilder.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateMatcher.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateQueueManager.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateRegistry.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/url/urlMatcher.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/url/urlMatcherFactory.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/url/urlRule.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/url/urlRouter.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/view/view.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/globals.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/url/urlService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/router.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/coreResolvables.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/redirectTo.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/onEnterExitRetain.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/resolve.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/views.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/updateGlobals.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/url.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/lazyLoad.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/transitionEventType.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/ignoredTransition.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/invalidTransition.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/transitionService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/index.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/q.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/injector.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/utils.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/baseLocationService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/hashLocationService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/memoryLocationService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/pushStateLocationService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/memoryLocationConfig.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/browserLocationConfig.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/plugins.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/interface.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/index.ts"},"/** @module ng1 */ /** */\nimport { ng as angular } from \"../angular\";\nimport {\n StateObject, pick, forEach, tail, extend,\n isArray, isInjectable, isDefined, isString, services, trace,\n ViewConfig, ViewService, ViewConfigFactory, PathNode, ResolveContext, Resolvable, IInjectable\n} from \"@uirouter/core\";\nimport { Ng1ViewDeclaration } from \"../interface\";\nimport { TemplateFactory } from \"../templateFactory\";\nimport IInjectorService = angular.auto.IInjectorService;\n\nexport function getNg1ViewConfigFactory(): ViewConfigFactory {\n let templateFactory: TemplateFactory = null;\n return (path, view) => {\n templateFactory = templateFactory || services.$injector.get(\"$templateFactory\");\n return [new Ng1ViewConfig(path, view, templateFactory)];\n };\n}\n\nconst hasAnyKey = (keys, obj) =>\n keys.reduce((acc, key) => acc || isDefined(obj[key]), false);\n\n/**\n * This is a [[StateBuilder.builder]] function for angular1 `views`.\n *\n * When the [[StateBuilder]] builds a [[StateObject]] object from a raw [[StateDeclaration]], this builder\n * handles the `views` property with logic specific to @uirouter/angularjs (ng1).\n *\n * If no `views: {}` property exists on the [[StateDeclaration]], then it creates the `views` object\n * and applies the state-level configuration to a view named `$default`.\n */\nexport function ng1ViewsBuilder(state: StateObject) {\n // Do not process root state\n if (!state.parent) return {};\n\n let tplKeys = ['templateProvider', 'templateUrl', 'template', 'notify', 'async'],\n ctrlKeys = ['controller', 'controllerProvider', 'controllerAs', 'resolveAs'],\n compKeys = ['component', 'bindings', 'componentProvider'],\n nonCompKeys = tplKeys.concat(ctrlKeys),\n allViewKeys = compKeys.concat(nonCompKeys);\n\n // Do not allow a state to have both state-level props and also a `views: {}` property.\n // A state without a `views: {}` property can declare properties for the `$default` view as properties of the state.\n // However, the `$default` approach should not be mixed with a separate `views: ` block.\n if (isDefined(state.views) && hasAnyKey(allViewKeys, state)) {\n throw new Error(`State '${state.name}' has a 'views' object. ` +\n `It cannot also have \"view properties\" at the state level. ` +\n `Move the following properties into a view (in the 'views' object): ` +\n ` ${allViewKeys.filter(key => isDefined(state[key])).join(\", \")}`);\n }\n\n let views: { [key: string]: Ng1ViewDeclaration } = {},\n viewsObject = state.views || { \"$default\": pick(state, allViewKeys) };\n\n forEach(viewsObject, function (config: Ng1ViewDeclaration, name: string) {\n // Account for views: { \"\": { template... } }\n name = name || \"$default\";\n // Account for views: { header: \"headerComponent\" }\n if (isString(config)) config = { component: config };\n\n // Make a shallow copy of the config object\n config = extend({}, config);\n\n // Do not allow a view to mix props for component-style view with props for template/controller-style view\n if (hasAnyKey(compKeys, config) && hasAnyKey(nonCompKeys, config)) {\n throw new Error(`Cannot combine: ${compKeys.join(\"|\")} with: ${nonCompKeys.join(\"|\")} in stateview: '${name}@${state.name}'`);\n }\n\n config.resolveAs = config.resolveAs || '$resolve';\n config.$type = \"ng1\";\n config.$context = state;\n config.$name = name;\n\n let normalized = ViewService.normalizeUIViewTarget(config.$context, config.$name);\n config.$uiViewName = normalized.uiViewName;\n config.$uiViewContextAnchor = normalized.uiViewContextAnchor;\n\n views[name] = config;\n });\n return views;\n}\n\nlet id = 0;\nexport class Ng1ViewConfig implements ViewConfig {\n $id = id++;\n loaded: boolean = false;\n controller: Function; // actually IInjectable|string\n template: string;\n component: string;\n locals: any; // TODO: delete me\n\n constructor(public path: PathNode[], public viewDecl: Ng1ViewDeclaration, public factory: TemplateFactory) { }\n\n load() {\n let $q = services.$q;\n let context = new ResolveContext(this.path);\n let params = this.path.reduce((acc, node) => extend(acc, node.paramValues), {});\n\n let promises: any = {\n template: $q.when(this.factory.fromConfig(this.viewDecl, params, context)),\n controller: $q.when(this.getController(context))\n };\n\n return $q.all(promises).then((results) => {\n trace.traceViewServiceEvent(\"Loaded\", this);\n this.controller = results.controller;\n extend(this, results.template); // Either { template: \"tpl\" } or { component: \"cmpName\" }\n return this;\n });\n }\n\n getTemplate = (uiView, context: ResolveContext) =>\n this.component ? this.factory.makeComponentTemplate(uiView, context, this.component, this.viewDecl.bindings) : this.template;\n\n /**\n * Gets the controller for a view configuration.\n *\n * @returns {Function|Promise.} Returns a controller, or a promise that resolves to a controller.\n */\n getController(context: ResolveContext): (IInjectable|string|Promise) {\n let provider = this.viewDecl.controllerProvider;\n if (!isInjectable(provider)) return this.viewDecl.controller;\n let deps = services.$injector.annotate(provider);\n let providerFn = isArray(provider) ? tail( provider) : provider;\n let resolvable = new Resolvable(\"\", providerFn, deps);\n return resolvable.get(context);\n }\n}\n","/** @module view */\n/** for typedoc */\nimport { ng as angular } from \"./angular\";\nimport { IAugmentedJQuery } from \"angular\";\nimport {\n isArray, isDefined, isFunction, isObject, services, Obj, IInjectable, tail, kebobString, unnestR, ResolveContext,\n Resolvable, RawParams\n} from \"@uirouter/core\";\nimport { Ng1ViewDeclaration, TemplateFactoryProvider } from \"./interface\";\n\n/**\n * Service which manages loading of templates from a ViewConfig.\n */\nexport class TemplateFactory implements TemplateFactoryProvider {\n /** @hidden */ private _useHttp = angular.version.minor < 3;\n /** @hidden */ private $templateRequest;\n /** @hidden */ private $templateCache;\n /** @hidden */ private $http;\n\n /** @hidden */ $get = ['$http', '$templateCache', '$injector', ($http, $templateCache, $injector) => {\n this.$templateRequest = $injector.has && $injector.has('$templateRequest') && $injector.get('$templateRequest');\n this.$http = $http;\n this.$templateCache = $templateCache;\n return this;\n }];\n\n /** @hidden */\n useHttpService(value: boolean) {\n this._useHttp = value;\n };\n\n /**\n * Creates a template from a configuration object.\n *\n * @param config Configuration object for which to load a template.\n * The following properties are search in the specified order, and the first one\n * that is defined is used to create the template:\n *\n * @param params Parameters to pass to the template function.\n * @param context The resolve context associated with the template's view\n *\n * @return {string|object} The template html as a string, or a promise for\n * that string,or `null` if no template is configured.\n */\n fromConfig(config: Ng1ViewDeclaration, params: any, context: ResolveContext): Promise<{ template?: string, component?: string }> {\n const defaultTemplate = \"\";\n\n const asTemplate = (result) => services.$q.when(result).then(str => ({ template: str }));\n const asComponent = (result) => services.$q.when(result).then(str => ({ component: str }));\n\n return (\n isDefined(config.template) ? asTemplate(this.fromString(config.template, params)) :\n isDefined(config.templateUrl) ? asTemplate(this.fromUrl(config.templateUrl, params)) :\n isDefined(config.templateProvider) ? asTemplate(this.fromProvider(config.templateProvider, params, context)) :\n isDefined(config.component) ? asComponent(config.component) :\n isDefined(config.componentProvider) ? asComponent(this.fromComponentProvider(config.componentProvider, params, context)) :\n asTemplate(defaultTemplate)\n );\n };\n\n /**\n * Creates a template from a string or a function returning a string.\n *\n * @param template html template as a string or function that returns an html template as a string.\n * @param params Parameters to pass to the template function.\n *\n * @return {string|object} The template html as a string, or a promise for that\n * string.\n */\n fromString(template: (string | Function), params?: RawParams) {\n return isFunction(template) ? ( template)(params) : template;\n };\n\n /**\n * Loads a template from the a URL via `$http` and `$templateCache`.\n *\n * @param {string|Function} url url of the template to load, or a function\n * that returns a url.\n * @param {Object} params Parameters to pass to the url function.\n * @return {string|Promise.} The template html as a string, or a promise\n * for that string.\n */\n fromUrl(url: (string | Function), params: any) {\n if (isFunction(url)) url = ( url)(params);\n if (url == null) return null;\n\n if (this._useHttp) {\n return this.$http.get(url, { cache: this.$templateCache, headers: { Accept: 'text/html' } })\n .then(function (response) {\n return response.data;\n });\n }\n\n return this.$templateRequest(url);\n };\n\n /**\n * Creates a template by invoking an injectable provider function.\n *\n * @param provider Function to invoke via `locals`\n * @param {Function} injectFn a function used to invoke the template provider\n * @return {string|Promise.} The template html as a string, or a promise\n * for that string.\n */\n fromProvider(provider: IInjectable, params: any, context: ResolveContext) {\n let deps = services.$injector.annotate(provider);\n let providerFn = isArray(provider) ? tail( provider) : provider;\n let resolvable = new Resolvable(\"\", providerFn, deps);\n return resolvable.get(context);\n };\n\n /**\n * Creates a component's template by invoking an injectable provider function.\n *\n * @param provider Function to invoke via `locals`\n * @param {Function} injectFn a function used to invoke the template provider\n * @return {string} The template html as a string: \"\".\n */\n fromComponentProvider(provider: IInjectable, params: any, context: ResolveContext) {\n let deps = services.$injector.annotate(provider);\n let providerFn = isArray(provider) ? tail( provider) : provider;\n let resolvable = new Resolvable(\"\", providerFn, deps);\n return resolvable.get(context);\n };\n\n /**\n * Creates a template from a component's name\n *\n * This implements route-to-component.\n * It works by retrieving the component (directive) metadata from the injector.\n * It analyses the component's bindings, then constructs a template that instantiates the component.\n * The template wires input and output bindings to resolves or from the parent component.\n *\n * @param uiView {object} The parent ui-view (for binding outputs to callbacks)\n * @param context The ResolveContext (for binding outputs to callbacks returned from resolves)\n * @param component {string} Component's name in camel case.\n * @param bindings An object defining the component's bindings: {foo: '<'}\n * @return {string} The template as a string: \"\".\n */\n makeComponentTemplate(uiView: IAugmentedJQuery, context: ResolveContext, component: string, bindings?: any) {\n bindings = bindings || {};\n\n // Bind once prefix\n const prefix = angular.version.minor >= 3 ? \"::\" : \"\";\n // Convert to kebob name. Add x- prefix if the string starts with `x-` or `data-`\n const kebob = (camelCase: string) => {\n const kebobed = kebobString(camelCase);\n return /^(x|data)-/.exec(kebobed) ? `x-${kebobed}` : kebobed;\n };\n\n\n const attributeTpl = (input: BindingTuple) => {\n let { name, type } = input;\n let attrName = kebob(name);\n // If the ui-view has an attribute which matches a binding on the routed component\n // then pass that attribute through to the routed component template.\n // Prefer ui-view wired mappings to resolve data, unless the resolve was explicitly bound using `bindings:`\n if (uiView.attr(attrName) && !bindings[name])\n return `${attrName}='${uiView.attr(attrName)}'`;\n\n let resolveName = bindings[name] || name;\n // Pre-evaluate the expression for \"@\" bindings by enclosing in {{ }}\n // some-attr=\"{{ ::$resolve.someResolveName }}\"\n if (type === '@')\n return `${attrName}='{{${prefix}$resolve.${resolveName}}}'`;\n\n // Wire \"&\" callbacks to resolves that return a callback function\n // Get the result of the resolve (should be a function) and annotate it to get its arguments.\n // some-attr=\"$resolve.someResolveResultName(foo, bar)\"\n if (type === '&') {\n let res = context.getResolvable(resolveName);\n let fn = res && res.data;\n let args = fn && services.$injector.annotate(fn) || [];\n // account for array style injection, i.e., ['foo', function(foo) {}]\n let arrayIdxStr = isArray(fn) ? `[${fn.length - 1}]` : '';\n return `${attrName}='$resolve.${resolveName}${arrayIdxStr}(${args.join(\",\")})'`;\n }\n\n // some-attr=\"::$resolve.someResolveName\"\n return `${attrName}='${prefix}$resolve.${resolveName}'`;\n };\n\n let attrs = getComponentBindings(component).map(attributeTpl).join(\" \");\n let kebobName = kebob(component);\n return `<${kebobName} ${attrs}>`;\n };\n}\n\n// Gets all the directive(s)' inputs ('@', '=', and '<') and outputs ('&')\nfunction getComponentBindings(name: string) {\n let cmpDefs = services.$injector.get(name + \"Directive\"); // could be multiple\n if (!cmpDefs || !cmpDefs.length) throw new Error(`Unable to find component named '${name}'`);\n return cmpDefs.map(getBindings).reduce(unnestR, []);\n}\n\n// Given a directive definition, find its object input attributes\n// Use different properties, depending on the type of directive (component, bindToController, normal)\nconst getBindings = (def: any) => {\n if (isObject(def.bindToController)) return scopeBindings(def.bindToController);\n return scopeBindings(def.scope);\n};\n\ninterface BindingTuple {\n name: string;\n type: string;\n}\n\n// for ng 1.2 style, process the scope: { input: \"=foo\" }\n// for ng 1.3 through ng 1.5, process the component's bindToController: { input: \"=foo\" } object\nconst scopeBindings = (bindingsObj: Obj) => Object.keys(bindingsObj || {})\n // [ 'input', [ '=foo', '=', 'foo' ] ]\n .map(key => [key, /^([=<@&])[?]?(.*)/.exec(bindingsObj[key])])\n // skip malformed values\n .filter(tuple => isDefined(tuple) && isArray(tuple[1]))\n // { name: ('foo' || 'input'), type: '=' }\n .map(tuple => ({ name: tuple[1][2] || tuple[0], type: tuple[1][1] } as BindingTuple));\n\n","/** @module ng1 */ /** for typedoc */\nimport {\n val, isObject, createProxyFunctions, BuilderFunction, StateRegistry, StateService, OnInvalidCallback\n} from \"@uirouter/core\";\nimport { Ng1StateDeclaration } from \"./interface\";\n\n/**\n * The Angular 1 `StateProvider`\n *\n * The `$stateProvider` works similar to Angular's v1 router, but it focuses purely\n * on state.\n *\n * A state corresponds to a \"place\" in the application in terms of the overall UI and\n * navigation. A state describes (via the controller / template / view properties) what\n * the UI looks like and does at that place.\n *\n * States often have things in common, and the primary way of factoring out these\n * commonalities in this model is via the state hierarchy, i.e. parent/child states aka\n * nested states.\n *\n * The `$stateProvider` provides interfaces to declare these states for your app.\n */\nexport class StateProvider {\n constructor(private stateRegistry: StateRegistry, private stateService: StateService) {\n createProxyFunctions(val(StateProvider.prototype), this, val(this));\n }\n\n /**\n * Decorates states when they are registered\n *\n * Allows you to extend (carefully) or override (at your own peril) the\n * `stateBuilder` object used internally by [[StateRegistry]].\n * This can be used to add custom functionality to ui-router,\n * for example inferring templateUrl based on the state name.\n *\n * When passing only a name, it returns the current (original or decorated) builder\n * function that matches `name`.\n *\n * The builder functions that can be decorated are listed below. Though not all\n * necessarily have a good use case for decoration, that is up to you to decide.\n *\n * In addition, users can attach custom decorators, which will generate new\n * properties within the state's internal definition. There is currently no clear\n * use-case for this beyond accessing internal states (i.e. $state.$current),\n * however, expect this to become increasingly relevant as we introduce additional\n * meta-programming features.\n *\n * **Warning**: Decorators should not be interdependent because the order of\n * execution of the builder functions in non-deterministic. Builder functions\n * should only be dependent on the state definition object and super function.\n *\n *\n * Existing builder functions and current return values:\n *\n * - **parent** `{object}` - returns the parent state object.\n * - **data** `{object}` - returns state data, including any inherited data that is not\n * overridden by own values (if any).\n * - **url** `{object}` - returns a {@link ui.router.util.type:UrlMatcher UrlMatcher}\n * or `null`.\n * - **navigable** `{object}` - returns closest ancestor state that has a URL (aka is\n * navigable).\n * - **params** `{object}` - returns an array of state params that are ensured to\n * be a super-set of parent's params.\n * - **views** `{object}` - returns a views object where each key is an absolute view\n * name (i.e. \"viewName@stateName\") and each value is the config object\n * (template, controller) for the view. Even when you don't use the views object\n * explicitly on a state config, one is still created for you internally.\n * So by decorating this builder function you have access to decorating template\n * and controller properties.\n * - **ownParams** `{object}` - returns an array of params that belong to the state,\n * not including any params defined by ancestor states.\n * - **path** `{string}` - returns the full path from the root down to this state.\n * Needed for state activation.\n * - **includes** `{object}` - returns an object that includes every state that\n * would pass a `$state.includes()` test.\n *\n * #### Example:\n * Override the internal 'views' builder with a function that takes the state\n * definition, and a reference to the internal function being overridden:\n * ```js\n * $stateProvider.decorator('views', function (state, parent) {\n * let result = {},\n * views = parent(state);\n *\n * angular.forEach(views, function (config, name) {\n * let autoName = (state.name + '.' + name).replace('.', '/');\n * config.templateUrl = config.templateUrl || '/partials/' + autoName + '.html';\n * result[name] = config;\n * });\n * return result;\n * });\n *\n * $stateProvider.state('home', {\n * views: {\n * 'contact.list': { controller: 'ListController' },\n * 'contact.item': { controller: 'ItemController' }\n * }\n * });\n * ```\n *\n *\n * ```js\n * // Auto-populates list and item views with /partials/home/contact/list.html,\n * // and /partials/home/contact/item.html, respectively.\n * $state.go('home');\n * ```\n *\n * @param {string} name The name of the builder function to decorate.\n * @param {object} func A function that is responsible for decorating the original\n * builder function. The function receives two parameters:\n *\n * - `{object}` - state - The state config object.\n * - `{object}` - super - The original builder function.\n *\n * @return {object} $stateProvider - $stateProvider instance\n */\n decorator(name: string, func: BuilderFunction) {\n return this.stateRegistry.decorator(name, func) || this;\n }\n\n /**\n * Registers a state\n *\n * ### This is a passthrough to [[StateRegistry.register]].\n *\n * Registers a state configuration under a given state name.\n * The stateConfig object has the following acceptable properties.\n *\n * \n *\n * - **`template`** - {string|function=} - html template as a string or a function that returns\n * an html template as a string which should be used by the uiView directives. This property\n * takes precedence over templateUrl.\n *\n * If `template` is a function, it will be called with the following parameters:\n *\n * - {array.<object>} - state parameters extracted from the current $location.path() by\n * applying the current state\n *\n * \n *\n * - **`templateUrl`** - {string|function=} - path or function that returns a path to an html\n * template that should be used by uiView.\n *\n * If `templateUrl` is a function, it will be called with the following parameters:\n *\n * - {array.<object>} - state parameters extracted from the current $location.path() by\n * applying the current state\n *\n * \n *\n * - **`templateProvider`** - {function=} - Provider function that returns HTML content\n * string.\n *\n * \n *\n * - **`controller`** - {string|function=} - Controller fn that should be associated with newly\n * related scope or the name of a registered controller if passed as a string.\n *\n * \n *\n * - **`controllerProvider`** - {function=} - Injectable provider function that returns\n * the actual controller or string.\n *\n * \n *\n * - **`controllerAs`** – {string=} – A controller alias name. If present the controller will be\n * published to scope under the controllerAs name.\n *\n * \n *\n * - **`resolve`** - {object.<string, function>=} - An optional map of dependencies which\n * should be injected into the controller. If any of these dependencies are promises,\n * the router will wait for them all to be resolved or one to be rejected before the\n * controller is instantiated. If all the promises are resolved successfully, the values\n * of the resolved promises are injected and $stateChangeSuccess event is fired. If any\n * of the promises are rejected the $stateChangeError event is fired. The map object is:\n *\n * - key - {string}: name of dependency to be injected into controller\n * - factory - {string|function}: If string then it is alias for service. Otherwise if function,\n * it is injected and return value it treated as dependency. If result is a promise, it is\n * resolved before its value is injected into controller.\n *\n * \n *\n * - **`url`** - {string=} - A url with optional parameters. When a state is navigated or\n * transitioned to, the `$stateParams` service will be populated with any\n * parameters that were passed.\n *\n * \n *\n * - **`params`** - {object=} - An array of parameter names or regular expressions. Only\n * use this within a state if you are not using url. Otherwise you can specify your\n * parameters within the url. When a state is navigated or transitioned to, the\n * $stateParams service will be populated with any parameters that were passed.\n *\n * \n *\n * - **`views`** - {object=} - Use the views property to set up multiple views or to target views\n * manually/explicitly.\n *\n * \n *\n * - **`abstract`** - {boolean=} - An abstract state will never be directly activated,\n * but can provide inherited properties to its common children states.\n *\n * \n *\n * - **`onEnter`** - {object=} - Callback function for when a state is entered. Good way\n * to trigger an action or dispatch an event, such as opening a dialog.\n * If minifying your scripts, make sure to use the `['injection1', 'injection2', function(injection1, injection2){}]` syntax.\n *\n * \n *\n * - **`onExit`** - {object=} - Callback function for when a state is exited. Good way to\n * trigger an action or dispatch an event, such as opening a dialog.\n * If minifying your scripts, make sure to use the `['injection1', 'injection2', function(injection1, injection2){}]` syntax.\n *\n * \n *\n * - **`reloadOnSearch = true`** - {boolean=} - If `false`, will not retrigger the same state\n * just because a search/query parameter has changed (via $location.search() or $location.hash()).\n * Useful for when you'd like to modify $location.search() without triggering a reload.\n *\n * \n *\n * - **`data`** - {object=} - Arbitrary data object, useful for custom configuration.\n *\n * #### Example:\n * Some state name examples\n * ```js\n * // stateName can be a single top-level name (must be unique).\n * $stateProvider.state(\"home\", {});\n *\n * // Or it can be a nested state name. This state is a child of the\n * // above \"home\" state.\n * $stateProvider.state(\"home.newest\", {});\n *\n * // Nest states as deeply as needed.\n * $stateProvider.state(\"home.newest.abc.xyz.inception\", {});\n *\n * // state() returns $stateProvider, so you can chain state declarations.\n * $stateProvider\n * .state(\"home\", {})\n * .state(\"about\", {})\n * .state(\"contacts\", {});\n * ```\n *\n * @param {string} name A unique state name, e.g. \"home\", \"about\", \"contacts\".\n * To create a parent/child state use a dot, e.g. \"about.sales\", \"home.newest\".\n * @param {object} definition State configuration object.\n */\n state(name: string, definition: Ng1StateDeclaration): StateProvider;\n state(definition: Ng1StateDeclaration): StateProvider;\n state(name: any, definition?: any) {\n if (isObject(name)) {\n definition = name;\n } else {\n definition.name = name;\n }\n this.stateRegistry.register(definition);\n return this;\n }\n\n /**\n * Registers an invalid state handler\n *\n * This is a passthrough to [[StateService.onInvalid]] for ng1.\n */\n\n onInvalid(callback: OnInvalidCallback): Function {\n return this.stateService.onInvalid(callback);\n }\n}\n","/** @module ng1 */ /** */\nimport {\n StateObject, TransitionStateHookFn, HookResult, Transition, services, ResolveContext, extend, BuilderFunction\n} from \"@uirouter/core\";\nimport { getLocals } from \"../services\";\nimport { Ng1StateDeclaration } from '../interface';\n\n/**\n * This is a [[StateBuilder.builder]] function for angular1 `onEnter`, `onExit`,\n * `onRetain` callback hooks on a [[Ng1StateDeclaration]].\n *\n * When the [[StateBuilder]] builds a [[StateObject]] object from a raw [[StateDeclaration]], this builder\n * ensures that those hooks are injectable for @uirouter/angularjs (ng1).\n */\nexport const getStateHookBuilder = (hookName: \"onEnter\"|\"onExit\"|\"onRetain\") =>\nfunction stateHookBuilder(state: StateObject, parentFn: BuilderFunction): TransitionStateHookFn {\n let hook = state[hookName];\n let pathname = hookName === 'onExit' ? 'from' : 'to';\n\n function decoratedNg1Hook(trans: Transition, state: Ng1StateDeclaration): HookResult {\n let resolveContext = new ResolveContext(trans.treeChanges(pathname));\n let locals = extend(getLocals(resolveContext), { $state$: state, $transition$: trans });\n return services.$injector.invoke(hook, this, locals);\n }\n\n return hook ? decoratedNg1Hook : undefined;\n};\n","/**\n * @internalapi\n * @module ng1\n */ /** */\nimport { LocationConfig, LocationServices, UIRouter, ParamType } from \"@uirouter/core\";\nimport { val, createProxyFunctions, removeFrom, isObject } from \"@uirouter/core\";\nimport { ILocationService, ILocationProvider } from \"angular\";\n\n/**\n * Implements UI-Router LocationServices and LocationConfig using Angular 1's $location service\n */\nexport class Ng1LocationServices implements LocationConfig, LocationServices {\n private $locationProvider: ILocationProvider;\n private $location: ILocationService;\n private $sniffer;\n\n path;\n search;\n hash;\n hashPrefix;\n port;\n protocol;\n host;\n baseHref;\n\n // .onChange() registry\n private _urlListeners: Function[] = [];\n\n dispose() { }\n\n constructor($locationProvider: ILocationProvider) {\n this.$locationProvider = $locationProvider;\n let _lp = val($locationProvider);\n createProxyFunctions(_lp, this, _lp, ['hashPrefix']);\n }\n\n onChange(callback: Function) {\n this._urlListeners.push(callback);\n return () => removeFrom(this._urlListeners)(callback);\n }\n\n html5Mode() {\n let html5Mode: any = this.$locationProvider.html5Mode();\n html5Mode = isObject(html5Mode) ? html5Mode.enabled : html5Mode;\n return html5Mode && this.$sniffer.history;\n }\n\n url(newUrl?: string, replace = false, state?) {\n if (newUrl) this.$location.url(newUrl);\n if (replace) this.$location.replace();\n if (state) this.$location.state(state);\n return this.$location.url();\n }\n\n _runtimeServices($rootScope, $location: ILocationService, $sniffer, $browser) {\n this.$location = $location;\n this.$sniffer = $sniffer;\n\n // Bind $locationChangeSuccess to the listeners registered in LocationService.onChange\n $rootScope.$on(\"$locationChangeSuccess\", evt => this._urlListeners.forEach(fn => fn(evt)));\n let _loc = val($location);\n let _browser = val($browser);\n\n // Bind these LocationService functions to $location\n createProxyFunctions(_loc, this, _loc, [\"replace\", \"path\", \"search\", \"hash\"]);\n // Bind these LocationConfig functions to $location\n createProxyFunctions(_loc, this, _loc, ['port', 'protocol', 'host']);\n // Bind these LocationConfig functions to $browser\n createProxyFunctions(_browser, this, _browser, ['baseHref']);\n }\n\n /**\n * Applys ng1-specific path parameter encoding\n *\n * The Angular 1 `$location` service is a bit weird.\n * It doesn't allow slashes to be encoded/decoded bi-directionally.\n *\n * See the writeup at https://github.com/angular-ui/ui-router/issues/2598\n *\n * This code patches the `path` parameter type so it encoded/decodes slashes as ~2F\n *\n * @param router\n */\n static monkeyPatchPathParameterType(router: UIRouter) {\n let pathType: ParamType = router.urlMatcherFactory.type('path');\n\n pathType.encode = (val: any) =>\n val != null ? val.toString().replace(/(~|\\/)/g, m => ({ '~': '~~', '/': '~2F' }[m])) : val;\n\n pathType.decode = (val: string) =>\n val != null ? val.toString().replace(/(~~|~2F)/g, m => ({ '~~': '~', '~2F': '/' }[m])) : val;\n\n }\n}\n","/** @module url */ /** */\nimport {\n UIRouter, UrlRouter, LocationServices, $InjectorLike, BaseUrlRule, UrlRuleHandlerFn, UrlMatcher,\n IInjectable\n} from \"@uirouter/core\";\nimport { services, isString, isFunction, isArray, identity } from \"@uirouter/core\";\n\nexport interface RawNg1RuleFunction {\n ($injector: $InjectorLike, $location: LocationServices): string|void;\n}\n\n/**\n * Manages rules for client-side URL\n *\n * ### Deprecation warning:\n * This class is now considered to be an internal API\n * Use the [[UrlService]] instead.\n * For configuring URL rules, use the [[UrlRulesApi]] which can be found as [[UrlService.rules]].\n *\n * This class manages the router rules for what to do when the URL changes.\n *\n * This provider remains for backwards compatibility.\n *\n * @deprecated\n */\nexport class UrlRouterProvider {\n /** @hidden */ _router: UIRouter;\n /** @hidden */ _urlRouter: UrlRouter;\n\n /** @hidden */\n constructor(router: UIRouter) {\n this._router = router;\n this._urlRouter = router.urlRouter;\n }\n\n /** @hidden */\n $get() {\n let urlRouter = this._urlRouter;\n urlRouter.update(true);\n if (!urlRouter.interceptDeferred) urlRouter.listen();\n return urlRouter;\n }\n\n /**\n * Registers a url handler function.\n *\n * Registers a low level url handler (a `rule`).\n * A rule detects specific URL patterns and returns a redirect, or performs some action.\n *\n * If a rule returns a string, the URL is replaced with the string, and all rules are fired again.\n *\n * #### Example:\n * ```js\n * var app = angular.module('app', ['ui.router.router']);\n *\n * app.config(function ($urlRouterProvider) {\n * // Here's an example of how you might allow case insensitive urls\n * $urlRouterProvider.rule(function ($injector, $location) {\n * var path = $location.path(),\n * normalized = path.toLowerCase();\n *\n * if (path !== normalized) {\n * return normalized;\n * }\n * });\n * });\n * ```\n *\n * @param ruleFn\n * Handler function that takes `$injector` and `$location` services as arguments.\n * You can use them to detect a url and return a different url as a string.\n *\n * @return [[UrlRouterProvider]] (`this`)\n */\n rule(ruleFn: RawNg1RuleFunction): UrlRouterProvider {\n if (!isFunction(ruleFn)) throw new Error(\"'rule' must be a function\");\n\n const match = () =>\n ruleFn(services.$injector, this._router.locationService);\n\n let rule = new BaseUrlRule(match, identity);\n this._urlRouter.rule(rule);\n return this;\n };\n\n /**\n * Defines the path or behavior to use when no url can be matched.\n *\n * #### Example:\n * ```js\n * var app = angular.module('app', ['ui.router.router']);\n *\n * app.config(function ($urlRouterProvider) {\n * // if the path doesn't match any of the urls you configured\n * // otherwise will take care of routing the user to the\n * // specified url\n * $urlRouterProvider.otherwise('/index');\n *\n * // Example of using function rule as param\n * $urlRouterProvider.otherwise(function ($injector, $location) {\n * return '/a/valid/url';\n * });\n * });\n * ```\n *\n * @param rule\n * The url path you want to redirect to or a function rule that returns the url path or performs a `$state.go()`.\n * The function version is passed two params: `$injector` and `$location` services, and should return a url string.\n *\n * @return {object} `$urlRouterProvider` - `$urlRouterProvider` instance\n */\n otherwise(rule: string | RawNg1RuleFunction): UrlRouterProvider {\n let urlRouter = this._urlRouter;\n\n if (isString(rule)) {\n urlRouter.otherwise(rule);\n } else if (isFunction(rule)) {\n urlRouter.otherwise(() => rule(services.$injector, this._router.locationService));\n } else {\n throw new Error(\"'rule' must be a string or function\");\n }\n\n return this;\n };\n\n /**\n * Registers a handler for a given url matching.\n *\n * If the handler is a string, it is\n * treated as a redirect, and is interpolated according to the syntax of match\n * (i.e. like `String.replace()` for `RegExp`, or like a `UrlMatcher` pattern otherwise).\n *\n * If the handler is a function, it is injectable.\n * It gets invoked if `$location` matches.\n * You have the option of inject the match object as `$match`.\n *\n * The handler can return\n *\n * - **falsy** to indicate that the rule didn't match after all, then `$urlRouter`\n * will continue trying to find another one that matches.\n * - **string** which is treated as a redirect and passed to `$location.url()`\n * - **void** or any **truthy** value tells `$urlRouter` that the url was handled.\n *\n * #### Example:\n * ```js\n * var app = angular.module('app', ['ui.router.router']);\n *\n * app.config(function ($urlRouterProvider) {\n * $urlRouterProvider.when($state.url, function ($match, $stateParams) {\n * if ($state.$current.navigable !== state ||\n * !equalForKeys($match, $stateParams) {\n * $state.transitionTo(state, $match, false);\n * }\n * });\n * });\n * ```\n *\n * @param what A pattern string to match, compiled as a [[UrlMatcher]].\n * @param handler The path (or function that returns a path) that you want to redirect your user to.\n * @param ruleCallback [optional] A callback that receives the `rule` registered with [[UrlMatcher.rule]]\n *\n * Note: the handler may also invoke arbitrary code, such as `$state.go()`\n */\n when(what: (RegExp|UrlMatcher|string), handler: string|IInjectable) {\n if (isArray(handler) || isFunction(handler)) {\n handler = UrlRouterProvider.injectableHandler(this._router, handler);\n }\n\n this._urlRouter.when(what, handler as any);\n return this;\n };\n\n static injectableHandler(router: UIRouter, handler): UrlRuleHandlerFn {\n return match =>\n services.$injector.invoke(handler, null, { $match: match, $stateParams: router.globals.params });\n }\n\n /**\n * Disables monitoring of the URL.\n *\n * Call this method before UI-Router has bootstrapped.\n * It will stop UI-Router from performing the initial url sync.\n *\n * This can be useful to perform some asynchronous initialization before the router starts.\n * Once the initialization is complete, call [[listen]] to tell UI-Router to start watching and synchronizing the URL.\n *\n * #### Example:\n * ```js\n * var app = angular.module('app', ['ui.router']);\n *\n * app.config(function ($urlRouterProvider) {\n * // Prevent $urlRouter from automatically intercepting URL changes;\n * $urlRouterProvider.deferIntercept();\n * })\n *\n * app.run(function (MyService, $urlRouter, $http) {\n * $http.get(\"/stuff\").then(function(resp) {\n * MyService.doStuff(resp.data);\n * $urlRouter.listen();\n * $urlRouter.sync();\n * });\n * });\n * ```\n *\n * @param defer Indicates whether to defer location change interception.\n * Passing no parameter is equivalent to `true`.\n */\n deferIntercept(defer?: boolean) {\n this._urlRouter.deferIntercept(defer);\n };\n}\n","/**\n * # Angular 1 types\n *\n * UI-Router core provides various Typescript types which you can use for code completion and validating parameter values, etc.\n * The customizations to the core types for Angular UI-Router are documented here.\n *\n * The optional [[$resolve]] service is also documented here.\n *\n * @module ng1\n * @preferred\n */\n/** for typedoc */\nimport { ng as angular } from \"./angular\";\nimport {\n IRootScopeService, IQService, ILocationService, ILocationProvider, IHttpService, ITemplateCacheService\n} from \"angular\";\nimport {\n services, applyPairs, isString, trace, extend, UIRouter, StateService, UrlRouter, UrlMatcherFactory, ResolveContext,\n unnestR, TypedMap\n} from \"@uirouter/core\";\nimport { ng1ViewsBuilder, getNg1ViewConfigFactory } from \"./statebuilders/views\";\nimport { TemplateFactory } from \"./templateFactory\";\nimport { StateProvider } from \"./stateProvider\";\nimport { getStateHookBuilder } from \"./statebuilders/onEnterExitRetain\";\nimport { Ng1LocationServices } from \"./locationServices\";\nimport { UrlRouterProvider } from \"./urlRouterProvider\";\nimport IInjectorService = angular.auto.IInjectorService; // tslint:disable-line\n\nangular.module(\"ui.router.angular1\", []);\nlet mod_init = angular.module('ui.router.init', []);\nlet mod_util = angular.module('ui.router.util', ['ng', 'ui.router.init']);\nlet mod_rtr = angular.module('ui.router.router', ['ui.router.util']);\nlet mod_state = angular.module('ui.router.state', ['ui.router.router', 'ui.router.util', 'ui.router.angular1']);\nlet mod_main = angular.module('ui.router', ['ui.router.init', 'ui.router.state', 'ui.router.angular1']);\nlet mod_cmpt = angular.module('ui.router.compat', ['ui.router']); // tslint:disable-line\n\ndeclare module '@uirouter/core/lib/router' {\n interface UIRouter {\n /** @hidden */\n stateProvider: StateProvider;\n /** @hidden */\n urlRouterProvider: UrlRouterProvider;\n }\n}\n\nlet router: UIRouter = null;\n\n$uiRouter.$inject = ['$locationProvider'];\n/** This angular 1 provider instantiates a Router and exposes its services via the angular injector */\nfunction $uiRouter($locationProvider: ILocationProvider) {\n\n // Create a new instance of the Router when the $uiRouterProvider is initialized\n router = this.router = new UIRouter();\n router.stateProvider = new StateProvider(router.stateRegistry, router.stateService);\n\n // Apply ng1 specific StateBuilder code for `views`, `resolve`, and `onExit/Retain/Enter` properties\n router.stateRegistry.decorator(\"views\", ng1ViewsBuilder);\n router.stateRegistry.decorator(\"onExit\", getStateHookBuilder(\"onExit\"));\n router.stateRegistry.decorator(\"onRetain\", getStateHookBuilder(\"onRetain\"));\n router.stateRegistry.decorator(\"onEnter\", getStateHookBuilder(\"onEnter\"));\n\n router.viewService._pluginapi._viewConfigFactory('ng1', getNg1ViewConfigFactory());\n\n let ng1LocationService = router.locationService = router.locationConfig = new Ng1LocationServices($locationProvider);\n\n Ng1LocationServices.monkeyPatchPathParameterType(router);\n\n // backwards compat: also expose router instance as $uiRouterProvider.router\n router['router'] = router;\n router['$get'] = $get;\n $get.$inject = ['$location', '$browser', '$sniffer', '$rootScope', '$http', '$templateCache'];\n function $get($location: ILocationService, $browser: any, $sniffer: any, $rootScope: ng.IScope, $http: IHttpService, $templateCache: ITemplateCacheService) {\n ng1LocationService._runtimeServices($rootScope, $location, $sniffer, $browser);\n delete router['router'];\n delete router['$get'];\n return router;\n }\n return router;\n}\n\nconst getProviderFor = (serviceName) => [ '$uiRouterProvider', ($urp) => {\n let service = $urp.router[serviceName];\n service[\"$get\"] = () => service;\n return service;\n}];\n\n// This effectively calls $get() on `$uiRouterProvider` to trigger init (when ng enters runtime)\nrunBlock.$inject = ['$injector', '$q', '$uiRouter'];\nfunction runBlock($injector: IInjectorService, $q: IQService, $uiRouter: UIRouter) {\n services.$injector = $injector;\n services.$q = $q;\n\n // The $injector is now available.\n // Find any resolvables that had dependency annotation deferred\n $uiRouter.stateRegistry.get()\n .map(x => x.$$state().resolvables)\n .reduce(unnestR, [])\n .filter(x => x.deps === \"deferred\")\n .forEach(resolvable => resolvable.deps = $injector.annotate(resolvable.resolveFn, $injector.strictDi));\n}\n\n// $urlRouter service and $urlRouterProvider\nconst getUrlRouterProvider = (uiRouter: UIRouter) =>\n uiRouter.urlRouterProvider = new UrlRouterProvider(uiRouter);\n\n// $state service and $stateProvider\n// $urlRouter service and $urlRouterProvider\nconst getStateProvider = () =>\n extend(router.stateProvider, { $get: () => router.stateService });\n\nwatchDigests.$inject = ['$rootScope'];\nexport function watchDigests($rootScope: IRootScopeService) {\n $rootScope.$watch(function() { trace.approximateDigests++; });\n}\n\nmod_init .provider(\"$uiRouter\", $uiRouter);\nmod_rtr .provider('$urlRouter', ['$uiRouterProvider', getUrlRouterProvider]);\nmod_util .provider('$urlService', getProviderFor('urlService'));\nmod_util .provider('$urlMatcherFactory', ['$uiRouterProvider', () => router.urlMatcherFactory]);\nmod_util .provider('$templateFactory', () => new TemplateFactory());\nmod_state.provider('$stateRegistry', getProviderFor('stateRegistry'));\nmod_state.provider('$uiRouterGlobals', getProviderFor('globals'));\nmod_state.provider('$transitions', getProviderFor('transitionService'));\nmod_state.provider('$state', ['$uiRouterProvider', getStateProvider]);\n\nmod_state.factory ('$stateParams', ['$uiRouter', ($uiRouter: UIRouter) => $uiRouter.globals.params]);\nmod_main .factory ('$view', () => router.viewService);\nmod_main .service (\"$trace\", () => trace);\n\nmod_main .run (watchDigests);\nmod_util .run (['$urlMatcherFactory', function ($urlMatcherFactory: UrlMatcherFactory) { }]);\nmod_state.run (['$state', function ($state: StateService) { }]);\nmod_rtr .run (['$urlRouter', function ($urlRouter: UrlRouter) { }]);\nmod_init .run (runBlock);\n\n/** @hidden TODO: find a place to move this */\nexport const getLocals = (ctx: ResolveContext): TypedMap => {\n let tokens = ctx.getTokens().filter(isString);\n\n let tuples = tokens .map(key => {\n let resolvable = ctx.getResolvable(key);\n let waitPolicy = ctx.getPolicy(resolvable).async;\n return [ key, waitPolicy === 'NOWAIT' ? resolvable.promise : resolvable.data ];\n });\n\n return tuples.reduce(applyPairs, {});\n};\n\n","/**\n * # Angular 1 injectable services\n *\n * This is a list of the objects which can be injected using angular's injector.\n *\n * There are three different kind of injectable objects:\n *\n * ## **Provider** objects\n * #### injectable into a `.config()` block during configtime\n *\n * - [[$uiRouterProvider]]: The UI-Router instance\n * - [[$stateProvider]]: State registration\n * - [[$transitionsProvider]]: Transition hooks\n * - [[$urlServiceProvider]]: All URL related public APIs\n *\n * - [[$uiViewScrollProvider]]: Disable ui-router view scrolling\n * - [[$urlRouterProvider]]: (deprecated) Url matching rules\n * - [[$urlMatcherFactoryProvider]]: (deprecated) Url parsing config\n *\n * ## **Service** objects\n * #### injectable globally during runtime\n *\n * - [[$uiRouter]]: The UI-Router instance\n * - [[$trace]]: Enable transition trace/debug\n * - [[$transitions]]: Transition hooks\n * - [[$state]]: Imperative state related APIs\n * - [[$stateRegistry]]: State registration\n * - [[$urlService]]: All URL related public APIs\n * - [[$uiRouterGlobals]]: Global variables\n * - [[$uiViewScroll]]: Scroll an element into view\n *\n * - [[$stateParams]]: (deprecated) Global state param values\n * - [[$urlRouter]]: (deprecated) URL synchronization\n * - [[$urlMatcherFactory]]: (deprecated) URL parsing config\n *\n * ## **Per-Transition** objects\n *\n * - These kind of objects are injectable into:\n * - Resolves ([[Ng1StateDeclaration.resolve]]),\n * - Transition Hooks ([[TransitionService.onStart]], etc),\n * - Routed Controllers ([[Ng1ViewDeclaration.controller]])\n *\n * #### Different instances are injected based on the [[Transition]]\n *\n * - [[$transition$]]: The current Transition object\n * - [[$stateParams]]: State param values for pending Transition (deprecated)\n * - Any resolve data defined using [[Ng1StateDeclaration.resolve]]\n *\n * @ng1api\n * @preferred\n * @module injectables\n */ /** */\n\nimport { StateProvider } from \"./stateProvider\";\nimport {\n StateService, TransitionService, Transition, UrlRouter, UrlMatcherFactory,\n StateParams, StateRegistry, UIRouterGlobals, UIRouter, Trace, UrlService\n} from \"@uirouter/core\";\nimport { UIViewScrollProvider } from \"./viewScroll\";\nimport { UrlRouterProvider } from \"./urlRouterProvider\";\n\n/**\n * The current (or pending) State Parameters\n *\n * An injectable global **Service Object** which holds the state parameters for the latest **SUCCESSFUL** transition.\n *\n * The values are not updated until *after* a `Transition` successfully completes.\n *\n * **Also:** an injectable **Per-Transition Object** object which holds the pending state parameters for the pending `Transition` currently running.\n *\n * ### Deprecation warning:\n *\n * The value injected for `$stateParams` is different depending on where it is injected.\n *\n * - When injected into an angular service, the object injected is the global **Service Object** with the parameter values for the latest successful `Transition`.\n * - When injected into transition hooks, resolves, or view controllers, the object is the **Per-Transition Object** with the parameter values for the running `Transition`.\n *\n * Because of these confusing details, this service is deprecated.\n *\n * ### Instead of using the global `$stateParams` service object,\n * inject [[$uiRouterGlobals]] and use [[UIRouterGlobals.params]]\n *\n * ```js\n * MyService.$inject = ['$uiRouterGlobals'];\n * function MyService($uiRouterGlobals) {\n * return {\n * paramValues: function () {\n * return $uiRouterGlobals.params;\n * }\n * }\n * }\n * ```\n *\n * ### Instead of using the per-transition `$stateParams` object,\n * inject the current `Transition` (as [[$transition$]]) and use [[Transition.params]]\n *\n * ```js\n * MyController.$inject = ['$transition$'];\n * function MyController($transition$) {\n * var username = $transition$.params().username;\n * // .. do something with username\n * }\n * ```\n *\n * ---\n *\n * This object can be injected into other services.\n *\n * #### Deprecated Example:\n * ```js\n * SomeService.$inject = ['$http', '$stateParams'];\n * function SomeService($http, $stateParams) {\n * return {\n * getUser: function() {\n * return $http.get('/api/users/' + $stateParams.username);\n * }\n * }\n * };\n * angular.service('SomeService', SomeService);\n * ```\n * @deprecated\n */\nvar $stateParams: StateParams;\n\n/**\n * Global UI-Router variables\n *\n * The router global state as a **Service Object** (injectable during runtime).\n *\n * This object contains globals such as the current state and current parameter values.\n */\nvar $uiRouterGlobals: UIRouterGlobals;\n\n/**\n * The UI-Router instance\n *\n * The [[UIRouter]] singleton (the router instance) as a **Service Object** (injectable during runtime).\n *\n * This object is the UI-Router singleton instance, created by angular dependency injection during application bootstrap.\n * It has references to the other UI-Router services\n *\n * #### Note: This object is also exposed as [[$uiRouterProvider]] for injection during angular config time.\n */\nlet $uiRouter: UIRouter ;\n\n/**\n * The UI-Router instance\n *\n * The [[UIRouter]] singleton (the router instance) as a **Provider Object** (injectable during config phase).\n *\n * This object is the UI-Router singleton instance, created by angular dependency injection during application bootstrap.\n * It has references to the other UI-Router services\n *\n * #### Note: This object is also exposed as [[$uiRouter]] for injection during runtime.\n */\nvar $uiRouterProvider: UIRouter;\n\n/**\n * Transition debug/tracing\n *\n * The [[Trace]] singleton as a **Service Object** (injectable during runtime).\n *\n * Enables or disables Transition tracing which can help to debug issues.\n */\nvar $trace: Trace;\n\n/**\n * The Transition Service\n *\n * The [[TransitionService]] singleton as a **Service Object** (injectable during runtime).\n *\n * This angular service exposes the [[TransitionService]] singleton, which is primarily\n * used to register global transition hooks.\n *\n * #### Note: This object is also exposed as [[$transitionsProvider]] for injection during the config phase.\n */\nvar $transitions: TransitionService;\n\n/**\n * The Transition Service\n *\n * The [[TransitionService]] singleton as a **Provider Object** (injectable during config phase)\n *\n * This angular service exposes the [[TransitionService]] singleton, which is primarily\n * used to register global transition hooks.\n *\n * #### Note: This object is also exposed as [[$transitions]] for injection during runtime.\n */\nvar $transitionsProvider: TransitionService;\n\n/**\n * The current [[Transition]] object\n *\n * The current [[Transition]] object as a **Per-Transition Object** (injectable into Resolve, Hooks, Controllers)\n *\n * This object returns information about the current transition, including:\n *\n * - To/from states\n * - To/from parameters\n * - Transition options\n * - States being entered, exited, and retained\n * - Resolve data\n * - A Promise for the transition\n * - Any transition failure information\n * - An injector for both Service and Per-Transition Objects\n */\nvar $transition$: Transition;\n\n/**\n * The State Service\n *\n * The [[StateService]] singleton as a **Service Object** (injectable during runtime).\n *\n * This service used to manage and query information on registered states.\n * It exposes state related APIs including:\n *\n * - Start a [[Transition]]\n * - Imperatively lazy load states\n * - Check if a state is currently active\n * - Look up states by name\n * - Build URLs for a state+parameters\n * - Configure the global Transition error handler\n *\n * This angular service exposes the [[StateService]] singleton.\n */\nvar $state: StateService;\n\n/**\n * The State Registry\n *\n * The [[StateRegistry]] singleton as a **Service Object** (injectable during runtime).\n *\n * This service is used to register/deregister states.\n * It has state registration related APIs including:\n *\n * - Register/deregister states\n * - Listen for state registration/deregistration\n * - Get states by name\n * - Add state decorators (to customize the state creation process)\n *\n * #### Note: This object is also exposed as [[$stateRegistryProvider]] for injection during the config phase.\n */\nvar $stateRegistry: StateRegistry;\n\n/**\n * The State Registry\n *\n * The [[StateRegistry]] singleton as a **Provider Object** (injectable during config time).\n *\n * This service is used to register/deregister states.\n * It has state registration related APIs including:\n *\n * - Register/deregister states\n * - Listen for state registration/deregistration\n * - Get states by name\n * - Add state decorators (to customize the state creation process)\n *\n * #### Note: This object is also exposed as [[$stateRegistry]] for injection during runtime.\n */\nvar $stateRegistryProvider: StateRegistry;\n\n/**\n * The View Scroll provider\n *\n * The [[UIViewScrollProvider]] as a **Provider Object** (injectable during config time).\n *\n * This angular service exposes the [[UIViewScrollProvider]] singleton and is\n * used to disable UI-Router's scroll behavior.\n */\nvar $uiViewScrollProvider: UIViewScrollProvider;\n\n/**\n * The View Scroll function\n *\n * The View Scroll function as a **Service Object** (injectable during runtime).\n *\n * This is a function that scrolls an element into view.\n * The element is scrolled after a `$timeout` so the DOM has time to refresh.\n *\n * If you prefer to rely on `$anchorScroll` to scroll the view to the anchor,\n * this can be enabled by calling [[UIViewScrollProvider.useAnchorScroll]].\n *\n * Note: this function is used by the [[directives.uiView]] when the `autoscroll` expression evaluates to true.\n */\nvar $uiViewScroll: ($element: JQuery) => void;\n\n/**\n * The StateProvider\n *\n * An angular1-only [[StateProvider]] as a **Provider Object** (injectable during config time).\n *\n * This angular service exposes the [[StateProvider]] singleton.\n *\n * The `StateProvider` is primarily used to register states or add custom state decorators.\n *\n * ##### Note: This provider is a ng1 vestige.\n * It is a passthrough to [[$stateRegistry]] and [[$state]].\n */\nvar $stateProvider: StateProvider;\n\n/**\n * The URL Service Provider\n *\n * The [[UrlService]] singleton as a **Provider Object** (injectable during the angular config phase).\n *\n * A service used to configure and interact with the URL.\n * It has URL related APIs including:\n *\n * - register custom Parameter types `UrlService.config.type` ([[UrlConfigApi.type]])\n * - add URL rules: `UrlService.rules.when` ([[UrlRulesApi.when]])\n * - configure behavior when no url matches: `UrlService.rules.otherwise` ([[UrlRulesApi.otherwise]])\n * - delay initial URL synchronization [[UrlService.deferIntercept]].\n * - get or set the current url: [[UrlService.url]]\n *\n * ##### Note: This service can also be injected during runtime as [[$urlService]].\n */\nvar $urlServiceProvider: UrlService;\n\n/**\n * The URL Service\n *\n * The [[UrlService]] singleton as a **Service Object** (injectable during runtime).\n *\n * Note: This service can also be injected during the config phase as [[$urlServiceProvider]].\n *\n * Used to configure the URL.\n * It has URL related APIs including:\n *\n * - register custom Parameter types `UrlService.config.type` ([[UrlConfigApi.type]])\n * - add URL rules: `UrlService.rules.when` ([[UrlRulesApi.when]])\n * - configure behavior when no url matches: `UrlService.rules.otherwise` ([[UrlRulesApi.otherwise]])\n * - delay initial URL synchronization [[UrlService.deferIntercept]].\n * - get or set the current url: [[UrlService.url]]\n *\n * ##### Note: This service can also be injected during the config phase as [[$urlServiceProvider]].\n */\nvar $urlService: UrlService;\n\n/**\n * The URL Router Provider\n *\n * ### Deprecation warning: This object is now considered internal. Use [[$urlServiceProvider]] instead.\n *\n * The [[UrlRouter]] singleton as a **Provider Object** (injectable during config time).\n *\n * #### Note: This object is also exposed as [[$urlRouter]] for injection during runtime.\n *\n * @deprecated\n */\nvar $urlRouterProvider: UrlRouterProvider;\n\n/**\n * The Url Router\n *\n * ### Deprecation warning: This object is now considered internal. Use [[$urlService]] instead.\n *\n * The [[UrlRouter]] singleton as a **Service Object** (injectable during runtime).\n *\n * #### Note: This object is also exposed as [[$urlRouterProvider]] for injection during angular config time.\n *\n * @deprecated\n */\nvar $urlRouter: UrlRouter;\n\n/**\n * The URL Matcher Factory\n *\n * ### Deprecation warning: This object is now considered internal. Use [[$urlService]] instead.\n *\n * The [[UrlMatcherFactory]] singleton as a **Service Object** (injectable during runtime).\n *\n * This service is used to set url mapping options, define custom parameter types, and create [[UrlMatcher]] objects.\n *\n * #### Note: This object is also exposed as [[$urlMatcherFactoryProvider]] for injection during angular config time.\n *\n * @deprecated\n */\nvar $urlMatcherFactory: UrlMatcherFactory;\n\n/**\n * The URL Matcher Factory\n *\n * ### Deprecation warning: This object is now considered internal. Use [[$urlService]] instead.\n *\n * The [[UrlMatcherFactory]] singleton as a **Provider Object** (injectable during config time).\n *\n * This service is used to set url mapping options, define custom parameter types, and create [[UrlMatcher]] objects.\n *\n * #### Note: This object is also exposed as [[$urlMatcherFactory]] for injection during runtime.\n *\n * @deprecated\n */\nvar $urlMatcherFactoryProvider: UrlMatcherFactory;\n\n\n\n","/**\n * # Angular 1 Directives\n *\n * These are the directives included in UI-Router for Angular 1.\n * These directives are used in templates to create viewports and link/navigate to states.\n *\n * @ng1api\n * @preferred\n * @module directives\n */ /** for typedoc */\nimport { ng as angular } from \"../angular\";\nimport { IAugmentedJQuery, ITimeoutService, IScope, IInterpolateService } from \"angular\";\n\nimport {\n Obj, extend, forEach, tail, isString, isObject, isArray, parse, noop, unnestR, identity, uniqR, inArray, removeFrom,\n RawParams, PathNode, StateOrName, StateService, StateDeclaration, UIRouter\n} from \"@uirouter/core\";\nimport { UIViewData } from \"./viewDirective\";\n\n/** @hidden Used for typedoc */\nexport interface ng1_directive {}\n\n/** @hidden */\nfunction parseStateRef(ref: string) {\n let paramsOnly = ref.match(/^\\s*({[^}]*})\\s*$/), parsed;\n if (paramsOnly) ref = '(' + paramsOnly[1] + ')';\n\n parsed = ref.replace(/\\n/g, \" \").match(/^\\s*([^(]*?)\\s*(\\((.*)\\))?\\s*$/);\n if (!parsed || parsed.length !== 4) throw new Error(\"Invalid state ref '\" + ref + \"'\");\n return { state: parsed[1] || null, paramExpr: parsed[3] || null };\n}\n\n/** @hidden */\nfunction stateContext(el: IAugmentedJQuery) {\n let $uiView: UIViewData = (el.parent() as IAugmentedJQuery).inheritedData('$uiView');\n let path: PathNode[] = parse('$cfg.path')($uiView);\n return path ? tail(path).state.name : undefined;\n}\n\n/** @hidden */\nfunction processedDef($state: StateService, $element: IAugmentedJQuery, def: Def): Def {\n let uiState = def.uiState || $state.current.name;\n let uiStateOpts = extend(defaultOpts($element, $state), def.uiStateOpts || {});\n let href = $state.href(uiState, def.uiStateParams, uiStateOpts);\n return { uiState, uiStateParams: def.uiStateParams, uiStateOpts, href };\n}\n\n/** @hidden */\ninterface TypeInfo {\n attr: string;\n isAnchor: boolean;\n clickable: boolean;\n}\n\n/** @hidden */\nfunction getTypeInfo(el: IAugmentedJQuery): TypeInfo {\n // SVGAElement does not use the href attribute, but rather the 'xlinkHref' attribute.\n var isSvg = Object.prototype.toString.call(el.prop('href')) === '[object SVGAnimatedString]';\n var isForm = el[0].nodeName === \"FORM\";\n\n return {\n attr: isForm ? \"action\" : (isSvg ? 'xlink:href' : 'href'),\n isAnchor: el.prop(\"tagName\").toUpperCase() === \"A\",\n clickable: !isForm\n };\n}\n\n/** @hidden */\nfunction clickHook(el: IAugmentedJQuery, $state: StateService, $timeout: ITimeoutService, type: TypeInfo, getDef: () => Def) {\n return function (e: JQueryMouseEventObject) {\n var button = e.which || e.button, target = getDef();\n\n if (!(button > 1 || e.ctrlKey || e.metaKey || e.shiftKey || el.attr('target'))) {\n // HACK: This is to allow ng-clicks to be processed before the transition is initiated:\n var transition = $timeout(function () {\n $state.go(target.uiState, target.uiStateParams, target.uiStateOpts);\n });\n e.preventDefault();\n\n // if the state has no URL, ignore one preventDefault from the directive.\n var ignorePreventDefaultCount = type.isAnchor && !target.href ? 1 : 0;\n\n e.preventDefault = function () {\n if (ignorePreventDefaultCount-- <= 0) $timeout.cancel(transition);\n };\n }\n };\n}\n\n/** @hidden */\nfunction defaultOpts(el: IAugmentedJQuery, $state: StateService) {\n return {\n relative: stateContext(el) || $state.$current,\n inherit: true,\n source: \"sref\"\n };\n}\n\n/** @hidden */\nfunction bindEvents(element: IAugmentedJQuery, scope: IScope, hookFn: (e: JQueryMouseEventObject) => void, uiStateOpts: any): void {\n let events;\n\n if (uiStateOpts) {\n events = uiStateOpts.events;\n }\n\n if (!isArray(events)) {\n events = ['click'];\n }\n\n let on = element.on ? 'on' : 'bind';\n for (let event of events) {\n element[on](event, hookFn);\n }\n\n scope.$on('$destroy', function() {\n let off = element.off ? 'off' : 'unbind';\n for (let event of events) {\n element[off](event, hookFn);\n }\n });\n}\n\n/**\n * `ui-sref`: A directive for linking to a state\n *\n * A directive which links to a state (and optionally, parameters).\n * When clicked, this directive activates the linked state with the supplied parameter values.\n *\n * ### Linked State\n * The attribute value of the `ui-sref` is the name of the state to link to.\n *\n * #### Example:\n * This will activate the `home` state when the link is clicked.\n * ```html\n * Home\n * ```\n *\n * ### Relative Links\n * You can also use relative state paths within `ui-sref`, just like a relative path passed to `$state.go()` ([[StateService.go]]).\n * You just need to be aware that the path is relative to the state that *created* the link.\n * This allows a state to create a relative `ui-sref` which always targets the same destination.\n *\n * #### Example:\n * Both these links are relative to the parent state, even when a child state is currently active.\n * ```html\n * child 1 state\n * child 2 state\n * ```\n *\n * This link activates the parent state.\n * ```html\n * Return\n * ```\n *\n * ### hrefs\n * If the linked state has a URL, the directive will automatically generate and\n * update the `href` attribute (using the [[StateService.href]] method).\n *\n * #### Example:\n * Assuming the `users` state has a url of `/users/`\n * ```html\n * Users\n * ```\n *\n * ### Parameter Values\n * In addition to the state name, a `ui-sref` can include parameter values which are applied when activating the state.\n * Param values can be provided in the `ui-sref` value after the state name, enclosed by parentheses.\n * The content inside the parentheses is an expression, evaluated to the parameter values.\n *\n * #### Example:\n * This example renders a list of links to users.\n * The state's `userId` parameter value comes from each user's `user.id` property.\n * ```html\n *
  • \n * {{ user.displayName }}\n *
  • \n * ```\n *\n * Note:\n * The parameter values expression is `$watch`ed for updates.\n *\n * ### Transition Options\n * You can specify [[TransitionOptions]] to pass to [[StateService.go]] by using the `ui-sref-opts` attribute.\n * Options are restricted to `location`, `inherit`, and `reload`.\n *\n * #### Example:\n * ```html\n * Home\n * ```\n *\n * ### Other DOM Events\n *\n * You can also customize which DOM events to respond to (instead of `click`) by\n * providing an `events` array in the `ui-sref-opts` attribute.\n *\n * #### Example:\n * ```html\n * \n * ```\n *\n * ### Highlighting the active link\n * This directive can be used in conjunction with [[uiSrefActive]] to highlight the active link.\n *\n * ### Examples\n * If you have the following template:\n *\n * ```html\n * Home\n * About\n * Next page\n *\n * \n * ```\n *\n * Then (assuming the current state is `contacts`) the rendered html including hrefs would be:\n *\n * ```html\n * Home\n * About\n * Next page\n *\n *
      \n *
    • \n * Joe\n *
    • \n *
    • \n * Alice\n *
    • \n *
    • \n * Bob\n *
    • \n *
    \n *\n * Home\n * ```\n *\n * ### Notes\n *\n * - You can use `ui-sref` to change **only the parameter values** by omitting the state name and parentheses.\n * #### Example:\n * Sets the `lang` parameter to `en` and remains on the same state.\n *\n * ```html\n * English\n * ```\n *\n * - A middle-click, right-click, or ctrl-click is handled (natively) by the browser to open the href in a new window, for example.\n *\n * - Unlike the parameter values expression, the state name is not `$watch`ed (for performance reasons).\n * If you need to dynamically update the state being linked to, use the fully dynamic [[uiState]] directive.\n */\nlet uiSref: ng1_directive;\nuiSref = ['$uiRouter', '$timeout',\n function $StateRefDirective($uiRouter: UIRouter, $timeout: ITimeoutService) {\n let $state = $uiRouter.stateService;\n\n return {\n restrict: 'A',\n require: ['?^uiSrefActive', '?^uiSrefActiveEq'],\n link: function (scope: IScope, element: IAugmentedJQuery, attrs: any, uiSrefActive: any) {\n let type = getTypeInfo(element);\n let active = uiSrefActive[1] || uiSrefActive[0];\n let unlinkInfoFn: Function = null;\n let hookFn;\n\n let rawDef = {} as Def;\n let getDef = () => processedDef($state, element, rawDef);\n\n let ref = parseStateRef(attrs.uiSref);\n rawDef.uiState = ref.state;\n rawDef.uiStateOpts = attrs.uiSrefOpts ? scope.$eval(attrs.uiSrefOpts) : {};\n\n function update() {\n let def = getDef();\n if (unlinkInfoFn) unlinkInfoFn();\n if (active) unlinkInfoFn = active.$$addStateInfo(def.uiState, def.uiStateParams);\n if (def.href != null) attrs.$set(type.attr, def.href);\n }\n\n if (ref.paramExpr) {\n scope.$watch(ref.paramExpr, function (val) {\n rawDef.uiStateParams = extend({}, val);\n update();\n }, true);\n rawDef.uiStateParams = extend({}, scope.$eval(ref.paramExpr));\n }\n\n update();\n\n scope.$on('$destroy', $uiRouter.stateRegistry.onStatesChanged(update));\n scope.$on('$destroy', $uiRouter.transitionService.onSuccess({}, update));\n\n if (!type.clickable) return;\n hookFn = clickHook(element, $state, $timeout, type, getDef);\n bindEvents(element, scope, hookFn, rawDef.uiStateOpts);\n }\n };\n }];\n\n/**\n * `ui-state`: A fully dynamic directive for linking to a state\n *\n * A directive which links to a state (and optionally, parameters).\n * When clicked, this directive activates the linked state with the supplied parameter values.\n *\n * **This directive is very similar to [[uiSref]], but it `$observe`s and `$watch`es/evaluates all its inputs.**\n *\n * A directive which links to a state (and optionally, parameters).\n * When clicked, this directive activates the linked state with the supplied parameter values.\n *\n * ### Linked State\n * The attribute value of `ui-state` is an expression which is `$watch`ed and evaluated as the state to link to.\n * **This is in contrast with `ui-sref`, which takes a state name as a string literal.**\n *\n * #### Example:\n * Create a list of links.\n * ```html\n *
  • \n * {{ link.displayName }}\n *
  • \n * ```\n *\n * ### Relative Links\n * If the expression evaluates to a relative path, it is processed like [[uiSref]].\n * You just need to be aware that the path is relative to the state that *created* the link.\n * This allows a state to create relative `ui-state` which always targets the same destination.\n *\n * ### hrefs\n * If the linked state has a URL, the directive will automatically generate and\n * update the `href` attribute (using the [[StateService.href]] method).\n *\n * ### Parameter Values\n * In addition to the state name expression, a `ui-state` can include parameter values which are applied when activating the state.\n * Param values should be provided using the `ui-state-params` attribute.\n * The `ui-state-params` attribute value is `$watch`ed and evaluated as an expression.\n *\n * #### Example:\n * This example renders a list of links with param values.\n * The state's `userId` parameter value comes from each user's `user.id` property.\n * ```html\n *
  • \n * {{ link.displayName }}\n *
  • \n * ```\n *\n * ### Transition Options\n * You can specify [[TransitionOptions]] to pass to [[StateService.go]] by using the `ui-state-opts` attribute.\n * Options are restricted to `location`, `inherit`, and `reload`.\n * The value of the `ui-state-opts` is `$watch`ed and evaluated as an expression.\n *\n * #### Example:\n * ```html\n * Home\n * ```\n *\n * ### Other DOM Events\n *\n * You can also customize which DOM events to respond to (instead of `click`) by\n * providing an `events` array in the `ui-state-opts` attribute.\n *\n * #### Example:\n * ```html\n * \n * ```\n *\n * ### Highlighting the active link\n * This directive can be used in conjunction with [[uiSrefActive]] to highlight the active link.\n *\n * ### Notes\n *\n * - You can use `ui-params` to change **only the parameter values** by omitting the state name and supplying only `ui-state-params`.\n * However, it might be simpler to use [[uiSref]] parameter-only links.\n *\n * #### Example:\n * Sets the `lang` parameter to `en` and remains on the same state.\n *\n * ```html\n * English\n * ```\n *\n * - A middle-click, right-click, or ctrl-click is handled (natively) by the browser to open the href in a new window, for example.\n * ```\n */\nlet uiState: ng1_directive;\nuiState = ['$uiRouter', '$timeout',\n function $StateRefDynamicDirective($uiRouter: UIRouter, $timeout: ITimeoutService) {\n let $state = $uiRouter.stateService;\n\n return {\n restrict: 'A',\n require: ['?^uiSrefActive', '?^uiSrefActiveEq'],\n link: function (scope: IScope, element: IAugmentedJQuery, attrs: any, uiSrefActive: any) {\n let type = getTypeInfo(element);\n let active = uiSrefActive[1] || uiSrefActive[0];\n let unlinkInfoFn: Function = null;\n let hookFn;\n\n let rawDef = {} as Def;\n let getDef = () => processedDef($state, element, rawDef);\n\n let inputAttrs = ['uiState', 'uiStateParams', 'uiStateOpts'];\n let watchDeregFns = inputAttrs.reduce((acc, attr) => (acc[attr] = noop, acc), {});\n\n function update() {\n let def = getDef();\n if (unlinkInfoFn) unlinkInfoFn();\n if (active) unlinkInfoFn = active.$$addStateInfo(def.uiState, def.uiStateParams);\n if (def.href != null) attrs.$set(type.attr, def.href);\n }\n\n inputAttrs.forEach((field) => {\n rawDef[field] = attrs[field] ? scope.$eval(attrs[field]) : null;\n\n attrs.$observe(field, (expr) => {\n watchDeregFns[field]();\n watchDeregFns[field] = scope.$watch(expr, (newval) => {\n rawDef[field] = newval;\n update();\n }, true);\n })\n });\n\n update();\n\n scope.$on('$destroy', $uiRouter.stateRegistry.onStatesChanged(update));\n scope.$on('$destroy', $uiRouter.transitionService.onSuccess({}, update));\n\n if (!type.clickable) return;\n hookFn = clickHook(element, $state, $timeout, type, getDef);\n bindEvents(element, scope, hookFn, rawDef.uiStateOpts);\n }\n };\n }];\n\n\n/**\n * `ui-sref-active` and `ui-sref-active-eq`: A directive that adds a CSS class when a `ui-sref` is active\n *\n * A directive working alongside [[uiSref]] and [[uiState]] to add classes to an element when the\n * related directive's state is active (and remove them when it is inactive).\n *\n * The primary use-case is to highlight the active link in navigation menus,\n * distinguishing it from the inactive menu items.\n *\n * ### Linking to a `ui-sref` or `ui-state`\n * `ui-sref-active` can live on the same element as `ui-sref`/`ui-state`, or it can be on a parent element.\n * If a `ui-sref-active` is a parent to more than one `ui-sref`/`ui-state`, it will apply the CSS class when **any of the links are active**.\n *\n * ### Matching\n *\n * The `ui-sref-active` directive applies the CSS class when the `ui-sref`/`ui-state`'s target state **or any child state is active**.\n * This is a \"fuzzy match\" which uses [[StateService.includes]].\n *\n * The `ui-sref-active-eq` directive applies the CSS class when the `ui-sref`/`ui-state`'s target state is directly active (not when child states are active).\n * This is an \"exact match\" which uses [[StateService.is]].\n *\n * ### Parameter values\n * If the `ui-sref`/`ui-state` includes parameter values, the current parameter values must match the link's values for the link to be highlighted.\n * This allows a list of links to the same state with different parameters to be rendered, and the correct one highlighted.\n *\n * #### Example:\n * ```html\n *
  • \n * {{ user.lastName }}\n *
  • \n * ```\n *\n * ### Examples\n *\n * Given the following template:\n * #### Example:\n * ```html\n * \n * ```\n *\n * When the app state is `app.user` (or any child state),\n * and contains the state parameter \"user\" with value \"bilbobaggins\",\n * the resulting HTML will appear as (note the 'active' class):\n *\n * ```html\n * \n * ```\n *\n * ### Glob mode\n *\n * It is possible to pass `ui-sref-active` an expression that evaluates to an object.\n * The objects keys represent active class names and values represent the respective state names/globs.\n * `ui-sref-active` will match if the current active state **includes** any of\n * the specified state names/globs, even the abstract ones.\n *\n * #### Example:\n * Given the following template, with \"admin\" being an abstract state:\n * ```html\n *
    \n * Roles\n *
    \n * ```\n *\n * When the current state is \"admin.roles\" the \"active\" class will be applied to both the
    and elements.\n * It is important to note that the state names/globs passed to `ui-sref-active` override any state provided by a linked `ui-sref`.\n *\n * ### Notes:\n *\n * - The class name is interpolated **once** during the directives link time (any further changes to the\n * interpolated value are ignored).\n *\n * - Multiple classes may be specified in a space-separated format: `ui-sref-active='class1 class2 class3'`\n */\nlet uiSrefActive: ng1_directive;\nuiSrefActive = ['$state', '$stateParams', '$interpolate', '$uiRouter',\n function $StateRefActiveDirective($state: StateService, $stateParams: Obj, $interpolate: IInterpolateService, $uiRouter: UIRouter) {\n return {\n restrict: \"A\",\n controller: ['$scope', '$element', '$attrs',\n function ($scope: IScope, $element: IAugmentedJQuery, $attrs: any) {\n let states: StateData[] = [],\n activeEqClass: string,\n uiSrefActive: any;\n\n // There probably isn't much point in $observing this\n // uiSrefActive and uiSrefActiveEq share the same directive object with some\n // slight difference in logic routing\n activeEqClass = $interpolate($attrs.uiSrefActiveEq || '', false)($scope);\n\n try {\n uiSrefActive = $scope.$eval($attrs.uiSrefActive);\n } catch (e) {\n // Do nothing. uiSrefActive is not a valid expression.\n // Fall back to using $interpolate below\n }\n uiSrefActive = uiSrefActive || $interpolate($attrs.uiSrefActive || '', false)($scope);\n if (isObject(uiSrefActive)) {\n forEach(uiSrefActive, function (stateOrName: StateOrName, activeClass: string) {\n if (isString(stateOrName)) {\n let ref = parseStateRef(stateOrName);\n addState(ref.state, $scope.$eval(ref.paramExpr), activeClass);\n }\n });\n }\n\n // Allow uiSref to communicate with uiSrefActive[Equals]\n this.$$addStateInfo = function (newState: string, newParams: Obj) {\n // we already got an explicit state provided by ui-sref-active, so we\n // shadow the one that comes from ui-sref\n if (isObject(uiSrefActive) && states.length > 0) {\n return;\n }\n let deregister = addState(newState, newParams, uiSrefActive);\n update();\n return deregister;\n };\n\n function updateAfterTransition(trans) {\n trans.promise.then(update, noop);\n }\n\n $scope.$on('$stateChangeSuccess', update);\n $scope.$on('$destroy', $uiRouter.transitionService.onStart({}, updateAfterTransition));\n if ($uiRouter.globals.transition) {\n updateAfterTransition($uiRouter.globals.transition);\n }\n\n function addState(stateName: string, stateParams: Obj, activeClass: string) {\n var state = $state.get(stateName, stateContext($element));\n\n var stateInfo = {\n state: state || { name: stateName },\n params: stateParams,\n activeClass: activeClass\n };\n\n states.push(stateInfo);\n\n return function removeState() {\n removeFrom(states)(stateInfo);\n }\n }\n\n // Update route state\n function update() {\n const splitClasses = str =>\n str.split(/\\s/).filter(identity);\n const getClasses = (stateList: StateData[]) =>\n stateList.map(x => x.activeClass).map(splitClasses).reduce(unnestR, []);\n\n let allClasses = getClasses(states).concat(splitClasses(activeEqClass)).reduce(uniqR, []);\n let fuzzyClasses = getClasses(states.filter(x => $state.includes(x.state.name, x.params)));\n let exactlyMatchesAny = !!states.filter(x => $state.is(x.state.name, x.params)).length;\n let exactClasses = exactlyMatchesAny ? splitClasses(activeEqClass) : [];\n\n let addClasses = fuzzyClasses.concat(exactClasses).reduce(uniqR, []);\n let removeClasses = allClasses.filter(cls => !inArray(addClasses, cls));\n\n $scope.$evalAsync(() => {\n addClasses.forEach(className => $element.addClass(className));\n removeClasses.forEach(className => $element.removeClass(className));\n });\n }\n\n update();\n }]\n };\n }];\n\n/** @hidden */\ninterface Def { uiState: string; href: string; uiStateParams: Obj; uiStateOpts: any; }\n/** @hidden */\ninterface StateData { state: StateDeclaration; params: RawParams; activeClass: string; }\n\nangular.module('ui.router.state')\n .directive('uiSref', uiSref)\n .directive('uiSrefActive', uiSrefActive)\n .directive('uiSrefActiveEq', uiSrefActive)\n .directive('uiState', uiState);\n","/** @module ng1 */ /** for typedoc */\n\nimport { ng as angular } from \"./angular\";\nimport { Obj, StateService, StateOrName } from \"@uirouter/core\";\n\n/**\n * `isState` Filter: truthy if the current state is the parameter\n *\n * Translates to [[StateService.is]] `$state.is(\"stateName\")`.\n *\n * #### Example:\n * ```html\n *
    show if state is 'stateName'
    \n * ```\n */\n$IsStateFilter.$inject = ['$state'];\nexport function $IsStateFilter($state: StateService) {\n var isFilter: any = function(state: StateOrName, params: Obj, options?: { relative?: StateOrName }) {\n return $state.is(state, params, options);\n };\n isFilter.$stateful = true;\n return isFilter;\n}\n\n/**\n * `includedByState` Filter: truthy if the current state includes the parameter\n *\n * Translates to [[StateService.includes]]` $state.is(\"fullOrPartialStateName\")`.\n *\n * #### Example:\n * ```html\n *
    show if state includes 'fullOrPartialStateName'
    \n * ```\n */\n$IncludedByStateFilter.$inject = ['$state'];\nexport function $IncludedByStateFilter($state: StateService) {\n var includesFilter: any = function(state: StateOrName, params: Obj, options: { relative?: StateOrName }) {\n return $state.includes(state, params, options);\n };\n includesFilter.$stateful = true;\n return includesFilter;\n}\n\nangular.module('ui.router.state')\n .filter('isState', $IsStateFilter)\n .filter('includedByState', $IncludedByStateFilter);\n","/** \n * @ng1api \n * @module directives \n */ /** for typedoc */\nimport { ng as angular } from \"../angular\";\nimport {\n IInterpolateService, IScope, ITranscludeFunction, IAugmentedJQuery,\n ICompileService, IControllerService, ITimeoutService, noop\n} from \"angular\";\n\nimport {\n extend, unnestR, filter, tail, isDefined, isFunction, isString, trace, parse,\n ActiveUIView, TransitionService, ResolveContext, Transition, PathNode, StateDeclaration,\n Param, kebobString, HookRegOptions, ViewService, $QLike, Obj, TypedMap\n} from \"@uirouter/core\";\nimport {Ng1ViewConfig} from \"../statebuilders/views\";\nimport {Ng1Controller, Ng1StateDeclaration} from \"../interface\";\nimport {getLocals} from \"../services\";\nimport { ng1_directive } from \"./stateDirectives\";\n\n/** @hidden */\nexport type UIViewData = {\n $cfg: Ng1ViewConfig;\n $uiView: ActiveUIView;\n}\n\n/** @hidden */\nexport type UIViewAnimData = {\n $animEnter: Promise;\n $animLeave: Promise;\n $$animLeave: { resolve: () => any; } // \"deferred\"\n}\n\n/**\n * `ui-view`: A viewport directive which is filled in by a view from the active state.\n *\n * ### Attributes\n *\n * - `name`: (Optional) A view name.\n * The name should be unique amongst the other views in the same state.\n * You can have views of the same name that live in different states.\n * The ui-view can be targeted in a View using the name ([[Ng1StateDeclaration.views]]).\n *\n * - `autoscroll`: an expression. When it evaluates to true, the `ui-view` will be scrolled into view when it is activated.\n * Uses [[$uiViewScroll]] to do the scrolling.\n *\n * - `onload`: Expression to evaluate whenever the view updates.\n *\n * #### Example:\n * A view can be unnamed or named.\n * ```html\n * \n *
    \n *\n * \n *
    \n *\n * \n * \n * ```\n *\n * You can only have one unnamed view within any template (or root html). If you are only using a\n * single view and it is unnamed then you can populate it like so:\n *\n * ```html\n *
    \n * $stateProvider.state(\"home\", {\n * template: \"

    HELLO!

    \"\n * })\n * ```\n *\n * The above is a convenient shortcut equivalent to specifying your view explicitly with the\n * [[Ng1StateDeclaration.views]] config property, by name, in this case an empty name:\n *\n * ```js\n * $stateProvider.state(\"home\", {\n * views: {\n * \"\": {\n * template: \"

    HELLO!

    \"\n * }\n * }\n * })\n * ```\n *\n * But typically you'll only use the views property if you name your view or have more than one view\n * in the same template. There's not really a compelling reason to name a view if its the only one,\n * but you could if you wanted, like so:\n *\n * ```html\n *
    \n * ```\n *\n * ```js\n * $stateProvider.state(\"home\", {\n * views: {\n * \"main\": {\n * template: \"

    HELLO!

    \"\n * }\n * }\n * })\n * ```\n *\n * Really though, you'll use views to set up multiple views:\n *\n * ```html\n *
    \n *
    \n *
    \n * ```\n *\n * ```js\n * $stateProvider.state(\"home\", {\n * views: {\n * \"\": {\n * template: \"

    HELLO!

    \"\n * },\n * \"chart\": {\n * template: \"\"\n * },\n * \"data\": {\n * template: \"\"\n * }\n * }\n * })\n * ```\n *\n * #### Examples for `autoscroll`:\n * ```html\n * \n * \n *\n * \n * \n * \n * \n * ```\n *\n * Resolve data:\n *\n * The resolved data from the state's `resolve` block is placed on the scope as `$resolve` (this\n * can be customized using [[Ng1ViewDeclaration.resolveAs]]). This can be then accessed from the template.\n *\n * Note that when `controllerAs` is being used, `$resolve` is set on the controller instance *after* the\n * controller is instantiated. The `$onInit()` hook can be used to perform initialization code which\n * depends on `$resolve` data.\n *\n * #### Example:\n * ```js\n * $stateProvider.state('home', {\n * template: '',\n * resolve: {\n * user: function(UserService) { return UserService.fetchUser(); }\n * }\n * });\n * ```\n */\nexport let uiView: ng1_directive;\nuiView = ['$view', '$animate', '$uiViewScroll', '$interpolate', '$q',\nfunction $ViewDirective($view: ViewService, $animate: any, $uiViewScroll: any, $interpolate: IInterpolateService, $q: $QLike) {\n\n function getRenderer(attrs: Obj, scope: IScope) {\n return {\n enter: function(element: JQuery, target: any, cb: Function) {\n if (angular.version.minor > 2) {\n $animate.enter(element, null, target).then(cb);\n } else {\n $animate.enter(element, null, target, cb);\n }\n },\n leave: function(element: JQuery, cb: Function) {\n if (angular.version.minor > 2) {\n $animate.leave(element).then(cb);\n } else {\n $animate.leave(element, cb);\n }\n }\n };\n }\n\n function configsEqual(config1: Ng1ViewConfig, config2: Ng1ViewConfig) {\n return config1 === config2;\n }\n\n let rootData = {\n $cfg: { viewDecl: { $context: $view._pluginapi._rootViewContext() } },\n $uiView: { }\n };\n\n let directive = {\n count: 0,\n restrict: 'ECA',\n terminal: true,\n priority: 400,\n transclude: 'element',\n compile: function (tElement: JQuery, tAttrs: Obj, $transclude: ITranscludeFunction) {\n\n return function (scope: IScope, $element: IAugmentedJQuery, attrs: Obj) {\n let previousEl: JQuery, currentEl: JQuery,\n currentScope: IScope, unregister: Function,\n onloadExp = attrs['onload'] || '',\n autoScrollExp = attrs['autoscroll'],\n renderer = getRenderer(attrs, scope),\n viewConfig = undefined as Ng1ViewConfig,\n inherited = $element.inheritedData('$uiView') || rootData,\n name = $interpolate(attrs['uiView'] || attrs['name'] || '')(scope) || '$default';\n\n let activeUIView: ActiveUIView = {\n $type: 'ng1',\n id: directive.count++, // Global sequential ID for ui-view tags added to DOM\n name: name, // ui-view name (
    \n fqn: inherited.$uiView.fqn ? inherited.$uiView.fqn + \".\" + name : name, // fully qualified name, describes location in DOM\n config: null, // The ViewConfig loaded (from a state.views definition)\n configUpdated: configUpdatedCallback, // Called when the matching ViewConfig changes\n get creationContext() { // The context in which this ui-view \"tag\" was created\n let fromParentTagConfig = parse('$cfg.viewDecl.$context')(inherited);\n // Allow \n // See https://github.com/angular-ui/ui-router/issues/3355\n let fromParentTag = parse('$uiView.creationContext')(inherited);\n return fromParentTagConfig || fromParentTag;\n }\n };\n\n trace.traceUIViewEvent(\"Linking\", activeUIView);\n\n function configUpdatedCallback(config?: Ng1ViewConfig) {\n if (config && !(config instanceof Ng1ViewConfig)) return;\n if (configsEqual(viewConfig, config)) return;\n trace.traceUIViewConfigUpdated(activeUIView, config && config.viewDecl && config.viewDecl.$context);\n\n viewConfig = config;\n updateView(config);\n }\n\n $element.data('$uiView', { $uiView: activeUIView });\n\n updateView();\n\n unregister = $view.registerUIView(activeUIView);\n scope.$on(\"$destroy\", function() {\n trace.traceUIViewEvent(\"Destroying/Unregistering\", activeUIView);\n unregister();\n });\n\n function cleanupLastView() {\n if (previousEl) {\n trace.traceUIViewEvent(\"Removing (previous) el\", previousEl.data('$uiView'));\n previousEl.remove();\n previousEl = null;\n }\n\n if (currentScope) {\n trace.traceUIViewEvent(\"Destroying scope\", activeUIView);\n currentScope.$destroy();\n currentScope = null;\n }\n\n if (currentEl) {\n let _viewData = currentEl.data('$uiViewAnim');\n trace.traceUIViewEvent(\"Animate out\", _viewData);\n renderer.leave(currentEl, function() {\n _viewData.$$animLeave.resolve();\n previousEl = null;\n });\n\n previousEl = currentEl;\n currentEl = null;\n }\n }\n\n function updateView(config?: Ng1ViewConfig) {\n let newScope = scope.$new();\n let animEnter = $q.defer(), animLeave = $q.defer();\n\n let $uiViewData: UIViewData = {\n $cfg: config,\n $uiView: activeUIView,\n };\n\n let $uiViewAnim: UIViewAnimData = {\n $animEnter: animEnter.promise,\n $animLeave: animLeave.promise,\n $$animLeave: animLeave\n };\n\n /**\n * @ngdoc event\n * @name ui.router.state.directive:ui-view#$viewContentLoading\n * @eventOf ui.router.state.directive:ui-view\n * @eventType emits on ui-view directive scope\n * @description\n *\n * Fired once the view **begins loading**, *before* the DOM is rendered.\n *\n * @param {Object} event Event object.\n * @param {string} viewName Name of the view.\n */\n newScope.$emit('$viewContentLoading', name);\n\n let cloned = $transclude(newScope, function(clone) {\n clone.data('$uiViewAnim', $uiViewAnim);\n clone.data('$uiView', $uiViewData);\n renderer.enter(clone, $element, function onUIViewEnter() {\n animEnter.resolve();\n if (currentScope) currentScope.$emit('$viewContentAnimationEnded');\n\n if (isDefined(autoScrollExp) && !autoScrollExp || scope.$eval(autoScrollExp)) {\n $uiViewScroll(clone);\n }\n });\n\n cleanupLastView();\n });\n\n currentEl = cloned;\n currentScope = newScope;\n /**\n * @ngdoc event\n * @name ui.router.state.directive:ui-view#$viewContentLoaded\n * @eventOf ui.router.state.directive:ui-view\n * @eventType emits on ui-view directive scope\n * @description *\n * Fired once the view is **loaded**, *after* the DOM is rendered.\n *\n * @param {Object} event Event object.\n */\n currentScope.$emit('$viewContentLoaded', config || viewConfig);\n currentScope.$eval(onloadExp);\n }\n };\n }\n };\n\n return directive;\n}];\n\n$ViewDirectiveFill.$inject = ['$compile', '$controller', '$transitions', '$view', '$q', '$timeout'];\n/** @hidden */\nfunction $ViewDirectiveFill($compile: angular.ICompileService,\n $controller: angular.IControllerService,\n $transitions: TransitionService,\n $view: ViewService,\n $q: angular.IQService,\n $timeout: ITimeoutService) {\n const getControllerAs = parse('viewDecl.controllerAs');\n const getResolveAs = parse('viewDecl.resolveAs');\n\n return {\n restrict: 'ECA',\n priority: -400,\n compile: function (tElement: JQuery) {\n let initial = tElement.html();\n tElement.empty();\n\n return function (scope: IScope, $element: JQuery) {\n let data: UIViewData = $element.data('$uiView');\n if (!data) {\n $element.html(initial);\n $compile($element.contents())(scope);\n return;\n }\n\n let cfg: Ng1ViewConfig = data.$cfg || { viewDecl: {}, getTemplate: noop };\n let resolveCtx: ResolveContext = cfg.path && new ResolveContext(cfg.path);\n $element.html(cfg.getTemplate($element, resolveCtx) || initial);\n trace.traceUIViewFill(data.$uiView, $element.html());\n\n let link = $compile($element.contents());\n let controller = cfg.controller;\n let controllerAs: string = getControllerAs(cfg);\n let resolveAs: string = getResolveAs(cfg);\n let locals = resolveCtx && getLocals(resolveCtx);\n\n scope[resolveAs] = locals;\n\n if (controller) {\n let controllerInstance = $controller(controller, extend({}, locals, { $scope: scope, $element: $element }));\n if (controllerAs) {\n scope[controllerAs] = controllerInstance;\n scope[controllerAs][resolveAs] = locals;\n }\n\n // TODO: Use $view service as a central point for registering component-level hooks\n // Then, when a component is created, tell the $view service, so it can invoke hooks\n // $view.componentLoaded(controllerInstance, { $scope: scope, $element: $element });\n // scope.$on('$destroy', () => $view.componentUnloaded(controllerInstance, { $scope: scope, $element: $element }));\n\n $element.data('$ngControllerController', controllerInstance);\n $element.children().data('$ngControllerController', controllerInstance);\n\n registerControllerCallbacks($q, $transitions, controllerInstance, scope, cfg);\n }\n\n // Wait for the component to appear in the DOM\n if (isString(cfg.viewDecl.component)) {\n let cmp = cfg.viewDecl.component;\n let kebobName = kebobString(cmp);\n let tagRegexp = new RegExp(`^(x-|data-)?${kebobName}$`, \"i\");\n\n let getComponentController = () => {\n let directiveEl = [].slice.call($element[0].children)\n .filter((el: Element) => el && el.tagName && tagRegexp.exec(el.tagName)) ;\n \n return directiveEl && angular.element(directiveEl).data(`$${cmp}Controller`);\n };\n\n let deregisterWatch = scope.$watch(getComponentController, function(ctrlInstance) {\n if (!ctrlInstance) return;\n registerControllerCallbacks($q, $transitions, ctrlInstance, scope, cfg);\n deregisterWatch();\n });\n }\n\n link(scope);\n };\n }\n };\n}\n\n/** @hidden */\nlet hasComponentImpl = typeof (angular as any).module('ui.router')['component'] === 'function';\n/** @hidden incrementing id */\nlet _uiCanExitId = 0;\n\n/** @hidden TODO: move these callbacks to $view and/or `/hooks/components.ts` or something */\nfunction registerControllerCallbacks($q: angular.IQService,\n $transitions: TransitionService,\n controllerInstance: Ng1Controller,\n $scope: IScope,\n cfg: Ng1ViewConfig) {\n // Call $onInit() ASAP\n if (isFunction(controllerInstance.$onInit) && !(cfg.viewDecl.component && hasComponentImpl)) {\n controllerInstance.$onInit();\n }\n\n let viewState: Ng1StateDeclaration = tail(cfg.path).state.self;\n\n let hookOptions: HookRegOptions = { bind: controllerInstance };\n // Add component-level hook for onParamsChange\n if (isFunction(controllerInstance.uiOnParamsChanged)) {\n let resolveContext: ResolveContext = new ResolveContext(cfg.path);\n let viewCreationTrans = resolveContext.getResolvable('$transition$').data;\n\n // Fire callback on any successful transition\n const paramsUpdated = ($transition$: Transition) => {\n // Exit early if the $transition$ is the same as the view was created within.\n // Exit early if the $transition$ will exit the state the view is for.\n if ($transition$ === viewCreationTrans || $transition$.exiting().indexOf(viewState as StateDeclaration) !== -1) return;\n\n let toParams = $transition$.params(\"to\") as TypedMap;\n let fromParams = $transition$.params>(\"from\") as TypedMap;\n let toSchema: Param[] = $transition$.treeChanges().to.map((node: PathNode) => node.paramSchema).reduce(unnestR, []);\n let fromSchema: Param[] = $transition$.treeChanges().from.map((node: PathNode) => node.paramSchema).reduce(unnestR, []);\n\n // Find the to params that have different values than the from params\n let changedToParams = toSchema.filter((param: Param) => {\n let idx = fromSchema.indexOf(param);\n return idx === -1 || !fromSchema[idx].type.equals(toParams[param.id], fromParams[param.id]);\n });\n\n // Only trigger callback if a to param has changed or is new\n if (changedToParams.length) {\n let changedKeys: string[] = changedToParams.map(x => x.id);\n // Filter the params to only changed/new to params. `$transition$.params()` may be used to get all params.\n let newValues = filter(toParams, (val, key) => changedKeys.indexOf(key) !== -1);\n controllerInstance.uiOnParamsChanged(newValues, $transition$);\n }\n };\n $scope.$on('$destroy', $transitions.onSuccess({}, paramsUpdated, hookOptions));\n }\n\n // Add component-level hook for uiCanExit\n if (isFunction(controllerInstance.uiCanExit)) {\n let id = _uiCanExitId++;\n let cacheProp = '_uiCanExitIds';\n\n // Returns true if a redirect transition already answered truthy\n const prevTruthyAnswer = (trans: Transition) =>\n !!trans && (trans[cacheProp] && trans[cacheProp][id] === true || prevTruthyAnswer(trans.redirectedFrom()));\n\n // If a user answered yes, but the transition was later redirected, don't also ask for the new redirect transition\n const wrappedHook = (trans: Transition) => {\n let promise, ids = trans[cacheProp] = trans[cacheProp] || {};\n if (!prevTruthyAnswer(trans)) {\n promise = $q.when(controllerInstance.uiCanExit(trans));\n promise.then(val => ids[id] = (val !== false));\n }\n return promise;\n };\n\n let criteria = {exiting: viewState.name};\n $scope.$on('$destroy', $transitions.onBefore(criteria, wrappedHook, hookOptions));\n }\n}\n\nangular.module('ui.router.state').directive('uiView', uiView);\nangular.module('ui.router.state').directive('uiView', $ViewDirectiveFill);\n","/** @module ng1 */ /** */\nimport { ng as angular } from \"./angular\";\nimport { IServiceProviderFactory } from \"angular\";\nimport IAnchorScrollService = angular.IAnchorScrollService;\nimport ITimeoutService = angular.ITimeoutService;\n\nexport interface UIViewScrollProvider {\n /**\n * Uses standard anchorScroll behavior\n *\n * Reverts [[$uiViewScroll]] back to using the core [`$anchorScroll`](http://docs.angularjs.org/api/ng.$anchorScroll)\n * service for scrolling based on the url anchor.\n */\n useAnchorScroll(): void;\n}\n\n\n/** @hidden */\nfunction $ViewScrollProvider() {\n\n var useAnchorScroll = false;\n\n this.useAnchorScroll = function () {\n useAnchorScroll = true;\n };\n\n this.$get = ['$anchorScroll', '$timeout', function ($anchorScroll: IAnchorScrollService, $timeout: ITimeoutService): Function {\n if (useAnchorScroll) {\n return $anchorScroll;\n }\n\n return function ($element: JQuery) {\n return $timeout(function () {\n $element[0].scrollIntoView();\n }, 0, false);\n };\n }];\n}\n\nangular.module('ui.router.state').provider('$uiViewScroll', $ViewScrollProvider);\n","/**\n * Main entry point for angular 1.x build\n * @module ng1\n */ /** */\n\nexport * from \"./interface\";\nexport * from \"./services\";\nexport * from \"./statebuilders/views\";\nexport * from \"./stateProvider\";\nexport * from \"./urlRouterProvider\";\n\nimport \"./injectables\";\nimport \"./directives/stateDirectives\";\nimport \"./stateFilters\";\nimport \"./directives/viewDirective\";\nimport \"./viewScroll\";\n\nexport default \"ui.router\";\n\nimport * as core from \"@uirouter/core\";\nexport { core };\nexport * from \"@uirouter/core\";\n\n"],"names":["ng_from_import.module","val","angular","RejectType","Category","TransitionHookPhase","TransitionHookScope","noop","DefType","inherit","values","all","prop","pattern","pairs","beforeAfterSubstr","parseUrl","__extends","id","$q","$injector"],"mappings":"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"}