@coolon/angular-ui-powerups 2.0.0-alpha.37 → 2.0.0-alpha.4

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 (362) hide show
  1. package/CHANGELOG.md +0 -226
  2. package/assets/interaction.scss +0 -5
  3. package/assets/styles.scss +0 -2
  4. package/assets/tabs.scss +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.js +399 -1814
  6. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  7. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  8. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  9. package/coolon-angular-ui-powerups.d.ts +54 -67
  10. package/coolon-angular-ui-powerups.metadata.json +1 -1
  11. package/esm2015/coolon-angular-ui-powerups.js +52 -65
  12. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  13. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  14. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  15. package/esm2015/lib/components/card-container/card-container.component.js +1 -1
  16. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -1
  17. package/esm2015/lib/components/components.module.js +14 -54
  18. package/esm2015/lib/components/components.module.js.map +1 -1
  19. package/esm2015/lib/components/components.module.metadata.json +1 -1
  20. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  21. package/esm2015/lib/components/forms/abstract-input.component.js +4 -12
  22. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  23. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  24. package/esm2015/lib/components/forms/abstract-list-input.component.js +6 -51
  25. package/esm2015/lib/components/forms/abstract-list-input.component.js.map +1 -1
  26. package/esm2015/lib/components/forms/abstract-list-input.component.metadata.json +1 -1
  27. package/esm2015/lib/components/forms/abstract-value-input.component.js +3 -47
  28. package/esm2015/lib/components/forms/abstract-value-input.component.js.map +1 -1
  29. package/esm2015/lib/components/forms/abstract-value-input.component.metadata.json +1 -1
  30. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +6 -3
  31. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  32. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  33. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +13 -8
  34. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  35. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  36. package/esm2015/lib/components/forms/number-input/number-input.component.js +6 -3
  37. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  38. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  39. package/esm2015/lib/components/forms/password-input/password-input.component.js +7 -4
  40. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  41. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  42. package/esm2015/lib/components/forms/select-input/select-input.component.js +5 -2
  43. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  44. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  45. package/esm2015/lib/components/forms/string-input/string-input.component.js +7 -3
  46. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  47. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  48. package/esm2015/lib/components/forms/text-input/text-input.component.js +6 -3
  49. package/esm2015/lib/components/forms/text-input/text-input.component.js.map +1 -1
  50. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  51. package/esm2015/lib/components/icon/icon.component.js +4 -17
  52. package/esm2015/lib/components/icon/icon.component.js.map +1 -1
  53. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  54. package/esm2015/lib/components/index.js +1 -18
  55. package/esm2015/lib/components/index.js.map +1 -1
  56. package/esm2015/lib/components/index.metadata.json +1 -1
  57. package/esm2015/lib/components/table/cell-editors.js.map +1 -1
  58. package/esm2015/lib/components/table/{cell-portal-ref.js → cell-protal-ref.js} +3 -7
  59. package/esm2015/lib/components/table/cell-protal-ref.js.map +1 -0
  60. package/esm2015/lib/components/table/{cell-portal-ref.metadata.json → cell-protal-ref.metadata.json} +1 -1
  61. package/esm2015/lib/components/table/column-model.js +11 -66
  62. package/esm2015/lib/components/table/column-model.js.map +1 -1
  63. package/esm2015/lib/components/table/column-model.metadata.json +1 -1
  64. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  65. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  66. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  67. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  68. package/esm2015/lib/components/table/table-model.js +12 -15
  69. package/esm2015/lib/components/table/table-model.js.map +1 -1
  70. package/esm2015/lib/components/table/table-model.metadata.json +1 -1
  71. package/esm2015/lib/components/table/table.component.js +1 -1
  72. package/esm2015/lib/components/table/table.component.js.map +1 -1
  73. package/esm2015/lib/components/table/table.component.metadata.json +1 -1
  74. package/esm2015/lib/interaction/activity-ref.js +2 -10
  75. package/esm2015/lib/interaction/activity-ref.js.map +1 -1
  76. package/esm2015/lib/interaction/activity-ref.metadata.json +1 -1
  77. package/esm2015/lib/interaction/activity.js +1 -18
  78. package/esm2015/lib/interaction/activity.js.map +1 -1
  79. package/esm2015/lib/interaction/activity.metadata.json +1 -1
  80. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +1 -1
  81. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
  82. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +17 -24
  83. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  84. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  85. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +1 -1
  86. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -1
  87. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.metadata.json +1 -1
  88. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  89. package/esm2015/lib/place/components/abstract-place-navigation.component.js +3 -4
  90. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  91. package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
  92. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  93. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  94. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  95. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +16 -56
  96. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  97. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  98. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +2 -2
  99. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
  100. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
  101. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  102. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  103. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
  104. package/esm2015/lib/place/place-component.js +1 -13
  105. package/esm2015/lib/place/place-component.js.map +1 -1
  106. package/esm2015/lib/place/place-component.metadata.json +1 -1
  107. package/esm2015/lib/place/place-router.js +8 -2
  108. package/esm2015/lib/place/place-router.js.map +1 -1
  109. package/esm2015/lib/place/place-router.metadata.json +1 -1
  110. package/esm2015/lib/place/place.module.js +3 -3
  111. package/esm2015/lib/place/place.module.js.map +1 -1
  112. package/esm2015/lib/place/place.module.metadata.json +1 -1
  113. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  114. package/esm2015/lib/place/route/parameter-decorators.js +3 -2
  115. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  116. package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
  117. package/esm5/coolon-angular-ui-powerups.js +52 -65
  118. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  119. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  120. package/esm5/lib/components/card-container/card-container.component.js +1 -1
  121. package/esm5/lib/components/components.module.js +14 -54
  122. package/esm5/lib/components/components.module.js.map +1 -1
  123. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  124. package/esm5/lib/components/forms/abstract-input.component.js +4 -12
  125. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  126. package/esm5/lib/components/forms/abstract-list-input.component.js +6 -56
  127. package/esm5/lib/components/forms/abstract-list-input.component.js.map +1 -1
  128. package/esm5/lib/components/forms/abstract-value-input.component.js +3 -52
  129. package/esm5/lib/components/forms/abstract-value-input.component.js.map +1 -1
  130. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js +6 -3
  131. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  132. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js +13 -8
  133. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  134. package/esm5/lib/components/forms/number-input/number-input.component.js +6 -3
  135. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  136. package/esm5/lib/components/forms/password-input/password-input.component.js +7 -4
  137. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  138. package/esm5/lib/components/forms/select-input/select-input.component.js +5 -2
  139. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  140. package/esm5/lib/components/forms/string-input/string-input.component.js +7 -3
  141. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  142. package/esm5/lib/components/forms/text-input/text-input.component.js +6 -3
  143. package/esm5/lib/components/forms/text-input/text-input.component.js.map +1 -1
  144. package/esm5/lib/components/icon/icon.component.js +3 -15
  145. package/esm5/lib/components/icon/icon.component.js.map +1 -1
  146. package/esm5/lib/components/index.js +1 -18
  147. package/esm5/lib/components/index.js.map +1 -1
  148. package/esm5/lib/components/table/cell-editors.js.map +1 -1
  149. package/esm5/lib/components/table/{cell-portal-ref.js → cell-protal-ref.js} +3 -7
  150. package/esm5/lib/components/table/cell-protal-ref.js.map +1 -0
  151. package/esm5/lib/components/table/column-model.js +11 -67
  152. package/esm5/lib/components/table/column-model.js.map +1 -1
  153. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  154. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  155. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  156. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  157. package/esm5/lib/components/table/table-model.js +13 -15
  158. package/esm5/lib/components/table/table-model.js.map +1 -1
  159. package/esm5/lib/components/table/table.component.js +1 -1
  160. package/esm5/lib/components/table/table.component.js.map +1 -1
  161. package/esm5/lib/interaction/activity-ref.js +2 -14
  162. package/esm5/lib/interaction/activity-ref.js.map +1 -1
  163. package/esm5/lib/interaction/activity.js +1 -27
  164. package/esm5/lib/interaction/activity.js.map +1 -1
  165. package/esm5/lib/interaction/components/activity-actions/activity-actions.component.js +1 -1
  166. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +17 -24
  167. package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  168. package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +1 -1
  169. package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -1
  170. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  171. package/esm5/lib/place/components/abstract-place-navigation.component.js +3 -4
  172. package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  173. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  174. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  175. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +16 -56
  176. package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  177. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js +2 -2
  178. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
  179. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  180. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  181. package/esm5/lib/place/place-component.js +1 -17
  182. package/esm5/lib/place/place-component.js.map +1 -1
  183. package/esm5/lib/place/place-router.js +8 -2
  184. package/esm5/lib/place/place-router.js.map +1 -1
  185. package/esm5/lib/place/place.module.js +3 -3
  186. package/esm5/lib/place/place.module.js.map +1 -1
  187. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  188. package/esm5/lib/place/route/parameter-decorators.js +3 -2
  189. package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
  190. package/fesm2015/coolon-angular-ui-powerups.js +322 -1539
  191. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  192. package/fesm5/coolon-angular-ui-powerups.js +403 -1798
  193. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  194. package/lib/components/forms/abstract-input.component.d.ts +2 -8
  195. package/lib/components/forms/abstract-list-input.component.d.ts +3 -10
  196. package/lib/components/forms/abstract-value-input.component.d.ts +3 -9
  197. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +2 -0
  198. package/lib/components/forms/multiple-select-input/multiple-select-input.component.d.ts +4 -8
  199. package/lib/components/forms/number-input/number-input.component.d.ts +2 -0
  200. package/lib/components/forms/password-input/password-input.component.d.ts +2 -0
  201. package/lib/components/forms/select-input/select-input.component.d.ts +2 -2
  202. package/lib/components/forms/string-input/string-input.component.d.ts +2 -1
  203. package/lib/components/forms/text-input/text-input.component.d.ts +2 -0
  204. package/lib/components/icon/icon.component.d.ts +0 -15
  205. package/lib/components/index.d.ts +1 -19
  206. package/lib/components/table/cell-editors.d.ts +3 -3
  207. package/lib/components/table/{cell-portal-ref.d.ts → cell-protal-ref.d.ts} +4 -4
  208. package/lib/components/table/column-model.d.ts +12 -18
  209. package/lib/components/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  210. package/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.d.ts +1 -1
  211. package/lib/components/table/table-model.d.ts +5 -13
  212. package/lib/interaction/activity-ref.d.ts +0 -3
  213. package/lib/interaction/activity.d.ts +2 -6
  214. package/lib/interaction/components/activity-container/activity-container.component.d.ts +2 -4
  215. package/lib/place/components/abstract-place-navigation.component.d.ts +2 -2
  216. package/lib/place/components/place-outlet/place-outlet.component.d.ts +2 -8
  217. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -1
  218. package/lib/place/place-component.d.ts +0 -6
  219. package/package.json +4 -4
  220. package/assets/commands.scss +0 -3
  221. package/assets/icons.scss +0 -30
  222. package/esm2015/lib/components/commands/command/command.component.js +0 -61
  223. package/esm2015/lib/components/commands/command/command.component.js.map +0 -1
  224. package/esm2015/lib/components/commands/command/command.component.metadata.json +0 -1
  225. package/esm2015/lib/components/commands/command/command.component.ngfactory.js.map +0 -1
  226. package/esm2015/lib/components/commands/command-face/command-face.component.js +0 -92
  227. package/esm2015/lib/components/commands/command-face/command-face.component.js.map +0 -1
  228. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +0 -1
  229. package/esm2015/lib/components/commands/command-face/command-face.component.ngfactory.js.map +0 -1
  230. package/esm2015/lib/components/commands/command-face/command-face.component.scss.ngstyle.js.map +0 -1
  231. package/esm2015/lib/components/commands/command-face.js +0 -108
  232. package/esm2015/lib/components/commands/command-face.js.map +0 -1
  233. package/esm2015/lib/components/commands/command-face.metadata.json +0 -1
  234. package/esm2015/lib/components/commands/flex.component.js +0 -30
  235. package/esm2015/lib/components/commands/flex.component.js.map +0 -1
  236. package/esm2015/lib/components/commands/flex.component.metadata.json +0 -1
  237. package/esm2015/lib/components/commands/flex.component.ngfactory.js.map +0 -1
  238. package/esm2015/lib/components/commands/group/command-group/command-group.component.js +0 -47
  239. package/esm2015/lib/components/commands/group/command-group/command-group.component.js.map +0 -1
  240. package/esm2015/lib/components/commands/group/command-group/command-group.component.metadata.json +0 -1
  241. package/esm2015/lib/components/commands/group/command-group/command-group.component.ngfactory.js.map +0 -1
  242. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js +0 -55
  243. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js.map +0 -1
  244. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.metadata.json +0 -1
  245. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.ngfactory.js.map +0 -1
  246. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js +0 -39
  247. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js.map +0 -1
  248. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.metadata.json +0 -1
  249. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.ngfactory.js.map +0 -1
  250. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.scss.shim.ngstyle.js.map +0 -1
  251. package/esm2015/lib/components/commands/group/command-group.js +0 -100
  252. package/esm2015/lib/components/commands/group/command-group.js.map +0 -1
  253. package/esm2015/lib/components/commands/group/command-group.metadata.json +0 -1
  254. package/esm2015/lib/components/commands/group/more-menu.component.js +0 -55
  255. package/esm2015/lib/components/commands/group/more-menu.component.js.map +0 -1
  256. package/esm2015/lib/components/commands/group/more-menu.component.metadata.json +0 -1
  257. package/esm2015/lib/components/commands/group/more-menu.component.ngfactory.js.map +0 -1
  258. package/esm2015/lib/components/commands/group/popup-menu.component.js +0 -65
  259. package/esm2015/lib/components/commands/group/popup-menu.component.js.map +0 -1
  260. package/esm2015/lib/components/commands/group/popup-menu.component.metadata.json +0 -1
  261. package/esm2015/lib/components/commands/group/popup-menu.component.ngfactory.js.map +0 -1
  262. package/esm2015/lib/components/commands/group/registration.js +0 -58
  263. package/esm2015/lib/components/commands/group/registration.js.map +0 -1
  264. package/esm2015/lib/components/commands/group/registration.metadata.json +0 -1
  265. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +0 -55
  266. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js.map +0 -1
  267. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.metadata.json +0 -1
  268. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.ngfactory.js.map +0 -1
  269. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.scss.shim.ngstyle.js.map +0 -1
  270. package/esm2015/lib/components/commands/group/view-data.js +0 -104
  271. package/esm2015/lib/components/commands/group/view-data.js.map +0 -1
  272. package/esm2015/lib/components/commands/group/view-data.metadata.json +0 -1
  273. package/esm2015/lib/components/commands/separator.component.js +0 -35
  274. package/esm2015/lib/components/commands/separator.component.js.map +0 -1
  275. package/esm2015/lib/components/commands/separator.component.metadata.json +0 -1
  276. package/esm2015/lib/components/commands/separator.component.ngfactory.js.map +0 -1
  277. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -70
  278. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +0 -1
  279. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +0 -1
  280. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +0 -1
  281. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +0 -1
  282. package/esm2015/lib/components/table/cell-portal-ref.js.map +0 -1
  283. package/esm2015/lib/components/table/mutable-cell-renderer.js +0 -1
  284. package/esm2015/lib/components/table/mutable-cell-renderer.js.map +0 -1
  285. package/esm2015/lib/components/table/mutable-cell-renderer.metadata.json +0 -1
  286. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js +0 -73
  287. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js.map +0 -1
  288. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.metadata.json +0 -1
  289. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +0 -1
  290. package/esm2015/lib/components/track-by.js +0 -5
  291. package/esm2015/lib/components/track-by.js.map +0 -1
  292. package/esm5/lib/components/commands/command/command.component.js +0 -64
  293. package/esm5/lib/components/commands/command/command.component.js.map +0 -1
  294. package/esm5/lib/components/commands/command/command.component.ngfactory.js.map +0 -1
  295. package/esm5/lib/components/commands/command-face/command-face.component.js +0 -123
  296. package/esm5/lib/components/commands/command-face/command-face.component.js.map +0 -1
  297. package/esm5/lib/components/commands/command-face/command-face.component.ngfactory.js.map +0 -1
  298. package/esm5/lib/components/commands/command-face/command-face.component.scss.ngstyle.js.map +0 -1
  299. package/esm5/lib/components/commands/command-face.js +0 -141
  300. package/esm5/lib/components/commands/command-face.js.map +0 -1
  301. package/esm5/lib/components/commands/flex.component.js +0 -33
  302. package/esm5/lib/components/commands/flex.component.js.map +0 -1
  303. package/esm5/lib/components/commands/flex.component.ngfactory.js.map +0 -1
  304. package/esm5/lib/components/commands/group/command-group/command-group.component.js +0 -51
  305. package/esm5/lib/components/commands/group/command-group/command-group.component.js.map +0 -1
  306. package/esm5/lib/components/commands/group/command-group/command-group.component.ngfactory.js.map +0 -1
  307. package/esm5/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js +0 -59
  308. package/esm5/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js.map +0 -1
  309. package/esm5/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.ngfactory.js.map +0 -1
  310. package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js +0 -42
  311. package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js.map +0 -1
  312. package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.ngfactory.js.map +0 -1
  313. package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.scss.shim.ngstyle.js.map +0 -1
  314. package/esm5/lib/components/commands/group/command-group.js +0 -122
  315. package/esm5/lib/components/commands/group/command-group.js.map +0 -1
  316. package/esm5/lib/components/commands/group/more-menu.component.js +0 -58
  317. package/esm5/lib/components/commands/group/more-menu.component.js.map +0 -1
  318. package/esm5/lib/components/commands/group/more-menu.component.ngfactory.js.map +0 -1
  319. package/esm5/lib/components/commands/group/popup-menu.component.js +0 -68
  320. package/esm5/lib/components/commands/group/popup-menu.component.js.map +0 -1
  321. package/esm5/lib/components/commands/group/popup-menu.component.ngfactory.js.map +0 -1
  322. package/esm5/lib/components/commands/group/registration.js +0 -80
  323. package/esm5/lib/components/commands/group/registration.js.map +0 -1
  324. package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.js +0 -58
  325. package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.js.map +0 -1
  326. package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.ngfactory.js.map +0 -1
  327. package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.scss.shim.ngstyle.js.map +0 -1
  328. package/esm5/lib/components/commands/group/view-data.js +0 -131
  329. package/esm5/lib/components/commands/group/view-data.js.map +0 -1
  330. package/esm5/lib/components/commands/separator.component.js +0 -37
  331. package/esm5/lib/components/commands/separator.component.js.map +0 -1
  332. package/esm5/lib/components/commands/separator.component.ngfactory.js.map +0 -1
  333. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -73
  334. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +0 -1
  335. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +0 -1
  336. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +0 -1
  337. package/esm5/lib/components/table/cell-portal-ref.js.map +0 -1
  338. package/esm5/lib/components/table/mutable-cell-renderer.js +0 -1
  339. package/esm5/lib/components/table/mutable-cell-renderer.js.map +0 -1
  340. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.js +0 -63
  341. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.js.map +0 -1
  342. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +0 -1
  343. package/esm5/lib/components/track-by.js +0 -5
  344. package/esm5/lib/components/track-by.js.map +0 -1
  345. package/lib/components/commands/command/command.component.d.ts +0 -22
  346. package/lib/components/commands/command-face/command-face.component.d.ts +0 -34
  347. package/lib/components/commands/command-face.d.ts +0 -39
  348. package/lib/components/commands/flex.component.d.ts +0 -11
  349. package/lib/components/commands/group/command-group/command-group.component.d.ts +0 -11
  350. package/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.d.ts +0 -21
  351. package/lib/components/commands/group/command-group-renderer/command-group-renderer.component.d.ts +0 -13
  352. package/lib/components/commands/group/command-group.d.ts +0 -41
  353. package/lib/components/commands/group/more-menu.component.d.ts +0 -14
  354. package/lib/components/commands/group/popup-menu.component.d.ts +0 -17
  355. package/lib/components/commands/group/registration.d.ts +0 -32
  356. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +0 -13
  357. package/lib/components/commands/group/view-data.d.ts +0 -40
  358. package/lib/components/commands/separator.component.d.ts +0 -12
  359. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +0 -25
  360. package/lib/components/table/mutable-cell-renderer.d.ts +0 -6
  361. package/lib/components/table/table-row-menu/table-row-menu.component.d.ts +0 -26
  362. package/lib/components/track-by.d.ts +0 -3
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/divider'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/table'), require('@angular/material/tooltip'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@coolon/pectin'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('lodash'), require('typescript-string-enums'), require('@coolon/typescript-utilities'), require('immer'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('resize-observer-polyfill'), require('@angular/material/list'), require('@angular/material/progress-spinner'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('rxjs')) :
3
- typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@angular/material/divider', '@angular/material/icon', '@angular/material/menu', '@angular/material/table', '@angular/material/tooltip', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@coolon/pectin', '@typescript-plus/fast-memoize-decorator/dist/src', 'lodash', 'typescript-string-enums', '@coolon/typescript-utilities', 'immer', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', 'resize-observer-polyfill', '@angular/material/list', '@angular/material/progress-spinner', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'rxjs'], factory) :
4
- (global = global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.checkbox, global.ng.material.divider, global.ng.material.icon, global.ng.material.menu, global.ng.material.table, global.ng.material.tooltip, global.angularFontawesome, global.freeSolidSvgIcons, global.pectin, global.src, global.___default, global.typescriptStringEnums, global.typescriptUtilities, global.produce, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ResizeObserver, global.ng.material.list, global.ng.material.progressSpinner, global.fastMemoizeDecorator, null, global.ng.animations, global.rxjs));
5
- }(this, (function (exports, common, core, forms, formField, input, select, tabs, animations, portal, scrolling, autocomplete, button, checkbox, divider, icon, menu, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, src, ___default, typescriptStringEnums, typescriptUtilities, produce, flexLayout, dialog, router, overlay, ResizeObserver, list, progressSpinner, fastMemoizeDecorator, reflectMetadata, animations$1, rxjs) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/icon'), require('@angular/material/table'), require('@coolon/pectin'), require('@coolon/typescript-utilities'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('lodash'), require('immer'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@angular/material/tooltip'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('resize-observer-polyfill'), require('@angular/material/progress-spinner'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('rxjs')) :
3
+ typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/button', '@angular/material/checkbox', '@angular/material/icon', '@angular/material/table', '@coolon/pectin', '@coolon/typescript-utilities', '@typescript-plus/fast-memoize-decorator/dist/src', 'lodash', 'immer', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@angular/material/tooltip', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', 'resize-observer-polyfill', '@angular/material/progress-spinner', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'rxjs'], factory) :
4
+ (global = global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.button, global.ng.material.checkbox, global.ng.material.icon, global.ng.material.table, global.pectin, global.typescriptUtilities, global.src, global.___default, global.produce, global.angularFontawesome, global.freeSolidSvgIcons, global.ng.material.tooltip, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ResizeObserver, global.ng.material.progressSpinner, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations, global.rxjs));
5
+ }(this, (function (exports, common, core, forms, formField, input, select, tabs, animations, portal, scrolling, button, checkbox, icon, table, pectin, typescriptUtilities, src, ___default, produce, angularFontawesome, freeSolidSvgIcons, tooltip, flexLayout, dialog, router, overlay, ResizeObserver, progressSpinner, list, fastMemoizeDecorator, reflectMetadata, animations$1, rxjs) { 'use strict';
6
6
 
7
7
  var ___default__default = 'default' in ___default ? ___default['default'] : ___default;
8
8
  produce = produce && Object.prototype.hasOwnProperty.call(produce, 'default') ? produce['default'] : produce;
@@ -578,1001 +578,13 @@
578
578
  core.Component({
579
579
  selector: 'aup-card-container',
580
580
  template: "<div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled.value\" [pectinCommand]=\"addCardCommand\">\n <aup-icon icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n\n</div>\n",
581
- styles: [":root{--aup-default-padding:var(--default-padding, 18px);--aup-default-background:white;--aup-command-face-icon-gap:8px;--aup-icon-width:24px;--aup-fa-icon-width:18px}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}.activity-outlet-wrapper{display:flex;flex-direction:column;align-items:stretch}.aup-popup-interaction-panel{background:var(--aup-default-background,#fff);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1)}.aup-input-activity{padding:calc(var(--aup-default-padding)/2)}.aup-input-component{display:block}.aup-input-component input,.aup-input-component mat-form-field{width:100%}.aup-input-component input mat-hint.faux-error,.aup-input-component mat-form-field mat-hint.faux-error{color:#f44336}.aup-input-component.dense mat-form-field .mat-form-field-infix{border-top:none}.aup-input-component.dense mat-form-field .mat-form-field-flex{padding-top:0}.aup-input-component.dense mat-form-field .mat-form-field-wrapper{padding-bottom:0;border-bottom:0}.aup-input-component.dense mat-form-field .mat-form-field-underline{bottom:0}.aup-input-component.dense mat-form-field.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label-wrapper{display:none}.aup-input-component.dense mat-form-field.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(0)}aup-table-cell-renderer>.aup-input-component .mat-form-field-flex{padding-top:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-infix{width:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-label-wrapper{display:none}aup-table{--default-column-gap:var(--column-gap, 24px);--resolved-row-hover-background-color:var(--row-hover-background-color, rgba(0, 0, 0, 0.05))}aup-table .mat-table td.mat-cell:first-of-type,aup-table .mat-table td.mat-footer-cell:first-of-type,aup-table .mat-table th.mat-header-cell:first-of-type{padding-left:0}aup-table .mat-table tr.enable-hover:hover{background-color:var(--resolved-row-hover-background-color)}aup-table .mat-table td.enable-cursor{cursor:pointer}aup-table aup-table-cell-renderer,aup-table aup-table-header-cell-renderer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-height:47px}aup-table aup-table-cell-renderer.first-column,aup-table aup-table-cell-renderer:not(.first-column),aup-table aup-table-header-cell-renderer.first-column,aup-table aup-table-header-cell-renderer:not(.first-column){padding-left:var(--default-column-gap)}aup-table aup-table-cell-renderer.fillCell{justify-content:stretch;padding-left:0!important}aup-table aup-table-cell-renderer.padChild>:first-child{padding-left:var(--default-column-gap);flex:1}aup-icon{--fa-icon-offset:calc((var(--aup-icon-width) - var(--aup-fa-icon-width)) / 2);position:relative}aup-icon fa-icon .svg-inline--fa{position:absolute;top:var(--fa-icon-offset);left:var(--fa-icon-offset);width:var(--aup-fa-icon-width)!important;height:var(--aup-fa-icon-width)!important}.mat-menu-panel aup-icon .svg-inline--fa{opacity:.54}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-min-height:var(--card-min-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
581
+ styles: [":root{--aup-default-padding:var(--default-padding, 18px);--aup-default-background:white}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}.aup-popup-interaction-panel{background:var(--aup-default-background,#fff);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1)}.aup-input-activity{padding:calc(var(--aup-default-padding)/2)}.aup-input-component{display:block}.aup-input-component input,.aup-input-component mat-form-field{width:100%}.aup-input-component input mat-hint.faux-error,.aup-input-component mat-form-field mat-hint.faux-error{color:#f44336}.aup-input-component.dense mat-form-field .mat-form-field-infix{border-top:none}.aup-input-component.dense mat-form-field .mat-form-field-flex{padding-top:0}.aup-input-component.dense mat-form-field .mat-form-field-wrapper{padding-bottom:0;border-bottom:0}.aup-input-component.dense mat-form-field .mat-form-field-underline{bottom:0}.aup-input-component.dense mat-form-field.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label-wrapper{display:none}.aup-input-component.dense mat-form-field.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(0)}aup-table-cell-renderer>.aup-input-component .mat-form-field-flex{padding-top:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-infix{width:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-label-wrapper{display:none}aup-table{--default-column-gap:var(--column-gap, 24px);--resolved-row-hover-background-color:var(--row-hover-background-color, rgba(0, 0, 0, 0.05))}aup-table .mat-table td.mat-cell:first-of-type,aup-table .mat-table td.mat-footer-cell:first-of-type,aup-table .mat-table th.mat-header-cell:first-of-type{padding-left:0}aup-table .mat-table tr.enable-hover:hover{background-color:var(--resolved-row-hover-background-color)}aup-table .mat-table td.enable-cursor{cursor:pointer}aup-table aup-table-cell-renderer,aup-table aup-table-header-cell-renderer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-height:47px}aup-table aup-table-cell-renderer.first-column,aup-table aup-table-cell-renderer:not(.first-column),aup-table aup-table-header-cell-renderer.first-column,aup-table aup-table-header-cell-renderer:not(.first-column){padding-left:var(--default-column-gap)}aup-table aup-table-cell-renderer.fillCell{justify-content:stretch;padding-left:0!important}aup-table aup-table-cell-renderer.padChild>:first-child{padding-left:var(--default-column-gap);flex:1}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-min-height:var(--card-min-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
582
582
  }),
583
583
  __metadata("design:paramtypes", [])
584
584
  ], CardContainerComponent);
585
585
  return CardContainerComponent;
586
586
  }(DisposableComponent));
587
587
 
588
-
589
- (function (TrackBy) {
590
- TrackBy.byIndex = function (data, index) { return index; };
591
- })(exports.TrackBy || (exports.TrackBy = {}));
592
-
593
-
594
- (function (CommandFace) {
595
- var Position;
596
- (function (Position) {
597
- Position["START"] = "start";
598
- Position["END"] = "end";
599
- })(Position = CommandFace.Position || (CommandFace.Position = {}));
600
- CommandFace.Style = typescriptStringEnums.Enum({
601
- FLAT: 'flat',
602
- STROKED: 'stroked',
603
- RAISED: 'raised'
604
- });
605
- function getColorOf(face) {
606
- return ___default__default.isFunction(face === null || face === void 0 ? void 0 : face.color) ? face.color() : undefined;
607
- }
608
- CommandFace.getColorOf = getColorOf;
609
- function getStyleOf(face) {
610
- return ___default__default.isFunction(face === null || face === void 0 ? void 0 : face.style) ? face.style() : undefined;
611
- }
612
- CommandFace.getStyleOf = getStyleOf;
613
- function getIconOf(face) {
614
- return ___default__default.isFunction(face === null || face === void 0 ? void 0 : face.icon) ? face.icon() : undefined;
615
- }
616
- CommandFace.getIconOf = getIconOf;
617
- function getTooltipOf(face) {
618
- return ___default__default.isFunction(face === null || face === void 0 ? void 0 : face.tooltip) ? face.tooltip() : undefined;
619
- }
620
- CommandFace.getTooltipOf = getTooltipOf;
621
- function getTextOf(face) {
622
- return ___default__default.isFunction(face === null || face === void 0 ? void 0 : face.text) ? face.text() : undefined;
623
- }
624
- CommandFace.getTextOf = getTextOf;
625
- var Adapter = /** @class */ (function () {
626
- function Adapter(face) {
627
- this.face = face;
628
- }
629
- Object.defineProperty(Adapter.prototype, "text", {
630
- get: function () {
631
- return ___default__default.isFunction(this.face.text) ? this.face.text() : undefined;
632
- },
633
- enumerable: true,
634
- configurable: true
635
- });
636
- Object.defineProperty(Adapter.prototype, "icon", {
637
- get: function () {
638
- return CommandFace.getIconOf(this.face);
639
- },
640
- enumerable: true,
641
- configurable: true
642
- });
643
- Object.defineProperty(Adapter.prototype, "iconPosition", {
644
- get: function () {
645
- return ___default__default.isFunction(this.face.iconPosition) ? this.face.iconPosition() : undefined;
646
- },
647
- enumerable: true,
648
- configurable: true
649
- });
650
- Object.defineProperty(Adapter.prototype, "tooltip", {
651
- get: function () {
652
- return ___default__default.isFunction(this.face.tooltip) ? this.face.tooltip() : undefined;
653
- },
654
- enumerable: true,
655
- configurable: true
656
- });
657
- Object.defineProperty(Adapter.prototype, "iconPositionStart", {
658
- get: function () {
659
- return this.iconPosition === CommandFace.Position.START;
660
- },
661
- enumerable: true,
662
- configurable: true
663
- });
664
- Object.defineProperty(Adapter.prototype, "iconPositionEnd", {
665
- get: function () {
666
- return this.iconPosition === CommandFace.Position.END;
667
- },
668
- enumerable: true,
669
- configurable: true
670
- });
671
- Object.defineProperty(Adapter.prototype, "color", {
672
- get: function () {
673
- return CommandFace.getColorOf(this.face);
674
- },
675
- enumerable: true,
676
- configurable: true
677
- });
678
- Object.defineProperty(Adapter.prototype, "style", {
679
- get: function () {
680
- return CommandFace.getStyleOf(this.face);
681
- },
682
- enumerable: true,
683
- configurable: true
684
- });
685
- __decorate([
686
- src.Memoize(),
687
- __metadata("design:type", Object),
688
- __metadata("design:paramtypes", [])
689
- ], Adapter.prototype, "text", null);
690
- __decorate([
691
- src.Memoize(),
692
- __metadata("design:type", Object),
693
- __metadata("design:paramtypes", [])
694
- ], Adapter.prototype, "icon", null);
695
- __decorate([
696
- src.Memoize(),
697
- __metadata("design:type", Object),
698
- __metadata("design:paramtypes", [])
699
- ], Adapter.prototype, "iconPosition", null);
700
- __decorate([
701
- src.Memoize(),
702
- __metadata("design:type", Object),
703
- __metadata("design:paramtypes", [])
704
- ], Adapter.prototype, "tooltip", null);
705
- __decorate([
706
- src.Memoize(),
707
- __metadata("design:type", Boolean),
708
- __metadata("design:paramtypes", [])
709
- ], Adapter.prototype, "iconPositionStart", null);
710
- __decorate([
711
- src.Memoize(),
712
- __metadata("design:type", Boolean),
713
- __metadata("design:paramtypes", [])
714
- ], Adapter.prototype, "iconPositionEnd", null);
715
- __decorate([
716
- src.Memoize(),
717
- __metadata("design:type", String),
718
- __metadata("design:paramtypes", [])
719
- ], Adapter.prototype, "color", null);
720
- __decorate([
721
- src.Memoize(),
722
- __metadata("design:type", String),
723
- __metadata("design:paramtypes", [])
724
- ], Adapter.prototype, "style", null);
725
- return Adapter;
726
- }());
727
- CommandFace.Adapter = Adapter;
728
- })(exports.CommandFace || (exports.CommandFace = {}));
729
-
730
- exports.ViewData = /** @class */ (function () {
731
- function ViewData() {
732
- }
733
- return ViewData;
734
- }());
735
- (function (ViewData) {
736
- var FaceData = /** @class */ (function (_super) {
737
- __extends(FaceData, _super);
738
- function FaceData(face) {
739
- var _this = _super.call(this) || this;
740
- _this.faceAdapter = new exports.CommandFace.Adapter(face);
741
- return _this;
742
- }
743
- return FaceData;
744
- }(ViewData));
745
- ViewData.FaceData = FaceData;
746
- var GroupData = /** @class */ (function (_super) {
747
- __extends(GroupData, _super);
748
- function GroupData(face, xPosition, yPosition, children) {
749
- var _this = _super.call(this, face) || this;
750
- _this.xPosition = xPosition;
751
- _this.yPosition = yPosition;
752
- _this.children = children;
753
- return _this;
754
- }
755
- Object.defineProperty(GroupData.prototype, "hasMixedIcons", {
756
- get: function () {
757
- var hasFaces = this.children.filter(function (c) { return ViewData.hasFace(c); });
758
- var iconCount = hasFaces.filter(function (c) { return !!c.faceAdapter.icon; }).length;
759
- return iconCount > 0 && hasFaces.length !== iconCount;
760
- },
761
- enumerable: true,
762
- configurable: true
763
- });
764
- __decorate([
765
- src.Memoize(),
766
- __metadata("design:type", Boolean),
767
- __metadata("design:paramtypes", [])
768
- ], GroupData.prototype, "hasMixedIcons", null);
769
- return GroupData;
770
- }(FaceData));
771
- ViewData.GroupData = GroupData;
772
- var CommandData = /** @class */ (function (_super) {
773
- __extends(CommandData, _super);
774
- function CommandData(face, command) {
775
- var _this = _super.call(this, face) || this;
776
- _this.command = command;
777
- return _this;
778
- }
779
- return CommandData;
780
- }(FaceData));
781
- ViewData.CommandData = CommandData;
782
- var SeparatorData = /** @class */ (function (_super) {
783
- __extends(SeparatorData, _super);
784
- function SeparatorData() {
785
- return _super !== null && _super.apply(this, arguments) || this;
786
- }
787
- return SeparatorData;
788
- }(ViewData));
789
- ViewData.SeparatorData = SeparatorData;
790
- var FlexData = /** @class */ (function (_super) {
791
- __extends(FlexData, _super);
792
- function FlexData() {
793
- return _super !== null && _super.apply(this, arguments) || this;
794
- }
795
- return FlexData;
796
- }(ViewData));
797
- ViewData.FlexData = FlexData;
798
- function as(type, viewData) {
799
- return viewData instanceof type ? viewData : pectin.lang.illegalState("expected instance of " + type.name + ", got " + viewData.constructor.name);
800
- }
801
- ViewData.as = as;
802
- function getCommand(data) {
803
- return as(CommandData, data).command;
804
- }
805
- ViewData.getCommand = getCommand;
806
- function getTooltip(data) {
807
- return as(FaceData, data).faceAdapter.tooltip;
808
- }
809
- ViewData.getTooltip = getTooltip;
810
- function getStyle(data) {
811
- return as(FaceData, data).faceAdapter.style;
812
- }
813
- ViewData.getStyle = getStyle;
814
- function getColor(data) {
815
- return as(FaceData, data).faceAdapter.color;
816
- }
817
- ViewData.getColor = getColor;
818
- function hasText(data) {
819
- return !!as(FaceData, data).faceAdapter.text;
820
- }
821
- ViewData.hasText = hasText;
822
- function getFace(data) {
823
- return as(FaceData, data).faceAdapter.face;
824
- }
825
- ViewData.getFace = getFace;
826
- function asGroup(viewData) {
827
- return as(GroupData, viewData);
828
- }
829
- ViewData.asGroup = asGroup;
830
- function hasMixedIcons(data) {
831
- return as(GroupData, data).hasMixedIcons;
832
- }
833
- ViewData.hasMixedIcons = hasMixedIcons;
834
- function isGroup(data) {
835
- return data instanceof GroupData;
836
- }
837
- ViewData.isGroup = isGroup;
838
- function hasFace(data) {
839
- return data instanceof FaceData;
840
- }
841
- ViewData.hasFace = hasFace;
842
- function isCommand(data) {
843
- return data instanceof CommandData;
844
- }
845
- ViewData.isCommand = isCommand;
846
- function isSeparator(data) {
847
- return data instanceof SeparatorData;
848
- }
849
- ViewData.isSeparator = isSeparator;
850
- function isFlex(data) {
851
- return data instanceof FlexData;
852
- }
853
- ViewData.isFlex = isFlex;
854
- })(exports.ViewData || (exports.ViewData = {}));
855
-
856
- var CommandGroupMenuRendererComponent = /** @class */ (function (_super) {
857
- __extends(CommandGroupMenuRendererComponent, _super);
858
- function CommandGroupMenuRendererComponent(parent) {
859
- var _this = _super.call(this) || this;
860
- _this.parent = parent;
861
- _this.groupViewDataModel = new pectin.MutableValueModel();
862
- _this.commandFired = new core.EventEmitter();
863
- _this.ViewData = exports.ViewData;
864
- _this.TrackBy = exports.TrackBy;
865
- var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
866
- _this.children = chain(_this.groupViewDataModel).pluckList('children');
867
- _this.hasMixedIcons = chain(_this.groupViewDataModel).pluck('hasMixedIcons');
868
- return _this;
869
- }
870
- CommandGroupMenuRendererComponent.prototype.getCommand = function (data) {
871
- var _this = this;
872
- var command = exports.ViewData.getCommand(data);
873
- var when = pectin.Dsl.disposeWith(this).when;
874
- when(command.busy).becomesFalsey(function () { return _this.commandFired.emit(); });
875
- return command;
876
- };
877
- CommandGroupMenuRendererComponent.ctorParameters = function () { return [
878
- { type: CommandGroupMenuRendererComponent, decorators: [{ type: core.Optional }, { type: core.SkipSelf }] }
879
- ]; };
880
- __decorate([
881
- core.ViewChild('menu', { static: true }),
882
- __metadata("design:type", menu.MatMenu)
883
- ], CommandGroupMenuRendererComponent.prototype, "menuComponent", void 0);
884
- __decorate([
885
- core.Input(), pectin.StoreInValueModel('groupViewDataModel'),
886
- __metadata("design:type", exports.ViewData.GroupData)
887
- ], CommandGroupMenuRendererComponent.prototype, "groupViewData", void 0);
888
- __decorate([
889
- core.Output(),
890
- __metadata("design:type", Object)
891
- ], CommandGroupMenuRendererComponent.prototype, "commandFired", void 0);
892
- __decorate([
893
- core.ViewChildren(menu.MatMenuTrigger),
894
- __metadata("design:type", core.QueryList)
895
- ], CommandGroupMenuRendererComponent.prototype, "triggers", void 0);
896
- CommandGroupMenuRendererComponent = __decorate([
897
- core.Component({
898
- selector: 'aup-command-group-menu',
899
- template: "<mat-menu #menu [xPosition]=\"groupViewData.xPosition\" [yPosition]=\"groupViewData.yPosition\">\n <ng-container *ngFor=\"let data of children.value; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"ViewData.isCommand(data)\"\n [pectinCommand]=\"getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n mat-menu-item>\n <aup-command-face [face]=\"ViewData.getFace(data)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"ViewData.isGroup(data)\">\n <button mat-menu-item\n #trigger=\"matMenuTrigger\"\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [face]=\"ViewData.getFace(data)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-command-group-menu #innerPanel\n [groupViewData]=\"ViewData.asGroup(data)\"\n (commandFired)=\"trigger.closeMenu()\"></aup-command-group-menu>\n </ng-container>\n\n <mat-divider *ngIf=\"ViewData.isSeparator(data)\"></mat-divider>\n\n </ng-container>\n</mat-menu>\n"
900
- }),
901
- __param(0, core.Optional()), __param(0, core.SkipSelf()),
902
- __metadata("design:paramtypes", [CommandGroupMenuRendererComponent])
903
- ], CommandGroupMenuRendererComponent);
904
- return CommandGroupMenuRendererComponent;
905
- }(DisposableComponent));
906
-
907
- var CommandGroupRendererComponent = /** @class */ (function (_super) {
908
- __extends(CommandGroupRendererComponent, _super);
909
- function CommandGroupRendererComponent() {
910
- var _this = _super.call(this) || this;
911
- _this.renderRootNode = true;
912
- _this.ViewData = exports.ViewData;
913
- _this.TrackBy = exports.TrackBy;
914
- var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
915
- _this.childViewDataModels = chain(_this.groupViewDataModel).pluckList('children');
916
- return _this;
917
- }
918
- __decorate([
919
- core.Input(), pectin.TrackExternal(),
920
- __metadata("design:type", pectin.ValueModel)
921
- ], CommandGroupRendererComponent.prototype, "groupViewDataModel", void 0);
922
- __decorate([
923
- core.Input(), pectin.StoreInValueModel('groupViewDataModel'),
924
- __metadata("design:type", exports.ViewData.GroupData)
925
- ], CommandGroupRendererComponent.prototype, "groupViewData", void 0);
926
- __decorate([
927
- core.Input(),
928
- core.HostBinding('class.render-root'),
929
- __metadata("design:type", Object)
930
- ], CommandGroupRendererComponent.prototype, "renderRootNode", void 0);
931
- CommandGroupRendererComponent = __decorate([
932
- core.Component({
933
- selector: 'aup-command-group-renderer',
934
- template: "<ng-template #groupTemplate let-group>\n\n <ng-container *ngIf=\"ViewData.hasText(group)\" [ngSwitch]=\"ViewData.getStyle(group)\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button #trigger=\"matMenuTrigger\"\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n mat-stroked-button>\n <aup-command-face [face]=\"ViewData.getFace(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu [groupViewData]=\"group\" (commandFired)=\"trigger.closeMenu()\"></aup-command-group-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button #trigger=\"matMenuTrigger\"\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n mat-raised-button>\n <aup-command-face [face]=\"ViewData.getFace(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu [groupViewData]=\"group\" (commandFired)=\"trigger.closeMenu()\"></aup-command-group-menu>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button #trigger=\"matMenuTrigger\"\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n mat-button>\n <aup-command-face [face]=\"ViewData.getFace(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu [groupViewData]=\"group\" (commandFired)=\"trigger.closeMenu()\"></aup-command-group-menu>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!ViewData.hasText(group)\">\n <button #trigger=\"matMenuTrigger\"\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n >\n <aup-command-face [face]=\"ViewData.getFace(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu [groupViewData]=\"group\" (commandFired)=\"trigger.closeMenu()\"></aup-command-group-menu>\n </ng-container>\n\n</ng-template>\n\n\n<ng-template #commandTemplate let-data>\n\n <ng-container *ngIf=\"ViewData.hasText(data)\" [ngSwitch]=\"ViewData.getStyle(data)\">\n <button *ngSwitchCase=\"'raised'\"\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-raised-button>\n <aup-command-face [face]=\"ViewData.getFace(data)\"></aup-command-face>\n </button>\n <button *ngSwitchCase=\"'stroked'\"\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-stroked-button>\n <aup-command-face [face]=\"ViewData.getFace(data)\"></aup-command-face>\n </button>\n <button *ngSwitchDefault\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-button>\n <aup-command-face [face]=\"ViewData.getFace(data)\"></aup-command-face>\n </button>\n </ng-container>\n\n <button *ngIf=\"!ViewData.hasText(data)\"\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-icon-button>\n <aup-command-face [face]=\"ViewData.getFace(data)\"></aup-command-face>\n </button>\n\n</ng-template>\n\n\n<ng-template *ngIf=\"renderRootNode\"\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: groupViewDataModel.value }\">\n</ng-template>\n\n<ng-container *ngIf=\"!renderRootNode\">\n <ng-container *ngFor=\"let data of this.childViewDataModels.value; trackBy: TrackBy.byIndex\">\n <ng-template *ngIf=\"ViewData.isGroup(data)\"\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data }\">\n </ng-template>\n <ng-template *ngIf=\"ViewData.isCommand(data)\"\n [ngTemplateOutlet]=\"commandTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data }\">\n </ng-template>\n\n <mat-divider *ngIf=\"ViewData.isSeparator(data)\" [vertical]=\"true\"></mat-divider>\n </ng-container>\n\n</ng-container>\n",
935
- styles: [":host{display:inline-flex;flex-direction:row;align-items:center}:host:not(.render-root) mat-divider{-ms-grid-row-align:stretch;align-self:stretch;margin:4px 0}:host:not(.render-root)>*+*{margin-left:8px}:host span.flex{flex:1}"]
936
- }),
937
- __metadata("design:paramtypes", [])
938
- ], CommandGroupRendererComponent);
939
- return CommandGroupRendererComponent;
940
- }(DisposableComponent));
941
-
942
- exports.Registration = /** @class */ (function (_super) {
943
- __extends(Registration, _super);
944
- function Registration() {
945
- return _super !== null && _super.apply(this, arguments) || this;
946
- }
947
- return Registration;
948
- }(pectin.GarbageCollector));
949
- (function (Registration) {
950
- var FaceRegistration = /** @class */ (function (_super) {
951
- __extends(FaceRegistration, _super);
952
- function FaceRegistration(faceModel) {
953
- var _this = _super.call(this) || this;
954
- _this.faceModel = faceModel;
955
- return _this;
956
- }
957
- return FaceRegistration;
958
- }(Registration));
959
- Registration.FaceRegistration = FaceRegistration;
960
- var CommandRegistration = /** @class */ (function (_super) {
961
- __extends(CommandRegistration, _super);
962
- function CommandRegistration(faceModel, command) {
963
- var _this = _super.call(this, faceModel) || this;
964
- _this.command = command;
965
- return _this;
966
- }
967
- CommandRegistration.prototype.toTemplate = function () {
968
- return new exports.ViewData.CommandData(this.faceModel.value, this.command);
969
- };
970
- return CommandRegistration;
971
- }(FaceRegistration));
972
- Registration.CommandRegistration = CommandRegistration;
973
- var GroupRegistration = /** @class */ (function (_super) {
974
- __extends(GroupRegistration, _super);
975
- function GroupRegistration(faceModel, group) {
976
- var _this = _super.call(this, faceModel) || this;
977
- _this.group = group;
978
- return _this;
979
- }
980
- GroupRegistration.prototype.toTemplate = function () {
981
- return new exports.ViewData.GroupData(this.faceModel.value, this.group.xPosition, this.group.yPosition, this.group.registrations.value.map(function (r) { return r.toTemplate(); }));
982
- };
983
- return GroupRegistration;
984
- }(FaceRegistration));
985
- Registration.GroupRegistration = GroupRegistration;
986
- var SeparatorRegistration = /** @class */ (function (_super) {
987
- __extends(SeparatorRegistration, _super);
988
- function SeparatorRegistration() {
989
- var _this = _super !== null && _super.apply(this, arguments) || this;
990
- _this.template = new exports.ViewData.SeparatorData();
991
- return _this;
992
- }
993
- SeparatorRegistration.prototype.toTemplate = function () {
994
- return this.template;
995
- };
996
- return SeparatorRegistration;
997
- }(Registration));
998
- Registration.SeparatorRegistration = SeparatorRegistration;
999
- var FlexRegistration = /** @class */ (function (_super) {
1000
- __extends(FlexRegistration, _super);
1001
- function FlexRegistration() {
1002
- var _this = _super !== null && _super.apply(this, arguments) || this;
1003
- _this.template = new exports.ViewData.FlexData();
1004
- return _this;
1005
- }
1006
- FlexRegistration.prototype.toTemplate = function () {
1007
- return this.template;
1008
- };
1009
- return FlexRegistration;
1010
- }(Registration));
1011
- Registration.FlexRegistration = FlexRegistration;
1012
- function hasFace(entry) {
1013
- return entry instanceof CommandRegistration || entry instanceof GroupRegistration;
1014
- }
1015
- Registration.hasFace = hasFace;
1016
- })(exports.Registration || (exports.Registration = {}));
1017
-
1018
- exports.ɵbo = /** @class */ (function (_super) {
1019
- __extends(CommandGroup, _super);
1020
- function CommandGroup(parent) {
1021
- var _this = _super.call(this) || this;
1022
- _this.parent = parent;
1023
- _this._rootTemplate = new pectin.MutableValueModel();
1024
- _this._registrations = new pectin.MutableListModel();
1025
- var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
1026
- _this.childTemplates = chain(_this._rootTemplate).pluckList('children');
1027
- _this.initialised = chain(_this._rootTemplate).isNotNil();
1028
- return _this;
1029
- }
1030
- CommandGroup.prototype.initialise = function () {
1031
- this.rebuildTemplates();
1032
- };
1033
- Object.defineProperty(CommandGroup.prototype, "rootTemplate", {
1034
- get: function () {
1035
- return this._rootTemplate.readonly;
1036
- },
1037
- enumerable: true,
1038
- configurable: true
1039
- });
1040
- Object.defineProperty(CommandGroup.prototype, "registrations", {
1041
- get: function () {
1042
- return this._registrations.readonly;
1043
- },
1044
- enumerable: true,
1045
- configurable: true
1046
- });
1047
- CommandGroup.prototype.notifyChanged = function () {
1048
- if (this.parent) {
1049
- this.parent.notifyChanged();
1050
- }
1051
- else {
1052
- this.rebuildTemplates();
1053
- }
1054
- };
1055
- CommandGroup.prototype.notifyChildFaceChanged = function (is, was) {
1056
- this.notifyChanged();
1057
- };
1058
- CommandGroup.prototype.rebuildTemplates = function () {
1059
- this._rootTemplate.value = new exports.ViewData.GroupData(this.faceModel.value, this.xPosition, this.yPosition, this.registrations.value.map(function (r) { return r.toTemplate(); }));
1060
- };
1061
- Object.defineProperty(CommandGroup.prototype, "depth", {
1062
- get: function () {
1063
- return this.isRoot() ? 0 : this.parent.depth + 1;
1064
- },
1065
- enumerable: true,
1066
- configurable: true
1067
- });
1068
- CommandGroup.prototype.isRoot = function () {
1069
- return false;
1070
- };
1071
- CommandGroup.prototype.registerCommand = function (command, faceModel) {
1072
- return this.register(new exports.Registration.CommandRegistration(faceModel, command));
1073
- };
1074
- CommandGroup.prototype.registerGroup = function (group, faceModel) {
1075
- return this.register(new exports.Registration.GroupRegistration(faceModel, group));
1076
- };
1077
- CommandGroup.prototype.registerFlex = function (component) {
1078
- return this.register(new exports.Registration.FlexRegistration());
1079
- };
1080
- CommandGroup.prototype.registerSeparator = function (component) {
1081
- return this.register(new exports.Registration.SeparatorRegistration());
1082
- };
1083
- CommandGroup.prototype.register = function (registration) {
1084
- var _this = this;
1085
- this._registrations.push(registration);
1086
- if (registration instanceof exports.Registration.FaceRegistration) {
1087
- var when = pectin.Dsl.disposeWith(registration).when;
1088
- when(registration.faceModel).changes(function (is, was) {
1089
- _this.notifyChildFaceChanged(is, was);
1090
- }, { asLongAs: this.initialised });
1091
- }
1092
- registration.onDispose(function () { return _this._registrations.remove(registration); });
1093
- return registration;
1094
- };
1095
- return CommandGroup;
1096
- }(pectin.GarbageCollector));
1097
- (function (CommandGroup) {
1098
- var Root = /** @class */ (function (_super) {
1099
- __extends(Root, _super);
1100
- function Root() {
1101
- return _super !== null && _super.apply(this, arguments) || this;
1102
- }
1103
- Root.prototype.isRoot = function () {
1104
- return true;
1105
- };
1106
- __decorate([
1107
- pectin.TrackExternal(),
1108
- __metadata("design:type", pectin.ValueModel)
1109
- ], Root.prototype, "faceModel", void 0);
1110
- __decorate([
1111
- pectin.TrackExternal({ defaultValue: 'after' }),
1112
- __metadata("design:type", pectin.ValueModel)
1113
- ], Root.prototype, "xPositionModel", void 0);
1114
- __decorate([
1115
- pectin.StoreInValueModel('xPositionModel'),
1116
- __metadata("design:type", String)
1117
- ], Root.prototype, "xPosition", void 0);
1118
- __decorate([
1119
- pectin.TrackExternal({ defaultValue: 'below' }),
1120
- __metadata("design:type", pectin.ValueModel)
1121
- ], Root.prototype, "yPositionModel", void 0);
1122
- __decorate([
1123
- pectin.StoreInValueModel('yPositionModel'),
1124
- __metadata("design:type", String)
1125
- ], Root.prototype, "yPosition", void 0);
1126
- return Root;
1127
- }(CommandGroup));
1128
- CommandGroup.Root = Root;
1129
- function factory() {
1130
- return new Root();
1131
- }
1132
- CommandGroup.factory = factory;
1133
- })(exports.ɵbo || (exports.ɵbo = {}));
1134
-
1135
- var CommandGroupComponent = /** @class */ (function (_super) {
1136
- __extends(CommandGroupComponent, _super);
1137
- function CommandGroupComponent(parent) {
1138
- var _this = _super.call(this, parent) || this;
1139
- _this.parent = parent;
1140
- _this.xPosition = 'after';
1141
- _this.yPosition = 'below';
1142
- _this.parent.registerGroup(_this, _this.faceModel);
1143
- return _this;
1144
- }
1145
- CommandGroupComponent_1 = CommandGroupComponent;
1146
- var CommandGroupComponent_1;
1147
- CommandGroupComponent.ctorParameters = function () { return [
1148
- { type: exports.ɵbo, decorators: [{ type: core.SkipSelf }] }
1149
- ]; };
1150
- __decorate([
1151
- core.Input(), pectin.TrackExternal(),
1152
- __metadata("design:type", pectin.ValueModel)
1153
- ], CommandGroupComponent.prototype, "faceModel", void 0);
1154
- __decorate([
1155
- core.Input(), pectin.StoreInValueModel('faceModel'),
1156
- __metadata("design:type", Object)
1157
- ], CommandGroupComponent.prototype, "face", void 0);
1158
- __decorate([
1159
- core.Input(),
1160
- __metadata("design:type", String)
1161
- ], CommandGroupComponent.prototype, "xPosition", void 0);
1162
- __decorate([
1163
- core.Input(),
1164
- __metadata("design:type", String)
1165
- ], CommandGroupComponent.prototype, "yPosition", void 0);
1166
- CommandGroupComponent = CommandGroupComponent_1 = __decorate([
1167
- core.Component({
1168
- selector: 'aup-command-group',
1169
- template: '',
1170
- providers: [
1171
- { provide: exports.ɵbo, useExisting: CommandGroupComponent_1 }
1172
- ]
1173
- }),
1174
- __param(0, core.SkipSelf()),
1175
- __metadata("design:paramtypes", [exports.ɵbo])
1176
- ], CommandGroupComponent);
1177
- return CommandGroupComponent;
1178
- }(exports.ɵbo));
1179
-
1180
- /**
1181
- * Custom CSS:
1182
- * @example
1183
- * root: { // globally
1184
- * --aup-command-face-icon-gap: 8px;
1185
- * }
1186
- * aup-command-face { // per instance
1187
- * --icon-gap: 4px;
1188
- * }
1189
- */
1190
- var CommandFaceComponent = /** @class */ (function (_super) {
1191
- __extends(CommandFaceComponent, _super);
1192
- function CommandFaceComponent() {
1193
- var _this = _super.call(this) || this;
1194
- _this.faceModel = new pectin.MutableValueModel();
1195
- _this.ignoreIcon = false;
1196
- _this.ignoreText = false;
1197
- _this.includeMissingIconInLayout = false;
1198
- var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
1199
- // overkill /c: when all you have is a hammer...
1200
- var faceAdapter = chain(_this.faceModel).map(function (face) { return new exports.CommandFace.Adapter(face); });
1201
- _this.iconModel = faceAdapter.pluck('icon');
1202
- _this.textModel = faceAdapter.pluck('text');
1203
- _this.positionModel = faceAdapter.pluck('iconPosition');
1204
- _this.colorModel = faceAdapter.pluck('color');
1205
- return _this;
1206
- }
1207
- Object.defineProperty(CommandFaceComponent.prototype, "requiresMissingIconInLayout", {
1208
- get: function () {
1209
- return this.includeMissingIconInLayout && !this.iconModel.value;
1210
- },
1211
- enumerable: true,
1212
- configurable: true
1213
- });
1214
- CommandFaceComponent.prototype.ngOnInit = function () {
1215
- };
1216
- Object.defineProperty(CommandFaceComponent.prototype, "iconPosition", {
1217
- get: function () {
1218
- var _a;
1219
- return (_a = this.positionModel.value) !== null && _a !== void 0 ? _a : exports.CommandFace.Position.START;
1220
- },
1221
- enumerable: true,
1222
- configurable: true
1223
- });
1224
- Object.defineProperty(CommandFaceComponent.prototype, "shouldIncludeIcon", {
1225
- get: function () {
1226
- return (!this.ignoreIcon && this.iconModel.value) || this.includeMissingIconInLayout;
1227
- },
1228
- enumerable: true,
1229
- configurable: true
1230
- });
1231
- Object.defineProperty(CommandFaceComponent.prototype, "iconStart", {
1232
- get: function () {
1233
- return this.shouldIncludeIcon && this.iconPosition === exports.CommandFace.Position.START;
1234
- },
1235
- enumerable: true,
1236
- configurable: true
1237
- });
1238
- Object.defineProperty(CommandFaceComponent.prototype, "iconEnd", {
1239
- get: function () {
1240
- return this.shouldIncludeIcon && this.iconPosition === exports.CommandFace.Position.END;
1241
- },
1242
- enumerable: true,
1243
- configurable: true
1244
- });
1245
- Object.defineProperty(CommandFaceComponent.prototype, "text", {
1246
- get: function () {
1247
- return this.ignoreText ? undefined : this.textModel.value;
1248
- },
1249
- enumerable: true,
1250
- configurable: true
1251
- });
1252
- Object.defineProperty(CommandFaceComponent.prototype, "color", {
1253
- get: function () {
1254
- return this.colorModel.value;
1255
- },
1256
- enumerable: true,
1257
- configurable: true
1258
- });
1259
- __decorate([
1260
- core.Input('face'), pectin.StoreInValueModel('faceModel'),
1261
- __metadata("design:type", Object)
1262
- ], CommandFaceComponent.prototype, "_rawFace", void 0);
1263
- __decorate([
1264
- core.Input(),
1265
- __metadata("design:type", Object)
1266
- ], CommandFaceComponent.prototype, "ignoreIcon", void 0);
1267
- __decorate([
1268
- core.Input(),
1269
- __metadata("design:type", Object)
1270
- ], CommandFaceComponent.prototype, "ignoreText", void 0);
1271
- __decorate([
1272
- core.Input(),
1273
- __metadata("design:type", Object)
1274
- ], CommandFaceComponent.prototype, "includeMissingIconInLayout", void 0);
1275
- __decorate([
1276
- core.HostBinding('class.hide-icon'),
1277
- __metadata("design:type", Object),
1278
- __metadata("design:paramtypes", [])
1279
- ], CommandFaceComponent.prototype, "requiresMissingIconInLayout", null);
1280
- __decorate([
1281
- core.HostBinding('attr.color'),
1282
- __metadata("design:type", String),
1283
- __metadata("design:paramtypes", [])
1284
- ], CommandFaceComponent.prototype, "color", null);
1285
- CommandFaceComponent = __decorate([
1286
- core.Component({
1287
- selector: 'aup-command-face',
1288
- template: "<aup-icon *ngIf=\"iconStart\" [icon]=\"iconModel.value\"></aup-icon>\n<span *ngIf=\"this.text\">{{this.text}}</span>\n<aup-icon *ngIf=\"iconEnd\" [icon]=\"iconModel.value\"></aup-icon>\n",
1289
- encapsulation: core.ViewEncapsulation.None,
1290
- styles: ["aup-command-face{--icon-gap:var(--aup-command-face-icon-gap);display:inline-flex;flex-direction:row;align-items:center}aup-command-face *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}"]
1291
- }),
1292
- __metadata("design:paramtypes", [])
1293
- ], CommandFaceComponent);
1294
- return CommandFaceComponent;
1295
- }(DisposableComponent));
1296
-
1297
- /**
1298
- *
1299
- */
1300
- var CommandComponent = /** @class */ (function (_super) {
1301
- __extends(CommandComponent, _super);
1302
- function CommandComponent(parent) {
1303
- var _this = _super.call(this) || this;
1304
- _this.parent = parent;
1305
- _this.CommandFace = exports.CommandFace;
1306
- var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, switchOn = _a.switchOn;
1307
- _this.activeFaceModel = switchOn(_this.command.busy).toValue(function (when) {
1308
- when.equalTo(true, _this.busyFaceModel);
1309
- when.otherwise(_this.faceModel);
1310
- }).otherwise(_this.faceModel);
1311
- _this.buttonStyle = chain(_this.activeFaceModel).map(function (f) { return exports.CommandFace.getStyleOf(f); });
1312
- _this.colorModel = chain(_this.activeFaceModel).map(function (f) { return exports.CommandFace.getColorOf(f); });
1313
- if (parent) {
1314
- _this.registerDisposable(_this.parent.registerCommand(_this.command, _this.activeFaceModel));
1315
- }
1316
- return _this;
1317
- }
1318
- CommandComponent.prototype.ngOnInit = function () {
1319
- };
1320
- CommandComponent.ctorParameters = function () { return [
1321
- { type: exports.ɵbo, decorators: [{ type: core.Optional }] }
1322
- ]; };
1323
- __decorate([
1324
- core.Input(), pectin.TrackExternal(),
1325
- __metadata("design:type", pectin.Command)
1326
- ], CommandComponent.prototype, "command", void 0);
1327
- __decorate([
1328
- core.Input(), pectin.TrackExternal(),
1329
- __metadata("design:type", pectin.ValueModel)
1330
- ], CommandComponent.prototype, "faceModel", void 0);
1331
- __decorate([
1332
- core.Input(), pectin.StoreInValueModel('faceModel'),
1333
- __metadata("design:type", Object)
1334
- ], CommandComponent.prototype, "face", void 0);
1335
- __decorate([
1336
- core.Input(), pectin.TrackExternal(),
1337
- __metadata("design:type", pectin.ValueModel)
1338
- ], CommandComponent.prototype, "busyFaceModel", void 0);
1339
- __decorate([
1340
- core.Input(), pectin.StoreInValueModel('busyFaceModel'),
1341
- __metadata("design:type", Object)
1342
- ], CommandComponent.prototype, "busyFace", void 0);
1343
- CommandComponent = __decorate([
1344
- core.Component({
1345
- selector: 'aup-command',
1346
- template: "<ng-container *ngIf=\"!parent\">\n <ng-container [ngSwitch]=\"buttonStyle.value\">\n <button *ngSwitchCase=\"CommandFace.Style.STROKED\" mat-stroked-button [pectinCommand]=\"command\" [color]=\"colorModel.value\">\n <aup-command-face [face]=\"activeFaceModel.value\"></aup-command-face>\n </button>\n <button *ngSwitchCase=\"CommandFace.Style.RAISED\" mat-raised-button [pectinCommand]=\"command\" [color]=\"colorModel.value\">\n <aup-command-face [face]=\"activeFaceModel.value\"></aup-command-face>\n </button>\n <button *ngSwitchDefault mat-button [pectinCommand]=\"command\" [color]=\"colorModel.value\">\n <aup-command-face [face]=\"activeFaceModel.value\"></aup-command-face>\n </button>\n </ng-container>\n</ng-container>\n"
1347
- }),
1348
- __param(0, core.Optional()),
1349
- __metadata("design:paramtypes", [exports.ɵbo])
1350
- ], CommandComponent);
1351
- return CommandComponent;
1352
- }(DisposableComponent));
1353
-
1354
- /**
1355
- *
1356
- */
1357
- var FlexComponent = /** @class */ (function (_super) {
1358
- __extends(FlexComponent, _super);
1359
- function FlexComponent(parent) {
1360
- var _this = _super.call(this) || this;
1361
- _this.parent = parent;
1362
- if (parent) {
1363
- parent.registerFlex(_this);
1364
- }
1365
- return _this;
1366
- }
1367
- FlexComponent.prototype.ngOnInit = function () {
1368
- };
1369
- FlexComponent.ctorParameters = function () { return [
1370
- { type: exports.ɵbo }
1371
- ]; };
1372
- FlexComponent = __decorate([
1373
- core.Component({
1374
- selector: 'aup-flex',
1375
- template: ""
1376
- }),
1377
- __metadata("design:paramtypes", [exports.ɵbo])
1378
- ], FlexComponent);
1379
- return FlexComponent;
1380
- }(DisposableComponent));
1381
-
1382
- var ɵ0 = exports.ɵbo.factory;
1383
- /**
1384
- *
1385
- */
1386
- var MoreMenuComponent = /** @class */ (function (_super) {
1387
- __extends(MoreMenuComponent, _super);
1388
- function MoreMenuComponent(group) {
1389
- var _this = _super.call(this) || this;
1390
- _this.group = group;
1391
- _this.tooltipModel = new pectin.MutableValueModel();
1392
- var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
1393
- group.xPosition = 'before'; // this should be the default unless overridden by the user.
1394
- group.faceModel = chain(_this.tooltipModel).map(function (tooltip) {
1395
- return {
1396
- icon: function () { return 'mat:more_vert'; },
1397
- tooltip: function () {
1398
- return tooltip;
1399
- }
1400
- };
1401
- }, { allowNil: true });
1402
- return _this;
1403
- }
1404
- MoreMenuComponent.prototype.ngOnInit = function () {
1405
- };
1406
- MoreMenuComponent.prototype.ngAfterContentInit = function () {
1407
- this.group.initialise();
1408
- };
1409
- MoreMenuComponent.ctorParameters = function () { return [
1410
- { type: exports.ɵbo }
1411
- ]; };
1412
- __decorate([
1413
- core.Input(), pectin.StoreInValueModel('tooltipModel'),
1414
- __metadata("design:type", String)
1415
- ], MoreMenuComponent.prototype, "tooltip", void 0);
1416
- __decorate([
1417
- pectin.Trace(),
1418
- __metadata("design:type", Function),
1419
- __metadata("design:paramtypes", []),
1420
- __metadata("design:returntype", void 0)
1421
- ], MoreMenuComponent.prototype, "ngAfterContentInit", null);
1422
- MoreMenuComponent = __decorate([
1423
- core.Component({
1424
- selector: 'aup-more-menu',
1425
- template: '<aup-command-group-renderer [renderRootNode]="true" [groupViewDataModel]="group.rootTemplate"></aup-command-group-renderer>',
1426
- providers: [{ provide: exports.ɵbo, useFactory: ɵ0 }]
1427
- }),
1428
- __metadata("design:paramtypes", [exports.ɵbo])
1429
- ], MoreMenuComponent);
1430
- return MoreMenuComponent;
1431
- }(DisposableComponent));
1432
-
1433
- var ɵ0$1 = exports.ɵbo.factory;
1434
- /**
1435
- *
1436
- */
1437
- var PopupMenuComponent = /** @class */ (function (_super) {
1438
- __extends(PopupMenuComponent, _super);
1439
- function PopupMenuComponent(group) {
1440
- var _this = _super.call(this) || this;
1441
- _this.group = group;
1442
- var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
1443
- group.faceModel = _this.faceModel;
1444
- return _this;
1445
- }
1446
- PopupMenuComponent.prototype.ngOnInit = function () {
1447
- };
1448
- PopupMenuComponent.prototype.ngAfterContentInit = function () {
1449
- this.group.initialise();
1450
- };
1451
- PopupMenuComponent.prototype.ngAfterViewInit = function () {
1452
- };
1453
- PopupMenuComponent.ctorParameters = function () { return [
1454
- { type: exports.ɵbo }
1455
- ]; };
1456
- __decorate([
1457
- core.Input(), pectin.TrackExternal(),
1458
- __metadata("design:type", pectin.ValueModel)
1459
- ], PopupMenuComponent.prototype, "faceModel", void 0);
1460
- __decorate([
1461
- core.Input(), pectin.StoreInValueModel('faceModel'),
1462
- __metadata("design:type", Object)
1463
- ], PopupMenuComponent.prototype, "face", void 0);
1464
- __decorate([
1465
- pectin.Trace(),
1466
- __metadata("design:type", Function),
1467
- __metadata("design:paramtypes", []),
1468
- __metadata("design:returntype", void 0)
1469
- ], PopupMenuComponent.prototype, "ngOnInit", null);
1470
- __decorate([
1471
- pectin.Trace(),
1472
- __metadata("design:type", Function),
1473
- __metadata("design:paramtypes", []),
1474
- __metadata("design:returntype", void 0)
1475
- ], PopupMenuComponent.prototype, "ngAfterContentInit", null);
1476
- __decorate([
1477
- pectin.Trace(),
1478
- __metadata("design:type", Function),
1479
- __metadata("design:paramtypes", []),
1480
- __metadata("design:returntype", void 0)
1481
- ], PopupMenuComponent.prototype, "ngAfterViewInit", null);
1482
- PopupMenuComponent = __decorate([
1483
- core.Component({
1484
- selector: 'aup-popup-menu',
1485
- template: '<aup-command-group-renderer [renderRootNode]="true" [groupViewDataModel]="group.rootTemplate"></aup-command-group-renderer>',
1486
- providers: [{ provide: exports.ɵbo, useFactory: ɵ0$1 }]
1487
- }),
1488
- __metadata("design:paramtypes", [exports.ɵbo])
1489
- ], PopupMenuComponent);
1490
- return PopupMenuComponent;
1491
- }(DisposableComponent));
1492
-
1493
- /**
1494
- *
1495
- */
1496
- var SeparatorComponent = /** @class */ (function (_super) {
1497
- __extends(SeparatorComponent, _super);
1498
- function SeparatorComponent(parent) {
1499
- var _this = _super.call(this) || this;
1500
- _this.parent = parent;
1501
- if (parent) {
1502
- parent.registerSeparator(_this);
1503
- }
1504
- return _this;
1505
- }
1506
- SeparatorComponent.prototype.isVertical = function () {
1507
- return this === null || this === void 0 ? void 0 : this.parent.isRoot();
1508
- };
1509
- SeparatorComponent.prototype.ngOnInit = function () {
1510
- };
1511
- SeparatorComponent.ctorParameters = function () { return [
1512
- { type: exports.ɵbo, decorators: [{ type: core.Optional }] }
1513
- ]; };
1514
- SeparatorComponent = __decorate([
1515
- core.Component({
1516
- selector: 'aup-separator',
1517
- template: "\n <mat-divider [vertical]=\"isVertical()\"></mat-divider>"
1518
- }),
1519
- __param(0, core.Optional()),
1520
- __metadata("design:paramtypes", [exports.ɵbo])
1521
- ], SeparatorComponent);
1522
- return SeparatorComponent;
1523
- }(DisposableComponent));
1524
-
1525
- var ɵ0$2 = exports.ɵbo.factory;
1526
- /**
1527
- *
1528
- */
1529
- var ToolBarComponent = /** @class */ (function (_super) {
1530
- __extends(ToolBarComponent, _super);
1531
- function ToolBarComponent(group) {
1532
- var _this = _super.call(this) || this;
1533
- _this.group = group;
1534
- return _this;
1535
- }
1536
- ToolBarComponent.prototype.ngOnInit = function () {
1537
- };
1538
- ToolBarComponent.prototype.ngAfterContentInit = function () {
1539
- this.group.initialise();
1540
- };
1541
- ToolBarComponent.prototype.ngAfterViewInit = function () {
1542
- };
1543
- ToolBarComponent.ctorParameters = function () { return [
1544
- { type: exports.ɵbo }
1545
- ]; };
1546
- __decorate([
1547
- pectin.Trace(),
1548
- __metadata("design:type", Function),
1549
- __metadata("design:paramtypes", []),
1550
- __metadata("design:returntype", void 0)
1551
- ], ToolBarComponent.prototype, "ngOnInit", null);
1552
- __decorate([
1553
- pectin.Trace(),
1554
- __metadata("design:type", Function),
1555
- __metadata("design:paramtypes", []),
1556
- __metadata("design:returntype", void 0)
1557
- ], ToolBarComponent.prototype, "ngAfterContentInit", null);
1558
- __decorate([
1559
- pectin.Trace(),
1560
- __metadata("design:type", Function),
1561
- __metadata("design:paramtypes", []),
1562
- __metadata("design:returntype", void 0)
1563
- ], ToolBarComponent.prototype, "ngAfterViewInit", null);
1564
- ToolBarComponent = __decorate([
1565
- core.Component({
1566
- selector: 'aup-tool-bar',
1567
- template: '<aup-command-group-renderer [renderRootNode]="false" [groupViewDataModel]="group.rootTemplate"></aup-command-group-renderer>',
1568
- providers: [{ provide: exports.ɵbo, useFactory: ɵ0$2 }],
1569
- styles: [":host{display:inline-flex;flex-direction:row;align-items:center}:host mat-divider{-ms-grid-row-align:stretch;align-self:stretch;margin:4px 0}:host span.flex{flex:1}:host>*+*{margin-left:8px}"]
1570
- }),
1571
- __metadata("design:paramtypes", [exports.ɵbo])
1572
- ], ToolBarComponent);
1573
- return ToolBarComponent;
1574
- }(DisposableComponent));
1575
-
1576
588
  var FocusContainerComponent = /** @class */ (function (_super) {
1577
589
  __extends(FocusContainerComponent, _super);
1578
590
  function FocusContainerComponent(focusManager) {
@@ -1681,7 +693,6 @@
1681
693
  __extends(AbstractInputComponent, _super);
1682
694
  function AbstractInputComponent() {
1683
695
  var _this = _super.call(this) || this;
1684
- _this.onValueEditedListeners = new pectin.EventListenerList();
1685
696
  _this.dense = false;
1686
697
  // TODO: fix this.
1687
698
  // tslint:disable-next-line:no-output-native
@@ -1732,7 +743,7 @@
1732
743
  };
1733
744
  Object.defineProperty(AbstractInputComponent.prototype, "enabled", {
1734
745
  get: function () {
1735
- return this.formValueModel.enabled;
746
+ return this.inputModel.enabled;
1736
747
  },
1737
748
  enumerable: true,
1738
749
  configurable: true
@@ -1742,7 +753,7 @@
1742
753
  };
1743
754
  Object.defineProperty(AbstractInputComponent.prototype, "errorList", {
1744
755
  get: function () {
1745
- return this.formValueModel.errorList;
756
+ return this.inputModel.errorList;
1746
757
  },
1747
758
  enumerable: true,
1748
759
  configurable: true
@@ -1756,7 +767,7 @@
1756
767
  });
1757
768
  Object.defineProperty(AbstractInputComponent.prototype, "focusContext", {
1758
769
  get: function () {
1759
- return this.formValueModel.focusContext;
770
+ return this.inputModel.focusContext;
1760
771
  },
1761
772
  enumerable: true,
1762
773
  configurable: true
@@ -1775,13 +786,6 @@
1775
786
  enumerable: true,
1776
787
  configurable: true
1777
788
  });
1778
- /**
1779
- * Invokes the callback when this components value is changed by a user edit.
1780
- * @param callback
1781
- */
1782
- AbstractInputComponent.prototype.onValueEdited = function (callback) {
1783
- return this.onValueEditedListeners.add(callback);
1784
- };
1785
789
  __decorate([
1786
790
  core.Input(),
1787
791
  __metadata("design:type", String)
@@ -1871,7 +875,7 @@
1871
875
  var AbstractListInputComponent = /** @class */ (function (_super) {
1872
876
  __extends(AbstractListInputComponent, _super);
1873
877
  function AbstractListInputComponent() {
1874
- var _this = _super.call(this) || this;
878
+ var _this = _super !== null && _super.apply(this, arguments) || this;
1875
879
  /**
1876
880
  * A backing model for all our @Input() valueModel properties which should be defined as follows.
1877
881
  *
@@ -1883,61 +887,11 @@
1883
887
  * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
1884
888
  */
1885
889
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
1886
- _this.formValueModel = _this.registerDisposable(new pectin.Form.DelegatingListModel());
1887
- _this.componentListModel = new pectin.MutableListModel();
1888
- _this.setValueIsInProgress = new pectin.Guard();
1889
- _this.valueChange = new core.EventEmitter();
1890
- var _a = pectin.Dsl.disposeWith(_this), when = _a.when, valueOf = _a.valueOf, chain = _a.chain;
1891
- var binding = new pectin.Binding.Identity(_this.formValueModel, _this.componentListModel).writeRight();
1892
- var inExternalChange = valueOf.any(_this.setValueIsInProgress, chain(binding.direction).equals(pectin.Binding.Direction.RIGHT)).areTruthy();
1893
- when(_this.componentListModel).changes(function (is, was) {
1894
- _this.valueChange.emit(is);
1895
- _this.onValueEditedListeners.fire(function (l) { return l(is, was); });
1896
- }, {
1897
- initialValue: 'ignore',
1898
- // we never fire events during an external changes to the value. This allows
1899
- // the component to behave when used in the conventional angular
1900
- // fashion, i.e. [(value)]="..."
1901
- unless: inExternalChange
1902
- });
1903
- pectin.DebugContext.tag(_this.formValueModel, _this.constructor.name + ".formValueModel");
890
+ _this.inputModel = _this.registerDisposable(new pectin.Form.DelegatingListModel());
1904
891
  return _this;
1905
892
  }
1906
- Object.defineProperty(AbstractListInputComponent.prototype, "value", {
1907
- // We add support for simple direct display of values by allowing components to be used
1908
- // by `component.value = ...` This use of the component without a value model in tables
1909
- // and the like.
1910
- set: function (value) {
1911
- var _this = this;
1912
- this.setValueIsInProgress.whileTrue(function () {
1913
- if (!_this.listHolder) {
1914
- _this.listHolder = new pectin.MutableListModel(value);
1915
- _this.listModel = _this.listHolder;
1916
- }
1917
- else {
1918
- _this.listHolder.value = value;
1919
- }
1920
- });
1921
- },
1922
- enumerable: true,
1923
- configurable: true
1924
- });
1925
- __decorate([
1926
- core.Input(), pectin.TrackExternal({ delegateTo: 'formValueModel' }),
1927
- __metadata("design:type", Object)
1928
- ], AbstractListInputComponent.prototype, "listModel", void 0);
1929
- __decorate([
1930
- core.Input(),
1931
- __metadata("design:type", Array),
1932
- __metadata("design:paramtypes", [Array])
1933
- ], AbstractListInputComponent.prototype, "value", null);
1934
- __decorate([
1935
- core.Output(),
1936
- __metadata("design:type", Object)
1937
- ], AbstractListInputComponent.prototype, "valueChange", void 0);
1938
893
  AbstractListInputComponent = __decorate([
1939
- core.Component({ template: '' }),
1940
- __metadata("design:paramtypes", [])
894
+ core.Component({ template: '' })
1941
895
  ], AbstractListInputComponent);
1942
896
  return AbstractListInputComponent;
1943
897
  }(AbstractInputComponent));
@@ -1945,156 +899,42 @@
1945
899
  var AbstractValueInputComponent = /** @class */ (function (_super) {
1946
900
  __extends(AbstractValueInputComponent, _super);
1947
901
  function AbstractValueInputComponent() {
1948
- var _this = _super.call(this) || this;
1949
- /**
1950
- * A backing model for all our @Input() valueModel properties which should be defined as follows.
1951
- *
1952
- * @Input() @TrackExternal({useExisting: "inputModel"})
1953
- * valueModel: DirtyTrackingForm.ValueModel<string> | IMutableValueModel<string>;
1954
- *
1955
- * This approach allows the input to accept plain or form models but all backed by a form
1956
- * friendly delegate. We have to use an existing delegate for union types as pectin just
1957
- * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
1958
- */
1959
- // We have to register it as a disposable so it ditches any listeners when we're disposed.
1960
- _this.formValueModel = _this.registerDisposable(new pectin.Form.DelegatingValueModel());
1961
- _this.setValueInProgress = new pectin.Guard();
1962
- _this.componentValueModel = new pectin.MutableValueModel();
1963
- _this.valueChange = new core.EventEmitter();
1964
- var _a = pectin.Dsl.disposeWith(_this), when = _a.when, chain = _a.chain, valueOf = _a.valueOf;
1965
- var binding = new pectin.Binding.Identity(_this.formValueModel, _this.componentValueModel).writeRight();
1966
- var inExternalChange = valueOf.any(_this.setValueInProgress, chain(binding.direction).equals(pectin.Binding.Direction.RIGHT)).areTruthy();
1967
- when(_this.componentValueModel).changes(function (is, was) {
1968
- _this.valueChange.emit(is);
1969
- _this.onValueEditedListeners.fire(function (l) { return l(is, was); });
1970
- }, {
1971
- initialValue: 'ignore',
1972
- // we never fire events during an external set value operation. This allows
1973
- // the component to behave when used in the conventional angular
1974
- // fashion, i.e. [(value)]="..."
1975
- unless: inExternalChange
1976
- });
1977
- pectin.DebugContext.tag(_this.formValueModel, _this.constructor.name + ".formValueModel");
1978
- return _this;
1979
- }
1980
- Object.defineProperty(AbstractValueInputComponent.prototype, "value", {
1981
- // We add support for simple direct display of values by allowing components to be used
1982
- // by `component.value = ...` This use of the component without a value model in tables
1983
- // and the like.
1984
- set: function (value) {
1985
- var _this = this;
1986
- this.setValueInProgress.whileTrue(function () {
1987
- if (!_this.plainValueHolder) {
1988
- _this.plainValueHolder = new pectin.MutableValueModel(value);
1989
- _this.valueModel = _this.plainValueHolder;
1990
- }
1991
- else {
1992
- _this.plainValueHolder.value = value;
1993
- }
1994
- });
1995
- },
1996
- enumerable: true,
1997
- configurable: true
1998
- });
1999
- __decorate([
2000
- core.Input(), pectin.TrackExternal({ delegateTo: 'formValueModel' }),
2001
- __metadata("design:type", Object)
2002
- ], AbstractValueInputComponent.prototype, "valueModel", void 0);
2003
- __decorate([
2004
- core.Input(),
2005
- __metadata("design:type", Object),
2006
- __metadata("design:paramtypes", [Object])
2007
- ], AbstractValueInputComponent.prototype, "value", null);
2008
- __decorate([
2009
- core.Output(),
2010
- __metadata("design:type", Object)
2011
- ], AbstractValueInputComponent.prototype, "valueChange", void 0);
2012
- AbstractValueInputComponent = __decorate([
2013
- core.Component({ template: '' }),
2014
- __metadata("design:paramtypes", [])
2015
- ], AbstractValueInputComponent);
2016
- return AbstractValueInputComponent;
2017
- }(AbstractInputComponent));
2018
-
2019
- /**
2020
- * Using templates (not only supported for nil values:
2021
- * <aup-autocomplete-input [valueModel]="myModel" [options]="myOptions">
2022
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
2023
- * </aup-autocomplete-input>
2024
- */
2025
- var AutocompleteInputComponent = /** @class */ (function (_super) {
2026
- __extends(AutocompleteInputComponent, _super);
2027
- function AutocompleteInputComponent() {
2028
- var _this = _super.call(this) || this;
2029
- _this.filterValue = new pectin.MutableValueModel();
2030
- _this.optionLabelFormat = function (option) { return (option && _this.optionLabel) ? option[_this.optionLabel] : option; };
2031
- var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
2032
- var lowerCaseFilterValue = chain(_this.filterValue)
2033
- .map(function (v) { return ___default__default.isString(v) ? v.toLowerCase() : ''; });
2034
- _this.filteredOptions = chain(_this.optionsModel)
2035
- .select(function (option) {
2036
- return ___default__default.isEmpty(_this.filterValue.value) || _this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
2037
- }, { dependsOn: lowerCaseFilterValue });
2038
- return _this;
2039
- }
2040
- AutocompleteInputComponent.prototype.ngOnInit = function () {
2041
- };
2042
- AutocompleteInputComponent.prototype.formatOption = function (option) {
2043
- return this.optionLabelFormat(option);
2044
- };
2045
- AutocompleteInputComponent.prototype.updateFilter = function ($event) {
2046
- this.filterValue.value = $event;
2047
- };
2048
- AutocompleteInputComponent.prototype.onSelect = function ($event) {
2049
- this.valueModel.value = $event.option.value;
2050
- };
2051
- __decorate([
2052
- core.Input(), pectin.TrackExternal(),
2053
- __metadata("design:type", pectin.ListModel)
2054
- ], AutocompleteInputComponent.prototype, "optionsModel", void 0);
2055
- __decorate([
2056
- core.Input(), pectin.StoreInListModel('optionsModel'),
2057
- __metadata("design:type", Array)
2058
- ], AutocompleteInputComponent.prototype, "options", void 0);
2059
- __decorate([
2060
- core.Input(),
2061
- __metadata("design:type", Object)
2062
- ], AutocompleteInputComponent.prototype, "optionLabel", void 0);
2063
- __decorate([
2064
- core.Input(),
2065
- __metadata("design:type", Boolean)
2066
- ], AutocompleteInputComponent.prototype, "allowNil", void 0);
2067
- __decorate([
2068
- core.ContentChild('nilOptionTemplate'),
2069
- __metadata("design:type", core.TemplateRef)
2070
- ], AutocompleteInputComponent.prototype, "nilOptionTemplateRef", void 0);
2071
- __decorate([
2072
- core.Input(),
2073
- __metadata("design:type", Function)
2074
- ], AutocompleteInputComponent.prototype, "optionLabelFormat", void 0);
2075
- AutocompleteInputComponent = __decorate([
2076
- core.Component({
2077
- selector: 'aup-autocomplete-input',
2078
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"string\"\n matInput\n [matAutocomplete]=\"autocomplete\"\n placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValueModel.value\"\n (ngModelChange)=\"updateFilter($event)\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-autocomplete #autocomplete [displayWith]=\"optionLabelFormat\" [autoActiveFirstOption]=\"true\" (optionSelected)=\"onSelect($event)\">\n <mat-option *ngFor=\"let option of filteredOptions.value; let i = index\"\n [value]=\"option\"\n >{{formatOption(option)}}</mat-option>\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n </mat-autocomplete>\n\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
2079
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
2080
- }),
902
+ var _this = _super.call(this) || this;
903
+ /**
904
+ * A backing model for all our @Input() valueModel properties which should be defined as follows.
905
+ *
906
+ * @Input() @TrackExternal({useExisting: "inputModel"})
907
+ * valueModel: DirtyTrackingForm.ValueModel<string> | IMutableValueModel<string>;
908
+ *
909
+ * This approach allows the input to accept plain or form models but all backed by a form
910
+ * friendly delegate. We have to use an existing delegate for union types as pectin just
911
+ * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
912
+ */
913
+ // We have to register it as a disposable so it ditches any listeners when we're disposed.
914
+ _this.inputModel = _this.registerDisposable(new pectin.Form.DelegatingValueModel());
915
+ return _this;
916
+ }
917
+ AbstractValueInputComponent = __decorate([
918
+ core.Component({ template: '' }),
2081
919
  __metadata("design:paramtypes", [])
2082
- ], AutocompleteInputComponent);
2083
- return AutocompleteInputComponent;
2084
- }(AbstractValueInputComponent));
920
+ ], AbstractValueInputComponent);
921
+ return AbstractValueInputComponent;
922
+ }(AbstractInputComponent));
2085
923
 
2086
924
  var CheckboxInputComponent = /** @class */ (function (_super) {
2087
925
  __extends(CheckboxInputComponent, _super);
2088
926
  function CheckboxInputComponent() {
2089
927
  var _this = _super.call(this) || this;
2090
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
2091
- // valueModel: Form.ValueModelBase<boolean> | IMutableValueModel<boolean>;
2092
928
  _this.color = 'accent';
2093
929
  _this.labelPosition = 'after';
2094
930
  return _this;
2095
931
  }
2096
932
  CheckboxInputComponent.prototype.ngOnInit = function () {
2097
933
  };
934
+ __decorate([
935
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
936
+ __metadata("design:type", Object)
937
+ ], CheckboxInputComponent.prototype, "valueModel", void 0);
2098
938
  __decorate([
2099
939
  core.Input(),
2100
940
  __metadata("design:type", String)
@@ -2106,7 +946,7 @@
2106
946
  CheckboxInputComponent = __decorate([
2107
947
  core.Component({
2108
948
  selector: 'aup-checkbox-input',
2109
- template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [(ngModel)]=\"componentValueModel.value\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{label}}</mat-checkbox>\n<mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n<mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n",
949
+ template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [(ngModel)]=\"valueModel.value\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{label}}</mat-checkbox>\n<mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n<mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n",
2110
950
  styles: [":host{display:inline-flex;flex-direction:column;padding:24px 0 16px}:host.dense{padding:6px 0 2px}mat-error,mat-hint{margin-top:4px;margin-left:24px;font-size:12px;font-weight:400;line-height:13.5px}"]
2111
951
  }),
2112
952
  __metadata("design:paramtypes", [])
@@ -2114,65 +954,20 @@
2114
954
  return CheckboxInputComponent;
2115
955
  }(AbstractValueInputComponent));
2116
956
 
2117
- /**
2118
- * Using templates:
2119
- * <aup-multiple-select-input [valueModel]="myModel" [options]="myOptions">
2120
- * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
2121
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
2122
- * </aup-multiple-select_input>
2123
- */
2124
- var MultipleSelectInputComponent = /** @class */ (function (_super) {
2125
- __extends(MultipleSelectInputComponent, _super);
2126
- function MultipleSelectInputComponent() {
2127
- var _this = _super.call(this) || this;
2128
- _this.optionLabelFormat = function (option) { return (option && _this.optionLabel) ? option[_this.optionLabel] : option; };
2129
- return _this;
2130
- }
2131
- MultipleSelectInputComponent.prototype.ngOnInit = function () {
2132
- };
2133
- __decorate([
2134
- core.Input(), pectin.TrackExternal(),
2135
- __metadata("design:type", pectin.ListModel)
2136
- ], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
2137
- __decorate([
2138
- core.Input(), pectin.StoreInListModel('optionsModel'),
2139
- __metadata("design:type", Array)
2140
- ], MultipleSelectInputComponent.prototype, "options", void 0);
2141
- __decorate([
2142
- core.Input(),
2143
- __metadata("design:type", Object)
2144
- ], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
2145
- __decorate([
2146
- core.ContentChild('optionTemplate'),
2147
- __metadata("design:type", core.TemplateRef)
2148
- ], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
2149
- __decorate([
2150
- core.Input(),
2151
- __metadata("design:type", Function)
2152
- ], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
2153
- MultipleSelectInputComponent = __decorate([
2154
- core.Component({
2155
- selector: 'aup-multiple-select-input',
2156
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [(ngModel)]=\"componentListModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
2157
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
2158
- }),
2159
- __metadata("design:paramtypes", [])
2160
- ], MultipleSelectInputComponent);
2161
- return MultipleSelectInputComponent;
2162
- }(AbstractListInputComponent));
2163
-
2164
957
  var NumberInputComponent = /** @class */ (function (_super) {
2165
958
  __extends(NumberInputComponent, _super);
2166
959
  function NumberInputComponent() {
2167
960
  var _this = _super.call(this) || this;
2168
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
2169
- // valueModel: Form.ValueModelBase<number> | IMutableValueModel<number>;
2170
961
  _this.min = Number.MIN_SAFE_INTEGER;
2171
962
  _this.max = Number.MAX_SAFE_INTEGER;
2172
963
  return _this;
2173
964
  }
2174
965
  NumberInputComponent.prototype.ngOnInit = function () {
2175
966
  };
967
+ __decorate([
968
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
969
+ __metadata("design:type", Object)
970
+ ], NumberInputComponent.prototype, "valueModel", void 0);
2176
971
  __decorate([
2177
972
  core.Input(),
2178
973
  __metadata("design:type", Object)
@@ -2184,7 +979,7 @@
2184
979
  NumberInputComponent = __decorate([
2185
980
  core.Component({
2186
981
  selector: 'aup-number-input',
2187
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint && !dense\" >{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
982
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint && !dense\" >{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
2188
983
  styles: [""]
2189
984
  }),
2190
985
  __metadata("design:paramtypes", [])
@@ -2194,17 +989,19 @@
2194
989
 
2195
990
  var PasswordInputComponent = /** @class */ (function (_super) {
2196
991
  __extends(PasswordInputComponent, _super);
2197
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
2198
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
2199
992
  function PasswordInputComponent() {
2200
993
  return _super.call(this) || this;
2201
994
  }
2202
995
  PasswordInputComponent.prototype.ngOnInit = function () {
2203
996
  };
997
+ __decorate([
998
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
999
+ __metadata("design:type", Object)
1000
+ ], PasswordInputComponent.prototype, "valueModel", void 0);
2204
1001
  PasswordInputComponent = __decorate([
2205
1002
  core.Component({
2206
1003
  selector: 'aup-password-input',
2207
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
1004
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
2208
1005
  styles: [""]
2209
1006
  }),
2210
1007
  __metadata("design:paramtypes", [])
@@ -2216,7 +1013,6 @@
2216
1013
  * Using templates:
2217
1014
  * <aup-select-input [valueModel]="myModel" [options]="myOptions">
2218
1015
  * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
2219
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
2220
1016
  * </aup-select_input>
2221
1017
  */
2222
1018
  var SelectInputComponent = /** @class */ (function (_super) {
@@ -2228,6 +1024,10 @@
2228
1024
  }
2229
1025
  SelectInputComponent.prototype.ngOnInit = function () {
2230
1026
  };
1027
+ __decorate([
1028
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1029
+ __metadata("design:type", Object)
1030
+ ], SelectInputComponent.prototype, "valueModel", void 0);
2231
1031
  __decorate([
2232
1032
  core.Input(), pectin.TrackExternal(),
2233
1033
  __metadata("design:type", pectin.ListModel)
@@ -2259,7 +1059,7 @@
2259
1059
  SelectInputComponent = __decorate([
2260
1060
  core.Component({
2261
1061
  selector: 'aup-select-input',
2262
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
1062
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
2263
1063
  styles: [":host{display:inline-block}mat-form-field{width:100%}"]
2264
1064
  }),
2265
1065
  __metadata("design:paramtypes", [])
@@ -2273,13 +1073,17 @@
2273
1073
  var _this = _super.call(this) || this;
2274
1074
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
2275
1075
  _this.clearCommand = pectin.Command.create(function () {
2276
- _this.componentValueModel.value = null;
1076
+ _this.valueModel.value = null;
2277
1077
  });
2278
- _this.clearCommand.disableWhile(chain.stringValue(_this.componentValueModel).isBlank());
1078
+ _this.clearCommand.disableWhile(chain.stringValue(_this.valueModel).isBlank());
2279
1079
  return _this;
2280
1080
  }
2281
1081
  StringInputComponent.prototype.ngOnInit = function () {
2282
1082
  };
1083
+ __decorate([
1084
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1085
+ __metadata("design:type", Object)
1086
+ ], StringInputComponent.prototype, "valueModel", void 0);
2283
1087
  __decorate([
2284
1088
  core.Input(), pectin.TrackExternal({ defaultValue: false }),
2285
1089
  __metadata("design:type", pectin.ValueModel)
@@ -2291,7 +1095,7 @@
2291
1095
  StringInputComponent = __decorate([
2292
1096
  core.Component({
2293
1097
  selector: 'aup-string-input',
2294
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <button mat-button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n",
1098
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <button mat-button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n",
2295
1099
  styles: ["button[disabled]{visibility:hidden}"]
2296
1100
  }),
2297
1101
  __metadata("design:paramtypes", [])
@@ -2303,14 +1107,16 @@
2303
1107
  __extends(TextInputComponent, _super);
2304
1108
  function TextInputComponent() {
2305
1109
  var _this = _super.call(this) || this;
2306
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
2307
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
2308
1110
  _this.rows = 2;
2309
1111
  return _this;
2310
1112
  // const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
2311
1113
  }
2312
1114
  TextInputComponent.prototype.ngOnInit = function () {
2313
1115
  };
1116
+ __decorate([
1117
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1118
+ __metadata("design:type", Object)
1119
+ ], TextInputComponent.prototype, "valueModel", void 0);
2314
1120
  __decorate([
2315
1121
  core.Input(),
2316
1122
  __metadata("design:type", Object)
@@ -2322,7 +1128,7 @@
2322
1128
  TextInputComponent = __decorate([
2323
1129
  core.Component({
2324
1130
  selector: 'aup-text-input',
2325
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <textarea matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n </textarea>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
1131
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <textarea matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n </textarea>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
2326
1132
  styles: ["button[disabled]{visibility:hidden}textarea{overflow:auto}"]
2327
1133
  }),
2328
1134
  __metadata("design:paramtypes", [])
@@ -2330,59 +1136,6 @@
2330
1136
  return TextInputComponent;
2331
1137
  }(AbstractValueInputComponent));
2332
1138
 
2333
- exports.ɵbk = /** @class */ (function () {
2334
- function IconComponent() {
2335
- this.allowedPrefixes = typescriptStringEnums.Enum.values(IconComponent_1.IconPrefix).map(function (p) { return p + ":"; });
2336
- this.iconPrefix = IconComponent_1.IconPrefix;
2337
- }
2338
- IconComponent_1 = IconComponent;
2339
- Object.defineProperty(IconComponent.prototype, "icon", {
2340
- get: function () {
2341
- return this._icon;
2342
- },
2343
- set: function (iconName) {
2344
- this._icon = iconName;
2345
- if (!iconName) {
2346
- this.errorMessage = 'icon is nil';
2347
- this.prefix = undefined;
2348
- return;
2349
- }
2350
- var colonIndex = iconName.indexOf(':');
2351
- if (colonIndex > 0) {
2352
- this.prefix = this.icon.slice(0, colonIndex);
2353
- this.suffix = this.icon.slice(colonIndex + 1);
2354
- }
2355
- if (this.prefix) {
2356
- this.errorMessage = "Unknown icon \"" + iconName + "\"";
2357
- }
2358
- this.errorMessage = "Unknown icon prefix, expected one of [" + this.allowedPrefixes.join(',') + "] got \"" + this.prefix + ":\"";
2359
- },
2360
- enumerable: true,
2361
- configurable: true
2362
- });
2363
- var IconComponent_1;
2364
- __decorate([
2365
- core.Input(),
2366
- __metadata("design:type", String),
2367
- __metadata("design:paramtypes", [String])
2368
- ], IconComponent.prototype, "icon", null);
2369
- IconComponent = IconComponent_1 = __decorate([
2370
- core.Component({
2371
- selector: 'aup-icon',
2372
- template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"iconPrefix.SVG\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"iconPrefix.MATERIAL\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"iconPrefix.FONT_AWESOME\"\n class=\"faIconWrapper\">\n <fa-icon [icon]=\"suffix\">\n </fa-icon>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n",
2373
- styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center;width:24px;height:24px}.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
2374
- })
2375
- ], IconComponent);
2376
- return IconComponent;
2377
- }());
2378
- (function (IconComponent) {
2379
- IconComponent.IconPrefix = typescriptStringEnums.Enum({
2380
- SVG: 'svg',
2381
- FONT_AWESOME: 'fa',
2382
- MATERIAL: 'mat'
2383
- });
2384
- })(exports.ɵbk || (exports.ɵbk = {}));
2385
-
2386
1139
  var NoopComponent = /** @class */ (function () {
2387
1140
  function NoopComponent() {
2388
1141
  }
@@ -2593,7 +1346,6 @@
2593
1346
  typescriptUtilities.assert.isTruthy(host);
2594
1347
  host[HEADER_CELL_RENDERER_PORTAL] = new portal.ComponentPortal(this.componentType);
2595
1348
  };
2596
- // @Trace()
2597
1349
  CellHeaderPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
2598
1350
  this.initialiseHeader(portalComponent, host.column);
2599
1351
  };
@@ -2617,15 +1369,13 @@
2617
1369
  ComponentCellRendererPortalRef.prototype.initialiseHost = function (host, columnModel) {
2618
1370
  host[CELL_RENDERER_PORTAL] = new portal.ComponentPortal(this.componentType);
2619
1371
  };
2620
- // @Trace()
2621
1372
  ComponentCellRendererPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
2622
1373
  host[PORTAL_RENDERER_COMPONENT] = portalComponent;
2623
- this.updateComponent(portalComponent, host.getRowData(), true);
1374
+ this.updateComponent(portalComponent, host.getRowData());
2624
1375
  };
2625
- // @Trace()
2626
1376
  ComponentCellRendererPortalRef.prototype.pushState = function (host) {
2627
1377
  if (host[PORTAL_RENDERER_COMPONENT]) {
2628
- this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData(), false);
1378
+ this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData());
2629
1379
  }
2630
1380
  };
2631
1381
  return ComponentCellRendererPortalRef;
@@ -2667,7 +1417,6 @@
2667
1417
  TemplateCellRendererPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
2668
1418
  // don't care
2669
1419
  };
2670
- // @Trace()
2671
1420
  TemplateCellRendererPortalRef.prototype.pushState = function (host) {
2672
1421
  host[CELL_RENDERER_PORTAL] = this.createPortal(host.getRowData());
2673
1422
  host.fillCell = this.fillCell;
@@ -2858,8 +1607,7 @@
2858
1607
 
2859
1608
  var noop = function () {
2860
1609
  };
2861
- var ɵ0$3 = noop;
2862
- var CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol("aup-cell-renderer:row-data-cache");
1610
+ var ɵ0 = noop;
2863
1611
  var ColumnModel = /** @class */ (function () {
2864
1612
  function ColumnModel(columnId, defaults) {
2865
1613
  this.columnId = columnId;
@@ -2950,66 +1698,24 @@
2950
1698
  }());
2951
1699
  var PropertyColumnModel = /** @class */ (function (_super) {
2952
1700
  __extends(PropertyColumnModel, _super);
2953
- function PropertyColumnModel(id, property, defaults) {
2954
- var _this = _super.call(this, id, defaults) || this;
1701
+ function PropertyColumnModel(property, defaults) {
1702
+ var _this = _super.call(this, property.toString(), defaults) || this;
2955
1703
  _this.property = property;
2956
1704
  _this._format = function (value) { return value; };
2957
1705
  _this.cellRenderer(DefaultCellRendererComponent);
2958
1706
  return _this;
2959
1707
  }
2960
- PropertyColumnModel.prototype.cellRenderer = function (componentType, onComponentInitOrOptions) {
1708
+ PropertyColumnModel.prototype.cellRenderer = function (componentType) {
2961
1709
  var _this = this;
2962
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
2963
- if (firstTime) {
2964
- if (___default__default.isFunction(onComponentInitOrOptions)) {
2965
- onComponentInitOrOptions(component);
2966
- }
2967
- else {
2968
- if (___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2969
- onComponentInitOrOptions.onComponentInit(component);
2970
- }
2971
- }
2972
- }
1710
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData) {
2973
1711
  component.value = _this._format(rowData.row[_this.property]);
2974
- if (!___default__default.isFunction(onComponentInitOrOptions) && ___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
2975
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
2976
- }
2977
- }));
2978
- return this;
2979
- };
2980
- PropertyColumnModel.prototype.mutableCellRenderer = function (componentType, options) {
2981
- var _this = this;
2982
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
2983
- // keep a local copy most recent row value so it's available to teh
2984
- // edit callback without having to add/remove subscribers all the time.
2985
- component[CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
2986
- var disableEditCallback = false;
2987
- if (firstTime) {
2988
- if (___default__default.isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
2989
- options.onComponentInit(component);
2990
- }
2991
- // install our edit callback
2992
- component.onValueEdited(function (is, was) {
2993
- if (!disableEditCallback) {
2994
- options.onValueEdit(component[CELL_RENDERER_COMPONENT_ROW_CACHE], is, was);
2995
- }
2996
- });
2997
- }
2998
- // now push the value the component and disable the callback just incase the component misbehaves
2999
- // and fires a value change during the operation.
3000
- disableEditCallback = true;
3001
- component.value = rowData.row[_this.property];
3002
- disableEditCallback = false;
3003
- if (!___default__default.isFunction(options) && ___default__default.isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
3004
- options.onRowUpdate(component, rowData.row);
3005
- }
3006
1712
  }));
3007
1713
  return this;
3008
1714
  };
3009
- PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, onComponentInit) {
1715
+ PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, initialiseComponent) {
3010
1716
  var _this = this;
3011
1717
  var validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
3012
- var initialiser = ___default__default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
1718
+ var initialiser = ___default__default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
3013
1719
  this.configureCellEditor(new CellEditorPortalRef(editor, function (component, editSession) {
3014
1720
  var formValueModel = editSession.form.pluck(_this.property);
3015
1721
  if (validators) {
@@ -3034,8 +1740,8 @@
3034
1740
  }(ColumnModel));
3035
1741
  var ListPropertyColumnModel = /** @class */ (function (_super) {
3036
1742
  __extends(ListPropertyColumnModel, _super);
3037
- function ListPropertyColumnModel(id, property, defaults) {
3038
- var _this = _super.call(this, id, defaults) || this;
1743
+ function ListPropertyColumnModel(property, defaults) {
1744
+ var _this = _super.call(this, property.toString(), defaults) || this;
3039
1745
  _this.property = property;
3040
1746
  _this._format = function (value) { return value.map(function (v) { return v === null || v === void 0 ? void 0 : v.toString(); }).join(', '); };
3041
1747
  _this.cellRenderer(DefaultCellRendererComponent);
@@ -3082,23 +1788,10 @@
3082
1788
  _this.cellRenderer(DefaultCellRendererComponent);
3083
1789
  return _this;
3084
1790
  }
3085
- CustomValueColumnModel.prototype.cellRenderer = function (componentType, onComponentInitOrOptions) {
1791
+ CustomValueColumnModel.prototype.cellRenderer = function (componentType) {
3086
1792
  var _this = this;
3087
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
3088
- if (firstTime) {
3089
- if (___default__default.isFunction(onComponentInitOrOptions)) {
3090
- onComponentInitOrOptions(component);
3091
- }
3092
- else {
3093
- if (___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
3094
- onComponentInitOrOptions.onComponentInit(component);
3095
- }
3096
- }
3097
- }
1793
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData) {
3098
1794
  component.value = _this.getValue(rowData.row);
3099
- if (!___default__default.isFunction(onComponentInitOrOptions) && ___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
3100
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
3101
- }
3102
1795
  }));
3103
1796
  return this;
3104
1797
  };
@@ -3271,9 +1964,6 @@
3271
1964
  this._editorSessions = new pectin.MutableListModel();
3272
1965
  this.rowClassNamePredicates = [];
3273
1966
  this._createForm = function (row) { return new pectin.DirtyTrackingForm(); };
3274
- this.trackBy = function (index, item) {
3275
- return _this.identityOf ? _this.identityOf(item) : index;
3276
- };
3277
1967
  this.identityOf = sourceOfTruth.identityOf;
3278
1968
  var _a = pectin.Dsl.disposeWith(this._garbage), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
3279
1969
  this._columnsById = chain(this._columns).indexBy('columnId');
@@ -3285,7 +1975,7 @@
3285
1975
  this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);
3286
1976
  this.firstEditableColumn = chain(this.columns).select(function (c) { return c.hasEditorPortal(); }).first();
3287
1977
  this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(function (column) { return column.isRowSelectionExplicitlyEnabled(); }).isGreaterThanOrEqualTo(0);
3288
- this.addRowClass('enable-hover', function () { return _this.isRowSelectionEnabled(); });
1978
+ this.addRowClass("enable-hover", function () { return _this.isRowSelectionEnabled(); });
3289
1979
  }
3290
1980
  TableModel_1 = TableModel;
3291
1981
  TableModel.fromList = function (sourceOfTruth, builder) {
@@ -3300,6 +1990,12 @@
3300
1990
  enumerable: true,
3301
1991
  configurable: true
3302
1992
  });
1993
+ TableModel.prototype.getTrackByFunction = function () {
1994
+ var _this = this;
1995
+ return function (index, item) {
1996
+ return _this.identityOf ? _this.identityOf(item) : index;
1997
+ };
1998
+ };
3303
1999
  Object.defineProperty(TableModel.prototype, "columns", {
3304
2000
  get: function () {
3305
2001
  return this._columns.readonly;
@@ -3307,11 +2003,11 @@
3307
2003
  enumerable: true,
3308
2004
  configurable: true
3309
2005
  });
3310
- TableModel.prototype.pluck = function (property, options) {
3311
- return this.addColumn(new PropertyColumnModel((options === null || options === void 0 ? void 0 : options.columnId) || property.toString(), property, this));
2006
+ TableModel.prototype.pluck = function (property) {
2007
+ return this.addColumn(new PropertyColumnModel(property, this));
3312
2008
  };
3313
- TableModel.prototype.pluckList = function (property, options) {
3314
- return this.addColumn(new ListPropertyColumnModel((options === null || options === void 0 ? void 0 : options.columnId) || property.toString(), property, this));
2009
+ TableModel.prototype.pluckList = function (property) {
2010
+ return this.addColumn(new ListPropertyColumnModel(property, this));
3315
2011
  };
3316
2012
  TableModel.prototype.addSelectionColumn = function (selectionModel) {
3317
2013
  pectin.assert.isNil(this.selectionColumnModel);
@@ -3325,9 +2021,6 @@
3325
2021
  TableModel.prototype.addCustomColumn = function (columnId, dataAccessor) {
3326
2022
  return this.addColumn(new CustomValueColumnModel(columnId, this, dataAccessor));
3327
2023
  };
3328
- TableModel.prototype.addComponentColumn = function (columnId, component, onComponentInitOrOptions) {
3329
- return this.addColumn(new CustomValueColumnModel(columnId, this, function (row) { return row; })).cellRenderer(component, onComponentInitOrOptions);
3330
- };
3331
2024
  TableModel.prototype.addTemplateColumn = function (columnId) {
3332
2025
  return this.addColumn(new CustomTemplateColumnModel(columnId, this));
3333
2026
  };
@@ -3356,14 +2049,12 @@
3356
2049
  }
3357
2050
  return column;
3358
2051
  };
3359
- // removeColumn(column: ColumnModel<Row>) {
3360
- //
3361
- // }
3362
2052
  TableModel.prototype.columnTextProperties = function (columnTextProperties) {
3363
2053
  this._columnTextPropertiesLookup = columnTextProperties;
3364
2054
  };
3365
2055
  TableModel.prototype.getColumnTextProperties = function (column) {
3366
- return this._columnTextPropertiesLookup ? this._columnTextPropertiesLookup[column.columnId] : undefined;
2056
+ var factory = this._columnTextPropertiesLookup ? this._columnTextPropertiesLookup[column.columnId] : undefined;
2057
+ return factory ? factory() : undefined;
3367
2058
  };
3368
2059
  TableModel.prototype.startEditSession = function (row) {
3369
2060
  var _this = this;
@@ -3481,7 +2172,7 @@
3481
2172
  TableComponent = __decorate([
3482
2173
  core.Component({
3483
2174
  selector: 'aup-table',
3484
- template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"onCellClicked(column, row)\" [class.enable-cursor]=\"tableModel.isRowSelectionEnabledFor(column)\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\" [attr.trackBy]=\"tableModel.trackBy(i, row)\"\n ></tr>\n\n</table>\n",
2175
+ template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.getTrackByFunction()\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"onCellClicked(column, row)\" [class.enable-cursor]=\"tableModel.isRowSelectionEnabledFor(column)\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value;\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n ></tr>\n\n</table>\n",
3485
2176
  styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}"]
3486
2177
  }),
3487
2178
  __metadata("design:paramtypes", [])
@@ -3664,63 +2355,6 @@
3664
2355
  return TableHeaderCellRendererComponent;
3665
2356
  }());
3666
2357
 
3667
- var MenuItemData = /** @class */ (function () {
3668
- function MenuItemData(factory, face) {
3669
- this.factory = factory;
3670
- this.face = face;
3671
- }
3672
- return MenuItemData;
3673
- }());
3674
- /**
3675
- *
3676
- */
3677
- var TableRowMenuComponent = /** @class */ (function (_super) {
3678
- __extends(TableRowMenuComponent, _super);
3679
- function TableRowMenuComponent() {
3680
- var _this = _super.call(this) || this;
3681
- _this.actions = [];
3682
- _this.moreActions = [];
3683
- return _this;
3684
- }
3685
- TableRowMenuComponent.prototype.registerAction = function (commandFactory, properties) {
3686
- this.actions.push(new MenuItemData(commandFactory, properties));
3687
- };
3688
- TableRowMenuComponent.prototype.registerMoreAction = function (commandFactory, properties) {
3689
- this.moreActions.push(new MenuItemData(commandFactory, properties));
3690
- };
3691
- TableRowMenuComponent.prototype.ngOnInit = function () {
3692
- };
3693
- TableRowMenuComponent.prototype.createMoreMenuCommand = function (item, value) {
3694
- var _this = this;
3695
- var when = pectin.Dsl.disposeWith(this).when;
3696
- var command = item.factory.create(value);
3697
- when(command.busy).becomesFalsey(function () {
3698
- _this.closeMoreMenu();
3699
- });
3700
- return command;
3701
- };
3702
- TableRowMenuComponent.prototype.closeMoreMenu = function () {
3703
- this.menu.closeMenu();
3704
- };
3705
- __decorate([
3706
- core.Input(),
3707
- __metadata("design:type", Object)
3708
- ], TableRowMenuComponent.prototype, "value", void 0);
3709
- __decorate([
3710
- core.ViewChild(menu.MatMenuTrigger),
3711
- __metadata("design:type", menu.MatMenuTrigger)
3712
- ], TableRowMenuComponent.prototype, "menu", void 0);
3713
- TableRowMenuComponent = __decorate([
3714
- core.Component({
3715
- selector: 'aup-table-row-menu',
3716
- template: "\n <aup-tool-bar>\n <aup-command *ngFor=\"let action of actions\" [command]=\"action.factory.create(value)\"\n [face]=\"action.faceModel\"></aup-command>\n </aup-tool-bar>\n <ng-container *ngIf=\"moreActions.length > 0\">\n <aup-more-menu>\n <aup-command *ngFor=\"let action of moreActions\" [command]=\"action.factory.create(value)\"\n [face]=\"action.faceModel\"></aup-command>\n </aup-more-menu>\n </ng-container>\n ",
3717
- styles: [":host {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n }"]
3718
- }),
3719
- __metadata("design:paramtypes", [])
3720
- ], TableRowMenuComponent);
3721
- return TableRowMenuComponent;
3722
- }(DisposableComponent));
3723
-
3724
2358
  var VerticalFocusContainerComponent = /** @class */ (function (_super) {
3725
2359
  __extends(VerticalFocusContainerComponent, _super);
3726
2360
  function VerticalFocusContainerComponent(focusManager) {
@@ -3806,6 +2440,100 @@
3806
2440
  return VerticalFocusContainerComponent;
3807
2441
  }(FocusContainerComponent));
3808
2442
 
2443
+ var MultipleSelectInputComponent = /** @class */ (function (_super) {
2444
+ __extends(MultipleSelectInputComponent, _super);
2445
+ function MultipleSelectInputComponent() {
2446
+ var _this = _super.call(this) || this;
2447
+ _this.optionLabelFormat = function (option) { return (option && _this.optionLabel) ? option[_this.optionLabel] : option; };
2448
+ return _this;
2449
+ }
2450
+ MultipleSelectInputComponent.prototype.ngOnInit = function () {
2451
+ };
2452
+ __decorate([
2453
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
2454
+ __metadata("design:type", Object)
2455
+ ], MultipleSelectInputComponent.prototype, "listModel", void 0);
2456
+ __decorate([
2457
+ core.Input(), pectin.TrackExternal(),
2458
+ __metadata("design:type", pectin.ListModel)
2459
+ ], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
2460
+ __decorate([
2461
+ core.Input(), pectin.StoreInListModel('optionsModel'),
2462
+ __metadata("design:type", Array)
2463
+ ], MultipleSelectInputComponent.prototype, "options", void 0);
2464
+ __decorate([
2465
+ core.Input(),
2466
+ __metadata("design:type", Object)
2467
+ ], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
2468
+ __decorate([
2469
+ core.Input(),
2470
+ __metadata("design:type", Boolean)
2471
+ ], MultipleSelectInputComponent.prototype, "allowNil", void 0);
2472
+ __decorate([
2473
+ core.ContentChild('optionTemplate'),
2474
+ __metadata("design:type", core.TemplateRef)
2475
+ ], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
2476
+ __decorate([
2477
+ core.ContentChild('nilOptionTemplate'),
2478
+ __metadata("design:type", core.TemplateRef)
2479
+ ], MultipleSelectInputComponent.prototype, "nilOptionTemplateRef", void 0);
2480
+ __decorate([
2481
+ core.Input(),
2482
+ __metadata("design:type", Function)
2483
+ ], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
2484
+ MultipleSelectInputComponent = __decorate([
2485
+ core.Component({
2486
+ selector: 'aup-multiple-select-input',
2487
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [(ngModel)]=\"listModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
2488
+ styles: [":host{display:inline-block}mat-form-field{width:100%}"]
2489
+ }),
2490
+ __metadata("design:paramtypes", [])
2491
+ ], MultipleSelectInputComponent);
2492
+ return MultipleSelectInputComponent;
2493
+ }(AbstractListInputComponent));
2494
+
2495
+ var IconComponent = /** @class */ (function () {
2496
+ function IconComponent() {
2497
+ }
2498
+ Object.defineProperty(IconComponent.prototype, "icon", {
2499
+ get: function () {
2500
+ return this._icon;
2501
+ },
2502
+ set: function (iconName) {
2503
+ this._icon = iconName;
2504
+ if (!iconName) {
2505
+ this.errorMessage = 'icon is nil';
2506
+ this.prefix = undefined;
2507
+ return;
2508
+ }
2509
+ var colonIndex = iconName.indexOf(':');
2510
+ if (colonIndex > 0) {
2511
+ this.prefix = this.icon.slice(0, colonIndex);
2512
+ this.suffix = this.icon.slice(colonIndex + 1);
2513
+ }
2514
+ if (this.prefix) {
2515
+ this.errorMessage = "Unknown icon \"" + iconName + "\"";
2516
+ }
2517
+ this.errorMessage = "Unknown icon prefix \"" + this.prefix + "\"";
2518
+ },
2519
+ enumerable: true,
2520
+ configurable: true
2521
+ });
2522
+ __decorate([
2523
+ core.Input(),
2524
+ __metadata("design:type", String),
2525
+ __metadata("design:paramtypes", [String])
2526
+ ], IconComponent.prototype, "icon", null);
2527
+ IconComponent = __decorate([
2528
+ core.Component({
2529
+ selector: 'aup-icon',
2530
+ template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"'svg'\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"'mat'\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"'fab'\"\n class=\"faIconWrapper\">\n <fa-icon [icon]=\"suffix\">\n </fa-icon>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n",
2531
+ styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center;width:24px;height:24px}.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
2532
+ })
2533
+ ], IconComponent);
2534
+ return IconComponent;
2535
+ }());
2536
+
3809
2537
  var ComponentsModule = /** @class */ (function () {
3810
2538
  function ComponentsModule(faIconLibrary) {
3811
2539
  faIconLibrary.addIconPacks(freeSolidSvgIcons.fas);
@@ -3824,8 +2552,6 @@
3824
2552
  TextInputComponent,
3825
2553
  PasswordInputComponent,
3826
2554
  SelectInputComponent,
3827
- MultipleSelectInputComponent,
3828
- AutocompleteInputComponent,
3829
2555
  CheckboxInputComponent,
3830
2556
  ScrollContainerComponent,
3831
2557
  NoopComponent,
@@ -3845,19 +2571,9 @@
3845
2571
  SelectHeaderCellRendererComponent,
3846
2572
  DefaultHeaderCellRendererComponent,
3847
2573
  TableHeaderCellRendererComponent,
3848
- exports.ɵbk,
3849
- SectionHeaderComponent,
3850
- TableRowMenuComponent,
3851
- ToolBarComponent,
3852
- CommandComponent,
3853
- PopupMenuComponent,
3854
- CommandGroupComponent,
3855
- CommandFaceComponent,
3856
- MoreMenuComponent,
3857
- SeparatorComponent,
3858
- FlexComponent,
3859
- CommandGroupMenuRendererComponent,
3860
- CommandGroupRendererComponent
2574
+ MultipleSelectInputComponent,
2575
+ IconComponent,
2576
+ SectionHeaderComponent
3861
2577
  ],
3862
2578
  imports: [
3863
2579
  common.CommonModule,
@@ -3875,10 +2591,7 @@
3875
2591
  portal.PortalModule,
3876
2592
  scrolling.CdkScrollableModule,
3877
2593
  angularFontawesome.FontAwesomeModule,
3878
- tooltip.MatTooltipModule,
3879
- autocomplete.MatAutocompleteModule,
3880
- menu.MatMenuModule,
3881
- divider.MatDividerModule
2594
+ tooltip.MatTooltipModule
3882
2595
  ],
3883
2596
  exports: [
3884
2597
  NumberInputComponent,
@@ -3887,8 +2600,6 @@
3887
2600
  PasswordInputComponent,
3888
2601
  CheckboxInputComponent,
3889
2602
  SelectInputComponent,
3890
- MultipleSelectInputComponent,
3891
- AutocompleteInputComponent,
3892
2603
  ScrollContainerComponent,
3893
2604
  NoopComponent,
3894
2605
  SwitchCaseComponent,
@@ -3901,20 +2612,12 @@
3901
2612
  TableComponent,
3902
2613
  EditRowControls,
3903
2614
  ColumnTemplateDirective,
3904
- exports.ɵbk,
3905
- SectionHeaderComponent,
3906
- TableRowMenuComponent,
3907
- CommandGroupComponent,
3908
- ToolBarComponent,
3909
- CommandComponent,
3910
- PopupMenuComponent,
3911
- CommandFaceComponent,
3912
- MoreMenuComponent,
3913
- SeparatorComponent,
3914
- FlexComponent
2615
+ MultipleSelectInputComponent,
2616
+ IconComponent,
2617
+ SectionHeaderComponent
3915
2618
  ],
3916
2619
  providers: [
3917
- FocusBindingFactory
2620
+ FocusBindingFactory,
3918
2621
  ]
3919
2622
  }),
3920
2623
  __metadata("design:paramtypes", [angularFontawesome.FaIconLibrary])
@@ -3993,7 +2696,7 @@
3993
2696
  core.Component({
3994
2697
  selector: 'aup-activity-actions',
3995
2698
  template: "<ng-container *ngIf=\"hasCancelCommand()\">\n <button class=\"cancel\" *ngIf=\"!hasCancelText()\" mat-icon-button [pectinCommand]=\"cancelCommand\">\n <aup-icon icon=\"mat:clear\"></aup-icon>\n </button>\n <button class=\"cancel\" *ngIf=\"hasCancelText()\" mat-button [pectinCommand]=\"cancelCommand\">{{cancelText}}</button>\n</ng-container>\n<ng-container *ngIf=\"hasConfirmCommand()\">\n <button class=\"confirm\" *ngIf=\"!hasConfirmText()\" mat-icon-button [pectinCommand]=\"confirmCommand\">\n <aup-icon icon=\"mat:done\"></aup-icon>\n </button>\n <button class=\"confirm\" *ngIf=\"hasConfirmText()\" mat-button [pectinCommand]=\"confirmCommand\">{{confirmText}}</button>\n</ng-container>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>\n",
3996
- styles: [":host{display:-ms-grid;display:grid;grid-template-areas:\"cancel confirm content\";-ms-grid-columns:auto auto 1fr;grid-template-columns:auto auto 1fr;-ms-grid-rows:auto;grid-template-rows:auto;align-items:center;justify-content:end}:host.align-end{grid-template-areas:\"content cancel confirm\";-ms-grid-columns:1fr auto auto;grid-template-columns:1fr auto auto}:host.align-stretch{grid-template-areas:\"cancel content confirm\";-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto}.cancel{-ms-grid-row:1;-ms-grid-column:1;grid-area:cancel}:host.align-end>.cancel{-ms-grid-row:1;-ms-grid-column:2}:host.align-stretch>.cancel{-ms-grid-row:1;-ms-grid-column:1}.confirm{-ms-grid-row:1;-ms-grid-column:2;grid-area:confirm}:host.align-end>.confirm{-ms-grid-row:1;-ms-grid-column:3}:host.align-stretch>.confirm{-ms-grid-row:1;-ms-grid-column:3}.column{-ms-grid-row:1;-ms-grid-column:3;grid-area:content;text-align:left}:host.align-end>.column{-ms-grid-row:1;-ms-grid-column:1}:host.align-stretch>.column{-ms-grid-row:1;-ms-grid-column:2}"]
2699
+ styles: [":host{display:-ms-grid;display:grid;grid-template-areas:\"cancel confirm content\";-ms-grid-columns:auto auto 1fr;grid-template-columns:auto auto 1fr;-ms-grid-rows:auto;grid-template-rows:auto;align-items:center;justify-content:end}:host.align-end{grid-template-areas:\"content cancel confirm\";-ms-grid-columns:1fr auto auto;grid-template-columns:1fr auto auto}:host.align-stretch{grid-template-areas:\"cancel content confirm\";-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto}.cancel{-ms-grid-row:1;-ms-grid-column:1;grid-area:cancel}:host.align-end>.cancel{-ms-grid-row:1;-ms-grid-column:2}:host.align-stretch>.cancel{-ms-grid-row:1;-ms-grid-column:1}.confirm{-ms-grid-row:1;-ms-grid-column:2;grid-area:confirm}:host.align-end>.confirm{-ms-grid-row:1;-ms-grid-column:3}:host.align-stretch>.confirm{-ms-grid-row:1;-ms-grid-column:3}.content{-ms-grid-row:1;-ms-grid-column:3;grid-area:content;text-align:left}:host.align-end>.content{-ms-grid-row:1;-ms-grid-column:1}:host.align-stretch>.content{-ms-grid-row:1;-ms-grid-column:2}"]
3997
2700
  })
3998
2701
  ], ActivityActionsComponent);
3999
2702
  return ActivityActionsComponent;
@@ -4005,27 +2708,13 @@
4005
2708
  function Activity() {
4006
2709
  var _this = _super !== null && _super.apply(this, arguments) || this;
4007
2710
  _this._busyModel = new pectin.DelegatingValueModel().withDefault(false);
4008
- _this._focusedModel = _this.registerDisposable(new pectin.DelegatingValueModel());
4009
2711
  _this.class = 'aup-activity';
4010
2712
  return _this;
4011
2713
  }
4012
- Object.defineProperty(Activity.prototype, "isFocused", {
4013
- get: function () {
4014
- return this._focusedModel.value;
4015
- },
4016
- enumerable: true,
4017
- configurable: true
4018
- });
4019
2714
  Activity.prototype.initialise = function (nestedInteractionContext, activityContext) {
4020
- var _this = this;
4021
- var _a = pectin.Dsl.disposeWith(this), chain = _a.chain, when = _a.when;
4022
2715
  typescriptUtilities.assert.isNil(this._activityContext);
4023
2716
  this._activityContext = activityContext;
4024
2717
  this._interactionContext = nestedInteractionContext;
4025
- this._focusedModel.setDelegate(activityContext.focused);
4026
- when(this._focusedModel).becomesTruthy(function () {
4027
- _this.onActivityReady();
4028
- });
4029
2718
  };
4030
2719
  Object.defineProperty(Activity.prototype, "interactionContext", {
4031
2720
  get: function () {
@@ -4051,13 +2740,6 @@
4051
2740
  enumerable: true,
4052
2741
  configurable: true
4053
2742
  });
4054
- Object.defineProperty(Activity.prototype, "focused", {
4055
- get: function () {
4056
- return this._focusedModel.readonly;
4057
- },
4058
- enumerable: true,
4059
- configurable: true
4060
- });
4061
2743
  Activity.prototype.busyWhile = function (busyModel) {
4062
2744
  this._busyModel.setDelegate(busyModel);
4063
2745
  };
@@ -4071,11 +2753,6 @@
4071
2753
  core.HostBinding('class'),
4072
2754
  __metadata("design:type", Object)
4073
2755
  ], Activity.prototype, "class", void 0);
4074
- __decorate([
4075
- core.HostBinding('attr.focused'),
4076
- __metadata("design:type", Object),
4077
- __metadata("design:paramtypes", [])
4078
- ], Activity.prototype, "isFocused", null);
4079
2756
  return Activity;
4080
2757
  }(DisposableComponent));
4081
2758
 
@@ -4214,7 +2891,6 @@
4214
2891
  this.onComplete = onComplete;
4215
2892
  this._complete = false;
4216
2893
  this.deferredResult = pectin.Deferred.defer();
4217
- this.focusedModel = new pectin.MutableValueModel();
4218
2894
  }
4219
2895
  ActivityRef.prototype.isActivityRealised = function () {
4220
2896
  return !!this._activity;
@@ -4230,16 +2906,6 @@
4230
2906
  enumerable: true,
4231
2907
  configurable: true
4232
2908
  });
4233
- ActivityRef.prototype.setFocused = function (focused) {
4234
- this.focusedModel.value = focused;
4235
- };
4236
- Object.defineProperty(ActivityRef.prototype, "focused", {
4237
- get: function () {
4238
- return this.focusedModel.value;
4239
- },
4240
- enumerable: true,
4241
- configurable: true
4242
- });
4243
2909
  ActivityRef.prototype.notifyActivityCreated = function (activity, nestedInteractionContext) {
4244
2910
  pectin.assert.isNil(this._activity);
4245
2911
  this._activity = activity;
@@ -4250,8 +2916,7 @@
4250
2916
  },
4251
2917
  onCancel: function (error) {
4252
2918
  self.finishActivity(function (deferred) { return deferred.reject(error); });
4253
- },
4254
- focused: this.focusedModel.readonly
2919
+ }
4255
2920
  });
4256
2921
  };
4257
2922
  ActivityRef.prototype.finishActivity = function (resolveOrReject) {
@@ -4289,7 +2954,7 @@
4289
2954
  },
4290
2955
  set: function (activityRef) {
4291
2956
  if (this.activityRef && !this.activityRef.isComplete()) {
4292
- typescriptUtilities.lang.illegalState('changing activity before previous one has completed');
2957
+ typescriptUtilities.lang.illegalState("changing activity before previous one has completed");
4293
2958
  }
4294
2959
  this._activityRef = activityRef;
4295
2960
  this.loadActivity(activityRef);
@@ -4352,9 +3017,8 @@
4352
3017
  function ActivityContainerComponent() {
4353
3018
  var _this = _super.call(this) || this;
4354
3019
  _this.dynamicHeight = false;
4355
- _this.activityRefs = [];
3020
+ _this.activityTabs = [];
4356
3021
  _this.garbage = new pectin.GarbageCollector();
4357
- _this.inAnimation = new pectin.MutableValueModel(false);
4358
3022
  return _this;
4359
3023
  }
4360
3024
  ActivityContainerComponent.prototype.ngOnInit = function () {
@@ -4392,7 +3056,6 @@
4392
3056
  ActivityContainerComponent.prototype.registerDisposable = function (disposable) {
4393
3057
  return this.garbage.registerDisposable(disposable);
4394
3058
  };
4395
- // @Trace()
4396
3059
  ActivityContainerComponent.prototype.dispose = function () {
4397
3060
  // TODO: think about auto cancelling any outstanding activity on dispose.
4398
3061
  // See NavigationState.Navigating for a use-case.
@@ -4403,7 +3066,7 @@
4403
3066
  if (!this.isActive()) {
4404
3067
  typescriptUtilities.lang.illegalState('no activity in progress');
4405
3068
  }
4406
- return ___default__default.findLast(this.activityRefs, function (tab) { return !tab.isComplete(); });
3069
+ return ___default__default.findLast(this.activityTabs, function (tab) { return !tab.isComplete(); });
4407
3070
  };
4408
3071
  /**
4409
3072
  * Cancels the current activity and returns true the context is no longer active, false if
@@ -4442,14 +3105,14 @@
4442
3105
  });
4443
3106
  this.launchActivity(activityRef);
4444
3107
  // if this is the first activity let the interaction service know.
4445
- if (this.activityRefs.length === 1) {
3108
+ if (this.activityTabs.length === 1) {
4446
3109
  // console.log('Now active!!!');
4447
3110
  this.interactionServiceApi.notifyActive(this);
4448
3111
  }
4449
3112
  return activityRef.activityResult;
4450
3113
  };
4451
3114
  ActivityContainerComponent.prototype.getActiveActivityCount = function () {
4452
- return this.activityRefs.filter(function (ref) { return !ref.isComplete(); }).length;
3115
+ return this.activityTabs.filter(function (ref) { return !ref.isComplete(); }).length;
4453
3116
  };
4454
3117
  /**
4455
3118
  * Checks if this interaction context has finished an is in the process of waiting
@@ -4476,7 +3139,7 @@
4476
3139
  // Without this our animation done wasn't called when a single
4477
3140
  // new activity followed a single tab activity (since we're tracking
4478
3141
  // by activity index)
4479
- this.activityRefs = [];
3142
+ this.activityTabs = [];
4480
3143
  var promise = this.interactionServiceApi.notifyFinished(this);
4481
3144
  this._deferredCleanUp = promise
4482
3145
  .finally(function () {
@@ -4486,15 +3149,14 @@
4486
3149
  };
4487
3150
  // @Trace()
4488
3151
  ActivityContainerComponent.prototype.launchActivity = function (activityRef) {
4489
- var cleanedTabs = this.activityRefs.filter(function (tab) { return !tab.isComplete(); });
4490
- this.activityRefs = cleanedTabs.concat(activityRef);
3152
+ var cleanedTabs = this.activityTabs.filter(function (tab) { return !tab.isComplete(); });
3153
+ this.activityTabs = cleanedTabs.concat(activityRef);
4491
3154
  this.synchroniseSelectedTabIndex();
4492
3155
  };
4493
3156
  ActivityContainerComponent.prototype.activityIndex = function (index, activityRef) {
4494
3157
  return index;
4495
3158
  };
4496
3159
  ;
4497
- // @Trace()
4498
3160
  ActivityContainerComponent.prototype.onAnimationFinished = function () {
4499
3161
  if (this.onAnimationFinishedJob) {
4500
3162
  this.onAnimationFinishedJob();
@@ -4504,21 +3166,15 @@
4504
3166
  /**
4505
3167
  * Synchronises the selected tab index.
4506
3168
  */
4507
- // @Trace()
4508
3169
  ActivityContainerComponent.prototype.synchroniseSelectedTabIndex = function () {
4509
3170
  var _this = this;
4510
3171
  var previousIndex = this.tabs.selectedIndex;
4511
3172
  var newIndex = this.getActiveActivityCount() - 1;
4512
3173
  if (previousIndex !== newIndex) {
4513
- this.inAnimation.value = true;
4514
- this.activityRefs[newIndex].setFocused(false);
4515
3174
  this.tabs.selectedIndex = newIndex;
4516
3175
  this.onAnimationFinishedJob = function () {
4517
- _this.activityRefs = _this.activityRefs.filter(function (tab) { return !tab.isComplete(); });
4518
- _this.inAnimation.value = false;
4519
- _this.activityRefs.forEach(function (ref, index) {
4520
- ref.setFocused(index === newIndex);
4521
- });
3176
+ _this.getSelectedOutlet().component.onActivityReady();
3177
+ _this.activityTabs = _this.activityTabs.filter(function (tab) { return !tab.isComplete(); });
4522
3178
  };
4523
3179
  }
4524
3180
  };
@@ -4526,10 +3182,6 @@
4526
3182
  return this.activityOutlets.toArray()[this.tabs.selectedIndex];
4527
3183
  };
4528
3184
  // @Trace()
4529
- ActivityContainerComponent.prototype.getSelectedTabIndex = function () {
4530
- return this.tabs.selectedIndex;
4531
- };
4532
- // @Trace()
4533
3185
  ActivityContainerComponent.prototype.triggerTabSynchronisation = function () {
4534
3186
  var _this = this;
4535
3187
  if (this.syncSelectedTabTimeout) {
@@ -4552,10 +3204,16 @@
4552
3204
  core.ViewChildren(ActivityOutletComponent),
4553
3205
  __metadata("design:type", core.QueryList)
4554
3206
  ], ActivityContainerComponent.prototype, "activityOutlets", void 0);
3207
+ __decorate([
3208
+ pectin.Trace(),
3209
+ __metadata("design:type", Function),
3210
+ __metadata("design:paramtypes", []),
3211
+ __metadata("design:returntype", void 0)
3212
+ ], ActivityContainerComponent.prototype, "dispose", null);
4555
3213
  ActivityContainerComponent = __decorate([
4556
3214
  core.Component({
4557
3215
  selector: 'aup-activity-container',
4558
- template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </mat-tab>\n</mat-tab-group>\n",
3216
+ template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let tab of activityTabs; trackBy: activityIndex\" >\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"tab\"></aup-activity-outlet>\n </mat-tab>\n</mat-tab-group>\n",
4559
3217
  styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
4560
3218
  }),
4561
3219
  __metadata("design:paramtypes", [])
@@ -4600,7 +3258,7 @@
4600
3258
  }());
4601
3259
 
4602
3260
  var inplaceMonitorCount = 0;
4603
- exports.ɵci = /** @class */ (function () {
3261
+ exports.ɵbv = /** @class */ (function () {
4604
3262
  function InteractionService(modelInteractionContextFactory) {
4605
3263
  this.modelInteractionContextFactory = modelInteractionContextFactory;
4606
3264
  this.garbage = new pectin.GarbageCollector();
@@ -4745,7 +3403,7 @@
4745
3403
  return ApiAdapter;
4746
3404
  }());
4747
3405
  InteractionService.ApiAdapter = ApiAdapter;
4748
- })(exports.ɵci || (exports.ɵci = {}));
3406
+ })(exports.ɵbv || (exports.ɵbv = {}));
4749
3407
 
4750
3408
  var InPlaceInteractionContextComponent = /** @class */ (function (_super) {
4751
3409
  __extends(InPlaceInteractionContextComponent, _super);
@@ -4803,7 +3461,7 @@
4803
3461
  return this.activityContainerComponent.startActivity(activityType, data, options);
4804
3462
  };
4805
3463
  InPlaceInteractionContextComponent.ctorParameters = function () { return [
4806
- { type: exports.ɵci },
3464
+ { type: exports.ɵbv },
4807
3465
  { type: undefined, decorators: [{ type: core.Inject, args: [tabs.MAT_TABS_CONFIG,] }, { type: core.Optional }] }
4808
3466
  ]; };
4809
3467
  __decorate([
@@ -4821,7 +3479,7 @@
4821
3479
  styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
4822
3480
  }),
4823
3481
  __param(1, core.Inject(tabs.MAT_TABS_CONFIG)), __param(1, core.Optional()),
4824
- __metadata("design:paramtypes", [exports.ɵci, Object])
3482
+ __metadata("design:paramtypes", [exports.ɵbv, Object])
4825
3483
  ], InPlaceInteractionContextComponent);
4826
3484
  return InPlaceInteractionContextComponent;
4827
3485
  }(DisposableComponent));
@@ -5360,7 +4018,7 @@
5360
4018
  AlertDialogComponent
5361
4019
  ],
5362
4020
  providers: [
5363
- exports.ɵci
4021
+ exports.ɵbv
5364
4022
  // {
5365
4023
  // provide: MAT_TABS_CONFIG, useValue: { animationDuration: "2s" }
5366
4024
  // }
@@ -5626,9 +4284,6 @@
5626
4284
  var _this = _super.call(this) || this;
5627
4285
  _this.visitModel = new pectin.MutableValueModel();
5628
4286
  _this._inVisitUpdate = new pectin.Guard();
5629
- _this._active = new pectin.MutableValueModel(false);
5630
- var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
5631
- when(_this._active).becomesTruthy(function () { return _this.onPlaceReady(); });
5632
4287
  return _this;
5633
4288
  }
5634
4289
  PlaceComponent_1 = PlaceComponent;
@@ -5638,7 +4293,7 @@
5638
4293
  pectin.assert.isNil(this.visitModel.value);
5639
4294
  var when = pectin.Dsl.disposeWith(this).when;
5640
4295
  this.visitModel.value = visit;
5641
- pectin.DebugContext.getOrCreate(this.visitModel).tag(this.placeDefinition.component.name + ".visitModel");
4296
+ pectin.DebugContext.get(this.visitModel).tag(this.placeDefinition.component.name + ".visitModel");
5642
4297
  this.placeDefinition.getVisitParameterDefs().forEach(function (parameterDef) { return _this.installBinding(parameterDef); });
5643
4298
  when.valueOf(this.visitModel).changes(function (current, previous) {
5644
4299
  notifyVisitChanged(current, previous);
@@ -5686,19 +4341,6 @@
5686
4341
  enumerable: true,
5687
4342
  configurable: true
5688
4343
  });
5689
- Object.defineProperty(PlaceComponent.prototype, "active", {
5690
- get: function () {
5691
- return this._active.readonly;
5692
- },
5693
- enumerable: true,
5694
- configurable: true
5695
- });
5696
- /**
5697
- * Called by the router when the place is ready to interact after any animations have run.
5698
- */
5699
- PlaceComponent.prototype._notifyActive = function (active) {
5700
- this._active.value = active;
5701
- };
5702
4344
  PlaceComponent.prototype.onPlaceReady = function () {
5703
4345
  };
5704
4346
  var PlaceComponent_1;
@@ -6498,7 +5140,7 @@
6498
5140
  return PopStateNavigation;
6499
5141
  }(AbstractPopStateNavigation));
6500
5142
 
6501
- exports.ɵcl = /** @class */ (function () {
5143
+ exports.ɵby = /** @class */ (function () {
6502
5144
  function PlaceHistory() {
6503
5145
  this._archive = new Map();
6504
5146
  this.placeHistoryDepth = 4;
@@ -6635,7 +5277,7 @@
6635
5277
  // }
6636
5278
  //
6637
5279
  // }
6638
- })(exports.ɵcl || (exports.ɵcl = {}));
5280
+ })(exports.ɵby || (exports.ɵby = {}));
6639
5281
 
6640
5282
  exports.UrlSnapshot = /** @class */ (function () {
6641
5283
  // TODO: Update this accept a url Parser so it can be immutable and generate new trees on mutation using toString() are parseUrl.
@@ -6799,6 +5441,75 @@
6799
5441
  return UrlService;
6800
5442
  }());
6801
5443
 
5444
+ var Visit = /** @class */ (function () {
5445
+ function Visit(placeDefinition, visitParameters) {
5446
+ if (visitParameters === void 0) { visitParameters = {}; }
5447
+ this.placeDefinition = placeDefinition;
5448
+ this.visitParameters = visitParameters;
5449
+ }
5450
+ // @Trace()
5451
+ Visit.prototype.getRouteId = function () {
5452
+ return this.placeDefinition.getRouteIdFrom(this);
5453
+ };
5454
+ // @Trace()
5455
+ Visit.prototype.hasRouteId = function () {
5456
+ return !___default.isNil(this.getRouteId());
5457
+ };
5458
+ /**
5459
+ * Returns the value of the place parameter with the specified name. The parameter
5460
+ * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
5461
+ * same as the the ValueModel property name.
5462
+ * @param parameterName the field name of the property model or the `as` option if specified.
5463
+ */
5464
+ Visit.prototype.getParameter = function (parameterName) {
5465
+ return this.visitParameters[parameterName];
5466
+ };
5467
+ // @Trace()
5468
+ Visit.prototype.hasParameter = function (parameterName) {
5469
+ return Object.keys(this.visitParameters).includes(parameterName);
5470
+ };
5471
+ Visit.prototype.replace = function (parameter, value) {
5472
+ var _a;
5473
+ return new Visit(this.placeDefinition, __assign(__assign({}, this.visitParameters), (_a = {}, _a[parameter.name] = value, _a)));
5474
+ };
5475
+ Visit.prototype.mergeRouteParameters = function (routeParams) {
5476
+ var _this = this;
5477
+ // todo: whitelist parameters.
5478
+ var routeParameterKeys = Object.keys(routeParams);
5479
+ var params = {};
5480
+ this.placeDefinition.getVisitParameterDefs().forEach(function (def) {
5481
+ if (def.isRouteId || def.isRouteParameter) {
5482
+ if (routeParameterKeys.includes(def.name)) {
5483
+ params[def.name] = routeParams[def.name];
5484
+ }
5485
+ }
5486
+ else {
5487
+ // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
5488
+ // defaults and remember sanitisation process.
5489
+ var value = _this.getParameter(def.name);
5490
+ if (_this.hasParameter(def.name)) {
5491
+ params[def.name] = value;
5492
+ }
5493
+ }
5494
+ });
5495
+ return new Visit(this.placeDefinition, params);
5496
+ };
5497
+ Visit.prototype.hasRoutingChangedFrom = function (other) {
5498
+ var samePlace = other.placeDefinition === this.placeDefinition;
5499
+ var sameRouteParameters = ___default.isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
5500
+ return !samePlace || !sameRouteParameters;
5501
+ };
5502
+ Visit.prototype.hasChangedFrom = function (other) {
5503
+ var sameNonRouteParameters = ___default.isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
5504
+ return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
5505
+ };
5506
+ Visit.prototype.toDebugString = function () {
5507
+ var _this = this;
5508
+ return Object.keys(this.visitParameters).map(function (k) { return k + "=" + _this.visitParameters[k]; }).join(",");
5509
+ };
5510
+ return Visit;
5511
+ }());
5512
+
6802
5513
  var PlaceRouter = /** @class */ (function (_super) {
6803
5514
  __extends(PlaceRouter, _super);
6804
5515
  function PlaceRouter(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
@@ -6994,7 +5705,6 @@
6994
5705
  enumerable: true,
6995
5706
  configurable: true
6996
5707
  });
6997
- // @Trace()
6998
5708
  PlaceRouter.prototype.pushVisitChangesToRoute = function (previous, next) {
6999
5709
  return __awaiter(this, void 0, void 0, function () {
7000
5710
  var _this = this;
@@ -7090,93 +5800,30 @@
7090
5800
  PlaceRouter.ctorParameters = function () { return [
7091
5801
  { type: router.Router },
7092
5802
  { type: common.Location },
7093
- { type: exports.ɵci },
5803
+ { type: exports.ɵbv },
7094
5804
  { type: UrlService },
7095
- { type: exports.ɵcl }
5805
+ { type: exports.ɵby }
7096
5806
  ]; };
7097
- PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵci), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵcl)); }, token: PlaceRouter, providedIn: "root" });
5807
+ PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵbv), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵby)); }, token: PlaceRouter, providedIn: "root" });
5808
+ __decorate([
5809
+ pectin.Trace(),
5810
+ __metadata("design:type", Function),
5811
+ __metadata("design:paramtypes", [Visit, Visit]),
5812
+ __metadata("design:returntype", Promise)
5813
+ ], PlaceRouter.prototype, "pushVisitChangesToRoute", null);
7098
5814
  PlaceRouter = __decorate([
7099
5815
  core.Injectable({
7100
5816
  providedIn: 'root'
7101
5817
  }),
7102
5818
  __metadata("design:paramtypes", [router.Router,
7103
5819
  common.Location,
7104
- exports.ɵci,
5820
+ exports.ɵbv,
7105
5821
  UrlService,
7106
- exports.ɵcl])
5822
+ exports.ɵby])
7107
5823
  ], PlaceRouter);
7108
5824
  return PlaceRouter;
7109
5825
  }(pectin.GarbageCollector));
7110
5826
 
7111
- var Visit = /** @class */ (function () {
7112
- function Visit(placeDefinition, visitParameters) {
7113
- if (visitParameters === void 0) { visitParameters = {}; }
7114
- this.placeDefinition = placeDefinition;
7115
- this.visitParameters = visitParameters;
7116
- }
7117
- // @Trace()
7118
- Visit.prototype.getRouteId = function () {
7119
- return this.placeDefinition.getRouteIdFrom(this);
7120
- };
7121
- // @Trace()
7122
- Visit.prototype.hasRouteId = function () {
7123
- return !___default.isNil(this.getRouteId());
7124
- };
7125
- /**
7126
- * Returns the value of the place parameter with the specified name. The parameter
7127
- * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
7128
- * same as the the ValueModel property name.
7129
- * @param parameterName the field name of the property model or the `as` option if specified.
7130
- */
7131
- Visit.prototype.getParameter = function (parameterName) {
7132
- return this.visitParameters[parameterName];
7133
- };
7134
- // @Trace()
7135
- Visit.prototype.hasParameter = function (parameterName) {
7136
- return Object.keys(this.visitParameters).includes(parameterName);
7137
- };
7138
- Visit.prototype.replace = function (parameter, value) {
7139
- var _a;
7140
- return new Visit(this.placeDefinition, __assign(__assign({}, this.visitParameters), (_a = {}, _a[parameter.name] = value, _a)));
7141
- };
7142
- Visit.prototype.mergeRouteParameters = function (routeParams) {
7143
- var _this = this;
7144
- // todo: whitelist parameters.
7145
- var routeParameterKeys = Object.keys(routeParams);
7146
- var params = {};
7147
- this.placeDefinition.getVisitParameterDefs().forEach(function (def) {
7148
- if (def.isRouteId || def.isRouteParameter) {
7149
- if (routeParameterKeys.includes(def.name)) {
7150
- params[def.name] = routeParams[def.name];
7151
- }
7152
- }
7153
- else {
7154
- // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
7155
- // defaults and remember sanitisation process.
7156
- var value = _this.getParameter(def.name);
7157
- if (_this.hasParameter(def.name)) {
7158
- params[def.name] = value;
7159
- }
7160
- }
7161
- });
7162
- return new Visit(this.placeDefinition, params);
7163
- };
7164
- Visit.prototype.hasRoutingChangedFrom = function (other) {
7165
- var samePlace = other.placeDefinition === this.placeDefinition;
7166
- var sameRouteParameters = ___default.isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
7167
- return !samePlace || !sameRouteParameters;
7168
- };
7169
- Visit.prototype.hasChangedFrom = function (other) {
7170
- var sameNonRouteParameters = ___default.isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
7171
- return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
7172
- };
7173
- Visit.prototype.toDebugString = function () {
7174
- var _this = this;
7175
- return Object.keys(this.visitParameters).map(function (k) { return k + "=" + _this.visitParameters[k]; }).join(",");
7176
- };
7177
- return Visit;
7178
- }());
7179
-
7180
5827
  var AUP_PLACE_CONFIG = new core.InjectionToken('AUP_PLACE_CONFIG');
7181
5828
 
7182
5829
  // Freezes the state of the components at the start of the animation.
@@ -7236,7 +5883,6 @@
7236
5883
  _this._activePlaceModel = new pectin.MutableValueModel();
7237
5884
  _this.initialPlaceIndex = null;
7238
5885
  _this._isPushingVisitToRoute = new pectin.MutableValueModel(false);
7239
- _this.isVeryFirstLoad = true;
7240
5886
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
7241
5887
  _this.parentOutletModel = new pectin.MutableValueModel(parentOutlet);
7242
5888
  var defaultPlaceAnimationOrder = chain(_this.parentOutletModel)
@@ -7245,9 +5891,8 @@
7245
5891
  .pluckList('children')
7246
5892
  .pluck('component');
7247
5893
  var activatePlaceType = chain(_this.activePlaceModel).map(function (p) { return p.constructor; });
7248
- _this.placesInAnimationOrder = chain(_this.customPlaceAnimationOrderModel)
7249
- .otherwise(defaultPlaceAnimationOrder);
7250
- _this.activePlaceAnimationPosition = _this.placesInAnimationOrder
5894
+ _this.placeAnimationOrder = chain(_this.customPlaceAnimationOrderModel)
5895
+ .otherwise(defaultPlaceAnimationOrder)
7251
5896
  .reduce(function (placesInOrder) {
7252
5897
  var placeIndex = 0;
7253
5898
  if (activatePlaceType.value) {
@@ -7258,16 +5903,14 @@
7258
5903
  }
7259
5904
  return ___default.isNil(_this.initialPlaceIndex) ? 0 : placeIndex - _this.initialPlaceIndex;
7260
5905
  }, { dependsOn: activatePlaceType });
7261
- _this.animationSupported = _this.placesInAnimationOrder.count().isGreaterThan(0);
7262
- _this.animationEnabled = valueOf.all(_this.animateModel, _this.animationSupported).areTruthy();
7263
5906
  // Extract our visit model from the place router.
7264
5907
  _this._activePlaceDefinition = chain(_this._activePlaceModel).pluck('placeDefinition');
7265
5908
  _this.routerVisitModel = _this._activePlaceDefinition.findIn(chain(placeRouter.activeVisitsByPlaceDefinition));
7266
5909
  _this.navigationInProgress = chain(_this.placeRouter.navigationInProgress);
7267
- when(_this.navigationInProgress).becomesFalsey(function () {
5910
+ when.valueOf(_this.navigationInProgress).becomesFalsey(function () {
7268
5911
  _this.checkStateAndInitialise();
7269
5912
  });
7270
- when(_this.outletActivated).becomesTruthy(function () {
5913
+ when.valueOf(_this.outletActivated).becomesTruthy(function () {
7271
5914
  _this.checkStateAndInitialise();
7272
5915
  });
7273
5916
  chain(_this._activePlaceModel)
@@ -7280,7 +5923,7 @@
7280
5923
  };
7281
5924
  // @Trace()
7282
5925
  PlaceOutletComponent.prototype.getAnimationOrder = function () {
7283
- return this.activePlaceAnimationPosition.value;
5926
+ return this.placeAnimationOrder.value;
7284
5927
  };
7285
5928
  Object.defineProperty(PlaceOutletComponent.prototype, "animationDuration", {
7286
5929
  get: function () {
@@ -7291,10 +5934,7 @@
7291
5934
  });
7292
5935
  // @Trace()
7293
5936
  PlaceOutletComponent.prototype.navigate = function (visit) {
7294
- // const place = this.placesInAnimationOrder.query().findMatching(p => visit.placeDefinition.component === p);
7295
- // if (!place) {
7296
- // lang.illegalState()
7297
- // }
5937
+ // console.log({ activatedRoute: this._activatedRouteModel.value });
7298
5938
  this.placeRouter.navigate(visit, {
7299
5939
  relativeTo: this.parentOutlet ? this.parentOutlet.activatedRouteModel.value : null
7300
5940
  });
@@ -7320,25 +5960,14 @@
7320
5960
  enumerable: true,
7321
5961
  configurable: true
7322
5962
  });
5963
+ // @Trace()
7323
5964
  PlaceOutletComponent.prototype.onOutletActivated = function (routerOutlet, place) {
7324
5965
  this._activatedRouteModel.value = routerOutlet.activatedRoute;
7325
5966
  this._activePlaceModel.value = place;
7326
- this.validateAnimationState(place);
7327
5967
  this.outletActivated.value = true;
7328
5968
  this.checkStateAndInitialise();
7329
5969
  };
7330
- PlaceOutletComponent.prototype.validateAnimationState = function (place) {
7331
- if (this.animateModel.value) {
7332
- if (this.placesInAnimationOrder.length < 1) {
7333
- console.error('PlaceOutlet.animate === true but placeAnimationOrder has not been set. Animation is disabled.');
7334
- }
7335
- else {
7336
- if (!this.placesInAnimationOrder.query().includes(place.placeDefinition.component)) {
7337
- console.error("PlaceOutlet.animate === true but placeAnimationOrder doesn't contain " + place.placeDefinition.component.name + ".");
7338
- }
7339
- }
7340
- }
7341
- };
5970
+ // @Trace()
7342
5971
  PlaceOutletComponent.prototype.onOutletDeactivated = function () {
7343
5972
  this.outletActivated.value = false;
7344
5973
  this._activePlaceModel.value = null;
@@ -7355,6 +5984,7 @@
7355
5984
  this.initialisePlace(routerVisit, activePlace);
7356
5985
  }
7357
5986
  };
5987
+ // @Trace()
7358
5988
  PlaceOutletComponent.prototype.initialisePlace = function (routerVisit, activePlace) {
7359
5989
  var _this = this;
7360
5990
  var visitModel = new pectin.MutableValueModel(routerVisit);
@@ -7362,18 +5992,9 @@
7362
5992
  activePlace.initialiseVisit(routerVisit, function (current, previous) {
7363
5993
  _this.pushVisitChangeToRoute(previous, current);
7364
5994
  });
7365
- var finishPlaceLoad = function () {
7366
- _this._activePlaceModel.value._notifyActive(true);
7367
- };
7368
- if (!this.animationEnabled.value || this.isVeryFirstLoad) {
7369
- // if animation is disabled or this is the very first load then
7370
- // we won't get our animation done callback so we finish the
7371
- // process here and now.
7372
- this.isVeryFirstLoad = false;
7373
- finishPlaceLoad();
7374
- }
7375
- else {
7376
- this.onAnimationFinishedJob = finishPlaceLoad;
5995
+ if (!this.animateModel.value) {
5996
+ // we're not animating so trigger any post animation callbacks now.
5997
+ this.animationDone();
7377
5998
  }
7378
5999
  var _a = pectin.Dsl.disposeWith(activePlace), when = _a.when, chain = _a.chain, valueOf = _a.valueOf;
7379
6000
  when.valueOf(this.routerVisitModel)
@@ -7396,9 +6017,8 @@
7396
6017
  };
7397
6018
  // @Trace()
7398
6019
  PlaceOutletComponent.prototype.animationDone = function () {
7399
- if (this.onAnimationFinishedJob) {
7400
- this.onAnimationFinishedJob();
7401
- this.onAnimationFinishedJob = undefined;
6020
+ if (this._activePlaceModel.value) {
6021
+ this._activePlaceModel.value.onPlaceReady();
7402
6022
  }
7403
6023
  };
7404
6024
  PlaceOutletComponent.ctorParameters = function () { return [
@@ -7431,22 +6051,10 @@
7431
6051
  core.ViewChild('routeOutlet', { static: true }),
7432
6052
  __metadata("design:type", router.RouterOutlet)
7433
6053
  ], PlaceOutletComponent.prototype, "routerOut", void 0);
7434
- __decorate([
7435
- pectin.Trace(),
7436
- __metadata("design:type", Function),
7437
- __metadata("design:paramtypes", [router.RouterOutlet, exports.PlaceComponent]),
7438
- __metadata("design:returntype", void 0)
7439
- ], PlaceOutletComponent.prototype, "onOutletActivated", null);
7440
- __decorate([
7441
- pectin.Trace(),
7442
- __metadata("design:type", Function),
7443
- __metadata("design:paramtypes", []),
7444
- __metadata("design:returntype", void 0)
7445
- ], PlaceOutletComponent.prototype, "onOutletDeactivated", null);
7446
6054
  PlaceOutletComponent = __decorate([
7447
6055
  core.Component({
7448
6056
  selector: 'aup-place-outlet',
7449
- template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\" cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\" cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n",
6057
+ template: "<ng-container *ngIf=\"animateModel.value\">\n <div class=\"router-outlet-container\" cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animateModel.value\">\n <div class=\"router-outlet-container\" cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n",
7450
6058
  animations: [LEFT_RIGHT_PLACE_ANIMATION],
7451
6059
  styles: [":host{display:flex;flex-direction:column;min-height:0}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:scroll}router-outlet{display:none}"]
7452
6060
  }),
@@ -7477,10 +6085,10 @@
7477
6085
  _this.activePlaceDefinition = chain(_this._activePlaceComponent).pluck('placeDefinition');
7478
6086
  return _this;
7479
6087
  }
7480
- AbstractPlaceNavigationComponent.prototype.getNavigationFace = function (placeDef) {
6088
+ AbstractPlaceNavigationComponent.prototype.getNav = function (placeDef) {
7481
6089
  var navItem = placeDef.getPlaceData('nav');
7482
6090
  return {
7483
- text: function () { return navItem ? navItem.title() : placeDef.searchPlaceData(['navTitle', 'title']); },
6091
+ title: function () { return navItem ? navItem.title() : placeDef.searchPlaceData(['navTitle', 'title']); },
7484
6092
  tooltip: function () { return navItem && navItem.tooltip ? navItem.tooltip() : placeDef.getPlaceData('navTooltip', null); },
7485
6093
  icon: function () { return navItem && navItem.icon ? navItem.icon() : placeDef.getPlaceData('navIcon', null); }
7486
6094
  };
@@ -7514,7 +6122,7 @@
7514
6122
  __metadata("design:type", Function),
7515
6123
  __metadata("design:paramtypes", [PlaceDefinition]),
7516
6124
  __metadata("design:returntype", Object)
7517
- ], AbstractPlaceNavigationComponent.prototype, "getNavigationFace", null);
6125
+ ], AbstractPlaceNavigationComponent.prototype, "getNav", null);
7518
6126
  AbstractPlaceNavigationComponent = __decorate([
7519
6127
  core.Component({
7520
6128
  template: ''
@@ -7575,7 +6183,7 @@
7575
6183
  ListPlaceNavComponent = __decorate([
7576
6184
  core.Component({
7577
6185
  selector: 'aup-list-place-nav',
7578
- template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-command-face [face]=\"getNavigationFace(placeDefinition)\"></aup-command-face>\n </a>\n</mat-nav-list>\n",
6186
+ template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span>{{getNav(placeDefinition).title()}}</span>\n </a>\n</mat-nav-list>\n",
7579
6187
  styles: [":host{display:flex;flex-direction:column;--selected-border-color:#838383;--selected-color:inherit;--selected-background:#f1f1f1}mat-nav-list{padding-top:0}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}"]
7580
6188
  }),
7581
6189
  __metadata("design:paramtypes", [PlaceRouter])
@@ -7583,6 +6191,25 @@
7583
6191
  return ListPlaceNavComponent;
7584
6192
  }(AbstractPlaceNavigationComponent));
7585
6193
 
6194
+ var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
6195
+ __extends(TabbedPlaceNavigationComponent, _super);
6196
+ function TabbedPlaceNavigationComponent(placeRouter) {
6197
+ return _super.call(this, placeRouter) || this;
6198
+ }
6199
+ TabbedPlaceNavigationComponent.ctorParameters = function () { return [
6200
+ { type: PlaceRouter }
6201
+ ]; };
6202
+ TabbedPlaceNavigationComponent = __decorate([
6203
+ core.Component({
6204
+ selector: 'aup-tabbed-place-navigation',
6205
+ template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span>{{getNav(placeDefinition).title()}}</span>\n </a>\n</nav>\n",
6206
+ styles: [""]
6207
+ }),
6208
+ __metadata("design:paramtypes", [PlaceRouter])
6209
+ ], TabbedPlaceNavigationComponent);
6210
+ return TabbedPlaceNavigationComponent;
6211
+ }(AbstractPlaceNavigationComponent));
6212
+
7586
6213
  /**
7587
6214
  * @example
7588
6215
  * // Usage
@@ -7621,7 +6248,7 @@
7621
6248
  * (at)Place({
7622
6249
  * path: 'myPlace',
7623
6250
  * data: {
7624
- * nav: I18n.places.myPlace.nav
6251
+ * nav: I18n.places.myPlace.nav()
7625
6252
  * }
7626
6253
  * })
7627
6254
  */
@@ -7657,7 +6284,7 @@
7657
6284
  SidePlaceNavigationComponent = __decorate([
7658
6285
  core.Component({
7659
6286
  selector: 'aup-side-place-navigation',
7660
- template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNavigationFace(placeDefinition).icon()\" [icon]=\"getNavigationFace(placeDefinition).icon()\"></aup-icon>\n <span class=\"expanded-only\">{{getNavigationFace(placeDefinition).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
6287
+ template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span\n class=\"expanded-only\">{{getNav(placeDefinition).title()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
7661
6288
  styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width:var(--nav-width, 56px);--resolved-nav-item-height:var(--nav-item-height, var(--resolved-nav-item-width));--resolved-expanded-width:var(--nav-expanded-width, 235px);--resolved-color:var(--nav-color, rgba(255, 255, 255, 0.9));--resolved-background-color:var(--nav-background-color, #555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}"]
7662
6289
  }),
7663
6290
  __metadata("design:paramtypes", [router.Router, PlaceRouter])
@@ -7665,25 +6292,6 @@
7665
6292
  return SidePlaceNavigationComponent;
7666
6293
  }(AbstractPlaceNavigationComponent));
7667
6294
 
7668
- var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
7669
- __extends(TabbedPlaceNavigationComponent, _super);
7670
- function TabbedPlaceNavigationComponent(placeRouter) {
7671
- return _super.call(this, placeRouter) || this;
7672
- }
7673
- TabbedPlaceNavigationComponent.ctorParameters = function () { return [
7674
- { type: PlaceRouter }
7675
- ]; };
7676
- TabbedPlaceNavigationComponent = __decorate([
7677
- core.Component({
7678
- selector: 'aup-tabbed-place-navigation',
7679
- template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-command-face [face]=\"getNavigationFace(placeDefinition)\"></aup-command-face>\n </a>\n</nav>\n",
7680
- styles: [""]
7681
- }),
7682
- __metadata("design:paramtypes", [PlaceRouter])
7683
- ], TabbedPlaceNavigationComponent);
7684
- return TabbedPlaceNavigationComponent;
7685
- }(AbstractPlaceNavigationComponent));
7686
-
7687
6295
  var PlaceModule = /** @class */ (function () {
7688
6296
  function PlaceModule() {
7689
6297
  }
@@ -8230,7 +6838,8 @@
8230
6838
  binding: null
8231
6839
  };
8232
6840
  var tag = tagPrefix + "(" + prototype.constructor.name + "." + propertyKey.toString() + ")";
8233
- pectin.DebugContext.getOrCreate(mechanics.backingModel).tag(tag);
6841
+ pectin.DebugContext.get(mechanics.backingModel).tag(tag);
6842
+ pectin.Logger.get(mechanics.backingModel).tag(tag);
8234
6843
  Object.defineProperty(prototype, propertyKey, {
8235
6844
  get: function () {
8236
6845
  return mechanics.backingModel;
@@ -8301,7 +6910,6 @@
8301
6910
  exports.AddItemInteractionContextComponent = AddItemInteractionContextComponent;
8302
6911
  exports.AlertDialogComponent = AlertDialogComponent;
8303
6912
  exports.AngularUiPowerupsModule = AngularUiPowerupsModule;
8304
- exports.AutocompleteInputComponent = AutocompleteInputComponent;
8305
6913
  exports.BusyOverlayComponent = BusyOverlayComponent;
8306
6914
  exports.CELL_EDITOR_PORTAL = CELL_EDITOR_PORTAL;
8307
6915
  exports.CELL_RENDERER_PORTAL = CELL_RENDERER_PORTAL;
@@ -8313,13 +6921,7 @@
8313
6921
  exports.CheckboxInputComponent = CheckboxInputComponent;
8314
6922
  exports.ColumnModel = ColumnModel;
8315
6923
  exports.ColumnTemplateDirective = ColumnTemplateDirective;
8316
- exports.CommandComponent = CommandComponent;
8317
6924
  exports.CommandDirective = CommandDirective;
8318
- exports.CommandFaceComponent = CommandFaceComponent;
8319
- exports.CommandGroup = exports.ɵbo;
8320
- exports.CommandGroupComponent = CommandGroupComponent;
8321
- exports.CommandGroupMenuRendererComponent = CommandGroupMenuRendererComponent;
8322
- exports.CommandGroupRendererComponent = CommandGroupRendererComponent;
8323
6925
  exports.ComponentCellRendererPortalRef = ComponentCellRendererPortalRef;
8324
6926
  exports.ComponentsModule = ComponentsModule;
8325
6927
  exports.ConfirmThenDialogComponent = ConfirmThenDialogComponent;
@@ -8341,24 +6943,22 @@
8341
6943
  exports.EditorControlColumnModel = EditorControlColumnModel;
8342
6944
  exports.EmptyStateComponent = EmptyStateComponent;
8343
6945
  exports.EventCleanUpSession = EventCleanUpSession;
8344
- exports.FlexComponent = FlexComponent;
8345
6946
  exports.FocusBinding = FocusBinding;
8346
6947
  exports.FocusBindingDirective = FocusBindingDirective;
8347
6948
  exports.FocusBindingFactory = FocusBindingFactory;
8348
6949
  exports.FocusContainerComponent = FocusContainerComponent;
8349
6950
  exports.FocusableComponent = FocusableComponent;
8350
6951
  exports.HEADER_CELL_RENDERER_PORTAL = HEADER_CELL_RENDERER_PORTAL;
8351
- exports.IconComponent = exports.ɵbk;
6952
+ exports.IconComponent = IconComponent;
8352
6953
  exports.InPlaceInteractionContextComponent = InPlaceInteractionContextComponent;
8353
6954
  exports.InteractionContextTriggerFor = InteractionContextTriggerFor;
8354
6955
  exports.InteractionModule = InteractionModule;
8355
- exports.InteractionService = exports.ɵci;
6956
+ exports.InteractionService = exports.ɵbv;
8356
6957
  exports.InteractionServiceRoutingAdapter = InteractionServiceRoutingAdapter;
8357
6958
  exports.LEFT_RIGHT_PLACE_ANIMATION = LEFT_RIGHT_PLACE_ANIMATION;
8358
6959
  exports.ListPlaceNavComponent = ListPlaceNavComponent;
8359
6960
  exports.ListPropertyColumnModel = ListPropertyColumnModel;
8360
6961
  exports.ModalInteractionContextFactory = ModalInteractionContextFactory;
8361
- exports.MoreMenuComponent = MoreMenuComponent;
8362
6962
  exports.MultipleSelectInputComponent = MultipleSelectInputComponent;
8363
6963
  exports.Navigating = Navigating;
8364
6964
  exports.NavigatingDuringInteraction = NavigatingDuringInteraction;
@@ -8373,7 +6973,7 @@
8373
6973
  exports.PlaceComponentDeactivationHandler = PlaceComponentDeactivationHandler;
8374
6974
  exports.PlaceDefinition = PlaceDefinition;
8375
6975
  exports.PlaceGuard = PlaceGuard;
8376
- exports.PlaceHistory = exports.ɵcl;
6976
+ exports.PlaceHistory = exports.ɵby;
8377
6977
  exports.PlaceModule = PlaceModule;
8378
6978
  exports.PlaceOutletComponent = PlaceOutletComponent;
8379
6979
  exports.PlaceRouter = PlaceRouter;
@@ -8381,7 +6981,6 @@
8381
6981
  exports.PopStateDuringInteractionNavigation = PopStateDuringInteractionNavigation;
8382
6982
  exports.PopStateNavigation = PopStateNavigation;
8383
6983
  exports.PopupInteractionContextComponent = PopupInteractionContextComponent;
8384
- exports.PopupMenuComponent = PopupMenuComponent;
8385
6984
  exports.PropertyColumnModel = PropertyColumnModel;
8386
6985
  exports.ROUTE_PARAMETER_LIST_KEY = ROUTE_PARAMETER_LIST_KEY;
8387
6986
  exports.RemoveLastInteractionFromUrlNavigationSession = RemoveLastInteractionFromUrlNavigationSession;
@@ -8394,7 +6993,6 @@
8394
6993
  exports.SelectInputActivity = SelectInputActivity;
8395
6994
  exports.SelectInputComponent = SelectInputComponent;
8396
6995
  exports.SelectionColumnModel = SelectionColumnModel;
8397
- exports.SeparatorComponent = SeparatorComponent;
8398
6996
  exports.SidePlaceNavigationComponent = SidePlaceNavigationComponent;
8399
6997
  exports.StringInputActivity = StringInputActivity;
8400
6998
  exports.StringInputComponent = StringInputComponent;
@@ -8408,10 +7006,8 @@
8408
7006
  exports.TableComponent = TableComponent;
8409
7007
  exports.TableHeaderCellRendererComponent = TableHeaderCellRendererComponent;
8410
7008
  exports.TableModel = TableModel;
8411
- exports.TableRowMenuComponent = TableRowMenuComponent;
8412
7009
  exports.TemplateCellRendererPortalRef = TemplateCellRendererPortalRef;
8413
7010
  exports.TextInputComponent = TextInputComponent;
8414
- exports.ToolBarComponent = ToolBarComponent;
8415
7011
  exports.UrlService = UrlService;
8416
7012
  exports.VerticalFocusContainerComponent = VerticalFocusContainerComponent;
8417
7013
  exports.Visit = Visit;
@@ -8427,62 +7023,51 @@
8427
7023
  exports.ɵ0 = ɵ0;
8428
7024
  exports.ɵa = DirectivesModule;
8429
7025
  exports.ɵb = CommandDirective;
8430
- exports.ɵba = CardContainerComponent;
8431
- exports.ɵbb = TableComponent;
8432
- exports.ɵbc = EditRowControls;
8433
- exports.ɵbd = ColumnTemplateDirective;
8434
- exports.ɵbe = DefaultCellRendererComponent;
8435
- exports.ɵbf = TableCellRendererComponent;
8436
- exports.ɵbg = SelectCellRendererComponent;
8437
- exports.ɵbh = SelectHeaderCellRendererComponent;
8438
- exports.ɵbi = DefaultHeaderCellRendererComponent;
8439
- exports.ɵbj = TableHeaderCellRendererComponent;
8440
- exports.ɵbl = SectionHeaderComponent;
8441
- exports.ɵbm = TableRowMenuComponent;
8442
- exports.ɵbn = ToolBarComponent;
8443
- exports.ɵbp = CommandComponent;
8444
- exports.ɵbq = PopupMenuComponent;
8445
- exports.ɵbr = CommandGroupComponent;
8446
- exports.ɵbs = CommandFaceComponent;
8447
- exports.ɵbt = MoreMenuComponent;
8448
- exports.ɵbu = SeparatorComponent;
8449
- exports.ɵbv = FlexComponent;
8450
- exports.ɵbw = CommandGroupMenuRendererComponent;
8451
- exports.ɵbx = CommandGroupRendererComponent;
8452
- exports.ɵby = PlaceModule;
8453
- exports.ɵbz = ComponentsModule;
7026
+ exports.ɵba = EditRowControls;
7027
+ exports.ɵbb = ColumnTemplateDirective;
7028
+ exports.ɵbc = DefaultCellRendererComponent;
7029
+ exports.ɵbd = TableCellRendererComponent;
7030
+ exports.ɵbe = SelectCellRendererComponent;
7031
+ exports.ɵbf = SelectHeaderCellRendererComponent;
7032
+ exports.ɵbg = DefaultHeaderCellRendererComponent;
7033
+ exports.ɵbh = TableHeaderCellRendererComponent;
7034
+ exports.ɵbi = MultipleSelectInputComponent;
7035
+ exports.ɵbj = IconComponent;
7036
+ exports.ɵbk = SectionHeaderComponent;
7037
+ exports.ɵbl = PlaceModule;
7038
+ exports.ɵbm = ComponentsModule;
7039
+ exports.ɵbn = EmptyStateComponent;
7040
+ exports.ɵbo = BusyOverlayComponent;
7041
+ exports.ɵbp = PlaceOutletComponent;
7042
+ exports.ɵbq = leftRightPlaceAnimation;
7043
+ exports.ɵbr = LEFT_RIGHT_PLACE_ANIMATION;
7044
+ exports.ɵbs = AUP_PLACE_CONFIG;
7045
+ exports.ɵbu = PlaceRouter;
7046
+ exports.ɵbw = ModalInteractionContextFactory;
7047
+ exports.ɵbx = UrlService;
7048
+ exports.ɵbz = TabbedPlaceNavigationComponent;
8454
7049
  exports.ɵc = FocusBindingDirective;
8455
- exports.ɵca = EmptyStateComponent;
8456
- exports.ɵcb = BusyOverlayComponent;
8457
- exports.ɵcc = PlaceOutletComponent;
8458
- exports.ɵcd = leftRightPlaceAnimation;
8459
- exports.ɵce = LEFT_RIGHT_PLACE_ANIMATION;
8460
- exports.ɵcf = AUP_PLACE_CONFIG;
8461
- exports.ɵch = PlaceRouter;
8462
- exports.ɵcj = ModalInteractionContextFactory;
8463
- exports.ɵck = UrlService;
8464
- exports.ɵcm = TabbedPlaceNavigationComponent;
8465
- exports.ɵcn = AbstractPlaceNavigationComponent;
8466
- exports.ɵco = ListPlaceNavComponent;
8467
- exports.ɵcp = SidePlaceNavigationComponent;
8468
- exports.ɵcq = InteractionModule;
8469
- exports.ɵcr = ActivityContainerComponent;
8470
- exports.ɵcs = AbstractInteractionContext;
8471
- exports.ɵct = ActivityOutletComponent;
8472
- exports.ɵcu = ConfirmationDialogComponent;
8473
- exports.ɵcv = ACTIVITY_DATA;
8474
- exports.ɵcw = Activity;
8475
- exports.ɵcy = ConfirmThenDialogComponent;
8476
- exports.ɵcz = AlertDialogComponent;
7050
+ exports.ɵca = AbstractPlaceNavigationComponent;
7051
+ exports.ɵcb = ListPlaceNavComponent;
7052
+ exports.ɵcc = SidePlaceNavigationComponent;
7053
+ exports.ɵcd = InteractionModule;
7054
+ exports.ɵce = ActivityContainerComponent;
7055
+ exports.ɵcf = AbstractInteractionContext;
7056
+ exports.ɵcg = ActivityOutletComponent;
7057
+ exports.ɵch = ConfirmationDialogComponent;
7058
+ exports.ɵci = ACTIVITY_DATA;
7059
+ exports.ɵcj = Activity;
7060
+ exports.ɵcl = ConfirmThenDialogComponent;
7061
+ exports.ɵcm = AlertDialogComponent;
7062
+ exports.ɵco = InPlaceInteractionContextComponent;
7063
+ exports.ɵcp = AddItemInteractionContextComponent;
7064
+ exports.ɵcq = ActivityActionsComponent;
7065
+ exports.ɵcr = PopupInteractionContextComponent;
7066
+ exports.ɵcs = StringInputActivity;
7067
+ exports.ɵct = AbstractInputActivity;
7068
+ exports.ɵcu = SelectInputActivity;
7069
+ exports.ɵcv = InteractionContextTriggerFor;
8477
7070
  exports.ɵd = DisposableComponent;
8478
- exports.ɵdb = InPlaceInteractionContextComponent;
8479
- exports.ɵdc = AddItemInteractionContextComponent;
8480
- exports.ɵdd = ActivityActionsComponent;
8481
- exports.ɵde = PopupInteractionContextComponent;
8482
- exports.ɵdf = StringInputActivity;
8483
- exports.ɵdg = AbstractInputActivity;
8484
- exports.ɵdh = SelectInputActivity;
8485
- exports.ɵdi = InteractionContextTriggerFor;
8486
7071
  exports.ɵe = FocusBindingFactory;
8487
7072
  exports.ɵf = ComponentsModule;
8488
7073
  exports.ɵg = AbstractInputComponent;
@@ -8493,18 +7078,18 @@
8493
7078
  exports.ɵl = TextInputComponent;
8494
7079
  exports.ɵm = PasswordInputComponent;
8495
7080
  exports.ɵn = SelectInputComponent;
8496
- exports.ɵo = MultipleSelectInputComponent;
8497
- exports.ɵp = AutocompleteInputComponent;
8498
- exports.ɵq = CheckboxInputComponent;
8499
- exports.ɵr = ScrollContainerComponent;
8500
- exports.ɵs = NoopComponent;
8501
- exports.ɵt = SwitchCaseOption;
8502
- exports.ɵu = SwitchCaseWhenDirective;
8503
- exports.ɵv = SwitchCaseDefaultDirective;
8504
- exports.ɵw = SwitchCaseComponent;
8505
- exports.ɵx = FocusContainerComponent;
8506
- exports.ɵy = VerticalFocusContainerComponent;
8507
- exports.ɵz = FocusableComponent;
7081
+ exports.ɵo = CheckboxInputComponent;
7082
+ exports.ɵp = ScrollContainerComponent;
7083
+ exports.ɵq = NoopComponent;
7084
+ exports.ɵr = SwitchCaseOption;
7085
+ exports.ɵs = SwitchCaseWhenDirective;
7086
+ exports.ɵt = SwitchCaseDefaultDirective;
7087
+ exports.ɵu = SwitchCaseComponent;
7088
+ exports.ɵv = FocusContainerComponent;
7089
+ exports.ɵw = VerticalFocusContainerComponent;
7090
+ exports.ɵx = FocusableComponent;
7091
+ exports.ɵy = CardContainerComponent;
7092
+ exports.ɵz = TableComponent;
8508
7093
 
8509
7094
  Object.defineProperty(exports, '__esModule', { value: true });
8510
7095