@coolon/angular-ui-powerups 0.0.26 → 0.0.28

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 (287) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +3930 -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 +182 -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 +182 -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 +3149 -0
  116. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -0
  117. package/fesm5/coolon-angular-ui-powerups.js +3703 -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 +28 -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 +37 -0
  178. package/schematics/place-routes/place-def.js +108 -0
  179. package/schematics/place-routes/place-def.js.map +1 -0
  180. package/schematics/place-routes/scanner.d.ts +38 -0
  181. package/schematics/place-routes/scanner.js +169 -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/schematics/place-routes/templates/{services/place-router.service.ts.template → place-router.ts.template} +13 -18
  187. package/CHANGELOG.md +0 -7
  188. package/jest.config.js +0 -9
  189. package/ng-package.json +0 -13
  190. package/schematics/ng-add/index.ts +0 -10
  191. package/schematics/place-routes/index.ts +0 -152
  192. package/schematics/place-routes/place-def.ts +0 -93
  193. package/schematics/place-routes/scanner.ts +0 -145
  194. package/schematics/place-routes/schema.ts +0 -7
  195. package/src/lib/angular-ui-powerups.module.spec.ts +0 -14
  196. package/src/lib/angular-ui-powerups.module.ts +0 -49
  197. package/src/lib/animations/slideDownAndUpAnimation.ts +0 -39
  198. package/src/lib/components/disposable-component.ts +0 -9
  199. package/src/lib/components/forms/abstract-input.component.ts +0 -108
  200. package/src/lib/components/forms/number-input/number-input.component.html +0 -15
  201. package/src/lib/components/forms/number-input/number-input.component.scss +0 -3
  202. package/src/lib/components/forms/number-input/number-input.component.spec.ts +0 -25
  203. package/src/lib/components/forms/number-input/number-input.component.ts +0 -19
  204. package/src/lib/components/forms/password-input/password-input.component.html +0 -16
  205. package/src/lib/components/forms/password-input/password-input.component.scss +0 -3
  206. package/src/lib/components/forms/password-input/password-input.component.spec.ts +0 -25
  207. package/src/lib/components/forms/password-input/password-input.component.ts +0 -18
  208. package/src/lib/components/forms/scss/mixins.scss +0 -16
  209. package/src/lib/components/forms/select-input/select-input.component.html +0 -16
  210. package/src/lib/components/forms/select-input/select-input.component.scss +0 -7
  211. package/src/lib/components/forms/select-input/select-input.component.spec.ts +0 -25
  212. package/src/lib/components/forms/select-input/select-input.component.ts +0 -31
  213. package/src/lib/components/forms/string-input/string-input.component.html +0 -15
  214. package/src/lib/components/forms/string-input/string-input.component.scss +0 -3
  215. package/src/lib/components/forms/string-input/string-input.component.spec.ts +0 -25
  216. package/src/lib/components/forms/string-input/string-input.component.ts +0 -18
  217. package/src/lib/components/resize-aware.component.ts +0 -52
  218. package/src/lib/components/types/bounds.class.ts +0 -25
  219. package/src/lib/components/types/dimension.class.ts +0 -3
  220. package/src/lib/components/types/point.class.ts +0 -13
  221. package/src/lib/directives/command.directive.spec.ts +0 -73
  222. package/src/lib/directives/command.directive.ts +0 -81
  223. package/src/lib/directives/focus-binding.directive.spec.ts +0 -8
  224. package/src/lib/directives/focus-binding.directive.ts +0 -108
  225. package/src/lib/interaction/abstract-activity.ts +0 -57
  226. package/src/lib/interaction/activity.ts +0 -17
  227. package/src/lib/interaction/alert.ts +0 -6
  228. package/src/lib/interaction/components/activity-container/activity-container.component.html +0 -8
  229. package/src/lib/interaction/components/activity-container/activity-container.component.scss +0 -3
  230. package/src/lib/interaction/components/activity-container/activity-container.component.spec.ts +0 -25
  231. package/src/lib/interaction/components/activity-container/activity-container.component.ts +0 -93
  232. package/src/lib/interaction/components/activity-outlet/activity-outlet.component.scss +0 -3
  233. package/src/lib/interaction/components/activity-outlet/activity-outlet.component.spec.ts +0 -25
  234. package/src/lib/interaction/components/activity-outlet/activity-outlet.component.ts +0 -96
  235. package/src/lib/interaction/components/alert-dialog/alert-dialog.component.html +0 -7
  236. package/src/lib/interaction/components/alert-dialog/alert-dialog.component.scss +0 -7
  237. package/src/lib/interaction/components/alert-dialog/alert-dialog.component.spec.ts +0 -25
  238. package/src/lib/interaction/components/alert-dialog/alert-dialog.component.ts +0 -20
  239. package/src/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.html +0 -9
  240. package/src/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.scss +0 -8
  241. package/src/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.spec.ts +0 -25
  242. package/src/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ts +0 -26
  243. package/src/lib/interaction/interaction-context.ts +0 -16
  244. package/src/lib/interaction/interaction.module.ts +0 -35
  245. package/src/lib/interaction/result.ts +0 -16
  246. package/src/lib/interaction/services/dialog-interaction.service.scss +0 -11
  247. package/src/lib/interaction/services/dialog-interaction.service.spec.ts +0 -12
  248. package/src/lib/interaction/services/dialog-interaction.service.ts +0 -63
  249. package/src/lib/place/abstract-place-component.ts +0 -33
  250. package/src/lib/place/components/busy-overlay/busy-overlay.component.html +0 -4
  251. package/src/lib/place/components/busy-overlay/busy-overlay.component.scss +0 -27
  252. package/src/lib/place/components/busy-overlay/busy-overlay.component.spec.ts +0 -25
  253. package/src/lib/place/components/busy-overlay/busy-overlay.component.ts +0 -23
  254. package/src/lib/place/components/empty-state/empty-state.component.scss +0 -15
  255. package/src/lib/place/components/empty-state/empty-state.component.spec.ts +0 -25
  256. package/src/lib/place/components/empty-state/empty-state.component.ts +0 -19
  257. package/src/lib/place/components/place-outlet/place-outlet.component.html +0 -7
  258. package/src/lib/place/components/place-outlet/place-outlet.component.scss +0 -12
  259. package/src/lib/place/components/place-outlet/place-outlet.component.spec.ts +0 -25
  260. package/src/lib/place/components/place-outlet/place-outlet.component.ts +0 -37
  261. package/src/lib/place/components/place-outlet/route-animations.ts +0 -30
  262. package/src/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.html +0 -7
  263. package/src/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.scss +0 -100
  264. package/src/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.spec.ts +0 -25
  265. package/src/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ts +0 -30
  266. package/src/lib/place/guards/leave-place.guard.spec.ts +0 -15
  267. package/src/lib/place/guards/leave-place.guard.ts +0 -18
  268. package/src/lib/place/guards/place-route.guard.ts +0 -37
  269. package/src/lib/place/place-component.ts +0 -6
  270. package/src/lib/place/place.decorator.ts +0 -40
  271. package/src/lib/place/place.module.ts +0 -44
  272. package/src/lib/place/place.service.spec.ts +0 -12
  273. package/src/lib/place/place.service.ts +0 -29
  274. package/src/lib/place/route/json-types.ts +0 -5
  275. package/src/lib/place/route/parameter-decorators.ts +0 -99
  276. package/src/lib/place/route/parameter-definition.class.ts +0 -12
  277. package/src/lib/place/route/parameter-type.ts +0 -31
  278. package/src/lib/place/route/route-parameter-bindings.ts +0 -140
  279. package/src/lib/place/route/route-parameter-sanitiser.ts +0 -135
  280. package/src/test-setup.ts +0 -1
  281. package/tsconfig.json +0 -7
  282. package/tsconfig.lib.json +0 -20
  283. package/tsconfig.schematics.json +0 -35
  284. package/tsconfig.spec.json +0 -10
  285. package/tslint.json +0 -7
  286. /package/{src/index.ts → index.d.ts} +0 -0
  287. /package/{src/public_api.ts → public_api.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coolon-angular-ui-powerups.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@coolon/angular-ui-powerups/lib/components/disposable-component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/abstract-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/number-input/number-input.component.ts","ng://@coolon/angular-ui-powerups/lib/directives/command.directive.ts","ng://@coolon/angular-ui-powerups/lib/directives/focus-binding.directive.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/string-input/string-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/password-input/password-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/select-input/select-input.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/interaction-context.ts","ng://@coolon/angular-ui-powerups/lib/interaction/abstract-activity.ts","ng://@coolon/angular-ui-powerups/lib/interaction/activity.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/alert-dialog/alert-dialog.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/activity-container/activity-container.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/activity-outlet/activity-outlet.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/services/dialog-interaction.service.ts","ng://@coolon/angular-ui-powerups/lib/interaction/interaction.module.ts","ng://@coolon/angular-ui-powerups/lib/place/components/busy-overlay/busy-overlay.component.ts","ng://@coolon/angular-ui-powerups/lib/place/components/empty-state/empty-state.component.ts","ng://@coolon/angular-ui-powerups/lib/place/place.service.ts","ng://@coolon/angular-ui-powerups/lib/place/components/place-outlet/route-animations.ts","ng://@coolon/angular-ui-powerups/lib/place/components/place-outlet/place-outlet.component.ts","ng://@coolon/angular-ui-powerups/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ts","ng://@coolon/angular-ui-powerups/lib/place/place.module.ts","ng://@coolon/angular-ui-powerups/lib/angular-ui-powerups.module.ts","ng://@coolon/angular-ui-powerups/lib/animations/slideDownAndUpAnimation.ts","ng://@coolon/angular-ui-powerups/lib/components/types/dimension.class.ts","ng://@coolon/angular-ui-powerups/lib/components/types/point.class.ts","ng://@coolon/angular-ui-powerups/lib/components/types/bounds.class.ts","ng://@coolon/angular-ui-powerups/lib/components/resize-aware.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/alert.ts","ng://@coolon/angular-ui-powerups/lib/interaction/confirm.ts","ng://@coolon/angular-ui-powerups/lib/interaction/result.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/activity-outlet/activity-outlet-context.ts","ng://@coolon/angular-ui-powerups/lib/place/place.decorator.ts","ng://@coolon/angular-ui-powerups/lib/place/route/route-parameter-bindings.ts","ng://@coolon/angular-ui-powerups/lib/place/abstract-place-component.ts","ng://@coolon/angular-ui-powerups/lib/place/place-component.ts","ng://@coolon/angular-ui-powerups/lib/place/guards/leave-place.guard.ts","ng://@coolon/angular-ui-powerups/lib/place/route/route-parameter-sanitiser.ts","ng://@coolon/angular-ui-powerups/lib/place/guards/place-route.guard.ts","ng://@coolon/angular-ui-powerups/lib/place/route/json-types.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-decorators.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-definition.class.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-sanitiser.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-type.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {OnDestroy} from '@angular/core';\nimport {GarbageCollector} from '@coolon/pectin';\n\nexport class DisposableComponent extends GarbageCollector implements OnDestroy {\n\n ngOnDestroy(): void {\n this.dispose();\n }\n}\n","/* tslint:disable:no-input-rename */\nimport { EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material';\nimport { Command, DelegatingFormValueModel, ListModel, UseDelegate, ValueModel } from '@coolon/pectin';\nimport { DisposableComponent } from '../disposable-component';\n\nexport abstract class AbstractInputComponent<T> extends DisposableComponent implements OnInit {\n\n readonly valueModel = new DelegatingFormValueModel<T>();\n\n @Input('valueModel') @UseDelegate()\n set userValueModel(model: ValueModel<T>) {\n this.valueModel.setDelegate(model);\n }\n\n @Input() label: string;\n @Input() floatLabel: 'auto' | 'always' | 'never';\n @Input() hint: string;\n @Input() placeholder: string;\n\n @Input('command.focus') focusCommand: Command<any>;\n @Input('command.blur') blurCommand: Command<any>;\n @Input('command.enter') enterCommand: Command<any>;\n @Input('command.escape') escapeCommand: Command<any>;\n @Input('command.click') clickCommand: Command<any>;\n\n // TODO: fix this.\n // tslint:disable-next-line:no-output-native\n @Output() focus = new EventEmitter();\n // tslint:disable-next-line:no-output-native\n @Output() blur = new EventEmitter();\n // tslint:disable-next-line:no-output-native\n @Output() enterKey = new EventEmitter();\n // tslint:disable-next-line:no-output-native\n @Output() escapeKey = new EventEmitter();\n\n readonly errorStateMatcher: ErrorStateMatcher;\n\n @HostListener('click')\n notifyClick() {\n this.safelyInvoke(this.clickCommand);\n }\n\n @HostListener('focusin')\n notifyFocusIn() {\n this.safelyInvoke(this.focusCommand);\n this.focus.emit();\n }\n\n @HostListener('focusout')\n notifyFocusOut() {\n this.safelyInvoke(this.blurCommand);\n this.blur.emit();\n }\n\n\n notifyEnterKey() {\n this.safelyInvoke(this.enterCommand);\n this.enterKey.emit();\n }\n\n notifyEscapeKey() {\n this.safelyInvoke(this.escapeCommand);\n this.escapeKey.emit();\n }\n\n protected safelyInvoke(command: Command<any>) {\n if (command && command.enabled.value) {\n command.execute();\n }\n }\n\n constructor() {\n super();\n const self = this;\n this.errorStateMatcher = {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return self.hasErrors();\n }\n };\n }\n\n ngOnInit(): void {\n }\n\n isEnabled(): boolean {\n return this.enabled.value;\n }\n\n get enabled(): ValueModel<boolean> {\n return this.valueModel.enabled;\n }\n\n hasErrors(): boolean {\n return !this.errorList.query().isEmpty();\n }\n\n get errorList(): ListModel<string> {\n return this.valueModel.errorList;\n }\n\n get firstError() {\n return this.hasErrors() ? this.errorList.value[0] : null;\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport {AbstractInputComponent} from '../abstract-input.component';\n\n\n@Component({\n selector: 'angular-ui-powerups-number-input',\n templateUrl: './number-input.component.html',\n styleUrls: ['./number-input.component.scss']\n})\nexport class NumberInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, OnDestroy, OnInit } from '@angular/core';\nimport { assert, Command, Dsl, GarbageCollector, lang, UnaryCommand } from '@coolon/pectin';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[pectinCommand]'\n})\nexport class CommandDirective<P = any> extends GarbageCollector implements OnInit, OnDestroy, AfterViewInit {\n\n @Input()\n pectinCommand: Command<any> | UnaryCommand<P>;\n\n private _commandParameter:P;\n private _commandParameterProvided = false;\n\n @Input()\n set commandParameter(value: P) {\n this._commandParameterProvided = true;\n this._commandParameter = value;\n }\n\n get commandParameter(): P {\n return this._commandParameter;\n }\n\n constructor(@Inject(ElementRef) private elementRef: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n assert.notNil(this.pectinCommand);\n if (this.pectinCommand instanceof UnaryCommand) {\n if (!this._commandParameterProvided) {\n lang.illegalState('UnaryCommands required the command parameter to be specified.');\n }\n } else {\n if (this._commandParameterProvided) {\n lang.illegalState('command parameters are only supported by UnaryCommands');\n }\n }\n }\n\n ngAfterViewInit(): void {\n // for some reason mat-buttons kills the disabled host binding. It works on a regular button but for now\n // we need to do this.\n const { chain } = Dsl.disposeWith(this);\n chain(this.pectinCommand.enabled).subscribe(enabled => {\n if (enabled) {\n this.elementRef.nativeElement.removeAttribute('disabled');\n if (this.elementRef.nativeElement.tagName === 'A') {\n this.elementRef.nativeElement.setAttribute('href', 'javascript:void');\n }\n } else {\n this.elementRef.nativeElement.setAttribute('disabled', 'disabled');\n if (this.elementRef.nativeElement.tagName === 'A') {\n this.elementRef.nativeElement.removeAttribute('href');\n }\n }\n });\n }\n\n ngOnDestroy(): void {\n this.dispose();\n }\n\n\n @HostListener('click', ['$event'])\n notifyClick($event: Event) {\n $event.preventDefault();\n $event.stopPropagation();\n if (this.pectinCommand.enabled.value) {\n if (this.pectinCommand instanceof UnaryCommand) {\n this.pectinCommand.withContext({ event: $event }).execute(this.commandParameter);\n } else {\n this.pectinCommand.withContext({ event: $event }).execute();\n }\n } else {\n console.warn('disabled command clicked, ignoring.');\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, NgZone, OnInit} from '@angular/core';\nimport {Dsl, HasFocusTracking, Logger} from '@coolon/pectin';\nimport {DisposableComponent} from '../components/disposable-component';\n\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[pectinFocusBinding]'\n})\nexport class FocusBindingDirective extends DisposableComponent implements OnInit, AfterViewInit {\n\n private readonly document: Document;\n\n @Input() pectinFocusBinding: HasFocusTracking;\n @Input() focusBindingTarget: HTMLElement;\n\n @HostListener('focusin')\n onFocusIn() {\n if (this.hasBinding()) {\n this.pectinFocusBinding.focusContext.notifyFocusIn();\n }\n }\n\n @HostListener('focusout')\n onFocusOut() {\n if (this.hasBinding()) {\n this.pectinFocusBinding.focusContext.notifyFocusOut();\n }\n }\n\n constructor(@Inject(ElementRef) private readonly el: ElementRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(DOCUMENT) document: any) {\n super();\n // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642\n this.document = document as Document;\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n // TODO: Make this also track the current enabled/disabled state.\n if (this.hasBinding()) {\n const {chain} = Dsl.disposeWith(this);\n chain(this.pectinFocusBinding.focusContext.focused).subscribe((focused) => {\n if (focused && !this.alreadyHasFocus()) {\n this.tryAndFocus();\n }\n });\n } else {\n Logger.get(this).warn(\"pectinFocusBinding was nil\");\n }\n }\n\n private hasBinding() {\n return !!this.pectinFocusBinding && !!this.pectinFocusBinding.focusContext;\n }\n\n// Hook method for debugging via tracing.\n alreadyHasFocus() {\n return this.isFocused(this.focusTarget);\n }\n\n // Hook method for debugging via tracing.\n isFocused(element: Element): boolean {\n return this.document.activeElement === element;\n }\n\n tryAndFocus(retries: number = 5) {\n if (this.modelShouldStillHaveFocus() && this.canFocus()) {\n if (!this.alreadyHasFocus()) {\n this.focusTarget.focus();\n }\n // if we didn't get the focus we try again later.\n if (!this.alreadyHasFocus()) {\n Logger.get(this).log(`focus failed, trying ${retries} more times`);\n if (retries > 0) {\n // try again on the next paint\n // TODO: is there an angular way of doing this without calling a window function.\n requestAnimationFrame(() => {\n this.tryAndFocus(retries - 1);\n });\n } else {\n Logger.get(this).warn(`Tried to focus but gave up as the component wasn't enabled or visible.`);\n }\n }\n }\n }\n\n get focusTarget(): HTMLElement {\n return this.focusBindingTarget || this.el.nativeElement;\n }\n\n // Hook method for debugging via tracing.\n modelShouldStillHaveFocus() {\n return this.hasBinding() && this.pectinFocusBinding.focusContext.focused.value;\n }\n\n // Hook method for debugging via tracing.\n canFocus(): boolean {\n const dimension = this.focusTarget.getBoundingClientRect();\n const hasSize = dimension.height >= 0 && dimension.height >= 0;\n // tslint:disable-next-line:no-string-literal\n return hasSize && !this.focusTarget['disabled'];\n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {AbstractInputComponent} from '../abstract-input.component';\n\n@Component({\n selector: 'angular-ui-powerups-string-input',\n templateUrl: './string-input.component.html',\n styleUrls: ['./string-input.component.scss']\n})\nexport class StringInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import {Component, OnInit} from '@angular/core';\nimport {AbstractInputComponent} from '../abstract-input.component';\n\n@Component({\n selector: 'angular-ui-powerups-password-input',\n templateUrl: './password-input.component.html',\n styleUrls: ['./password-input.component.scss']\n})\nexport class PasswordInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ListModel, StoreInListModel, UseDelegate } from '@coolon/pectin';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n@Component({\n selector: 'angular-ui-powerups-select-input',\n templateUrl: './select-input.component.html',\n styleUrls: ['./select-input.component.scss']\n})\nexport class SelectInputComponent<T = any> extends AbstractInputComponent<T> implements OnInit {\n\n @Input() @UseDelegate()\n optionsModel: ListModel<T>;\n\n @Input() @StoreInListModel('optionsModel')\n options: T[];\n\n @Input()\n optionLabel: keyof T;\n\n @Input()\n optionLabelFormat: (option: T) => any = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { InjectionToken } from '@angular/core';\nimport { Constructable } from '@coolon/pectin';\nimport { Activity } from './activity';\nimport { Alert } from './alert';\nimport { Confirm } from './confirm';\n\nexport const INTERACTION_CONTEXT = new InjectionToken<any>('InteractionContext');\n\nexport abstract class InteractionContext {\n\n abstract startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;\n\n abstract confirm(confirm: Confirm): Promise<boolean>;\n\n abstract alert(alert: Alert): Promise<void>;\n}\n","import { DelegatingValueModel, EventListenerList, ValueModel } from '@coolon/pectin';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { Activity } from './activity';\n\nexport class AbstractActivity<D, R, E = any> extends DisposableComponent implements Activity<D, R, E> {\n\n private readonly _doneListeners = new EventListenerList<Activity.CallBack<R>>();\n private readonly _cancelListeners = new EventListenerList<Activity.CallBack<E>>();\n private readonly _finishListeners = new EventListenerList<() => void>();\n\n private readonly _busyModel = new DelegatingValueModel<boolean>().withDefault(false);\n\n onDone(callback: Activity.CallBack<R>) {\n this._doneListeners.add(callback);\n }\n\n onCancel(callback: Activity.CallBack<E>) {\n this._cancelListeners.add(callback);\n }\n\n done(result?: R): Promise<any> {\n return this._doneListeners\n .fireAndWait(l => l(result))\n .finally(() => this.finalizeAndDispose());\n }\n\n cancel(error?: E): Promise<any> {\n return this._cancelListeners\n .fireAndWait(l => l(error))\n .finally(() => this.finalizeAndDispose());\n }\n\n private finalizeAndDispose() {\n // this._activeModel.value = false;\n this._finishListeners.fire(l => l());\n // this._interactionContext = null;\n // this._initialized = false;\n [\n this._finishListeners,\n this._doneListeners,\n this._cancelListeners\n ].forEach(l => l.dispose());\n }\n\n\n get busy(): ValueModel<boolean> {\n return this._busyModel.readonly;\n }\n\n busyWhile(busyModel: ValueModel<boolean>) {\n this._busyModel.setDelegate(busyModel);\n }\n\n isBusy() {\n return this._busyModel.value;\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ValueModel } from '@coolon/pectin';\n\nexport const ACTIVITY_DATA = new InjectionToken<any>('InteractionActivityData');\n\nexport interface Activity<D, R, E = any> {\n readonly busy: ValueModel<boolean>;\n\n onDone(callback: Activity.CallBack<R>);\n\n onCancel(callback: Activity.CallBack<E>);\n\n}\n\nexport namespace Activity {\n export type CallBack<T> = (value: T) => void | Promise<any>;\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { AbstractActivity } from '../../abstract-activity';\nimport { ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\n\n@Component({\n selector: 'angular-ui-powerups-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss']\n})\nexport class AlertDialogComponent extends AbstractActivity<Alert, void> implements OnInit {\n\n constructor(@Inject(ACTIVITY_DATA) readonly alert: Alert) {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { assert } from '@coolon/pectin';\nimport { AbstractActivity } from '../../abstract-activity';\nimport { ACTIVITY_DATA } from '../../activity';\nimport { Confirm } from '../../confirm';\n\n@Component({\n selector: 'angular-ui-powerups-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss']\n})\nexport class ConfirmationDialogComponent extends AbstractActivity<Confirm, boolean> implements OnInit {\n\n constructor(@Inject(ACTIVITY_DATA) readonly confirm: Confirm) {\n super();\n assert.notNil(confirm);\n console.log(confirm);\n }\n\n ngOnInit() {\n }\n\n isDestructive(): boolean {\n return this.confirm.destructive && this.confirm.destructive();\n }\n}\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatTabGroup } from '@angular/material';\nimport { Constructable, Dsl, MutableListModel } from '@coolon/pectin';\nimport { Deferred } from '@coolon/pectin/lib/promise/deferred.class';\nimport { DisposableComponent } from '../../../components/disposable-component';\n\nimport { Activity } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { InteractionContext } from '../../interaction-context';\nimport { ActivityOutletContext } from '../activity-outlet/activity-outlet-context';\nimport { AlertDialogComponent } from '../alert-dialog/alert-dialog.component';\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\n\n@Component({\n selector: 'angular-ui-powerups-activity-container',\n templateUrl: './activity-container.component.html',\n styleUrls: ['./activity-container.component.scss']\n})\nexport class ActivityContainerComponent extends DisposableComponent implements OnInit, AfterViewInit, InteractionContext {\n\n @Input()\n parentInteractionContext: InteractionContext;\n\n @Input()\n initialActivity: ActivityOutletContext<any, any, any>;\n\n @ViewChild('tabs', { static: true })\n tabs: MatTabGroup;\n\n readonly activityTabs = new MutableListModel<ActivityOutletContext<any, any, any>>();\n private obsoleteTabs: ActivityOutletContext<any, any, any>[] = [];\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit(): void {\n const { observe } = Dsl.disposeWith(this);\n observe.valuesFrom(this.tabs.animationDone).subscribe(() => this.cleanUpTabs());\n }\n\n initialise<D, R, E>(options: ActivityContainerComponent.ActivityContext<D, R, E>) {\n this.initialActivity = {\n ...options,\n interactionContext: this\n };\n }\n\n startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R> {\n const deferred = Deferred.defer<R>();\n const context = {\n interactionContext: this,\n activityClass: activityType,\n activityData: data,\n onDone: deferred.resolve,\n onCancel: deferred.reject\n };\n this.activityTabs.push(context);\n this.tabs.selectedIndex = this.activityTabs.length;\n return deferred.promise.finally(() => {\n this.obsoleteTabs.push(context);\n this.tabs.selectedIndex = this.activityTabs.length - 1;\n });\n }\n\n alert(alert: Alert): Promise<void> {\n return this.startActivity(AlertDialogComponent, alert);\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return this.startActivity(ConfirmationDialogComponent, confirm);\n }\n\n private cleanUpTabs() {\n this.activityTabs.value = this.activityTabs.value.filter(tab => {\n return !this.obsoleteTabs.includes(tab);\n });\n }\n}\n\nexport namespace ActivityContainerComponent {\n\n export interface ActivityContext<D, R, E> {\n activityClass: Constructable<Activity<D, R, E>>,\n activityData: D,\n onDone: (result: R) => void,\n onCancel: (error: E) => void,\n }\n}\n","import {\n AfterViewInit,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n Injector,\n Input,\n OnInit,\n ViewContainerRef\n} from '@angular/core';\nimport { Constructable, lang } from '@coolon/pectin';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { InteractionContext } from '../../interaction-context';\nimport { ActivityOutletContext } from './activity-outlet-context';\n\n@Component({\n selector: 'angular-ui-powerups-activity-outlet',\n template: '',\n styleUrls: ['./activity-outlet.component.scss']\n})\nexport class ActivityOutletComponent<D, R, E> implements OnInit, InteractionContext {\n\n @Input()\n interactionContext: InteractionContext;\n\n @Input()\n set activityContext(activityContext: ActivityOutletContext<D, R, E>) {\n this.loadActivity(activityContext);\n };\n\n private activityComponent: ComponentRef<Activity<D, R, E>>;\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private injector: Injector\n ) {\n }\n\n ngOnInit() {\n }\n\n loadActivity(activityContext: ActivityOutletContext<D, R, E>) {\n const injector = Injector.create({\n providers: [\n {\n provide: InteractionContext,\n useValue: this\n },\n { provide: ACTIVITY_DATA, useValue: activityContext.activityData }\n ],\n parent: this.injector\n });\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(activityContext.activityClass);\n this.viewContainerRef.clear();\n this.activityComponent = this.viewContainerRef.createComponent(componentFactory, 0, injector);\n this.activityComponent.instance.onDone(activityContext.onDone);\n this.activityComponent.instance.onCancel(activityContext.onCancel);\n }\n\n alert(alert: Alert): Promise<void> {\n return this.interactionContext.alert(alert);\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return this.interactionContext.confirm(confirm);\n }\n\n startActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data?: D1): Promise<R1> {\n return this.interactionContext.startActivity(activityType, data);\n }\n}\n\nexport namespace ActivityOutletComponent {\n\n export class OutletInteractionContext<D, R, E> implements InteractionContext {\n\n constructor(private readonly context: ActivityOutletContext<D, R, E>) {\n }\n\n alert(alert: Alert): Promise<void> {\n return lang.notImplemented();\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return lang.notImplemented();\n }\n\n startActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data?: D1): Promise<R1> {\n return lang.notImplemented();\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material';\nimport { Constructable } from '@coolon/pectin';\nimport { Activity } from '../activity';\nimport { Alert } from '../alert';\nimport { ActivityContainerComponent } from '../components/activity-container/activity-container.component';\nimport { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';\nimport { ConfirmationDialogComponent } from '../components/confirmation-dialog/confirmation-dialog.component';\nimport { Confirm } from '../confirm';\nimport { InteractionContext } from '../interaction-context';\nimport { assert } from '@coolon/typescript-utilities';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogInteractionService extends InteractionContext {\n\n constructor(private readonly dialogService: MatDialog) {\n super();\n assert.notNil(dialogService);\n }\n\n startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R> {\n return this._startActivity(activityType, data);\n }\n\n private _startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data: D, disableClose: boolean = true) {\n const config = {\n data,\n disableClose,\n panelClass: 'dialog-interaction-service',\n autoFocus: false\n };\n const matDialogRef = this.dialogService.open(ActivityContainerComponent, config) as MatDialogRef<ActivityContainerComponent>;\n return new Promise<R>((resolve, reject) => {\n const activityContainer = matDialogRef.componentInstance;\n activityContainer.parentInteractionContext = this;\n activityContainer.initialise({\n activityClass: activityType,\n activityData: data,\n onDone(result) {\n resolve(result);\n matDialogRef.close(result);\n },\n onCancel(error) {\n reject(error);\n matDialogRef.close(error);\n }\n });\n\n matDialogRef.updateSize();\n });\n }\n\n alert(alert: Alert): Promise<void> {\n return this._startActivity(AlertDialogComponent, alert, false);\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return this._startActivity(ConfirmationDialogComponent, confirm, true);\n }\n\n}\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule, MatDialogModule, MatTabsModule } from '@angular/material';\nimport { ActivityContainerComponent } from './components/activity-container/activity-container.component';\nimport { AlertDialogComponent } from './components/alert-dialog/alert-dialog.component';\nimport { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';\nimport { ActivityOutletComponent } from './components/activity-outlet/activity-outlet.component';\nimport { DialogInteractionService } from './services/dialog-interaction.service';\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n MatDialogModule,\n MatTabsModule,\n PortalModule\n ],\n declarations: [\n ActivityContainerComponent,\n ConfirmationDialogComponent,\n AlertDialogComponent,\n ActivityOutletComponent\n ],\n entryComponents: [\n ActivityContainerComponent,\n ConfirmationDialogComponent,\n AlertDialogComponent\n ],\n providers: [\n DialogInteractionService\n ]\n})\nexport class InteractionModule {\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { StoreInValueModel, UseDelegate, ValueModel } from '@coolon/pectin';\n\n@Component({\n selector: 'angular-ui-powerups-busy-overlay',\n templateUrl: `./busy-overlay.component.html`,\n styleUrls: ['./busy-overlay.component.scss']\n})\nexport class BusyOverlayComponent implements OnInit {\n\n @Input() @UseDelegate()\n busyModel: ValueModel<boolean>;\n\n @Input() @StoreInValueModel('busyModel')\n busy: boolean;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'angular-ui-powerups-empty-state',\n template: `\n <div class=\"container\">\n <ng-content></ng-content>\n </div>\n `,\n styleUrls: ['./empty-state.component.scss']\n})\nexport class EmptyStateComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit() {\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MutableListModel, Trace } from '@coolon/pectin';\nimport { PlaceComponent } from './place-component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceService {\n\n private _activePlaces = new MutableListModel<PlaceComponent>();\n\n constructor() {\n }\n\n get activePlaces() {\n return this._activePlaces.readonly;\n }\n\n @Trace()\n onActivate(place: PlaceComponent) {\n this._activePlaces.push(place);\n }\n\n @Trace()\n onDeactivate(place: PlaceComponent) {\n this._activePlaces.remove(place);\n }\n\n}\n","import { animate, animateChild, group, query, style, transition, trigger } from '@angular/animations';\n\nconst left = [\n query(':enter, :leave', style({ position: 'fixed', width: '100%' }), { optional: true }),\n group([\n query(':enter', [style({ transform: 'translateX(-100%)' }), animate('.3s ease-out', style({ transform: 'translateX(0%)' }))], {\n optional: true,\n }),\n query(':leave', [style({ transform: 'translateX(0%)' }), animate('.3s ease-out', style({ transform: 'translateX(100%)' }))], {\n optional: true,\n }),\n ]),\n];\n\nconst right = [\n query(':enter, :leave', style({ position: 'fixed', width: '100%' }), { optional: true }),\n group([\n query(':enter', [style({ transform: 'translateX(100%)' }), animate('.3s ease-out', style({ transform: 'translateX(0%)' }))], {\n optional: true,\n }),\n query(':leave', [style({ transform: 'translateX(0%)' }), animate('.3s ease-out', style({ transform: 'translateX(-100%)' }))], {\n optional: true,\n }),\n ]),\n];\n\nexport const LEFT_RIGHT_PLACE_ANIMATION = trigger('routeAnimations', [\n transition(':increment', right),\n transition(':decrement', left),\n]);\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { PlaceComponent } from '../../place-component';\nimport { PlaceService } from '../../place.service';\nimport { LEFT_RIGHT_PLACE_ANIMATION } from './route-animations';\nimport {Trace} from \"@coolon/pectin\";\n\n@Component({\n selector: 'angular-ui-powerups-place-outlet',\n templateUrl: './place-outlet.component.html',\n styleUrls: ['./place-outlet.component.scss'],\n animations: [LEFT_RIGHT_PLACE_ANIMATION]\n})\nexport class PlaceOutletComponent implements OnInit {\n\n @Input()\n animate = true;\n\n constructor(private readonly placeService: PlaceService) {\n }\n\n ngOnInit() {\n }\n\n onActivate($event: PlaceComponent) {\n this.placeService.onActivate($event);\n }\n\n onDeactivate($event: PlaceComponent) {\n this.placeService.onDeactivate($event);\n }\n\n getPlaceOrder(outlet: RouterOutlet) {\n return this.animate && outlet && outlet.activatedRouteData && outlet.activatedRouteData['placeOrder'];\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Dsl, ListModel, ListModelChain, StoreInListModel, UseDelegate } from '@coolon/pectin';\nimport { DisposableComponent } from '../../../components/disposable-component';\nimport { Place } from '../../place.decorator';\n\n@Component({\n selector: 'angular-ui-powerups-tabbed-place-navigation',\n templateUrl: './tabbed-place-navigation.component.html',\n styleUrls: ['./tabbed-place-navigation.component.scss']\n})\nexport class TabbedPlaceNavigationComponent extends DisposableComponent implements OnInit {\n\n @Input() @StoreInListModel('placesModel')\n places: Place.Descriptor[];\n\n @Input() @UseDelegate()\n placesModel: ListModel<Place.Descriptor>;\n\n readonly orderedPlaces: ListModelChain<Place.Descriptor>;\n\n constructor() {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.orderedPlaces = chain(this.placesModel).sortBy('order');\n }\n\n ngOnInit() {\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { BusyOverlayComponent } from './components/busy-overlay/busy-overlay.component';\nimport { EmptyStateComponent } from './components/empty-state/empty-state.component';\nimport { PlaceOutletComponent } from './components/place-outlet/place-outlet.component';\nimport { TabbedPlaceNavigationComponent } from './components/tabbed-place-navigation/tabbed-place-navigation.component';\nimport { PlaceService } from './place.service';\n\n@NgModule({\n imports: [\n CommonModule,\n BrowserAnimationsModule,\n MatProgressSpinnerModule,\n RouterModule,\n MatTabsModule,\n MatListModule,\n MatTooltipModule\n ],\n declarations: [\n EmptyStateComponent,\n BusyOverlayComponent,\n PlaceOutletComponent,\n TabbedPlaceNavigationComponent\n ],\n entryComponents: [BusyOverlayComponent],\n exports: [\n BusyOverlayComponent,\n PlaceOutletComponent,\n EmptyStateComponent,\n TabbedPlaceNavigationComponent\n ],\n providers: [\n PlaceService\n ]\n})\nexport class PlaceModule {\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatFormFieldModule, MatInputModule, MatSelectModule } from '@angular/material';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { NumberInputComponent} from './components/forms/number-input/number-input.component';\nimport { CommandDirective } from './directives/command.directive';\nimport { FocusBindingDirective } from './directives/focus-binding.directive';\nimport { StringInputComponent } from './components/forms/string-input/string-input.component';\nimport { PasswordInputComponent } from './components/forms/password-input/password-input.component';\nimport { SelectInputComponent } from './components/forms/select-input/select-input.component';\nimport { InteractionModule } from './interaction/interaction.module';\nimport { PlaceModule } from './place/place.module';\n\n@NgModule({\n declarations: [\n CommandDirective,\n FocusBindingDirective,\n NumberInputComponent,\n StringInputComponent,\n PasswordInputComponent,\n SelectInputComponent,\n ],\n imports: [\n CommonModule,\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n PlaceModule,\n InteractionModule\n ],\n exports: [\n CommandDirective,\n FocusBindingDirective,\n NumberInputComponent,\n StringInputComponent,\n PasswordInputComponent,\n SelectInputComponent,\n InteractionModule,\n PlaceModule,\n ]\n\n})\nexport class AngularUiPowerupsModule {\n}\n","import { animate, AnimationStyleMetadata, style, transition, trigger } from '@angular/animations';\nimport { OptionsHelper } from '@coolon/pectin';\n\nconst defaultHiddenStyleDef = style({\n opacity: 0,\n 'height': '0',\n paddingTop: '0',\n paddingBottom: '0'\n});\n\nexport function slideDownAndUpAnimation(triggerName: string, options?: {\n duration?: string;\n hiddenStyleDef?: AnimationStyleMetadata;\n}) {\n // SEE to fix this: https://github.com/angular/angular/issues/15587#issuecomment-351510501\n const duration = OptionsHelper.get(options).getOptional('duration', '100ms');\n const hiddenStyleDef = OptionsHelper.get(options).getOptional('hiddenStyleDef', defaultHiddenStyleDef);\n return trigger(triggerName, [\n transition(':enter', [hiddenStyleDef, animate('100ms')]),\n transition(':leave', [animate('100ms', hiddenStyleDef)])\n ]);\n}\n\n// export function slideOutLeftAnimation(triggerName: string, duration:string = \"100ms\") {\n// return trigger(triggerName, [\n// state('true', style(\n// {\n// 'width': '*',\n// 'overflow': 'hidden',\n// 'opacity': '1'\n// })),\n// state('false', style({\n// 'width': '0px',\n// 'overflow': 'hidden',\n// 'opacity': '0'\n// })),\n// transition('* => *', [animate(duration)])\n// ]);\n// }\n","export class Dimension {\n constructor(readonly width: number, readonly height: number){}\n}\n","export class Point {\n\n static from(data: { x: number, y: number }) {\n return new Point(data.x, data.y);\n }\n\n constructor(readonly x: number, readonly y: number) {\n }\n\n translate(x: number, y: number): Point {\n return new Point(this.x + x, this.y + y);\n }\n}\n","import { Dimension } from './dimension.class';\nimport { Point } from './point.class';\n\nexport class Bounds extends Dimension {\n\n constructor(readonly top: number, readonly left: number, readonly width: number, readonly height: number) {\n super(width, height);\n }\n\n relativePositionOf(point: { x: number, y: number } | MouseEvent) {\n if (point instanceof MouseEvent) {\n return new Point(point.clientX - this.left, point.clientY - this.top);\n } else {\n return new Point(point.x - this.left, point.y - this.top);\n }\n }\n}\n\nexport namespace Bounds {\n export function ofElement(element: HTMLElement): Bounds {\n const rect = element.getBoundingClientRect();\n return new Bounds(rect.top, rect.left, rect.width, rect.height);\n }\n}\n\n","import {AfterViewInit, ElementRef, NgZone} from '@angular/core';\nimport {ValueHolder, ValueModel} from '@coolon/pectin';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport {DisposableComponent} from './disposable-component';\nimport {Bounds} from './types/bounds.class';\nimport {Point} from './types/point.class';\n\nexport class ResizeAwareComponent extends DisposableComponent implements AfterViewInit {\n\n private _boundsModel = new ValueHolder<Bounds>(new Bounds(0, 0, 0, 0));\n\n constructor(protected readonly elementRef: ElementRef, protected readonly ngZone: NgZone) {\n super();\n }\n\n ngAfterViewInit(): void {\n this.updateBounds();\n const element = this.elementRef.nativeElement;\n const ro = new ResizeObserver((entries, observer) => {\n this.ngZone.run(() => this.updateBounds());\n });\n ro.observe(element);\n this.onDispose(() => ro.disconnect());\n }\n\n get boundsModel(): ValueModel<Bounds> {\n return this._boundsModel.readonly;\n }\n\n get nativeElement() {\n return this.elementRef.nativeElement;\n }\n\n // TODO: Make this handle body scroll\n public relativePositionOf(point: { x: number, y: number } | MouseEvent): Point {\n return this.bounds.relativePositionOf(point);\n }\n\n get bounds(): Bounds {\n return this._boundsModel.value;\n }\n\n private updateBounds() {\n this._boundsModel.value = Bounds.ofElement(this.nativeElement);\n }\n\n\n}\n\nexport namespace ResizeAwareComponent {\n\n}\n","\nexport interface Alert {\n title?():string;\n content():string[];\n ok():string;\n}\n","import { Alert } from './alert';\n\nexport interface Confirm extends Alert {\n destructive?: () => boolean;\n cancel(): string;\n}\n","export interface Result<R, E> {\n // catch(callback: (error: E) => void): Result<R,E>;\n}\n\nexport namespace Result {\n export interface Callback<R,E> {\n then: <T>(result:R)=>T;\n catch: <T>(result:E)=>T;\n }\n\n}\n\n// const r:Result<string, number> = null;\n\n// r.catch(e => {}).then();\n\n","import { Constructable } from '@coolon/pectin';\nimport { Activity } from '../../activity';\nimport { InteractionContext } from '../../interaction-context';\n\n\nexport interface ActivityOutletContext<D, R, E> {\n interactionContext: InteractionContext,\n activityClass: Constructable<Activity<D, R, E>>,\n activityData: D,\n onDone: (result: R) => void,\n onCancel: (error: E) => void,\n}\n","import { assert, Constructable } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport 'reflect-metadata';\nimport { PlaceComponent } from './place-component';\n\nexport function Place(options: Place.Options) {\n return (target: Function) => {\n Reflect.defineMetadata('place.options', options, target);\n };\n}\n\nexport namespace Place {\n export interface Options {\n path: string,\n title: string,\n order: number;\n authenticate?: boolean // defaults to true\n // childOf?: Constructable<PlaceComponent>\n }\n\n export class Descriptor {\n readonly path: string;\n readonly authenticate: boolean;\n readonly title: string;\n readonly order: number;\n\n constructor(placeClass: Constructable<PlaceComponent>, options: Options) {\n assert.notNil(options);\n this.path = options.path;\n this.title = options.title;\n this.order = options.order;\n this.authenticate = _.isNil(options.authenticate) || options.authenticate;\n }\n }\n\n export function getDescriptor(klass: Constructable<PlaceComponent>): Descriptor {\n const placeOptions = Reflect.getMetadata('place.options', klass);\n return new Descriptor(klass, placeOptions);\n }\n}\n","import { ActivatedRoute, Router } from '@angular/router';\nimport {\n Binding,\n Dsl,\n GarbageCollector, IMutableHasValue,\n MutableValueModel,\n Trace,\n TransactionObserver\n} from '@coolon/pectin';\nimport { Klass } from '@coolon/typescript-utilities';\nimport { ParameterDefinition } from './parameter-definition.class';\n\ninterface ResolvedParameter<T> {\n parameterDef: ParameterDefinition<T>;\n resolvedValue: T;\n}\n\nclass ResolvedParameters {\n constructor(readonly parameters: ResolvedParameter<any>[]) {\n }\n\n get<T>(parameter: ParameterDefinition<T>): T {\n const resolved = this.parameters.find(p => p.parameterDef === parameter);\n return resolved ? resolved.resolvedValue : null;\n }\n\n replace<T>(parameter: ParameterDefinition<T>, value: T): ResolvedParameters {\n return new ResolvedParameters(this.parameters.filter(p => p.parameterDef !== parameter).concat({\n parameterDef: parameter,\n resolvedValue: value\n }));\n }\n\n @Trace()\n protected getFormattedRouteId() {\n const routeIdParam = this.getRouteIdParam();\n return routeIdParam ? routeIdParam.parameterDef.type.format(routeIdParam.resolvedValue) : null;\n }\n\n private getRouteIdParam() {\n return this.parameters.find(p => p.parameterDef.isRouteId);\n }\n\n @Trace()\n protected getFormattedParameters() {\n const params = {};\n const routeIdParam = this.parameters.filter(p => !p.parameterDef.isRouteId).forEach(p => {\n params[p.parameterDef.name] = p.parameterDef.type.format(p.resolvedValue);\n });\n return params;\n }\n\n hasRouteId() {\n return !!this.getRouteIdParam();\n }\n\n @Trace()\n redirect(previous: ResolvedParameters, router: Router, activatedRoute: ActivatedRoute) {\n const routeId = this.getFormattedRouteId();\n const relativePath = !!previous.hasRouteId() ? '..' : '.';\n const path = routeId ? [relativePath, routeId, this.getFormattedParameters()] : [relativePath, this.getFormattedParameters()];\n router.navigate(path, {\n relativeTo: activatedRoute\n });\n }\n}\n\nexport class RouteParameterBindings extends GarbageCollector {\n\n public readonly _incomingRouteChange = new MutableValueModel<boolean>(false);\n\n private txo: TransactionObserver;\n\n private readonly resolvedParameters = new MutableValueModel<ResolvedParameters>();\n\n constructor(private readonly component: any, private readonly router: Router, private readonly activatedRoute: ActivatedRoute) {\n super();\n const { chain, valueOf, before, when, after, observe } = Dsl.disposeWith(this);\n this.txo = new TransactionObserver();//.onEvent(e => console.log(e.toString()));\n\n const routeParameterDefs: ParameterDefinition<any>[] = Klass.get(component).getMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY);\n routeParameterDefs.forEach(parameter => this.installBinding(parameter));\n\n const incomingResolvedRouteParameters = observe.valuesFrom(activatedRoute.paramMap)\n .last()\n .map(params => {\n const result: ResolvedParameter<any>[] = [];\n routeParameterDefs.forEach(parameterDef => {\n let resolvedValue;\n if (parameterDef.isArray) {\n resolvedValue = params.getAll(parameterDef.name).map(v => parameterDef.type.parse(v));\n } else {\n resolvedValue = parameterDef.type.parse(params.get(parameterDef.name));\n }\n result.push({ parameterDef: parameterDef, resolvedValue: resolvedValue });\n\n });\n return new ResolvedParameters(result);\n });\n\n incomingResolvedRouteParameters.subscribe(resolvedParameters => {\n this._incomingRouteChange.value = true;\n this.resolvedParameters.value = resolvedParameters;\n this._incomingRouteChange.value = false;\n });\n\n when.valueOf(this.resolvedParameters).changes((params, previous) => {\n params.redirect(previous, router, activatedRoute);\n }, { unless: this.incomingRouteChange });\n\n this.txo.observe('incomingResolvedRouteParameters', incomingResolvedRouteParameters);\n this.txo.observe('this.routeIsChanging', this.incomingRouteChange);\n }\n\n get incomingRouteChange() {\n return this._incomingRouteChange.readonly;\n }\n\n protected installBinding<T>(parameter: ParameterDefinition<T>) {\n const model = this.getModelFor(parameter);\n // this.txo.observe(parameter.propertyName, model);\n this.registerDisposable(new Binding(this.resolvedParameters, model, {\n toRight(parameters: ResolvedParameters): T {\n return parameters.get(parameter);\n },\n toLeft(value: T, currentParameters?: ResolvedParameters): ResolvedParameters {\n return currentParameters.replace(parameter, value);\n }\n }));\n }\n\n\n private getModelFor<T>(parameter: ParameterDefinition<T>): IMutableHasValue<T> {\n return this.component[parameter.propertyName];\n }\n}\n\nexport namespace RouteParameterBindings {\n export const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');\n}\n","import { ActivatedRoute, Router } from '@angular/router';\n\nimport { Constructable, DelegatingValueModel, MutableValueModel, UseDelegate } from '@coolon/pectin';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { PlaceComponent } from './place-component';\nimport { Place } from './place.decorator';\nimport { RouteParameterBindings } from './route/route-parameter-bindings';\n\nexport class AbstractPlaceComponent extends DisposableComponent implements PlaceComponent {\n\n @UseDelegate()\n readonly titleModel: MutableValueModel<string>;\n\n private routeBindingMediator: RouteParameterBindings;\n\n constructor(protected activatedRoute: ActivatedRoute, router: Router) {\n super();\n this.routeBindingMediator = this.registerDisposable(new RouteParameterBindings(this, router, activatedRoute));\n // See https://coolon.atlassian.net/browse/PEC-59\n (this.titleModel as unknown as DelegatingValueModel<string>).setDefault(this.placeConfig.title);\n }\n\n @Memoize()\n get placeConfig(): Place.Descriptor {\n return Place.getDescriptor(this.constructor as any as Constructable<PlaceComponent>);\n }\n\n canDeactivate(): boolean | Promise<boolean> {\n return true;\n }\n\n}\n","import { ValueModel } from '@coolon/pectin';\n\nexport interface PlaceComponent {\n titleModel:ValueModel<string>;\n canDeactivate(): boolean | Promise<boolean>;\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanDeactivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { PlaceComponent } from '../place-component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LeavePlaceGuard implements CanDeactivate<PlaceComponent> {\n\n constructor(private router: Router, private injector: Injector) {\n }\n\n canDeactivate(component: PlaceComponent, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n return component.canDeactivate();\n }\n\n}\n","import { Injector } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { assert } from '@coolon/pectin';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport { ParameterDefinition } from './parameter-definition.class';\nimport { ParameterSanitiser } from './parameter-sanitiser';\nimport * as _ from 'lodash';\n\nexport abstract class Sanitiser<T, S> {\n\n private initialValue: S;\n private _sanitisedValue: S;\n\n constructor(readonly parameterDef: ParameterDefinition<T>, readonly snapshot:ActivatedRouteSnapshot, readonly sanitiser: ParameterSanitiser<S>) {\n }\n\n isRouteId(): boolean {\n return this.parameterDef.isRouteId;\n }\n\n get valueChanged():boolean {\n return !_.isNil(this.initialValue) && this.hasChanged(this.initialValue, this.sanitisedValue);\n }\n\n get sanitisedValue():S {\n return this._sanitisedValue;\n }\n\n protected abstract readFrom(snapshot: ActivatedRouteSnapshot): S;\n protected abstract hasChanged(initialValue:S, sanitisedValue:S): boolean;\n\n abstract injectRouteParam(dest: {});\n\n async sanitize(): Promise<boolean> {\n if (this.sanitiser) {\n this.initialValue = this.readFrom(this.snapshot);\n this._sanitisedValue = await this.sanitiser.sanitise(this.initialValue);\n if (this.initialValue !== this._sanitisedValue) {\n return false;\n }\n }\n return true;\n }\n}\n\n\nexport class RouteParameterSanitiser {\n\n private readonly routeIdSanitiser: Sanitiser<any, any>;\n private readonly parameterSanitisers: Sanitiser<any, any>[] = [];\n\n constructor(readonly parameterDefs: ParameterDefinition<any>[], readonly snapshot: ActivatedRouteSnapshot, readonly injector: Injector) {\n const sanitisers = parameterDefs.map(def => {\n return def.isArray ?\n new Sanitiser.Array(def, snapshot, this.getSanitiser(def)) :\n new Sanitiser.Value(def, snapshot, this.getSanitiser(def));\n });\n this.routeIdSanitiser = sanitisers.find(p => p.isRouteId());\n this.parameterSanitisers = sanitisers.filter(p => !p.isRouteId());\n }\n\n async sanitise(): Promise<boolean> {\n if (this.routeIdSanitiser) {\n await this.routeIdSanitiser.sanitize();\n if (this.routeIdSanitiser.valueChanged) {\n // if the route id isn't ok we redirect immediately as the query params may need to be sanitised in the\n // context of the route id.\n return false;\n }\n }\n for (const sanitiser of this.parameterSanitisers) {\n await sanitiser.sanitize();\n }\n return !this.parameterSanitisers.find(s => s.valueChanged);\n }\n\n redirect(router: Router) {\n assert.isTruthy(this.parameterSanitisers.length !== 0);\n if (this.routeIdSanitiser.valueChanged) {\n return router.navigate(['..', this.routeIdSanitiser.sanitisedValue]);\n } else {\n const routeParams = {};\n this.parameterSanitisers.forEach(s => s.injectRouteParam(routeParams));\n return router.navigate(['.', routeParams]);\n }\n }\n\n @Memoize()\n private getSanitiser<T, S>(def: ParameterDefinition<T, S>): ParameterSanitiser<S> {\n return def.sanitiser ? this.injector.get<ParameterSanitiser<S>>(def.sanitiser, new def.sanitiser()) : null;\n }\n}\n\nexport namespace Sanitiser {\n\n export class Value<T> extends Sanitiser<T, T> {\n\n readFrom(snapshot: ActivatedRouteSnapshot): T {\n const rawValue = this.parameterDef.isRouteId ?\n snapshot.paramMap.get(this.parameterDef.name) :\n snapshot.queryParamMap.get(this.parameterDef.name);\n\n return this.parameterDef.type.parse(rawValue);\n }\n\n protected hasChanged(initialValue: T, sanitisedValue: T): boolean {\n return initialValue !== sanitisedValue;\n }\n\n injectRouteParam(dest: {}) {\n dest[this.parameterDef.name] = this.parameterDef.type.format(this.sanitisedValue);\n }\n\n }\n\n export class Array<T> extends Sanitiser<T, T[]> {\n\n readFrom(snapshot: ActivatedRouteSnapshot): T[] {\n const rawValues = snapshot.queryParamMap.getAll(this.parameterDef.name);\n return rawValues.map(value => this.parameterDef.type.parse(value));\n }\n\n protected hasChanged(initialValue: T[], sanitisedValue: T[]): boolean {\n return initialValue !== sanitisedValue;\n }\n\n\n injectRouteParam(dest: {}) {\n dest[this.parameterDef.name] = this.sanitisedValue.map(v => this.parameterDef.type.format(v));\n }\n\n\n }\n\n}\n","import { Injectable, Injector } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n CanDeactivate,\n Router,\n RouterStateSnapshot,\n UrlTree\n} from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport { Klass } from '@coolon/typescript-utilities';\nimport { Observable } from 'rxjs';\nimport { PlaceComponent } from '../place-component';\nimport { RouteParameterBindings } from '../route/route-parameter-bindings';\nimport { RouteParameterSanitiser } from '../route/route-parameter-sanitiser';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceRouteGuard implements CanActivate {\n\n constructor(private router: Router, private injector: Injector) {\n }\n\n @Trace()\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n const routeParameters = Klass.get(route.component).getMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY);\n const sanitiser = new RouteParameterSanitiser(routeParameters, route, this.injector);\n return sanitiser.sanitise().then(proceed => {\n if (!proceed) {\n sanitiser.redirect(this.router);\n }\n return proceed;\n });\n }\n\n}\n","export type JsonPrimitive = boolean | number | string;\nexport type AnyJson = JsonPrimitive | null | JsonArray | JsonMap;\nexport interface JsonArray extends Array<AnyJson> {}\nexport interface JsonMap { [key: string]: AnyJson; }\n\n","import { assert, Constructable, UseDelegate } from '@coolon/pectin';\nimport { Klass, Opts } from '@coolon/typescript-utilities';\nimport { ParameterDefinition } from './parameter-definition.class';\nimport { ParameterSanitiser } from './parameter-sanitiser';\nimport { ParameterType } from './parameter-type';\nimport { RouteParameterBindings } from './route-parameter-bindings';\n\nexport interface ParameterOptions<T> {\n as?: string;\n optional?:boolean;\n sanitiser?: Constructable<ParameterSanitiser<T>>;\n}\n\nexport interface ListParameterOptions<T> {\n as?: string;\n optional?:boolean;\n listSanitiser?: Constructable<ParameterSanitiser<T[]>>;\n}\n\nexport function RouteId<T extends string | number>(type: ParameterType<T>, options?: ParameterOptions<T>): PropertyDecorator {\n // assert.isTruthy(type.isValid());\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = createDefinition(propertyKey, type, options, true);\n Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\n/**\n * @deprecated use RouteParameter instead.\n * @param type\n * @param options\n */\nexport function QueryParameter<T>(type: ParameterType<T>, options?: ParameterOptions<T>): PropertyDecorator {\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = createDefinition(propertyKey, type, options, false);\n Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\nexport function RouteParameter<T>(type: ParameterType<T>, options?: ParameterOptions<T>): PropertyDecorator {\n // assert.isTruthy(type.isValid());\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = createDefinition(propertyKey, type, options, false);\n Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\n/**\n * @deprecated use RouteParameterList instead\n * @param elementType\n * @param options\n */\nexport function QueryParameterList<E>(elementType: ParameterType<E>, options?: ListParameterOptions<E>): PropertyDecorator {\n // assert.isTruthy(type.isValid());\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = createArrayDefinition(propertyKey, elementType, options);\n Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\nexport function RouteParameterList<E>(elementType: ParameterType<E>, options?: ListParameterOptions<E>): PropertyDecorator {\n // assert.isTruthy(type.isValid());\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = createArrayDefinition(propertyKey, elementType, options);\n Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\nfunction createDefinition<T>(propertyName: symbol | string, type: ParameterType<T>, options: ParameterOptions<T>, routeId: boolean) {\n const opts = Opts.get(options);\n const propertyNameAsString = assert.notNil(propertyName).toString();\n const def: ParameterDefinition<T> = {\n name: opts.getOptional('as', propertyNameAsString),\n propertyName: propertyNameAsString,\n type: assert.notNil(type),\n sanitiser: opts.getOptional('sanitiser', null),\n isRouteId: routeId,\n isArray: false\n };\n return def;\n}\n\nfunction createArrayDefinition<T>(propertyName: symbol | string, type: ParameterType<T>, options: ListParameterOptions<T>) {\n const opts = Opts.get(options);\n const propertyNameAsString = assert.notNil(propertyName).toString();\n\n const def: ParameterDefinition<T, T[]> = {\n name: opts.getOptional('as', propertyNameAsString),\n propertyName: propertyNameAsString,\n type: assert.notNil(type),\n sanitiser: opts.getOptional('listSanitiser', null),\n isRouteId: false,\n isArray: true\n };\n return def;\n}\n","import { Constructable } from '@coolon/pectin';\nimport { ParameterSanitiser } from './parameter-sanitiser';\nimport { ParameterType } from './parameter-type';\n\nexport interface ParameterDefinition<E,S=E> {\n readonly name: string;\n readonly propertyName: string;\n readonly type: ParameterType<E>;\n readonly sanitiser: Constructable<ParameterSanitiser<S>>;\n readonly isRouteId: boolean;\n readonly isArray: boolean;\n}\n","export interface ParameterSanitiser<T> {\n sanitise(value: T): T | Promise<T>;\n}\n","export interface ParameterType<T> {\n format(value: T): string;\n\n parse(value: string): T;\n}\n\nexport namespace ParameterType {\n\n class StringType implements ParameterType<string> {\n format(value: string): string {\n return value;\n }\n\n parse(value: string): string {\n return value;\n }\n }\n\n class NumberType implements ParameterType<number> {\n format(value: number): string {\n return `${value}`;\n }\n\n parse(value: string): number {\n return +value;\n }\n }\n\n export const STRING = new StringType();\n export const NUMBER = new NumberType();\n}\n"],"names":["tslib_1.__extends","GarbageCollector","DelegatingFormValueModel","EventEmitter","Input","Output","HostListener","tslib_1.__decorate","UseDelegate","ValueModel","Component","assert","UnaryCommand","lang","Directive","ElementRef","Inject","Logger","NgZone","DOCUMENT","ListModel","StoreInListModel","InjectionToken","EventListenerList","DelegatingValueModel","MutableListModel","Deferred","ViewChild","ActivityContainerComponent","Injector","ComponentFactoryResolver","ViewContainerRef","ActivityOutletComponent","Injectable","MatDialog","NgModule","CommonModule","MatButtonModule","MatDialogModule","MatTabsModule","PortalModule","StoreInValueModel","Trace","query","style","group","animate","trigger","transition","BrowserAnimationsModule","MatProgressSpinnerModule","RouterModule","MatListModule","MatTooltipModule","BrowserModule","FormsModule","MatInputModule","MatFormFieldModule","MatSelectModule","OptionsHelper","Bounds","ValueHolder","_.isNil","Router","ActivatedRoute","MutableValueModel","TransactionObserver","Klass","Binding","RouteParameterBindings","Memoize","Sanitiser","tslib_1.__values","ActivatedRouteSnapshot","RouterStateSnapshot","Opts","ParameterType"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("@angular/core"),require("@angular/forms"),require("@angular/material"),require("@angular/platform-browser"),require("@angular/platform-browser/animations"),require("@coolon/pectin"),require("@angular/cdk/portal"),require("@coolon/pectin/lib/promise/deferred.class"),require("@coolon/typescript-utilities"),require("@angular/material/dialog"),require("@angular/material/list"),require("@angular/material/tabs"),require("@angular/material/tooltip"),require("@angular/router"),require("@angular/animations"),require("resize-observer-polyfill"),require("@typescript-plus/fast-memoize-decorator"),require("lodash"),require("reflect-metadata"),require("@typescript-plus/fast-memoize-decorator/dist/src")):"function"==typeof define&&define.amd?define("@coolon/angular-ui-powerups",["exports","@angular/common","@angular/core","@angular/forms","@angular/material","@angular/platform-browser","@angular/platform-browser/animations","@coolon/pectin","@angular/cdk/portal","@coolon/pectin/lib/promise/deferred.class","@coolon/typescript-utilities","@angular/material/dialog","@angular/material/list","@angular/material/tabs","@angular/material/tooltip","@angular/router","@angular/animations","resize-observer-polyfill","@typescript-plus/fast-memoize-decorator","lodash","reflect-metadata","@typescript-plus/fast-memoize-decorator/dist/src"],e):e(((t=t||self).coolon=t.coolon||{},t.coolon["angular-ui-powerups"]={}),t.ng.common,t.ng.core,t.ng.forms,t.ng.material,t.ng.platformBrowser,t.ng.platformBrowser.animations,t.pectin,t.ng.cdk.portal,t.deferred_class,t.typescriptUtilities,t.ng.material.dialog,t.ng.material.list,t.ng.material.tabs,t.ng.material.tooltip,t.ng.router,t.ng.animations,t.ResizeObserver,t.fastMemoizeDecorator,t.lodash,null,t.src)}(this,function(t,e,n,r,o,i,a,s,u,c,l,p,d,f,m,y,g,h,v,b,I,w){"use strict";h=h&&h.hasOwnProperty("default")?h.default:h;var C=function(t,e){return(C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function M(t,e){function n(){this.constructor=t}C(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var P=function(){return(P=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function R(t,e,n,r){var o,i=arguments.length,a=i<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(i<3?o(a):i>3?o(e,n,a):o(e,n))||a);return i>3&&a&&Object.defineProperty(e,n,a),a}function D(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function O(t,e,n,r){return new(n||(n=Promise))(function(o,i){function a(t){try{u(r.next(t))}catch(t){i(t)}}function s(t){try{u(r.throw(t))}catch(t){i(t)}}function u(t){t.done?o(t.value):new n(function(e){e(t.value)}).then(a,s)}u((r=r.apply(t,e||[])).next())})}function E(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}function A(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}var T=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return M(e,t),e.prototype.ngOnDestroy=function(){this.dispose()},e}(s.GarbageCollector),_=function(t){function e(){var e=t.call(this)||this;e.valueModel=new s.DelegatingFormValueModel,e.focus=new n.EventEmitter,e.blur=new n.EventEmitter,e.enterKey=new n.EventEmitter,e.escapeKey=new n.EventEmitter;var r=e;return e.errorStateMatcher={isErrorState:function(t,e){return r.hasErrors()}},e}return M(e,t),Object.defineProperty(e.prototype,"userValueModel",{set:function(t){this.valueModel.setDelegate(t)},enumerable:!0,configurable:!0}),e.prototype.notifyClick=function(){this.safelyInvoke(this.clickCommand)},e.prototype.notifyFocusIn=function(){this.safelyInvoke(this.focusCommand),this.focus.emit()},e.prototype.notifyFocusOut=function(){this.safelyInvoke(this.blurCommand),this.blur.emit()},e.prototype.notifyEnterKey=function(){this.safelyInvoke(this.enterCommand),this.enterKey.emit()},e.prototype.notifyEscapeKey=function(){this.safelyInvoke(this.escapeCommand),this.escapeKey.emit()},e.prototype.safelyInvoke=function(t){t&&t.enabled.value&&t.execute()},e.prototype.ngOnInit=function(){},e.prototype.isEnabled=function(){return this.enabled.value},Object.defineProperty(e.prototype,"enabled",{get:function(){return this.valueModel.enabled},enumerable:!0,configurable:!0}),e.prototype.hasErrors=function(){return!this.errorList.query().isEmpty()},Object.defineProperty(e.prototype,"errorList",{get:function(){return this.valueModel.errorList},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"firstError",{get:function(){return this.hasErrors()?this.errorList.value[0]:null},enumerable:!0,configurable:!0}),e.propDecorators={userValueModel:[{type:n.Input,args:["valueModel"]}],label:[{type:n.Input}],floatLabel:[{type:n.Input}],hint:[{type:n.Input}],placeholder:[{type:n.Input}],focusCommand:[{type:n.Input,args:["command.focus"]}],blurCommand:[{type:n.Input,args:["command.blur"]}],enterCommand:[{type:n.Input,args:["command.enter"]}],escapeCommand:[{type:n.Input,args:["command.escape"]}],clickCommand:[{type:n.Input,args:["command.click"]}],focus:[{type:n.Output}],blur:[{type:n.Output}],enterKey:[{type:n.Output}],escapeKey:[{type:n.Output}],notifyClick:[{type:n.HostListener,args:["click"]}],notifyFocusIn:[{type:n.HostListener,args:["focusin"]}],notifyFocusOut:[{type:n.HostListener,args:["focusout"]}]},R([s.UseDelegate(),D("design:type",s.ValueModel),D("design:paramtypes",[s.ValueModel])],e.prototype,"userValueModel",null),e}(T);var F=function(t){function e(){return t.call(this)||this}return M(e,t),e.prototype.ngOnInit=function(){},e.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-number-input",template:'<mat-form-field appearance="standard" [floatLabel]="floatLabel">\n <mat-label *ngIf="label">{{label}}</mat-label>\n <input type="number"\n matInput\n placeholder="{{placeholder}}"\n [(ngModel)]="valueModel.value"\n [disabled]="!enabled.value"\n (keydown.enter)="notifyEnterKey()"\n (keydown.escape)="notifyEscapeKey()"\n [pectinFocusBinding]="valueModel"\n [errorStateMatcher]="errorStateMatcher"\n >\n <mat-hint *ngIf="hint">{{hint}}</mat-hint>\n <mat-error *ngIf="hasErrors">{{firstError}}</mat-error>\n</mat-form-field>\n',styles:[":host{display:block}input,mat-form-field{width:100%}input mat-hint.faux-error,mat-form-field mat-hint.faux-error{color:#f44336}"]}]}],e.ctorParameters=function(){return[]},e}(_),j=function(t){function e(e){var n=t.call(this)||this;return n.elementRef=e,n._commandParameterProvided=!1,n}return M(e,t),Object.defineProperty(e.prototype,"commandParameter",{get:function(){return this._commandParameter},set:function(t){this._commandParameterProvided=!0,this._commandParameter=t},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){s.assert.notNil(this.pectinCommand),this.pectinCommand instanceof s.UnaryCommand?this._commandParameterProvided||s.lang.illegalState("UnaryCommands required the command parameter to be specified."):this._commandParameterProvided&&s.lang.illegalState("command parameters are only supported by UnaryCommands")},e.prototype.ngAfterViewInit=function(){var t=this;(0,s.Dsl.disposeWith(this).chain)(this.pectinCommand.enabled).subscribe(function(e){e?(t.elementRef.nativeElement.removeAttribute("disabled"),"A"===t.elementRef.nativeElement.tagName&&t.elementRef.nativeElement.setAttribute("href","javascript:void")):(t.elementRef.nativeElement.setAttribute("disabled","disabled"),"A"===t.elementRef.nativeElement.tagName&&t.elementRef.nativeElement.removeAttribute("href"))})},e.prototype.ngOnDestroy=function(){this.dispose()},e.prototype.notifyClick=function(t){t.preventDefault(),t.stopPropagation(),this.pectinCommand.enabled.value?this.pectinCommand instanceof s.UnaryCommand?this.pectinCommand.withContext({event:t}).execute(this.commandParameter):this.pectinCommand.withContext({event:t}).execute():console.warn("disabled command clicked, ignoring.")},e.decorators=[{type:n.Directive,args:[{selector:"[pectinCommand]"}]}],e.ctorParameters=function(){return[{type:n.ElementRef,decorators:[{type:n.Inject,args:[n.ElementRef]}]}]},e.propDecorators={pectinCommand:[{type:n.Input}],commandParameter:[{type:n.Input}],notifyClick:[{type:n.HostListener,args:["click",["$event"]]}]},e}(s.GarbageCollector);var L=function(t){function r(e,n,r){var o=t.call(this)||this;return o.el=e,o.ngZone=n,o.document=r,o}return M(r,t),r.prototype.onFocusIn=function(){this.hasBinding()&&this.pectinFocusBinding.focusContext.notifyFocusIn()},r.prototype.onFocusOut=function(){this.hasBinding()&&this.pectinFocusBinding.focusContext.notifyFocusOut()},r.prototype.ngOnInit=function(){},r.prototype.ngAfterViewInit=function(){var t=this;this.hasBinding()?(0,s.Dsl.disposeWith(this).chain)(this.pectinFocusBinding.focusContext.focused).subscribe(function(e){e&&!t.alreadyHasFocus()&&t.tryAndFocus()}):s.Logger.get(this).warn("pectinFocusBinding was nil")},r.prototype.hasBinding=function(){return!!this.pectinFocusBinding&&!!this.pectinFocusBinding.focusContext},r.prototype.alreadyHasFocus=function(){return this.isFocused(this.focusTarget)},r.prototype.isFocused=function(t){return this.document.activeElement===t},r.prototype.tryAndFocus=function(t){var e=this;void 0===t&&(t=5),this.modelShouldStillHaveFocus()&&this.canFocus()&&(this.alreadyHasFocus()||this.focusTarget.focus(),this.alreadyHasFocus()||(s.Logger.get(this).log("focus failed, trying "+t+" more times"),t>0?requestAnimationFrame(function(){e.tryAndFocus(t-1)}):s.Logger.get(this).warn("Tried to focus but gave up as the component wasn't enabled or visible.")))},Object.defineProperty(r.prototype,"focusTarget",{get:function(){return this.focusBindingTarget||this.el.nativeElement},enumerable:!0,configurable:!0}),r.prototype.modelShouldStillHaveFocus=function(){return this.hasBinding()&&this.pectinFocusBinding.focusContext.focused.value},r.prototype.canFocus=function(){var t=this.focusTarget.getBoundingClientRect();return t.height>=0&&t.height>=0&&!this.focusTarget.disabled},r.decorators=[{type:n.Directive,args:[{selector:"[pectinFocusBinding]"}]}],r.ctorParameters=function(){return[{type:n.ElementRef,decorators:[{type:n.Inject,args:[n.ElementRef]}]},{type:n.NgZone,decorators:[{type:n.Inject,args:[n.NgZone]}]},{type:void 0,decorators:[{type:n.Inject,args:[e.DOCUMENT]}]}]},r.propDecorators={pectinFocusBinding:[{type:n.Input}],focusBindingTarget:[{type:n.Input}],onFocusIn:[{type:n.HostListener,args:["focusin"]}],onFocusOut:[{type:n.HostListener,args:["focusout"]}]},r}(T);var S=function(t){function e(){return t.call(this)||this}return M(e,t),e.prototype.ngOnInit=function(){},e.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-string-input",template:'<mat-form-field appearance="standard" [floatLabel]="floatLabel">\n <mat-label *ngIf="label">{{label}}</mat-label>\n <input matInput\n placeholder="{{placeholder}}"\n [(ngModel)]="valueModel.value"\n [disabled]="!enabled.value"\n (keydown.enter)="notifyEnterKey()"\n (keydown.escape)="notifyEscapeKey()"\n [pectinFocusBinding]="valueModel"\n [errorStateMatcher]="errorStateMatcher"\n >\n <mat-hint *ngIf="hint">{{hint}}</mat-hint>\n <mat-error *ngIf="hasErrors">{{firstError}}</mat-error>\n</mat-form-field>\n\n',styles:[":host{display:block}input,mat-form-field{width:100%}input mat-hint.faux-error,mat-form-field mat-hint.faux-error{color:#f44336}"]}]}],e.ctorParameters=function(){return[]},e}(_),x=function(t){function e(){return t.call(this)||this}return M(e,t),e.prototype.ngOnInit=function(){},e.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-password-input",template:'<mat-form-field appearance="standard" [floatLabel]="floatLabel">\n <mat-label *ngIf="label">{{label}}</mat-label>\n <input type="password"\n matInput\n placeholder="{{placeholder}}"\n [(ngModel)]="valueModel.value"\n [disabled]="!enabled.value"\n (keydown.enter)="notifyEnterKey()"\n (keydown.escape)="notifyEscapeKey()"\n [pectinFocusBinding]="valueModel"\n [errorStateMatcher]="errorStateMatcher"\n >\n <mat-hint *ngIf="hint">{{hint}}</mat-hint>\n <mat-error *ngIf="hasErrors">{{firstError}}</mat-error>\n</mat-form-field>\n\n',styles:[":host{display:block}input,mat-form-field{width:100%}input mat-hint.faux-error,mat-form-field mat-hint.faux-error{color:#f44336}"]}]}],e.ctorParameters=function(){return[]},e}(_),k=function(t){function e(){var e=t.call(this)||this;return e.optionLabelFormat=function(t){return t&&e.optionLabel?t[e.optionLabel]:t},e}return M(e,t),e.prototype.ngOnInit=function(){},e.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-select-input",template:'<mat-form-field appearance="standard" [floatLabel]="floatLabel">\n <mat-label *ngIf="label">{{label}}</mat-label>\n <mat-select placeholder="{{placeholder}}"\n [(ngModel)]="valueModel.value"\n [disabled]="!enabled.value"\n (keydown.enter)="notifyEnterKey()"\n (keydown.escape)="notifyEscapeKey()"\n [pectinFocusBinding]="valueModel"\n [errorStateMatcher]="errorStateMatcher"\n >\n <mat-option *ngFor="let option of optionsModel.value" [value]="option">{{optionLabelFormat(option)}}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf="hint">{{hint}}</mat-hint>\n <mat-error *ngIf="hasErrors">{{firstError}}</mat-error>\n</mat-form-field>\n',styles:[":host{display:inline-block}mat-form-field{width:100%}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={optionsModel:[{type:n.Input}],options:[{type:n.Input}],optionLabel:[{type:n.Input}],optionLabelFormat:[{type:n.Input}]},R([s.UseDelegate(),D("design:type",s.ListModel)],e.prototype,"optionsModel",void 0),R([s.StoreInListModel("optionsModel"),D("design:type",Array)],e.prototype,"options",void 0),e}(_);var B=new n.InjectionToken("InteractionContext"),V=function(){};var q=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._doneListeners=new s.EventListenerList,e._cancelListeners=new s.EventListenerList,e._finishListeners=new s.EventListenerList,e._busyModel=(new s.DelegatingValueModel).withDefault(!1),e}return M(e,t),e.prototype.onDone=function(t){this._doneListeners.add(t)},e.prototype.onCancel=function(t){this._cancelListeners.add(t)},e.prototype.done=function(t){var e=this;return this._doneListeners.fireAndWait(function(e){return e(t)}).finally(function(){return e.finalizeAndDispose()})},e.prototype.cancel=function(t){var e=this;return this._cancelListeners.fireAndWait(function(e){return e(t)}).finally(function(){return e.finalizeAndDispose()})},e.prototype.finalizeAndDispose=function(){this._finishListeners.fire(function(t){return t()}),[this._finishListeners,this._doneListeners,this._cancelListeners].forEach(function(t){return t.dispose()})},Object.defineProperty(e.prototype,"busy",{get:function(){return this._busyModel.readonly},enumerable:!0,configurable:!0}),e.prototype.busyWhile=function(t){this._busyModel.setDelegate(t)},e.prototype.isBusy=function(){return this._busyModel.value},e}(T);var N=new n.InjectionToken("InteractionActivityData");var K=function(t){function e(e){var n=t.call(this)||this;return n.alert=e,n}return M(e,t),e.prototype.ngOnInit=function(){},e.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-alert-dialog",template:'<h3 matDialogTitle *ngIf="alert.title">{{alert.title()}}</h3>\n<div matDialogContent>\n <p *ngFor="let line of alert.content()">{{line}}</p>\n</div>\n<p matDialogActions>\n <button mat-raised-button color="primary" (click)="done()">{{alert.ok()}}</button>\n</p>\n',styles:[":host{display:block;padding:var(--angular-ui-powerups-default-padding)}.mat-dialog-actions{justify-content:flex-end}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[N]}]}]},e}(q);var U,z,H=function(t){function e(e){var n=t.call(this)||this;return n.confirm=e,s.assert.notNil(e),console.log(e),n}return M(e,t),e.prototype.ngOnInit=function(){},e.prototype.isDestructive=function(){return this.confirm.destructive&&this.confirm.destructive()},e.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-confirmation-dialog",template:'<h3 matDialogTitle *ngIf="confirm.title">{{confirm.title()}}</h3>\n<div matDialogContent>\n <p *ngFor="let line of confirm.content()">{{line}}</p>\n</div>\n<p matDialogActions>\n <button mat-button (click)="cancel()">{{confirm.cancel()}}</button>\n <button mat-raised-button [color]="isDestructive() ? \'warn\' : \'primary\'" (click)="done(true)">{{confirm.ok()}}</button>\n</p>\n\n',styles:[":host{display:block;padding:var(--angular-ui-powerups-default-padding)}.mat-dialog-actions{justify-content:flex-end}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[N]}]}]},e}(q);t.ɵq=function(t){function e(){var e=t.call(this)||this;return e.activityTabs=new s.MutableListModel,e.obsoleteTabs=[],e}return M(e,t),e.prototype.ngOnInit=function(){},e.prototype.ngAfterViewInit=function(){var t=this;s.Dsl.disposeWith(this).observe.valuesFrom(this.tabs.animationDone).subscribe(function(){return t.cleanUpTabs()})},e.prototype.initialise=function(t){this.initialActivity=P({},t,{interactionContext:this})},e.prototype.startActivity=function(t,e){var n=this,r=c.Deferred.defer(),o={interactionContext:this,activityClass:t,activityData:e,onDone:r.resolve,onCancel:r.reject};return this.activityTabs.push(o),this.tabs.selectedIndex=this.activityTabs.length,r.promise.finally(function(){n.obsoleteTabs.push(o),n.tabs.selectedIndex=n.activityTabs.length-1})},e.prototype.alert=function(t){return this.startActivity(K,t)},e.prototype.confirm=function(t){return this.startActivity(H,t)},e.prototype.cleanUpTabs=function(){var t=this;this.activityTabs.value=this.activityTabs.value.filter(function(e){return!t.obsoleteTabs.includes(e)})},e.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-activity-container",template:'<mat-tab-group #tabs no-tab-header [dynamicHeight]="true">\n <mat-tab>\n <angular-ui-powerups-activity-outlet [interactionContext]="this" [activityContext]="initialActivity"></angular-ui-powerups-activity-outlet>\n </mat-tab>\n <mat-tab *ngFor="let tab of activityTabs.value">\n <angular-ui-powerups-activity-outlet [interactionContext]="this" [activityContext]="tab"></angular-ui-powerups-activity-outlet>\n </mat-tab>\n</mat-tab-group>\n',styles:[":host{display:block}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={parentInteractionContext:[{type:n.Input}],initialActivity:[{type:n.Input}],tabs:[{type:n.ViewChild,args:["tabs",{static:!0}]}]},e}(T),function(e){function n(){}(t.ɵq||(t.ɵq={})).ActivityContext=n}(),t.ɵx=function(){function t(t,e,n){this.componentFactoryResolver=t,this.viewContainerRef=e,this.injector=n}return Object.defineProperty(t.prototype,"activityContext",{set:function(t){this.loadActivity(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){},t.prototype.loadActivity=function(t){var e=n.Injector.create({providers:[{provide:V,useValue:this},{provide:N,useValue:t.activityData}],parent:this.injector}),r=this.componentFactoryResolver.resolveComponentFactory(t.activityClass);this.viewContainerRef.clear(),this.activityComponent=this.viewContainerRef.createComponent(r,0,e),this.activityComponent.instance.onDone(t.onDone),this.activityComponent.instance.onCancel(t.onCancel)},t.prototype.alert=function(t){return this.interactionContext.alert(t)},t.prototype.confirm=function(t){return this.interactionContext.confirm(t)},t.prototype.startActivity=function(t,e){return this.interactionContext.startActivity(t,e)},t.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-activity-outlet",template:"",styles:[":host{display:block}"]}]}],t.ctorParameters=function(){return[{type:n.ComponentFactoryResolver},{type:n.ViewContainerRef},{type:n.Injector}]},t.propDecorators={interactionContext:[{type:n.Input}],activityContext:[{type:n.Input}]},t}(),U=t.ɵx||(t.ɵx={}),z=function(){function t(t){this.context=t}return t.prototype.alert=function(t){return s.lang.notImplemented()},t.prototype.confirm=function(t){return s.lang.notImplemented()},t.prototype.startActivity=function(t,e){return s.lang.notImplemented()},t}(),U.OutletInteractionContext=z;var X=function(e){function r(t){var n=e.call(this)||this;return n.dialogService=t,l.assert.notNil(t),n}return M(r,e),r.prototype.startActivity=function(t,e){return this._startActivity(t,e)},r.prototype._startActivity=function(e,n,r){var o=this;void 0===r&&(r=!0);var i={data:n,disableClose:r,panelClass:"dialog-interaction-service",autoFocus:!1},a=this.dialogService.open(t.ɵq,i);return new Promise(function(t,r){var i=a.componentInstance;i.parentInteractionContext=o,i.initialise({activityClass:e,activityData:n,onDone:function(e){t(e),a.close(e)},onCancel:function(t){r(t),a.close(t)}}),a.updateSize()})},r.prototype.alert=function(t){return this._startActivity(K,t,!1)},r.prototype.confirm=function(t){return this._startActivity(H,t,!0)},r.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],r.ctorParameters=function(){return[{type:o.MatDialog}]},r.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new r(n.ɵɵinject(p.MatDialog))},token:r,providedIn:"root"}),r}(V);var Y=function(){function r(){}return r.decorators=[{type:n.NgModule,args:[{imports:[e.CommonModule,o.MatButtonModule,o.MatDialogModule,o.MatTabsModule,u.PortalModule],declarations:[t.ɵq,H,K,t.ɵx],entryComponents:[t.ɵq,H,K],providers:[X]}]}],r}(),G=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-busy-overlay",template:'<ng-content></ng-content>\n<div class="busy-overlay-backdrop" *ngIf="busyModel.value">\n <mat-progress-spinner mode="indeterminate" [diameter]="52"></mat-progress-spinner>\n</div>\n',styles:[":host{position:relative}div.busy-overlay-backdrop{position:absolute;background-color:rgba(0,0,0,.2);top:0;left:0;bottom:0;right:0;display:-ms-grid;display:grid;-ms-grid-columns:auto;grid-template-columns:auto;-ms-grid-rows:auto;grid-template-rows:auto;place-content:center}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={busyModel:[{type:n.Input}],busy:[{type:n.Input}]},R([s.UseDelegate(),D("design:type",s.ValueModel)],t.prototype,"busyModel",void 0),R([s.StoreInValueModel("busyModel"),D("design:type",Boolean)],t.prototype,"busy",void 0),t}();var W=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-empty-state",template:'\n <div class="container">\n <ng-content></ng-content>\n </div>\n ',styles:[":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{padding:var(--angular-ui-powerups-default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]}]}],t.ctorParameters=function(){return[]},t}(),Z=function(){function t(){this._activePlaces=new s.MutableListModel}return Object.defineProperty(t.prototype,"activePlaces",{get:function(){return this._activePlaces.readonly},enumerable:!0,configurable:!0}),t.prototype.onActivate=function(t){this._activePlaces.push(t)},t.prototype.onDeactivate=function(t){this._activePlaces.remove(t)},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),R([s.Trace(),D("design:type",Function),D("design:paramtypes",[Object]),D("design:returntype",void 0)],t.prototype,"onActivate",null),R([s.Trace(),D("design:type",Function),D("design:paramtypes",[Object]),D("design:returntype",void 0)],t.prototype,"onDeactivate",null),t}();var $=[g.query(":enter, :leave",g.style({position:"fixed",width:"100%"}),{optional:!0}),g.group([g.query(":enter",[g.style({transform:"translateX(-100%)"}),g.animate(".3s ease-out",g.style({transform:"translateX(0%)"}))],{optional:!0}),g.query(":leave",[g.style({transform:"translateX(0%)"}),g.animate(".3s ease-out",g.style({transform:"translateX(100%)"}))],{optional:!0})])],J=[g.query(":enter, :leave",g.style({position:"fixed",width:"100%"}),{optional:!0}),g.group([g.query(":enter",[g.style({transform:"translateX(100%)"}),g.animate(".3s ease-out",g.style({transform:"translateX(0%)"}))],{optional:!0}),g.query(":leave",[g.style({transform:"translateX(0%)"}),g.animate(".3s ease-out",g.style({transform:"translateX(-100%)"}))],{optional:!0})])],Q=g.trigger("routeAnimations",[g.transition(":increment",J),g.transition(":decrement",$)]),tt=function(){function t(t){this.placeService=t,this.animate=!0}return t.prototype.ngOnInit=function(){},t.prototype.onActivate=function(t){this.placeService.onActivate(t)},t.prototype.onDeactivate=function(t){this.placeService.onDeactivate(t)},t.prototype.getPlaceOrder=function(t){return this.animate&&t&&t.activatedRouteData&&t.activatedRouteData.placeOrder},t.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-place-outlet",template:'<div container [@routeAnimations]="getPlaceOrder(routerOutlet)">\n <router-outlet #routerOutlet="outlet"\n (activate)="onActivate($event)"\n (deactivate)="onDeactivate($event)">\n </router-outlet>\n</div>\n\n',animations:[Q],styles:[":host{display:flex;flex-direction:column;min-height:0}[container]{flex:1;display:-ms-grid;display:grid;-ms-grid-rows:0 1fr;grid-template-rows:0 1fr;min-height:0}"]}]}],t.ctorParameters=function(){return[{type:Z}]},t.propDecorators={animate:[{type:n.Input}]},t}();var et=function(t){function e(){var e=t.call(this)||this,n=s.Dsl.disposeWith(e),r=n.chain;n.valueOf,n.before,n.when,n.after,n.observe,n.switchOn;return e.orderedPlaces=r(e.placesModel).sortBy("order"),e}return M(e,t),e.prototype.ngOnInit=function(){},e.decorators=[{type:n.Component,args:[{selector:"angular-ui-powerups-tabbed-place-navigation",template:'<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor="let placeDescriptor of orderedPlaces.value"\n [routerLink]=\'placeDescriptor.path\'\n routerLinkActive #rla="routerLinkActive"\n [active]="rla.isActive"\n [matTooltip]="placeDescriptor.title">{{placeDescriptor.title}}</a>\n</nav>\n',styles:[""]}]}],e.ctorParameters=function(){return[]},e.propDecorators={places:[{type:n.Input}],placesModel:[{type:n.Input}]},R([s.StoreInListModel("placesModel"),D("design:type",Array)],e.prototype,"places",void 0),R([s.UseDelegate(),D("design:type",s.ListModel)],e.prototype,"placesModel",void 0),e}(T);var nt=function(){function t(){}return t.decorators=[{type:n.NgModule,args:[{imports:[e.CommonModule,a.BrowserAnimationsModule,o.MatProgressSpinnerModule,y.RouterModule,f.MatTabsModule,d.MatListModule,m.MatTooltipModule],declarations:[W,G,tt,et],entryComponents:[G],exports:[G,tt,W,et],providers:[Z]}]}],t}(),rt=function(){function t(){}return t.decorators=[{type:n.NgModule,args:[{declarations:[j,L,F,S,x,k],imports:[e.CommonModule,i.BrowserModule,a.BrowserAnimationsModule,r.FormsModule,o.MatInputModule,o.MatFormFieldModule,o.MatSelectModule,nt,Y],exports:[j,L,F,S,x,k,Y,nt]}]}],t}(),ot=g.style({opacity:0,height:"0",paddingTop:"0",paddingBottom:"0"});var it=function(t,e){this.width=t,this.height=e};var at,st=function(){function t(t,e){this.x=t,this.y=e}return t.from=function(e){return new t(e.x,e.y)},t.prototype.translate=function(e,n){return new t(this.x+e,this.y+n)},t}();t.Bounds=function(t){function e(e,n,r,o){var i=t.call(this,r,o)||this;return i.top=e,i.left=n,i.width=r,i.height=o,i}return M(e,t),e.prototype.relativePositionOf=function(t){return t instanceof MouseEvent?new st(t.clientX-this.left,t.clientY-this.top):new st(t.x-this.left,t.y-this.top)},e}(it),(at=t.Bounds||(t.Bounds={})).ofElement=function(t){var e=t.getBoundingClientRect();return new at(e.top,e.left,e.width,e.height)};var ut=function(e){function n(n,r){var o=e.call(this)||this;return o.elementRef=n,o.ngZone=r,o._boundsModel=new s.ValueHolder(new t.Bounds(0,0,0,0)),o}return M(n,e),n.prototype.ngAfterViewInit=function(){var t=this;this.updateBounds();var e=this.elementRef.nativeElement,n=new h(function(e,n){t.ngZone.run(function(){return t.updateBounds()})});n.observe(e),this.onDispose(function(){return n.disconnect()})},Object.defineProperty(n.prototype,"boundsModel",{get:function(){return this._boundsModel.readonly},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"nativeElement",{get:function(){return this.elementRef.nativeElement},enumerable:!0,configurable:!0}),n.prototype.relativePositionOf=function(t){return this.bounds.relativePositionOf(t)},Object.defineProperty(n.prototype,"bounds",{get:function(){return this._boundsModel.value},enumerable:!0,configurable:!0}),n.prototype.updateBounds=function(){this._boundsModel.value=t.Bounds.ofElement(this.nativeElement)},n}(T);function ct(){}function lt(t){return function(e){Reflect.defineMetadata("place.options",t,e)}}(function(t){function e(){}t.Callback=e})(ct||(ct={})),function(t){function e(){}t.Options=e;var n=function(t,e){s.assert.notNil(e),this.path=e.path,this.title=e.title,this.order=e.order,this.authenticate=b.isNil(e.authenticate)||e.authenticate};t.Descriptor=n,t.getDescriptor=function(t){var e=Reflect.getMetadata("place.options",t);return new n(t,e)}}(lt||(lt={}));var pt=function(){function t(t){this.parameters=t}return t.prototype.get=function(t){var e=this.parameters.find(function(e){return e.parameterDef===t});return e?e.resolvedValue:null},t.prototype.replace=function(e,n){return new t(this.parameters.filter(function(t){return t.parameterDef!==e}).concat({parameterDef:e,resolvedValue:n}))},t.prototype.getFormattedRouteId=function(){var t=this.getRouteIdParam();return t?t.parameterDef.type.format(t.resolvedValue):null},t.prototype.getRouteIdParam=function(){return this.parameters.find(function(t){return t.parameterDef.isRouteId})},t.prototype.getFormattedParameters=function(){var t={};this.parameters.filter(function(t){return!t.parameterDef.isRouteId}).forEach(function(e){t[e.parameterDef.name]=e.parameterDef.type.format(e.resolvedValue)});return t},t.prototype.hasRouteId=function(){return!!this.getRouteIdParam()},t.prototype.redirect=function(t,e,n){var r=this.getFormattedRouteId(),o=t.hasRouteId()?"..":".",i=r?[o,r,this.getFormattedParameters()]:[o,this.getFormattedParameters()];e.navigate(i,{relativeTo:n})},R([s.Trace(),D("design:type",Function),D("design:paramtypes",[]),D("design:returntype",void 0)],t.prototype,"getFormattedRouteId",null),R([s.Trace(),D("design:type",Function),D("design:paramtypes",[]),D("design:returntype",void 0)],t.prototype,"getFormattedParameters",null),R([s.Trace(),D("design:type",Function),D("design:paramtypes",[t,y.Router,y.ActivatedRoute]),D("design:returntype",void 0)],t.prototype,"redirect",null),t}();t.RouteParameterBindings=function(t){function e(n,r,o){var i=t.call(this)||this;i.component=n,i.router=r,i.activatedRoute=o,i._incomingRouteChange=new s.MutableValueModel(!1),i.resolvedParameters=new s.MutableValueModel;var a=s.Dsl.disposeWith(i),u=(a.chain,a.valueOf,a.before,a.when),c=(a.after,a.observe);i.txo=new s.TransactionObserver;var p=l.Klass.get(n).getMetadataList(e.ROUTE_PARAMETER_LIST_KEY);p.forEach(function(t){return i.installBinding(t)});var d=c.valuesFrom(o.paramMap).last().map(function(t){var e=[];return p.forEach(function(n){var r;r=n.isArray?t.getAll(n.name).map(function(t){return n.type.parse(t)}):n.type.parse(t.get(n.name)),e.push({parameterDef:n,resolvedValue:r})}),new pt(e)});return d.subscribe(function(t){i._incomingRouteChange.value=!0,i.resolvedParameters.value=t,i._incomingRouteChange.value=!1}),u.valueOf(i.resolvedParameters).changes(function(t,e){t.redirect(e,r,o)},{unless:i.incomingRouteChange}),i.txo.observe("incomingResolvedRouteParameters",d),i.txo.observe("this.routeIsChanging",i.incomingRouteChange),i}return M(e,t),Object.defineProperty(e.prototype,"incomingRouteChange",{get:function(){return this._incomingRouteChange.readonly},enumerable:!0,configurable:!0}),e.prototype.installBinding=function(t){var e=this.getModelFor(t);this.registerDisposable(new s.Binding(this.resolvedParameters,e,{toRight:function(e){return e.get(t)},toLeft:function(e,n){return n.replace(t,e)}}))},e.prototype.getModelFor=function(t){return this.component[t.propertyName]},e}(s.GarbageCollector),(t.RouteParameterBindings||(t.RouteParameterBindings={})).ROUTE_PARAMETER_LIST_KEY=Symbol("place:route:parameters");var dt=function(e){function n(n,r){var o=e.call(this)||this;return o.activatedRoute=n,o.routeBindingMediator=o.registerDisposable(new t.RouteParameterBindings(o,r,n)),o.titleModel.setDefault(o.placeConfig.title),o}return M(n,e),Object.defineProperty(n.prototype,"placeConfig",{get:function(){return lt.getDescriptor(this.constructor)},enumerable:!0,configurable:!0}),n.prototype.canDeactivate=function(){return!0},R([s.UseDelegate(),D("design:type",s.MutableValueModel)],n.prototype,"titleModel",void 0),R([v.Memoize(),D("design:type",lt.Descriptor),D("design:paramtypes",[])],n.prototype,"placeConfig",null),n}(T);var ft=function(){function t(t,e){this.router=t,this.injector=e}return t.prototype.canDeactivate=function(t,e,n,r){return t.canDeactivate()},t.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:y.Router},{type:n.Injector}]},t.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new t(n.ɵɵinject(y.Router),n.ɵɵinject(n.INJECTOR))},token:t,providedIn:"root"}),t}();t.Sanitiser=function(){function t(t,e,n){this.parameterDef=t,this.snapshot=e,this.sanitiser=n}return t.prototype.isRouteId=function(){return this.parameterDef.isRouteId},Object.defineProperty(t.prototype,"valueChanged",{get:function(){return!b.isNil(this.initialValue)&&this.hasChanged(this.initialValue,this.sanitisedValue)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sanitisedValue",{get:function(){return this._sanitisedValue},enumerable:!0,configurable:!0}),t.prototype.sanitize=function(){return O(this,void 0,void 0,function(){var t;return E(this,function(e){switch(e.label){case 0:return this.sanitiser?(this.initialValue=this.readFrom(this.snapshot),t=this,[4,this.sanitiser.sanitise(this.initialValue)]):[3,2];case 1:if(t._sanitisedValue=e.sent(),this.initialValue!==this._sanitisedValue)return[2,!1];e.label=2;case 2:return[2,!0]}})})},t}();var mt=function(){function e(e,n,r){var o=this;this.parameterDefs=e,this.snapshot=n,this.injector=r,this.parameterSanitisers=[];var i=e.map(function(e){return e.isArray?new t.Sanitiser.Array(e,n,o.getSanitiser(e)):new t.Sanitiser.Value(e,n,o.getSanitiser(e))});this.routeIdSanitiser=i.find(function(t){return t.isRouteId()}),this.parameterSanitisers=i.filter(function(t){return!t.isRouteId()})}return e.prototype.sanitise=function(){return O(this,void 0,void 0,function(){var t,e,n,r,o;return E(this,function(i){switch(i.label){case 0:return this.routeIdSanitiser?[4,this.routeIdSanitiser.sanitize()]:[3,2];case 1:if(i.sent(),this.routeIdSanitiser.valueChanged)return[2,!1];i.label=2;case 2:i.trys.push([2,7,8,9]),n=A(this.parameterSanitisers),r=n.next(),i.label=3;case 3:return r.done?[3,6]:[4,r.value.sanitize()];case 4:i.sent(),i.label=5;case 5:return r=n.next(),[3,3];case 6:return[3,9];case 7:return o=i.sent(),t={error:o},[3,9];case 8:try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}return[7];case 9:return[2,!this.parameterSanitisers.find(function(t){return t.valueChanged})]}})})},e.prototype.redirect=function(t){if(s.assert.isTruthy(0!==this.parameterSanitisers.length),this.routeIdSanitiser.valueChanged)return t.navigate(["..",this.routeIdSanitiser.sanitisedValue]);var e={};return this.parameterSanitisers.forEach(function(t){return t.injectRouteParam(e)}),t.navigate([".",e])},e.prototype.getSanitiser=function(t){return t.sanitiser?this.injector.get(t.sanitiser,new t.sanitiser):null},R([w.Memoize(),D("design:type",Function),D("design:paramtypes",[Object]),D("design:returntype",Object)],e.prototype,"getSanitiser",null),e}();(function(t){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return M(e,t),e.prototype.readFrom=function(t){var e=this.parameterDef.isRouteId?t.paramMap.get(this.parameterDef.name):t.queryParamMap.get(this.parameterDef.name);return this.parameterDef.type.parse(e)},e.prototype.hasChanged=function(t,e){return t!==e},e.prototype.injectRouteParam=function(t){t[this.parameterDef.name]=this.parameterDef.type.format(this.sanitisedValue)},e}(t);t.Value=e;var n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return M(e,t),e.prototype.readFrom=function(t){var e=this;return t.queryParamMap.getAll(this.parameterDef.name).map(function(t){return e.parameterDef.type.parse(t)})},e.prototype.hasChanged=function(t,e){return t!==e},e.prototype.injectRouteParam=function(t){var e=this;t[this.parameterDef.name]=this.sanitisedValue.map(function(t){return e.parameterDef.type.format(t)})},e}(t);t.Array=n})(t.Sanitiser||(t.Sanitiser={}));var yt,gt,ht,vt=function(){function e(t,e){this.router=t,this.injector=e}return e.prototype.canActivate=function(e,n){var r=this,o=l.Klass.get(e.component).getMetadataList(t.RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY),i=new mt(o,e,this.injector);return i.sanitise().then(function(t){return t||i.redirect(r.router),t})},e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:y.Router},{type:n.Injector}]},e.ngInjectableDef=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(y.Router),n.ɵɵinject(n.INJECTOR))},token:e,providedIn:"root"}),R([s.Trace(),D("design:type",Function),D("design:paramtypes",[y.ActivatedRouteSnapshot,y.RouterStateSnapshot]),D("design:returntype",Object)],e.prototype,"canActivate",null),e}();function bt(t,e,n,r){var o=l.Opts.get(n),i=s.assert.notNil(t).toString();return{name:o.getOptional("as",i),propertyName:i,type:s.assert.notNil(e),sanitiser:o.getOptional("sanitiser",null),isRouteId:r,isArray:!1}}function It(t,e,n){var r=l.Opts.get(n),o=s.assert.notNil(t).toString();return{name:r.getOptional("as",o),propertyName:o,type:s.assert.notNil(e),sanitiser:r.getOptional("listSanitiser",null),isRouteId:!1,isArray:!0}}yt=t.ParameterType||(t.ParameterType={}),gt=function(){function t(){}return t.prototype.format=function(t){return t},t.prototype.parse=function(t){return t},t}(),ht=function(){function t(){}return t.prototype.format=function(t){return""+t},t.prototype.parse=function(t){return+t},t}(),yt.STRING=new gt,yt.NUMBER=new ht,t.ACTIVITY_DATA=N,t.AbstractActivity=q,t.AbstractInputComponent=_,t.AbstractPlaceComponent=dt,t.ActivityContainerComponent=t.ɵq,t.ActivityOutletComponent=t.ɵx,t.AlertDialogComponent=K,t.AngularUiPowerupsModule=rt,t.BusyOverlayComponent=G,t.CommandDirective=j,t.ConfirmationDialogComponent=H,t.DialogInteractionService=X,t.Dimension=it,t.DisposableComponent=T,t.EmptyStateComponent=W,t.FocusBindingDirective=L,t.INTERACTION_CONTEXT=B,t.InteractionContext=V,t.InteractionModule=Y,t.LEFT_RIGHT_PLACE_ANIMATION=Q,t.LeavePlaceGuard=ft,t.NumberInputComponent=F,t.PasswordInputComponent=x,t.Place=lt,t.PlaceModule=nt,t.PlaceOutletComponent=tt,t.PlaceRouteGuard=vt,t.PlaceService=Z,t.Point=st,t.QueryParameter=function(e,n){return function(r,o){var i=bt(o,e,n,!1);l.Klass.get(r).addToOwnMetadataList(t.RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY,i),s.UseDelegate()(r,o)}},t.QueryParameterList=function(e,n){return function(r,o){var i=It(o,e,n);l.Klass.get(r).addToOwnMetadataList(t.RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY,i),s.UseDelegate()(r,o)}},t.ResizeAwareComponent=ut,t.RouteId=function(e,n){return function(r,o){var i=bt(o,e,n,!0);l.Klass.get(r).addToOwnMetadataList(t.RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY,i),s.UseDelegate()(r,o)}},t.RouteParameter=function(e,n){return function(r,o){var i=bt(o,e,n,!1);l.Klass.get(r).addToOwnMetadataList(t.RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY,i),s.UseDelegate()(r,o)}},t.RouteParameterList=function(e,n){return function(r,o){var i=It(o,e,n);l.Klass.get(r).addToOwnMetadataList(t.RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY,i),s.UseDelegate()(r,o)}},t.RouteParameterSanitiser=mt,t.SelectInputComponent=k,t.StringInputComponent=S,t.TabbedPlaceNavigationComponent=et,t.slideDownAndUpAnimation=function(t,e){s.OptionsHelper.get(e).getOptional("duration","100ms");var n=s.OptionsHelper.get(e).getOptional("hiddenStyleDef",ot);return g.trigger(t,[g.transition(":enter",[n,g.animate("100ms")]),g.transition(":leave",[g.animate("100ms",n)])])},t.ɵa=j,t.ɵb=L,t.ɵc=T,t.ɵd=F,t.ɵe=_,t.ɵf=S,t.ɵg=x,t.ɵh=k,t.ɵi=nt,t.ɵj=W,t.ɵk=G,t.ɵl=tt,t.ɵm=Q,t.ɵn=Z,t.ɵo=et,t.ɵp=Y,t.ɵr=H,t.ɵs=q,t.ɵt=N,t.ɵv=K,t.ɵy=X,t.ɵz=V,Object.defineProperty(t,"__esModule",{value:!0})});
2
+ //# sourceMappingURL=coolon-angular-ui-powerups.umd.min.js.map