@coolon/angular-ui-powerups 0.0.26 → 0.0.27

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 (286) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +3926 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -0
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -0
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -0
  5. package/coolon-angular-ui-powerups.d.ts +30 -0
  6. package/coolon-angular-ui-powerups.metadata.json +1 -0
  7. package/esm2015/coolon-angular-ui-powerups.js +33 -0
  8. package/esm2015/index.js +6 -0
  9. package/esm2015/lib/angular-ui-powerups.module.js +54 -0
  10. package/esm2015/lib/animations/index.js +9 -0
  11. package/esm2015/lib/animations/slideDownAndUpAnimation.js +30 -0
  12. package/esm2015/lib/components/disposable-component.js +14 -0
  13. package/esm2015/lib/components/forms/abstract-input.component.js +183 -0
  14. package/esm2015/lib/components/forms/number-input/number-input.component.js +26 -0
  15. package/esm2015/lib/components/forms/password-input/password-input.component.js +26 -0
  16. package/esm2015/lib/components/forms/select-input/select-input.component.js +60 -0
  17. package/esm2015/lib/components/forms/string-input/string-input.component.js +26 -0
  18. package/esm2015/lib/components/index.js +18 -0
  19. package/esm2015/lib/components/resize-aware.component.js +96 -0
  20. package/esm2015/lib/components/types/bounds.class.js +56 -0
  21. package/esm2015/lib/components/types/dimension.class.js +21 -0
  22. package/esm2015/lib/components/types/point.class.js +36 -0
  23. package/esm2015/lib/directives/command.directive.js +135 -0
  24. package/esm2015/lib/directives/focus-binding.directive.js +179 -0
  25. package/esm2015/lib/directives/index.js +10 -0
  26. package/esm2015/lib/interaction/abstract-activity.js +129 -0
  27. package/esm2015/lib/interaction/activity.js +27 -0
  28. package/esm2015/lib/interaction/alert.js +23 -0
  29. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +144 -0
  30. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js +22 -0
  31. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +169 -0
  32. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +37 -0
  33. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +46 -0
  34. package/esm2015/lib/interaction/confirm.js +17 -0
  35. package/esm2015/lib/interaction/index.js +21 -0
  36. package/esm2015/lib/interaction/interaction-context.js +35 -0
  37. package/esm2015/lib/interaction/interaction.module.js +41 -0
  38. package/esm2015/lib/interaction/result.js +24 -0
  39. package/esm2015/lib/interaction/services/dialog-interaction.service.js +114 -0
  40. package/esm2015/lib/place/abstract-place-component.js +59 -0
  41. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +44 -0
  42. package/esm2015/lib/place/components/empty-state/empty-state.component.js +28 -0
  43. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +67 -0
  44. package/esm2015/lib/place/components/place-outlet/route-animations.js +35 -0
  45. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +50 -0
  46. package/esm2015/lib/place/guards/leave-place.guard.js +52 -0
  47. package/esm2015/lib/place/guards/place-route.guard.js +74 -0
  48. package/esm2015/lib/place/index.js +27 -0
  49. package/esm2015/lib/place/place-component.js +17 -0
  50. package/esm2015/lib/place/place.decorator.js +72 -0
  51. package/esm2015/lib/place/place.module.js +49 -0
  52. package/esm2015/lib/place/place.service.js +61 -0
  53. package/esm2015/lib/place/route/json-types.js +13 -0
  54. package/esm2015/lib/place/route/parameter-decorators.js +178 -0
  55. package/esm2015/lib/place/route/parameter-definition.class.js +24 -0
  56. package/esm2015/lib/place/route/parameter-sanitiser.js +17 -0
  57. package/esm2015/lib/place/route/parameter-type.js +43 -0
  58. package/esm2015/lib/place/route/route-parameter-bindings.js +294 -0
  59. package/esm2015/lib/place/route/route-parameter-sanitiser.js +280 -0
  60. package/esm2015/public_api.js +11 -0
  61. package/esm5/coolon-angular-ui-powerups.js +33 -0
  62. package/esm5/index.js +6 -0
  63. package/esm5/lib/angular-ui-powerups.module.js +58 -0
  64. package/esm5/lib/animations/index.js +9 -0
  65. package/esm5/lib/animations/slideDownAndUpAnimation.js +30 -0
  66. package/esm5/lib/components/disposable-component.js +24 -0
  67. package/esm5/lib/components/forms/abstract-input.component.js +232 -0
  68. package/esm5/lib/components/forms/number-input/number-input.component.js +33 -0
  69. package/esm5/lib/components/forms/password-input/password-input.component.js +33 -0
  70. package/esm5/lib/components/forms/select-input/select-input.component.js +67 -0
  71. package/esm5/lib/components/forms/string-input/string-input.component.js +33 -0
  72. package/esm5/lib/components/index.js +18 -0
  73. package/esm5/lib/components/resize-aware.component.js +124 -0
  74. package/esm5/lib/components/types/bounds.class.js +59 -0
  75. package/esm5/lib/components/types/dimension.class.js +19 -0
  76. package/esm5/lib/components/types/point.class.js +43 -0
  77. package/esm5/lib/directives/command.directive.js +155 -0
  78. package/esm5/lib/directives/focus-binding.directive.js +231 -0
  79. package/esm5/lib/directives/index.js +10 -0
  80. package/esm5/lib/interaction/abstract-activity.js +173 -0
  81. package/esm5/lib/interaction/activity.js +27 -0
  82. package/esm5/lib/interaction/alert.js +23 -0
  83. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +181 -0
  84. package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js +22 -0
  85. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +206 -0
  86. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +42 -0
  87. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +54 -0
  88. package/esm5/lib/interaction/confirm.js +17 -0
  89. package/esm5/lib/interaction/index.js +21 -0
  90. package/esm5/lib/interaction/interaction-context.js +45 -0
  91. package/esm5/lib/interaction/interaction.module.js +45 -0
  92. package/esm5/lib/interaction/result.js +24 -0
  93. package/esm5/lib/interaction/services/dialog-interaction.service.js +140 -0
  94. package/esm5/lib/place/abstract-place-component.js +66 -0
  95. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +49 -0
  96. package/esm5/lib/place/components/empty-state/empty-state.component.js +29 -0
  97. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +81 -0
  98. package/esm5/lib/place/components/place-outlet/route-animations.js +35 -0
  99. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +57 -0
  100. package/esm5/lib/place/guards/leave-place.guard.js +57 -0
  101. package/esm5/lib/place/guards/place-route.guard.js +78 -0
  102. package/esm5/lib/place/index.js +27 -0
  103. package/esm5/lib/place/place-component.js +17 -0
  104. package/esm5/lib/place/place.decorator.js +69 -0
  105. package/esm5/lib/place/place.module.js +53 -0
  106. package/esm5/lib/place/place.service.js +75 -0
  107. package/esm5/lib/place/route/json-types.js +13 -0
  108. package/esm5/lib/place/route/parameter-decorators.js +178 -0
  109. package/esm5/lib/place/route/parameter-definition.class.js +24 -0
  110. package/esm5/lib/place/route/parameter-sanitiser.js +17 -0
  111. package/esm5/lib/place/route/parameter-type.js +65 -0
  112. package/esm5/lib/place/route/route-parameter-bindings.js +339 -0
  113. package/esm5/lib/place/route/route-parameter-sanitiser.js +395 -0
  114. package/esm5/public_api.js +11 -0
  115. package/fesm2015/coolon-angular-ui-powerups.js +3145 -0
  116. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -0
  117. package/fesm5/coolon-angular-ui-powerups.js +3699 -0
  118. package/fesm5/coolon-angular-ui-powerups.js.map +1 -0
  119. package/lib/angular-ui-powerups.module.d.ts +2 -0
  120. package/{src/lib/animations/index.ts → lib/animations/index.d.ts} +0 -1
  121. package/lib/animations/slideDownAndUpAnimation.d.ts +5 -0
  122. package/lib/components/disposable-component.d.ts +5 -0
  123. package/lib/components/forms/abstract-input.component.d.ts +35 -0
  124. package/lib/components/forms/number-input/number-input.component.d.ts +6 -0
  125. package/lib/components/forms/password-input/password-input.component.d.ts +6 -0
  126. package/lib/components/forms/select-input/select-input.component.d.ts +11 -0
  127. package/lib/components/forms/string-input/string-input.component.d.ts +6 -0
  128. package/{src/lib/components/index.ts → lib/components/index.d.ts} +0 -1
  129. package/lib/components/resize-aware.component.d.ts +22 -0
  130. package/lib/components/types/bounds.class.d.ts +16 -0
  131. package/lib/components/types/dimension.class.d.ts +5 -0
  132. package/lib/components/types/point.class.d.ts +10 -0
  133. package/lib/directives/command.directive.d.ts +14 -0
  134. package/lib/directives/focus-binding.directive.d.ts +22 -0
  135. package/{src/lib/directives/index.ts → lib/directives/index.d.ts} +0 -1
  136. package/lib/interaction/abstract-activity.d.ts +17 -0
  137. package/lib/interaction/activity.d.ts +11 -0
  138. package/lib/interaction/alert.d.ts +5 -0
  139. package/lib/interaction/components/activity-container/activity-container.component.d.ts +32 -0
  140. package/{src/lib/interaction/components/activity-outlet/activity-outlet-context.ts → lib/interaction/components/activity-outlet/activity-outlet-context.d.ts} +5 -7
  141. package/lib/interaction/components/activity-outlet/activity-outlet.component.d.ts +30 -0
  142. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +8 -0
  143. package/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.d.ts +9 -0
  144. package/{src/lib/interaction/confirm.ts → lib/interaction/confirm.d.ts} +2 -3
  145. package/{src/lib/interaction/index.ts → lib/interaction/index.d.ts} +0 -1
  146. package/lib/interaction/interaction-context.d.ts +11 -0
  147. package/lib/interaction/interaction.module.d.ts +2 -0
  148. package/lib/interaction/result.d.ts +8 -0
  149. package/lib/interaction/services/dialog-interaction.service.d.ts +14 -0
  150. package/lib/place/abstract-place-component.d.ts +13 -0
  151. package/lib/place/components/busy-overlay/busy-overlay.component.d.ts +8 -0
  152. package/lib/place/components/empty-state/empty-state.component.d.ts +5 -0
  153. package/lib/place/components/place-outlet/place-outlet.component.d.ts +13 -0
  154. package/lib/place/components/place-outlet/route-animations.d.ts +1 -0
  155. package/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.d.ts +11 -0
  156. package/lib/place/guards/leave-place.guard.d.ts +10 -0
  157. package/lib/place/guards/place-route.guard.d.ts +9 -0
  158. package/{src/lib/place/index.ts → lib/place/index.d.ts} +0 -1
  159. package/lib/place/place-component.d.ts +5 -0
  160. package/lib/place/place.decorator.d.ts +20 -0
  161. package/lib/place/place.module.d.ts +2 -0
  162. package/lib/place/place.service.d.ts +8 -0
  163. package/lib/place/route/json-types.d.ts +7 -0
  164. package/lib/place/route/parameter-decorators.d.ts +26 -0
  165. package/lib/place/route/parameter-definition.class.d.ts +11 -0
  166. package/{src/lib/place/route/parameter-sanitiser.ts → lib/place/route/parameter-sanitiser.d.ts} +1 -1
  167. package/lib/place/route/parameter-type.d.ts +16 -0
  168. package/lib/place/route/route-parameter-bindings.d.ts +18 -0
  169. package/lib/place/route/route-parameter-sanitiser.d.ts +42 -0
  170. package/package.json +14 -12
  171. package/schematics/ng-add/index.d.ts +2 -0
  172. package/schematics/ng-add/index.js +12 -0
  173. package/schematics/ng-add/index.js.map +1 -0
  174. package/schematics/place-routes/index.d.ts +3 -0
  175. package/schematics/place-routes/index.js +114 -0
  176. package/schematics/place-routes/index.js.map +1 -0
  177. package/schematics/place-routes/place-def.d.ts +34 -0
  178. package/schematics/place-routes/place-def.js +84 -0
  179. package/schematics/place-routes/place-def.js.map +1 -0
  180. package/schematics/place-routes/scanner.d.ts +26 -0
  181. package/schematics/place-routes/scanner.js +125 -0
  182. package/schematics/place-routes/scanner.js.map +1 -0
  183. package/schematics/place-routes/schema.d.ts +7 -0
  184. package/schematics/place-routes/schema.js +3 -0
  185. package/schematics/place-routes/schema.js.map +1 -0
  186. package/CHANGELOG.md +0 -7
  187. package/jest.config.js +0 -9
  188. package/ng-package.json +0 -13
  189. package/schematics/ng-add/index.ts +0 -10
  190. package/schematics/place-routes/index.ts +0 -152
  191. package/schematics/place-routes/place-def.ts +0 -93
  192. package/schematics/place-routes/scanner.ts +0 -145
  193. package/schematics/place-routes/schema.ts +0 -7
  194. package/src/lib/angular-ui-powerups.module.spec.ts +0 -14
  195. package/src/lib/angular-ui-powerups.module.ts +0 -49
  196. package/src/lib/animations/slideDownAndUpAnimation.ts +0 -39
  197. package/src/lib/components/disposable-component.ts +0 -9
  198. package/src/lib/components/forms/abstract-input.component.ts +0 -108
  199. package/src/lib/components/forms/number-input/number-input.component.html +0 -15
  200. package/src/lib/components/forms/number-input/number-input.component.scss +0 -3
  201. package/src/lib/components/forms/number-input/number-input.component.spec.ts +0 -25
  202. package/src/lib/components/forms/number-input/number-input.component.ts +0 -19
  203. package/src/lib/components/forms/password-input/password-input.component.html +0 -16
  204. package/src/lib/components/forms/password-input/password-input.component.scss +0 -3
  205. package/src/lib/components/forms/password-input/password-input.component.spec.ts +0 -25
  206. package/src/lib/components/forms/password-input/password-input.component.ts +0 -18
  207. package/src/lib/components/forms/scss/mixins.scss +0 -16
  208. package/src/lib/components/forms/select-input/select-input.component.html +0 -16
  209. package/src/lib/components/forms/select-input/select-input.component.scss +0 -7
  210. package/src/lib/components/forms/select-input/select-input.component.spec.ts +0 -25
  211. package/src/lib/components/forms/select-input/select-input.component.ts +0 -31
  212. package/src/lib/components/forms/string-input/string-input.component.html +0 -15
  213. package/src/lib/components/forms/string-input/string-input.component.scss +0 -3
  214. package/src/lib/components/forms/string-input/string-input.component.spec.ts +0 -25
  215. package/src/lib/components/forms/string-input/string-input.component.ts +0 -18
  216. package/src/lib/components/resize-aware.component.ts +0 -52
  217. package/src/lib/components/types/bounds.class.ts +0 -25
  218. package/src/lib/components/types/dimension.class.ts +0 -3
  219. package/src/lib/components/types/point.class.ts +0 -13
  220. package/src/lib/directives/command.directive.spec.ts +0 -73
  221. package/src/lib/directives/command.directive.ts +0 -81
  222. package/src/lib/directives/focus-binding.directive.spec.ts +0 -8
  223. package/src/lib/directives/focus-binding.directive.ts +0 -108
  224. package/src/lib/interaction/abstract-activity.ts +0 -57
  225. package/src/lib/interaction/activity.ts +0 -17
  226. package/src/lib/interaction/alert.ts +0 -6
  227. package/src/lib/interaction/components/activity-container/activity-container.component.html +0 -8
  228. package/src/lib/interaction/components/activity-container/activity-container.component.scss +0 -3
  229. package/src/lib/interaction/components/activity-container/activity-container.component.spec.ts +0 -25
  230. package/src/lib/interaction/components/activity-container/activity-container.component.ts +0 -93
  231. package/src/lib/interaction/components/activity-outlet/activity-outlet.component.scss +0 -3
  232. package/src/lib/interaction/components/activity-outlet/activity-outlet.component.spec.ts +0 -25
  233. package/src/lib/interaction/components/activity-outlet/activity-outlet.component.ts +0 -96
  234. package/src/lib/interaction/components/alert-dialog/alert-dialog.component.html +0 -7
  235. package/src/lib/interaction/components/alert-dialog/alert-dialog.component.scss +0 -7
  236. package/src/lib/interaction/components/alert-dialog/alert-dialog.component.spec.ts +0 -25
  237. package/src/lib/interaction/components/alert-dialog/alert-dialog.component.ts +0 -20
  238. package/src/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.html +0 -9
  239. package/src/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.scss +0 -8
  240. package/src/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.spec.ts +0 -25
  241. package/src/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ts +0 -26
  242. package/src/lib/interaction/interaction-context.ts +0 -16
  243. package/src/lib/interaction/interaction.module.ts +0 -35
  244. package/src/lib/interaction/result.ts +0 -16
  245. package/src/lib/interaction/services/dialog-interaction.service.scss +0 -11
  246. package/src/lib/interaction/services/dialog-interaction.service.spec.ts +0 -12
  247. package/src/lib/interaction/services/dialog-interaction.service.ts +0 -63
  248. package/src/lib/place/abstract-place-component.ts +0 -33
  249. package/src/lib/place/components/busy-overlay/busy-overlay.component.html +0 -4
  250. package/src/lib/place/components/busy-overlay/busy-overlay.component.scss +0 -27
  251. package/src/lib/place/components/busy-overlay/busy-overlay.component.spec.ts +0 -25
  252. package/src/lib/place/components/busy-overlay/busy-overlay.component.ts +0 -23
  253. package/src/lib/place/components/empty-state/empty-state.component.scss +0 -15
  254. package/src/lib/place/components/empty-state/empty-state.component.spec.ts +0 -25
  255. package/src/lib/place/components/empty-state/empty-state.component.ts +0 -19
  256. package/src/lib/place/components/place-outlet/place-outlet.component.html +0 -7
  257. package/src/lib/place/components/place-outlet/place-outlet.component.scss +0 -12
  258. package/src/lib/place/components/place-outlet/place-outlet.component.spec.ts +0 -25
  259. package/src/lib/place/components/place-outlet/place-outlet.component.ts +0 -37
  260. package/src/lib/place/components/place-outlet/route-animations.ts +0 -30
  261. package/src/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.html +0 -7
  262. package/src/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.scss +0 -100
  263. package/src/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.spec.ts +0 -25
  264. package/src/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ts +0 -30
  265. package/src/lib/place/guards/leave-place.guard.spec.ts +0 -15
  266. package/src/lib/place/guards/leave-place.guard.ts +0 -18
  267. package/src/lib/place/guards/place-route.guard.ts +0 -37
  268. package/src/lib/place/place-component.ts +0 -6
  269. package/src/lib/place/place.decorator.ts +0 -40
  270. package/src/lib/place/place.module.ts +0 -44
  271. package/src/lib/place/place.service.spec.ts +0 -12
  272. package/src/lib/place/place.service.ts +0 -29
  273. package/src/lib/place/route/json-types.ts +0 -5
  274. package/src/lib/place/route/parameter-decorators.ts +0 -99
  275. package/src/lib/place/route/parameter-definition.class.ts +0 -12
  276. package/src/lib/place/route/parameter-type.ts +0 -31
  277. package/src/lib/place/route/route-parameter-bindings.ts +0 -140
  278. package/src/lib/place/route/route-parameter-sanitiser.ts +0 -135
  279. package/src/test-setup.ts +0 -1
  280. package/tsconfig.json +0 -7
  281. package/tsconfig.lib.json +0 -20
  282. package/tsconfig.schematics.json +0 -35
  283. package/tsconfig.spec.json +0 -10
  284. package/tslint.json +0 -7
  285. /package/{src/index.ts → index.d.ts} +0 -0
  286. /package/{src/public_api.ts → public_api.d.ts} +0 -0
