@coolon/angular-ui-powerups 0.0.110 → 0.0.111

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 (456) hide show
  1. package/esm2015/coolon-angular-ui-powerups.js +1 -1
  2. package/esm2015/coolon-angular-ui-powerups.js.map +1 -0
  3. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -0
  4. package/esm2015/index.js +1 -1
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/index.metadata.json +1 -0
  7. package/esm2015/lib/angular-ui-powerups.module.js +1 -1
  8. package/esm2015/lib/angular-ui-powerups.module.js.map +1 -0
  9. package/esm2015/lib/angular-ui-powerups.module.metadata.json +1 -0
  10. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -0
  11. package/esm2015/lib/animations/index.js +1 -1
  12. package/esm2015/lib/animations/index.js.map +1 -0
  13. package/esm2015/lib/animations/index.metadata.json +1 -0
  14. package/esm2015/lib/animations/slide-animations.js +1 -1
  15. package/esm2015/lib/animations/slide-animations.js.map +1 -0
  16. package/esm2015/lib/animations/slide-animations.metadata.json +1 -0
  17. package/esm2015/lib/components/components.module.js +1 -1
  18. package/esm2015/lib/components/components.module.js.map +1 -0
  19. package/esm2015/lib/components/components.module.metadata.json +1 -0
  20. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -0
  21. package/esm2015/lib/components/disposable-component.js +1 -1
  22. package/esm2015/lib/components/disposable-component.js.map +1 -0
  23. package/esm2015/lib/components/disposable-component.metadata.json +1 -0
  24. package/esm2015/lib/components/forms/abstract-input.component.js +1 -1
  25. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -0
  26. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -0
  27. package/esm2015/lib/components/forms/number-input/number-input.component.js +1 -1
  28. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -0
  29. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -0
  30. package/esm2015/lib/components/forms/number-input/number-input.component.ngfactory.js.map +1 -0
  31. package/esm2015/lib/components/forms/number-input/number-input.component.scss.shim.ngstyle.js.map +1 -0
  32. package/esm2015/lib/components/forms/password-input/password-input.component.js +1 -1
  33. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -0
  34. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -0
  35. package/esm2015/lib/components/forms/password-input/password-input.component.ngfactory.js.map +1 -0
  36. package/esm2015/lib/components/forms/password-input/password-input.component.scss.shim.ngstyle.js.map +1 -0
  37. package/esm2015/lib/components/forms/select-input/select-input.component.js +1 -1
  38. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -0
  39. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -0
  40. package/esm2015/lib/components/forms/select-input/select-input.component.ngfactory.js.map +1 -0
  41. package/esm2015/lib/components/forms/select-input/select-input.component.scss.shim.ngstyle.js.map +1 -0
  42. package/esm2015/lib/components/forms/string-input/string-input.component.js +1 -1
  43. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -0
  44. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -0
  45. package/esm2015/lib/components/forms/string-input/string-input.component.ngfactory.js.map +1 -0
  46. package/esm2015/lib/components/forms/string-input/string-input.component.scss.shim.ngstyle.js.map +1 -0
  47. package/esm2015/lib/components/index.js +1 -1
  48. package/esm2015/lib/components/index.js.map +1 -0
  49. package/esm2015/lib/components/index.metadata.json +1 -0
  50. package/esm2015/lib/components/noop/noop.component.js +1 -1
  51. package/esm2015/lib/components/noop/noop.component.js.map +1 -0
  52. package/esm2015/lib/components/noop/noop.component.metadata.json +1 -0
  53. package/esm2015/lib/components/noop/noop.component.ngfactory.js.map +1 -0
  54. package/esm2015/lib/components/noop/noop.component.scss.shim.ngstyle.js.map +1 -0
  55. package/esm2015/lib/components/resize-aware.component.js +1 -1
  56. package/esm2015/lib/components/resize-aware.component.js.map +1 -0
  57. package/esm2015/lib/components/resize-aware.component.metadata.json +1 -0
  58. package/esm2015/lib/components/types/bounds.class.js +1 -1
  59. package/esm2015/lib/components/types/bounds.class.js.map +1 -0
  60. package/esm2015/lib/components/types/bounds.class.metadata.json +1 -0
  61. package/esm2015/lib/components/types/dimension.class.js +1 -1
  62. package/esm2015/lib/components/types/dimension.class.js.map +1 -0
  63. package/esm2015/lib/components/types/dimension.class.metadata.json +1 -0
  64. package/esm2015/lib/components/types/point.class.js +1 -1
  65. package/esm2015/lib/components/types/point.class.js.map +1 -0
  66. package/esm2015/lib/components/types/point.class.metadata.json +1 -0
  67. package/esm2015/lib/directives/command.directive.js +1 -1
  68. package/esm2015/lib/directives/command.directive.js.map +1 -0
  69. package/esm2015/lib/directives/command.directive.metadata.json +1 -0
  70. package/esm2015/lib/directives/command.directive.ngfactory.js.map +1 -0
  71. package/esm2015/lib/directives/directives.module.js +1 -1
  72. package/esm2015/lib/directives/directives.module.js.map +1 -0
  73. package/esm2015/lib/directives/directives.module.metadata.json +1 -0
  74. package/esm2015/lib/directives/directives.module.ngfactory.js.map +1 -0
  75. package/esm2015/lib/directives/focus-binding.directive.js +1 -1
  76. package/esm2015/lib/directives/focus-binding.directive.js.map +1 -0
  77. package/esm2015/lib/directives/focus-binding.directive.metadata.json +1 -0
  78. package/esm2015/lib/directives/focus-binding.directive.ngfactory.js.map +1 -0
  79. package/esm2015/lib/directives/index.js +1 -1
  80. package/esm2015/lib/directives/index.js.map +1 -0
  81. package/esm2015/lib/directives/index.metadata.json +1 -0
  82. package/esm2015/lib/interaction/abstract-activity.js +1 -1
  83. package/esm2015/lib/interaction/abstract-activity.js.map +1 -0
  84. package/esm2015/lib/interaction/abstract-activity.metadata.json +1 -0
  85. package/esm2015/lib/interaction/activity.js +1 -1
  86. package/esm2015/lib/interaction/activity.js.map +1 -0
  87. package/esm2015/lib/interaction/activity.metadata.json +1 -0
  88. package/esm2015/lib/interaction/alert.js +1 -1
  89. package/esm2015/lib/interaction/alert.js.map +1 -0
  90. package/esm2015/lib/interaction/alert.metadata.json +1 -0
  91. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +1 -1
  92. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -0
  93. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -0
  94. package/esm2015/lib/interaction/components/activity-container/activity-container.component.ngfactory.js.map +1 -0
  95. package/esm2015/lib/interaction/components/activity-container/activity-container.component.scss.shim.ngstyle.js.map +1 -0
  96. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js +1 -1
  97. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js.map +1 -0
  98. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.metadata.json +1 -0
  99. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +1 -1
  100. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js.map +1 -0
  101. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.metadata.json +1 -0
  102. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.ngfactory.js.map +1 -0
  103. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +1 -0
  104. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
  105. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -0
  106. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -0
  107. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.ngfactory.js.map +1 -0
  108. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.scss.shim.ngstyle.js.map +1 -0
  109. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +1 -1
  110. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -0
  111. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -0
  112. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.ngfactory.js.map +1 -0
  113. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.scss.shim.ngstyle.js.map +1 -0
  114. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
  115. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -0
  116. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -0
  117. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ngfactory.js.map +1 -0
  118. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.scss.shim.ngstyle.js.map +1 -0
  119. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +1 -1
  120. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js.map +1 -0
  121. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.metadata.json +1 -0
  122. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.ngfactory.js.map +1 -0
  123. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.scss.shim.ngstyle.js.map +1 -0
  124. package/esm2015/lib/interaction/confirm.js +1 -1
  125. package/esm2015/lib/interaction/confirm.js.map +1 -0
  126. package/esm2015/lib/interaction/confirm.metadata.json +1 -0
  127. package/esm2015/lib/interaction/index.js +1 -1
  128. package/esm2015/lib/interaction/index.js.map +1 -0
  129. package/esm2015/lib/interaction/index.metadata.json +1 -0
  130. package/esm2015/lib/interaction/interaction-context-base.js +1 -1
  131. package/esm2015/lib/interaction/interaction-context-base.js.map +1 -0
  132. package/esm2015/lib/interaction/interaction-context-base.metadata.json +1 -0
  133. package/esm2015/lib/interaction/interaction-context.js +1 -1
  134. package/esm2015/lib/interaction/interaction-context.js.map +1 -0
  135. package/esm2015/lib/interaction/interaction-context.metadata.json +1 -0
  136. package/esm2015/lib/interaction/interaction.module.js +1 -1
  137. package/esm2015/lib/interaction/interaction.module.js.map +1 -0
  138. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -0
  139. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -0
  140. package/esm2015/lib/interaction/result.js +1 -1
  141. package/esm2015/lib/interaction/result.js.map +1 -0
  142. package/esm2015/lib/interaction/result.metadata.json +1 -0
  143. package/esm2015/lib/interaction/services/interaction.service.js +1 -1
  144. package/esm2015/lib/interaction/services/interaction.service.js.map +1 -0
  145. package/esm2015/lib/interaction/services/interaction.service.metadata.json +1 -0
  146. package/esm2015/lib/interaction/services/interaction.service.ngfactory.js.map +1 -0
  147. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +1 -1
  148. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -0
  149. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.metadata.json +1 -0
  150. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.ngfactory.js.map +1 -0
  151. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +1 -1
  152. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -0
  153. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.metadata.json +1 -0
  154. package/esm2015/lib/interaction/services/modal-interaction-context.factory.js +1 -1
  155. package/esm2015/lib/interaction/services/modal-interaction-context.factory.js.map +1 -0
  156. package/esm2015/lib/interaction/services/modal-interaction-context.factory.metadata.json +1 -0
  157. package/esm2015/lib/place/components/abstract-place-navigation.component.js +1 -1
  158. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -0
  159. package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -0
  160. package/esm2015/lib/place/components/abstract-place-navigation.component.ngfactory.js.map +1 -0
  161. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +1 -1
  162. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -0
  163. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.metadata.json +1 -0
  164. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.ngfactory.js.map +1 -0
  165. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.scss.shim.ngstyle.js.map +1 -0
  166. package/esm2015/lib/place/components/empty-state/empty-state.component.js +1 -1
  167. package/esm2015/lib/place/components/empty-state/empty-state.component.js.map +1 -0
  168. package/esm2015/lib/place/components/empty-state/empty-state.component.metadata.json +1 -0
  169. package/esm2015/lib/place/components/empty-state/empty-state.component.ngfactory.js.map +1 -0
  170. package/esm2015/lib/place/components/empty-state/empty-state.component.scss.shim.ngstyle.js.map +1 -0
  171. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  172. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -0
  173. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -0
  174. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.ngfactory.js.map +1 -0
  175. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.scss.shim.ngstyle.js.map +1 -0
  176. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +1 -1
  177. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -0
  178. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -0
  179. package/esm2015/lib/place/components/place-outlet/place-outlet.component.ngfactory.js.map +1 -0
  180. package/esm2015/lib/place/components/place-outlet/place-outlet.component.scss.shim.ngstyle.js.map +1 -0
  181. package/esm2015/lib/place/components/place-outlet/route-animations.js +1 -1
  182. package/esm2015/lib/place/components/place-outlet/route-animations.js.map +1 -0
  183. package/esm2015/lib/place/components/place-outlet/route-animations.metadata.json +1 -0
  184. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  185. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -0
  186. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -0
  187. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ngfactory.js.map +1 -0
  188. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.scss.shim.ngstyle.js.map +1 -0
  189. package/esm2015/lib/place/guards/consolidated-param-map.js +1 -1
  190. package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -0
  191. package/esm2015/lib/place/guards/consolidated-param-map.metadata.json +1 -0
  192. package/esm2015/lib/place/guards/navigation-state.js +1 -1
  193. package/esm2015/lib/place/guards/navigation-state.js.map +1 -0
  194. package/esm2015/lib/place/guards/navigation-state.metadata.json +1 -0
  195. package/esm2015/lib/place/guards/noop-auth-guard.service.js +1 -1
  196. package/esm2015/lib/place/guards/noop-auth-guard.service.js.map +1 -0
  197. package/esm2015/lib/place/guards/noop-auth-guard.service.metadata.json +1 -0
  198. package/esm2015/lib/place/guards/noop-auth-guard.service.ngfactory.js.map +1 -0
  199. package/esm2015/lib/place/guards/place-component-deactivation-handler.js +1 -1
  200. package/esm2015/lib/place/guards/place-component-deactivation-handler.js.map +1 -0
  201. package/esm2015/lib/place/guards/place-component-deactivation-handler.metadata.json +1 -0
  202. package/esm2015/lib/place/guards/place.guard.js +1 -1
  203. package/esm2015/lib/place/guards/place.guard.js.map +1 -0
  204. package/esm2015/lib/place/guards/place.guard.metadata.json +1 -0
  205. package/esm2015/lib/place/index.js +1 -1
  206. package/esm2015/lib/place/index.js.map +1 -0
  207. package/esm2015/lib/place/index.metadata.json +1 -0
  208. package/esm2015/lib/place/nav-item.js +1 -1
  209. package/esm2015/lib/place/nav-item.js.map +1 -0
  210. package/esm2015/lib/place/nav-item.metadata.json +1 -0
  211. package/esm2015/lib/place/place-component.js +1 -1
  212. package/esm2015/lib/place/place-component.js.map +1 -0
  213. package/esm2015/lib/place/place-component.metadata.json +1 -0
  214. package/esm2015/lib/place/place-config.js +1 -1
  215. package/esm2015/lib/place/place-config.js.map +1 -0
  216. package/esm2015/lib/place/place-config.metadata.json +1 -0
  217. package/esm2015/lib/place/place-definition.js +1 -1
  218. package/esm2015/lib/place/place-definition.js.map +1 -0
  219. package/esm2015/lib/place/place-definition.metadata.json +1 -0
  220. package/esm2015/lib/place/place-history.js +1 -1
  221. package/esm2015/lib/place/place-history.js.map +1 -0
  222. package/esm2015/lib/place/place-history.metadata.json +1 -0
  223. package/esm2015/lib/place/place-history.ngfactory.js.map +1 -0
  224. package/esm2015/lib/place/place-router.js +1 -1
  225. package/esm2015/lib/place/place-router.js.map +1 -0
  226. package/esm2015/lib/place/place-router.metadata.json +1 -0
  227. package/esm2015/lib/place/place-router.ngfactory.js.map +1 -0
  228. package/esm2015/lib/place/place.decorator.js +1 -1
  229. package/esm2015/lib/place/place.decorator.js.map +1 -0
  230. package/esm2015/lib/place/place.decorator.metadata.json +1 -0
  231. package/esm2015/lib/place/place.module.js +1 -1
  232. package/esm2015/lib/place/place.module.js.map +1 -0
  233. package/esm2015/lib/place/place.module.metadata.json +1 -0
  234. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -0
  235. package/esm2015/lib/place/route/formatter.js +1 -1
  236. package/esm2015/lib/place/route/formatter.js.map +1 -0
  237. package/esm2015/lib/place/route/formatter.metadata.json +1 -0
  238. package/esm2015/lib/place/route/json-types.js +1 -1
  239. package/esm2015/lib/place/route/json-types.js.map +1 -0
  240. package/esm2015/lib/place/route/json-types.metadata.json +1 -0
  241. package/esm2015/lib/place/route/parameter-decorators.js +1 -1
  242. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -0
  243. package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -0
  244. package/esm2015/lib/place/route/parameter-definition.class.js +1 -1
  245. package/esm2015/lib/place/route/parameter-definition.class.js.map +1 -0
  246. package/esm2015/lib/place/route/parameter-definition.class.metadata.json +1 -0
  247. package/esm2015/lib/place/route/parameter-sanitiser.js +1 -1
  248. package/esm2015/lib/place/route/parameter-sanitiser.js.map +1 -0
  249. package/esm2015/lib/place/route/parameter-sanitiser.metadata.json +1 -0
  250. package/esm2015/lib/place/route/parameter-snapshot.js +1 -1
  251. package/esm2015/lib/place/route/parameter-snapshot.js.map +1 -0
  252. package/esm2015/lib/place/route/parameter-snapshot.metadata.json +1 -0
  253. package/esm2015/lib/place/route/visit-sanitiser.js +1 -1
  254. package/esm2015/lib/place/route/visit-sanitiser.js.map +1 -0
  255. package/esm2015/lib/place/route/visit-sanitiser.metadata.json +1 -0
  256. package/esm2015/lib/place/url-snapshot.js +1 -1
  257. package/esm2015/lib/place/url-snapshot.js.map +1 -0
  258. package/esm2015/lib/place/url-snapshot.metadata.json +1 -0
  259. package/esm2015/lib/place/visit.js +1 -1
  260. package/esm2015/lib/place/visit.js.map +1 -0
  261. package/esm2015/lib/place/visit.metadata.json +1 -0
  262. package/esm2015/public_api.js +1 -1
  263. package/esm2015/public_api.js.map +1 -0
  264. package/esm2015/public_api.metadata.json +1 -0
  265. package/esm5/coolon-angular-ui-powerups.js +1 -1
  266. package/esm5/coolon-angular-ui-powerups.js.map +1 -0
  267. package/esm5/index.js +1 -1
  268. package/esm5/index.js.map +1 -0
  269. package/esm5/lib/angular-ui-powerups.module.js +1 -1
  270. package/esm5/lib/angular-ui-powerups.module.js.map +1 -0
  271. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -0
  272. package/esm5/lib/animations/index.js +1 -1
  273. package/esm5/lib/animations/index.js.map +1 -0
  274. package/esm5/lib/animations/slide-animations.js +1 -1
  275. package/esm5/lib/animations/slide-animations.js.map +1 -0
  276. package/esm5/lib/components/components.module.js +1 -1
  277. package/esm5/lib/components/components.module.js.map +1 -0
  278. package/esm5/lib/components/components.module.ngfactory.js.map +1 -0
  279. package/esm5/lib/components/disposable-component.js +1 -1
  280. package/esm5/lib/components/disposable-component.js.map +1 -0
  281. package/esm5/lib/components/forms/abstract-input.component.js +1 -1
  282. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -0
  283. package/esm5/lib/components/forms/number-input/number-input.component.js +1 -1
  284. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -0
  285. package/esm5/lib/components/forms/number-input/number-input.component.ngfactory.js.map +1 -0
  286. package/esm5/lib/components/forms/number-input/number-input.component.scss.shim.ngstyle.js.map +1 -0
  287. package/esm5/lib/components/forms/password-input/password-input.component.js +1 -1
  288. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -0
  289. package/esm5/lib/components/forms/password-input/password-input.component.ngfactory.js.map +1 -0
  290. package/esm5/lib/components/forms/password-input/password-input.component.scss.shim.ngstyle.js.map +1 -0
  291. package/esm5/lib/components/forms/select-input/select-input.component.js +1 -1
  292. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -0
  293. package/esm5/lib/components/forms/select-input/select-input.component.ngfactory.js.map +1 -0
  294. package/esm5/lib/components/forms/select-input/select-input.component.scss.shim.ngstyle.js.map +1 -0
  295. package/esm5/lib/components/forms/string-input/string-input.component.js +1 -1
  296. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -0
  297. package/esm5/lib/components/forms/string-input/string-input.component.ngfactory.js.map +1 -0
  298. package/esm5/lib/components/forms/string-input/string-input.component.scss.shim.ngstyle.js.map +1 -0
  299. package/esm5/lib/components/index.js +1 -1
  300. package/esm5/lib/components/index.js.map +1 -0
  301. package/esm5/lib/components/noop/noop.component.js +1 -1
  302. package/esm5/lib/components/noop/noop.component.js.map +1 -0
  303. package/esm5/lib/components/noop/noop.component.ngfactory.js.map +1 -0
  304. package/esm5/lib/components/noop/noop.component.scss.shim.ngstyle.js.map +1 -0
  305. package/esm5/lib/components/resize-aware.component.js +1 -1
  306. package/esm5/lib/components/resize-aware.component.js.map +1 -0
  307. package/esm5/lib/components/types/bounds.class.js +1 -1
  308. package/esm5/lib/components/types/bounds.class.js.map +1 -0
  309. package/esm5/lib/components/types/dimension.class.js +1 -1
  310. package/esm5/lib/components/types/dimension.class.js.map +1 -0
  311. package/esm5/lib/components/types/point.class.js +1 -1
  312. package/esm5/lib/components/types/point.class.js.map +1 -0
  313. package/esm5/lib/directives/command.directive.js +1 -1
  314. package/esm5/lib/directives/command.directive.js.map +1 -0
  315. package/esm5/lib/directives/command.directive.ngfactory.js.map +1 -0
  316. package/esm5/lib/directives/directives.module.js +1 -1
  317. package/esm5/lib/directives/directives.module.js.map +1 -0
  318. package/esm5/lib/directives/directives.module.ngfactory.js.map +1 -0
  319. package/esm5/lib/directives/focus-binding.directive.js +1 -1
  320. package/esm5/lib/directives/focus-binding.directive.js.map +1 -0
  321. package/esm5/lib/directives/focus-binding.directive.ngfactory.js.map +1 -0
  322. package/esm5/lib/directives/index.js +1 -1
  323. package/esm5/lib/directives/index.js.map +1 -0
  324. package/esm5/lib/interaction/abstract-activity.js +1 -1
  325. package/esm5/lib/interaction/abstract-activity.js.map +1 -0
  326. package/esm5/lib/interaction/activity.js +1 -1
  327. package/esm5/lib/interaction/activity.js.map +1 -0
  328. package/esm5/lib/interaction/alert.js +1 -1
  329. package/esm5/lib/interaction/alert.js.map +1 -0
  330. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +1 -1
  331. package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -0
  332. package/esm5/lib/interaction/components/activity-container/activity-container.component.ngfactory.js.map +1 -0
  333. package/esm5/lib/interaction/components/activity-container/activity-container.component.scss.shim.ngstyle.js.map +1 -0
  334. package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js +1 -1
  335. package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js.map +1 -0
  336. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +1 -1
  337. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js.map +1 -0
  338. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.ngfactory.js.map +1 -0
  339. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +1 -0
  340. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
  341. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -0
  342. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.ngfactory.js.map +1 -0
  343. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.scss.shim.ngstyle.js.map +1 -0
  344. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +1 -1
  345. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -0
  346. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.ngfactory.js.map +1 -0
  347. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.scss.shim.ngstyle.js.map +1 -0
  348. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
  349. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -0
  350. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ngfactory.js.map +1 -0
  351. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.scss.shim.ngstyle.js.map +1 -0
  352. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +1 -1
  353. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js.map +1 -0
  354. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.ngfactory.js.map +1 -0
  355. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.scss.shim.ngstyle.js.map +1 -0
  356. package/esm5/lib/interaction/confirm.js +1 -1
  357. package/esm5/lib/interaction/confirm.js.map +1 -0
  358. package/esm5/lib/interaction/index.js +1 -1
  359. package/esm5/lib/interaction/index.js.map +1 -0
  360. package/esm5/lib/interaction/interaction-context-base.js +1 -1
  361. package/esm5/lib/interaction/interaction-context-base.js.map +1 -0
  362. package/esm5/lib/interaction/interaction-context.js +1 -1
  363. package/esm5/lib/interaction/interaction-context.js.map +1 -0
  364. package/esm5/lib/interaction/interaction.module.js +1 -1
  365. package/esm5/lib/interaction/interaction.module.js.map +1 -0
  366. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -0
  367. package/esm5/lib/interaction/result.js +1 -1
  368. package/esm5/lib/interaction/result.js.map +1 -0
  369. package/esm5/lib/interaction/services/interaction.service.js +1 -1
  370. package/esm5/lib/interaction/services/interaction.service.js.map +1 -0
  371. package/esm5/lib/interaction/services/interaction.service.ngfactory.js.map +1 -0
  372. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +1 -1
  373. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -0
  374. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.ngfactory.js.map +1 -0
  375. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +1 -1
  376. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -0
  377. package/esm5/lib/interaction/services/modal-interaction-context.factory.js +1 -1
  378. package/esm5/lib/interaction/services/modal-interaction-context.factory.js.map +1 -0
  379. package/esm5/lib/place/components/abstract-place-navigation.component.js +1 -1
  380. package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -0
  381. package/esm5/lib/place/components/abstract-place-navigation.component.ngfactory.js.map +1 -0
  382. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +1 -1
  383. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -0
  384. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.ngfactory.js.map +1 -0
  385. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.scss.shim.ngstyle.js.map +1 -0
  386. package/esm5/lib/place/components/empty-state/empty-state.component.js +1 -1
  387. package/esm5/lib/place/components/empty-state/empty-state.component.js.map +1 -0
  388. package/esm5/lib/place/components/empty-state/empty-state.component.ngfactory.js.map +1 -0
  389. package/esm5/lib/place/components/empty-state/empty-state.component.scss.shim.ngstyle.js.map +1 -0
  390. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  391. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -0
  392. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.ngfactory.js.map +1 -0
  393. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.scss.shim.ngstyle.js.map +1 -0
  394. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +1 -1
  395. package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -0
  396. package/esm5/lib/place/components/place-outlet/place-outlet.component.ngfactory.js.map +1 -0
  397. package/esm5/lib/place/components/place-outlet/place-outlet.component.scss.shim.ngstyle.js.map +1 -0
  398. package/esm5/lib/place/components/place-outlet/route-animations.js +1 -1
  399. package/esm5/lib/place/components/place-outlet/route-animations.js.map +1 -0
  400. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  401. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -0
  402. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ngfactory.js.map +1 -0
  403. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.scss.shim.ngstyle.js.map +1 -0
  404. package/esm5/lib/place/guards/consolidated-param-map.js +1 -1
  405. package/esm5/lib/place/guards/consolidated-param-map.js.map +1 -0
  406. package/esm5/lib/place/guards/navigation-state.js +1 -1
  407. package/esm5/lib/place/guards/navigation-state.js.map +1 -0
  408. package/esm5/lib/place/guards/noop-auth-guard.service.js +1 -1
  409. package/esm5/lib/place/guards/noop-auth-guard.service.js.map +1 -0
  410. package/esm5/lib/place/guards/noop-auth-guard.service.ngfactory.js.map +1 -0
  411. package/esm5/lib/place/guards/place-component-deactivation-handler.js +1 -1
  412. package/esm5/lib/place/guards/place-component-deactivation-handler.js.map +1 -0
  413. package/esm5/lib/place/guards/place.guard.js +1 -1
  414. package/esm5/lib/place/guards/place.guard.js.map +1 -0
  415. package/esm5/lib/place/index.js +1 -1
  416. package/esm5/lib/place/index.js.map +1 -0
  417. package/esm5/lib/place/nav-item.js +1 -1
  418. package/esm5/lib/place/nav-item.js.map +1 -0
  419. package/esm5/lib/place/place-component.js +1 -1
  420. package/esm5/lib/place/place-component.js.map +1 -0
  421. package/esm5/lib/place/place-config.js +1 -1
  422. package/esm5/lib/place/place-config.js.map +1 -0
  423. package/esm5/lib/place/place-definition.js +1 -1
  424. package/esm5/lib/place/place-definition.js.map +1 -0
  425. package/esm5/lib/place/place-history.js +1 -1
  426. package/esm5/lib/place/place-history.js.map +1 -0
  427. package/esm5/lib/place/place-history.ngfactory.js.map +1 -0
  428. package/esm5/lib/place/place-router.js +1 -1
  429. package/esm5/lib/place/place-router.js.map +1 -0
  430. package/esm5/lib/place/place-router.ngfactory.js.map +1 -0
  431. package/esm5/lib/place/place.decorator.js +1 -1
  432. package/esm5/lib/place/place.decorator.js.map +1 -0
  433. package/esm5/lib/place/place.module.js +1 -1
  434. package/esm5/lib/place/place.module.js.map +1 -0
  435. package/esm5/lib/place/place.module.ngfactory.js.map +1 -0
  436. package/esm5/lib/place/route/formatter.js +1 -1
  437. package/esm5/lib/place/route/formatter.js.map +1 -0
  438. package/esm5/lib/place/route/json-types.js +1 -1
  439. package/esm5/lib/place/route/json-types.js.map +1 -0
  440. package/esm5/lib/place/route/parameter-decorators.js +1 -1
  441. package/esm5/lib/place/route/parameter-decorators.js.map +1 -0
  442. package/esm5/lib/place/route/parameter-definition.class.js +1 -1
  443. package/esm5/lib/place/route/parameter-definition.class.js.map +1 -0
  444. package/esm5/lib/place/route/parameter-sanitiser.js +1 -1
  445. package/esm5/lib/place/route/parameter-sanitiser.js.map +1 -0
  446. package/esm5/lib/place/route/parameter-snapshot.js +1 -1
  447. package/esm5/lib/place/route/parameter-snapshot.js.map +1 -0
  448. package/esm5/lib/place/route/visit-sanitiser.js +1 -1
  449. package/esm5/lib/place/route/visit-sanitiser.js.map +1 -0
  450. package/esm5/lib/place/url-snapshot.js +1 -1
  451. package/esm5/lib/place/url-snapshot.js.map +1 -0
  452. package/esm5/lib/place/visit.js +1 -1
  453. package/esm5/lib/place/visit.js.map +1 -0
  454. package/esm5/public_api.js +1 -1
  455. package/esm5/public_api.js.map +1 -0
  456. package/package.json +6 -6
