@coolon/angular-ui-powerups 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +552 -159
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +12 -11
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +12 -11
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/components/forms/abstract-input.component.js +8 -3
  10. package/esm2015/lib/directives/command.directive.js +48 -4
  11. package/esm2015/lib/directives/focus-binding.directive.js +30 -14
  12. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
  13. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
  14. package/esm2015/lib/place/components/empty-state/empty-state.component.js +1 -1
  15. package/esm2015/lib/place/components/nav/nav.component.js +31 -0
  16. package/esm2015/lib/place/guards/place-route.guard.js +3 -3
  17. package/esm2015/lib/place/index.js +4 -3
  18. package/esm2015/lib/place/place.module.js +16 -5
  19. package/esm2015/lib/place/route/parameter-decorators.js +77 -2
  20. package/esm2015/lib/place/route/parameter-definition.class.js +4 -2
  21. package/esm2015/lib/place/route/route-parameter-bindings.js +25 -13
  22. package/esm2015/lib/place/route/route-parameter-sanitiser.js +206 -74
  23. package/esm2015/public_api.js +2 -2
  24. package/esm5/coolon-angular-ui-powerups.js +12 -11
  25. package/esm5/index.js +2 -2
  26. package/esm5/lib/components/forms/abstract-input.component.js +8 -3
  27. package/esm5/lib/directives/command.directive.js +52 -4
  28. package/esm5/lib/directives/focus-binding.directive.js +34 -14
  29. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
  30. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
  31. package/esm5/lib/place/components/empty-state/empty-state.component.js +1 -1
  32. package/esm5/lib/place/components/nav/nav.component.js +36 -0
  33. package/esm5/lib/place/guards/place-route.guard.js +3 -3
  34. package/esm5/lib/place/index.js +4 -3
  35. package/esm5/lib/place/place.module.js +16 -5
  36. package/esm5/lib/place/route/parameter-decorators.js +77 -2
  37. package/esm5/lib/place/route/parameter-definition.class.js +4 -2
  38. package/esm5/lib/place/route/route-parameter-bindings.js +25 -13
  39. package/esm5/lib/place/route/route-parameter-sanitiser.js +284 -92
  40. package/esm5/public_api.js +2 -2
  41. package/fesm2015/coolon-angular-ui-powerups.js +436 -112
  42. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  43. package/fesm5/coolon-angular-ui-powerups.js +521 -130
  44. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  45. package/lib/components/forms/abstract-input.component.d.ts +7 -7
  46. package/lib/directives/command.directive.d.ts +6 -3
  47. package/lib/directives/focus-binding.directive.d.ts +1 -0
  48. package/lib/place/components/nav/nav.component.d.ts +7 -0
  49. package/lib/place/index.d.ts +1 -0
  50. package/lib/place/route/parameter-decorators.d.ts +17 -0
  51. package/lib/place/route/parameter-definition.class.d.ts +4 -3
  52. package/lib/place/route/route-parameter-sanitiser.d.ts +33 -6
  53. package/package.json +2 -2
  54. package/styles/styles.scss +15 -0