@@ -0,0 +1,135 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Directive, ElementRef, HostListener, Inject, Input } from '@angular/core';
6
+ import { assert, Dsl, GarbageCollector, lang, UnaryCommand } from '@coolon/pectin';
7
+ /**
8
+ * @template P
9
+ */
10
+ export class CommandDirective extends GarbageCollector {
11
+ /**
12
+ * @param {?} elementRef
13
+ */
14
+ constructor(elementRef) {
15
+ super();
16
+ this.elementRef = elementRef;
17
+ this._commandParameterProvided = false;
18
+ }
19
+ /**
20
+ * @param {?} value
21
+ * @return {?}
22
+ */
23
+ set commandParameter(value) {
24
+ this._commandParameterProvided = true;
25
+ this._commandParameter = value;
26
+ }
27
+ /**
28
+ * @return {?}
29
+ */
30
+ get commandParameter() {
31
+ return this._commandParameter;
32
+ }
33
+ /**
34
+ * @return {?}
35
+ */
36
+ ngOnInit() {
37
+ assert.notNil(this.pectinCommand);
38
+ if (this.pectinCommand instanceof UnaryCommand) {
39
+ if (!this._commandParameterProvided) {
40
+ lang.illegalState('UnaryCommands required the command parameter to be specified.');
41
+ }
42
+ }
43
+ else {
44
+ if (this._commandParameterProvided) {
45
+ lang.illegalState('command parameters are only supported by UnaryCommands');
46
+ }
47
+ }
48
+ }
49
+ /**
50
+ * @return {?}
51
+ */
52
+ ngAfterViewInit() {
53
+ // for some reason mat-buttons kills the disabled host binding. It works on a regular button but for now
54
+ // we need to do this.
55
+ const { chain } = Dsl.disposeWith(this);
56
+ chain(this.pectinCommand.enabled).subscribe((/**
57
+ * @param {?} enabled
58
+ * @return {?}
59
+ */
60
+ enabled => {
61
+ if (enabled) {
62
+ this.elementRef.nativeElement.removeAttribute('disabled');
63
+ if (this.elementRef.nativeElement.tagName === 'A') {
64
+ this.elementRef.nativeElement.setAttribute('href', 'javascript:void');
65
+ }
66
+ }
67
+ else {
68
+ this.elementRef.nativeElement.setAttribute('disabled', 'disabled');
69
+ if (this.elementRef.nativeElement.tagName === 'A') {
70
+ this.elementRef.nativeElement.removeAttribute('href');
71
+ }
72
+ }
73
+ }));
74
+ }
75
+ /**
76
+ * @return {?}
77
+ */
78
+ ngOnDestroy() {
79
+ this.dispose();
80
+ }
81
+ /**
82
+ * @param {?} $event
83
+ * @return {?}
84
+ */
85
+ notifyClick($event) {
86
+ $event.preventDefault();
87
+ $event.stopPropagation();
88
+ if (this.pectinCommand.enabled.value) {
89
+ if (this.pectinCommand instanceof UnaryCommand) {
90
+ this.pectinCommand.withContext({ event: $event }).execute(this.commandParameter);
91
+ }
92
+ else {
93
+ this.pectinCommand.withContext({ event: $event }).execute();
94
+ }
95
+ }
96
+ else {
97
+ console.warn('disabled command clicked, ignoring.');
98
+ }
99
+ }
100
+ }
101
+ CommandDirective.decorators = [
102
+ { type: Directive, args: [{
103
+ // tslint:disable-next-line:directive-selector
104
+ selector: '[pectinCommand]'
105
+ },] }
106
+ ];
107
+ /** @nocollapse */
108
+ CommandDirective.ctorParameters = () => [
109
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
110
+ ];
111
+ CommandDirective.propDecorators = {
112
+ pectinCommand: [{ type: Input }],
113
+ commandParameter: [{ type: Input }],
114
+ notifyClick: [{ type: HostListener, args: ['click', ['$event'],] }]
115
+ };
116
+ if (false) {
117
+ /** @type {?} */
118
+ CommandDirective.prototype.pectinCommand;
119
+ /**
120
+ * @type {?}
121
+ * @private
122
+ */
123
+ CommandDirective.prototype._commandParameter;
124
+ /**
125
+ * @type {?}
126
+ * @private
127
+ */
128
+ CommandDirective.prototype._commandParameterProvided;
129
+ /**
130
+ * @type {?}
131
+ * @private
132
+ */
133
+ CommandDirective.prototype.elementRef;
134
+ }
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9jb21tYW5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQUUsTUFBTSxFQUFXLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNNUYsTUFBTSxPQUFPLGdCQUEwQixTQUFRLGdCQUFnQjs7OztJQWtCN0QsWUFBd0MsVUFBc0I7UUFDNUQsS0FBSyxFQUFFLENBQUM7UUFEOEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVp0RCw4QkFBeUIsR0FBRyxLQUFLLENBQUM7SUFjMUMsQ0FBQzs7Ozs7SUFaRCxJQUNJLGdCQUFnQixDQUFDLEtBQVE7UUFDM0IsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7Ozs7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDOzs7O0lBTUQsUUFBUTtRQUNOLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLGFBQWEsWUFBWSxZQUFZLEVBQUU7WUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQywrREFBK0QsQ0FBQyxDQUFDO2FBQ3BGO1NBQ0Y7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO2dCQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLHdEQUF3RCxDQUFDLENBQUM7YUFDN0U7U0FDRjtJQUNILENBQUM7Ozs7SUFFRCxlQUFlOzs7Y0FHUCxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNwRCxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLEdBQUcsRUFBRTtvQkFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2lCQUN2RTthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ25FLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLEdBQUcsRUFBRTtvQkFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN2RDthQUNGO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7OztJQUlELFdBQVcsQ0FBQyxNQUFhO1FBQ3ZCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDcEMsSUFBSSxJQUFJLENBQUMsYUFBYSxZQUFZLFlBQVksRUFBRTtnQkFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDbEY7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUM3RDtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOzs7WUE1RUYsU0FBUyxTQUFDOztnQkFFVCxRQUFRLEVBQUUsaUJBQWlCO2FBQzVCOzs7O1lBTmtDLFVBQVUsdUJBeUI5QixNQUFNLFNBQUMsVUFBVTs7OzRCQWhCN0IsS0FBSzsrQkFNTCxLQUFLOzBCQW1ETCxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOzs7O0lBekRqQyx5Q0FDOEM7Ozs7O0lBRTlDLDZDQUE0Qjs7Ozs7SUFDNUIscURBQTBDOzs7OztJQVk5QixzQ0FBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzc2VydCwgQ29tbWFuZCwgRHNsLCBHYXJiYWdlQ29sbGVjdG9yLCBsYW5nLCBVbmFyeUNvbW1hbmQgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW3BlY3RpbkNvbW1hbmRdJ1xufSlcbmV4cG9ydCBjbGFzcyBDb21tYW5kRGlyZWN0aXZlPFAgPSBhbnk+IGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKVxuICBwZWN0aW5Db21tYW5kOiBDb21tYW5kPGFueT4gfCBVbmFyeUNvbW1hbmQ8UD47XG5cbiAgcHJpdmF0ZSBfY29tbWFuZFBhcmFtZXRlcjpQO1xuICBwcml2YXRlIF9jb21tYW5kUGFyYW1ldGVyUHJvdmlkZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgY29tbWFuZFBhcmFtZXRlcih2YWx1ZTogUCkge1xuICAgIHRoaXMuX2NvbW1hbmRQYXJhbWV0ZXJQcm92aWRlZCA9IHRydWU7XG4gICAgdGhpcy5fY29tbWFuZFBhcmFtZXRlciA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGNvbW1hbmRQYXJhbWV0ZXIoKTogUCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbW1hbmRQYXJhbWV0ZXI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBhc3NlcnQubm90TmlsKHRoaXMucGVjdGluQ29tbWFuZCk7XG4gICAgaWYgKHRoaXMucGVjdGluQ29tbWFuZCBpbnN0YW5jZW9mIFVuYXJ5Q29tbWFuZCkge1xuICAgICAgaWYgKCF0aGlzLl9jb21tYW5kUGFyYW1ldGVyUHJvdmlkZWQpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ1VuYXJ5Q29tbWFuZHMgcmVxdWlyZWQgdGhlIGNvbW1hbmQgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZC4nKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX2NvbW1hbmRQYXJhbWV0ZXJQcm92aWRlZCkge1xuICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnY29tbWFuZCBwYXJhbWV0ZXJzIGFyZSBvbmx5IHN1cHBvcnRlZCBieSBVbmFyeUNvbW1hbmRzJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIGZvciBzb21lIHJlYXNvbiBtYXQtYnV0dG9ucyBraWxscyB0aGUgZGlzYWJsZWQgaG9zdCBiaW5kaW5nLiAgSXQgd29ya3Mgb24gYSByZWd1bGFyIGJ1dHRvbiBidXQgZm9yIG5vd1xuICAgIC8vIHdlIG5lZWQgdG8gZG8gdGhpcy5cbiAgICBjb25zdCB7IGNoYWluIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgY2hhaW4odGhpcy5wZWN0aW5Db21tYW5kLmVuYWJsZWQpLnN1YnNjcmliZShlbmFibGVkID0+IHtcbiAgICAgIGlmIChlbmFibGVkKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaHJlZicsICdqYXZhc2NyaXB0OnZvaWQnKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ0EnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdocmVmJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG5vdGlmeUNsaWNrKCRldmVudDogRXZlbnQpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMucGVjdGluQ29tbWFuZC5lbmFibGVkLnZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5wZWN0aW5Db21tYW5kIGluc3RhbmNlb2YgVW5hcnlDb21tYW5kKSB7XG4gICAgICAgIHRoaXMucGVjdGluQ29tbWFuZC53aXRoQ29udGV4dCh7IGV2ZW50OiAkZXZlbnQgfSkuZXhlY3V0ZSh0aGlzLmNvbW1hbmRQYXJhbWV0ZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wZWN0aW5Db21tYW5kLndpdGhDb250ZXh0KHsgZXZlbnQ6ICRldmVudCB9KS5leGVjdXRlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignZGlzYWJsZWQgY29tbWFuZCBjbGlja2VkLCBpZ25vcmluZy4nKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,179 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { DOCUMENT } from '@angular/common';
6
+ import { Directive, ElementRef, HostListener, Inject, Input, NgZone } from '@angular/core';
7
+ import { Dsl, HasFocusTracking, Logger } from '@coolon/pectin';
8
+ import { DisposableComponent } from '../components/disposable-component';
9
+ export class FocusBindingDirective extends DisposableComponent {
10
+ /**
11
+ * @param {?} el
12
+ * @param {?} ngZone
13
+ * @param {?} document
14
+ */
15
+ constructor(el, ngZone, document) {
16
+ super();
17
+ this.el = el;
18
+ this.ngZone = ngZone;
19
+ // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642
20
+ this.document = (/** @type {?} */ (document));
21
+ }
22
+ /**
23
+ * @return {?}
24
+ */
25
+ onFocusIn() {
26
+ if (this.hasBinding()) {
27
+ this.pectinFocusBinding.focusContext.notifyFocusIn();
28
+ }
29
+ }
30
+ /**
31
+ * @return {?}
32
+ */
33
+ onFocusOut() {
34
+ if (this.hasBinding()) {
35
+ this.pectinFocusBinding.focusContext.notifyFocusOut();
36
+ }
37
+ }
38
+ /**
39
+ * @return {?}
40
+ */
41
+ ngOnInit() {
42
+ }
43
+ /**
44
+ * @return {?}
45
+ */
46
+ ngAfterViewInit() {
47
+ // TODO: Make this also track the current enabled/disabled state.
48
+ if (this.hasBinding()) {
49
+ const { chain } = Dsl.disposeWith(this);
50
+ chain(this.pectinFocusBinding.focusContext.focused).subscribe((/**
51
+ * @param {?} focused
52
+ * @return {?}
53
+ */
54
+ (focused) => {
55
+ if (focused && !this.alreadyHasFocus()) {
56
+ this.tryAndFocus();
57
+ }
58
+ }));
59
+ }
60
+ else {
61
+ Logger.get(this).warn("pectinFocusBinding was nil");
62
+ }
63
+ }
64
+ /**
65
+ * @private
66
+ * @return {?}
67
+ */
68
+ hasBinding() {
69
+ return !!this.pectinFocusBinding && !!this.pectinFocusBinding.focusContext;
70
+ }
71
+ // Hook method for debugging via tracing.
72
+ /**
73
+ * @return {?}
74
+ */
75
+ alreadyHasFocus() {
76
+ return this.isFocused(this.focusTarget);
77
+ }
78
+ // Hook method for debugging via tracing.
79
+ /**
80
+ * @param {?} element
81
+ * @return {?}
82
+ */
83
+ isFocused(element) {
84
+ return this.document.activeElement === element;
85
+ }
86
+ /**
87
+ * @param {?=} retries
88
+ * @return {?}
89
+ */
90
+ tryAndFocus(retries = 5) {
91
+ if (this.modelShouldStillHaveFocus() && this.canFocus()) {
92
+ if (!this.alreadyHasFocus()) {
93
+ this.focusTarget.focus();
94
+ }
95
+ // if we didn't get the focus we try again later.
96
+ if (!this.alreadyHasFocus()) {
97
+ Logger.get(this).log(`focus failed, trying ${retries} more times`);
98
+ if (retries > 0) {
99
+ // try again on the next paint
100
+ // TODO: is there an angular way of doing this without calling a window function.
101
+ requestAnimationFrame((/**
102
+ * @return {?}
103
+ */
104
+ () => {
105
+ this.tryAndFocus(retries - 1);
106
+ }));
107
+ }
108
+ else {
109
+ Logger.get(this).warn(`Tried to focus but gave up as the component wasn't enabled or visible.`);
110
+ }
111
+ }
112
+ }
113
+ }
114
+ /**
115
+ * @return {?}
116
+ */
117
+ get focusTarget() {
118
+ return this.focusBindingTarget || this.el.nativeElement;
119
+ }
120
+ // Hook method for debugging via tracing.
121
+ /**
122
+ * @return {?}
123
+ */
124
+ modelShouldStillHaveFocus() {
125
+ return this.hasBinding() && this.pectinFocusBinding.focusContext.focused.value;
126
+ }
127
+ // Hook method for debugging via tracing.
128
+ /**
129
+ * @return {?}
130
+ */
131
+ canFocus() {
132
+ /** @type {?} */
133
+ const dimension = this.focusTarget.getBoundingClientRect();
134
+ /** @type {?} */
135
+ const hasSize = dimension.height >= 0 && dimension.height >= 0;
136
+ // tslint:disable-next-line:no-string-literal
137
+ return hasSize && !this.focusTarget['disabled'];
138
+ }
139
+ }
140
+ FocusBindingDirective.decorators = [
141
+ { type: Directive, args: [{
142
+ // tslint:disable-next-line:directive-selector
143
+ selector: '[pectinFocusBinding]'
144
+ },] }
145
+ ];
146
+ /** @nocollapse */
147
+ FocusBindingDirective.ctorParameters = () => [
148
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
149
+ { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
150
+ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
151
+ ];
152
+ FocusBindingDirective.propDecorators = {
153
+ pectinFocusBinding: [{ type: Input }],
154
+ focusBindingTarget: [{ type: Input }],
155
+ onFocusIn: [{ type: HostListener, args: ['focusin',] }],
156
+ onFocusOut: [{ type: HostListener, args: ['focusout',] }]
157
+ };
158
+ if (false) {
159
+ /**
160
+ * @type {?}
161
+ * @private
162
+ */
163
+ FocusBindingDirective.prototype.document;
164
+ /** @type {?} */
165
+ FocusBindingDirective.prototype.pectinFocusBinding;
166
+ /** @type {?} */
167
+ FocusBindingDirective.prototype.focusBindingTarget;
168
+ /**
169
+ * @type {?}
170
+ * @private
171
+ */
172
+ FocusBindingDirective.prototype.el;
173
+ /**
174
+ * @type {?}
175
+ * @private
176
+ */
177
+ FocusBindingDirective.prototype.ngZone;
178
+ }
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtYmluZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9mb2N1cy1iaW5kaW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQU92RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1COzs7Ozs7SUFxQjVELFlBQWlELEVBQWMsRUFDbEIsTUFBYyxFQUM3QixRQUFhO1FBQ3pDLEtBQUssRUFBRSxDQUFDO1FBSHVDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUd6RCxrSEFBa0g7UUFDbEgsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBQSxRQUFRLEVBQVksQ0FBQztJQUN2QyxDQUFDOzs7O0lBbkJELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3REO0lBQ0gsQ0FBQzs7OztJQUdELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQzs7OztJQVVELFFBQVE7SUFD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OUIyQyxNQUFNLHVCQStCbEUsTUFBTSxTQUFDLE1BQU07NENBQ2IsTUFBTSxTQUFDLFFBQVE7OztpQ0FuQjNCLEtBQUs7aUNBQ0wsS0FBSzt3QkFFTCxZQUFZLFNBQUMsU0FBUzt5QkFPdEIsWUFBWSxTQUFDLFVBQVU7Ozs7Ozs7SUFaeEIseUNBQW9DOztJQUVwQyxtREFBOEM7O0lBQzlDLG1EQUF5Qzs7Ozs7SUFnQjdCLG1DQUFtRDs7Ozs7SUFDbkQsdUNBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RHNsLCBIYXNGb2N1c1RyYWNraW5nLCBMb2dnZXJ9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7RGlzcG9zYWJsZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcGVjdGluRm9jdXNCaW5kaW5nXSdcbn0pXG5leHBvcnQgY2xhc3MgRm9jdXNCaW5kaW5nRGlyZWN0aXZlIGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgQElucHV0KCkgcGVjdGluRm9jdXNCaW5kaW5nOiBIYXNGb2N1c1RyYWNraW5nO1xuICBASW5wdXQoKSBmb2N1c0JpbmRpbmdUYXJnZXQ6IEhUTUxFbGVtZW50O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nKVxuICBvbkZvY3VzSW4oKSB7XG4gICAgaWYgKHRoaXMuaGFzQmluZGluZygpKSB7XG4gICAgICB0aGlzLnBlY3RpbkZvY3VzQmluZGluZy5mb2N1c0NvbnRleHQubm90aWZ5Rm9jdXNJbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgb25Gb2N1c091dCgpIHtcbiAgICBpZiAodGhpcy5oYXNCaW5kaW5nKCkpIHtcbiAgICAgIHRoaXMucGVjdGluRm9jdXNCaW5kaW5nLmZvY3VzQ29udGV4dC5ub3RpZnlGb2N1c091dCgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIEBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDk1MTMzNTkvY291bGQtbm90LXJlc29sdmUtdHlwZS1kb2N1bWVudC1pbi1hbmd1bGFyNS81MzcxNTY0MiM1MzcxNTY0MlxuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudCBhcyBEb2N1bWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIFRPRE86IE1ha2UgdGhpcyBhbHNvIHRyYWNrIHRoZSBjdXJyZW50IGVuYWJsZWQvZGlzYWJsZWQgc3RhdGUuXG4gICAgaWYgKHRoaXMuaGFzQmluZGluZygpKSB7XG4gICAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgICAgY2hhaW4odGhpcy5wZWN0aW5Gb2N1c0JpbmRpbmcuZm9jdXNDb250ZXh0LmZvY3VzZWQpLnN1YnNjcmliZSgoZm9jdXNlZCkgPT4ge1xuICAgICAgICBpZiAoZm9jdXNlZCAmJiAhdGhpcy5hbHJlYWR5SGFzRm9jdXMoKSkge1xuICAgICAgICAgIHRoaXMudHJ5QW5kRm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIExvZ2dlci5nZXQodGhpcykud2FybihcInBlY3RpbkZvY3VzQmluZGluZyB3YXMgbmlsXCIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFzQmluZGluZygpIHtcbiAgICByZXR1cm4gISF0aGlzLnBlY3RpbkZvY3VzQmluZGluZyAmJiAhIXRoaXMucGVjdGluRm9jdXNCaW5kaW5nLmZvY3VzQ29udGV4dDtcbiAgfVxuXG4vLyBIb29rIG1ldGhvZCBmb3IgZGVidWdnaW5nIHZpYSB0cmFjaW5nLlxuICBhbHJlYWR5SGFzRm9jdXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNGb2N1c2VkKHRoaXMuZm9jdXNUYXJnZXQpO1xuICB9XG5cbiAgLy8gSG9vayBtZXRob2QgZm9yIGRlYnVnZ2luZyB2aWEgdHJhY2luZy5cbiAgaXNGb2N1c2VkKGVsZW1lbnQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlbGVtZW50O1xuICB9XG5cbiAgdHJ5QW5kRm9jdXMocmV0cmllczogbnVtYmVyID0gNSkge1xuICAgIGlmICh0aGlzLm1vZGVsU2hvdWxkU3RpbGxIYXZlRm9jdXMoKSAmJiB0aGlzLmNhbkZvY3VzKCkpIHtcbiAgICAgIGlmICghdGhpcy5hbHJlYWR5SGFzRm9jdXMoKSkge1xuICAgICAgICB0aGlzLmZvY3VzVGFyZ2V0LmZvY3VzKCk7XG4gICAgICB9XG4gICAgICAvLyBpZiB3ZSBkaWRuJ3QgZ2V0IHRoZSBmb2N1cyB3ZSB0cnkgYWdhaW4gbGF0ZXIuXG4gICAgICBpZiAoIXRoaXMuYWxyZWFkeUhhc0ZvY3VzKCkpIHtcbiAgICAgICAgTG9nZ2VyLmdldCh0aGlzKS5sb2coYGZvY3VzIGZhaWxlZCwgdHJ5aW5nICR7cmV0cmllc30gbW9yZSB0aW1lc2ApO1xuICAgICAgICBpZiAocmV0cmllcyA+IDApIHtcbiAgICAgICAgICAvLyB0cnkgYWdhaW4gb24gdGhlIG5leHQgcGFpbnRcbiAgICAgICAgICAvLyBUT0RPOiBpcyB0aGVyZSBhbiBhbmd1bGFyIHdheSBvZiBkb2luZyB0aGlzIHdpdGhvdXQgY2FsbGluZyBhIHdpbmRvdyBmdW5jdGlvbi5cbiAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50cnlBbmRGb2N1cyhyZXRyaWVzIC0gMSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgTG9nZ2VyLmdldCh0aGlzKS53YXJuKGBUcmllZCB0byBmb2N1cyBidXQgZ2F2ZSB1cCBhcyB0aGUgY29tcG9uZW50IHdhc24ndCBlbmFibGVkIG9yIHZpc2libGUuYCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgZm9jdXNUYXJnZXQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZvY3VzQmluZGluZ1RhcmdldCB8fCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICAvLyBIb29rIG1ldGhvZCBmb3IgZGVidWdnaW5nIHZpYSB0cmFjaW5nLlxuICBtb2RlbFNob3VsZFN0aWxsSGF2ZUZvY3VzKCkge1xuICAgIHJldHVybiB0aGlzLmhhc0JpbmRpbmcoKSAmJiB0aGlzLnBlY3RpbkZvY3VzQmluZGluZy5mb2N1c0NvbnRleHQuZm9jdXNlZC52YWx1ZTtcbiAgfVxuXG4gIC8vIEhvb2sgbWV0aG9kIGZvciBkZWJ1Z2dpbmcgdmlhIHRyYWNpbmcuXG4gIGNhbkZvY3VzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRpbWVuc2lvbiA9IHRoaXMuZm9jdXNUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgaGFzU2l6ZSA9IGRpbWVuc2lvbi5oZWlnaHQgPj0gMCAmJiBkaW1lbnNpb24uaGVpZ2h0ID49IDA7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXN0cmluZy1saXRlcmFsXG4gICAgcmV0dXJuIGhhc1NpemUgJiYgIXRoaXMuZm9jdXNUYXJnZXRbJ2Rpc2FibGVkJ107XG4gIH1cbn1cbiJdfQ==
@@ -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,129 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { DelegatingValueModel, EventListenerList } from '@coolon/pectin';
6
+ import { DisposableComponent } from '../components/disposable-component';
7
+ /**
8
+ * @template D, R, E
9
+ */
10
+ export class AbstractActivity extends DisposableComponent {
11
+ constructor() {
12
+ super(...arguments);
13
+ this._doneListeners = new EventListenerList();
14
+ this._cancelListeners = new EventListenerList();
15
+ this._finishListeners = new EventListenerList();
16
+ this._busyModel = new DelegatingValueModel().withDefault(false);
17
+ }
18
+ /**
19
+ * @param {?} callback
20
+ * @return {?}
21
+ */
22
+ onDone(callback) {
23
+ this._doneListeners.add(callback);
24
+ }
25
+ /**
26
+ * @param {?} callback
27
+ * @return {?}
28
+ */
29
+ onCancel(callback) {
30
+ this._cancelListeners.add(callback);
31
+ }
32
+ /**
33
+ * @param {?=} result
34
+ * @return {?}
35
+ */
36
+ done(result) {
37
+ return this._doneListeners
38
+ .fireAndWait((/**
39
+ * @param {?} l
40
+ * @return {?}
41
+ */
42
+ l => l(result)))
43
+ .finally((/**
44
+ * @return {?}
45
+ */
46
+ () => this.finalizeAndDispose()));
47
+ }
48
+ /**
49
+ * @param {?=} error
50
+ * @return {?}
51
+ */
52
+ cancel(error) {
53
+ return this._cancelListeners
54
+ .fireAndWait((/**
55
+ * @param {?} l
56
+ * @return {?}
57
+ */
58
+ l => l(error)))
59
+ .finally((/**
60
+ * @return {?}
61
+ */
62
+ () => this.finalizeAndDispose()));
63
+ }
64
+ /**
65
+ * @private
66
+ * @return {?}
67
+ */
68
+ finalizeAndDispose() {
69
+ // this._activeModel.value = false;
70
+ this._finishListeners.fire((/**
71
+ * @param {?} l
72
+ * @return {?}
73
+ */
74
+ l => l()));
75
+ // this._interactionContext = null;
76
+ // this._initialized = false;
77
+ [
78
+ this._finishListeners,
79
+ this._doneListeners,
80
+ this._cancelListeners
81
+ ].forEach((/**
82
+ * @param {?} l
83
+ * @return {?}
84
+ */
85
+ l => l.dispose()));
86
+ }
87
+ /**
88
+ * @return {?}
89
+ */
90
+ get busy() {
91
+ return this._busyModel.readonly;
92
+ }
93
+ /**
94
+ * @param {?} busyModel
95
+ * @return {?}
96
+ */
97
+ busyWhile(busyModel) {
98
+ this._busyModel.setDelegate(busyModel);
99
+ }
100
+ /**
101
+ * @return {?}
102
+ */
103
+ isBusy() {
104
+ return this._busyModel.value;
105
+ }
106
+ }
107
+ if (false) {
108
+ /**
109
+ * @type {?}
110
+ * @private
111
+ */
112
+ AbstractActivity.prototype._doneListeners;
113
+ /**
114
+ * @type {?}
115
+ * @private
116
+ */
117
+ AbstractActivity.prototype._cancelListeners;
118
+ /**
119
+ * @type {?}
120
+ * @private
121
+ */
122
+ AbstractActivity.prototype._finishListeners;
123
+ /**
124
+ * @type {?}
125
+ * @private
126
+ */
127
+ AbstractActivity.prototype._busyModel;
128
+ }
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYWN0aXZpdHkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vYWJzdHJhY3QtYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7O0FBR3pFLE1BQU0sT0FBTyxnQkFBZ0MsU0FBUSxtQkFBbUI7SUFBeEU7O1FBRW1CLG1CQUFjLEdBQUcsSUFBSSxpQkFBaUIsRUFBd0IsQ0FBQztRQUMvRCxxQkFBZ0IsR0FBRyxJQUFJLGlCQUFpQixFQUF3QixDQUFDO1FBQ2pFLHFCQUFnQixHQUFHLElBQUksaUJBQWlCLEVBQWMsQ0FBQztRQUV2RCxlQUFVLEdBQUcsSUFBSSxvQkFBb0IsRUFBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQThDdkYsQ0FBQzs7Ozs7SUE1Q0MsTUFBTSxDQUFDLFFBQThCO1FBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLFFBQThCO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7Ozs7SUFFRCxJQUFJLENBQUMsTUFBVTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWM7YUFDdkIsV0FBVzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDO2FBQzNCLE9BQU87OztRQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLENBQUM7SUFDOUMsQ0FBQzs7Ozs7SUFFRCxNQUFNLENBQUMsS0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQjthQUN6QixXQUFXOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUM7YUFDMUIsT0FBTzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUMsQ0FBQztJQUM5QyxDQUFDOzs7OztJQUVPLGtCQUFrQjtRQUN4QixtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUk7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUM7UUFDckMsbUNBQW1DO1FBQ25DLDZCQUE2QjtRQUM3QjtZQUNFLElBQUksQ0FBQyxnQkFBZ0I7WUFDckIsSUFBSSxDQUFDLGNBQWM7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQjtTQUN0QixDQUFDLE9BQU87Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDO0lBQzlCLENBQUM7Ozs7SUFHRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7Ozs7O0lBRUQsU0FBUyxDQUFDLFNBQThCO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Ozs7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0NBQ0Y7Ozs7OztJQWxEQywwQ0FBZ0Y7Ozs7O0lBQ2hGLDRDQUFrRjs7Ozs7SUFDbEYsNENBQXdFOzs7OztJQUV4RSxzQ0FBcUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWxlZ2F0aW5nVmFsdWVNb2RlbCwgRXZlbnRMaXN0ZW5lckxpc3QsIFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4vYWN0aXZpdHknO1xuXG5leHBvcnQgY2xhc3MgQWJzdHJhY3RBY3Rpdml0eTxELCBSLCBFID0gYW55PiBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBBY3Rpdml0eTxELCBSLCBFPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZG9uZUxpc3RlbmVycyA9IG5ldyBFdmVudExpc3RlbmVyTGlzdDxBY3Rpdml0eS5DYWxsQmFjazxSPj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2FuY2VsTGlzdGVuZXJzID0gbmV3IEV2ZW50TGlzdGVuZXJMaXN0PEFjdGl2aXR5LkNhbGxCYWNrPEU+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9maW5pc2hMaXN0ZW5lcnMgPSBuZXcgRXZlbnRMaXN0ZW5lckxpc3Q8KCkgPT4gdm9pZD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9idXN5TW9kZWwgPSBuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdChmYWxzZSk7XG5cbiAgb25Eb25lKGNhbGxiYWNrOiBBY3Rpdml0eS5DYWxsQmFjazxSPikge1xuICAgIHRoaXMuX2RvbmVMaXN0ZW5lcnMuYWRkKGNhbGxiYWNrKTtcbiAgfVxuXG4gIG9uQ2FuY2VsKGNhbGxiYWNrOiBBY3Rpdml0eS5DYWxsQmFjazxFPikge1xuICAgIHRoaXMuX2NhbmNlbExpc3RlbmVycy5hZGQoY2FsbGJhY2spO1xuICB9XG5cbiAgZG9uZShyZXN1bHQ/OiBSKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZG9uZUxpc3RlbmVyc1xuICAgICAgLmZpcmVBbmRXYWl0KGwgPT4gbChyZXN1bHQpKVxuICAgICAgLmZpbmFsbHkoKCkgPT4gdGhpcy5maW5hbGl6ZUFuZERpc3Bvc2UoKSk7XG4gIH1cblxuICBjYW5jZWwoZXJyb3I/OiBFKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fY2FuY2VsTGlzdGVuZXJzXG4gICAgICAuZmlyZUFuZFdhaXQobCA9PiBsKGVycm9yKSlcbiAgICAgIC5maW5hbGx5KCgpID0+IHRoaXMuZmluYWxpemVBbmREaXNwb3NlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5hbGl6ZUFuZERpc3Bvc2UoKSB7XG4gICAgLy8gdGhpcy5fYWN0aXZlTW9kZWwudmFsdWUgPSBmYWxzZTtcbiAgICB0aGlzLl9maW5pc2hMaXN0ZW5lcnMuZmlyZShsID0+IGwoKSk7XG4gICAgLy8gdGhpcy5faW50ZXJhY3Rpb25Db250ZXh0ID0gbnVsbDtcbiAgICAvLyB0aGlzLl9pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIFtcbiAgICAgIHRoaXMuX2ZpbmlzaExpc3RlbmVycyxcbiAgICAgIHRoaXMuX2RvbmVMaXN0ZW5lcnMsXG4gICAgICB0aGlzLl9jYW5jZWxMaXN0ZW5lcnNcbiAgICBdLmZvckVhY2gobCA9PiBsLmRpc3Bvc2UoKSk7XG4gIH1cblxuXG4gIGdldCBidXN5KCk6IFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9idXN5TW9kZWwucmVhZG9ubHk7XG4gIH1cblxuICBidXN5V2hpbGUoYnVzeU1vZGVsOiBWYWx1ZU1vZGVsPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fYnVzeU1vZGVsLnNldERlbGVnYXRlKGJ1c3lNb2RlbCk7XG4gIH1cblxuICBpc0J1c3koKSB7XG4gICAgcmV0dXJuIHRoaXMuX2J1c3lNb2RlbC52YWx1ZTtcbiAgfVxufVxuIl19
@@ -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 const 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRy9DLE1BQU0sT0FBTyxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQU0seUJBQXlCLENBQUM7Ozs7O0FBRS9FLDhCQU9DOzs7SUFOQyx3QkFBbUM7Ozs7O0lBRW5DLG9EQUF1Qzs7Ozs7SUFFdkMsc0RBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmV4cG9ydCBjb25zdCBBQ1RJVklUWV9EQVRBID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0ludGVyYWN0aW9uQWN0aXZpdHlEYXRhJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHk8RCwgUiwgRSA9IGFueT4ge1xuICByZWFkb25seSBidXN5OiBWYWx1ZU1vZGVsPGJvb2xlYW4+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=