@@ -447,4 +447,4 @@ if (false) {
447
447
  /** @type {?} */
448
448
  PlaceOutletComponent.prototype.placeConfig;
449
449
  }
450
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFrQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUdMLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsS0FBSyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFlLE1BQU0sb0JBQW9CLENBQUM7QUFFbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBR2hFLHVCQU1DOzs7SUFMQyxtQ0FBeUM7Ozs7O0lBRXpDLDZEQUFtRDs7OztJQUVuRCxrREFBcUI7O0FBR3ZCO0lBTTBDLGdEQUFtQjtJQXNDM0QsOEJBQTZCLE1BQWMsRUFDZCxXQUF3QixFQUNNLFdBQXdCLEVBQy9DLFlBQWtDO1FBSHRFLFlBSUUsaUJBQU8sU0E4Q1I7UUFsRDRCLFlBQU0sR0FBTixNQUFNLENBQVE7UUFD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QUN3Qjs7Ozs7SUFFeEIsNENBQXdFOzs7OztJQUN4RSxzREFBNEU7Ozs7O0lBRTVFLG1EQUFtRDs7Ozs7SUFDbkQscURBQXFEOzs7OztJQUNyRCwrQ0FBeUQ7Ozs7O0lBQ3pELG1EQUFtRDs7Ozs7SUFDbkQsb0RBQWdGOzs7OztJQUVoRixnREFBNkU7Ozs7O0lBQzdFLGlEQUFtRTs7SUFDbkUsbURBQTZEOzs7OztJQUU3RCxpREFBeUM7Ozs7O0lBQ3pDLDJDQUE0Qzs7Ozs7SUFFaEMsc0NBQStCOzs7OztJQUMvQiwyQ0FBeUM7O0lBQ3pDLDJDQUF1RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsIFNraXBTZWxmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRHNsLFxuICBHdWFyZCxcbiAgTGlzdE1vZGVsLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgU3RvcmVJbkxpc3RNb2RlbCxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFVzZURlbGVnYXRlLFxuICBWYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQVVQX1BMQUNFX0NPTkZJRywgUGxhY2VDb25maWcgfSBmcm9tICcuLi8uLi9wbGFjZS1jb25maWcnO1xuaW1wb3J0IHsgUGxhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gJy4uLy4uL3BsYWNlLXJvdXRlcic7XG5cbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vLi4vdmlzaXQnO1xuaW1wb3J0IHsgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gfSBmcm9tICcuL3JvdXRlLWFuaW1hdGlvbnMnO1xuXG4vLyBRdWljayBoYWNrIHRvIGF2b2lkIGNpcmN1bGFyIHJlZmVyZW5jZXMgYmV0d2VlbiB0aGlzIGFuZCBQbGFjZUNvbXBvbmVudHMuXG5pbnRlcmZhY2UgUGxhY2VSZWYge1xuICByZWFkb25seSBwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvblxuXG4gIGluaXRpYWxpc2VCaW5kaW5ncyhwYXJhbTogVmFsdWVNb2RlbDxWaXNpdD4pOiB2b2lkO1xuXG4gIG9uUGxhY2VSZWFkeSgpOiB2b2lkO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtcGxhY2Utb3V0bGV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYWNlLW91dGxldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BsYWNlLW91dGxldC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT05dXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlT3V0bGV0Q29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5WYWx1ZU1vZGVsKCdhbmltYXRlTW9kZWwnKVxuICBhbmltYXRlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIEBVc2VEZWxlZ2F0ZSh7IGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuICBhbmltYXRlTW9kZWw6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3BsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpIEBVc2VEZWxlZ2F0ZSgpXG4gIGN1c3RvbVBsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbDogTGlzdE1vZGVsPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+PjtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgncGxhY2VBbmltYXRpb25PcmRlcicpIEBTdG9yZUluTGlzdE1vZGVsKCdjdXN0b21QbGFjZUFuaW1hdGlvbk9yZGVyTW9kZWwnKVxuICBjdXN0b21QbGFjZUFuaW1hdGlvbk9yZGVyOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PltdO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBwbGFjZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBsYWNlQ29tcG9uZW50PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3JvdXRlT3V0bGV0JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcm91dGVyT3V0OiBSb3V0ZXJPdXRsZXQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlUGxhY2UgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlVmlzaXRNb2RlbCA9IG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxWaXNpdD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbk91dGxldEFjdGl2YXRpb24gPSBuZXcgR3VhcmQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5PdXRsZXREZWFjdGl2YXRpb24gPSBuZXcgR3VhcmQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5PdXRsZXRVcGRhdGU6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luUm91dGVWaXNpdFVwZGF0ZSA9IG5ldyBHdWFyZCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmF0ZWRSb3V0ZU1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEFjdGl2YXRlZFJvdXRlPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3BsYWNlRGVmaW5pdGlvbiA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxQbGFjZURlZmluaXRpb24+KCk7XG4gIHByaXZhdGUgcGFyZW50T3V0bGV0TW9kZWw6IE11dGFibGVWYWx1ZU1vZGVsPFBsYWNlT3V0bGV0Q29tcG9uZW50PjtcbiAgcHVibGljIHJlYWRvbmx5IHBsYWNlQW5pbWF0aW9uT3JkZXI6IFZhbHVlTW9kZWxDaGFpbjxudW1iZXI+O1xuXG4gIHByaXZhdGUgaW5pdGlhbFBsYWNlSW5kZXg6IG51bWJlciA9IG51bGw7XG4gIHByaXZhdGUgcm91dGVyVmlzaXQ6IFZhbHVlTW9kZWxDaGFpbjxWaXNpdD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVVQX1BMQUNFX0NPTkZJRykgcmVhZG9ubHkgcGxhY2VDb25maWc6IFBsYWNlQ29uZmlnLFxuICAgICAgICAgICAgICBAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSBwYXJlbnRPdXRsZXQ6IFBsYWNlT3V0bGV0Q29tcG9uZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgdGhpcy5wYXJlbnRPdXRsZXRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChwYXJlbnRPdXRsZXQpO1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlVmlzaXRNb2RlbC5zZXREZWxlZ2F0ZShuZXcgTXV0YWJsZVZhbHVlTW9kZWw8VmlzaXQ+KCkpO1xuICAgIHRoaXMuX2luT3V0bGV0VXBkYXRlID0gdmFsdWVPZi5hbnkodGhpcy5faW5PdXRsZXREZWFjdGl2YXRpb24sIHRoaXMuX2luT3V0bGV0QWN0aXZhdGlvbikuYXJlVHJ1dGh5KCk7XG5cbiAgICBjb25zdCBkZWZhdWx0UGxhY2VBbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMucGFyZW50T3V0bGV0TW9kZWwpXG4gICAgICAucHVsbFZhbHVlTW9kZWwobyA9PiBvLmFjdGl2ZVBsYWNlTW9kZWwpXG4gICAgICAucGx1Y2soJ3BsYWNlRGVmaW5pdGlvbicpXG4gICAgICAucGx1Y2tMaXN0KCdjaGlsZHJlbicpXG4gICAgICAucGx1Y2soJ2NvbXBvbmVudCcpO1xuXG4gICAgY29uc3QgYWN0aXZhdGVQbGFjZVR5cGUgPSBjaGFpbih0aGlzLmFjdGl2ZVBsYWNlTW9kZWwpLm1hcChwID0+IHAuY29uc3RydWN0b3IgYXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pO1xuICAgIHRoaXMucGxhY2VBbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMuY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlck1vZGVsKVxuICAgICAgLm90aGVyd2lzZShkZWZhdWx0UGxhY2VBbmltYXRpb25PcmRlcilcbiAgICAgIC5yZWR1Y2UoKHBsYWNlc0luT3JkZXIpID0+IHtcbiAgICAgICAgbGV0IHBsYWNlSW5kZXggPSAwO1xuICAgICAgICBpZiAoYWN0aXZhdGVQbGFjZVR5cGUudmFsdWUpIHtcbiAgICAgICAgICBwbGFjZUluZGV4ID0gcGxhY2VzSW5PcmRlci5pbmRleE9mKGFjdGl2YXRlUGxhY2VUeXBlLnZhbHVlKTtcbiAgICAgICAgICBpZiAoXy5pc05pbCh0aGlzLmluaXRpYWxQbGFjZUluZGV4KSkge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsUGxhY2VJbmRleCA9IHBsYWNlSW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfLmlzTmlsKHRoaXMuaW5pdGlhbFBsYWNlSW5kZXgpID8gMCA6IHBsYWNlSW5kZXggLSB0aGlzLmluaXRpYWxQbGFjZUluZGV4O1xuICAgICAgfSwgeyBkZXBlbmRzT246IGFjdGl2YXRlUGxhY2VUeXBlIH0pO1xuXG4gICAgLy8gUHVzaCBpbmNvbWluZyBjaGFuZ2VzIGludG8gdGhlIGNvbXBvbmVudFxuICAgIHRoaXMucm91dGVyVmlzaXQgPSBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZSkucGx1Y2soJ3BsYWNlRGVmaW5pdGlvbicpLmZpbmRJbihwbGFjZVJvdXRlci5hY3RpdmVWaXNpdEluZGV4KTtcbiAgICAvLyBPdXIgcm91dGVyIHZpc2l0IHdpbGwgY2hhbmdlIHdoZW4gb3VyIGFjdGl2ZSBpcyBudWxsaWZpZWQgZHVyaW5nIGRlYWN0aXZhdGlvbiwgd2hpY2ggd2lsbCBwdXNoIGEgbnVsbCB2aXNpdFxuICAgIC8vIHRoZSB0aGUgZGVhY3RpdmF0ZWQgY29tcG9uZW50LCB3aGljaCB3aWxsIG51a2UgaXQncyB2aWV3IGJlZm9yZSB0aGUgYW5pbWF0aW9ucyBoYXZlIGZpbmlzaGVkLlxuICAgIC8vIFRoZSB2aXNpdCB3aWxsIGFsd2F5IHVwZGF0ZWQgYWZ0ZXIgdGhlIHJvdXRlciBzZXNzaW9uIGlzIGZpbnNpc2VkICh3aGVuIHRoZSBuZXcgdmlzaXRzIGFyZSByZWdpc3RlcmVkKSBzb1xuICAgIC8vIHdlIGNhbiBzYWZlbHkgaWdub3JlIGl0IGR1cmluZyBvdXRsZXQgY2hhbmdlcyBhcyB0aGVzZSBhbHdheXMgaGFwcGVuIGJlZm9yZSB0aGUgcm91dGVyIHNlc3Npb24gZW5kcy5cbiAgICB3aGVuLnZhbHVlT2YodGhpcy5yb3V0ZXJWaXNpdCkuY2hhbmdlcygoKSA9PiB0aGlzLnB1c2hSb3V0ZUNoYW5nZXNUb1Zpc2l0KCksIHsgdW5sZXNzOiB0aGlzLl9pbk91dGxldFVwZGF0ZSB9KTtcblxuICAgIC8vIEhhbmRsZSBjb21wb25lbnQgYmFzZWQgY2hhbmdlc1xuICAgIHdoZW4udmFsdWVPZih0aGlzLl9hY3RpdmVQbGFjZVZpc2l0TW9kZWwpLmNoYW5nZXMoKG5leHQsIHByZXZpb3VzKSA9PiB7XG4gICAgICB0aGlzLnB1c2hWaXNpdENoYW5nZXNUb1JvdXRlKG5leHQsIHByZXZpb3VzKTtcbiAgICB9LCB7XG4gICAgICB1bmxlc3M6IHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvbkluUHJvZ3Jlc3NcbiAgICB9KTtcblxuICAgIGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlKVxuICAgICAgLnBvc3Rwb25lV2hpbGUocGxhY2VSb3V0ZXIubmF2aWdhdGlvbkluUHJvZ3Jlc3MpXG4gICAgICAuc3Vic2NyaWJlKHBsYWNlID0+IHRoaXMucGxhY2VDaGFuZ2VkLmVtaXQocGxhY2UpKTtcblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBnZXRBbmltYXRpb25PcmRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZUFuaW1hdGlvbk9yZGVyLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGFuaW1hdGlvbkR1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnBsYWNlQ29uZmlnICYmIHRoaXMucGxhY2VDb25maWcuYW5pbWF0aW9uRHVyYXRpb24gPyB0aGlzLnBsYWNlQ29uZmlnLmFuaW1hdGlvbkR1cmF0aW9uIDogJzUwMG1zJztcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG5hdmlnYXRlKHZpc2l0OiBWaXNpdCkge1xuICAgIC8vIGNvbnNvbGUubG9nKHsgYWN0aXZhdGVkUm91dGU6IHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgfSk7XG4gICAgdGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0ZSh2aXNpdCwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5wYXJlbnRPdXRsZXQgPyB0aGlzLnBhcmVudE91dGxldC5hY3RpdmF0ZWRSb3V0ZU1vZGVsLnZhbHVlIDogbnVsbFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHBhcmVudE91dGxldCgpOiBQbGFjZU91dGxldENvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50T3V0bGV0TW9kZWwudmFsdWU7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwdXNoUm91dGVDaGFuZ2VzVG9WaXNpdCgpIHtcbiAgICBjb25zdCB2aXNpdCA9IHRoaXMucm91dGVyVmlzaXQudmFsdWU7XG4gICAgLy8gY29uc29sZS5sb2coe1xuICAgIC8vICAgdmlzaXQsXG4gICAgLy8gICBwbGFjZTogdmlzaXQgPyB2aXNpdC5wbGFjZURlZmluaXRpb24uY29tcG9uZW50IDogbnVsbCxcbiAgICAvLyAgIGluT3V0bGV0QWN0aXZhdGlvbjogdGhpcy5faW5PdXRsZXRBY3RpdmF0aW9uLnZhbHVlLFxuICAgIC8vICAgaW5Sb3V0aW5nU2Vzc2lvbjogdGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU2Vzc2lvbkFjdGl2ZS52YWx1ZVxuICAgIC8vIH0pO1xuICAgIGlmICh2aXNpdCkgeyAvLyBjYW4gYmUgbnVsbCB3aGlsZSB0aGUgcGxhY2UgYW5kIGluZGV4IHN5bmMgdXBcbiAgICAgIHRoaXMuX2luUm91dGVWaXNpdFVwZGF0ZS53aGlsZVRydWUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9hY3RpdmVQbGFjZVZpc2l0TW9kZWwudmFsdWUgPSB2aXNpdDtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1c2hWaXNpdENoYW5nZXNUb1JvdXRlKG5leHQ6IFZpc2l0LCBwcmV2aW91czogVmlzaXQpIHtcbiAgICBjb25zdCBhY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWU7XG4gICAgdGhpcy5wbGFjZVJvdXRlci5wdXNoVmlzaXRDaGFuZ2VzVG9Sb3V0ZShhY3RpdmF0ZWRSb3V0ZSwgcHJldmlvdXMsIG5leHQpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVBsYWNlTW9kZWwoKTogVmFsdWVNb2RlbDxQbGFjZUNvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVQbGFjZS5yZWFkb25seTtcbiAgfVxuXG4gIGdldCBhY3RpdmF0ZWRSb3V0ZU1vZGVsKCk6IFZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC5yZWFkb25seTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uT3V0bGV0QWN0aXZhdGVkKHJvdXRlck91dGxldDogUm91dGVyT3V0bGV0LCBwbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICB0aGlzLl9pbk91dGxldEFjdGl2YXRpb24ud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlLnZhbHVlID0gcGxhY2U7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgPSByb3V0ZXJPdXRsZXQuYWN0aXZhdGVkUm91dGU7XG4gICAgICAgIHRoaXMuX3BsYWNlRGVmaW5pdGlvbi52YWx1ZSA9IHBsYWNlLnBsYWNlRGVmaW5pdGlvbjtcbiAgICAgICAgY29uc3QgdmlzaXRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxWaXNpdD4oKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlUGxhY2VWaXNpdE1vZGVsLnNldERlbGVnYXRlKHZpc2l0TW9kZWwpO1xuICAgICAgICBwbGFjZS5pbml0aWFsaXNlQmluZGluZ3ModmlzaXRNb2RlbCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuYW5pbWF0ZU1vZGVsLnZhbHVlKSB7XG4gICAgICAvLyB3ZSdyZSBub3QgYW5pbWF0aW5nIHNvIHRyaWdnZXIgYW55IHBvc3QgYW5pbWF0aW9uIGNhbGxiYWNrcyBub3cuXG4gICAgICB0aGlzLmFuaW1hdGlvbkRvbmUoKTtcbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbk91dGxldERlYWN0aXZhdGVkKCkge1xuICAgIHRoaXMuX2luT3V0bGV0RGVhY3RpdmF0aW9uLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICB0aGlzLl9hY3RpdmVQbGFjZS52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuX3BsYWNlRGVmaW5pdGlvbi52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLl9hY3RpdmVQbGFjZVZpc2l0TW9kZWwuc2V0RGVsZWdhdGUobnVsbCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhbmltYXRpb25TdGFydGVkKCkge1xuICAgIC8vIGNvbnNvbGUubG9nKHsgYWN0aXZlUGxhY2U6IHRoaXMuX2FjdGl2ZVBsYWNlLnZhbHVlIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uRG9uZSgpIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlUGxhY2UudmFsdWUpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlLnZhbHVlLm9uUGxhY2VSZWFkeSgpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ==
450
+ //# sourceMappingURL=place-outlet.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place-outlet.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/components/place-outlet/place-outlet.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, EventEmitter, Inject, Input, OnInit, Optional, Output, SkipSelf, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\nimport {\n BooleanValueModelChain,\n Constructable,\n DelegatingValueModel,\n Dsl,\n Guard,\n ListModel,\n MutableValueModel,\n StoreInListModel,\n StoreInValueModel,\n UseDelegate,\n ValueModel,\n ValueModelChain\n} from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { DisposableComponent } from '../../../components/disposable-component';\nimport { PlaceComponent } from '../../place-component';\nimport { AUP_PLACE_CONFIG, PlaceConfig } from '../../place-config';\nimport { PlaceDefinition } from '../../place-definition';\nimport { PlaceRouter } from '../../place-router';\n\nimport { Visit } from '../../visit';\nimport { LEFT_RIGHT_PLACE_ANIMATION } from './route-animations';\n\n// Quick hack to avoid circular references between this and PlaceComponents.\ninterface PlaceRef {\n readonly placeDefinition: PlaceDefinition\n\n initialiseBindings(param: ValueModel<Visit>): void;\n\n onPlaceReady(): void;\n}\n\n@Component({\n selector: 'aup-place-outlet',\n templateUrl: './place-outlet.component.html',\n styleUrls: ['./place-outlet.component.scss'],\n animations: [LEFT_RIGHT_PLACE_ANIMATION]\n})\nexport class PlaceOutletComponent extends DisposableComponent implements OnInit {\n\n @Input() @StoreInValueModel('animateModel')\n animate: boolean;\n\n @Input() @UseDelegate({ defaultValue: true })\n animateModel: ValueModel<boolean>;\n\n // tslint:disable-next-line:no-input-rename\n @Input('placeAnimationOrderModel') @UseDelegate()\n customPlaceAnimationOrderModel: ListModel<Constructable<PlaceComponent>>;\n\n // tslint:disable-next-line:no-input-rename\n @Input('placeAnimationOrder') @StoreInListModel('customPlaceAnimationOrderModel')\n customPlaceAnimationOrder: Constructable<PlaceComponent>[];\n\n @Output()\n readonly placeChanged = new EventEmitter<PlaceComponent>();\n\n @ViewChild('routeOutlet', { static: true })\n routerOut: RouterOutlet;\n\n private readonly _activePlace = new MutableValueModel<PlaceComponent>();\n private readonly _activePlaceVisitModel = new DelegatingValueModel<Visit>();\n\n private readonly _inOutletActivation = new Guard();\n private readonly _inOutletDeactivation = new Guard();\n private readonly _inOutletUpdate: BooleanValueModelChain;\n private readonly _inRouteVisitUpdate = new Guard();\n private readonly _activatedRouteModel = new MutableValueModel<ActivatedRoute>();\n\n private readonly _placeDefinition = new MutableValueModel<PlaceDefinition>();\n private parentOutletModel: MutableValueModel<PlaceOutletComponent>;\n public readonly placeAnimationOrder: ValueModelChain<number>;\n\n private initialPlaceIndex: number = null;\n private routerVisit: ValueModelChain<Visit>;\n\n constructor(private readonly router: Router,\n private readonly placeRouter: PlaceRouter,\n @Optional() @Inject(AUP_PLACE_CONFIG) readonly placeConfig: PlaceConfig,\n @SkipSelf() @Optional() parentOutlet: PlaceOutletComponent) {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n\n this.parentOutletModel = new MutableValueModel(parentOutlet);\n this._activePlaceVisitModel.setDelegate(new MutableValueModel<Visit>());\n this._inOutletUpdate = valueOf.any(this._inOutletDeactivation, this._inOutletActivation).areTruthy();\n\n const defaultPlaceAnimationOrder = chain(this.parentOutletModel)\n .pullValueModel(o => o.activePlaceModel)\n .pluck('placeDefinition')\n .pluckList('children')\n .pluck('component');\n\n const activatePlaceType = chain(this.activePlaceModel).map(p => p.constructor as Constructable<PlaceComponent>);\n this.placeAnimationOrder = chain(this.customPlaceAnimationOrderModel)\n .otherwise(defaultPlaceAnimationOrder)\n .reduce((placesInOrder) => {\n let placeIndex = 0;\n if (activatePlaceType.value) {\n placeIndex = placesInOrder.indexOf(activatePlaceType.value);\n if (_.isNil(this.initialPlaceIndex)) {\n this.initialPlaceIndex = placeIndex;\n }\n }\n return _.isNil(this.initialPlaceIndex) ? 0 : placeIndex - this.initialPlaceIndex;\n }, { dependsOn: activatePlaceType });\n\n // Push incoming changes into the component\n this.routerVisit = chain(this._activePlace).pluck('placeDefinition').findIn(placeRouter.activeVisitIndex);\n // Our router visit will change when our active is nullified during deactivation, which will push a null visit\n // the the deactivated component, which will nuke it's view before the animations have finished.\n // The visit will alway updated after the router session is finsised (when the new visits are registered) so\n // we can safely ignore it during outlet changes as these always happen before the router session ends.\n when.valueOf(this.routerVisit).changes(() => this.pushRouteChangesToVisit(), { unless: this._inOutletUpdate });\n\n // Handle component based changes\n when.valueOf(this._activePlaceVisitModel).changes((next, previous) => {\n this.pushVisitChangesToRoute(next, previous);\n }, {\n unless: this.placeRouter.navigationInProgress\n });\n\n chain(this._activePlace)\n .postponeWhile(placeRouter.navigationInProgress)\n .subscribe(place => this.placeChanged.emit(place));\n\n }\n\n ngOnInit() {\n }\n\n // @Trace()\n getAnimationOrder() {\n return this.placeAnimationOrder.value;\n }\n\n get animationDuration() {\n return this.placeConfig && this.placeConfig.animationDuration ? this.placeConfig.animationDuration : '500ms';\n }\n\n // @Trace()\n navigate(visit: Visit) {\n // console.log({ activatedRoute: this._activatedRouteModel.value });\n this.placeRouter.navigate(visit, {\n relativeTo: this.parentOutlet ? this.parentOutlet.activatedRouteModel.value : null\n });\n }\n\n get parentOutlet(): PlaceOutletComponent {\n return this.parentOutletModel.value;\n }\n\n // @Trace()\n pushRouteChangesToVisit() {\n const visit = this.routerVisit.value;\n // console.log({\n // visit,\n // place: visit ? visit.placeDefinition.component : null,\n // inOutletActivation: this._inOutletActivation.value,\n // inRoutingSession: this.placeRouter.navigationSessionActive.value\n // });\n if (visit) { // can be null while the place and index sync up\n this._inRouteVisitUpdate.whileTrue(() => {\n this._activePlaceVisitModel.value = visit;\n });\n }\n }\n\n pushVisitChangesToRoute(next: Visit, previous: Visit) {\n const activatedRoute = this._activatedRouteModel.value;\n this.placeRouter.pushVisitChangesToRoute(activatedRoute, previous, next);\n }\n\n get activePlaceModel(): ValueModel<PlaceComponent> {\n return this._activePlace.readonly;\n }\n\n get activatedRouteModel(): ValueModel<ActivatedRoute> {\n return this._activatedRouteModel.readonly;\n }\n\n // @Trace()\n onOutletActivated(routerOutlet: RouterOutlet, place: PlaceComponent) {\n this._inOutletActivation.whileTrue(() => {\n try {\n this._activePlace.value = place;\n this._activatedRouteModel.value = routerOutlet.activatedRoute;\n this._placeDefinition.value = place.placeDefinition;\n const visitModel = new MutableValueModel<Visit>();\n this._activePlaceVisitModel.setDelegate(visitModel);\n place.initialiseBindings(visitModel);\n } catch (error) {\n console.error(error);\n }\n });\n if (!this.animateModel.value) {\n // we're not animating so trigger any post animation callbacks now.\n this.animationDone();\n }\n }\n\n // @Trace()\n onOutletDeactivated() {\n this._inOutletDeactivation.whileTrue(() => {\n this._activePlace.value = null;\n this._activatedRouteModel.value = null;\n this._placeDefinition.value = null;\n this._activePlaceVisitModel.setDelegate(null);\n });\n }\n\n // @Trace()\n animationStarted() {\n // console.log({ activePlace: this._activePlace.value });\n }\n\n // @Trace()\n animationDone() {\n if (this._activePlace.value) {\n this._activePlace.value.onPlaceReady();\n }\n }\n\n\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place-outlet.component.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/components/place-outlet/place-outlet.component.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place-outlet.component.scss.shim.ngstyle.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/components/place-outlet/place-outlet.component.scss.shim.ngstyle.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -54,4 +54,4 @@ export function leftRightPlaceAnimation(duration) {
54
54
  }