@@ -4,14 +4,36 @@
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Directive, ElementRef, HostListener, Inject, Input } from '@angular/core';
7
- import { assert, Dsl, GarbageCollector, UiCommand } from '@coolon/pectin';
7
+ import { assert, Dsl, GarbageCollector, lang, UnaryCommand } from '@coolon/pectin';
8
+ /**
9
+ * @template P
10
+ */
8
11
  var CommandDirective = /** @class */ (function (_super) {
9
12
  tslib_1.__extends(CommandDirective, _super);
10
13
  function CommandDirective(elementRef) {
11
14
  var _this = _super.call(this) || this;
12
15
  _this.elementRef = elementRef;
16
+ _this._commandParameterProvided = false;
13
17
  return _this;
14
18
  }
19
+ Object.defineProperty(CommandDirective.prototype, "commandParameter", {
20
+ get: /**
21
+ * @return {?}
22
+ */
23
+ function () {
24
+ return this._commandParameter;
25
+ },
26
+ set: /**
27
+ * @param {?} value
28
+ * @return {?}
29
+ */
30
+ function (value) {
31
+ this._commandParameterProvided = true;
32
+ this._commandParameter = value;
33
+ },
34
+ enumerable: true,
35
+ configurable: true
36
+ });
15
37
  /**
16
38
  * @return {?}
17
39
  */
@@ -20,6 +42,16 @@ var CommandDirective = /** @class */ (function (_super) {
20
42
  */
21
43
  function () {
22
44
  assert.notNil(this.pectinCommand);
45
+ if (this.pectinCommand instanceof UnaryCommand) {
46
+ if (!this._commandParameterProvided) {
47
+ lang.illegalState('UnaryCommands required the command parameter to be specified.');
48
+ }
49
+ }
50
+ else {
51
+ if (this._commandParameterProvided) {
52
+ lang.illegalState('command parameters are only supported by UnaryCommands');
53
+ }
54
+ }
23
55
  };
24
56
  /**
25
57
  * @return {?}
@@ -71,8 +103,13 @@ var CommandDirective = /** @class */ (function (_super) {
71
103
  function ($event) {
72
104
  $event.preventDefault();
73
105
  $event.stopPropagation();
74
- if (this.pectinCommand.isEnabled()) {
75
- this.pectinCommand.execute({ event: $event });
106
+ if (this.pectinCommand.enabled.value) {
107
+ if (this.pectinCommand instanceof UnaryCommand) {
108
+ this.pectinCommand.withContext({ event: $event }).execute(this.commandParameter);
109
+ }
110
+ else {
111
+ this.pectinCommand.withContext({ event: $event }).execute();
112
+ }
76
113
  }
77
114
  else {
78
115
  console.warn('disabled command clicked, ignoring.');
@@ -90,6 +127,7 @@ var CommandDirective = /** @class */ (function (_super) {
90
127
  ]; };
91
128
  CommandDirective.propDecorators = {
92
129
  pectinCommand: [{ type: Input }],
130
+ commandParameter: [{ type: Input }],
93
131
  notifyClick: [{ type: HostListener, args: ['click', ['$event'],] }]
94
132
  };
95
133
  return CommandDirective;
@@ -98,10 +136,20 @@ export { CommandDirective };
98
136
  if (false) {
99
137
  /** @type {?} */
100
138
  CommandDirective.prototype.pectinCommand;
139
+ /**
140
+ * @type {?}
141
+ * @private
142
+ */
143
+ CommandDirective.prototype._commandParameter;
144
+ /**
145
+ * @type {?}
146
+ * @private
147
+ */
148
+ CommandDirective.prototype._commandParameterProvided;
101
149
  /**
102
150
  * @type {?}
103
151
  * @private
104
152
  */
105
153
  CommandDirective.prototype.elementRef;
106
154
  }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9jb21tYW5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEU7SUFJc0MsNENBQWdCO0lBS3BELDBCQUF3QyxVQUFzQjtRQUE5RCxZQUNFLGlCQUFPLFNBQ1I7UUFGdUMsZ0JBQVUsR0FBVixVQUFVLENBQVk7O0lBRTlELENBQUM7Ozs7SUFFRCxtQ0FBUTs7O0lBQVI7UUFDRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7O0lBRUQsMENBQWU7OztJQUFmO1FBQUEsaUJBa0JDOzs7UUFmUSxJQUFBLG1DQUFLO1FBQ1osS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLE9BQU87WUFDdkQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMxRCxJQUFJLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxHQUFHLEVBQUU7b0JBQ2pELEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztpQkFDdkU7YUFDRjtpQkFBTTtnQkFDTCxLQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxHQUFHLEVBQUU7b0JBQ2pELEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDdkQ7YUFDRjtRQUNILENBQUMsRUFBQyxDQUFDO0lBRUwsQ0FBQzs7OztJQUVELHNDQUFXOzs7SUFBWDtRQUNFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7OztJQUlELHNDQUFXOzs7O0lBRFgsVUFDWSxNQUFhO1FBQ3ZCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7U0FDN0M7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7O2dCQW5ERixTQUFTLFNBQUM7O29CQUVULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzs7O2dCQU5pQyxVQUFVLHVCQVk3QixNQUFNLFNBQUMsVUFBVTs7O2dDQUg3QixLQUFLOzhCQW9DTCxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztJQVVuQyx1QkFBQztDQUFBLEFBcERELENBSXNDLGdCQUFnQixHQWdEckQ7U0FoRFksZ0JBQWdCOzs7SUFFM0IseUNBQ3NDOzs7OztJQUUxQixzQ0FBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Fzc2VydCwgRHNsLCBHYXJiYWdlQ29sbGVjdG9yLCBVaUNvbW1hbmR9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcGVjdGluQ29tbWFuZF0nXG59KVxuZXhwb3J0IGNsYXNzIENvbW1hbmREaXJlY3RpdmUgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpXG4gIHBlY3RpbkNvbW1hbmQ6IFVpQ29tbWFuZC5OdWxsYXJ5PGFueT47XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgYXNzZXJ0Lm5vdE5pbCh0aGlzLnBlY3RpbkNvbW1hbmQpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIGZvciBzb21lIHJlYXNvbiBtYXQtYnV0dG9ucyBraWxscyB0aGUgZGlzYWJsZWQgaG9zdCBiaW5kaW5nLiAgSXQgd29ya3Mgb24gYSByZWd1bGFyIGJ1dHRvbiBidXQgZm9yIG5vd1xuICAgIC8vIHdlIG5lZWQgdG8gZG8gdGhpcy5cbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluLnZhbHVlKHRoaXMucGVjdGluQ29tbWFuZC5lbmFibGVkKS5zdWJzY3JpYmUoZW5hYmxlZCA9PiB7XG4gICAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnQScpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnamF2YXNjcmlwdDp2b2lkJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKTtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG5vdGlmeUNsaWNrKCRldmVudDogRXZlbnQpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMucGVjdGluQ29tbWFuZC5pc0VuYWJsZWQoKSkge1xuICAgICAgdGhpcy5wZWN0aW5Db21tYW5kLmV4ZWN1dGUoe2V2ZW50OiAkZXZlbnR9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdkaXNhYmxlZCBjb21tYW5kIGNsaWNrZWQsIGlnbm9yaW5nLicpO1xuICAgIH1cbiAgfVxufVxuIl19
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9jb21tYW5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLE1BQU0sRUFBVyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRTVGO0lBSStDLDRDQUFnQjtJQWtCN0QsMEJBQXdDLFVBQXNCO1FBQTlELFlBQ0UsaUJBQU8sU0FDUjtRQUZ1QyxnQkFBVSxHQUFWLFVBQVUsQ0FBWTtRQVp0RCwrQkFBeUIsR0FBRyxLQUFLLENBQUM7O0lBYzFDLENBQUM7SUFaRCxzQkFDSSw4Q0FBZ0I7Ozs7UUFLcEI7WUFDRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNoQyxDQUFDOzs7OztRQVJELFVBQ3FCLEtBQVE7WUFDM0IsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztZQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLENBQUM7OztPQUFBOzs7O0lBVUQsbUNBQVE7OztJQUFSO1FBQ0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsYUFBYSxZQUFZLFlBQVksRUFBRTtZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO2dCQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLCtEQUErRCxDQUFDLENBQUM7YUFDcEY7U0FDRjthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsd0RBQXdELENBQUMsQ0FBQzthQUM3RTtTQUNGO0lBQ0gsQ0FBQzs7OztJQUVELDBDQUFlOzs7SUFBZjtRQUFBLGlCQWlCQzs7O1FBZFMsSUFBQSxtQ0FBSztRQUNiLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxPQUFPO1lBQ3ZELElBQUksT0FBTyxFQUFFO2dCQUNYLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxLQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssR0FBRyxFQUFFO29CQUNqRCxLQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUM7aUJBQ3ZFO2FBQ0Y7aUJBQU07Z0JBQ0wsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxLQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssR0FBRyxFQUFFO29CQUNqRCxLQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3ZEO2FBQ0Y7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxzQ0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7Ozs7SUFJRCxzQ0FBVzs7OztJQURYLFVBQ1ksTUFBYTtRQUN2QixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3BDLElBQUksSUFBSSxDQUFDLGFBQWEsWUFBWSxZQUFZLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ2xGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDN0Q7U0FDRjthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQzs7Z0JBNUVGLFNBQVMsU0FBQzs7b0JBRVQsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7Ozs7Z0JBTmtDLFVBQVUsdUJBeUI5QixNQUFNLFNBQUMsVUFBVTs7O2dDQWhCN0IsS0FBSzttQ0FNTCxLQUFLOzhCQW1ETCxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztJQWNuQyx1QkFBQztDQUFBLEFBN0VELENBSStDLGdCQUFnQixHQXlFOUQ7U0F6RVksZ0JBQWdCOzs7SUFFM0IseUNBQzhDOzs7OztJQUU5Qyw2Q0FBNEI7Ozs7O0lBQzVCLHFEQUEwQzs7Ozs7SUFZOUIsc0NBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnQsIENvbW1hbmQsIERzbCwgR2FyYmFnZUNvbGxlY3RvciwgbGFuZywgVW5hcnlDb21tYW5kIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1twZWN0aW5Db21tYW5kXSdcbn0pXG5leHBvcnQgY2xhc3MgQ29tbWFuZERpcmVjdGl2ZTxQID0gYW55PiBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3IgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KClcbiAgcGVjdGluQ29tbWFuZDogQ29tbWFuZDxhbnk+IHwgVW5hcnlDb21tYW5kPFA+O1xuXG4gIHByaXZhdGUgX2NvbW1hbmRQYXJhbWV0ZXI6UDtcbiAgcHJpdmF0ZSBfY29tbWFuZFBhcmFtZXRlclByb3ZpZGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbW1hbmRQYXJhbWV0ZXIodmFsdWU6IFApIHtcbiAgICB0aGlzLl9jb21tYW5kUGFyYW1ldGVyUHJvdmlkZWQgPSB0cnVlO1xuICAgIHRoaXMuX2NvbW1hbmRQYXJhbWV0ZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBjb21tYW5kUGFyYW1ldGVyKCk6IFAge1xuICAgIHJldHVybiB0aGlzLl9jb21tYW5kUGFyYW1ldGVyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgYXNzZXJ0Lm5vdE5pbCh0aGlzLnBlY3RpbkNvbW1hbmQpO1xuICAgIGlmICh0aGlzLnBlY3RpbkNvbW1hbmQgaW5zdGFuY2VvZiBVbmFyeUNvbW1hbmQpIHtcbiAgICAgIGlmICghdGhpcy5fY29tbWFuZFBhcmFtZXRlclByb3ZpZGVkKSB7XG4gICAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdVbmFyeUNvbW1hbmRzIHJlcXVpcmVkIHRoZSBjb21tYW5kIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQuJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLl9jb21tYW5kUGFyYW1ldGVyUHJvdmlkZWQpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ2NvbW1hbmQgcGFyYW1ldGVycyBhcmUgb25seSBzdXBwb3J0ZWQgYnkgVW5hcnlDb21tYW5kcycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBmb3Igc29tZSByZWFzb24gbWF0LWJ1dHRvbnMga2lsbHMgdGhlIGRpc2FibGVkIGhvc3QgYmluZGluZy4gIEl0IHdvcmtzIG9uIGEgcmVndWxhciBidXR0b24gYnV0IGZvciBub3dcbiAgICAvLyB3ZSBuZWVkIHRvIGRvIHRoaXMuXG4gICAgY29uc3QgeyBjaGFpbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluLnZhbHVlKHRoaXMucGVjdGluQ29tbWFuZC5lbmFibGVkKS5zdWJzY3JpYmUoZW5hYmxlZCA9PiB7XG4gICAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnQScpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnamF2YXNjcmlwdDp2b2lkJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKTtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxuXG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBub3RpZnlDbGljaygkZXZlbnQ6IEV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLnBlY3RpbkNvbW1hbmQuZW5hYmxlZC52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMucGVjdGluQ29tbWFuZCBpbnN0YW5jZW9mIFVuYXJ5Q29tbWFuZCkge1xuICAgICAgICB0aGlzLnBlY3RpbkNvbW1hbmQud2l0aENvbnRleHQoeyBldmVudDogJGV2ZW50IH0pLmV4ZWN1dGUodGhpcy5jb21tYW5kUGFyYW1ldGVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucGVjdGluQ29tbWFuZC53aXRoQ29udGV4dCh7IGV2ZW50OiAkZXZlbnQgfSkuZXhlY3V0ZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2Rpc2FibGVkIGNvbW1hbmQgY2xpY2tlZCwgaWdub3JpbmcuJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -24,7 +24,9 @@ var FocusBindingDirective = /** @class */ (function (_super) {
24
24
  * @return {?}
25
25
  */
26
26
  function () {
27
- this.pectinFocusBinding.focusCallbacks.notifyFocusIn();
27
+ if (this.hasBinding()) {
28
+ this.pectinFocusBinding.focusCallbacks.notifyFocusIn();
29
+ }
28
30
  };
29
31
  /**
30
32
  * @return {?}
@@ -33,7 +35,9 @@ var FocusBindingDirective = /** @class */ (function (_super) {
33
35
  * @return {?}
34
36
  */
35
37
  function () {
36
- this.pectinFocusBinding.focusCallbacks.notifyFocusOut();
38
+ if (this.hasBinding()) {
39
+ this.pectinFocusBinding.focusCallbacks.notifyFocusOut();
40
+ }
37
41
  };
38
42
  /**
39
43
  * @return {?}
@@ -52,16 +56,32 @@ var FocusBindingDirective = /** @class */ (function (_super) {
52
56
  function () {
53
57
  var _this = this;
54
58
  // TODO: Make this also track the current enabled/disabled state.
55
- var chain = Dsl.disposeWith(this).chain;
56
- chain.value(this.pectinFocusBinding.focused).subscribe((/**
57
- * @param {?} focused
58
- * @return {?}
59
- */
60
- function (focused) {
61
- if (focused && !_this.alreadyHasFocus()) {
62
- _this.tryAndFocus();
63
- }
64
- }));
59
+ if (this.hasBinding()) {
60
+ var chain = Dsl.disposeWith(this).chain;
61
+ chain.value(this.pectinFocusBinding.focused).subscribe((/**
62
+ * @param {?} focused
63
+ * @return {?}
64
+ */
65
+ function (focused) {
66
+ if (focused && !_this.alreadyHasFocus()) {
67
+ _this.tryAndFocus();
68
+ }
69
+ }));
70
+ }
71
+ else {
72
+ Logger.get(this).warn("pectinFocusBinding was nil");
73
+ }
74
+ };
75
+ /**
76
+ * @private
77
+ * @return {?}
78
+ */
79
+ FocusBindingDirective.prototype.hasBinding = /**
80
+ * @private
81
+ * @return {?}
82
+ */
83
+ function () {
84
+ return this.pectinFocusBinding && this.pectinFocusBinding.focused;
65
85
  };
66
86
  // Hook method for debugging via tracing.
67
87
  // Hook method for debugging via tracing.
@@ -146,7 +166,7 @@ var FocusBindingDirective = /** @class */ (function (_super) {
146
166
  * @return {?}
147
167
  */
148
168
  function () {
149
- return this.pectinFocusBinding.focused.value;
169
+ return this.hasBinding() && this.pectinFocusBinding.focused.value;
150
170
  };
151
171
  // Hook method for debugging via tracing.
152
172
  // Hook method for debugging via tracing.
@@ -208,4 +228,4 @@ if (false) {
208
228
  */
209
229
  FocusBindingDirective.prototype.ngZone;
210
230
  }
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtYmluZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9mb2N1cy1iaW5kaW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFHdkU7SUFJMkMsaURBQW1CO0lBaUI1RCwrQkFBaUQsRUFBYyxFQUNsQixNQUFjLEVBQzdCLFFBQWE7UUFGM0MsWUFHRSxpQkFBTyxTQUdSO1FBTmdELFFBQUUsR0FBRixFQUFFLENBQVk7UUFDbEIsWUFBTSxHQUFOLE1BQU0sQ0FBUTtRQUd6RCxrSEFBa0g7UUFDbEgsS0FBSSxDQUFDLFFBQVEsR0FBRyxtQkFBQSxRQUFRLEVBQVksQ0FBQzs7SUFDdkMsQ0FBQzs7OztJQWZELHlDQUFTOzs7SUFEVDtRQUVFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekQsQ0FBQzs7OztJQUdELDBDQUFVOzs7SUFEVjtRQUVFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUQsQ0FBQzs7OztJQVVELHdDQUFROzs7SUFBUjtJQUNBLENBQUM7Ozs7SUFFRCwrQ0FBZTs7O0lBQWY7UUFBQSxpQkFRQzs7UUFOUSxJQUFBLG1DQUFLO1FBQ1osS0FBSyxDQUFDLEtBQUss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OztJQUNuRCx1Q0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgTmdab25lLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEc2wsIEhhc0ZvY3VzVHJhY2tpbmcsIExvZ2dlcn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcblxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1twZWN0aW5Gb2N1c0JpbmRpbmddJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2N1c0JpbmRpbmdEaXJlY3RpdmUgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudDtcblxuICBASW5wdXQoKSBwZWN0aW5Gb2N1c0JpbmRpbmc6IEhhc0ZvY3VzVHJhY2tpbmc7XG4gIEBJbnB1dCgpIGZvY3VzQmluZGluZ1RhcmdldDogSFRNTEVsZW1lbnQ7XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicpXG4gIG9uRm9jdXNJbigpIHtcbiAgICB0aGlzLnBlY3RpbkZvY3VzQmluZGluZy5mb2N1c0NhbGxiYWNrcy5ub3RpZnlGb2N1c0luKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gIG9uRm9jdXNPdXQoKSB7XG4gICAgdGhpcy5wZWN0aW5Gb2N1c0JpbmRpbmcuZm9jdXNDYWxsYmFja3Mubm90aWZ5Rm9jdXNPdXQoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIEBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDk1MTMzNTkvY291bGQtbm90LXJlc29sdmUtdHlwZS1kb2N1bWVudC1pbi1hbmd1bGFyNS81MzcxNTY0MiM1MzcxNTY0MlxuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudCBhcyBEb2N1bWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIFRPRE86IE1ha2UgdGhpcyBhbHNvIHRyYWNrIHRoZSBjdXJyZW50IGVuYWJsZWQvZGlzYWJsZWQgc3RhdGUuXG4gICAgY29uc3Qge2NoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBjaGFpbi52YWx1ZSh0aGlzLnBlY3RpbkZvY3VzQmluZGluZy5mb2N1c2VkKS5zdWJzY3JpYmUoKGZvY3VzZWQpID0+IHtcbiAgICAgIGlmIChmb2N1c2VkICYmICF0aGlzLmFscmVhZHlIYXNGb2N1cygpKSB7XG4gICAgICAgIHRoaXMudHJ5QW5kRm9jdXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIEhvb2sgbWV0aG9kIGZvciBkZWJ1Z2dpbmcgdmlhIHRyYWNpbmcuXG4gIGFscmVhZHlIYXNGb2N1cygpIHtcbiAgICByZXR1cm4gdGhpcy5pc0ZvY3VzZWQodGhpcy5mb2N1c1RhcmdldCk7XG4gIH1cblxuICAvLyBIb29rIG1ldGhvZCBmb3IgZGVidWdnaW5nIHZpYSB0cmFjaW5nLlxuICBpc0ZvY3VzZWQoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGVsZW1lbnQ7XG4gIH1cblxuICB0cnlBbmRGb2N1cyhyZXRyaWVzOiBudW1iZXIgPSA1KSB7XG4gICAgaWYgKHRoaXMubW9kZWxTaG91bGRTdGlsbEhhdmVGb2N1cygpICYmIHRoaXMuY2FuRm9jdXMoKSkge1xuICAgICAgaWYgKCF0aGlzLmFscmVhZHlIYXNGb2N1cygpKSB7XG4gICAgICAgIHRoaXMuZm9jdXNUYXJnZXQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIC8vIGlmIHdlIGRpZG4ndCBnZXQgdGhlIGZvY3VzIHdlIHRyeSBhZ2FpbiBsYXRlci5cbiAgICAgIGlmICghdGhpcy5hbHJlYWR5SGFzRm9jdXMoKSkge1xuICAgICAgICBMb2dnZXIuZ2V0KHRoaXMpLmxvZyhgZm9jdXMgZmFpbGVkLCB0cnlpbmcgJHtyZXRyaWVzfSBtb3JlIHRpbWVzYCk7XG4gICAgICAgIGlmIChyZXRyaWVzID4gMCkge1xuICAgICAgICAgIC8vIHRyeSBhZ2FpbiBvbiB0aGUgbmV4dCBwYWludFxuICAgICAgICAgIC8vIFRPRE86IGlzIHRoZXJlIGFuIGFuZ3VsYXIgd2F5IG9mIGRvaW5nIHRoaXMgd2l0aG91dCBjYWxsaW5nIGEgd2luZG93IGZ1bmN0aW9uLlxuICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRyeUFuZEZvY3VzKHJldHJpZXMgLSAxKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBMb2dnZXIuZ2V0KHRoaXMpLndhcm4oYFRyaWVkIHRvIGZvY3VzIGJ1dCBnYXZlIHVwIGFzIHRoZSBjb21wb25lbnQgd2Fzbid0IGVuYWJsZWQgb3IgdmlzaWJsZS5gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBmb2N1c1RhcmdldCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZm9jdXNCaW5kaW5nVGFyZ2V0IHx8IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIC8vIEhvb2sgbWV0aG9kIGZvciBkZWJ1Z2dpbmcgdmlhIHRyYWNpbmcuXG4gIG1vZGVsU2hvdWxkU3RpbGxIYXZlRm9jdXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGVjdGluRm9jdXNCaW5kaW5nLmZvY3VzZWQudmFsdWU7XG4gIH1cblxuICAvLyBIb29rIG1ldGhvZCBmb3IgZGVidWdnaW5nIHZpYSB0cmFjaW5nLlxuICBjYW5Gb2N1cygpOiBib29sZWFuIHtcbiAgICBjb25zdCBkaW1lbnNpb24gPSB0aGlzLmZvY3VzVGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGhhc1NpemUgPSBkaW1lbnNpb24uaGVpZ2h0ID49IDAgJiYgZGltZW5zaW9uLmhlaWdodCA+PSAwO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zdHJpbmctbGl0ZXJhbFxuICAgIHJldHVybiBoYXNTaXplICYmICF0aGlzLmZvY3VzVGFyZ2V0WydkaXNhYmxlZCddO1xuICB9XG59XG4iXX0=
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtYmluZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9mb2N1cy1iaW5kaW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFHdkU7SUFJMkMsaURBQW1CO0lBcUI1RCwrQkFBaUQsRUFBYyxFQUNsQixNQUFjLEVBQzdCLFFBQWE7UUFGM0MsWUFHRSxpQkFBTyxTQUdSO1FBTmdELFFBQUUsR0FBRixFQUFFLENBQVk7UUFDbEIsWUFBTSxHQUFOLE1BQU0sQ0FBUTtRQUd6RCxrSEFBa0g7UUFDbEgsS0FBSSxDQUFDLFFBQVEsR0FBRyxtQkFBQSxRQUFRLEVBQVksQ0FBQzs7SUFDdkMsQ0FBQzs7OztJQW5CRCx5Q0FBUzs7O0lBRFQ7UUFFRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7OztJQUdELDBDQUFVOzs7SUFEVjtRQUVFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekQ7SUFDSCxDQUFDOzs7O0lBVUQsd0NBQVE7OztJ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QUFDOztnQkFwR0YsU0FBUyxTQUFDOztvQkFFVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzs7OztnQkFSaUMsVUFBVSx1QkE4QjdCLE1BQU0sU0FBQyxVQUFVO2dCQTlCMkMsTUFBTSx1QkErQmxFLE1BQU0sU0FBQyxNQUFNO2dEQUNiLE1BQU0sU0FBQyxRQUFROzs7cUNBbkIzQixLQUFLO3FDQUNMLEtBQUs7NEJBRUwsWUFBWSxTQUFDLFNBQVM7NkJBT3RCLFlBQVksU0FBQyxVQUFVOztJQW1GMUIsNEJBQUM7Q0FBQSxBQXJHRCxDQUkyQyxtQkFBbUIsR0FpRzdEO1NBakdZLHFCQUFxQjs7Ozs7O0lBRWhDLHlDQUFvQzs7SUFFcEMsbURBQThDOztJQUM5QyxtREFBeUM7Ozs7O0lBZ0I3QixtQ0FBbUQ7Ozs7O0lBQ25ELHVDQUErQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBOZ1pvbmUsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RzbCwgSGFzRm9jdXNUcmFja2luZywgTG9nZ2VyfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQge0Rpc3Bvc2FibGVDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW3BlY3RpbkZvY3VzQmluZGluZ10nXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzQmluZGluZ0RpcmVjdGl2ZSBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50O1xuXG4gIEBJbnB1dCgpIHBlY3RpbkZvY3VzQmluZGluZzogSGFzRm9jdXNUcmFja2luZztcbiAgQElucHV0KCkgZm9jdXNCaW5kaW5nVGFyZ2V0OiBIVE1MRWxlbWVudDtcblxuICBASG9zdExpc3RlbmVyKCdmb2N1c2luJylcbiAgb25Gb2N1c0luKCkge1xuICAgIGlmICh0aGlzLmhhc0JpbmRpbmcoKSkge1xuICAgICAgdGhpcy5wZWN0aW5Gb2N1c0JpbmRpbmcuZm9jdXNDYWxsYmFja3Mubm90aWZ5Rm9jdXNJbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgb25Gb2N1c091dCgpIHtcbiAgICBpZiAodGhpcy5oYXNCaW5kaW5nKCkpIHtcbiAgICAgIHRoaXMucGVjdGluRm9jdXNCaW5kaW5nLmZvY3VzQ2FsbGJhY2tzLm5vdGlmeUZvY3VzT3V0KCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBASW5qZWN0KE5nWm9uZSkgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xuICAgIHN1cGVyKCk7XG4gICAgLy8gQHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80OTUxMzM1OS9jb3VsZC1ub3QtcmVzb2x2ZS10eXBlLWRvY3VtZW50LWluLWFuZ3VsYXI1LzUzNzE1NjQyIzUzNzE1NjQyXG4gICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50IGFzIERvY3VtZW50O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gVE9ETzogTWFrZSB0aGlzIGFsc28gdHJhY2sgdGhlIGN1cnJlbnQgZW5hYmxlZC9kaXNhYmxlZCBzdGF0ZS5cbiAgICBpZiAodGhpcy5oYXNCaW5kaW5nKCkpIHtcbiAgICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgICBjaGFpbi52YWx1ZSh0aGlzLnBlY3RpbkZvY3VzQmluZGluZy5mb2N1c2VkKS5zdWJzY3JpYmUoKGZvY3VzZWQpID0+IHtcbiAgICAgICAgaWYgKGZvY3VzZWQgJiYgIXRoaXMuYWxyZWFkeUhhc0ZvY3VzKCkpIHtcbiAgICAgICAgICB0aGlzLnRyeUFuZEZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBMb2dnZXIuZ2V0KHRoaXMpLndhcm4oXCJwZWN0aW5Gb2N1c0JpbmRpbmcgd2FzIG5pbFwiKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc0JpbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMucGVjdGluRm9jdXNCaW5kaW5nICYmIHRoaXMucGVjdGluRm9jdXNCaW5kaW5nLmZvY3VzZWQ7XG4gIH1cblxuLy8gSG9vayBtZXRob2QgZm9yIGRlYnVnZ2luZyB2aWEgdHJhY2luZy5cbiAgYWxyZWFkeUhhc0ZvY3VzKCkge1xuICAgIHJldHVybiB0aGlzLmlzRm9jdXNlZCh0aGlzLmZvY3VzVGFyZ2V0KTtcbiAgfVxuXG4gIC8vIEhvb2sgbWV0aG9kIGZvciBkZWJ1Z2dpbmcgdmlhIHRyYWNpbmcuXG4gIGlzRm9jdXNlZChlbGVtZW50OiBFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZWxlbWVudDtcbiAgfVxuXG4gIHRyeUFuZEZvY3VzKHJldHJpZXM6IG51bWJlciA9IDUpIHtcbiAgICBpZiAodGhpcy5tb2RlbFNob3VsZFN0aWxsSGF2ZUZvY3VzKCkgJiYgdGhpcy5jYW5Gb2N1cygpKSB7XG4gICAgICBpZiAoIXRoaXMuYWxyZWFkeUhhc0ZvY3VzKCkpIHtcbiAgICAgICAgdGhpcy5mb2N1c1RhcmdldC5mb2N1cygpO1xuICAgICAgfVxuICAgICAgLy8gaWYgd2UgZGlkbid0IGdldCB0aGUgZm9jdXMgd2UgdHJ5IGFnYWluIGxhdGVyLlxuICAgICAgaWYgKCF0aGlzLmFscmVhZHlIYXNGb2N1cygpKSB7XG4gICAgICAgIExvZ2dlci5nZXQodGhpcykubG9nKGBmb2N1cyBmYWlsZWQsIHRyeWluZyAke3JldHJpZXN9IG1vcmUgdGltZXNgKTtcbiAgICAgICAgaWYgKHJldHJpZXMgPiAwKSB7XG4gICAgICAgICAgLy8gdHJ5IGFnYWluIG9uIHRoZSBuZXh0IHBhaW50XG4gICAgICAgICAgLy8gVE9ETzogaXMgdGhlcmUgYW4gYW5ndWxhciB3YXkgb2YgZG9pbmcgdGhpcyB3aXRob3V0IGNhbGxpbmcgYSB3aW5kb3cgZnVuY3Rpb24uXG4gICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudHJ5QW5kRm9jdXMocmV0cmllcyAtIDEpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIExvZ2dlci5nZXQodGhpcykud2FybihgVHJpZWQgdG8gZm9jdXMgYnV0IGdhdmUgdXAgYXMgdGhlIGNvbXBvbmVudCB3YXNuJ3QgZW5hYmxlZCBvciB2aXNpYmxlLmApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZvY3VzVGFyZ2V0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mb2N1c0JpbmRpbmdUYXJnZXQgfHwgdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgLy8gSG9vayBtZXRob2QgZm9yIGRlYnVnZ2luZyB2aWEgdHJhY2luZy5cbiAgbW9kZWxTaG91bGRTdGlsbEhhdmVGb2N1cygpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNCaW5kaW5nKCkgJiYgdGhpcy5wZWN0aW5Gb2N1c0JpbmRpbmcuZm9jdXNlZC52YWx1ZTtcbiAgfVxuXG4gIC8vIEhvb2sgbWV0aG9kIGZvciBkZWJ1Z2dpbmcgdmlhIHRyYWNpbmcuXG4gIGNhbkZvY3VzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRpbWVuc2lvbiA9IHRoaXMuZm9jdXNUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgaGFzU2l6ZSA9IGRpbWVuc2lvbi5oZWlnaHQgPj0gMCAmJiBkaW1lbnNpb24uaGVpZ2h0ID49IDA7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXN0cmluZy1saXRlcmFsXG4gICAgcmV0dXJuIGhhc1NpemUgJiYgIXRoaXMuZm9jdXNUYXJnZXRbJ2Rpc2FibGVkJ107XG4gIH1cbn1cbiJdfQ==
@@ -25,7 +25,7 @@ var AlertDialogComponent = /** @class */ (function (_super) {
25
25
  { type: Component, args: [{
26
26
  selector: 'angular-ui-powerups-alert-dialog',
27
27
  template: "<h3 matDialogTitle *ngIf=\"alert.title\">{{alert.title()}}</h3>\n<div matDialogContent>\n <p *ngFor=\"let line of alert.content()\">{{line}}</p>\n</div>\n<p matDialogActions>\n <button mat-raised-button color=\"primary\" (click)=\"done()\">{{alert.ok()}}</button>\n</p>\n",
28
- styles: [":host{display:block;padding:var(--default-padding)}.mat-dialog-actions{justify-content:flex-end}"]
28
+ styles: [":host{display:block;padding:var(--angular-ui-powerups-default-padding)}.mat-dialog-actions{justify-content:flex-end}"]
29
29
  }] }
30
30
  ];
31
31
  /** @nocollapse */
@@ -37,7 +37,7 @@ var ConfirmationDialogComponent = /** @class */ (function (_super) {
37
37
  { type: Component, args: [{
38
38
  selector: 'angular-ui-powerups-confirmation-dialog',
39
39
  template: "<h3 matDialogTitle *ngIf=\"confirm.title\">{{confirm.title()}}</h3>\n<div matDialogContent>\n <p *ngFor=\"let line of confirm.content()\">{{line}}</p>\n</div>\n<p matDialogActions>\n <button mat-button (click)=\"cancel()\">{{confirm.cancel()}}</button>\n <button mat-raised-button [color]=\"isDestructive() ? 'warn' : 'primary'\" (click)=\"done(true)\">{{confirm.ok()}}</button>\n</p>\n\n",
40
- styles: [":host{display:block;padding:var(--default-padding)}.mat-dialog-actions{justify-content:flex-end}"]
40
+ styles: [":host{display:block;padding:var(--angular-ui-powerups-default-padding)}.mat-dialog-actions{justify-content:flex-end}"]
41
41
  }] }
42
42
  ];
43
43
  /** @nocollapse */
@@ -18,7 +18,7 @@ var EmptyStateComponent = /** @class */ (function () {
18
18
  { type: Component, args: [{
19
19
  selector: 'angular-ui-powerups-empty-state',
20
20
  template: "\n <div class=\"container\">\n <ng-content></ng-content>\n </div>\n ",
21
- styles: [":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{padding:var(--default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]
21
+ styles: [":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{padding:var(--angular-ui-powerups-default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]
22
22
  }] }
23
23
  ];
24
24
  /** @nocollapse */
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Input } from '@angular/core';
6
+ var NavComponent = /** @class */ (function () {
7
+ function NavComponent() {
8
+ }
9
+ /**
10
+ * @return {?}
11
+ */
12
+ NavComponent.prototype.ngOnInit = /**
13
+ * @return {?}
14
+ */
15
+ function () {
16
+ };
17
+ NavComponent.decorators = [
18
+ { type: Component, args: [{
19
+ selector: 'angular-ui-powerups-nav',
20
+ template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let place of places\" [routerLink]='place.path'\n routerLinkActive #rla=\"routerLinkActive\"\n [active]=\"rla.isActive\"\n [matTooltip]=\"place.title\">{{place.title}}</a>\n</nav>\n\n",
21
+ styles: [""]
22
+ }] }
23
+ ];
24
+ /** @nocollapse */
25
+ NavComponent.ctorParameters = function () { return []; };
26
+ NavComponent.propDecorators = {
27
+ places: [{ type: Input }]
28
+ };
29
+ return NavComponent;
30
+ }());
31
+ export { NavComponent };
32
+ if (false) {
33
+ /** @type {?} */
34
+ NavComponent.prototype.places;
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL25hdi9uYXYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUl0RTtJQVVFO0lBQ0EsQ0FBQzs7OztJQUVELCtCQUFROzs7SUFBUjtJQUNBLENBQUM7O2dCQWRGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxrUUFBbUM7O2lCQUVwQzs7Ozs7eUJBR0UsS0FBSzs7SUFTUixtQkFBQztDQUFBLEFBaEJELElBZ0JDO1NBWFksWUFBWTs7O0lBRXZCLDhCQUMyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlIH0gZnJvbSAnLi4vLi4vcGxhY2UuZGVjb3JhdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBwbGFjZXM6IFBsYWNlLkRlc2NyaXB0b3JbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbn1cbiJdfQ==
@@ -31,8 +31,8 @@ var PlaceRouteGuard = /** @class */ (function () {
31
31
  /** @type {?} */
32
32
  var routeParameters = Klass.get(route.component).getMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY);
33
33
  /** @type {?} */
34
- var sanitiser = new RouteParameterSanitiser(routeParameters, this.injector);
35
- return sanitiser.sanitise(route).then((/**
34
+ var sanitiser = new RouteParameterSanitiser(routeParameters, route, this.injector);
35
+ return sanitiser.sanitise().then((/**
36
36
  * @param {?} proceed
37
37
  * @return {?}
38
38
  */
@@ -75,4 +75,4 @@ if (false) {
75
75
  */
76
76
  PlaceRouteGuard.prototype.injector;
77
77
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLXJvdXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUNMLHNCQUFzQixFQUd0QixNQUFNLEVBQ04sbUJBQW1CLEVBRXBCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRTdFO0lBS0UseUJBQW9CLE1BQWMsRUFBVSxRQUFrQjtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RCxDQUFDOzs7Ozs7SUFHRCxxQ0FBVzs7Ozs7SUFBWCxVQUFZLEtBQTZCLEVBQUUsS0FBMEI7UUFEckUsaUJBVUM7O1lBUk8sZUFBZSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyx3QkFBd0IsQ0FBQzs7WUFDN0csU0FBUyxHQUFHLElBQUksdUJBQXVCLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0UsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLE9BQU87WUFDM0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDWixTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNqQztZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBbEJGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBYkMsTUFBTTtnQkFMYSxRQUFROzs7SUF5QjNCO1FBREMsS0FBSyxFQUFFOztpREFDVyxzQkFBc0IsRUFBUyxtQkFBbUI7O3NEQVNwRTswQkFsQ0g7Q0FvQ0MsQUFwQkQsSUFvQkM7U0FqQlksZUFBZTs7Ozs7O0lBRWQsaUNBQXNCOzs7OztJQUFFLG1DQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBDYW5BY3RpdmF0ZSxcbiAgQ2FuRGVhY3RpdmF0ZSxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBVcmxUcmVlXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEtsYXNzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZVBhcmFtZXRlckJpbmRpbmdzIH0gZnJvbSAnLi4vcm91dGUvcm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzJztcbmltcG9ydCB7IFJvdXRlUGFyYW1ldGVyU2FuaXRpc2VyIH0gZnJvbSAnLi4vcm91dGUvcm91dGUtcGFyYW1ldGVyLXNhbml0aXNlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlUm91dGVHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICB9XG5cbiAgQFRyYWNlKClcbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICBjb25zdCByb3V0ZVBhcmFtZXRlcnMgPSBLbGFzcy5nZXQocm91dGUuY29tcG9uZW50KS5nZXRNZXRhZGF0YUxpc3QoUm91dGVQYXJhbWV0ZXJCaW5kaW5ncy5ST1VURV9QQVJBTUVURVJfTElTVF9LRVkpO1xuICAgIGNvbnN0IHNhbml0aXNlciA9IG5ldyBSb3V0ZVBhcmFtZXRlclNhbml0aXNlcihyb3V0ZVBhcmFtZXRlcnMsIHRoaXMuaW5qZWN0b3IpO1xuICAgIHJldHVybiBzYW5pdGlzZXIuc2FuaXRpc2Uocm91dGUpLnRoZW4ocHJvY2VlZCA9PiB7XG4gICAgICBpZiAoIXByb2NlZWQpIHtcbiAgICAgICAgc2FuaXRpc2VyLnJlZGlyZWN0KHRoaXMucm91dGVyKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcm9jZWVkO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLXJvdXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUNMLHNCQUFzQixFQUd0QixNQUFNLEVBQ04sbUJBQW1CLEVBRXBCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRTdFO0lBS0UseUJBQW9CLE1BQWMsRUFBVSxRQUFrQjtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RCxDQUFDOzs7Ozs7SUFHRCxxQ0FBVzs7Ozs7SUFBWCxVQUFZLEtBQTZCLEVBQUUsS0FBMEI7UUFEckUsaUJBVUM7O1lBUk8sZUFBZSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyx3QkFBd0IsQ0FBQzs7WUFDN0csU0FBUyxHQUFHLElBQUksdUJBQXVCLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3BGLE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLE9BQU87WUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDWixTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNqQztZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBbEJGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBYkMsTUFBTTtnQkFMYSxRQUFROzs7SUF5QjNCO1FBREMsS0FBSyxFQUFFOztpREFDVyxzQkFBc0IsRUFBUyxtQkFBbUI7O3NEQVNwRTswQkFsQ0g7Q0FvQ0MsQUFwQkQsSUFvQkM7U0FqQlksZUFBZTs7Ozs7O0lBRWQsaUNBQXNCOzs7OztJQUFFLG1DQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBDYW5BY3RpdmF0ZSxcbiAgQ2FuRGVhY3RpdmF0ZSxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBVcmxUcmVlXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEtsYXNzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZVBhcmFtZXRlckJpbmRpbmdzIH0gZnJvbSAnLi4vcm91dGUvcm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzJztcbmltcG9ydCB7IFJvdXRlUGFyYW1ldGVyU2FuaXRpc2VyIH0gZnJvbSAnLi4vcm91dGUvcm91dGUtcGFyYW1ldGVyLXNhbml0aXNlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlUm91dGVHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICB9XG5cbiAgQFRyYWNlKClcbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICBjb25zdCByb3V0ZVBhcmFtZXRlcnMgPSBLbGFzcy5nZXQocm91dGUuY29tcG9uZW50KS5nZXRNZXRhZGF0YUxpc3QoUm91dGVQYXJhbWV0ZXJCaW5kaW5ncy5ST1VURV9QQVJBTUVURVJfTElTVF9LRVkpO1xuICAgIGNvbnN0IHNhbml0aXNlciA9IG5ldyBSb3V0ZVBhcmFtZXRlclNhbml0aXNlcihyb3V0ZVBhcmFtZXRlcnMsIHJvdXRlLCB0aGlzLmluamVjdG9yKTtcbiAgICByZXR1cm4gc2FuaXRpc2VyLnNhbml0aXNlKCkudGhlbihwcm9jZWVkID0+IHtcbiAgICAgIGlmICghcHJvY2VlZCkge1xuICAgICAgICBzYW5pdGlzZXIucmVkaXJlY3QodGhpcy5yb3V0ZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb2NlZWQ7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
@@ -12,14 +12,15 @@ export { PlaceModule } from "./place.module";
12
12
  export { PlaceService } from "./place.service";
13
13
  export { BusyOverlayComponent } from "./components/busy-overlay/busy-overlay.component";
14
14
  export { EmptyStateComponent } from "./components/empty-state/empty-state.component";
15
+ export { NavComponent } from "./components/nav/nav.component";
15
16
  export { PlaceOutletComponent } from "./components/place-outlet/place-outlet.component";
16
17
  export { LeavePlaceGuard } from "./guards/leave-place.guard";
17
18
  export { PlaceRouteGuard } from "./guards/place-route.guard";
18
19
  export {} from "./route/json-types";
19
- export { RouteId, QueryParameter } from "./route/parameter-decorators";
20
+ export { RouteId, QueryParameter, RouteParameter, QueryParameterList, RouteParameterList } from "./route/parameter-decorators";
20
21
  export {} from "./route/parameter-definition.class";
21
22
  export {} from "./route/parameter-sanitiser";
22
23
  export { ParameterType } from "./route/parameter-type";
23
24
  export { RouteParameterBindings } from "./route/route-parameter-bindings";
24
- export { RouteParameterSanitiser } from "./route/route-parameter-sanitiser";
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLHVDQUFjLDRCQUE0QixDQUFDO0FBQzNDLGVBQWMsbUJBQW1CLENBQUM7QUFDbEMsc0JBQWMsbUJBQW1CLENBQUM7QUFDbEMsNEJBQWMsZ0JBQWdCLENBQUM7QUFDL0IsNkJBQWMsaUJBQWlCLENBQUM7QUFDaEMscUNBQWMsa0RBQWtELENBQUM7QUFDakUsb0NBQWMsZ0RBQWdELENBQUM7QUFDL0QscUNBQWMsa0RBQWtELENBQUM7QUFDakUsZ0NBQWMsNEJBQTRCLENBQUM7QUFDM0MsZ0NBQWMsNEJBQTRCLENBQUM7QUFDM0MsZUFBYyxvQkFBb0IsQ0FBQztBQUNuQyx3Q0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxlQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGVBQWMsNkJBQTZCLENBQUM7QUFDNUMsOEJBQWMsd0JBQXdCLENBQUM7QUFDdkMsdUNBQWMsa0NBQWtDLENBQUM7QUFDakQsd0NBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGJhcnJlbHNieS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9hYnN0cmFjdC1wbGFjZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLWNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UuZGVjb3JhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYnVzeS1vdmVybGF5L2J1c3ktb3ZlcmxheS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbGVhdmUtcGxhY2UuZ3VhcmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9wbGFjZS1yb3V0ZS5ndWFyZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvanNvbi10eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItdHlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9yb3V0ZS1wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG4iXX0=
25
+ export { Sanitiser, RouteParameterSanitiser } from "./route/route-parameter-sanitiser";
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLHVDQUFjLDRCQUE0QixDQUFDO0FBQzNDLGVBQWMsbUJBQW1CLENBQUM7QUFDbEMsc0JBQWMsbUJBQW1CLENBQUM7QUFDbEMsNEJBQWMsZ0JBQWdCLENBQUM7QUFDL0IsNkJBQWMsaUJBQWlCLENBQUM7QUFDaEMscUNBQWMsa0RBQWtELENBQUM7QUFDakUsb0NBQWMsZ0RBQWdELENBQUM7QUFDL0QsNkJBQWMsZ0NBQWdDLENBQUM7QUFDL0MscUNBQWMsa0RBQWtELENBQUM7QUFDakUsZ0NBQWMsNEJBQTRCLENBQUM7QUFDM0MsZ0NBQWMsNEJBQTRCLENBQUM7QUFDM0MsZUFBYyxvQkFBb0IsQ0FBQztBQUNuQyxnR0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxlQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGVBQWMsNkJBQTZCLENBQUM7QUFDNUMsOEJBQWMsd0JBQXdCLENBQUM7QUFDdkMsdUNBQWMsa0NBQWtDLENBQUM7QUFDakQsbURBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGJhcnJlbHNieS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9hYnN0cmFjdC1wbGFjZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLWNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UuZGVjb3JhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYnVzeS1vdmVybGF5L2J1c3ktb3ZlcmxheS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL25hdi9uYXYuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbGVhdmUtcGxhY2UuZ3VhcmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9wbGFjZS1yb3V0ZS5ndWFyZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvanNvbi10eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItdHlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9yb3V0ZS1wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG4iXX0=
@@ -5,11 +5,16 @@
5
5
  import { CommonModule } from '@angular/common';
6
6
  import { NgModule } from '@angular/core';
7
7
  import { MatProgressSpinnerModule } from '@angular/material';
8
+ import { MatListModule } from '@angular/material/list';
9
+ import { MatTabsModule } from '@angular/material/tabs';
10
+ import { MatTooltipModule } from '@angular/material/tooltip';
11
+ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
8
12
  import { RouterModule } from '@angular/router';
9
13
  import { BusyOverlayComponent } from './components/busy-overlay/busy-overlay.component';
10
14
  import { EmptyStateComponent } from './components/empty-state/empty-state.component';
11
- import { PlaceService } from './place.service';
15
+ import { NavComponent } from './components/nav/nav.component';
12
16
  import { PlaceOutletComponent } from './components/place-outlet/place-outlet.component';
17
+ import { PlaceService } from './place.service';
13
18
  var PlaceModule = /** @class */ (function () {
14
19
  function PlaceModule() {
15
20
  }
@@ -17,19 +22,25 @@ var PlaceModule = /** @class */ (function () {
17
22
  { type: NgModule, args: [{
18
23
  imports: [
19
24
  CommonModule,
25
+ BrowserAnimationsModule,
20
26
  MatProgressSpinnerModule,
21
- RouterModule
27
+ RouterModule,
28
+ MatTabsModule,
29
+ MatListModule,
30
+ MatTooltipModule
22
31
  ],
23
32
  declarations: [
24
33
  EmptyStateComponent,
25
34
  BusyOverlayComponent,
26
- PlaceOutletComponent
35
+ PlaceOutletComponent,
36
+ NavComponent
27
37
  ],
28
38
  entryComponents: [BusyOverlayComponent],
29
39
  exports: [
30
40
  BusyOverlayComponent,
31
41
  PlaceOutletComponent,
32
- EmptyStateComponent
42
+ EmptyStateComponent,
43
+ NavComponent
33
44
  ],
34
45
  providers: [
35
46
  PlaceService
@@ -39,4 +50,4 @@ var PlaceModule = /** @class */ (function () {
39
50
  return PlaceModule;
40
51
  }());
41
52
  export { PlaceModule };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUV4RjtJQUFBO0lBdUJBLENBQUM7O2dCQXZCQSxRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4QixZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3FCQUNyQjtvQkFDRCxlQUFlLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDdkMsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxZQUFZO3FCQUNiO2lCQUNGOztJQUdELGtCQUFDO0NBQUEsQUF2QkQsSUF1QkM7U0FGWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQnVzeU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnVzeS1vdmVybGF5L2J1c3ktb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VTZXJ2aWNlIH0gZnJvbSAnLi9wbGFjZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBsYWNlT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgQnVzeU92ZXJsYXlDb21wb25lbnQsXG4gICAgUGxhY2VPdXRsZXRDb21wb25lbnRcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbQnVzeU92ZXJsYXlDb21wb25lbnRdLFxuICBleHBvcnRzOiBbXG4gICAgQnVzeU92ZXJsYXlDb21wb25lbnQsXG4gICAgUGxhY2VPdXRsZXRDb21wb25lbnQsXG4gICAgRW1wdHlTdGF0ZUNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBQbGFjZVNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZU1vZHVsZSB7XG5cbn1cbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQztJQUFBO0lBNkJBLENBQUM7O2dCQTdCQSxRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLFlBQVk7cUJBQ2I7b0JBQ0QsZUFBZSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixZQUFZO3FCQUNiO29CQUNELFNBQVMsRUFBRTt3QkFDVCxZQUFZO3FCQUNiO2lCQUNGOztJQUdELGtCQUFDO0NBQUEsQUE3QkQsSUE2QkM7U0FGWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQnVzeU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnVzeS1vdmVybGF5L2J1c3ktb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdi9uYXYuY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlU2VydmljZSB9IGZyb20gJy4vcGxhY2Uuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIEJ1c3lPdmVybGF5Q29tcG9uZW50LFxuICAgIFBsYWNlT3V0bGV0Q29tcG9uZW50LFxuICAgIE5hdkNvbXBvbmVudFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtCdXN5T3ZlcmxheUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXN5T3ZlcmxheUNvbXBvbmVudCxcbiAgICBQbGFjZU91dGxldENvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIE5hdkNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBQbGFjZVNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZU1vZHVsZSB7XG5cbn1cbiJdfQ==
@@ -16,6 +16,17 @@ if (false) {
16
16
  /** @type {?|undefined} */
17
17
  ParameterOptions.prototype.sanitiser;
18
18
  }
19
+ /**
20
+ * @record
21
+ * @template T
22
+ */
23
+ export function ListParameterOptions() { }
24
+ if (false) {
25
+ /** @type {?|undefined} */
26
+ ListParameterOptions.prototype.as;
27
+ /** @type {?|undefined} */
28
+ ListParameterOptions.prototype.listSanitiser;
29
+ }
19
30
  /**
20
31
  * @template T
21
32
  * @param {?} type
@@ -37,12 +48,22 @@ export function RouteId(type, options) {
37
48
  });
38
49
  }
39
50
  /**
51
+ * @deprecated use RouteParameter instead.
40
52
  * @template T
41
53
  * @param {?} type
42
54
  * @param {?=} options
43
55
  * @return {?}
44
56
  */
45
57
  export function QueryParameter(type, options) {
58
+ return RouteParameter(type, options);
59
+ }
60
+ /**
61
+ * @template T
62
+ * @param {?} type
63
+ * @param {?=} options
64
+ * @return {?}
65
+ */
66
+ export function RouteParameter(type, options) {
46
67
  // assert.isTruthy(type.isValid());
47
68
  return (/**
48
69
  * @param {?} prototype
@@ -56,6 +77,36 @@ export function QueryParameter(type, options) {
56
77
  UseDelegate()(prototype, propertyKey);
57
78
  });
58
79
  }
80
+ /**
81
+ * @deprecated use RouteParameterList instead
82
+ * @template E
83
+ * @param {?} elementType
84
+ * @param {?=} options
85
+ * @return {?}
86
+ */
87
+ export function QueryParameterList(elementType, options) {
88
+ return RouteParameterList(elementType, options);
89
+ }
90
+ /**
91
+ * @template E
92
+ * @param {?} elementType
93
+ * @param {?=} options
94
+ * @return {?}
95
+ */
96
+ export function RouteParameterList(elementType, options) {
97
+ // assert.isTruthy(type.isValid());
98
+ return (/**
99
+ * @param {?} prototype
100
+ * @param {?} propertyKey
101
+ * @return {?}
102
+ */
103
+ function (prototype, propertyKey) {
104
+ /** @type {?} */
105
+ var param = createArrayDefinition(propertyKey, elementType, options);
106
+ Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
107
+ UseDelegate()(prototype, propertyKey);
108
+ });
109
+ }
59
110
  /**
60
111
  * @template T
61
112
  * @param {?} propertyName
@@ -75,8 +126,32 @@ function createDefinition(propertyName, type, options, routeId) {
75
126
  propertyName: propertyNameAsString,
76
127
  type: assert.notNil(type),
77
128
  sanitiser: opts.getOptional('sanitiser', null),
78
- isRouteId: routeId
129
+ isRouteId: routeId,
130
+ isArray: false
131
+ };
132
+ return def;
133
+ }
134
+ /**
135
+ * @template T
136
+ * @param {?} propertyName
137
+ * @param {?} type
138
+ * @param {?} options
139
+ * @return {?}
140
+ */
141
+ function createArrayDefinition(propertyName, type, options) {
142
+ /** @type {?} */
143
+ var opts = Opts.get(options);
144
+ /** @type {?} */
145
+ var propertyNameAsString = assert.notNil(propertyName).toString();
146
+ /** @type {?} */
147
+ var def = {
148
+ name: opts.getOptional('as', propertyNameAsString),
149
+ propertyName: propertyNameAsString,
150
+ type: assert.notNil(type),
151
+ sanitiser: opts.getOptional('listSanitiser', null),
152
+ isRouteId: false,
153
+ isArray: true
79
154
  };
80
155
  return def;
81
156
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBRXBFLHNDQUdDOzs7SUFGQyw4QkFBWTs7SUFDWixxQ0FBaUQ7Ozs7Ozs7O0FBR25ELE1BQU0sVUFBVSxPQUFPLENBQTRCLElBQXNCLEVBQUUsT0FBNkI7SUFDdEcsbUNBQW1DO0lBQ25DOzs7OztJQUFPLFVBQUMsU0FBaUIsRUFBRSxXQUE0Qjs7WUFDL0MsS0FBSyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQztRQUNoRSxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xHLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4QyxDQUFDLEVBQUM7QUFDSixDQUFDOzs7Ozs7O0FBR0QsTUFBTSxVQUFVLGNBQWMsQ0FBSSxJQUFzQixFQUFFLE9BQTZCO0lBQ3JGLG1DQUFtQztJQUNuQzs7Ozs7SUFBTyxVQUFDLFNBQWlCLEVBQUUsV0FBNEI7O1lBQy9DLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7UUFDakUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7Ozs7O0FBRUQsU0FBUyxnQkFBZ0IsQ0FBSSxZQUE2QixFQUFFLElBQXNCLEVBQUUsT0FBNEIsRUFBRSxPQUFnQjs7UUFDMUgsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDOztRQUN4QixvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTs7UUFDN0QsR0FBRyxHQUEyQjtRQUNsQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7UUFDbEQsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztRQUM5QyxTQUFTLEVBQUUsT0FBTztLQUNuQjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydCwgQ29uc3RydWN0YWJsZSwgVXNlRGVsZWdhdGUgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBLbGFzcywgT3B0cyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2FuaXRpc2VyIH0gZnJvbSAnLi9wYXJhbWV0ZXItc2FuaXRpc2VyJztcbmltcG9ydCB7IFBhcmFtZXRlclR5cGUgfSBmcm9tICcuL3BhcmFtZXRlci10eXBlJztcbmltcG9ydCB7IFJvdXRlUGFyYW1ldGVyQmluZGluZ3MgfSBmcm9tICcuL3JvdXRlLXBhcmFtZXRlci1iaW5kaW5ncyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSb3V0ZUlkPFQgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXI+KHR5cGU6IFBhcmFtZXRlclR5cGU8VD4sIG9wdGlvbnM/OiBQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICAvLyBhc3NlcnQuaXNUcnV0aHkodHlwZS5pc1ZhbGlkKCkpO1xuICByZXR1cm4gKHByb3RvdHlwZTogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBjcmVhdGVEZWZpbml0aW9uKHByb3BlcnR5S2V5LCB0eXBlLCBvcHRpb25zLCB0cnVlKTtcbiAgICBLbGFzcy5nZXQocHJvdG90eXBlKS5hZGRUb093bk1ldGFkYXRhTGlzdChSb3V0ZVBhcmFtZXRlckJpbmRpbmdzLlJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW0pO1xuICAgIFVzZURlbGVnYXRlKCkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSk7XG4gIH07XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1ZXJ5UGFyYW1ldGVyPFQ+KHR5cGU6IFBhcmFtZXRlclR5cGU8VD4sIG9wdGlvbnM/OiBQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICAvLyBhc3NlcnQuaXNUcnV0aHkodHlwZS5pc1ZhbGlkKCkpO1xuICByZXR1cm4gKHByb3RvdHlwZTogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBjcmVhdGVEZWZpbml0aW9uKHByb3BlcnR5S2V5LCB0eXBlLCBvcHRpb25zLCBmYWxzZSk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUm91dGVQYXJhbWV0ZXJCaW5kaW5ncy5ST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtKTtcbiAgICBVc2VEZWxlZ2F0ZSgpKHByb3RvdHlwZSwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEZWZpbml0aW9uPFQ+KHByb3BlcnR5TmFtZTogc3ltYm9sIHwgc3RyaW5nLCB0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zOiBQYXJhbWV0ZXJPcHRpb25zPFQ+LCByb3V0ZUlkOiBib29sZWFuKSB7XG4gIGNvbnN0IG9wdHMgPSBPcHRzLmdldChvcHRpb25zKTtcbiAgY29uc3QgcHJvcGVydHlOYW1lQXNTdHJpbmcgPSBhc3NlcnQubm90TmlsKHByb3BlcnR5TmFtZSkudG9TdHJpbmcoKTtcbiAgY29uc3QgZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+ID0ge1xuICAgIG5hbWU6IG9wdHMuZ2V0T3B0aW9uYWwoJ2FzJywgcHJvcGVydHlOYW1lQXNTdHJpbmcpLFxuICAgIHByb3BlcnR5TmFtZTogcHJvcGVydHlOYW1lQXNTdHJpbmcsXG4gICAgdHlwZTogYXNzZXJ0Lm5vdE5pbCh0eXBlKSxcbiAgICBzYW5pdGlzZXI6IG9wdHMuZ2V0T3B0aW9uYWwoJ3Nhbml0aXNlcicsIG51bGwpLFxuICAgIGlzUm91dGVJZDogcm91dGVJZFxuICB9O1xuICByZXR1cm4gZGVmO1xufVxuIl19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBRXBFLHNDQUdDOzs7SUFGQyw4QkFBWTs7SUFDWixxQ0FBaUQ7Ozs7OztBQUduRCwwQ0FHQzs7O0lBRkMsa0NBQVk7O0lBQ1osNkNBQXVEOzs7Ozs7OztBQUd6RCxNQUFNLFVBQVUsT0FBTyxDQUE0QixJQUFzQixFQUFFLE9BQTZCO0lBQ3RHLG1DQUFtQztJQUNuQzs7Ozs7SUFBTyxVQUFDLFNBQWlCLEVBQUUsV0FBNEI7O1lBQy9DLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDaEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7Ozs7QUFPRCxNQUFNLFVBQVUsY0FBYyxDQUFJLElBQXNCLEVBQUUsT0FBNkI7SUFDckYsT0FBTyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFJLElBQXNCLEVBQUUsT0FBNkI7SUFDckYsbUNBQW1DO0lBQ25DOzs7OztJQUFPLFVBQUMsU0FBaUIsRUFBRSxXQUE0Qjs7WUFDL0MsS0FBSyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUNqRSxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xHLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4QyxDQUFDLEVBQUM7QUFDSixDQUFDOzs7Ozs7OztBQU9ELE1BQU0sVUFBVSxrQkFBa0IsQ0FBSSxXQUE2QixFQUFFLE9BQWlDO0lBQ3BHLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2xELENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksV0FBNkIsRUFBRSxPQUFpQztJQUNwRyxtQ0FBbUM7SUFDbkM7Ozs7O0lBQU8sVUFBQyxTQUFpQixFQUFFLFdBQTRCOztZQUMvQyxLQUFLLEdBQUcscUJBQXFCLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUM7UUFDdEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7Ozs7O0FBRUQsU0FBUyxnQkFBZ0IsQ0FBSSxZQUE2QixFQUFFLElBQXNCLEVBQUUsT0FBNEIsRUFBRSxPQUFnQjs7UUFDMUgsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDOztRQUN4QixvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTs7UUFDN0QsR0FBRyxHQUEyQjtRQUNsQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7UUFDbEQsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztRQUM5QyxTQUFTLEVBQUUsT0FBTztRQUNsQixPQUFPLEVBQUUsS0FBSztLQUNmO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDOzs7Ozs7OztBQUVELFNBQVMscUJBQXFCLENBQUksWUFBNkIsRUFBRSxJQUFzQixFQUFFLE9BQWdDOztRQUNqSCxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7O1FBQ3hCLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFOztRQUU3RCxHQUFHLEdBQWdDO1FBQ3ZDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQztRQUNsRCxZQUFZLEVBQUUsb0JBQW9CO1FBQ2xDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO1FBQ2xELFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIFVzZURlbGVnYXRlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgS2xhc3MsIE9wdHMgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IFBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzJztcbmltcG9ydCB7IFBhcmFtZXRlclNhbml0aXNlciB9IGZyb20gJy4vcGFyYW1ldGVyLXNhbml0aXNlcic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJUeXBlIH0gZnJvbSAnLi9wYXJhbWV0ZXItdHlwZSc7XG5pbXBvcnQgeyBSb3V0ZVBhcmFtZXRlckJpbmRpbmdzIH0gZnJvbSAnLi9yb3V0ZS1wYXJhbWV0ZXItYmluZGluZ3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlck9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgc2FuaXRpc2VyPzogQ29uc3RydWN0YWJsZTxQYXJhbWV0ZXJTYW5pdGlzZXI8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbWV0ZXJPcHRpb25zPFQ+IHtcbiAgYXM/OiBzdHJpbmc7XG4gIGxpc3RTYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUW10+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlSWQ8VCBleHRlbmRzIHN0cmluZyB8IG51bWJlcj4odHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9ucz86IFBhcmFtZXRlck9wdGlvbnM8VD4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZURlZmluaXRpb24ocHJvcGVydHlLZXksIHR5cGUsIG9wdGlvbnMsIHRydWUpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJvdXRlUGFyYW1ldGVyQmluZGluZ3MuUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgUm91dGVQYXJhbWV0ZXIgaW5zdGVhZC5cbiAqIEBwYXJhbSB0eXBlXG4gKiBAcGFyYW0gb3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gUXVlcnlQYXJhbWV0ZXI8VD4odHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9ucz86IFBhcmFtZXRlck9wdGlvbnM8VD4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIHJldHVybiBSb3V0ZVBhcmFtZXRlcih0eXBlLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlUGFyYW1ldGVyPFQ+KHR5cGU6IFBhcmFtZXRlclR5cGU8VD4sIG9wdGlvbnM/OiBQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICAvLyBhc3NlcnQuaXNUcnV0aHkodHlwZS5pc1ZhbGlkKCkpO1xuICByZXR1cm4gKHByb3RvdHlwZTogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBjcmVhdGVEZWZpbml0aW9uKHByb3BlcnR5S2V5LCB0eXBlLCBvcHRpb25zLCBmYWxzZSk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUm91dGVQYXJhbWV0ZXJCaW5kaW5ncy5ST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtKTtcbiAgICBVc2VEZWxlZ2F0ZSgpKHByb3RvdHlwZSwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBSb3V0ZVBhcmFtZXRlckxpc3QgaW5zdGVhZFxuICogQHBhcmFtIGVsZW1lbnRUeXBlXG4gKiBAcGFyYW0gb3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gUXVlcnlQYXJhbWV0ZXJMaXN0PEU+KGVsZW1lbnRUeXBlOiBQYXJhbWV0ZXJUeXBlPEU+LCBvcHRpb25zPzogTGlzdFBhcmFtZXRlck9wdGlvbnM8RT4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIHJldHVybiBSb3V0ZVBhcmFtZXRlckxpc3QoZWxlbWVudFR5cGUsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUm91dGVQYXJhbWV0ZXJMaXN0PEU+KGVsZW1lbnRUeXBlOiBQYXJhbWV0ZXJUeXBlPEU+LCBvcHRpb25zPzogTGlzdFBhcmFtZXRlck9wdGlvbnM8RT4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZUFycmF5RGVmaW5pdGlvbihwcm9wZXJ0eUtleSwgZWxlbWVudFR5cGUsIG9wdGlvbnMpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJvdXRlUGFyYW1ldGVyQmluZGluZ3MuUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVmaW5pdGlvbjxUPihwcm9wZXJ0eU5hbWU6IHN5bWJvbCB8IHN0cmluZywgdHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9uczogUGFyYW1ldGVyT3B0aW9uczxUPiwgcm91dGVJZDogYm9vbGVhbikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG4gIGNvbnN0IGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxUPiA9IHtcbiAgICBuYW1lOiBvcHRzLmdldE9wdGlvbmFsKCdhcycsIHByb3BlcnR5TmFtZUFzU3RyaW5nKSxcbiAgICBwcm9wZXJ0eU5hbWU6IHByb3BlcnR5TmFtZUFzU3RyaW5nLFxuICAgIHR5cGU6IGFzc2VydC5ub3ROaWwodHlwZSksXG4gICAgc2FuaXRpc2VyOiBvcHRzLmdldE9wdGlvbmFsKCdzYW5pdGlzZXInLCBudWxsKSxcbiAgICBpc1JvdXRlSWQ6IHJvdXRlSWQsXG4gICAgaXNBcnJheTogZmFsc2VcbiAgfTtcbiAgcmV0dXJuIGRlZjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXJyYXlEZWZpbml0aW9uPFQ+KHByb3BlcnR5TmFtZTogc3ltYm9sIHwgc3RyaW5nLCB0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zOiBMaXN0UGFyYW1ldGVyT3B0aW9uczxUPikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFRbXT4gPSB7XG4gICAgbmFtZTogb3B0cy5nZXRPcHRpb25hbCgnYXMnLCBwcm9wZXJ0eU5hbWVBc1N0cmluZyksXG4gICAgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWVBc1N0cmluZyxcbiAgICB0eXBlOiBhc3NlcnQubm90TmlsKHR5cGUpLFxuICAgIHNhbml0aXNlcjogb3B0cy5nZXRPcHRpb25hbCgnbGlzdFNhbml0aXNlcicsIG51bGwpLFxuICAgIGlzUm91dGVJZDogZmFsc2UsXG4gICAgaXNBcnJheTogdHJ1ZVxuICB9O1xuICByZXR1cm4gZGVmO1xufVxuIl19
@@ -4,7 +4,7 @@
4
4
  */
5
5
  /**
6
6
  * @record
7
- * @template T
7
+ * @template E, S
8
8
  */
9
9
  export function ParameterDefinition() { }
10
10
  if (false) {
@@ -18,5 +18,7 @@ if (false) {
18
18
  ParameterDefinition.prototype.sanitiser;
19
19
  /** @type {?} */
20
20
  ParameterDefinition.prototype.isRouteId;
21
+ /** @type {?} */
22
+ ParameterDefinition.prototype.isArray;
21
23
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSx5Q0FNQzs7O0lBTEMsbUNBQXNCOztJQUN0QiwyQ0FBOEI7O0lBQzlCLG1DQUFnQzs7SUFDaEMsd0NBQXlEOztJQUN6RCx3Q0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3RhYmxlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2FuaXRpc2VyIH0gZnJvbSAnLi9wYXJhbWV0ZXItc2FuaXRpc2VyJztcbmltcG9ydCB7IFBhcmFtZXRlclR5cGUgfSBmcm9tICcuL3BhcmFtZXRlci10eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHlwZTogUGFyYW1ldGVyVHlwZTxUPjtcbiAgcmVhZG9ubHkgc2FuaXRpc2VyOiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj47XG4gIHJlYWRvbmx5IGlzUm91dGVJZDogYm9vbGVhbjtcbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSx5Q0FPQzs7O0lBTkMsbUNBQXNCOztJQUN0QiwyQ0FBOEI7O0lBQzlCLG1DQUFnQzs7SUFDaEMsd0NBQXlEOztJQUN6RCx3Q0FBNEI7O0lBQzVCLHNDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdGFibGUgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlckRlZmluaXRpb248RSxTPUU+IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHlwZTogUGFyYW1ldGVyVHlwZTxFPjtcbiAgcmVhZG9ubHkgc2FuaXRpc2VyOiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxTPj47XG4gIHJlYWRvbmx5IGlzUm91dGVJZDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgaXNBcnJheTogYm9vbGVhbjtcbn1cbiJdfQ==