@coolon/angular-ui-powerups 0.0.1

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 (179) hide show
  1. package/README.md +7 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +3373 -0
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -0
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -0
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -0
  6. package/coolon-angular-ui-powerups.d.ts +12 -0
  7. package/coolon-angular-ui-powerups.metadata.json +1 -0
  8. package/esm2015/coolon-angular-ui-powerups.js +17 -0
  9. package/esm2015/index.js +6 -0
  10. package/esm2015/lib/angular-ui-powerups.module.js +48 -0
  11. package/esm2015/lib/components/disposable-component.js +14 -0
  12. package/esm2015/lib/components/forms/abstract-input.component.js +173 -0
  13. package/esm2015/lib/components/forms/number-input/number-input.component.js +26 -0
  14. package/esm2015/lib/components/forms/password-input/password-input.component.js +26 -0
  15. package/esm2015/lib/components/forms/select-input/select-input.component.js +60 -0
  16. package/esm2015/lib/components/forms/string-input/string-input.component.js +26 -0
  17. package/esm2015/lib/components/index.js +18 -0
  18. package/esm2015/lib/components/resize-aware.component.js +96 -0
  19. package/esm2015/lib/components/types/bounds.class.js +56 -0
  20. package/esm2015/lib/components/types/dimension.class.js +21 -0
  21. package/esm2015/lib/components/types/point.class.js +36 -0
  22. package/esm2015/lib/directives/command.directive.js +91 -0
  23. package/esm2015/lib/directives/focus-binding.directive.js +163 -0
  24. package/esm2015/lib/directives/index.js +10 -0
  25. package/esm2015/lib/interaction/abstract-activity.js +129 -0
  26. package/esm2015/lib/interaction/activity.js +27 -0
  27. package/esm2015/lib/interaction/alert.js +23 -0
  28. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +144 -0
  29. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js +22 -0
  30. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +169 -0
  31. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +37 -0
  32. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +46 -0
  33. package/esm2015/lib/interaction/confirm.js +17 -0
  34. package/esm2015/lib/interaction/index.js +21 -0
  35. package/esm2015/lib/interaction/interaction-context.js +35 -0
  36. package/esm2015/lib/interaction/interaction.module.js +41 -0
  37. package/esm2015/lib/interaction/result.js +24 -0
  38. package/esm2015/lib/interaction/services/dialog-interaction.service.js +112 -0
  39. package/esm2015/lib/place/abstract-place-component.js +59 -0
  40. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +44 -0
  41. package/esm2015/lib/place/components/empty-state/empty-state.component.js +28 -0
  42. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +52 -0
  43. package/esm2015/lib/place/guards/leave-place.guard.js +52 -0
  44. package/esm2015/lib/place/guards/place-route.guard.js +74 -0
  45. package/esm2015/lib/place/index.js +25 -0
  46. package/esm2015/lib/place/place-component.js +17 -0
  47. package/esm2015/lib/place/place.decorator.js +67 -0
  48. package/esm2015/lib/place/place.module.js +38 -0
  49. package/esm2015/lib/place/place.service.js +61 -0
  50. package/esm2015/lib/place/route/json-types.js +13 -0
  51. package/esm2015/lib/place/route/parameter-decorators.js +82 -0
  52. package/esm2015/lib/place/route/parameter-definition.class.js +22 -0
  53. package/esm2015/lib/place/route/parameter-sanitiser.js +17 -0
  54. package/esm2015/lib/place/route/parameter-type.js +43 -0
  55. package/esm2015/lib/place/route/route-parameter-bindings.js +282 -0
  56. package/esm2015/lib/place/route/route-parameter-sanitiser.js +148 -0
  57. package/esm2015/public_api.js +10 -0
  58. package/esm5/coolon-angular-ui-powerups.js +17 -0
  59. package/esm5/index.js +6 -0
  60. package/esm5/lib/angular-ui-powerups.module.js +52 -0
  61. package/esm5/lib/components/disposable-component.js +24 -0
  62. package/esm5/lib/components/forms/abstract-input.component.js +218 -0
  63. package/esm5/lib/components/forms/number-input/number-input.component.js +33 -0
  64. package/esm5/lib/components/forms/password-input/password-input.component.js +33 -0
  65. package/esm5/lib/components/forms/select-input/select-input.component.js +67 -0
  66. package/esm5/lib/components/forms/string-input/string-input.component.js +33 -0
  67. package/esm5/lib/components/index.js +18 -0
  68. package/esm5/lib/components/resize-aware.component.js +124 -0
  69. package/esm5/lib/components/types/bounds.class.js +59 -0
  70. package/esm5/lib/components/types/dimension.class.js +19 -0
  71. package/esm5/lib/components/types/point.class.js +43 -0
  72. package/esm5/lib/directives/command.directive.js +107 -0
  73. package/esm5/lib/directives/focus-binding.directive.js +211 -0
  74. package/esm5/lib/directives/index.js +10 -0
  75. package/esm5/lib/interaction/abstract-activity.js +173 -0
  76. package/esm5/lib/interaction/activity.js +27 -0
  77. package/esm5/lib/interaction/alert.js +23 -0
  78. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +181 -0
  79. package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js +22 -0
  80. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +206 -0
  81. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +42 -0
  82. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +54 -0
  83. package/esm5/lib/interaction/confirm.js +17 -0
  84. package/esm5/lib/interaction/index.js +21 -0
  85. package/esm5/lib/interaction/interaction-context.js +45 -0
  86. package/esm5/lib/interaction/interaction.module.js +45 -0
  87. package/esm5/lib/interaction/result.js +24 -0
  88. package/esm5/lib/interaction/services/dialog-interaction.service.js +138 -0
  89. package/esm5/lib/place/abstract-place-component.js +66 -0
  90. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +49 -0
  91. package/esm5/lib/place/components/empty-state/empty-state.component.js +29 -0
  92. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +62 -0
  93. package/esm5/lib/place/guards/leave-place.guard.js +57 -0
  94. package/esm5/lib/place/guards/place-route.guard.js +78 -0
  95. package/esm5/lib/place/index.js +25 -0
  96. package/esm5/lib/place/place-component.js +17 -0
  97. package/esm5/lib/place/place.decorator.js +64 -0
  98. package/esm5/lib/place/place.module.js +42 -0
  99. package/esm5/lib/place/place.service.js +75 -0
  100. package/esm5/lib/place/route/json-types.js +13 -0
  101. package/esm5/lib/place/route/parameter-decorators.js +82 -0
  102. package/esm5/lib/place/route/parameter-definition.class.js +22 -0
  103. package/esm5/lib/place/route/parameter-sanitiser.js +17 -0
  104. package/esm5/lib/place/route/parameter-type.js +65 -0
  105. package/esm5/lib/place/route/route-parameter-bindings.js +327 -0
  106. package/esm5/lib/place/route/route-parameter-sanitiser.js +203 -0
  107. package/esm5/public_api.js +10 -0
  108. package/fesm2015/coolon-angular-ui-powerups.js +2687 -0
  109. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -0
  110. package/fesm5/coolon-angular-ui-powerups.js +3164 -0
  111. package/fesm5/coolon-angular-ui-powerups.js.map +1 -0
  112. package/index.d.ts +1 -0
  113. package/lib/angular-ui-powerups.module.d.ts +2 -0
  114. package/lib/components/disposable-component.d.ts +5 -0
  115. package/lib/components/forms/abstract-input.component.d.ts +34 -0
  116. package/lib/components/forms/number-input/number-input.component.d.ts +6 -0
  117. package/lib/components/forms/password-input/password-input.component.d.ts +6 -0
  118. package/lib/components/forms/select-input/select-input.component.d.ts +11 -0
  119. package/lib/components/forms/string-input/string-input.component.d.ts +6 -0
  120. package/lib/components/index.d.ts +13 -0
  121. package/lib/components/resize-aware.component.d.ts +22 -0
  122. package/lib/components/types/bounds.class.d.ts +16 -0
  123. package/lib/components/types/dimension.class.d.ts +5 -0
  124. package/lib/components/types/point.class.d.ts +10 -0
  125. package/lib/directives/command.directive.d.ts +11 -0
  126. package/lib/directives/focus-binding.directive.d.ts +21 -0
  127. package/lib/directives/index.d.ts +5 -0
  128. package/lib/interaction/abstract-activity.d.ts +17 -0
  129. package/lib/interaction/activity.d.ts +11 -0
  130. package/lib/interaction/alert.d.ts +5 -0
  131. package/lib/interaction/components/activity-container/activity-container.component.d.ts +32 -0
  132. package/lib/interaction/components/activity-outlet/activity-outlet-context.d.ts +10 -0
  133. package/lib/interaction/components/activity-outlet/activity-outlet.component.d.ts +30 -0
  134. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +8 -0
  135. package/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.d.ts +9 -0
  136. package/lib/interaction/confirm.d.ts +5 -0
  137. package/lib/interaction/index.d.ts +16 -0
  138. package/lib/interaction/interaction-context.d.ts +11 -0
  139. package/lib/interaction/interaction.module.d.ts +2 -0
  140. package/lib/interaction/result.d.ts +8 -0
  141. package/lib/interaction/services/dialog-interaction.service.d.ts +14 -0
  142. package/lib/place/abstract-place-component.d.ts +13 -0
  143. package/lib/place/components/busy-overlay/busy-overlay.component.d.ts +8 -0
  144. package/lib/place/components/empty-state/empty-state.component.d.ts +5 -0
  145. package/lib/place/components/place-outlet/place-outlet.component.d.ts +10 -0
  146. package/lib/place/guards/leave-place.guard.d.ts +10 -0
  147. package/lib/place/guards/place-route.guard.d.ts +9 -0
  148. package/lib/place/index.d.ts +20 -0
  149. package/lib/place/place-component.d.ts +5 -0
  150. package/lib/place/place.decorator.d.ts +18 -0
  151. package/lib/place/place.module.d.ts +2 -0
  152. package/lib/place/place.service.d.ts +8 -0
  153. package/lib/place/route/json-types.d.ts +7 -0
  154. package/lib/place/route/parameter-decorators.d.ts +9 -0
  155. package/lib/place/route/parameter-definition.class.d.ts +10 -0
  156. package/lib/place/route/parameter-sanitiser.d.ts +3 -0
  157. package/lib/place/route/parameter-type.d.ts +16 -0
  158. package/lib/place/route/route-parameter-bindings.d.ts +18 -0
  159. package/lib/place/route/route-parameter-sanitiser.d.ts +15 -0
  160. package/package.json +31 -0
  161. package/public_api.d.ts +5 -0
  162. package/schematics/collection.json +14 -0
  163. package/schematics/ng-add/index.d.ts +2 -0
  164. package/schematics/ng-add/index.js +12 -0
  165. package/schematics/ng-add/index.js.map +1 -0
  166. package/schematics/place-routes/index.d.ts +3 -0
  167. package/schematics/place-routes/index.js +92 -0
  168. package/schematics/place-routes/index.js.map +1 -0
  169. package/schematics/place-routes/place-def.d.ts +31 -0
  170. package/schematics/place-routes/place-def.js +75 -0
  171. package/schematics/place-routes/place-def.js.map +1 -0
  172. package/schematics/place-routes/scanner.d.ts +26 -0
  173. package/schematics/place-routes/scanner.js +124 -0
  174. package/schematics/place-routes/scanner.js.map +1 -0
  175. package/schematics/place-routes/schema.d.ts +7 -0
  176. package/schematics/place-routes/schema.js +3 -0
  177. package/schematics/place-routes/schema.js.map +1 -0
  178. package/schematics/place-routes/schema.json +17 -0
  179. package/schematics/place-routes/templates/apps/__project__/src/app/place-routes.ts.template +31 -0
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ var Point = /** @class */ (function () {
6
+ function Point(x, y) {
7
+ this.x = x;
8
+ this.y = y;
9
+ }
10
+ /**
11
+ * @param {?} data
12
+ * @return {?}
13
+ */
14
+ Point.from = /**
15
+ * @param {?} data
16
+ * @return {?}
17
+ */
18
+ function (data) {
19
+ return new Point(data.x, data.y);
20
+ };
21
+ /**
22
+ * @param {?} x
23
+ * @param {?} y
24
+ * @return {?}
25
+ */
26
+ Point.prototype.translate = /**
27
+ * @param {?} x
28
+ * @param {?} y
29
+ * @return {?}
30
+ */
31
+ function (x, y) {
32
+ return new Point(this.x + x, this.y + y);
33
+ };
34
+ return Point;
35
+ }());
36
+ export { Point };
37
+ if (false) {
38
+ /** @type {?} */
39
+ Point.prototype.x;
40
+ /** @type {?} */
41
+ Point.prototype.y;
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90eXBlcy9wb2ludC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7SUFNSSxlQUFxQixDQUFTLEVBQVcsQ0FBUztRQUE3QixNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVcsTUFBQyxHQUFELENBQUMsQ0FBUTtJQUNsRCxDQUFDOzs7OztJQUxNLFVBQUk7Ozs7SUFBWCxVQUFZLElBQThCO1FBQ3RDLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7Ozs7O0lBS0QseUJBQVM7Ozs7O0lBQVQsVUFBVSxDQUFTLEVBQUUsQ0FBUztRQUMxQixPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNMLFlBQUM7QUFBRCxDQUFDLEFBWkQsSUFZQzs7OztJQU5lLGtCQUFrQjs7SUFBRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUG9pbnQge1xuXG4gICAgc3RhdGljIGZyb20oZGF0YTogeyB4OiBudW1iZXIsIHk6IG51bWJlciB9KSB7XG4gICAgICAgIHJldHVybiBuZXcgUG9pbnQoZGF0YS54LCBkYXRhLnkpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHg6IG51bWJlciwgcmVhZG9ubHkgeTogbnVtYmVyKSB7XG4gICAgfVxuXG4gICAgdHJhbnNsYXRlKHg6IG51bWJlciwgeTogbnVtYmVyKTogUG9pbnQge1xuICAgICAgICByZXR1cm4gbmV3IFBvaW50KHRoaXMueCArIHgsIHRoaXMueSArIHkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { Directive, ElementRef, HostListener, Inject, Input } from '@angular/core';
7
+ import { assert, Dsl, GarbageCollector, UiCommand } from '@coolon/pectin';
8
+ var CommandDirective = /** @class */ (function (_super) {
9
+ tslib_1.__extends(CommandDirective, _super);
10
+ function CommandDirective(elementRef) {
11
+ var _this = _super.call(this) || this;
12
+ _this.elementRef = elementRef;
13
+ return _this;
14
+ }
15
+ /**
16
+ * @return {?}
17
+ */
18
+ CommandDirective.prototype.ngOnInit = /**
19
+ * @return {?}
20
+ */
21
+ function () {
22
+ assert.notNil(this.pectinCommand);
23
+ };
24
+ /**
25
+ * @return {?}
26
+ */
27
+ CommandDirective.prototype.ngAfterViewInit = /**
28
+ * @return {?}
29
+ */
30
+ function () {
31
+ var _this = this;
32
+ // for some reason mat-buttons kills the disabled host binding. It works on a regular button but for now
33
+ // we need to do this.
34
+ var chain = Dsl.disposeWith(this).chain;
35
+ chain.value(this.pectinCommand.enabled).subscribe((/**
36
+ * @param {?} enabled
37
+ * @return {?}
38
+ */
39
+ function (enabled) {
40
+ if (enabled) {
41
+ _this.elementRef.nativeElement.removeAttribute('disabled');
42
+ if (_this.elementRef.nativeElement.tagName === 'A') {
43
+ _this.elementRef.nativeElement.setAttribute('href', 'javascript:void');
44
+ }
45
+ }
46
+ else {
47
+ _this.elementRef.nativeElement.setAttribute('disabled', 'disabled');
48
+ if (_this.elementRef.nativeElement.tagName === 'A') {
49
+ _this.elementRef.nativeElement.removeAttribute('href');
50
+ }
51
+ }
52
+ }));
53
+ };
54
+ /**
55
+ * @return {?}
56
+ */
57
+ CommandDirective.prototype.ngOnDestroy = /**
58
+ * @return {?}
59
+ */
60
+ function () {
61
+ this.dispose();
62
+ };
63
+ /**
64
+ * @param {?} $event
65
+ * @return {?}
66
+ */
67
+ CommandDirective.prototype.notifyClick = /**
68
+ * @param {?} $event
69
+ * @return {?}
70
+ */
71
+ function ($event) {
72
+ $event.preventDefault();
73
+ $event.stopPropagation();
74
+ if (this.pectinCommand.isEnabled()) {
75
+ this.pectinCommand.execute({ event: $event });
76
+ }
77
+ else {
78
+ console.warn('disabled command clicked, ignoring.');
79
+ }
80
+ };
81
+ CommandDirective.decorators = [
82
+ { type: Directive, args: [{
83
+ // tslint:disable-next-line:directive-selector
84
+ selector: '[pectinCommand]'
85
+ },] }
86
+ ];
87
+ /** @nocollapse */
88
+ CommandDirective.ctorParameters = function () { return [
89
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
90
+ ]; };
91
+ CommandDirective.propDecorators = {
92
+ pectinCommand: [{ type: Input }],
93
+ notifyClick: [{ type: HostListener, args: ['click', ['$event'],] }]
94
+ };
95
+ return CommandDirective;
96
+ }(GarbageCollector));
97
+ export { CommandDirective };
98
+ if (false) {
99
+ /** @type {?} */
100
+ CommandDirective.prototype.pectinCommand;
101
+ /**
102
+ * @type {?}
103
+ * @private
104
+ */
105
+ CommandDirective.prototype.elementRef;
106
+ }
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9jb21tYW5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEU7SUFJc0MsNENBQWdCO0lBS3BELDBCQUF3QyxVQUFzQjtRQUE5RCxZQUNFLGlCQUFPLFNBQ1I7UUFGdUMsZ0JBQVUsR0FBVixVQUFVLENBQVk7O0lBRTlELENBQUM7Ozs7SUFFRCxtQ0FBUTs7O0lBQVI7UUFDRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7O0lBRUQsMENBQWU7OztJQUFmO1FBQUEsaUJBa0JDOzs7UUFmUSxJQUFBLG1DQUFLO1FBQ1osS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLE9BQU87WUFDdkQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMxRCxJQUFJLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxHQUFHLEVBQUU7b0JBQ2pELEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztpQkFDdkU7YUFDRjtpQkFBTTtnQkFDTCxLQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxHQUFHLEVBQUU7b0JBQ2pELEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDdkQ7YUFDRjtRQUNILENBQUMsRUFBQyxDQUFDO0lBRUwsQ0FBQzs7OztJQUVELHNDQUFXOzs7SUFBWDtRQUNFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7OztJQUlELHNDQUFXOzs7O0lBRFgsVUFDWSxNQUFhO1FBQ3ZCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7U0FDN0M7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7O2dCQW5ERixTQUFTLFNBQUM7O29CQUVULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzs7O2dCQU5pQyxVQUFVLHVCQVk3QixNQUFNLFNBQUMsVUFBVTs7O2dDQUg3QixLQUFLOzhCQW9DTCxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztJQVVuQyx1QkFBQztDQUFBLEFBcERELENBSXNDLGdCQUFnQixHQWdEckQ7U0FoRFksZ0JBQWdCOzs7SUFFM0IseUNBQ3NDOzs7OztJQUUxQixzQ0FBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Fzc2VydCwgRHNsLCBHYXJiYWdlQ29sbGVjdG9yLCBVaUNvbW1hbmR9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcGVjdGluQ29tbWFuZF0nXG59KVxuZXhwb3J0IGNsYXNzIENvbW1hbmREaXJlY3RpdmUgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpXG4gIHBlY3RpbkNvbW1hbmQ6IFVpQ29tbWFuZC5OdWxsYXJ5PGFueT47XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgYXNzZXJ0Lm5vdE5pbCh0aGlzLnBlY3RpbkNvbW1hbmQpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIGZvciBzb21lIHJlYXNvbiBtYXQtYnV0dG9ucyBraWxscyB0aGUgZGlzYWJsZWQgaG9zdCBiaW5kaW5nLiAgSXQgd29ya3Mgb24gYSByZWd1bGFyIGJ1dHRvbiBidXQgZm9yIG5vd1xuICAgIC8vIHdlIG5lZWQgdG8gZG8gdGhpcy5cbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluLnZhbHVlKHRoaXMucGVjdGluQ29tbWFuZC5lbmFibGVkKS5zdWJzY3JpYmUoZW5hYmxlZCA9PiB7XG4gICAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnQScpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnamF2YXNjcmlwdDp2b2lkJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKTtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG5vdGlmeUNsaWNrKCRldmVudDogRXZlbnQpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMucGVjdGluQ29tbWFuZC5pc0VuYWJsZWQoKSkge1xuICAgICAgdGhpcy5wZWN0aW5Db21tYW5kLmV4ZWN1dGUoe2V2ZW50OiAkZXZlbnR9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdkaXNhYmxlZCBjb21tYW5kIGNsaWNrZWQsIGlnbm9yaW5nLicpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,211 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { DOCUMENT } from '@angular/common';
7
+ import { Directive, ElementRef, HostListener, Inject, Input, NgZone } from '@angular/core';
8
+ import { Dsl, HasFocusTracking, Logger } from '@coolon/pectin';
9
+ import { DisposableComponent } from '../components/disposable-component';
10
+ var FocusBindingDirective = /** @class */ (function (_super) {
11
+ tslib_1.__extends(FocusBindingDirective, _super);
12
+ function FocusBindingDirective(el, ngZone, document) {
13
+ var _this = _super.call(this) || this;
14
+ _this.el = el;
15
+ _this.ngZone = ngZone;
16
+ // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642
17
+ _this.document = (/** @type {?} */ (document));
18
+ return _this;
19
+ }
20
+ /**
21
+ * @return {?}
22
+ */
23
+ FocusBindingDirective.prototype.onFocusIn = /**
24
+ * @return {?}
25
+ */
26
+ function () {
27
+ this.pectinFocusBinding.focusCallbacks.notifyFocusIn();
28
+ };
29
+ /**
30
+ * @return {?}
31
+ */
32
+ FocusBindingDirective.prototype.onFocusOut = /**
33
+ * @return {?}
34
+ */
35
+ function () {
36
+ this.pectinFocusBinding.focusCallbacks.notifyFocusOut();
37
+ };
38
+ /**
39
+ * @return {?}
40
+ */
41
+ FocusBindingDirective.prototype.ngOnInit = /**
42
+ * @return {?}
43
+ */
44
+ function () {
45
+ };
46
+ /**
47
+ * @return {?}
48
+ */
49
+ FocusBindingDirective.prototype.ngAfterViewInit = /**
50
+ * @return {?}
51
+ */
52
+ function () {
53
+ var _this = this;
54
+ // 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
+ }));
65
+ };
66
+ // Hook method for debugging via tracing.
67
+ // Hook method for debugging via tracing.
68
+ /**
69
+ * @return {?}
70
+ */
71
+ FocusBindingDirective.prototype.alreadyHasFocus =
72
+ // Hook method for debugging via tracing.
73
+ /**
74
+ * @return {?}
75
+ */
76
+ function () {
77
+ return this.isFocused(this.focusTarget);
78
+ };
79
+ // Hook method for debugging via tracing.
80
+ // Hook method for debugging via tracing.
81
+ /**
82
+ * @param {?} element
83
+ * @return {?}
84
+ */
85
+ FocusBindingDirective.prototype.isFocused =
86
+ // Hook method for debugging via tracing.
87
+ /**
88
+ * @param {?} element
89
+ * @return {?}
90
+ */
91
+ function (element) {
92
+ return this.document.activeElement === element;
93
+ };
94
+ /**
95
+ * @param {?=} retries
96
+ * @return {?}
97
+ */
98
+ FocusBindingDirective.prototype.tryAndFocus = /**
99
+ * @param {?=} retries
100
+ * @return {?}
101
+ */
102
+ function (retries) {
103
+ var _this = this;
104
+ if (retries === void 0) { retries = 5; }
105
+ if (this.modelShouldStillHaveFocus() && this.canFocus()) {
106
+ if (!this.alreadyHasFocus()) {
107
+ this.focusTarget.focus();
108
+ }
109
+ // if we didn't get the focus we try again later.
110
+ if (!this.alreadyHasFocus()) {
111
+ Logger.get(this).log("focus failed, trying " + retries + " more times");
112
+ if (retries > 0) {
113
+ // try again on the next paint
114
+ // TODO: is there an angular way of doing this without calling a window function.
115
+ requestAnimationFrame((/**
116
+ * @return {?}
117
+ */
118
+ function () {
119
+ _this.tryAndFocus(retries - 1);
120
+ }));
121
+ }
122
+ else {
123
+ Logger.get(this).warn("Tried to focus but gave up as the component wasn't enabled or visible.");
124
+ }
125
+ }
126
+ }
127
+ };
128
+ Object.defineProperty(FocusBindingDirective.prototype, "focusTarget", {
129
+ get: /**
130
+ * @return {?}
131
+ */
132
+ function () {
133
+ return this.focusBindingTarget || this.el.nativeElement;
134
+ },
135
+ enumerable: true,
136
+ configurable: true
137
+ });
138
+ // Hook method for debugging via tracing.
139
+ // Hook method for debugging via tracing.
140
+ /**
141
+ * @return {?}
142
+ */
143
+ FocusBindingDirective.prototype.modelShouldStillHaveFocus =
144
+ // Hook method for debugging via tracing.
145
+ /**
146
+ * @return {?}
147
+ */
148
+ function () {
149
+ return this.pectinFocusBinding.focused.value;
150
+ };
151
+ // Hook method for debugging via tracing.
152
+ // Hook method for debugging via tracing.
153
+ /**
154
+ * @return {?}
155
+ */
156
+ FocusBindingDirective.prototype.canFocus =
157
+ // Hook method for debugging via tracing.
158
+ /**
159
+ * @return {?}
160
+ */
161
+ function () {
162
+ /** @type {?} */
163
+ var dimension = this.focusTarget.getBoundingClientRect();
164
+ /** @type {?} */
165
+ var hasSize = dimension.height >= 0 && dimension.height >= 0;
166
+ // tslint:disable-next-line:no-string-literal
167
+ return hasSize && !this.focusTarget['disabled'];
168
+ };
169
+ FocusBindingDirective.decorators = [
170
+ { type: Directive, args: [{
171
+ // tslint:disable-next-line:directive-selector
172
+ selector: '[pectinFocusBinding]'
173
+ },] }
174
+ ];
175
+ /** @nocollapse */
176
+ FocusBindingDirective.ctorParameters = function () { return [
177
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
178
+ { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
179
+ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
180
+ ]; };
181
+ FocusBindingDirective.propDecorators = {
182
+ pectinFocusBinding: [{ type: Input }],
183
+ focusBindingTarget: [{ type: Input }],
184
+ onFocusIn: [{ type: HostListener, args: ['focusin',] }],
185
+ onFocusOut: [{ type: HostListener, args: ['focusout',] }]
186
+ };
187
+ return FocusBindingDirective;
188
+ }(DisposableComponent));
189
+ export { FocusBindingDirective };
190
+ if (false) {
191
+ /**
192
+ * @type {?}
193
+ * @private
194
+ */
195
+ FocusBindingDirective.prototype.document;
196
+ /** @type {?} */
197
+ FocusBindingDirective.prototype.pectinFocusBinding;
198
+ /** @type {?} */
199
+ FocusBindingDirective.prototype.focusBindingTarget;
200
+ /**
201
+ * @type {?}
202
+ * @private
203
+ */
204
+ FocusBindingDirective.prototype.el;
205
+ /**
206
+ * @type {?}
207
+ * @private
208
+ */
209
+ FocusBindingDirective.prototype.ngZone;
210
+ }
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtYmluZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9mb2N1cy1iaW5kaW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFHdkU7SUFJMkMsaURBQW1CO0lBaUI1RCwrQkFBaUQsRUFBYyxFQUNsQixNQUFjLEVBQzdCLFFBQWE7UUFGM0MsWUFHRSxpQkFBTyxTQUdSO1FBTmdELFFBQUUsR0FBRixFQUFFLENBQVk7UUFDbEIsWUFBTSxHQUFOLE1BQU0sQ0FBUTtRQUd6RCxrSEFBa0g7UUFDbEgsS0FBSSxDQUFDLFFBQVEsR0FBRyxtQkFBQSxRQUFRLEVBQVksQ0FBQzs7SUFDdkMsQ0FBQzs7OztJQWZELHlDQUFTOzs7SUFEVDtRQUVFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekQsQ0FBQzs7OztJQUdELDBDQUFVOzs7SUFEVjtRQUVFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUQsQ0FBQzs7OztJQVVELHdDQUFROzs7SUFBUjtJQUNBLENBQUM7Ozs7SUFFRCwrQ0FBZTs7O0lBQWY7UUFBQSxpQkFRQzs7UUFOUSxJQUFBLG1DQUFLO1FBQ1osS0FBSyxDQUFDLEtBQUss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OztJQUNuRCx1Q0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgTmdab25lLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEc2wsIEhhc0ZvY3VzVHJhY2tpbmcsIExvZ2dlcn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcblxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1twZWN0aW5Gb2N1c0JpbmRpbmddJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2N1c0JpbmRpbmdEaXJlY3RpdmUgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudDtcblxuICBASW5wdXQoKSBwZWN0aW5Gb2N1c0JpbmRpbmc6IEhhc0ZvY3VzVHJhY2tpbmc7XG4gIEBJbnB1dCgpIGZvY3VzQmluZGluZ1RhcmdldDogSFRNTEVsZW1lbnQ7XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicpXG4gIG9uRm9jdXNJbigpIHtcbiAgICB0aGlzLnBlY3RpbkZvY3VzQmluZGluZy5mb2N1c0NhbGxiYWNrcy5ub3RpZnlGb2N1c0luKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gIG9uRm9jdXNPdXQoKSB7XG4gICAgdGhpcy5wZWN0aW5Gb2N1c0JpbmRpbmcuZm9jdXNDYWxsYmFja3Mubm90aWZ5Rm9jdXNPdXQoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIEBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDk1MTMzNTkvY291bGQtbm90LXJlc29sdmUtdHlwZS1kb2N1bWVudC1pbi1hbmd1bGFyNS81MzcxNTY0MiM1MzcxNTY0MlxuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudCBhcyBEb2N1bWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIFRPRE86IE1ha2UgdGhpcyBhbHNvIHRyYWNrIHRoZSBjdXJyZW50IGVuYWJsZWQvZGlzYWJsZWQgc3RhdGUuXG4gICAgY29uc3Qge2NoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBjaGFpbi52YWx1ZSh0aGlzLnBlY3RpbkZvY3VzQmluZGluZy5mb2N1c2VkKS5zdWJzY3JpYmUoKGZvY3VzZWQpID0+IHtcbiAgICAgIGlmIChmb2N1c2VkICYmICF0aGlzLmFscmVhZHlIYXNGb2N1cygpKSB7XG4gICAgICAgIHRoaXMudHJ5QW5kRm9jdXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIEhvb2sgbWV0aG9kIGZvciBkZWJ1Z2dpbmcgdmlhIHRyYWNpbmcuXG4gIGFscmVhZHlIYXNGb2N1cygpIHtcbiAgICByZXR1cm4gdGhpcy5pc0ZvY3VzZWQodGhpcy5mb2N1c1RhcmdldCk7XG4gIH1cblxuICAvLyBIb29rIG1ldGhvZCBmb3IgZGVidWdnaW5nIHZpYSB0cmFjaW5nLlxuICBpc0ZvY3VzZWQoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGVsZW1lbnQ7XG4gIH1cblxuICB0cnlBbmRGb2N1cyhyZXRyaWVzOiBudW1iZXIgPSA1KSB7XG4gICAgaWYgKHRoaXMubW9kZWxTaG91bGRTdGlsbEhhdmVGb2N1cygpICYmIHRoaXMuY2FuRm9jdXMoKSkge1xuICAgICAgaWYgKCF0aGlzLmFscmVhZHlIYXNGb2N1cygpKSB7XG4gICAgICAgIHRoaXMuZm9jdXNUYXJnZXQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIC8vIGlmIHdlIGRpZG4ndCBnZXQgdGhlIGZvY3VzIHdlIHRyeSBhZ2FpbiBsYXRlci5cbiAgICAgIGlmICghdGhpcy5hbHJlYWR5SGFzRm9jdXMoKSkge1xuICAgICAgICBMb2dnZXIuZ2V0KHRoaXMpLmxvZyhgZm9jdXMgZmFpbGVkLCB0cnlpbmcgJHtyZXRyaWVzfSBtb3JlIHRpbWVzYCk7XG4gICAgICAgIGlmIChyZXRyaWVzID4gMCkge1xuICAgICAgICAgIC8vIHRyeSBhZ2FpbiBvbiB0aGUgbmV4dCBwYWludFxuICAgICAgICAgIC8vIFRPRE86IGlzIHRoZXJlIGFuIGFuZ3VsYXIgd2F5IG9mIGRvaW5nIHRoaXMgd2l0aG91dCBjYWxsaW5nIGEgd2luZG93IGZ1bmN0aW9uLlxuICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRyeUFuZEZvY3VzKHJldHJpZXMgLSAxKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBMb2dnZXIuZ2V0KHRoaXMpLndhcm4oYFRyaWVkIHRvIGZvY3VzIGJ1dCBnYXZlIHVwIGFzIHRoZSBjb21wb25lbnQgd2Fzbid0IGVuYWJsZWQgb3IgdmlzaWJsZS5gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBmb2N1c1RhcmdldCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZm9jdXNCaW5kaW5nVGFyZ2V0IHx8IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIC8vIEhvb2sgbWV0aG9kIGZvciBkZWJ1Z2dpbmcgdmlhIHRyYWNpbmcuXG4gIG1vZGVsU2hvdWxkU3RpbGxIYXZlRm9jdXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGVjdGluRm9jdXNCaW5kaW5nLmZvY3VzZWQudmFsdWU7XG4gIH1cblxuICAvLyBIb29rIG1ldGhvZCBmb3IgZGVidWdnaW5nIHZpYSB0cmFjaW5nLlxuICBjYW5Gb2N1cygpOiBib29sZWFuIHtcbiAgICBjb25zdCBkaW1lbnNpb24gPSB0aGlzLmZvY3VzVGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGhhc1NpemUgPSBkaW1lbnNpb24uaGVpZ2h0ID49IDAgJiYgZGltZW5zaW9uLmhlaWdodCA+PSAwO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zdHJpbmctbGl0ZXJhbFxuICAgIHJldHVybiBoYXNTaXplICYmICF0aGlzLmZvY3VzVGFyZ2V0WydkaXNhYmxlZCddO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @file Automatically generated by barrelsby.
7
+ */
8
+ export { CommandDirective } from "./command.directive";
9
+ export { FocusBindingDirective } from "./focus-binding.directive";
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaUNBQWMscUJBQXFCLENBQUM7QUFDcEMsc0NBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGJhcnJlbHNieS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9jdXMtYmluZGluZy5kaXJlY3RpdmVcIjtcbiJdfQ==
@@ -0,0 +1,173 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { DelegatingValueModel, EventListenerList } from '@coolon/pectin';
7
+ import { DisposableComponent } from '../components/disposable-component';
8
+ /**
9
+ * @template D, R, E
10
+ */
11
+ var /**
12
+ * @template D, R, E
13
+ */
14
+ AbstractActivity = /** @class */ (function (_super) {
15
+ tslib_1.__extends(AbstractActivity, _super);
16
+ function AbstractActivity() {
17
+ var _this = _super !== null && _super.apply(this, arguments) || this;
18
+ _this._doneListeners = new EventListenerList();
19
+ _this._cancelListeners = new EventListenerList();
20
+ _this._finishListeners = new EventListenerList();
21
+ _this._busyModel = new DelegatingValueModel().withDefault(false);
22
+ return _this;
23
+ }
24
+ /**
25
+ * @param {?} callback
26
+ * @return {?}
27
+ */
28
+ AbstractActivity.prototype.onDone = /**
29
+ * @param {?} callback
30
+ * @return {?}
31
+ */
32
+ function (callback) {
33
+ this._doneListeners.add(callback);
34
+ };
35
+ /**
36
+ * @param {?} callback
37
+ * @return {?}
38
+ */
39
+ AbstractActivity.prototype.onCancel = /**
40
+ * @param {?} callback
41
+ * @return {?}
42
+ */
43
+ function (callback) {
44
+ this._cancelListeners.add(callback);
45
+ };
46
+ /**
47
+ * @param {?=} result
48
+ * @return {?}
49
+ */
50
+ AbstractActivity.prototype.done = /**
51
+ * @param {?=} result
52
+ * @return {?}
53
+ */
54
+ function (result) {
55
+ var _this = this;
56
+ return this._doneListeners
57
+ .fireAndWait((/**
58
+ * @param {?} l
59
+ * @return {?}
60
+ */
61
+ function (l) { return l(result); }))
62
+ .finally((/**
63
+ * @return {?}
64
+ */
65
+ function () { return _this.finalizeAndDispose(); }));
66
+ };
67
+ /**
68
+ * @param {?=} error
69
+ * @return {?}
70
+ */
71
+ AbstractActivity.prototype.cancel = /**
72
+ * @param {?=} error
73
+ * @return {?}
74
+ */
75
+ function (error) {
76
+ var _this = this;
77
+ return this._cancelListeners
78
+ .fireAndWait((/**
79
+ * @param {?} l
80
+ * @return {?}
81
+ */
82
+ function (l) { return l(error); }))
83
+ .finally((/**
84
+ * @return {?}
85
+ */
86
+ function () { return _this.finalizeAndDispose(); }));
87
+ };
88
+ /**
89
+ * @private
90
+ * @return {?}
91
+ */
92
+ AbstractActivity.prototype.finalizeAndDispose = /**
93
+ * @private
94
+ * @return {?}
95
+ */
96
+ function () {
97
+ // this._activeModel.value = false;
98
+ this._finishListeners.fire((/**
99
+ * @param {?} l
100
+ * @return {?}
101
+ */
102
+ function (l) { return l(); }));
103
+ // this._interactionContext = null;
104
+ // this._initialized = false;
105
+ [
106
+ this._finishListeners,
107
+ this._doneListeners,
108
+ this._cancelListeners
109
+ ].forEach((/**
110
+ * @param {?} l
111
+ * @return {?}
112
+ */
113
+ function (l) { return l.dispose(); }));
114
+ };
115
+ Object.defineProperty(AbstractActivity.prototype, "busy", {
116
+ get: /**
117
+ * @return {?}
118
+ */
119
+ function () {
120
+ return this._busyModel.readonly;
121
+ },
122
+ enumerable: true,
123
+ configurable: true
124
+ });
125
+ /**
126
+ * @param {?} busyModel
127
+ * @return {?}
128
+ */
129
+ AbstractActivity.prototype.busyWhile = /**
130
+ * @param {?} busyModel
131
+ * @return {?}
132
+ */
133
+ function (busyModel) {
134
+ this._busyModel.setDelegate(busyModel);
135
+ };
136
+ /**
137
+ * @return {?}
138
+ */
139
+ AbstractActivity.prototype.isBusy = /**
140
+ * @return {?}
141
+ */
142
+ function () {
143
+ return this._busyModel.value;
144
+ };
145
+ return AbstractActivity;
146
+ }(DisposableComponent));
147
+ /**
148
+ * @template D, R, E
149
+ */
150
+ export { AbstractActivity };
151
+ if (false) {
152
+ /**
153
+ * @type {?}
154
+ * @private
155
+ */
156
+ AbstractActivity.prototype._doneListeners;
157
+ /**
158
+ * @type {?}
159
+ * @private
160
+ */
161
+ AbstractActivity.prototype._cancelListeners;
162
+ /**
163
+ * @type {?}
164
+ * @private
165
+ */
166
+ AbstractActivity.prototype._finishListeners;
167
+ /**
168
+ * @type {?}
169
+ * @private
170
+ */
171
+ AbstractActivity.prototype._busyModel;
172
+ }
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYWN0aXZpdHkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vYWJzdHJhY3QtYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQUd6RTs7OztJQUFxRCw0Q0FBbUI7SUFBeEU7UUFBQSxxRUFvREM7UUFsRGtCLG9CQUFjLEdBQUcsSUFBSSxpQkFBaUIsRUFBd0IsQ0FBQztRQUMvRCxzQkFBZ0IsR0FBRyxJQUFJLGlCQUFpQixFQUF3QixDQUFDO1FBQ2pFLHNCQUFnQixHQUFHLElBQUksaUJBQWlCLEVBQWMsQ0FBQztRQUV2RCxnQkFBVSxHQUFHLElBQUksb0JBQW9CLEVBQVcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7O0lBOEN2RixDQUFDOzs7OztJQTVDQyxpQ0FBTTs7OztJQUFOLFVBQU8sUUFBOEI7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7Ozs7SUFFRCxtQ0FBUTs7OztJQUFSLFVBQVMsUUFBOEI7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDOzs7OztJQUVELCtCQUFJOzs7O0lBQUosVUFBSyxNQUFVO1FBQWYsaUJBSUM7UUFIQyxPQUFPLElBQUksQ0FBQyxjQUFjO2FBQ3ZCLFdBQVc7Ozs7UUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBVCxDQUFTLEVBQUM7YUFDM0IsT0FBTzs7O1FBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUF6QixDQUF5QixFQUFDLENBQUM7SUFDOUMsQ0FBQzs7Ozs7SUFFRCxpQ0FBTTs7OztJQUFOLFVBQU8sS0FBUztRQUFoQixpQkFJQztRQUhDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQjthQUN6QixXQUFXOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQVIsQ0FBUSxFQUFDO2FBQzFCLE9BQU87OztRQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBekIsQ0FBeUIsRUFBQyxDQUFDO0lBQzlDLENBQUM7Ozs7O0lBRU8sNkNBQWtCOzs7O0lBQTFCO1FBQ0UsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLEVBQUUsRUFBSCxDQUFHLEVBQUMsQ0FBQztRQUNyQyxtQ0FBbUM7UUFDbkMsNkJBQTZCO1FBQzdCO1lBQ0UsSUFBSSxDQUFDLGdCQUFnQjtZQUNyQixJQUFJLENBQUMsY0FBYztZQUNuQixJQUFJLENBQUMsZ0JBQWdCO1NBQ3RCLENBQUMsT0FBTzs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFYLENBQVcsRUFBQyxDQUFDO0lBQzlCLENBQUM7SUFHRCxzQkFBSSxrQ0FBSTs7OztRQUFSO1lBQ0UsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxDQUFDOzs7T0FBQTs7Ozs7SUFFRCxvQ0FBUzs7OztJQUFULFVBQVUsU0FBOEI7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7OztJQUVELGlDQUFNOzs7SUFBTjtRQUNFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUNILHVCQUFDO0FBQUQsQ0FBQyxBQXBERCxDQUFxRCxtQkFBbUIsR0FvRHZFOzs7Ozs7Ozs7O0lBbERDLDBDQUFnRjs7Ozs7SUFDaEYsNENBQWtGOzs7OztJQUNsRiw0Q0FBd0U7Ozs7O0lBRXhFLHNDQUFxRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlbGVnYXRpbmdWYWx1ZU1vZGVsLCBFdmVudExpc3RlbmVyTGlzdCwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi9hY3Rpdml0eSc7XG5cbmV4cG9ydCBjbGFzcyBBYnN0cmFjdEFjdGl2aXR5PEQsIFIsIEUgPSBhbnk+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFjdGl2aXR5PEQsIFIsIEU+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kb25lTGlzdGVuZXJzID0gbmV3IEV2ZW50TGlzdGVuZXJMaXN0PEFjdGl2aXR5LkNhbGxCYWNrPFI+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jYW5jZWxMaXN0ZW5lcnMgPSBuZXcgRXZlbnRMaXN0ZW5lckxpc3Q8QWN0aXZpdHkuQ2FsbEJhY2s8RT4+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpbmlzaExpc3RlbmVycyA9IG5ldyBFdmVudExpc3RlbmVyTGlzdDwoKSA9PiB2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1c3lNb2RlbCA9IG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KGZhbHNlKTtcblxuICBvbkRvbmUoY2FsbGJhY2s6IEFjdGl2aXR5LkNhbGxCYWNrPFI+KSB7XG4gICAgdGhpcy5fZG9uZUxpc3RlbmVycy5hZGQoY2FsbGJhY2spO1xuICB9XG5cbiAgb25DYW5jZWwoY2FsbGJhY2s6IEFjdGl2aXR5LkNhbGxCYWNrPEU+KSB7XG4gICAgdGhpcy5fY2FuY2VsTGlzdGVuZXJzLmFkZChjYWxsYmFjayk7XG4gIH1cblxuICBkb25lKHJlc3VsdD86IFIpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9kb25lTGlzdGVuZXJzXG4gICAgICAuZmlyZUFuZFdhaXQobCA9PiBsKHJlc3VsdCkpXG4gICAgICAuZmluYWxseSgoKSA9PiB0aGlzLmZpbmFsaXplQW5kRGlzcG9zZSgpKTtcbiAgfVxuXG4gIGNhbmNlbChlcnJvcj86IEUpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jYW5jZWxMaXN0ZW5lcnNcbiAgICAgIC5maXJlQW5kV2FpdChsID0+IGwoZXJyb3IpKVxuICAgICAgLmZpbmFsbHkoKCkgPT4gdGhpcy5maW5hbGl6ZUFuZERpc3Bvc2UoKSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmFsaXplQW5kRGlzcG9zZSgpIHtcbiAgICAvLyB0aGlzLl9hY3RpdmVNb2RlbC52YWx1ZSA9IGZhbHNlO1xuICAgIHRoaXMuX2ZpbmlzaExpc3RlbmVycy5maXJlKGwgPT4gbCgpKTtcbiAgICAvLyB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQgPSBudWxsO1xuICAgIC8vIHRoaXMuX2luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgW1xuICAgICAgdGhpcy5fZmluaXNoTGlzdGVuZXJzLFxuICAgICAgdGhpcy5fZG9uZUxpc3RlbmVycyxcbiAgICAgIHRoaXMuX2NhbmNlbExpc3RlbmVyc1xuICAgIF0uZm9yRWFjaChsID0+IGwuZGlzcG9zZSgpKTtcbiAgfVxuXG5cbiAgZ2V0IGJ1c3koKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2J1c3lNb2RlbC5yZWFkb25seTtcbiAgfVxuXG4gIGJ1c3lXaGlsZShidXN5TW9kZWw6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLl9idXN5TW9kZWwuc2V0RGVsZWdhdGUoYnVzeU1vZGVsKTtcbiAgfVxuXG4gIGlzQnVzeSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYnVzeU1vZGVsLnZhbHVlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { InjectionToken } from '@angular/core';
6
+ /** @type {?} */
7
+ export var ACTIVITY_DATA = new InjectionToken('InteractionActivityData');
8
+ /**
9
+ * @record
10
+ * @template D, R, E
11
+ */
12
+ export function Activity() { }
13
+ if (false) {
14
+ /** @type {?} */
15
+ Activity.prototype.busy;
16
+ /**
17
+ * @param {?} callback
18
+ * @return {?}
19
+ */
20
+ Activity.prototype.onDone = function (callback) { };
21
+ /**
22
+ * @param {?} callback
23
+ * @return {?}
24
+ */
25
+ Activity.prototype.onCancel = function (callback) { };
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRy9DLE1BQU0sS0FBTyxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQU0seUJBQXlCLENBQUM7Ozs7O0FBRS9FLDhCQU9DOzs7SUFOQyx3QkFBbUM7Ozs7O0lBRW5DLG9EQUF1Qzs7Ozs7SUFFdkMsc0RBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmV4cG9ydCBjb25zdCBBQ1RJVklUWV9EQVRBID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0ludGVyYWN0aW9uQWN0aXZpdHlEYXRhJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHk8RCwgUiwgRSA9IGFueT4ge1xuICByZWFkb25seSBidXN5OiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIG9uRG9uZShjYWxsYmFjazogQWN0aXZpdHkuQ2FsbEJhY2s8Uj4pO1xuXG4gIG9uQ2FuY2VsKGNhbGxiYWNrOiBBY3Rpdml0eS5DYWxsQmFjazxFPik7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBY3Rpdml0eSB7XG4gIGV4cG9ydCB0eXBlIENhbGxCYWNrPFQ+ID0gKHZhbHVlOiBUKSA9PiB2b2lkIHwgUHJvbWlzZTxhbnk+O1xufVxuIl19
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @record
7
+ */
8
+ export function Alert() { }
9
+ if (false) {
10
+ /**
11
+ * @return {?}
12
+ */
13
+ Alert.prototype.title = function () { };
14
+ /**
15
+ * @return {?}
16
+ */
17
+ Alert.prototype.content = function () { };
18
+ /**
19
+ * @return {?}
20
+ */
21
+ Alert.prototype.ok = function () { };
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vYWxlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLDJCQUlDOzs7OztJQUhHLHdDQUFnQjs7OztJQUNoQiwwQ0FBbUI7Ozs7SUFDbkIscUNBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBpbnRlcmZhY2UgQWxlcnQge1xuICAgIHRpdGxlPygpOnN0cmluZztcbiAgICBjb250ZW50KCk6c3RyaW5nW107XG4gICAgb2soKTpzdHJpbmc7XG59XG4iXX0=