55
55
  /** @type {?} */
56
56
  export var LEFT_RIGHT_PLACE_ANIMATION = leftRightPlaceAnimation('0.3s');
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9yb3V0ZS1hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0lBR2xGLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDOztJQUVuRyxJQUFJLEdBQUc7SUFDWCxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEUsS0FBSyxDQUFDO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNkLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFLEVBQUU7WUFDRCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFDRixLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7U0FDM0UsRUFBRTtZQUNELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztLQUNILENBQUM7Q0FDSDs7SUFFSyxLQUFLLEdBQUc7SUFDWixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEUsS0FBSyxDQUFDO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNkLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDMUQsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7U0FDekUsRUFBRTtZQUNELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUNGLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUM7Z0JBQzlGLFNBQVMsRUFBRSxtQkFBbUI7Z0JBQzlCLFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDSixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7S0FDSCxDQUFDO0NBQ0g7Ozs7O0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFFBQWdCO0lBQ3RELE9BQU8sT0FBTyxDQUFDLGlCQUFpQixFQUFFO1FBQ2hDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDbkUsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztLQUNuRSxDQUFDLENBQUM7QUFDTCxDQUFDOztBQUVELE1BQU0sS0FBTywwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgcXVlcnksIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbi8vIEZyZWV6ZXMgdGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnRzIGF0IHRoZSBzdGFydCBvZiB0aGUgYW5pbWF0aW9uLlxuY29uc3QgYW5pbWF0aW9uU3RhcnRTdHlsZSA9IHN0eWxlKHsgcG9zaXRpb246ICdhYnNvbHV0ZScsIHRvcDogJzAnLCBsZWZ0OiAnMCcsIGJvdHRvbTogJzAnLCByaWdodDogJzAnIH0pO1xuXG5jb25zdCBsZWZ0ID0gW1xuICBxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBhbmltYXRpb25TdGFydFN0eWxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICBncm91cChbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pLFxuICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19IGVhc2Utb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSkpXG4gICAgXSwge1xuICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KSxcbiAgICBxdWVyeSgnOmxlYXZlJywgW1xuICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSksXG4gICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKVxuICAgIF0sIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSlcbiAgXSlcbl07XG5cbmNvbnN0IHJpZ2h0ID0gW1xuICBxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBhbmltYXRpb25TdGFydFN0eWxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICBncm91cChbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsIG1pbkhlaWdodDogJzFweCcgfSksXG4gICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJyB9KSlcbiAgICBdLCB7XG4gICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pLFxuICAgIHF1ZXJ5KCc6bGVhdmUnLCBbc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSksIGFuaW1hdGUoJ3t7ZHVyYXRpb259fSBlYXNlLW91dCcsIHN0eWxlKHtcbiAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyxcbiAgICAgIG1pbkhlaWdodDogJzFweCdcbiAgICB9KSldLCB7XG4gICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pXG4gIF0pXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gbGVmdFJpZ2h0UGxhY2VBbmltYXRpb24oZHVyYXRpb246IHN0cmluZykge1xuICByZXR1cm4gdHJpZ2dlcigncm91dGVBbmltYXRpb25zJywgW1xuICAgIHRyYW5zaXRpb24oJzppbmNyZW1lbnQnLCByaWdodCwgeyBwYXJhbXM6IHsgZHVyYXRpb246IGR1cmF0aW9uIH0gfSksXG4gICAgdHJhbnNpdGlvbignOmRlY3JlbWVudCcsIGxlZnQsIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiBkdXJhdGlvbiB9IH0pXG4gIF0pO1xufVxuXG5leHBvcnQgY29uc3QgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gPSBsZWZ0UmlnaHRQbGFjZUFuaW1hdGlvbignMC4zcycpO1xuIl19
57
+ //# sourceMappingURL=route-animations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-animations.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/components/place-outlet/route-animations.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;;;IAGlF,mBAAmB,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;;IAEnG,IAAI,GAAG;IACX,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChE,KAAK,CAAC;QACJ,KAAK,CAAC,QAAQ,EAAE;YACd,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;YACzC,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;SACzE,EAAE;YACD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,KAAK,CAAC,QAAQ,EAAE;YACd,KAAK,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;YACtC,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;SAC3E,EAAE;YACD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;CACH;;IAEK,KAAK,GAAG;IACZ,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChE,KAAK,CAAC;QACJ,KAAK,CAAC,QAAQ,EAAE;YACd,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC1D,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;SACzE,EAAE;YACD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,EAAE,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC;gBAC9F,SAAS,EAAE,mBAAmB;gBAC9B,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC,CAAC,EAAE;YACJ,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;CACH;;;;;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,OAAO,OAAO,CAAC,iBAAiB,EAAE;QAChC,UAAU,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;QACnE,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;;AAED,MAAM,KAAO,0BAA0B,GAAG,uBAAuB,CAAC,MAAM,CAAC","sourcesContent":["import { animate, group, query, style, transition, trigger } from '@angular/animations';\n\n// Freezes the state of the components at the start of the animation.\nconst animationStartStyle = style({ position: 'absolute', top: '0', left: '0', bottom: '0', right: '0' });\n\nconst left = [\n query(':enter, :leave', animationStartStyle, { optional: true }),\n group([\n query(':enter', [\n style({ transform: 'translateX(-100%)' }),\n animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))\n ], {\n optional: true\n }),\n query(':leave', [\n style({ transform: 'translateX(0%)' }),\n animate('{{duration}} ease-out', style({ transform: 'translateX(100%)' }))\n ], {\n optional: true\n })\n ])\n];\n\nconst right = [\n query(':enter, :leave', animationStartStyle, { optional: true }),\n group([\n query(':enter', [\n style({ transform: 'translateX(100%)', minHeight: '1px' }),\n animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))\n ], {\n optional: true\n }),\n query(':leave', [style({ transform: 'translateX(0%)' }), animate('{{duration}} ease-out', style({\n transform: 'translateX(-100%)',\n minHeight: '1px'\n }))], {\n optional: true\n })\n ])\n];\n\nexport function leftRightPlaceAnimation(duration: string) {\n return trigger('routeAnimations', [\n transition(':increment', right, { params: { duration: duration } }),\n transition(':decrement', left, { params: { duration: duration } })\n ]);\n}\n\nexport const LEFT_RIGHT_PLACE_ANIMATION = leftRightPlaceAnimation('0.3s');\n"]}
@@ -22,4 +22,4 @@ var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
22
22
  return TabbedPlaceNavigationComponent;
23
23
  }(AbstractPlaceNavigationComponent));
24
24
  export { TabbedPlaceNavigationComponent };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUxRjtJQUtvRCwwREFBZ0M7SUFDbEY7ZUFDRSxpQkFBTztJQUNULENBQUM7O2dCQVJGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxtY0FBdUQ7O2lCQUV4RDs7OztJQUtELHFDQUFDO0NBQUEsQUFURCxDQUtvRCxnQ0FBZ0MsR0FJbkY7U0FKWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmJlZFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuIl19
25
+ //# sourceMappingURL=tabbed-place-navigation.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabbed-place-navigation.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAE1F;IAKoD,0DAAgC;IAClF;eACE,iBAAO;IACT,CAAC;;gBARF,SAAS,SAAC;oBACT,QAAQ,EAAE,6BAA6B;oBACvC,mcAAuD;;iBAExD;;;;IAKD,qCAAC;CAAA,AATD,CAKoD,gCAAgC,GAInF;SAJY,8BAA8B","sourcesContent":["import { Component } from '@angular/core';\nimport { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';\n\n@Component({\n selector: 'aup-tabbed-place-navigation',\n templateUrl: './tabbed-place-navigation.component.html',\n styleUrls: ['./tabbed-place-navigation.component.scss']\n})\nexport class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {\n constructor() {\n super();\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabbed-place-navigation.component.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabbed-place-navigation.component.scss.shim.ngstyle.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.scss.shim.ngstyle.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -158,4 +158,4 @@ if (false) {
158
158
  */
159
159
  ParamMapAdapter.prototype.params;
