{"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","../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/angular.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) {\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));\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);\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?: boolean }) {\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: Obj) {\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",{"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"},"/**\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","/** @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\nimport * as core from \"@uirouter/core\";\nexport { core };\nexport * from \"@uirouter/core\";\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"],"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","viewData","id","creationContext","fqn","input","isNumber","Category","state","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","$type","$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","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","UIVIEW","padString","uiViewString","traceUIViewEvent","VIEWCONFIG","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","sort","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","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","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","defaultRuleSortFn","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","traceViewServiceUIViewEvent","uiViews","fqnMatches","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","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","ng_from_global","ng","ng_from_import","ng_from_import.module","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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"}