{"version":3,"file":null,"sources":["../node_modules/@uirouter/core/src/common/hof.ts","../node_modules/@uirouter/core/src/common/predicates.ts","../node_modules/@uirouter/core/src/common/common.ts","../node_modules/@uirouter/core/src/common/trace.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/common/strings.ts","../node_modules/@uirouter/core/src/state/stateBuilder.ts","../node_modules/@uirouter/core/src/url/urlMatcher.ts","../node_modules/@uirouter/core/src/url/urlRouter.ts","../node_modules/@uirouter/core/src/hooks/coreResolvables.ts","../node_modules/@uirouter/core/src/hooks/onEnterExitRetain.ts","../node_modules/@uirouter/core/src/hooks/lazyLoad.ts","../node_modules/@uirouter/core/src/hooks/ignoredTransition.ts","../node_modules/@uirouter/core/src/hooks/invalidTransition.ts","../node_modules/@uirouter/core/src/vanilla/utils.ts","../node_modules/@uirouter/core/src/vanilla/plugins.ts","../src/statebuilders/views.ts","../src/templateFactory.ts","../src/services.ts","../src/directives/stateDirectives.ts","../src/stateFilters.ts","../src/directives/viewDirective.ts","../src/viewScroll.ts","../src/angular.ts","../node_modules/@uirouter/core/src/common/glob.ts","../node_modules/@uirouter/core/src/state/stateObject.ts","../node_modules/@uirouter/core/src/common/coreservices.ts","../node_modules/@uirouter/core/src/common/queue.ts","../node_modules/@uirouter/core/src/transition/rejectFactory.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/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/params/paramTypes.ts","../node_modules/@uirouter/core/src/params/stateParams.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/urlMatcherFactory.ts","../node_modules/@uirouter/core/src/url/urlRule.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/redirectTo.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/transition/transitionEventType.ts","../node_modules/@uirouter/core/src/transition/transitionService.ts","../node_modules/@uirouter/core/src/state/stateService.ts","../node_modules/@uirouter/core/src/vanilla/q.ts","../node_modules/@uirouter/core/src/vanilla/injector.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/interface.ts","../src/stateProvider.ts","../src/statebuilders/onEnterExitRetain.ts","../src/locationServices.ts","../src/urlRouterProvider.ts","../src/index.ts"],"sourcesContent":[{"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/predicates.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/trace.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/common/strings.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/url/urlMatcher.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/hooks/coreResolvables.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/lazyLoad.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/vanilla/utils.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/plugins.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","/**\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 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 * @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/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/coreservices.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/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/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/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/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/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/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/redirectTo.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/transition/transitionEventType.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/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/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/interface.ts"},"/** @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 * 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":["fn","args","length","func_args_length","apply","curried","concat","slice","arguments","initial_args","start","i","result","this","call","_i","funcs","compose","reverse","fn1","fn2","fnName","obj","struct","x","val","isArray","head","tail","filter","not","isString","isFunction","source","target","bind","fnNames","latebind","bindFunction","makeLateRebindFn","Object","keys","reduce","acc","name","array","indexOf","idx","splice","arr","push","opts","defaultsList","_defaultsList","defaultVals","extend","pick","first","second","path","n","propNames","objCopy","prop_1","inArray","key","collection","propName","map","prop","callback","accept","forEach","item","predicateOrMap","errMsg","Error","maxArrayLen","min","Math","memo","keyValTuple","value","undefined","src","dest","cb","_this","toObj","j","o1","o2","t1","tup","all","_arraysEq","isDate","getTime","isRegExp","toString","any","b","_equals","a1","a2","arrayTuples","t","uiview","state","creationContext","id","$type","fqn","input","isNumber","Category","criterion","_state","globStrings","toMatch","glob","Glob","matches","matchGlobs","registry","transitionService","eventType","matchObject","options","registeredHook","RegisteredHook","hooks","_deregistered","removeFrom","_registeredHooks","hookRegistrationFn","reverseDepthSort","l","r","factor","depthDelta","node","hook","priority","type","mode","isDefined","allTruthyMode","arrayWrap","arrayUnwrap","val1","val2","left","right","paramTypeFn","wrapperFn","arrayEqualsHandler","arrayHandler","dynamic","pattern","inherit","is","$arrayMode","cfg","isShorthand","getStaticDefaultValue","$$fn","isInjectable","urlType","location","paramTypes","DefType","CONFIG","PATH","SEARCH","ParamType","config","isOptional","defaultPolicy","squash","arrayMode","replace","configuredKeys","from","to","max","str","substr","camelCase","$1","toLowerCase","fnStr","fnToString","namedFunctionMatch","match","toStr","_fn","o","isObject","seen","stringifyPattern","JSON","stringify","format","delim","re","RegExp","split","identity","pushR","self","$$state","parent","data","includes","annotate","$injector","services","strictDi","isResolveLiteral","token","resolveFn","isLikeNg2Provider","provide","useValue","useFactory","useExisting","useClass","isTupleFromObj","p","literal2Resolvable","Resolvable","deps","policy","dependencies","tuple2Resolvable","pipe","tuple","item2Resolvable","decl","resolve","resolveObj","resolvePolicies","resolvePolicy","string","param","surroundPattern","url","isHtml5","absolute","baseHref","handler","TargetState","isDef","trans","addResolvable","UIRouter","router","Transition","params","entering","hookName","transition","hookFn","Array","states","stateRegistry","register","lazyLoadFn","lazyLoad","promise","success","error","err","$q","reject","when","then","updateStateRegistry","ignoredReason","_ignoredReason","trace","traceTransitionIgnored","pending","globals","abort","Rejection","ignored","toPromise","valid","orEmptyString","_a","beforehash","hash","_b","search","serviceClass","configurationClass","dispose","service","configuration","locationService","locationConfig","templateFactory","view","get","Ng1ViewConfig","tplKeys","ctrlKeys","compKeys","nonCompKeys","allViewKeys","views","hasAnyKey","join","viewsObject","$default","component","resolveAs","$context","$name","normalized","ViewService","normalizeUIViewTarget","$uiViewName","uiViewName","$uiViewContextAnchor","uiViewContextAnchor","cmpDefs","getBindings","unnestR","$locationProvider","$location","$browser","$sniffer","$rootScope","$http","$templateCache","ng1LocationService","_runtimeServices","stateProvider","StateProvider","stateService","decorator","ng1ViewsBuilder","getStateHookBuilder","viewService","_pluginapi","_viewConfigFactory","getNg1ViewConfigFactory","Ng1LocationServices","monkeyPatchPathParameterType","$get","$inject","$uiRouter","resolvables","resolvable","$watch","approximateDigests","ref","parsed","paramsOnly","paramExpr","el","$uiView","inheritedData","parse","$state","$element","def","uiState","current","uiStateOpts","defaultOpts","href","uiStateParams","isSvg","prototype","isForm","nodeName","attr","isAnchor","toUpperCase","clickable","$timeout","getDef","e","button","which","ctrlKey","metaKey","shiftKey","go","preventDefault","ignorePreventDefaultCount","cancel","relative","stateContext","$current","element","scope","events","on","events_1","event_1","$on","off","events_2","event_2","isFilter","$stateful","includesFilter","$compile","$controller","$transitions","$view","getControllerAs","getResolveAs","restrict","compile","tElement","initial","html","empty","contents","$cfg","viewDecl","getTemplate","noop","resolveCtx","ResolveContext","traceUIViewFill","link","controller","controllerAs","locals","getLocals","controllerInstance","$scope","children","registerControllerCallbacks","cmp_1","kebobName","kebobString","tagRegexp_1","getComponentController","directiveEl","tagName","exec","angular","deregisterWatch_1","ctrlInstance","$onInit","hasComponentImpl","viewState","hookOptions","uiOnParamsChanged","resolveContext","viewCreationTrans_1","getResolvable","paramsUpdated","$transition$","exiting","toParams","fromParams","toSchema","treeChanges","paramSchema","fromSchema","changedToParams","equals","changedKeys_1","newValues","onSuccess","uiCanExit","id_1","_uiCanExitId","prevTruthyAnswer_1","redirectedFrom","wrappedHook","ids","criteria","onBefore","useAnchorScroll","$anchorScroll","scrollIntoView","ng_from_global","ng","ng_from_import","ng_from_import.module","propEq","curry","ctor","constructor","eq","other","v","text","regexpString","seg","regexp","test","StateObject","create","stateDecl","isStateClass","__stateObjectCache","nameGlob","fromString","root","defaults","matchingKeys","parameters","values","hasOwnProperty","parameter","find","tis","isUndefined","isNull","isNullOrUndefined","or","isState","isPromise","and","notImplemented","fnname","w","window","fromJson","toJson","copy","_copy","_forEach","assign","_extend","extra","_inArray","_removeFrom","pushTo","_pushTo","deregAll","functions","mergeR","mapObj","allTrueR","elem","anyTrueR","flattenR","uniqR","unnest","flatten","assertPredicate","assertFn","assertMap","pairs","sortBy","propFn","checkFn","a","composeSort","sortFns","prev","silenceUncaughtInPromise","catch","silentRejection","_items","_limit","Queue","items","shift","size","RejectType","message","detail","d","_transitionRejection","rejection","SUPERSEDED","redirected","superseded","INVALID","IGNORED","ABORTED","ERROR","errored","viewConfigString","viewConfig","$id","_tid","_rid","transLbl","Trace","enabled","categories","k","parseInt","isNaN","normalizedCat","category","_enabled","_set","TRANSITION","console","log","step","HOOK","event","context","functionToString","maxLength","hookResult","transitionOptions","RESOLVE","reason","finalState","viewData","UIVIEW","padString","uiViewString","traceUIViewEvent","VIEWCONFIG","mapping","uiViewData","ui-view fqn","state: view name","sort","localeCompare","table","TransitionHookPhase","TransitionHookScope","_identifier","_definition","_params","_options","base","stateName","defaultOptions","traceData","hookPhase","RUN","isActive","TransitionHook","defaultErrorHandler","notCurrent","getNotCurrentRejection","traceHookInvocation","normalizeErr","normalize","handleError","getErrorHandler","handleResult","getResultHandler","synchronous","handleHookResult","traceHookResult","aborted","_disposed","_aborted","isSuperseded","waitFor","createHookChainR","nextHook","invokeHook","doneCallback","remainingHooks","chain","logError","tranSvc","matchCriteria","nodes","matching","matchState","_getPathTypes","_getDefaultMatchCriteria","mn","pathtype","isStateHook","STATE","_matchingNodes","_getMatchingNodes","every","HookBuilder","phase","_getEvents","buildHooks","hookType","matchingHooks","getMatchingHooks","baseHookOptions","makeTransitionHooks","criteriaMatchPath","transitionHook","tupleSort","reverseSort","isCreate","CREATE","reg","getHooks","sub","decode","isSearch","ArrayType","hasOwn","urlMatcherFactory","unwrapShorthand","getType","arrayDefaults","arrayParamNomenclature","$asArray","raw","getSquashPolicy","defaultSquashPolicy","getReplace","Param","_defaultValueCache","defaultValue","invoke","$normalize","encoded","encode","paramValues","params_1","values1","values2","changed","validates","stateOrNode","PathNode","res","clone","getParamVal","paramDef","pDef","applyPairs","paramsFn","diff","PathUtils","targetState","applyRawParams","fromPath","toPath","buildPath","inheritParams","viewDecls","subPath","viewConfigs","createViewConfig","toKeys","toNode","toParamVals","incomingParamVals","omit","fromParamVals","nodeParamVals","noInherit","ownParamVals","makeInheritedParamsNode","reloadState","retainedNode","cloned","keep","node1","node2","nonDynamicParams","retained","retainedWithToParams","applyToParams","pathA","pathB","done","nodeA","nodeB","predicate","elementIdx","defaultResolvePolicy","async","arg1","resolved","literal","thisPolicy","statePolicy","getResolvableDependencies","getDependencies","invokeResolveFn","resolvedDeps","waitForRx","observable$","cached","cache","take","findNode","maybeWaitForRx","getPolicy","applyResolvedValue","resolvedValue","traceResolvableResolved","LAZY","EAGER","WAIT","NOWAIT","RXWAIT","ALL_WHENS","EAGER_WHENS","NATIVE_INJECTOR_TOKEN","_path","newResolvables","whenOption","matchedWhens","traceResolvePath","matchesPolicy","acceptedVals","whenOrAsync","promises","nodeResolvables","nowait","wait","subContext","getResult","_injector","UIInjectorImpl","availableResolvables","getDependency","fromInjector","injector","getNative","native","stateSelf","defer","_deferred","_targetState","_transitionCount","buildToPath","_treeChanges","createTransitionHookRegFns","onCreateHooks","_hookBuilder","buildHooksForPhase","invokeHooks","applyViewConfigs","makeEvent","enteringStates","$from","$to","compare","pathname","freeze","pathName","getTokens","topath","targetNode","addResolvables","rf","originalTransition","redirects","redirectOpts","newOptions","identifier","newTransition","originalEnteringNodes","redirectEnteringNodes","tc","reload","nodeSchemas","schema","toVals","fromVals","changes","_changedParams","same","newTC","pendTC","runAllHooks","getHooksFor","transitionSuccess","traceSuccess","SUCCESS","transitionError","traceError","_error","runTransition","allRunHooks","startTransition","lastStartedTransitionId","transitionHistory","enqueue","traceTransitionStart","allBeforeHooks","BEFORE","abstract","paramDefs","invalidParams","fromStateOrName","toStateOrName","avoidEmptyHash","stringifyPatternFn","isRejection","isRejectionPromise","beforeAfterSubstr","char","ParamTypes","makeType","definition","types","defaultTypes","definitionFn","typeQueue","_flushTypeQueue","makeDefaultType","valToString","defaultTypeBase","String","query","int","bool","Boolean","date","getFullYear","getMonth","getDate","capture","Date","valueOf","json","defaultRuleSortFn","StateParams","newParams","parentParams","parents","ancestors","inherited","inheritList","parseUrl","charAt","substring","getUrlBuilder","$urlMatcherFactoryProvider","stateDec","paramMap","paramConfig","reloadOnSearch","isMatcher","navigable","append","getNavigableBuilder","isRoot","getParamsBuilder","paramFactory","makeConfigParam","fromConfig","urlParams","nonUrlParams","matcher","parentName","builders","nameBuilder","selfBuilder","parentBuilder","dataBuilder","pathBuilder","includesBuilder","resolvablesBuilder","StateBuilder","parentFn","segments","pop","_states","StateMatcher","stateOrName","matchGlob","isStr","isRelative","resolvePath","baseState","splitName","pathLength","relName","$registry","$urlRouter","builder","listeners","queue","StateQueueManager","flush","registered","orphans","previousQueueLength","getState","name_1","build","orphanIdx","existingState","existingFutureState","deregister","attachRoute","listener","s","rule","urlRuleFactory","_router","stateQueue","urlRouter","_registerRoot","StateRegistry","rootStateDef","#","_root","stateDefinition","getChildren","deregistered","$ur","rules","removeRule","deregisteredStates","_deregisterTree","found","func","memoizeTo","splitOnSlash","splitOnDelim","strict","caseInsensitive","m","segment","placeholder","searchPlaceholder","last","patterns","checkParamErrors","UrlMatcher","nameValidator","matchDetails","index","_segments","lastIndex","fromSearch","_compiled","quoteRegExp","_children","_cache","allParams","pathParams","searchParams","nPathSegments","urlm","reverseString","unquoteDashes","validParamVal","isValid","isDefaultValue","urlMatchers","pathSegmentsAndParams","getDetails","queryParams","isInvalid","pathString","encodeDashes","encodeURIComponent","queryString","paramDetails","c","charCodeAt","cmp","joinNeighborsR","weights","_isStrictMode","_isCaseInsensitive","UrlMatcherFactory","_defaultSquashPolicy","_getConfig","object","UrlRuleFactory","what","makeRule","_what","fromUrlMatcher","fromState","fromRegExp","BaseUrlRule","urlMatcher","optional","_handler","details","matchPriority","transitionTo","global","sticky","redirectUrlTo","Number","getMatcher","URLMATCHER","REGEXP","RAW","OTHER","createProxyFunctions","UrlRouter","listen","_rules","_otherwiseFn","compareFn","_sortFn","_sorted","ensureSorted","best","weight","evt","defaultPrevented","$url","urlService","newurl","_stopFn","onChange","sync","read","html5Mode","hashPrefix","appendBasePath","slash","port","protocol","host","isUrlRule","_id","handlerFn","getHandlerFn","matchFn","urlParts","interceptDeferred","_rootViewContext","_registeredUIViews","_uiViews","_activeViewConfigs","_viewConfigs","_rootContext","viewType","factory","_viewConfigFactories","cfgFactory","cfgs","traceViewServiceEvent","uiView","stateDepth","count","uiViewsByFqn","uiv","depthCompare","depthFn","posNeg","matchingConfigPair","matchingConfigs","viewConfigDepth","configureUIView","configUpdated","uiViewDepth","traceViewSync","traceViewServiceUIViewEvent","uiViews","fqnAndTypeMatches","rawViewName","viewAtContext","relativeViewNameSugar","anchor","vc","vcSegments","uivSegments","negOffset","fqnToFirstSegment","uiViewContext","UIRouterGlobals","clear","successfulTransitions","makeStub","locationServicesFns","locationConfigFns","umfFns","rulesFns","syncFns","lateBind","locationServices","umf","UrlService","_routerInstance","locationServiceStub","locationConfigStub","TransitionService","StateService","disposable","_disposables","plugin","pluginInstance","_plugins","pluginName","registerAddCoreResolvables","onCreate","addCoreResolvables","redirectToHook","redirect","redirectTo","registerRedirectToHook","onStart","onExitHook","makeEnterExitRetainHook","registerOnExitHook","onExit","onRetainHook","registerOnRetainHook","onRetain","onEnterHook","registerOnEnterHook","onEnter","eagerResolvePath","registerEagerResolvePath","lazyResolveState","registerLazyResolveState","loadEnteringViews","enteringViews","load","registerLoadEnteringViews","onFinish","activateViews","exitingViews","deactivateViewConfig","activateViewConfig","registerActivateViews","updateGlobalState","transitionSuccessful","clearCurrentTransition","registerUpdateGlobalState","updateUrl","urlOptions","update","registerUpdateUrl","lazyLoadHook","orig","parts","lazyLoadState","retryTransition","registerLazyLoadHook","hookOrder","HANDLE_RESULT","REJECT_ERROR","registerIgnoredTransitionHook","ignoredHook","registerInvalidTransitionHook","invalidTransitionHook","defaultTransOpts","notify","custom","_deregisterHookFns","_defineCorePaths","_defineCoreEvents","_registerCoreTransitionHooks","hooksArray","Phase","TH","paths","_criteriaPaths","_defineEvent","LOG_REJECTED_RESULT","THROW_ERROR","LOG_ERROR","_definePathType","TransitionEventType","_eventTypes","cmpByPhase","hookScope","fns","addCoreResolves","invalid","eagerResolve","lazyResolve","loadViews","updateGlobals","$error$","stack","getters","boundFns","invalidCallbacks","toState","nextCallback","callbackQueue","dequeue","checkForRedirect","invokeNextCallback","makeTargetState","latestThing","peekTail","latest","defautGoOpts","transOpts","latestSuccess","currentPath","getCurrentPath","exists","_handleInvalidTargetState","rejectedTransitionHandler","isLatest","run","transitionToPromise","include","lossy","$inherit","nav","_defaultErrorHandler","Promise","deferred","STRIP_COMMENTS","ARGUMENT_NAMES","has","ensureExist","splitHash","splitQuery","splitEqual","trimHashVal","keyValsToObjectR","accum","getParams","buildUrl","loc","searchObject","fireAfterUpdate","_listeners","_get","_location","_history","history","BaseLocationServices","evt_1","Event","_super","addEventListener","_listener","__extends","HashLocationService","title","removeEventListener","MemoryLocationService","_url","_config","PushStateLocationService","fullUrl","replaceState","pushState","_port","_protocol","_host","_baseHref","newval","_hashPrefix","_isHtml5","BrowserLocationConfig","newprefix","applyDocumentBaseHref","baseTags","document","getElementsByTagName","origin","hashLocationPlugin","locationPluginFactory","pushStateLocationPlugin","memoryLocationPlugin","MemoryLocationConfig","UIRouterPluginBase","makeComponentTemplate","bindings","template","getController","results","provider","controllerProvider","providerFn","version","minor","$templateRequest","TemplateFactory","_useHttp","asTemplate","asComponent","templateUrl","fromUrl","templateProvider","fromProvider","componentProvider","fromComponentProvider","headers","Accept","response","prefix","kebob","kebobed","attributeTpl","attrName","resolveName","attrs","getComponentBindings","scopeBindings","bindToController","bindingsObj","onInvalid","$state$","decoratedNg1Hook","_lp","_urlListeners","newUrl","_loc","_browser","pathType","~","/","~~","~2F","_urlRouter","UrlRouterProvider","ruleFn","otherwise","injectableHandler","$match","$stateParams","deferIntercept","module","mod_init","mod_util","mod_rtr","mod_state","mod_main","getProviderFor","serviceName","$urp","runBlock","getUrlRouterProvider","uiRouter","urlRouterProvider","getStateProvider","watchDigests","$urlMatcherFactory","uiSref","ctx","require","uiSrefActive","unlinkInfoFn","active","$$addStateInfo","$set","getTypeInfo","rawDef","processedDef","parseStateRef","uiSrefOpts","$eval","onStatesChanged","clickHook","bindEvents","inputAttrs","watchDeregFns","field","$observe","expr","$interpolate","$attrs","stateParams","activeClass","stateInfo","splitClasses","getClasses","stateList","allClasses","activeEqClass","fuzzyClasses","exactlyMatchesAny","exactClasses","addClasses","removeClasses","cls","$evalAsync","className","addClass","removeClass","uiSrefActiveEq","addState","newState","updateAfterTransition","directive","$IsStateFilter","$IncludedByStateFilter","$animate","$uiViewScroll","enter","leave","config1","config2","rootData","terminal","transclude","tAttrs","$transclude","configsEqual","traceUIViewConfigUpdated","activeUIView","updateView","previousEl","remove","currentScope","$destroy","currentEl","_viewData_1","renderer","$$animLeave","newScope","$new","animEnter","animLeave","$uiViewData","$uiViewAnim","$animEnter","$animLeave","$emit","autoScrollExp","cleanupLastView","onloadExp","unregister","getRenderer","configUpdatedCallback","fromParentTagConfig","fromParentTag","registerUIView","$ViewDirectiveFill","$ViewScrollProvider"],"mappings":"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"}