160
160
  }
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29saWRhdGVkLXBhcmFtLW1hcC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9ndWFyZHMvY29uc29saWRhdGVkLXBhcmFtLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7O0FBTzNFO0lBSUUsa0NBQVksUUFBa0IsRUFBRSxXQUF5QjtRQUN2RCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUNoQyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQWpDLENBQWlDLEVBQUMsQ0FDaEUsQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFILENBQUcsRUFBQyxDQUFDLENBQUMsNENBQTRDO0lBQ2xFLENBQUM7Ozs7O0lBRUQsc0NBQUc7Ozs7SUFBSCxVQUFJLElBQVk7O1lBQ1IsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBWCxDQUFXLEVBQUM7UUFDdEQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7O0lBRUQseUNBQU07Ozs7SUFBTixVQUFPLElBQVk7O1lBQ1gsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSTs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBWCxDQUFXLEVBQUM7UUFDdEQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7Ozs7O0lBRUQsc0NBQUc7Ozs7SUFBSCxVQUFJLElBQVk7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQVgsQ0FBVyxFQUFDLENBQUM7SUFDakQsQ0FBQztJQUdELHNCQUFJLDBDQUFJOzs7O1FBQVI7WUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTs7Ozs7WUFBQyxVQUFDLE1BQU0sRUFBRSxNQUFNLElBQUssT0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBMUIsQ0FBMEIsR0FBRSxFQUFFLENBQUMsQ0FBQztRQUNuRixDQUFDOzs7T0FBQTtJQUZEO1FBREMsT0FBTyxFQUFFOzs7d0RBR1Q7SUFDSCwrQkFBQztDQUFBLEFBNUJELElBNEJDO1NBNUJZLHdCQUF3Qjs7Ozs7O0lBRW5DLDZDQUE4Qjs7QUE0QmhDO0lBQ0UseUJBQTZCLE1BQStCO1FBQS9CLFdBQU0sR0FBTixNQUFNLENBQXlCO0lBQzVELENBQUM7Ozs7O0lBRUQsNkJBQUc7Ozs7SUFBSCxVQUFJLElBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFFRCxnQ0FBTTs7OztJQUFOLFVBQU8sSUFBWTs7WUFDWCxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7Ozs7SUFFRCw2QkFBRzs7OztJQUFILFVBQUksSUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELHNCQUFJLGlDQUFJOzs7O1FBQVI7WUFDRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7OztPQUFBO0lBRUgsc0JBQUM7QUFBRCxDQUFDLEFBckJELElBcUJDOzs7Ozs7SUFwQmEsaUNBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyYW1NYXAsIFVybFNlZ21lbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvci9kaXN0L3NyYyc7XG5cbi8qKlxuICogVGhpcyBhIHdvcmsgYXJvdW5kIGZvciB0aGUgZmFjdCB0aGF0IGFuIGFjdGl2YXRlZCByb3V0ZSB3aXRoIG11bHRpcGxlIHNlZ21lbnRzIGRvZXNuJ3RcbiAqIGluY2x1ZGUgdGhlIHNlZ21lbnQgcGFyYW1zIGluIHRoZSBwYXJhbU1hcCBhcyB3ZWxsIGFzIGVhY2ggc2VnbWVudCByZXR1cm5zIGFuIGVtcHR5XG4gKiBwYXJhbSBtYXAgZXZlbiB3aGVuIGBwYXJhbWV0ZXJgcyBoYXMgY29udGVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbnNvbGlkYXRlZFBhcmFtZXRlck1hcCBpbXBsZW1lbnRzIFBhcmFtTWFwIHtcblxuICBwcml2YXRlIHBhcmFtTWFwczogUGFyYW1NYXBbXTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbU1hcDogUGFyYW1NYXAsIHVybFNlZ21lbnRzOiBVcmxTZWdtZW50W10pIHtcbiAgICB0aGlzLnBhcmFtTWFwcyA9IFtwYXJhbU1hcF0uY29uY2F0KFxuICAgICAgKHVybFNlZ21lbnRzIHx8IFtdKS5tYXAocyA9PiBuZXcgUGFyYW1NYXBBZGFwdGVyKHMucGFyYW1ldGVycykpXG4gICAgKS5maWx0ZXIobSA9PiAhIW0pOyAvLyB0aGUgYWN0aXZhdGVkIHJvdXRlIHBhcmFtIG1hcCBjYW4gYmUgbnVsbFxuICB9XG5cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IHBhcmFtTWFwID0gdGhpcy5wYXJhbU1hcHMuZmluZChtID0+IG0uaGFzKG5hbWUpKTtcbiAgICByZXR1cm4gcGFyYW1NYXAuZ2V0KG5hbWUpO1xuICB9XG5cbiAgZ2V0QWxsKG5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBwYXJhbU1hcCA9IHRoaXMucGFyYW1NYXBzLmZpbmQobSA9PiBtLmhhcyhuYW1lKSk7XG4gICAgcmV0dXJuIHBhcmFtTWFwLmdldEFsbChuYW1lKTtcbiAgfVxuXG4gIGhhcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnBhcmFtTWFwcy5maW5kKG0gPT4gbS5oYXMobmFtZSkpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXQga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1NYXBzLnJlZHVjZSgocmVzdWx0LCBwYXJhbXMpID0+IHJlc3VsdC5jb25jYXQocGFyYW1zLmtleXMpLCBbXSk7XG4gIH1cbn1cblxuY2xhc3MgUGFyYW1NYXBBZGFwdGVyIGltcGxlbWVudHMgUGFyYW1NYXAge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBhcmFtczogeyBbcDogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgfVxuXG4gIGdldChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXNbbmFtZV07XG4gIH1cblxuICBnZXRBbGwobmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQobmFtZSk7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICB9XG5cbiAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmtleXMuaW5jbHVkZXMobmFtZSk7XG4gIH1cblxuICBnZXQga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMucGFyYW1zKTtcbiAgfVxuXG59XG4iXX0=
161
+ //# sourceMappingURL=consolidated-param-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidated-param-map.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/guards/consolidated-param-map.ts"],"names":[],"mappings":";;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kDAAkD,CAAC;;;;;;AAO3E;IAIE,kCAAY,QAAkB,EAAE,WAAyB;QACvD,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAChC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG;;;;QAAC,UAAA,CAAC,IAAI,OAAA,IAAI,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAAjC,CAAiC,EAAC,CAChE,CAAC,MAAM;;;;QAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,EAAC,CAAC,CAAC,4CAA4C;IAClE,CAAC;;;;;IAED,sCAAG;;;;IAAH,UAAI,IAAY;;YACR,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;;;;QAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAX,CAAW,EAAC;QACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;;;;;IAED,yCAAM;;;;IAAN,UAAO,IAAY;;YACX,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;;;;QAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAX,CAAW,EAAC;QACtD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;;;;;IAED,sCAAG;;;;IAAH,UAAI,IAAY;QACd,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI;;;;QAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAX,CAAW,EAAC,CAAC;IACjD,CAAC;IAGD,sBAAI,0CAAI;;;;QAAR;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM;;;;;YAAC,UAAC,MAAM,EAAE,MAAM,IAAK,OAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAA1B,CAA0B,GAAE,EAAE,CAAC,CAAC;QACnF,CAAC;;;OAAA;IAFD;QADC,OAAO,EAAE;;;wDAGT;IACH,+BAAC;CAAA,AA5BD,IA4BC;SA5BY,wBAAwB;;;;;;IAEnC,6CAA8B;;AA4BhC;IACE,yBAA6B,MAA+B;QAA/B,WAAM,GAAN,MAAM,CAAyB;IAC5D,CAAC;;;;;IAED,6BAAG;;;;IAAH,UAAI,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;;;;;IAED,gCAAM;;;;IAAN,UAAO,IAAY;;YACX,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;;;;;IAED,6BAAG;;;;IAAH,UAAI,IAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,sBAAI,iCAAI;;;;QAAR;YACE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;;;OAAA;IAEH,sBAAC;AAAD,CAAC,AArBD,IAqBC;;;;;;IApBa,iCAAgD","sourcesContent":["import { ParamMap, UrlSegment } from '@angular/router';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\n\n/**\n * This a work around for the fact that an activated route with multiple segments doesn't\n * include the segment params in the paramMap as well as each segment returns an empty\n * param map even when `parameter`s has content.\n */\nexport class ConsolidatedParameterMap implements ParamMap {\n\n private paramMaps: ParamMap[];\n\n constructor(paramMap: ParamMap, urlSegments: UrlSegment[]) {\n this.paramMaps = [paramMap].concat(\n (urlSegments || []).map(s => new ParamMapAdapter(s.parameters))\n ).filter(m => !!m); // the activated route param map can be null\n }\n\n get(name: string): string | null {\n const paramMap = this.paramMaps.find(m => m.has(name));\n return paramMap.get(name);\n }\n\n getAll(name: string): string[] {\n const paramMap = this.paramMaps.find(m => m.has(name));\n return paramMap.getAll(name);\n }\n\n has(name: string): boolean {\n return !!this.paramMaps.find(m => m.has(name));\n }\n\n @Memoize()\n get keys(): string[] {\n return this.paramMaps.reduce((result, params) => result.concat(params.keys), []);\n }\n}\n\nclass ParamMapAdapter implements ParamMap {\n constructor(private readonly params: { [p: string]: string }) {\n }\n\n get(name: string): string | null {\n return this.params[name];\n }\n\n getAll(name: string): string[] {\n const value = this.get(name);\n return Array.isArray(value) ? value : [value];\n }\n\n has(name: string): boolean {\n return this.keys.includes(name);\n }\n\n get keys(): string[] {\n return Object.keys(this.params);\n }\n\n}\n"]}
@@ -1026,4 +1026,4 @@ if (false) {
1026
1026
  CancelledDuringNavigationInteraction.prototype.locationChangeTriggerUrl;
1027
1027
  }
1028
1028
  })(NavigationState || (NavigationState = {}));
1029
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9ndWFyZHMvbmF2aWdhdGlvbi1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBUTVFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7O0FBRTNGOzs7O0lBQThDLDJDQUFnQjtJQVE1RCx5QkFBK0IsT0FBZ0M7UUFBL0QsWUFDRSxpQkFBTyxTQUNSO1FBRjhCLGFBQU8sR0FBUCxPQUFPLENBQXlCO1FBTnZELGFBQU8sR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQzs7SUFRcEQsQ0FBQztJQUVELHNCQUFJLGlDQUFJOzs7O1FBQVI7WUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQy9CLENBQUM7OztPQUFBO0lBRUQsc0JBQUksaUNBQUk7Ozs7UUFBUjtZQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzlCLENBQUM7OztPQUFBO0lBRUQsc0JBQUksd0NBQVc7Ozs7UUFBZjtZQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDbEMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwrQ0FBa0I7Ozs7UUFBdEI7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDekMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwrQ0FBa0I7Ozs7UUFBdEI7WUFDRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7OztPQUFBOzs7OztJQUVELG9DQUFVOzs7O0lBQVYsVUFBVyxLQUFZO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUss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bnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERzbCwgR2FyYmFnZUNvbGxlY3RvciwgbGFuZywgTG9nZ2VyLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24vc2VydmljZXMvaW50ZXJhY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSAnLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vdmlzaXQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnREZWFjdGl2YXRpb25IYW5kbGVyIH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXInO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2aWdhdGlvblN0YXRlIGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cbiAgcHJpdmF0ZSBfdmlzaXRzID0gbmV3IE1hcDxQbGFjZURlZmluaXRpb24sIFZpc2l0PigpO1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzVHJhbnNpdGlvbmFsOiBib29sZWFuO1xuICBhYnN0cmFjdCByZWFkb25seSBzdGFydGluZ1VybDogc3RyaW5nO1xuICBhYnN0cmFjdCByZWFkb25seSBpc1BvcFN0YXRlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBjb250ZXh0OiBOYXZpZ2F0aW9uU3RhdGUuQ29udGV4dCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gIH1cblxuICBnZXQgaWRsZSgpIHtcbiAgICByZXR1cm4gIXRoaXMuaXNUcmFuc2l0aW9uYWw7XG4gIH1cblxuICBnZXQgcGxhY2VSb3V0ZXIoKTogUGxhY2VSb3V0ZXIge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucGxhY2VSb3V0ZXI7XG4gIH1cblxuICBnZXQgaW50ZXJhY3Rpb25TZXJ2aWNlKCk6IEludGVyYWN0aW9uU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5pbnRlcmFjdGlvblNlcnZpY2U7XG4gIH1cblxuICBnZXQgaW50ZXJhY3Rpb25Db250ZXh0KCk6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzdG9yZVZpc2l0KHZpc2l0OiBWaXNpdCkge1xuICAgIHRoaXMuX3Zpc2l0cy5zZXQodmlzaXQucGxhY2VEZWZpbml0aW9uLCB2aXNpdCk7XG4gIH1cblxuICBnZXRWaXNpdEZvcihwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2l0cy5nZXQocGxhY2VEZWYpO1xuICB9XG5cbiAgb25QbGFjZU5hdmlnYXRpb25TdGFydCh2aXNpdDogVmlzaXQsIGluaXRpYWxVcmw6IHN0cmluZyk6IE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuaWxsZWdhbFRyYW5zaXRpb24oJ29uUGxhY2VOYXZpZ2F0aW9uU3RhcnQnKTtcbiAgfVxuXG4gIG9uUG9wU3RhdGUoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCk6IE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuaWxsZWdhbFRyYW5zaXRpb24oZXZlbnQpO1xuICB9XG5cbiAgb25Sb3V0ZXJTdGFydGVkKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgIHJldHVybiB0aGlzLmlsbGVnYWxUcmFuc2l0aW9uKGV2ZW50KTtcbiAgfVxuXG4gIG9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKTogTmF2aWdhdGlvblN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5pbGxlZ2FsVHJhbnNpdGlvbihldmVudCk7XG4gIH1cblxuICBvblJvdXRlckVycm9yKGV2ZW50OiBOYXZpZ2F0aW9uRXJyb3IpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgIHJldHVybiB0aGlzLmlsbGVnYWxUcmFuc2l0aW9uKGV2ZW50KTtcbiAgfVxuXG4gIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogTmF2aWdhdGlvblN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5pbGxlZ2FsVHJhbnNpdGlvbihldmVudCk7XG4gIH1cblxuICBvbkJhY2tDbGlja2VkRHVyaW5nTmF2aWdhdGlvbkludGVyYWN0aW9uKG5ld1VybDogc3RyaW5nKTogTmF2aWdhdGlvblN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5pbGxlZ2FsVHJhbnNpdGlvbignb25CYWNrQ2xpY2tlZER1cmluZ05hdmlnYXRpb25JbnRlcmFjdGlvbicpO1xuICB9XG5cbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgcmV0dXJuIHRoaXMuaWxsZWdhbFRyYW5zaXRpb24oJ2NhbkRlYWN0aXZhdGVQbGFjZScpO1xuICB9XG5cbiAgZ2V0VmlzaXRzKCk6IFZpc2l0W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX3Zpc2l0cy52YWx1ZXMoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaWxsZWdhbFRyYW5zaXRpb248Uj4obWVzc2FnZTogc3RyaW5nIHwgUm91dGVyRXZlbnQpOiBSIHtcbiAgICByZXR1cm4gbGFuZy5pbGxlZ2FsU3RhdGUoYCR7bWVzc2FnZS50b1N0cmluZygpfSBub3Qgc3VwcG9ydGVkIGJ5ICR7dGhpcy50b1N0cmluZygpfWApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRSb3V0ZXJVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZVJvdXRlci5nZXRDdXJyZW50Um91dGVyVXJsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlVHJhbnNpdGlvblN0YXRlRm9yKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICBjb25zdCBwb3BzdGF0ZSA9IGV2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyID09PSAncG9wc3RhdGUnO1xuICAgIHJldHVybiBwb3BzdGF0ZSA/XG4gICAgICB0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpID9cbiAgICAgICAgbmV3IE5hdmlnYXRpb25TdGF0ZS5JbnRlcmFjdGlvblBvcFN0YXRlVHJhbnNpdGlvbih0aGlzLmNvbnRleHQsIHRoaXMuY3VycmVudFJvdXRlclVybCgpKSA6XG4gICAgICAgIG5ldyBOYXZpZ2F0aW9uU3RhdGUuUG9wU3RhdGVUcmFuc2l0aW9uKHRoaXMuY29udGV4dCwgdGhpcy5jdXJyZW50Um91dGVyVXJsKCkpXG4gICAgICA6XG4gICAgICB0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpID9cbiAgICAgICAgbmV3IE5hdmlnYXRpb25TdGF0ZS5JbnRlcmFjdGlvblRyYW5zaXRpb24odGhpcy5jb250ZXh0LCB0aGlzLmN1cnJlbnRSb3V0ZXJVcmwoKSkgOlxuICAgICAgICBuZXcgTmF2aWdhdGlvblN0YXRlLk5hdmlnYXRpb25UcmFuc2l0aW9uKHRoaXMuY29udGV4dCwgdGhpcy5jdXJyZW50Um91dGVyVXJsKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUlkbGVTdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuaXNBY3RpdmUoKSA/XG4gICAgICBuZXcgTmF2aWdhdGlvblN0YXRlLklkbGVEdXJpbmdJbnRlcmFjdGlvbih0aGlzLmNvbnRleHQsIHRoaXMuY3VycmVudFJvdXRlclVybCgpKSA6XG4gICAgICBuZXcgTmF2aWdhdGlvblN0YXRlLklkbGUodGhpcy5jb250ZXh0KTtcbiAgfVxuXG4gIHJlc2V0QnJvd3NlckxvY2F0aW9uKHVybCkge1xuICAgIHRoaXMucGxhY2VSb3V0ZXIucmVzZXRCcm93c2VyTG9jYXRpb24odXJsKTtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIE5hdmlnYXRpb25TdGF0ZSB7XG5cbiAgZXhwb3J0IGNsYXNzIENvbnRleHQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyLFxuICAgICAgcmVhZG9ubHkgaW50ZXJhY3Rpb25TZXJ2aWNlOiBJbnRlcmFjdGlvblNlcnZpY2UsXG4gICAgICByZWFkb25seSBub3RpZnlTdWNjZXNzOiAoc3VjY2VzczogTmF2aWdhdGlvblN0YXRlKSA9PiB2b2lkKSB7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGNsYXNzIElkbGUgZXh0ZW5kcyBOYXZpZ2F0aW9uU3RhdGUge1xuICAgIHJlYWRvbmx5IGlzVHJhbnNpdGlvbmFsID0gZmFsc2U7XG4gICAgcmVhZG9ubHkgc3RhcnRpbmdVcmwgPSBudWxsO1xuICAgIHJlYWRvbmx5IGlzUG9wU3RhdGUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKGNvbnRleHQ6IENvbnRleHQpIHtcbiAgICAgIHN1cGVyKGNvbnRleHQpO1xuICAgIH1cblxuICAgIG9uUGxhY2VOYXZpZ2F0aW9uU3RhcnQodmlzaXQ6IFZpc2l0LCBpbml0aWFsVXJsOiBzdHJpbmcpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgICAgY29uc3QgbmF2aWdhdGlvblRyYW5zaXRpb24gPSBuZXcgTmF2aWdhdGlvblRyYW5zaXRpb24odGhpcy5jb250ZXh0LCBpbml0aWFsVXJsKTtcbiAgICAgIG5hdmlnYXRpb25UcmFuc2l0aW9uLnN0b3JlVmlzaXQodmlzaXQpO1xuICAgICAgcmV0dXJuIG5hdmlnYXRpb25UcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIG9uUm91dGVyU3RhcnRlZChldmVudDogTmF2aWdhdGlvblN0YXJ0KTogTmF2aWdhdGlvblN0YXRlIHtcblxuICAgICAgLy8gY2FsbGluZyBhbmd1bGFyTG9jYXRpb24uZ28oKSB0byBjbGVhciBiYWNrIHN0YXRlIGNhbiB0cmlnZ2VyIHJvdXRlciBjeWNsZXMgdG8gdGhlIGN1cnJlbnQgdXJsIGlmIHdlIGRvbid0IGlnbm9yZSB0aGVtXG4gICAgICBpZiAoZXZlbnQudXJsID09PSB0aGlzLmN1cnJlbnRSb3V0ZXJVcmwoKSkge1xuICAgICAgICBMb2dnZXIuZ2V0KHRoaXMpLmluZm8oYG5hdmlnYXRpb24gc3RhcnRlZCB0byBzYW1lIHVybCAtPiAke2V2ZW50LnVybH1gKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnBsYWNlUm91dGVyLmhhc0FjdGl2ZUludGVyYWN0aW9uSWRzKGV2ZW50LnVybCkpIHtcbiAgICAgICAgTG9nZ2VyLmdldCh0aGlzKS5pbmZvKGBuYXZpZ2F0aW9uIHN0YXJ0ZWQgd2l0aCBpbnRlcmFjdGlvbiBvdXRsZXQgLT4gJHtldmVudC51cmx9YCk7XG4gICAgICAgIHJldHVybiBuZXcgSW50ZXJhY3Rpb25UcmFuc2l0aW9uKHRoaXMuY29udGV4dCwgZXZlbnQudXJsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVRyYW5zaXRpb25TdGF0ZUZvcihldmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgb25Qb3BTdGF0ZShldmVudDogTmF2aWdhdGlvblN0YXJ0KTogTmF2aWdhdGlvblN0YXRlIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVRyYW5zaXRpb25TdGF0ZUZvcihldmVudCk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TmF2aWdhdGlvblRyYW5zaXRpb24gZXh0ZW5kcyBOYXZpZ2F0aW9uU3RhdGUge1xuICAgIHJlYWRvbmx5IGlzVHJhbnNpdGlvbmFsID0gdHJ1ZTtcbiAgICBwcml2YXRlIGNvbXBvbmVudERlYWN0aXZhdGlvbkhhbmRsZXJzID0gbmV3IE1hcDxQbGFjZUNvbXBvbmVudCwgUGxhY2VDb21wb25lbnREZWFjdGl2YXRpb25IYW5kbGVyPigpO1xuICAgIHByaXZhdGUgX2ludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0O1xuXG4gICAgY29uc3RydWN0b3IoY29udGV4dDogQ29udGV4dCwgcmVhZG9ubHkgc3RhcnRpbmdVcmw6IHN0cmluZykge1xuICAgICAgc3VwZXIoY29udGV4dCk7XG4gICAgICB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQgPSB0aGlzLmludGVyYWN0aW9uU2VydmljZS5fY3JlYXRlRXhjbHVzaXZlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHQoKTtcbiAgICAgIHRoaXMub25EaXNwb3NlKCgpID0+IHtcbiAgICAgICAgLy8gdGhlIGludGVyYWN0aW9uIGNvbnRleHQgY2FuIGJlIGRldGFjaGVkIGR1cmluZyB0aGUgYmFjayBidXR0b24gY2FuY2VsbGF0aW9uIHN0YXRlIHRyYW5zaXRpb25cbiAgICAgICAgLy8gYXMgdGhlIHRyYW5zaXRpb24gaXMgc3luY2hyb25vdXMgYW5kIGFjdGl2aXR5Q2FuY2VsbGF0aW9uIGlzbid0LiAgT3RoZXJ3aXNlIGRpc3Bvc2Ugd2lsbCBiZVxuICAgICAgICAvLyBjYWxsZWQgYmVmb3JlIHRoZSBjb250ZXh0IGhhcyBiZWVuIGNhbmNlbGxlZC4gIEl0IG1pZ2h0IGJlIHdvcmsgaGF2aW5nIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0XG4gICAgICAgIC8vIGF1dG9tYXRpY2FsbHkgY2FuY2VsIGlmIHRoZSBjb250ZXh0IGlzIGRpc3Bvc2VkIHNvIHdlIGRvbid0IGhhdmUgd29ycnkgYWJvdXQgZGV0YWNoaW5nIGV0Yy5cbiAgICAgICAgaWYgKHRoaXMuX2ludGVyYWN0aW9uQ29udGV4dCkge1xuICAgICAgICAgIHRoaXMuX2ludGVyYWN0aW9uQ29udGV4dC5kaXNwb3NlKCk7IC8vIG9yIGRvIHNvbWV0aGluZyBsaWtlIGNhbmNlbEFuZERpc3Bvc2U/XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBpbnRlcmFjdGlvbkNvbnRleHQoKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQ7XG4gICAgfVxuXG4gICAgb25Sb3V0ZXJTdGFydGVkKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgICAgLy8gYWN0aXZlIHNlc3Npb25zIGNhbiBoYXZlIG1hbnkgY2FuY2VsIHN0YXJ0IGN5Y2xlcyBkdWVcbiAgICAgIC8vIHRvIHBsYWNlIGd1YXJkIHJlZGlyZWN0c1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgb25Sb3V0ZXJFbmQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgICAgLy8gbmF2aWdhdGlvbiBzdWNjZWVkZWRcbiAgICAgIHRoaXMuY29udGV4dC5ub3RpZnlTdWNjZXNzKHRoaXMpO1xuICAgICAgcmV0dXJuIG5ldyBJZGxlKHRoaXMuY29udGV4dCk7XG4gICAgfVxuXG4gICAgb25CYWNrQ2xpY2tlZER1cmluZ05hdmlnYXRpb25JbnRlcmFjdGlvbihsb2NhdGlvblRyaWdnZXJVcmw6IHN0cmluZyk6IE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgICBMb2dnZXIuZ2V0KHRoaXMpLmluZm8oYGJhY2sgYnV0dG9uIHByZXNzZWQgZHVyaW5nIG5hdmlnYXRpb24gc2Vzc2lvbiBpbnRlcmFjdGlvbiBwcm9taXNlYCk7XG4gICAgICAvLyBkZXRhY2ggdGhlIGludGVyYWN0aW9uIGZyb20gdGhlIHNlc3Npb24gc28gaXQgZG9lc24ndCBnZXQgZGlzcG9zZWQgdW50aWwgdGhlIGFjdGl2aXR5IGhhcyBjb21wbGV0ZWQuXG4gICAgICBjb25zdCBuYXZpZ2F0aW9uSW50ZXJhY3Rpb24gPSB0aGlzLmRldGFjaEludGVyYWN0aW9uQ29udGV4dCgpO1xuICAgICAgY29uc3QgeyB3aGVuIH0gPSBEc2wuZGlzcG9zZVdpdGgobmF2aWdhdGlvbkludGVyYWN0aW9uKTtcbiAgICAgIC8vIFRPRE86IEkgbmVlZCB0byBtYWtlIHRoZSBleGNsdXNpdmUgaW50ZXJhY3Rpb24gY29udGV4dCBkaXNhbGxvdyBuZXN0ZWQgYWN0aXZpdGllcyBvclxuICAgICAgLy8gICAgICAgdGhhdCB3b3VsZCBtZXNzIHRoaW5ncyB1cCBlbnRpcmVseS4gT3IsIGNhbiBJIGRvIGEgY29udGV4dC5hYm9ydEFsbCgpLnRoZW4oLi4pXG4gICAgICBuYXZpZ2F0aW9uSW50ZXJhY3Rpb24uY2FuY2VsQWN0aXZlQWN0aXZpdHkoKS50aGVuKCgpID0+IHtcbiAgICAgICAgbmF2aWdhdGlvbkludGVyYWN0aW9uLmRpc3Bvc2UoKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG5ldyBDYW5jZWxsZWREdXJpbmdOYXZpZ2F0aW9uSW50ZXJhY3Rpb24odGhpcy5jb250ZXh0LFxuICAgICAgICB0aGlzLnN0YXJ0aW5nVXJsLFxuICAgICAgICB0aGlzLmlzUG9wU3RhdGUsXG4gICAgICAgIGxvY2F0aW9uVHJpZ2dlclVybCk7XG4gICAgfVxuXG4gICAgLy8gQFRyYWNlKClcbiAgICBhc3luYyBjYW5EZWFjdGl2YXRlUGxhY2UoY29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCwgY3VycmVudFVybDogVXJsU25hcHNob3QsIG5leHRVcmw6IFVybFNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+IHtcbiAgICAgIC8vIGxvb2t1cCB0aGUgaGFuZGxlciBhbmQgY3JlYXRlIGl0IGlmIHdlJ3ZlIG5vdCBzZWVuIGl0IHlldFxuICAgICAgbGV0IGhhbmRsZXIgPSB0aGlzLmNvbXBvbmVudERlYWN0aXZhdGlvbkhhbmRsZXJzLmdldChjb21wb25lbnQpO1xuICAgICAgaWYgKCFoYW5kbGVyKSB7XG4gICAgICAgIGNvbnN0IGlzUHJpbWFyeUhhbmRsZXIgPSB0aGlzLmNvbXBvbmVudERlYWN0aXZhdGlvbkhhbmRsZXJzLnNpemUgPT09IDA7IC8vIG9ubHkgcHJpbWFyeSBoYW5kbGVyIGNhbmNlbHMgdGhlIGFwcCBtb2RlbCBpbnRlcmF0aW9uc1xuICAgICAgICBoYW5kbGVyID0gbmV3IFBsYWNlQ29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlcihjb21wb25lbnQsIHRoaXMsIGlzUHJpbWFyeUhhbmRsZXIpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudERlYWN0aXZhdGlvbkhhbmRsZXJzLnNldChjb21wb25lbnQsIGhhbmRsZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGhhbmRsZXIuY2FuRGVhY3RpdmF0ZShjdXJyZW50VXJsLCBuZXh0VXJsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRldGFjaEludGVyYWN0aW9uQ29udGV4dCgpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2ludGVyYWN0aW9uQ29udGV4dDtcbiAgICAgIHRoaXMuX2ludGVyYWN0aW9uQ29udGV4dCA9IG51bGw7XG4gICAgICByZXR1cm4gY29udGV4dDtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgTmF2aWdhdGlvblRyYW5zaXRpb24gZXh0ZW5kcyBBYnN0cmFjdE5hdmlnYXRpb25UcmFuc2l0aW9uIHtcbiAgICByZWFkb25seSBpc1BvcFN0YXRlID0gZmFsc2U7XG5cbiAgICBvblJvdXRlckNhbmNlbGxlZChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBvblJvdXRlckVycm9yKGV2ZW50OiBOYXZpZ2F0aW9uRXJyb3IpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgICAgLy8gbmF2aWdhdGlvbiB3YXMgYWJvcnRlZC5cbiAgICAgIHJldHVybiBuZXcgSWRsZSh0aGlzLmNvbnRleHQpO1xuICAgIH1cblxuICAgIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfShzdGFydGluZ1VybDogJHt0aGlzLnN0YXJ0aW5nVXJsfSlgO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBQb3BTdGF0ZVRyYW5zaXRpb24gZXh0ZW5kcyBBYnN0cmFjdE5hdmlnYXRpb25UcmFuc2l0aW9uIHtcbiAgICByZWFkb25seSBpc1BvcFN0YXRlID0gdHJ1ZTtcblxuICAgIG9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKTogTmF2aWdhdGlvblN0YXRlIHtcbiAgICAgIC8vIEFuZ3VsYXIgZG9lc24ndCBwcmVzZXJ2ZSB0aGUgdXJsIHdoZW4gYSBndWFyZCBjYW5jZWxzIHRoZSBiYWNrIGJ1dHRvbi5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMzU4NiNpc3N1ZWNvbW1lbnQtNDMyNzk1NzIwXG4gICAgICBMb2dnZXIuZ2V0KHRoaXMpLmluZm8oJ1dPUkstQVJPVU5EOiBVcGRhdGluZyBicm93c2VyIGxvY2F0aW9uIGFmdGVyIHBvcCBzdGF0ZSAtIHNlZSBhbmd1bGFyIGlzc3VlICMxMzU4NicpO1xuICAgICAgdGhpcy5yZXNldEJyb3dzZXJMb2NhdGlvbih0aGlzLnN0YXJ0aW5nVXJsKTtcbiAgICAgIHJldHVybiBuZXcgSWRsZSh0aGlzLmNvbnRleHQpO1xuICAgIH1cblxuICAgIG9uUm91dGVyRXJyb3IoZXZlbnQ6IE5hdmlnYXRpb25FcnJvcik6IE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgICAvLyBuYXZpZ2F0aW9uIHdhcyBhYm9ydGVkLlxuICAgICAgaWYgKHRoaXMuY3VycmVudFJvdXRlclVybCgpICE9PSB0aGlzLnN0YXJ0aW5nVXJsKSB7XG4gICAgICAgIC8vIEFuZ3VsYXIgZG9lc24ndCBwcmVzZXJ2ZSB0aGUgdXJsIHdoZW4gYSBndWFyZCBjYW5jZWxzIHRoZSBiYWNrIGJ1dHRvbi5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzEzNTg2I2lzc3VlY29tbWVudC00MzI3OTU3MjBcbiAgICAgICAgTG9nZ2VyLmdldCh0aGlzKS5pbmZvKCdXT1JLLUFST1VORDogVXBkYXRpbmcgYnJvd3NlciBsb2NhdGlvbiBhZnRlciBwb3Agc3RhdGUgLSBzZWUgYW5ndWxhciBpc3N1ZSAjMTM1ODYnKTtcbiAgICAgICAgdGhpcy5yZXNldEJyb3dzZXJMb2NhdGlvbih0aGlzLnN0YXJ0aW5nVXJsKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgSWRsZSh0aGlzLmNvbnRleHQpO1xuICAgIH1cblxuICB9XG5cbiAgZXhwb3J0IGNsYXNzIElkbGVEdXJpbmdJbnRlcmFjdGlvbiBleHRlbmRzIE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgcmVhZG9ubHkgaXNUcmFuc2l0aW9uYWwgPSBmYWxzZTtcbiAgICByZWFkb25seSBpc1BvcFN0YXRlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihjb250ZXh0OiBDb250ZXh0LCByZWFkb25seSBzdGFydGluZ1VybDogc3RyaW5nKSB7XG4gICAgICBzdXBlcihjb250ZXh0KTtcbiAgICB9XG5cbiAgICBvblBsYWNlTmF2aWdhdGlvblN0YXJ0KHZpc2l0OiBWaXNpdCwgaW5pdGlhbFVybDogc3RyaW5nKTogTmF2aWdhdGlvblN0YXRlIHtcbiAgICAgIGNvbnN0IG5hdmlnYXRpb25UcmFuc2l0aW9uID0gbmV3IEludGVyYWN0aW9uVHJhbnNpdGlvbih0aGlzLmNvbnRleHQsIGluaXRpYWxVcmwpO1xuICAgICAgbmF2aWdhdGlvblRyYW5zaXRpb24uc3RvcmVWaXNpdCh2aXNpdCk7XG4gICAgICByZXR1cm4gbmF2aWdhdGlvblRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgLy8gQFRyYWNlKClcbiAgICBvblJvdXRlclN0YXJ0ZWQoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCk6IE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgICByZXR1cm4gbmV3IEludGVyYWN0aW9uVHJhbnNpdGlvbih0aGlzLmNvbnRleHQsIGV2ZW50LnVybCk7XG4gICAgfVxuXG4gICAgLy8gQFRyYWNlKClcbiAgICBvblBvcFN0YXRlKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgICAgcmV0dXJuIG5ldyBJbnRlcmFjdGlvblBvcFN0YXRlVHJhbnNpdGlvbih0aGlzLmNvbnRleHQsIGV2ZW50LnVybCk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0SW50ZXJhY3Rpb25UcmFuc2l0aW9uIGV4dGVuZHMgQWJzdHJhY3ROYXZpZ2F0aW9uVHJhbnNpdGlvbiB7XG4gICAgcmVhZG9ubHkgaXNUcmFuc2l0aW9uYWwgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoY29udGV4dDogQ29udGV4dCwgcmVhZG9ubHkgc3RhcnRpbmdVcmw6IHN0cmluZykge1xuICAgICAgc3VwZXIoY29udGV4dCwgc3RhcnRpbmdVcmwpO1xuICAgIH1cblxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgc3RhdGUgZXhpc3RzIHRvIGhhbmRsZSBhbGwgZXZlbnRzIHdoaWxlIGFueSBraW5kIG9mIG5hdmlnYXRpb24gaXMgaW4gcHJvZ3Jlc3MuICBUaGF0IHdheSBhbGwgb3RoZXIgc3RhdGVzIGNhblxuICAgKiBoYXBwaWx5IGlnbm9yZSBpbnRlcmFjdGlvbiBjb250ZXh0cy5cbiAgICovXG4gIGV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvblRyYW5zaXRpb24gZXh0ZW5kcyBBYnN0cmFjdEludGVyYWN0aW9uVHJhbnNpdGlvbiB7XG4gICAgcmVhZG9ubHkgaXNQb3BTdGF0ZSA9IGZhbHNlO1xuXG4gICAgLy8gQFRyYWNlKClcbiAgICBvblJvdXRlckNhbmNlbGxlZChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgICBpZiAodGhpcy5jb250ZXh0LmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpKSB7XG4gICAgICAgIGNvbnN0IGludGVyYWN0aW9uSWRzID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzLnZhbHVlO1xuICAgICAgICB0aGlzLnJlc2V0QnJvd3NlckxvY2F0aW9uKHRoaXMucGxhY2VSb3V0ZXIucGFyc2VVcmwodGhpcy5zdGFydGluZ1VybCkudXBkYXRlSW50ZXJhY3Rpb25JZHMoaW50ZXJhY3Rpb25JZHMpLnVybCk7XG4gICAgICAgIHJldHVybiBuZXcgSWRsZUR1cmluZ0ludGVyYWN0aW9uKHRoaXMuY29udGV4dCwgdGhpcy5zdGFydGluZ1VybCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IElkbGUodGhpcy5jb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBAVHJhY2UoKVxuICAgIG9uUm91dGVyRXJyb3IoZXZlbnQ6IE5hdmlnYXRpb25FcnJvcik6IE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgICAvLyBuYXZpZ2F0aW9uIHdhcyBhYm9ydGVkLlxuICAgICAgcmV0dXJuIG5ldyBJZGxlRHVyaW5nSW50ZXJhY3Rpb24odGhpcy5jb250ZXh0LCB0aGlzLnN0YXJ0aW5nVXJsKTtcbiAgICB9XG5cbiAgICAvLyBAVHJhY2UoKVxuICAgIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogTmF2aWdhdGlvblN0YXRlIHtcbiAgICAgIGlmICh0aGlzLmNvbnRleHQuaW50ZXJhY3Rpb25TZXJ2aWNlLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBJZGxlRHVyaW5nSW50ZXJhY3Rpb24odGhpcy5jb250ZXh0LCB0aGlzLnN0YXJ0aW5nVXJsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgSWRsZSh0aGlzLmNvbnRleHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHN0YXRlIGV4aXN0cyB0byBoYW5kbGUgYWxsIGV2ZW50cyB3aGlsZSBhbnkga2luZCBvZiBuYXZpZ2F0aW9uIGlzIGluIHByb2dyZXNzLiAgVGhhdCB3YXkgYWxsIG90aGVyIHN0YXRlcyBjYW5cbiAgICogaGFwcGlseSBpZ25vcmUgaW50ZXJhY3Rpb24gY29udGV4dHMuXG4gICAqL1xuICBleHBvcnQgY2xhc3MgSW50ZXJhY3Rpb25Qb3BTdGF0ZVRyYW5zaXRpb24gZXh0ZW5kcyBBYnN0cmFjdEludGVyYWN0aW9uVHJhbnNpdGlvbiB7XG4gICAgcmVhZG9ubHkgaXNQb3BTdGF0ZSA9IHRydWU7XG5cbiAgICAvLyBAVHJhY2UoKVxuICAgIG9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKTogTmF2aWdhdGlvblN0YXRlIHtcbiAgICAgIGlmICh0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpKSB7XG4gICAgICAgIGNvbnN0IGludGVyYWN0aW9uSWRzID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzLnZhbHVlO1xuICAgICAgICB0aGlzLnJlc2V0QnJvd3NlckxvY2F0aW9uKHRoaXMucGxhY2VSb3V0ZXIucGFyc2VVcmwodGhpcy5zdGFydGluZ1VybCkudXBkYXRlSW50ZXJhY3Rpb25JZHMoaW50ZXJhY3Rpb25JZHMpLnVybCk7XG4gICAgICAgIHJldHVybiBuZXcgSWRsZUR1cmluZ0ludGVyYWN0aW9uKHRoaXMuY29udGV4dCwgdGhpcy5zdGFydGluZ1VybCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IElkbGUodGhpcy5jb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBAVHJhY2UoKVxuICAgIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogTmF2aWdhdGlvblN0YXRlIHtcbiAgICAgIGlmICh0aGlzLmNvbnRleHQuaW50ZXJhY3Rpb25TZXJ2aWNlLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBJZGxlRHVyaW5nSW50ZXJhY3Rpb24odGhpcy5jb250ZXh0LCB0aGlzLnN0YXJ0aW5nVXJsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgSWRsZSh0aGlzLmNvbnRleHQpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuICBleHBvcnQgY2xhc3MgQ2FuY2VsbGVkRHVyaW5nTmF2aWdhdGlvbkludGVyYWN0aW9uIGV4dGVuZHMgTmF2aWdhdGlvblN0YXRlIHtcblxuICAgIHJlYWRvbmx5IGlzUG9wU3RhdGUgPSBmYWxzZTtcbiAgICBwcml2YXRlIGdvdFBvcFN0YXRlV2l0aExlYXZpbmdVcmwgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKGNvbnRleHQ6IENvbnRleHQsXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgc3RhcnRpbmdVcmw6IHN0cmluZyxcbiAgICAgICAgICAgICAgICByZWFkb25seSBzdGFydGluZ0V2ZW50V2FzQVBvcFN0YXRlOiBib29sZWFuLFxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGxvY2F0aW9uQ2hhbmdlVHJpZ2dlclVybDogc3RyaW5nKSB7XG4gICAgICBzdXBlcihjb250ZXh0KTtcbiAgICB9XG5cbiAgICBnZXQgaXNUcmFuc2l0aW9uYWwoKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBvblJvdXRlclN0YXJ0ZWQoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCk6IE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgICByZXR1cm4gdGhpcy5pZ25vcmUoZXZlbnQpO1xuICAgIH1cblxuICAgIC8vIEBUcmFjZSgpXG4gICAgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgICAgLy8gRGVwZW5kaW5nIG9uIHRoZSBzdGF0ZSBvZiB0aGUgcm91dGVyIGFuZCB3aGF0IHdhcyBkb25lIHdlIGdldCBhIGRpZmZlcmVudFxuICAgICAgLy8gc2VxdWVuY2Ugb2YgZXZlbnRzLlxuICAgICAgLy8gSWYgdGhlIG5hdmlnYXRpb24gY2hhbmdlIHdhcyB0cmlnZ2VyZWQgYnkgY2xpY2tpbmcgYSBsaW5rIHdlJ2xsIGdldCBhIGNhbmNlbCB3aXRoIHRoZSBsb2NhdGlvbkNoYW5nZVRyaWdnZXJVcmwgYXMgdGhlIGZpbmFsIGV2ZW50LlxuICAgICAgLy8gSWYgdGhlIG5hdmlnYXRpb24gY2hhbmdlIHdhcyB0cmlnZ2VyZWQgd2l0aCBhIHBvcCBzdGF0ZSB0aGVuIHdlJ2xsIGdldCBhbiBvblBvcFN0YXRlIHdpdGggdGhlIGxvY2F0aW9uQ2hhbmdlVHJpZ2dlclVybCBidXQgbm8gY2FuY2VsIGV2ZW50IHdpdGggaXQuXG4gICAgICBpZiAodGhpcy5nb3RQb3BTdGF0ZVdpdGhMZWF2aW5nVXJsICYmIHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgY29uc3QgaW50ZXJhY3Rpb25JZHMgPSB0aGlzLmludGVyYWN0aW9uU2VydmljZS5hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHMudmFsdWU7XG4gICAgICAgIHRoaXMucmVzZXRCcm93c2VyTG9jYXRpb24odGhpcy5wbGFjZVJvdXRlci5wYXJzZVVybCh0aGlzLnN0YXJ0aW5nVXJsKS51cGRhdGVJbnRlcmFjdGlvbklkcyhpbnRlcmFjdGlvbklkcykudXJsKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmdvdFBvcFN0YXRlV2l0aExlYXZpbmdVcmwgfHwgdGhpcy5sb2NhdGlvbkNoYW5nZVRyaWdnZXJVcmwgPT09IGV2ZW50LnVybCA/IHRoaXMuY3JlYXRlSWRsZVN0YXRlKCkgOiB0aGlzLmlnbm9yZShldmVudCk7XG4gICAgfVxuXG4gICAgb25Sb3V0ZXJFbmQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgICAgcmV0dXJuIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBvblJvdXRlckVycm9yKGV2ZW50OiBOYXZpZ2F0aW9uRXJyb3IpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgICAgcmV0dXJuIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBvblBvcFN0YXRlKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiBOYXZpZ2F0aW9uU3RhdGUge1xuICAgICAgdGhpcy5nb3RQb3BTdGF0ZVdpdGhMZWF2aW5nVXJsID0gdGhpcy5nb3RQb3BTdGF0ZVdpdGhMZWF2aW5nVXJsIHx8IGV2ZW50LnVybCA9PT0gdGhpcy5sb2NhdGlvbkNoYW5nZVRyaWdnZXJVcmw7XG4gICAgICByZXR1cm4gdGhpcy5pZ25vcmUoZXZlbnQpO1xuICAgIH1cblxuICAgIC8vIEBUcmFjZSgpXG4gICAgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWdub3JlKGV2ZW50OiBSb3V0ZXJFdmVudCwgcmVhc29uPzogc3RyaW5nKTogTmF2aWdhdGlvblN0YXRlIHtcbiAgICAgIHJlYXNvbiA9IHJlYXNvbiA/IGAgLT4gJHtyZWFzb259YCA6ICcnO1xuICAgICAgTG9nZ2VyLmdldCh0aGlzKS5pbmZvKGBpZ25vcmluZyByb3V0ZXIgZXZlbnQke3JlYXNvbn06ICR7ZXZlbnQuY29uc3RydWN0b3IubmFtZX0gLT4gJHtldmVudC51cmx9YCk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGAke3RoaXMuY29uc3RydWN0b3IubmFtZX0oaXNJZGw6ICR7dGhpcy5pZGxlfSwgc3RhcnRpbmdVcmw6ICR7dGhpcy5zdGFydGluZ1VybH0sIGxvY2F0aW9uQ2hhbmdlVHJpZ2dlclVybDoke3RoaXMubG9jYXRpb25DaGFuZ2VUcmlnZ2VyVXJsfSlgO1xuICAgIH1cblxuICB9XG59XG4iXX0=
1029
+ //# sourceMappingURL=navigation-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-state.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/guards/navigation-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, RouterEvent } from '@angular/router';\nimport { Dsl, GarbageCollector, lang, Logger, Trace } from '@coolon/pectin';\nimport { InteractionContext } from '../../interaction/interaction-context';\nimport { InteractionService } from '../../interaction/services/interaction.service';\nimport { PlaceComponent } from '../place-component';\nimport { PlaceDefinition } from '../place-definition';\nimport { PlaceRouter } from '../place-router';\nimport { UrlSnapshot } from '../url-snapshot';\nimport { Visit } from '../visit';\nimport { PlaceComponentDeactivationHandler } from './place-component-deactivation-handler';\n\nexport abstract class NavigationState extends GarbageCollector {\n\n private _visits = new Map<PlaceDefinition, Visit>();\n\n abstract readonly isTransitional: boolean;\n abstract readonly startingUrl: string;\n abstract readonly isPopState: boolean;\n\n constructor(protected readonly context: NavigationState.Context) {\n super();\n }\n\n get name(): string {\n return this.constructor.name;\n }\n\n get idle() {\n return !this.isTransitional;\n }\n\n get placeRouter(): PlaceRouter {\n return this.context.placeRouter;\n }\n\n get interactionService(): InteractionService {\n return this.context.interactionService;\n }\n\n get interactionContext(): InteractionContext {\n return null;\n }\n\n storeVisit(visit: Visit) {\n this._visits.set(visit.placeDefinition, visit);\n }\n\n getVisitFor(placeDef: PlaceDefinition) {\n return this._visits.get(placeDef);\n }\n\n onPlaceNavigationStart(visit: Visit, initialUrl: string): NavigationState {\n return this.illegalTransition('onPlaceNavigationStart');\n }\n\n onPopState(event: NavigationStart): NavigationState {\n return this.illegalTransition(event);\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n return this.illegalTransition(event);\n }\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n return this.illegalTransition(event);\n }\n\n onRouterError(event: NavigationError): NavigationState {\n return this.illegalTransition(event);\n }\n\n onRouterEnd(event: NavigationEnd): NavigationState {\n return this.illegalTransition(event);\n }\n\n onBackClickedDuringNavigationInteraction(newUrl: string): NavigationState {\n return this.illegalTransition('onBackClickedDuringNavigationInteraction');\n }\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return this.illegalTransition('canDeactivatePlace');\n }\n\n getVisits(): Visit[] {\n return Array.from(this._visits.values());\n }\n\n protected illegalTransition<R>(message: string | RouterEvent): R {\n return lang.illegalState(`${message.toString()} not supported by ${this.toString()}`);\n }\n\n protected currentRouterUrl(): string {\n return this.placeRouter.getCurrentRouterUrl();\n }\n\n protected createTransitionStateFor(event: NavigationStart) {\n const popstate = event.navigationTrigger === 'popstate';\n return popstate ?\n this.interactionService.isActive() ?\n new NavigationState.InteractionPopStateTransition(this.context, this.currentRouterUrl()) :\n new NavigationState.PopStateTransition(this.context, this.currentRouterUrl())\n :\n this.interactionService.isActive() ?\n new NavigationState.InteractionTransition(this.context, this.currentRouterUrl()) :\n new NavigationState.NavigationTransition(this.context, this.currentRouterUrl());\n }\n\n protected createIdleState() {\n return this.interactionService.isActive() ?\n new NavigationState.IdleDuringInteraction(this.context, this.currentRouterUrl()) :\n new NavigationState.Idle(this.context);\n }\n\n resetBrowserLocation(url) {\n this.placeRouter.resetBrowserLocation(url);\n }\n\n toString(): string {\n return this.constructor.name;\n }\n}\n\nexport namespace NavigationState {\n\n export class Context {\n constructor(\n readonly placeRouter: PlaceRouter,\n readonly interactionService: InteractionService,\n readonly notifySuccess: (success: NavigationState) => void) {\n }\n }\n\n export class Idle extends NavigationState {\n readonly isTransitional = false;\n readonly startingUrl = null;\n readonly isPopState = false;\n\n constructor(context: Context) {\n super(context);\n }\n\n onPlaceNavigationStart(visit: Visit, initialUrl: string): NavigationState {\n const navigationTransition = new NavigationTransition(this.context, initialUrl);\n navigationTransition.storeVisit(visit);\n return navigationTransition;\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n\n // calling angularLocation.go() to clear back state can trigger router cycles to the current url if we don't ignore them\n if (event.url === this.currentRouterUrl()) {\n Logger.get(this).info(`navigation started to same url -> ${event.url}`);\n return this;\n }\n\n if (this.placeRouter.hasActiveInteractionIds(event.url)) {\n Logger.get(this).info(`navigation started with interaction outlet -> ${event.url}`);\n return new InteractionTransition(this.context, event.url);\n } else {\n return this.createTransitionStateFor(event);\n }\n }\n\n onPopState(event: NavigationStart): NavigationState {\n return this.createTransitionStateFor(event);\n }\n }\n\n export abstract class AbstractNavigationTransition extends NavigationState {\n readonly isTransitional = true;\n private componentDeactivationHandlers = new Map<PlaceComponent, PlaceComponentDeactivationHandler>();\n private _interactionContext: InteractionContext;\n\n constructor(context: Context, readonly startingUrl: string) {\n super(context);\n this._interactionContext = this.interactionService._createExclusiveModalInteractionContext();\n this.onDispose(() => {\n // the interaction context can be detached during the back button cancellation state transition\n // as the transition is synchronous and activityCancellation isn't. Otherwise dispose will be\n // called before the context has been cancelled. It might be work having the interaction context\n // automatically cancel if the context is disposed so we don't have worry about detaching etc.\n if (this._interactionContext) {\n this._interactionContext.dispose(); // or do something like cancelAndDispose?\n }\n });\n }\n\n get interactionContext(): InteractionContext {\n return this._interactionContext;\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n // active sessions can have many cancel start cycles due\n // to place guard redirects\n return this;\n }\n\n onRouterEnd(event: NavigationEnd): NavigationState {\n // navigation succeeded\n this.context.notifySuccess(this);\n return new Idle(this.context);\n }\n\n onBackClickedDuringNavigationInteraction(locationTriggerUrl: string): NavigationState {\n Logger.get(this).info(`back button pressed during navigation session interaction promise`);\n // detach the interaction from the session so it doesn't get disposed until the activity has completed.\n const navigationInteraction = this.detachInteractionContext();\n const { when } = Dsl.disposeWith(navigationInteraction);\n // TODO: I need to make the exclusive interaction context disallow nested activities or\n // that would mess things up entirely. Or, can I do a context.abortAll().then(..)\n navigationInteraction.cancelActiveActivity().then(() => {\n navigationInteraction.dispose();\n });\n return new CancelledDuringNavigationInteraction(this.context,\n this.startingUrl,\n this.isPopState,\n locationTriggerUrl);\n }\n\n // @Trace()\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n // lookup the handler and create it if we've not seen it yet\n let handler = this.componentDeactivationHandlers.get(component);\n if (!handler) {\n const isPrimaryHandler = this.componentDeactivationHandlers.size === 0; // only primary handler cancels the app model interations\n handler = new PlaceComponentDeactivationHandler(component, this, isPrimaryHandler);\n this.componentDeactivationHandlers.set(component, handler);\n }\n return handler.canDeactivate(currentUrl, nextUrl);\n }\n\n private detachInteractionContext(): InteractionContext {\n const context = this._interactionContext;\n this._interactionContext = null;\n return context;\n }\n }\n\n export class NavigationTransition extends AbstractNavigationTransition {\n readonly isPopState = false;\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n return this;\n }\n\n onRouterError(event: NavigationError): NavigationState {\n // navigation was aborted.\n return new Idle(this.context);\n }\n\n toString(): string {\n return `${this.constructor.name}(startingUrl: ${this.startingUrl})`;\n }\n }\n\n export class PopStateTransition extends AbstractNavigationTransition {\n readonly isPopState = true;\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n // Angular doesn't preserve the url when a guard cancels the back button.\n // See https://github.com/angular/angular/issues/13586#issuecomment-432795720\n Logger.get(this).info('WORK-AROUND: Updating browser location after pop state - see angular issue #13586');\n this.resetBrowserLocation(this.startingUrl);\n return new Idle(this.context);\n }\n\n onRouterError(event: NavigationError): NavigationState {\n // navigation was aborted.\n if (this.currentRouterUrl() !== this.startingUrl) {\n // Angular doesn't preserve the url when a guard cancels the back button.\n // See https://github.com/angular/angular/issues/13586#issuecomment-432795720\n Logger.get(this).info('WORK-AROUND: Updating browser location after pop state - see angular issue #13586');\n this.resetBrowserLocation(this.startingUrl);\n }\n return new Idle(this.context);\n }\n\n }\n\n export class IdleDuringInteraction extends NavigationState {\n readonly isTransitional = false;\n readonly isPopState = false;\n\n constructor(context: Context, readonly startingUrl: string) {\n super(context);\n }\n\n onPlaceNavigationStart(visit: Visit, initialUrl: string): NavigationState {\n const navigationTransition = new InteractionTransition(this.context, initialUrl);\n navigationTransition.storeVisit(visit);\n return navigationTransition;\n }\n\n // @Trace()\n onRouterStarted(event: NavigationStart): NavigationState {\n return new InteractionTransition(this.context, event.url);\n }\n\n // @Trace()\n onPopState(event: NavigationStart): NavigationState {\n return new InteractionPopStateTransition(this.context, event.url);\n }\n }\n\n export abstract class AbstractInteractionTransition extends AbstractNavigationTransition {\n readonly isTransitional = true;\n\n constructor(context: Context, readonly startingUrl: string) {\n super(context, startingUrl);\n }\n\n }\n\n /**\n * This state exists to handle all events while any kind of navigation is in progress. That way all other states can\n * happily ignore interaction contexts.\n */\n export class InteractionTransition extends AbstractInteractionTransition {\n readonly isPopState = false;\n\n // @Trace()\n onRouterCancelled(event: NavigationCancel): NavigationState {\n if (this.context.interactionService.isActive()) {\n const interactionIds = this.interactionService.activeInteractionContextIds.value;\n this.resetBrowserLocation(this.placeRouter.parseUrl(this.startingUrl).updateInteractionIds(interactionIds).url);\n return new IdleDuringInteraction(this.context, this.startingUrl);\n } else {\n return new Idle(this.context);\n }\n }\n\n // @Trace()\n onRouterError(event: NavigationError): NavigationState {\n // navigation was aborted.\n return new IdleDuringInteraction(this.context, this.startingUrl);\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): NavigationState {\n if (this.context.interactionService.isActive()) {\n return new IdleDuringInteraction(this.context, this.startingUrl);\n } else {\n return new Idle(this.context);\n }\n }\n }\n\n /**\n * This state exists to handle all events while any kind of navigation is in progress. That way all other states can\n * happily ignore interaction contexts.\n */\n export class InteractionPopStateTransition extends AbstractInteractionTransition {\n readonly isPopState = true;\n\n // @Trace()\n onRouterCancelled(event: NavigationCancel): NavigationState {\n if (this.interactionService.isActive()) {\n const interactionIds = this.interactionService.activeInteractionContextIds.value;\n this.resetBrowserLocation(this.placeRouter.parseUrl(this.startingUrl).updateInteractionIds(interactionIds).url);\n return new IdleDuringInteraction(this.context, this.startingUrl);\n } else {\n return new Idle(this.context);\n }\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): NavigationState {\n if (this.context.interactionService.isActive()) {\n return new IdleDuringInteraction(this.context, this.startingUrl);\n } else {\n return new Idle(this.context);\n }\n }\n\n }\n\n\n export class CancelledDuringNavigationInteraction extends NavigationState {\n\n readonly isPopState = false;\n private gotPopStateWithLeavingUrl = false;\n\n constructor(context: Context,\n readonly startingUrl: string,\n readonly startingEventWasAPopState: boolean,\n readonly locationChangeTriggerUrl: string) {\n super(context);\n }\n\n get isTransitional() {\n return true;\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n return this.ignore(event);\n }\n\n // @Trace()\n onRouterCancelled(event: NavigationCancel): NavigationState {\n // Depending on the state of the router and what was done we get a different\n // sequence of events.\n // If the navigation change was triggered by clicking a link we'll get a cancel with the locationChangeTriggerUrl as the final event.\n // If the navigation change was triggered with a pop state then we'll get an onPopState with the locationChangeTriggerUrl but no cancel event with it.\n if (this.gotPopStateWithLeavingUrl && this.interactionService.isActive()) {\n const interactionIds = this.interactionService.activeInteractionContextIds.value;\n this.resetBrowserLocation(this.placeRouter.parseUrl(this.startingUrl).updateInteractionIds(interactionIds).url);\n }\n return this.gotPopStateWithLeavingUrl || this.locationChangeTriggerUrl === event.url ? this.createIdleState() : this.ignore(event);\n }\n\n onRouterEnd(event: NavigationEnd): NavigationState {\n return this.ignore(event);\n }\n\n onRouterError(event: NavigationError): NavigationState {\n return this.ignore(event);\n }\n\n onPopState(event: NavigationStart): NavigationState {\n this.gotPopStateWithLeavingUrl = this.gotPopStateWithLeavingUrl || event.url === this.locationChangeTriggerUrl;\n return this.ignore(event);\n }\n\n // @Trace()\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return false;\n }\n\n ignore(event: RouterEvent, reason?: string): NavigationState {\n reason = reason ? ` -> ${reason}` : '';\n Logger.get(this).info(`ignoring router event${reason}: ${event.constructor.name} -> ${event.url}`);\n return this;\n }\n\n toString(): string {\n return `${this.constructor.name}(isIdl: ${this.idle}, startingUrl: ${this.startingUrl}, locationChangeTriggerUrl:${this.locationChangeTriggerUrl})`;\n }\n\n }\n}\n"]}
@@ -36,4 +36,4 @@ var NoopAuthGuard = /** @class */ (function () {
36
36
  return NoopAuthGuard;
37
37
  }());
38
38
  export { NoopAuthGuard };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1hdXRoLWd1YXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL25vb3AtYXV0aC1ndWFyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0M7SUFLRTtJQUNBLENBQUM7Ozs7OztJQUVLLG1DQUFXOzs7OztJQUFqQixVQUFrQixjQUFzQyxFQUFFLEtBQTBCOzs7Z0JBQ2xGLHNCQUFPLElBQUksRUFBQzs7O0tBQ2I7O2dCQVZGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7O3dCQUxEO0NBY0MsQUFYRCxJQVdDO1NBUlksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTm9vcEF1dGhHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIGFzeW5jIGNhbkFjdGl2YXRlKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
39
+ //# sourceMappingURL=noop-auth-guard.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-auth-guard.service.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/guards/noop-auth-guard.service.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;AAG3C;IAKE;IACA,CAAC;;;;;;IAEK,mCAAW;;;;;IAAjB,UAAkB,cAAsC,EAAE,KAA0B;;;gBAClF,sBAAO,IAAI,EAAC;;;KACb;;gBAVF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;;wBALD;CAcC,AAXD,IAWC;SARY,aAAa","sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoopAuthGuard implements CanActivate {\n\n constructor() {\n }\n\n async canActivate(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean | UrlTree> {\n return true;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-auth-guard.service.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/guards/noop-auth-guard.service.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -146,4 +146,4 @@ if (false) {
146
146
  /** @type {?} */
147
147
  PlaceComponentDeactivationHandler.prototype.isPrimaryComponent;
148
148
  }
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LWRlYWN0aXZhdGlvbi1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2d1YXJkcy9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUs1QjtJQUlFLDJDQUFxQixTQUF5QixFQUFXLGVBQWdDLEVBQVcsa0JBQTJCO1FBQTFHLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQVcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFTO0lBQy9ILENBQUM7SUFFRCxzQkFBSSxpRUFBa0I7Ozs7UUFBdEI7WUFDRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUM7UUFDakQsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwwREFBVzs7OztRQUFmO1lBQ0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUMxQyxDQUFDOzs7T0FBQTs7Ozs7O0lBRUsseURBQWE7Ozs7O0lBQW5CLFVBQW9CLFVBQXVCLEVBQUUsU0FBc0I7OztnQkFDakUsMkVBQTJFO2dCQUMzRSxvRkFBb0Y7Z0JBQ3BGLHNCQUFzQjtnQkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtvQkFDOUIsd0ZBQXdGO29CQUN4RixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztpQkFDaEY7Z0JBQ0Qsc0JBQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFDOzs7S0FDbEM7SUFHRCxXQUFXOzs7Ozs7OztJQUNLLGtFQUFzQjs7Ozs7Ozs7SUFBdEMsVUFBdUMsVUFBdUIsRUFBRSxTQUFzQjs7Ozs7OzZCQUloRixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBL0Isd0JBQStCOzZCQUM3QixDQUFBLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUEsRUFBbEUsd0JBQWtFO3dCQUM5RCxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyw4QkFBOEIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO3dCQUN6RSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDLEtBQUs7NkJBRXhFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQWhDLHdCQUFnQzt3QkFDbEMscUJBQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLENBQUMsb0JBQW9CLEVBQUUsRUFBQTs7d0JBQXZFLFNBQXVFLENBQUM7d0JBQ3hFLHNCQUFPLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLEVBQUM7Ozs2QkFJaEcsQ0FBQSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUEsRUFBakYsd0JBQWlGO3dCQUNuRixxQkFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLEVBQUE7O3dCQUE5RCxTQUE4RCxDQUFDO3dCQUMvRCxzQkFBTyxVQUFVO2lDQUNkLG9CQUFvQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsRUFBQTs7d0JBTXhGLDBFQUEwRTt3QkFDMUUsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLEVBQUU7NEJBRTdDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUU7Z0NBQ2hDLHFEQUFxRDtnQ0FDckQsOEhBQThIO2dDQUM5SCwrR0FBK0c7Z0NBQy9HLHNCQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsRUFBQzs2QkFDOUU7NEJBRUQscUdBQXFHOzRCQUNyRyx3REFBd0Q7NEJBQ3hELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxFQUFFO2dDQUNyRixPQUFPLENBQUMsSUFBSSxDQUFDLDZFQUE2RSxDQUFDLENBQUM7Z0NBQzVGLHNCQUFPLEtBQUssRUFBQzs2QkFDZDt5QkFFRjt3QkFDRCxzQkFBTyxJQUFJLEVBQUM7Ozs7S0FDYjs7Ozs7O0lBRVMscUVBQXlCOzs7OztJQUFuQyxVQUFvQyxTQUFzQjtRQUN4RCxxRkFBcUY7UUFDckYsZ0ZBQWdGO1FBQ2hGLDBDQUEwQztRQUMxQyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDSCx3Q0FBQztBQUFELENBQUMsQUEvRUQsSUErRUM7Ozs7Ozs7SUE3RUMsaUVBQTZEOztJQUVqRCxzREFBa0M7O0lBQUUsNERBQXlDOztJQUFFLCtEQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVXJsU25hcHNob3QgfSBmcm9tICcuLi91cmwtc25hcHNob3QnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXRlIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXN0YXRlJztcblxuZXhwb3J0IGNsYXNzIFBsYWNlQ29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSBjYW5EZWFjdGl2YXRlUHJvbWlzZTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIHJlYWRvbmx5IG5hdmlnYXRpb25TdGF0ZTogTmF2aWdhdGlvblN0YXRlLCByZWFkb25seSBpc1ByaW1hcnlDb21wb25lbnQ6IGJvb2xlYW4pIHtcbiAgfVxuXG4gIGdldCBpbnRlcmFjdGlvblNlcnZpY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblN0YXRlLmludGVyYWN0aW9uU2VydmljZTtcbiAgfVxuXG4gIGdldCBwbGFjZVJvdXRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU3RhdGUucGxhY2VSb3V0ZXI7XG4gIH1cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0U3RhdGU6IFVybFNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+IHtcbiAgICAvLyBXZSdsbCBnZXQgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGlmIHRoZXJlJ3MgYW55IHBhcmFtZXRlciBzYW5pdGlzYXRpb24gc29cbiAgICAvLyB3ZSBhbHdheXMgcmV0dXJuIHRydWUgaWYgd2UgYWNjZXB0ZWQgcHJvbWlzZSBmcm9tIGEgcHJldmlvdXMgY3ljbGUgb2YgdGhlIGN1cnJlbnRcbiAgICAvLyBuYXZpZ2F0aW9uIHNlc3Npb24uXG4gICAgaWYgKCF0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgY3JlYXRpbmcgZGVhY3RpdmF0ZSBwcm9taXNlIGZvciAtPiAke3RoaXMuY29tcG9uZW50LmNvbnN0cnVjdG9yLm5hbWV9YCk7XG4gICAgICB0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlID0gdGhpcy5jYW5EZWFjdGl2YXRlQ29tcG9uZW50KGN1cnJlbnRVcmwsIG5leHRTdGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlO1xuICB9XG5cblxuICAvLyBAVHJhY2UoKVxuICBwcm90ZWN0ZWQgYXN5bmMgY2FuRGVhY3RpdmF0ZUNvbXBvbmVudChjdXJyZW50VXJsOiBVcmxTbmFwc2hvdCwgbmV4dFN0YXRlOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8VXJsU25hcHNob3QgfCBib29sZWFuPiB7XG4gICAgLy8gY29uc29sZS5sb2codGhpcy5uYXZpZ2F0aW9uU3RhdGUudG9TdHJpbmcoKSk7XG4gICAgLy8gQXV0b21hdGljYWxseSBjYW5jZWwgYW55IGFjdGl2ZSBhY3Rpdml0aWVzIGlmIHRoZSBuYXZpZ2F0aW9uIHNlc3Npb24gd2FzIHRyaWdnZXJlZCBieSB0aGUgYmFjayBidXR0b24uXG4gICAgLy8gSWYgd2UgaGFuZGxlZCBtb3JlIHRoYW4ganVzdCB0aGUgcG9wIHN0YXRlIHRoZW4gaXQgbGVhZHMgdG8gdGhlIFVJIGlnbm9yaW5nIGNsaWNrcyBhbmQganVzdCBjYW5jZWxsaW5nIHRoaW5ncyB3aGljaCBpcyBkZWVwbHkgZGlzY29uY2VydGluZy5cbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU3RhdGUuaXNQb3BTdGF0ZSkge1xuICAgICAgaWYgKHRoaXMuaXNQcmltYXJ5Q29tcG9uZW50ICYmIHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmlzTW9kYWxBY3RpdmUoKSkge1xuICAgICAgICBjb25zdCByb3V0ZUlkcyA9IHRoaXMucGxhY2VSb3V0ZXIuZ2V0QWN0aXZlSW50ZXJhY3Rpb25JZHNGcm9tVXJsKG5leHRTdGF0ZS51cmwpO1xuICAgICAgICBjb25zdCBjdXJyZW50SWRzID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzLnZhbHVlO1xuXG4gICAgICAgIGlmICghXy5pc0VxdWFsKGN1cnJlbnRJZHMsIHJvdXRlSWRzKSkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmdldEFjdGl2ZUNvbnRleHQoKS5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICAgICAgICAgIHJldHVybiBjdXJyZW50VXJsLnVwZGF0ZUludGVyYWN0aW9uSWRzKHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNoZWNrIGlmIHRoZSBjb21wb25lbnQgaGFzIGFuIGluIHBsYWNlIGludGVyYWN0aW9uXG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudC5pbnRlcmFjdGlvbkNvbnRleHQgJiYgdGhpcy5jb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0LmlzQWN0aXZlKCkpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNvbXBvbmVudC5pbnRlcmFjdGlvbkNvbnRleHQuY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTtcbiAgICAgICAgICByZXR1cm4gY3VycmVudFVybFxuICAgICAgICAgICAgLnVwZGF0ZUludGVyYWN0aW9uSWRzKHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcy52YWx1ZSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gT2ssIHNvIG5vdyB3ZSdyZSByZWFsbHkgbGVhdmluZywgc28gd2UgYXNrIHRoZSBjb21wb25lbnQgaWYgd2Ugc2hvdWxkLjtcbiAgICBpZiAodGhpcy5pc05vdEp1c3RBQ2hhbmdlSW5Sb3V0ZUlkKG5leHRTdGF0ZSkpIHtcblxuICAgICAgaWYgKHRoaXMuY29tcG9uZW50LmNhbkRlYWN0aXZhdGUpIHtcbiAgICAgICAgLy8gTm8gaW50ZXJhY3Rpb24gaW4gcHJvZ3Jlc3MsIHNvIGFzayB0aGUgY29tcG9uZW50IC5cbiAgICAgICAgLy8gVGhpcyBtYXkgc3RhcnQgYW4gaW50ZXJhY3Rpb24sIGhlbmNlIGNoZWNraW5nIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0IGJlZm9yZSBub3cuIEkuZS4gaWYgdGhlIHBsYWNlIHBvcHMgdXAgdGhlIGRpYWxvZywgYW5kXG4gICAgICAgIC8vIHRoZSB1c2VyIGNsaWNrcyBiYWNrIGFnYWluLCB3ZSdsbCByZS1lbnRlciBoZXJlIGFuZCBnbyBiYW5nIHdoZW4gdGhlIGNvbXBvbmVudCB0cmllcyB0byBvcGVuIGFub3RoZXIgZGlhbG9nLlxuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnQuY2FuRGVhY3RpdmF0ZSh0aGlzLm5hdmlnYXRpb25TdGF0ZS5pbnRlcmFjdGlvbkNvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICAvLyBUaGUgY29tcG9uZW50IGhhcyBhbiBhY3RpdmUgaW50ZXJhY3Rpb24gYnV0IG5vIGRlYWN0aXZhdGlvbiBob29rLiAgUmF0aGVyIHRoYW4gZ3Vlc3Npbmcgd2hhdCB0byBkb1xuICAgICAgLy8gd2UnbGwganVzdCBjYW5jZWwgdGhlIG5hdmlnYXRpb24gYW5kIHByaW50IGEgd2FybmluZy5cbiAgICAgIGlmICh0aGlzLmNvbXBvbmVudC5pbnRlcmFjdGlvbkNvbnRleHQgJiYgdGhpcy5jb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0LmlzQWN0aXZlKCkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdSb3V0ZSBjaGFuZ2VkIHdoaWxlIGNvbXBvbmVudCBoYXMgYWN0aXZlIGludGVyYWN0aW9uLCBjYW5jZWxsaW5nIG5hdmlnYXRpb24nKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzTm90SnVzdEFDaGFuZ2VJblJvdXRlSWQobmV4dFN0YXRlOiBVcmxTbmFwc2hvdCkge1xuICAgIC8vIEJlY2F1c2UgcGxhY2VzIHdpdGggYSByb3V0ZS1pZCBjb3ZlciB0d28gcm91dGUgc2VnbWVudHMgd2UgZ2V0IGFza2VkIHRvIGRlYWN0aXZhdGVcbiAgICAvLyBpZiB0aGUgcm91dGUgaWQgaXMgYWRkZWQgb3IgcmVtb3ZlZC4gIFNvIGlmIG91ciBwYXRoIGlzIHN0aWxsIHByZXNlbnQgdGhlIHVybFxuICAgIC8vIHRoZW4gd2Ugc2hvdWxkbid0IGRlYWN0aXZhdGUgdGhlIHBsYWNlLlxuICAgIHJldHVybiAhbmV4dFN0YXRlLmluY2x1ZGVzUGF0aE9mKHRoaXMuY29tcG9uZW50LnBsYWNlRGVmaW5pdGlvbik7XG4gIH1cbn1cbiJdfQ==
149
+ //# sourceMappingURL=place-component-deactivation-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place-component-deactivation-handler.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/guards/place-component-deactivation-handler.ts"],"names":[],"mappings":";;;;;AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAK5B;IAIE,2CAAqB,SAAyB,EAAW,eAAgC,EAAW,kBAA2B;QAA1G,cAAS,GAAT,SAAS,CAAgB;QAAW,oBAAe,GAAf,eAAe,CAAiB;QAAW,uBAAkB,GAAlB,kBAAkB,CAAS;IAC/H,CAAC;IAED,sBAAI,iEAAkB;;;;QAAtB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;QACjD,CAAC;;;OAAA;IAED,sBAAI,0DAAW;;;;QAAf;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;QAC1C,CAAC;;;OAAA;;;;;;IAEK,yDAAa;;;;;IAAnB,UAAoB,UAAuB,EAAE,SAAsB;;;gBACjE,2EAA2E;gBAC3E,oFAAoF;gBACpF,sBAAsB;gBACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;oBAC9B,wFAAwF;oBACxF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;iBAChF;gBACD,sBAAO,IAAI,CAAC,oBAAoB,EAAC;;;KAClC;IAGD,WAAW;;;;;;;;IACK,kEAAsB;;;;;;;;IAAtC,UAAuC,UAAuB,EAAE,SAAsB;;;;;;6BAIhF,IAAI,CAAC,eAAe,CAAC,UAAU,EAA/B,wBAA+B;6BAC7B,CAAA,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAA,EAAlE,wBAAkE;wBAC9D,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,SAAS,CAAC,GAAG,CAAC;wBACzE,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,KAAK;6BAExE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAhC,wBAAgC;wBAClC,qBAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,EAAA;;wBAAvE,SAAuE,CAAC;wBACxE,sBAAO,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAC;;;6BAIhG,CAAA,IAAI,CAAC,SAAS,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAA,EAAjF,wBAAiF;wBACnF,qBAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,EAAA;;wBAA9D,SAA8D,CAAC;wBAC/D,sBAAO,UAAU;iCACd,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAA;;wBAMxF,0EAA0E;wBAC1E,IAAI,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE;4BAE7C,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;gCAChC,qDAAqD;gCACrD,8HAA8H;gCAC9H,+GAA+G;gCAC/G,sBAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAC;6BAC9E;4BAED,qGAAqG;4BACrG,wDAAwD;4BACxD,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE;gCACrF,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;gCAC5F,sBAAO,KAAK,EAAC;6BACd;yBAEF;wBACD,sBAAO,IAAI,EAAC;;;;KACb;;;;;;IAES,qEAAyB;;;;;IAAnC,UAAoC,SAAsB;QACxD,qFAAqF;QACrF,gFAAgF;QAChF,0CAA0C;QAC1C,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC;IACH,wCAAC;AAAD,CAAC,AA/ED,IA+EC;;;;;;;IA7EC,iEAA6D;;IAEjD,sDAAkC;;IAAE,4DAAyC;;IAAE,+DAAoC","sourcesContent":["import { Trace } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { PlaceComponent } from '../place-component';\nimport { UrlSnapshot } from '../url-snapshot';\nimport { NavigationState } from './navigation-state';\n\nexport class PlaceComponentDeactivationHandler {\n\n private canDeactivatePromise: Promise<boolean | UrlSnapshot>;\n\n constructor(readonly component: PlaceComponent, readonly navigationState: NavigationState, readonly isPrimaryComponent: boolean) {\n }\n\n get interactionService() {\n return this.navigationState.interactionService;\n }\n\n get placeRouter() {\n return this.navigationState.placeRouter;\n }\n\n async canDeactivate(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n // We'll get called multiple times if there's any parameter sanitisation so\n // we always return true if we accepted promise from a previous cycle of the current\n // navigation session.\n if (!this.canDeactivatePromise) {\n // console.log(`creating deactivate promise for -> ${this.component.constructor.name}`);\n this.canDeactivatePromise = this.canDeactivateComponent(currentUrl, nextState);\n }\n return this.canDeactivatePromise;\n }\n\n\n // @Trace()\n protected async canDeactivateComponent(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<UrlSnapshot | boolean> {\n // console.log(this.navigationState.toString());\n // Automatically cancel any active activities if the navigation session was triggered by the back button.\n // If we handled more than just the pop state then it leads to the UI ignoring clicks and just cancelling things which is deeply disconcerting.\n if (this.navigationState.isPopState) {\n if (this.isPrimaryComponent && this.interactionService.isModalActive()) {\n const routeIds = this.placeRouter.getActiveInteractionIdsFromUrl(nextState.url);\n const currentIds = this.interactionService.activeInteractionContextIds.value;\n\n if (!_.isEqual(currentIds, routeIds)) {\n await this.interactionService.getActiveContext().cancelActiveActivity();\n return currentUrl.updateInteractionIds(this.interactionService.activeInteractionContextIds.value);\n }\n } else {\n // check if the component has an in place interaction\n if (this.component.interactionContext && this.component.interactionContext.isActive()) {\n await this.component.interactionContext.cancelActiveActivity();\n return currentUrl\n .updateInteractionIds(this.interactionService.activeInteractionContextIds.value)\n }\n }\n }\n\n\n // Ok, so now we're really leaving, so we ask the component if we should.;\n if (this.isNotJustAChangeInRouteId(nextState)) {\n\n if (this.component.canDeactivate) {\n // No interaction in progress, so ask the component .\n // This may start an interaction, hence checking the interaction context before now. I.e. if the place pops up the dialog, and\n // the user clicks back again, we'll re-enter here and go bang when the component tries to open another dialog.\n return this.component.canDeactivate(this.navigationState.interactionContext);\n }\n\n // The component has an active interaction but no deactivation hook. Rather than guessing what to do\n // we'll just cancel the navigation and print a warning.\n if (this.component.interactionContext && this.component.interactionContext.isActive()) {\n console.warn('Route changed while component has active interaction, cancelling navigation');\n return false;\n }\n\n }\n return true;\n }\n\n protected isNotJustAChangeInRouteId(nextState: UrlSnapshot) {\n // Because places with a route-id cover two route segments we get asked to deactivate\n // if the route id is added or removed. So if our path is still present the url\n // then we shouldn't deactivate the place.\n return !nextState.includesPathOf(this.component.placeDefinition);\n }\n}\n"]}
@@ -297,4 +297,4 @@ if (false) {
297
297
  */
298
298
  PlaceGuard.prototype.getAuthGuard = function (injector) { };
299
299
  }
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsT0FBTyxFQUFFLElBQUksRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUdwRTs7OztJQUdFLG9CQUE2QixNQUFjLEVBQ3ZCLGFBQTRCLEVBQ25CLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLGtCQUFzQyxFQUN0QyxRQUFrQjtRQUxsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3ZCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMvQyxDQUFDO0lBRUQsV0FBVzs7Ozs7OztJQUNMLGdDQUFXOzs7Ozs7O0lBQWpCLFVBQWtCLGNBQXNDLEVBQUUsS0FBMEI7Ozs7Z0JBRWpGLHlHQUF5RztnQkFDMUcsNkRBQTZEO2dCQUM3RCxzQkFBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLEtBQUs7Ozs7b0JBQUUsVUFBTyxlQUFlOzs7Ozt3Q0FFM0QscUJB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aUJBQ2Y7Ozs7S0FDRjtJQUVILGlCQUFDO0FBQUQsQ0FBQyxBQWhHRCxJQWdHQzs7Ozs7Ozs7OztJQTdGYSw0QkFBK0I7Ozs7O0lBQy9CLG1DQUFvQzs7Ozs7SUFDcEMsaUNBQXlDOzs7OztJQUN6QyxrQ0FBMkM7Ozs7O0lBQzNDLHdDQUF1RDs7Ozs7SUFDdkQsOEJBQW1DOzs7Ozs7SUEwRS9DLDREQUF1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBDYW5BY3RpdmF0ZSxcbiAgQ2FuRGVhY3RpdmF0ZSxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBVcmxTZXJpYWxpemVyLFxuICBVcmxUcmVlXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBsYW5nLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBQbGFjZUhpc3RvcnkgfSBmcm9tICcuLi9wbGFjZS1oaXN0b3J5JztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IFZpc2l0U2FuaXRpc2VyIH0gZnJvbSAnLi4vcm91dGUvdmlzaXQtc2FuaXRpc2VyJztcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSAnLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vdmlzaXQnO1xuaW1wb3J0IHsgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwIH0gZnJvbSAnLi9jb25zb2xpZGF0ZWQtcGFyYW0tbWFwJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGxhY2VHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5EZWFjdGl2YXRlPFBsYWNlQ29tcG9uZW50PiB7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHVybFNlcmlhbGl6ZXI6IFVybFNlcmlhbGl6ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGludGVyYWN0aW9uU2VydmljZTogSW50ZXJhY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuQWN0aXZhdGUoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuXG4gICAgIC8vIFRPRE86IHRoaXMgaXMgdWdseSBub3cgdGhhdCBJJ20gcmV0dXJuIFVybFNuYXBzaG90cyBhbmQgbm90IFVybFRyZWVzLiAgSXQnZCBiZSBiZXR0ZXIgaWYgdGhlIGZ1bmN0aW9uc1xuICAgIC8vICAgICAgICB3ZXJlbid0IG5lc3RlZCBvciBpZiBJIGltcGxlbWVudGVkIGEgaGFuZGxlciBjaGFpbi5cbiAgICByZXR1cm4gdGhpcy5hdXRob3Jpc2VQbGFjZVRoZW4oYWN0aXZhdGVkUm91dGUsIHN0YXRlLCBhc3luYyAocGxhY2VEZWZpbml0aW9uKSA9PiB7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xlYW5JbnRlcmFjdGlvblN0YXRlKGFjdGl2YXRlZFJvdXRlLCBzdGF0ZSwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAvLyBQYXJzZSBvdXIgcm91dGUgcGFyYW1zLlxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwKGFjdGl2YXRlZFJvdXRlLnBhcmFtTWFwLCBhY3RpdmF0ZWRSb3V0ZS51cmwpO1xuICAgICAgICBjb25zdCBwYXJzZWRQYXJhbXMgPSBwbGFjZURlZmluaXRpb24ucGFyc2VSb3V0ZVBhcmFtcyhwYXJhbXMpO1xuXG4gICAgICAgIGNvbnN0IGluaXRpYWxWaXNpdCA9IHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblN0YXRlLmdldFZpc2l0Rm9yKHBsYWNlRGVmaW5pdGlvbikgfHwgbmV3IFZpc2l0KHBsYWNlRGVmaW5pdGlvbiwgcGFyc2VkUGFyYW1zKTtcbiAgICAgICAgY29uc3Qgc2FuaXRpc2VyID0gbmV3IFZpc2l0U2FuaXRpc2VyKGFjdGl2YXRlZFJvdXRlLCB0aGlzLnJvdXRlciwgdGhpcy5wbGFjZUhpc3RvcnksIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBzYW5pdGlzZWRWaXNpdCA9IGF3YWl0IHNhbml0aXNlci5zYW5pdGlzZShpbml0aWFsVmlzaXQubWVyZ2VSb3V0ZVBhcmFtZXRlcnMocGFyc2VkUGFyYW1zKSk7XG5cbiAgICAgICAgLy8gU2F2ZSB0aGUgdmlzaXQgd2l0aCBhbnkgdXBkYXRlZCBwYXJhbWV0ZXJzLiAgV2UgbmVlZCB0byBzYXZlIGl0IHNvIHdlIHJlbWVtYmVyIGFueSBub24gcm91dGUgcGFyYW1ldGVyc1xuICAgICAgICB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TdGF0ZS5zdG9yZVZpc2l0KHNhbml0aXNlZFZpc2l0KTtcbiAgICAgICAgaWYgKGluaXRpYWxWaXNpdC5oYXNSb3V0aW5nQ2hhbmdlZEZyb20oc2FuaXRpc2VkVmlzaXQpKSB7XG4gICAgICAgICAgLy8gUmVnZW5lcmF0ZSB0aGUgdXJsXG4gICAgICAgICAgY29uc3QgdXJsU25hcHNob3QgPSB0aGlzLnBsYWNlUm91dGVyLnBhcnNlVXJsKHN0YXRlLnVybCkudXBkYXRlVmlzaXRTZWdtZW50cyhzYW5pdGlzZWRWaXNpdCk7XG4gICAgICAgICAgY29uc29sZS5sb2coJyMjIyMjIFBsYWNlIEd1YXJkIFJlZGlyZWN0JywgdXJsU25hcHNob3QpO1xuICAgICAgICAgIHJldHVybiB1cmxTbmFwc2hvdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVHdWFyZFJlc3VsdChyZXN1bHQpO1xuXG4gICAgfSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0U3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLnBsYWNlUm91dGVyLnBhcnNlVXJsKGN1cnJlbnRTdGF0ZS51cmwpO1xuICAgIGNvbnN0IG5leHRVcmwgPSB0aGlzLnBsYWNlUm91dGVyLnBhcnNlVXJsKG5leHRTdGF0ZS51cmwpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblN0YXRlLmNhbkRlYWN0aXZhdGVQbGFjZShjb21wb25lbnQsIGN1cnJlbnRVcmwsIG5leHRVcmwpO1xuICAgIHJldHVybiB0aGlzLmhhbmRsZUd1YXJkUmVzdWx0KHJlc3VsdCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUd1YXJkUmVzdWx0KHJlc3VsdCkge1xuICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBVcmxTbmFwc2hvdCkge1xuICAgICAgcmV0dXJuIHJlc3VsdC51cmxUcmVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByb3RlY3RlZCBhc3luYyBhdXRob3Jpc2VQbGFjZVRoZW4oYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBydW5QbGFjZUd1YXJkczogKHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uKSA9PiBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPikge1xuICAgIGlmIChQbGFjZUNvbXBvbmVudC5pc1BsYWNlQ29tcG9uZW50Q29uc3RydWN0b3IoYWN0aXZhdGVkUm91dGUuY29tcG9uZW50KSkge1xuICAgICAgY29uc3QgcGxhY2VEZWZpbml0aW9uID0gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihhY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnQpO1xuICAgICAgY29uc3QgYXV0aG9yaXNlUmVzdWx0ID0gcGxhY2VEZWZpbml0aW9uLmF1dGhlbnRpY2F0ZSA/IGF3YWl0IHRoaXMuaXNBdXRob3Jpc2VkKGFjdGl2YXRlZFJvdXRlLCBzdGF0ZSkgOiB0cnVlO1xuICAgICAgaWYgKGF1dGhvcmlzZVJlc3VsdCA9PT0gdHJ1ZSkge1xuICAgICAgICAvLyB3ZSdyZSBhdXRob3Jpc2VkLCBub3cgcnVuIHRoZSBwbGFjZSBndWFyZHMuXG4gICAgICAgIHJldHVybiBydW5QbGFjZUd1YXJkcyhwbGFjZURlZmluaXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coJ25vdCBhdXRob3Jpc2VkIHJlc3VsdCcsIGF1dGhvcmlzZVJlc3VsdCk7XG4gICAgICAgIHJldHVybiBhdXRob3Jpc2VSZXN1bHQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBsYW5nLmlsbGVnYWxTdGF0ZShgZXhwZWN0ZWQgY29tcG9uZW50IHRvIGJlIGFuIGluc3RhbmNlIG9mIFBsYWNlQ29tcG9uZW50LCBnb3QgJHthY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnR9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgaXNBdXRob3Jpc2VkKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHtcbiAgICBjb25zdCBhdXRob3Jpc2VkID0gdGhpcy5nZXRBdXRoR3VhcmQodGhpcy5pbmplY3RvcikuY2FuQWN0aXZhdGUoYWN0aXZhdGVkUm91dGUsIHN0YXRlKTtcbiAgICByZXR1cm4gKGF1dGhvcmlzZWQgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSA/IGF1dGhvcmlzZWQudG9Qcm9taXNlKCkgOiBhdXRob3Jpc2VkO1xuICB9XG5cbiAgYWJzdHJhY3QgZ2V0QXV0aEd1YXJkKGluamVjdG9yOiBJbmplY3Rvcik6IENhbkFjdGl2YXRlO1xuXG4gIC8vIEBUcmFjZSgpXG4gIGFzeW5jIGNsZWFuSW50ZXJhY3Rpb25TdGF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsIHRoZW46ICgpID0+IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90Pik6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5wbGFjZVJvdXRlci5wYXJzZVVybChzdGF0ZS51cmwpO1xuICAgIGlmICghdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuaXNBY3RpdmUoKSAmJiB1cmwuaGFzSW50ZXJhY3Rpb25JZHMoKSkge1xuICAgICAgLy8gVGhpcyBoYXBwZW5zIGlmIHdlIHJlbG9hZCB0aGUgcGFnZSBvciB0aGUgdXJsIHdhcyBwYXN0ZWQgYXMgdGhlIHJvdXRlIHNob3VsZCBvbmx5IGJlIGFjdGl2YXRlZFxuICAgICAgLy8gYWZ0ZXIgdGhlIGludGVyYWN0aW9uIGNvbnRleHQgaGFzIGJlY29tZSBhY3RpdmUuXG4gICAgICByZXR1cm4gdXJsLnJlbW92ZUludGVyYWN0aW9uSWRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGVuKCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
300
+ //# sourceMappingURL=place.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place.guard.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/guards/place.guard.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injector } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n CanDeactivate,\n Router,\n RouterStateSnapshot,\n UrlSerializer,\n UrlTree\n} from '@angular/router';\nimport { lang, Trace } from '@coolon/pectin';\nimport { Observable } from 'rxjs';\nimport { InteractionService } from '../../interaction/services/interaction.service';\nimport { PlaceComponent } from '../place-component';\nimport { PlaceDefinition } from '../place-definition';\nimport { PlaceHistory } from '../place-history';\nimport { PlaceRouter } from '../place-router';\nimport { VisitSanitiser } from '../route/visit-sanitiser';\nimport { UrlSnapshot } from '../url-snapshot';\nimport { Visit } from '../visit';\nimport { ConsolidatedParameterMap } from './consolidated-param-map';\n\n\nexport abstract class PlaceGuard implements CanActivate, CanDeactivate<PlaceComponent> {\n\n\n constructor(private readonly router: Router,\n private urlSerializer: UrlSerializer,\n private readonly placeRouter: PlaceRouter,\n private readonly placeHistory: PlaceHistory,\n private readonly interactionService: InteractionService,\n private readonly injector: Injector) {\n }\n\n // @Trace()\n async canActivate(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean | UrlTree> {\n\n // TODO: this is ugly now that I'm return UrlSnapshots and not UrlTrees. It'd be better if the functions\n // weren't nested or if I implemented a handler chain.\n return this.authorisePlaceThen(activatedRoute, state, async (placeDefinition) => {\n\n const result = await this.cleanInteractionState(activatedRoute, state, async () => {\n // Parse our route params.\n const params = new ConsolidatedParameterMap(activatedRoute.paramMap, activatedRoute.url);\n const parsedParams = placeDefinition.parseRouteParams(params);\n\n const initialVisit = this.placeRouter.navigationState.getVisitFor(placeDefinition) || new Visit(placeDefinition, parsedParams);\n const sanitiser = new VisitSanitiser(activatedRoute, this.router, this.placeHistory, this.injector);\n const sanitisedVisit = await sanitiser.sanitise(initialVisit.mergeRouteParameters(parsedParams));\n\n // Save the visit with any updated parameters. We need to save it so we remember any non route parameters\n this.placeRouter.navigationState.storeVisit(sanitisedVisit);\n if (initialVisit.hasRoutingChangedFrom(sanitisedVisit)) {\n // Regenerate the url\n const urlSnapshot = this.placeRouter.parseUrl(state.url).updateVisitSegments(sanitisedVisit);\n console.log('##### Place Guard Redirect', urlSnapshot);\n return urlSnapshot;\n } else {\n return true;\n }\n });\n return this.handleGuardResult(result);\n\n });\n }\n\n // @Trace()\n async canDeactivate(component: PlaceComponent, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): Promise<boolean | UrlTree> {\n const currentUrl = this.placeRouter.parseUrl(currentState.url);\n const nextUrl = this.placeRouter.parseUrl(nextState.url);\n const result = await this.placeRouter.navigationState.canDeactivatePlace(component, currentUrl, nextUrl);\n return this.handleGuardResult(result);\n }\n\n private handleGuardResult(result) {\n if (result instanceof UrlSnapshot) {\n return result.urlTree;\n } else {\n return result;\n }\n }\n\n // @Trace()\n protected async authorisePlaceThen(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot, runPlaceGuards: (placeDefinition: PlaceDefinition) => Promise<boolean | UrlTree>) {\n if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {\n const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);\n const authoriseResult = placeDefinition.authenticate ? await this.isAuthorised(activatedRoute, state) : true;\n if (authoriseResult === true) {\n // we're authorised, now run the place guards.\n return runPlaceGuards(placeDefinition);\n } else {\n console.log('not authorised result', authoriseResult);\n return authoriseResult;\n }\n } else {\n return lang.illegalState(`expected component to be an instance of PlaceComponent, got ${activatedRoute.component}`);\n }\n }\n\n // @Trace()\n async isAuthorised(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean | UrlTree> {\n const authorised = this.getAuthGuard(this.injector).canActivate(activatedRoute, state);\n return (authorised instanceof Observable) ? authorised.toPromise() : authorised;\n }\n\n abstract getAuthGuard(injector: Injector): CanActivate;\n\n // @Trace()\n async cleanInteractionState(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, then: () => Promise<boolean | UrlSnapshot>): Promise<boolean | UrlSnapshot> {\n const url = this.placeRouter.parseUrl(state.url);\n if (!this.interactionService.isActive() && url.hasInteractionIds()) {\n // This happens if we reload the page or the url was pasted as the route should only be activated\n // after the interaction context has become active.\n return url.removeInteractionIds();\n } else {\n return then();\n }\n }\n\n}\n"]}
@@ -34,4 +34,4 @@ export { ParameterDefinition } from "./route/parameter-definition.class";
34
34
  export {} from "./route/parameter-sanitiser";
35
35
  export {} from "./route/parameter-snapshot";
36
36
  export { VisitSanitiser } from "./route/visit-sanitiser";
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGVBQWMsWUFBWSxDQUFDO0FBQzNCLG1GQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGlDQUFjLGdCQUFnQixDQUFDO0FBQy9CLGdDQUFjLG9CQUFvQixDQUFDO0FBQ25DLDZCQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLFNBQVMsQ0FBQztBQUN4QixpREFBYyxrREFBa0QsQ0FBQztBQUNqRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvQ0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxzQ0FBYyxzREFBc0QsQ0FBQztBQUNyRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvRUFBYyw0Q0FBNEMsQ0FBQztBQUMzRCwrQ0FBYyx3RUFBd0UsQ0FBQztBQUN2Rix5Q0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxnQ0FBYywyQkFBMkIsQ0FBQztBQUMxQyw4QkFBYyxrQ0FBa0MsQ0FBQztBQUNqRCxrREFBYywrQ0FBK0MsQ0FBQztBQUM5RCwyQkFBYyxzQkFBc0IsQ0FBQztBQUNyQywwQkFBYyxtQkFBbUIsQ0FBQztBQUNsQyxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLDREQUFjLDhCQUE4QixDQUFDO0FBQzdDLG9DQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGVBQWMsNkJBQTZCLENBQUM7QUFDNUMsZUFBYyw0QkFBNEIsQ0FBQztBQUMzQywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL25hdi1pdGVtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLWNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtZGVmaW5pdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtaGlzdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2Utcm91dGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS5kZWNvcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXJsLXNuYXBzaG90XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92aXNpdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvbGlzdC1wbGFjZS1uYXYvbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9yb3V0ZS1hbmltYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2NvbnNvbGlkYXRlZC1wYXJhbS1tYXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9uYXZpZ2F0aW9uLXN0YXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbm9vcC1hdXRoLWd1YXJkLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9wbGFjZS5ndWFyZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvZm9ybWF0dGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9qc29uLXR5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1zYW5pdGlzZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvdmlzaXQtc2FuaXRpc2VyXCI7XG4iXX0=
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/index.ts"],"names":[],"mappings":";;;;;;;AAIA,eAAc,YAAY,CAAC;AAC3B,mFAAc,mBAAmB,CAAC;AAClC,iCAAc,gBAAgB,CAAC;AAC/B,gCAAc,oBAAoB,CAAC;AACnC,6BAAc,iBAAiB,CAAC;AAChC,4BAAc,gBAAgB,CAAC;AAC/B,sBAAc,mBAAmB,CAAC;AAClC,4BAAc,gBAAgB,CAAC;AAC/B,4BAAc,gBAAgB,CAAC;AAC/B,sBAAc,SAAS,CAAC;AACxB,iDAAc,kDAAkD,CAAC;AACjE,qCAAc,kDAAkD,CAAC;AACjE,oCAAc,gDAAgD,CAAC;AAC/D,sCAAc,sDAAsD,CAAC;AACrE,qCAAc,kDAAkD,CAAC;AACjE,oEAAc,4CAA4C,CAAC;AAC3D,+CAAc,wEAAwE,CAAC;AACvF,yCAAc,iCAAiC,CAAC;AAChD,gCAAc,2BAA2B,CAAC;AAC1C,8BAAc,kCAAkC,CAAC;AACjD,kDAAc,+CAA+C,CAAC;AAC9D,2BAAc,sBAAsB,CAAC;AACrC,0BAAc,mBAAmB,CAAC;AAClC,eAAc,oBAAoB,CAAC;AACnC,4DAAc,8BAA8B,CAAC;AAC7C,oCAAc,oCAAoC,CAAC;AACnD,eAAc,6BAA6B,CAAC;AAC5C,eAAc,4BAA4B,CAAC;AAC3C,+BAAc,yBAAyB,CAAC","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./nav-item\";\nexport * from \"./place-component\";\nexport * from \"./place-config\";\nexport * from \"./place-definition\";\nexport * from \"./place-history\";\nexport * from \"./place-router\";\nexport * from \"./place.decorator\";\nexport * from \"./place.module\";\nexport * from \"./url-snapshot\";\nexport * from \"./visit\";\nexport * from \"./components/abstract-place-navigation.component\";\nexport * from \"./components/busy-overlay/busy-overlay.component\";\nexport * from \"./components/empty-state/empty-state.component\";\nexport * from \"./components/list-place-nav/list-place-nav.component\";\nexport * from \"./components/place-outlet/place-outlet.component\";\nexport * from \"./components/place-outlet/route-animations\";\nexport * from \"./components/tabbed-place-navigation/tabbed-place-navigation.component\";\nexport * from \"./guards/consolidated-param-map\";\nexport * from \"./guards/navigation-state\";\nexport * from \"./guards/noop-auth-guard.service\";\nexport * from \"./guards/place-component-deactivation-handler\";\nexport * from \"./guards/place.guard\";\nexport * from \"./route/formatter\";\nexport * from \"./route/json-types\";\nexport * from \"./route/parameter-decorators\";\nexport * from \"./route/parameter-definition.class\";\nexport * from \"./route/parameter-sanitiser\";\nexport * from \"./route/parameter-snapshot\";\nexport * from \"./route/visit-sanitiser\";\n"]}
@@ -20,4 +20,4 @@ if (false) {
20
20
  */
21
21
  NavItem.prototype.tooltip = function () { };
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvbmF2LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLDZCQU1DOzs7OztJQUxDLDBDQUFnQjs7OztJQUVoQix5Q0FBZ0I7Ozs7SUFFaEIsNENBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOYXZJdGVtIHtcbiAgdGl0bGUoKTogc3RyaW5nO1xuXG4gIGljb24/KCk6IHN0cmluZztcblxuICB0b29sdGlwPygpOiBzdHJpbmc7XG59XG4iXX0=
23
+ //# sourceMappingURL=nav-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-item.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/nav-item.ts"],"names":[],"mappings":";;;;;;;AAAA,6BAMC;;;;;IALC,0CAAgB;;;;IAEhB,yCAAgB;;;;IAEhB,4CAAmB","sourcesContent":["export interface NavItem {\n title(): string;\n\n icon?(): string;\n\n tooltip?(): string;\n}\n"]}
@@ -162,4 +162,4 @@ if (false) {
162
162
  }
163
163
  PlaceComponent.injectDefinition = injectDefinition;
164
164
  })(PlaceComponent || (PlaceComponent = {}));
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFtQyxJQUFJLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xFLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLckQsTUFBTSxLQUFPLHdCQUF3QixHQUFHLDBCQUEwQjs7O0FBRWxFLE1BQU0sS0FBTyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7QUFFeEU7SUFBb0MsMENBQW1CO0lBU3JEO2VBQ0UsaUJBQU87SUFDVCxDQUFDOzs7OztJQUVNLDJDQUFrQjs7OztJQUF6QixVQUEwQixLQUF3QjtRQUFsRCxpQkFNQztRQUxDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxZQUFZO1lBQy9ELEtBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7O0lBRU8sdUNBQWM7Ozs7OztJQUF0QixVQUE2QixZQUF1Qzs7WUFDNUQsS0FBSyxHQUFHLG1CQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQXVCO1FBQ3BFLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDckQsT0FBTzs7OztZQUFQLFVBQVEsS0FBWTs7b0JBQ1osS0FBSyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDbkQsNEVBQTRFO2dCQUM1RSxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxNQUFNOzs7OztZQUFOLFVBQU8sS0FBUSxFQUFFLFlBQW9CO2dCQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssT0FBQSxFQUFFLFlBQVksY0FBQSxFQUFFLENBQUMsQ0FBQztnQkFDL0UsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO1NBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBR0Qsc0JBQUksMkNBQWU7Ozs7UUFBbkI7WUFDRSxPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsbUJBQUEsbUJBQUEsSUFBSSxDQUFDLFdBQVcsRUFBTyxFQUFpQyxDQUFDLENBQUM7UUFDaEcsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSx1Q0FBVzs7OztRQUFmO1lBQ0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsU0FBUyxFQUFYLENBQVcsRUFBQyxDQUFDO1FBQzdELENBQUM7OztPQUFBOzs7O0lBRUQscUNBQVk7OztJQUFaO0lBQ0EsQ0FBQztJQVREO1FBREMsT0FBTyxFQUFFOzBDQUNhLGVBQWU7O3lEQUVyQztJQVNILHFCQUFDO0NBQUEsQUFqREQsQ0FBb0MsbUJBQW1CLEdBaUR0RDtTQWpEWSxjQUFjOzs7Ozs7SUFFekIsK0JBQWlDOztJQUdqQyw0Q0FBd0M7O0FBOEMxQyxXQUFpQixjQUFjOzs7OztJQUU3QixTQUFnQiwyQkFBMkIsQ0FBQyxNQUFXO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRmUsMENBQTJCLDhCQUUxQyxDQUFBOzs7OztJQUVELFNBQWdCLGtCQUFrQixDQUFDLEtBQW9DO1FBQ3JFLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRmUsaUNBQWtCLHFCQUVqQyxDQUFBOzs7OztJQUVELFNBQWdCLGFBQWEsQ0FBQyxLQUFvQztRQUNoRSxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUZlLDRCQUFhLGdCQUU1QixDQUFBOzs7Ozs7SUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxLQUFvQyxFQUFFLFVBQTJCO1FBQ2hHLE9BQU8sQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFGZSwrQkFBZ0IsbUJBRS9CLENBQUE7QUFFSCxDQUFDLEVBbEJnQixjQUFjLEtBQWQsY0FBYyxRQWtCOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnQsIEJpbmRpbmcsIENvbnN0cnVjdGFibGUsIElNdXRhYmxlSGFzVmFsdWUsIGxhbmcsIFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBLbGFzcyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvcic7XG5pbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuL3Zpc2l0JztcblxuLy8gUkFLRTogbWFraW5nIHRoaXMgU3ltYm9sKC4uLikgYnJva2UgdGhpbmdzLlxuZXhwb3J0IGNvbnN0IERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSA9ICdQTEFDRV9ERUZJTklUSU9OX09QVElPTlMnO1xuLy8gdGhpcyBvbmUgc2VlbXMgb2suXG5leHBvcnQgY29uc3QgUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZID0gU3ltYm9sKCdwbGFjZTpyb3V0ZTpwYXJhbWV0ZXJzJyk7XG5cbmV4cG9ydCBjbGFzcyBQbGFjZUNvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIHByaXZhdGUgdmlzaXQ6IFZhbHVlTW9kZWw8VmlzaXQ+O1xuICAvLyBwcml2YXRlIF9pbkRlYWN0aXZhdGlvbkd1YXJkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBpbnRlcmFjdGlvbkNvbnRleHQ/OiBJbnRlcmFjdGlvbkNvbnRleHQ7XG5cbiAgY2FuRGVhY3RpdmF0ZT8oaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpc2VCaW5kaW5ncyh2aXNpdDogVmFsdWVNb2RlbDxWaXNpdD4pIHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy52aXNpdCk7XG4gICAgdGhpcy52aXNpdCA9IHZpc2l0O1xuICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldFZpc2l0UGFyYW1ldGVyRGVmcygpLmZvckVhY2gocGFyYW1ldGVyRGVmID0+IHtcbiAgICAgIHRoaXMuaW5zdGFsbEJpbmRpbmcocGFyYW1ldGVyRGVmKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbEJpbmRpbmc8VCwgUz4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KSB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzW3BhcmFtZXRlckRlZi5wcm9wZXJ0eU5hbWVdIGFzIElNdXRhYmxlSGFzVmFsdWU8Uz47XG4gICAgLy8gdGhpcy50eG8ub2JzZXJ2ZShwYXJhbWV0ZXJEZWYucHJvcGVydHlOYW1lLCBtb2RlbCk7XG4gICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEJpbmRpbmcodGhpcy52aXNpdCwgbW9kZWwsIHtcbiAgICAgIHRvUmlnaHQodmlzaXQ6IFZpc2l0KTogUyB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmlzaXQuZ2V0UGFyYW1ldGVyKHBhcmFtZXRlckRlZi5uYW1lKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3B1c2ggdG8gY29tcG9uZW50Jywge25hbWU6cGFyYW1ldGVyRGVmLm5hbWUsIHZhbHVlLCB2aXNpdH0pO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9LFxuICAgICAgdG9MZWZ0KHZhbHVlOiBTLCBjdXJyZW50VmlzaXQ/OiBWaXNpdCk6IFZpc2l0IHtcbiAgICAgICAgY29uc29sZS5sb2coJ3B1c2ggdG8gcm91dGUnLCB7IG5hbWU6IHBhcmFtZXRlckRlZi5uYW1lLCB2YWx1ZSwgY3VycmVudFZpc2l0IH0pO1xuICAgICAgICByZXR1cm4gY3VycmVudFZpc2l0LnJlcGxhY2UocGFyYW1ldGVyRGVmLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXQgcGxhY2VEZWZpbml0aW9uKCk6IFBsYWNlRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24odGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkgYXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pO1xuICB9XG5cbiAgZ2V0IGNoaWxkUGxhY2VzKCk6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W10ge1xuICAgIHJldHVybiB0aGlzLnBsYWNlRGVmaW5pdGlvbi5jaGlsZHJlbi5tYXAoZCA9PiBkLmNvbXBvbmVudCk7XG4gIH1cblxuICBvblBsYWNlUmVhZHkoKSB7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlQ29tcG9uZW50IHtcblxuICBleHBvcnQgZnVuY3Rpb24gaXNQbGFjZUNvbXBvbmVudENvbnN0cnVjdG9yKHRhcmdldDogYW55KTogdGFyZ2V0IGlzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+IHtcbiAgICByZXR1cm4gbGFuZy5jb25zdHJ1Y3RvckNoYWluKHRhcmdldCBhcyBDb25zdHJ1Y3RhYmxlPGFueT4pLmluY2x1ZGVzKFBsYWNlQ29tcG9uZW50KTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRSb3V0ZVBhcmFtZXRlcnMoa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W10ge1xuICAgIHJldHVybiBLbGFzcy5nZXQoa2xhc3MpLmdldE1ldGFkYXRhTGlzdChST1VURV9QQVJBTUVURVJfTElTVF9LRVkpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUGxhY2VEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIGtsYXNzKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpbmplY3REZWZpbml0aW9uKGtsYXNzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgZGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uKSB7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIGRlZmluaXRpb24sIGtsYXNzKTtcbiAgfVxuXG59XG4iXX0=
165
+ //# sourceMappingURL=place-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place-component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-component.ts"],"names":[],"mappings":"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","sourcesContent":["import { assert, Binding, Constructable, IMutableHasValue, lang, ValueModel } from '@coolon/pectin';\nimport { Klass } from '@coolon/typescript-utilities';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator';\nimport 'reflect-metadata';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { InteractionContext } from '../interaction/interaction-context';\nimport { PlaceDefinition } from './place-definition';\nimport { ParameterDefinition } from './route/parameter-definition.class';\nimport { Visit } from './visit';\n\n// RAKE: making this Symbol(...) broke things.\nexport const DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';\n// this one seems ok.\nexport const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');\n\nexport class PlaceComponent extends DisposableComponent {\n\n private visit: ValueModel<Visit>;\n // private _inDeactivationGuard = new MutableValueModel<boolean>(false);\n\n interactionContext?: InteractionContext;\n\n canDeactivate?(interactionContext: InteractionContext): boolean | Promise<boolean>;\n\n constructor() {\n super();\n }\n\n public initialiseBindings(visit: ValueModel<Visit>) {\n assert.isNil(this.visit);\n this.visit = visit;\n this.placeDefinition.getVisitParameterDefs().forEach(parameterDef => {\n this.installBinding(parameterDef);\n });\n }\n\n private installBinding<T, S>(parameterDef: ParameterDefinition<T, S>) {\n const model = this[parameterDef.propertyName] as IMutableHasValue<S>;\n // this.txo.observe(parameterDef.propertyName, model);\n this.registerDisposable(new Binding(this.visit, model, {\n toRight(visit: Visit): S {\n const value = visit.getParameter(parameterDef.name);\n // console.log('push to component', {name:parameterDef.name, value, visit});\n return value;\n },\n toLeft(value: S, currentVisit?: Visit): Visit {\n console.log('push to route', { name: parameterDef.name, value, currentVisit });\n return currentVisit.replace(parameterDef, value);\n }\n }));\n }\n\n @Memoize()\n get placeDefinition(): PlaceDefinition {\n return PlaceComponent.getDefinition(this.constructor as any as Constructable<PlaceComponent>);\n }\n\n get childPlaces(): Constructable<PlaceComponent>[] {\n return this.placeDefinition.children.map(d => d.component);\n }\n\n onPlaceReady() {\n }\n\n}\n\nexport namespace PlaceComponent {\n\n export function isPlaceComponentConstructor(target: any): target is Constructable<PlaceComponent> {\n return lang.constructorChain(target as Constructable<any>).includes(PlaceComponent);\n }\n\n export function getRouteParameters(klass: Constructable<PlaceComponent>): ParameterDefinition<any>[] {\n return Klass.get(klass).getMetadataList(ROUTE_PARAMETER_LIST_KEY);\n }\n\n export function getDefinition(klass: Constructable<PlaceComponent>): PlaceDefinition {\n return Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);\n }\n\n export function injectDefinition(klass: Constructable<PlaceComponent>, definition: PlaceDefinition) {\n Reflect.defineMetadata(DEFINITION_META_DATA_KEY, definition, klass);\n }\n\n}\n"]}
@@ -13,4 +13,4 @@ if (false) {
13
13
  /** @type {?} */
14
14
  PlaceConfig.prototype.animationDuration;
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFL0MsTUFBTSxLQUFPLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFjLGtCQUFrQixDQUFDOzs7O0FBRW5GLGlDQUVDOzs7SUFEQyx3Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgQVVQX1BMQUNFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQbGFjZUNvbmZpZz4oJ0FVUF9QTEFDRV9DT05GSUcnKTtcblxuZXhwb3J0IGludGVyZmFjZSBQbGFjZUNvbmZpZyB7XG4gIGFuaW1hdGlvbkR1cmF0aW9uOiBzdHJpbmc7XG59XG4iXX0=
16
+ //# sourceMappingURL=place-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place-config.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-config.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;;AAE/C,MAAM,KAAO,gBAAgB,GAAG,IAAI,cAAc,CAAc,kBAAkB,CAAC;;;;AAEnF,iCAEC;;;IADC,wCAA0B","sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const AUP_PLACE_CONFIG = new InjectionToken<PlaceConfig>('AUP_PLACE_CONFIG');\n\nexport interface PlaceConfig {\n animationDuration: string;\n}\n"]}