@coolon/angular-ui-powerups 2.0.0-alpha.28 → 2.0.0-alpha.3

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 (262) hide show
  1. package/CHANGELOG.md +0 -170
  2. package/assets/form.scss +4 -5
  3. package/assets/styles.scss +0 -2
  4. package/bundles/coolon-angular-ui-powerups.umd.js +339 -1137
  5. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  6. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  7. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  8. package/coolon-angular-ui-powerups.d.ts +54 -64
  9. package/coolon-angular-ui-powerups.metadata.json +1 -1
  10. package/esm2015/coolon-angular-ui-powerups.js +52 -62
  11. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  12. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  13. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  14. package/esm2015/lib/components/card-container/card-container.component.js +1 -1
  15. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -1
  16. package/esm2015/lib/components/components.module.js +14 -58
  17. package/esm2015/lib/components/components.module.js.map +1 -1
  18. package/esm2015/lib/components/components.module.metadata.json +1 -1
  19. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  20. package/esm2015/lib/components/forms/abstract-input.component.js +4 -12
  21. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  22. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  23. package/esm2015/lib/components/forms/abstract-list-input.component.js +6 -51
  24. package/esm2015/lib/components/forms/abstract-list-input.component.js.map +1 -1
  25. package/esm2015/lib/components/forms/abstract-list-input.component.metadata.json +1 -1
  26. package/esm2015/lib/components/forms/abstract-value-input.component.js +3 -47
  27. package/esm2015/lib/components/forms/abstract-value-input.component.js.map +1 -1
  28. package/esm2015/lib/components/forms/abstract-value-input.component.metadata.json +1 -1
  29. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +6 -3
  30. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  31. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  32. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +13 -8
  33. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  34. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  35. package/esm2015/lib/components/forms/number-input/number-input.component.js +6 -3
  36. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  37. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  38. package/esm2015/lib/components/forms/password-input/password-input.component.js +7 -4
  39. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  40. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  41. package/esm2015/lib/components/forms/select-input/select-input.component.js +5 -2
  42. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  43. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  44. package/esm2015/lib/components/forms/string-input/string-input.component.js +7 -3
  45. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  46. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  47. package/esm2015/lib/components/forms/text-input/text-input.component.js +6 -3
  48. package/esm2015/lib/components/forms/text-input/text-input.component.js.map +1 -1
  49. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  50. package/esm2015/lib/components/icon/icon.component.js +4 -17
  51. package/esm2015/lib/components/icon/icon.component.js.map +1 -1
  52. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  53. package/esm2015/lib/components/index.js +1 -12
  54. package/esm2015/lib/components/index.js.map +1 -1
  55. package/esm2015/lib/components/index.metadata.json +1 -1
  56. package/esm2015/lib/components/table/cell-editors.js.map +1 -1
  57. package/esm2015/lib/components/table/{cell-portal-ref.js → cell-protal-ref.js} +3 -7
  58. package/esm2015/lib/components/table/cell-protal-ref.js.map +1 -0
  59. package/esm2015/lib/components/table/{cell-portal-ref.metadata.json → cell-protal-ref.metadata.json} +1 -1
  60. package/esm2015/lib/components/table/column-model.js +11 -66
  61. package/esm2015/lib/components/table/column-model.js.map +1 -1
  62. package/esm2015/lib/components/table/column-model.metadata.json +1 -1
  63. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  64. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  65. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  66. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  67. package/esm2015/lib/components/table/table-model.js +10 -11
  68. package/esm2015/lib/components/table/table-model.js.map +1 -1
  69. package/esm2015/lib/components/table/table-model.metadata.json +1 -1
  70. package/esm2015/lib/components/table/table.component.js +1 -1
  71. package/esm2015/lib/components/table/table.component.js.map +1 -1
  72. package/esm2015/lib/components/table/table.component.metadata.json +1 -1
  73. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +7 -2
  74. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  75. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  76. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  77. package/esm2015/lib/place/place-component.js +1 -1
  78. package/esm2015/lib/place/place-component.js.map +1 -1
  79. package/esm2015/lib/place/place-router.js +8 -2
  80. package/esm2015/lib/place/place-router.js.map +1 -1
  81. package/esm2015/lib/place/place-router.metadata.json +1 -1
  82. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  83. package/esm2015/lib/place/route/parameter-decorators.js +3 -2
  84. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  85. package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
  86. package/esm5/coolon-angular-ui-powerups.js +52 -62
  87. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  88. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  89. package/esm5/lib/components/card-container/card-container.component.js +1 -1
  90. package/esm5/lib/components/components.module.js +14 -58
  91. package/esm5/lib/components/components.module.js.map +1 -1
  92. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  93. package/esm5/lib/components/forms/abstract-input.component.js +4 -12
  94. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  95. package/esm5/lib/components/forms/abstract-list-input.component.js +6 -56
  96. package/esm5/lib/components/forms/abstract-list-input.component.js.map +1 -1
  97. package/esm5/lib/components/forms/abstract-value-input.component.js +3 -52
  98. package/esm5/lib/components/forms/abstract-value-input.component.js.map +1 -1
  99. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js +6 -3
  100. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  101. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js +13 -8
  102. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  103. package/esm5/lib/components/forms/number-input/number-input.component.js +6 -3
  104. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  105. package/esm5/lib/components/forms/password-input/password-input.component.js +7 -4
  106. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  107. package/esm5/lib/components/forms/select-input/select-input.component.js +5 -2
  108. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  109. package/esm5/lib/components/forms/string-input/string-input.component.js +7 -3
  110. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  111. package/esm5/lib/components/forms/text-input/text-input.component.js +6 -3
  112. package/esm5/lib/components/forms/text-input/text-input.component.js.map +1 -1
  113. package/esm5/lib/components/icon/icon.component.js +3 -15
  114. package/esm5/lib/components/icon/icon.component.js.map +1 -1
  115. package/esm5/lib/components/index.js +1 -12
  116. package/esm5/lib/components/index.js.map +1 -1
  117. package/esm5/lib/components/table/cell-editors.js.map +1 -1
  118. package/esm5/lib/components/table/{cell-portal-ref.js → cell-protal-ref.js} +3 -7
  119. package/esm5/lib/components/table/cell-protal-ref.js.map +1 -0
  120. package/esm5/lib/components/table/column-model.js +11 -67
  121. package/esm5/lib/components/table/column-model.js.map +1 -1
  122. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  123. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  124. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  125. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  126. package/esm5/lib/components/table/table-model.js +11 -11
  127. package/esm5/lib/components/table/table-model.js.map +1 -1
  128. package/esm5/lib/components/table/table.component.js +1 -1
  129. package/esm5/lib/components/table/table.component.js.map +1 -1
  130. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +7 -2
  131. package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  132. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  133. package/esm5/lib/place/place-component.js +1 -1
  134. package/esm5/lib/place/place-component.js.map +1 -1
  135. package/esm5/lib/place/place-router.js +8 -2
  136. package/esm5/lib/place/place-router.js.map +1 -1
  137. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  138. package/esm5/lib/place/route/parameter-decorators.js +3 -2
  139. package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
  140. package/fesm2015/coolon-angular-ui-powerups.js +240 -973
  141. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  142. package/fesm5/coolon-angular-ui-powerups.js +269 -1051
  143. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  144. package/lib/components/forms/abstract-input.component.d.ts +2 -8
  145. package/lib/components/forms/abstract-list-input.component.d.ts +3 -10
  146. package/lib/components/forms/abstract-value-input.component.d.ts +3 -9
  147. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +2 -0
  148. package/lib/components/forms/multiple-select-input/multiple-select-input.component.d.ts +4 -8
  149. package/lib/components/forms/number-input/number-input.component.d.ts +2 -0
  150. package/lib/components/forms/password-input/password-input.component.d.ts +2 -0
  151. package/lib/components/forms/select-input/select-input.component.d.ts +2 -2
  152. package/lib/components/forms/string-input/string-input.component.d.ts +2 -1
  153. package/lib/components/forms/text-input/text-input.component.d.ts +2 -0
  154. package/lib/components/icon/icon.component.d.ts +0 -15
  155. package/lib/components/index.d.ts +1 -13
  156. package/lib/components/table/cell-editors.d.ts +3 -3
  157. package/lib/components/table/{cell-portal-ref.d.ts → cell-protal-ref.d.ts} +4 -4
  158. package/lib/components/table/column-model.d.ts +12 -18
  159. package/lib/components/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  160. package/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.d.ts +1 -1
  161. package/lib/components/table/table-model.d.ts +4 -12
  162. package/package.json +4 -4
  163. package/assets/commands.scss +0 -3
  164. package/assets/icons.scss +0 -30
  165. package/esm2015/lib/components/commands/command-bar.component.js +0 -51
  166. package/esm2015/lib/components/commands/command-bar.component.js.map +0 -1
  167. package/esm2015/lib/components/commands/command-bar.component.metadata.json +0 -1
  168. package/esm2015/lib/components/commands/command-bar.component.ngfactory.js.map +0 -1
  169. package/esm2015/lib/components/commands/command-container.js +0 -20
  170. package/esm2015/lib/components/commands/command-container.js.map +0 -1
  171. package/esm2015/lib/components/commands/command-container.metadata.json +0 -1
  172. package/esm2015/lib/components/commands/command-face/command-face.component.js +0 -91
  173. package/esm2015/lib/components/commands/command-face/command-face.component.js.map +0 -1
  174. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +0 -1
  175. package/esm2015/lib/components/commands/command-face/command-face.component.ngfactory.js.map +0 -1
  176. package/esm2015/lib/components/commands/command-face/command-face.component.scss.ngstyle.js.map +0 -1
  177. package/esm2015/lib/components/commands/command-face.js +0 -74
  178. package/esm2015/lib/components/commands/command-face.js.map +0 -1
  179. package/esm2015/lib/components/commands/command-face.metadata.json +0 -1
  180. package/esm2015/lib/components/commands/command.component.js +0 -38
  181. package/esm2015/lib/components/commands/command.component.js.map +0 -1
  182. package/esm2015/lib/components/commands/command.component.metadata.json +0 -1
  183. package/esm2015/lib/components/commands/command.component.ngfactory.js.map +0 -1
  184. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.js +0 -50
  185. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.js.map +0 -1
  186. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.metadata.json +0 -1
  187. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.ngfactory.js.map +0 -1
  188. package/esm2015/lib/components/commands/popup-menu/more-menu.component.js +0 -35
  189. package/esm2015/lib/components/commands/popup-menu/more-menu.component.js.map +0 -1
  190. package/esm2015/lib/components/commands/popup-menu/more-menu.component.metadata.json +0 -1
  191. package/esm2015/lib/components/commands/popup-menu/more-menu.component.ngfactory.js.map +0 -1
  192. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.js +0 -46
  193. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.js.map +0 -1
  194. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.metadata.json +0 -1
  195. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.ngfactory.js.map +0 -1
  196. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js +0 -62
  197. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js.map +0 -1
  198. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.metadata.json +0 -1
  199. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.ngfactory.js.map +0 -1
  200. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.scss.shim.ngstyle.js.map +0 -1
  201. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -70
  202. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +0 -1
  203. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +0 -1
  204. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +0 -1
  205. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +0 -1
  206. package/esm2015/lib/components/table/cell-portal-ref.js.map +0 -1
  207. package/esm2015/lib/components/table/mutable-cell-renderer.js +0 -1
  208. package/esm2015/lib/components/table/mutable-cell-renderer.js.map +0 -1
  209. package/esm2015/lib/components/table/mutable-cell-renderer.metadata.json +0 -1
  210. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js +0 -82
  211. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js.map +0 -1
  212. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.metadata.json +0 -1
  213. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +0 -1
  214. package/esm5/lib/components/commands/command-bar.component.js +0 -31
  215. package/esm5/lib/components/commands/command-bar.component.js.map +0 -1
  216. package/esm5/lib/components/commands/command-bar.component.ngfactory.js.map +0 -1
  217. package/esm5/lib/components/commands/command-container.js +0 -30
  218. package/esm5/lib/components/commands/command-container.js.map +0 -1
  219. package/esm5/lib/components/commands/command-face/command-face.component.js +0 -122
  220. package/esm5/lib/components/commands/command-face/command-face.component.js.map +0 -1
  221. package/esm5/lib/components/commands/command-face/command-face.component.ngfactory.js.map +0 -1
  222. package/esm5/lib/components/commands/command-face/command-face.component.scss.ngstyle.js.map +0 -1
  223. package/esm5/lib/components/commands/command-face.js +0 -103
  224. package/esm5/lib/components/commands/command-face.js.map +0 -1
  225. package/esm5/lib/components/commands/command.component.js +0 -41
  226. package/esm5/lib/components/commands/command.component.js.map +0 -1
  227. package/esm5/lib/components/commands/command.component.ngfactory.js.map +0 -1
  228. package/esm5/lib/components/commands/popup-menu/abstract-popup-menu.component.js +0 -57
  229. package/esm5/lib/components/commands/popup-menu/abstract-popup-menu.component.js.map +0 -1
  230. package/esm5/lib/components/commands/popup-menu/abstract-popup-menu.component.ngfactory.js.map +0 -1
  231. package/esm5/lib/components/commands/popup-menu/more-menu.component.js +0 -30
  232. package/esm5/lib/components/commands/popup-menu/more-menu.component.js.map +0 -1
  233. package/esm5/lib/components/commands/popup-menu/more-menu.component.ngfactory.js.map +0 -1
  234. package/esm5/lib/components/commands/popup-menu/popup-menu.component.js +0 -42
  235. package/esm5/lib/components/commands/popup-menu/popup-menu.component.js.map +0 -1
  236. package/esm5/lib/components/commands/popup-menu/popup-menu.component.ngfactory.js.map +0 -1
  237. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js +0 -66
  238. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js.map +0 -1
  239. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.ngfactory.js.map +0 -1
  240. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.scss.shim.ngstyle.js.map +0 -1
  241. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -73
  242. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +0 -1
  243. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +0 -1
  244. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +0 -1
  245. package/esm5/lib/components/table/cell-portal-ref.js.map +0 -1
  246. package/esm5/lib/components/table/mutable-cell-renderer.js +0 -1
  247. package/esm5/lib/components/table/mutable-cell-renderer.js.map +0 -1
  248. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.js +0 -66
  249. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.js.map +0 -1
  250. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +0 -1
  251. package/lib/components/commands/command-bar.component.d.ts +0 -10
  252. package/lib/components/commands/command-container.d.ts +0 -15
  253. package/lib/components/commands/command-face/command-face.component.d.ts +0 -29
  254. package/lib/components/commands/command-face.d.ts +0 -24
  255. package/lib/components/commands/command.component.d.ts +0 -15
  256. package/lib/components/commands/popup-menu/abstract-popup-menu.component.d.ts +0 -15
  257. package/lib/components/commands/popup-menu/more-menu.component.d.ts +0 -8
  258. package/lib/components/commands/popup-menu/popup-menu.component.d.ts +0 -14
  259. package/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.d.ts +0 -21
  260. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +0 -25
  261. package/lib/components/table/mutable-cell-renderer.d.ts +0 -6
  262. package/lib/components/table/table-row-menu/table-row-menu.component.d.ts +0 -25
@@ -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/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/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/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@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/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.autocomplete, global.ng.material.button, global.ng.material.checkbox, 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.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, autocomplete, button, checkbox, icon, menu, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, src, ___default, typescriptStringEnums, typescriptUtilities, produce, flexLayout, dialog, router, overlay, ResizeObserver, progressSpinner, list, 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,486 +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;--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}.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-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 (CommandFace) {
590
- var Position;
591
- (function (Position) {
592
- Position["START"] = "start";
593
- Position["END"] = "end";
594
- })(Position = CommandFace.Position || (CommandFace.Position = {}));
595
- var Adapter = /** @class */ (function () {
596
- function Adapter(face) {
597
- this.face = face;
598
- }
599
- Object.defineProperty(Adapter.prototype, "text", {
600
- get: function () {
601
- return ___default__default.isFunction(this.face.text) ? this.face.text() : undefined;
602
- },
603
- enumerable: true,
604
- configurable: true
605
- });
606
- Object.defineProperty(Adapter.prototype, "icon", {
607
- get: function () {
608
- return ___default__default.isFunction(this.face.icon) ? this.face.icon() : undefined;
609
- },
610
- enumerable: true,
611
- configurable: true
612
- });
613
- Object.defineProperty(Adapter.prototype, "iconPosition", {
614
- get: function () {
615
- return ___default__default.isFunction(this.face.iconPosition) ? this.face.iconPosition() : undefined;
616
- },
617
- enumerable: true,
618
- configurable: true
619
- });
620
- Object.defineProperty(Adapter.prototype, "tooltip", {
621
- get: function () {
622
- return ___default__default.isFunction(this.face.tooltip) ? this.face.tooltip() : undefined;
623
- },
624
- enumerable: true,
625
- configurable: true
626
- });
627
- Object.defineProperty(Adapter.prototype, "iconPositionStart", {
628
- get: function () {
629
- return this.iconPosition === CommandFace.Position.START;
630
- },
631
- enumerable: true,
632
- configurable: true
633
- });
634
- Object.defineProperty(Adapter.prototype, "iconPositionEnd", {
635
- get: function () {
636
- return this.iconPosition === CommandFace.Position.END;
637
- },
638
- enumerable: true,
639
- configurable: true
640
- });
641
- Object.defineProperty(Adapter.prototype, "destructive", {
642
- get: function () {
643
- return ___default__default.isFunction(this.face.destructive) ? this.face.destructive() : false;
644
- },
645
- enumerable: true,
646
- configurable: true
647
- });
648
- __decorate([
649
- src.Memoize(),
650
- __metadata("design:type", Object),
651
- __metadata("design:paramtypes", [])
652
- ], Adapter.prototype, "text", null);
653
- __decorate([
654
- src.Memoize(),
655
- __metadata("design:type", Object),
656
- __metadata("design:paramtypes", [])
657
- ], Adapter.prototype, "icon", null);
658
- __decorate([
659
- src.Memoize(),
660
- __metadata("design:type", Object),
661
- __metadata("design:paramtypes", [])
662
- ], Adapter.prototype, "iconPosition", null);
663
- __decorate([
664
- src.Memoize(),
665
- __metadata("design:type", Object),
666
- __metadata("design:paramtypes", [])
667
- ], Adapter.prototype, "tooltip", null);
668
- __decorate([
669
- src.Memoize(),
670
- __metadata("design:type", Boolean),
671
- __metadata("design:paramtypes", [])
672
- ], Adapter.prototype, "iconPositionStart", null);
673
- __decorate([
674
- src.Memoize(),
675
- __metadata("design:type", Boolean),
676
- __metadata("design:paramtypes", [])
677
- ], Adapter.prototype, "iconPositionEnd", null);
678
- __decorate([
679
- src.Memoize(),
680
- __metadata("design:type", Boolean),
681
- __metadata("design:paramtypes", [])
682
- ], Adapter.prototype, "destructive", null);
683
- return Adapter;
684
- }());
685
- CommandFace.Adapter = Adapter;
686
- })(exports.CommandFace || (exports.CommandFace = {}));
687
-
688
- var CommandContainer = /** @class */ (function (_super) {
689
- __extends(CommandContainer, _super);
690
- function CommandContainer() {
691
- var _this = _super.call(this) || this;
692
- _this._commandRegistrations = new pectin.MutableListModel();
693
- return _this;
694
- }
695
- Object.defineProperty(CommandContainer.prototype, "commandRegistrations", {
696
- get: function () {
697
- return this._commandRegistrations.readonly;
698
- },
699
- enumerable: true,
700
- configurable: true
701
- });
702
- CommandContainer.prototype.registerCommand = function (command, face) {
703
- var _this = this;
704
- var registration = { command: command, faceAdapter: new exports.CommandFace.Adapter(face) };
705
- this._commandRegistrations.push(registration);
706
- return pectin.Disposable.disposableThatRuns(function () { return _this._commandRegistrations.remove(registration); });
707
- };
708
- CommandContainer.prototype.getDefaultIconPosition = function () {
709
- return exports.CommandFace.Position.START;
710
- };
711
- return CommandContainer;
712
- }(pectin.GarbageCollector));
713
-
714
- /**
715
- *
716
- */
717
- var CommandBarComponent = /** @class */ (function (_super) {
718
- __extends(CommandBarComponent, _super);
719
- function CommandBarComponent() {
720
- return _super.call(this) || this;
721
- }
722
- CommandBarComponent_1 = CommandBarComponent;
723
- CommandBarComponent.prototype.ngOnInit = function () {
724
- };
725
- CommandBarComponent.prototype.getButtonColor = function (registration) {
726
- return registration.faceAdapter.destructive ? 'warn' : undefined;
727
- };
728
- var CommandBarComponent_1;
729
- CommandBarComponent = CommandBarComponent_1 = __decorate([
730
- core.Component({
731
- selector: 'aup-command-bar',
732
- template: "\n <ng-container *ngFor=\"let registration of commandRegistrations.value\">\n <button *ngIf=\"registration.faceAdapter.icon && !registration.faceAdapter.text\"\n mat-icon-button\n [color]=\"getButtonColor(registration)\"\n [pectinCommand]=\"registration.command\"\n [matTooltip]=\"registration.faceAdapter.tooltip\"\n >\n <aup-command-face [face]=\"registration.faceAdapter.face\"></aup-command-face>\n </button>\n <button *ngIf=\"registration.faceAdapter.text\"\n [color]=\"getButtonColor(registration)\"\n mat-button\n [pectinCommand]=\"registration.command\"\n [matTooltip]=\"registration.tooltip\"\n >\n <aup-command-face [face]=\"registration.faceAdapter.face\"></aup-command-face>\n </button>\n </ng-container>\n ",
733
- providers: [{ provide: CommandContainer, useExisting: core.forwardRef(function () { return CommandBarComponent_1; }) }],
734
- styles: [":host {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n }"]
735
- }),
736
- __metadata("design:paramtypes", [])
737
- ], CommandBarComponent);
738
- return CommandBarComponent;
739
- }(CommandContainer));
740
-
741
- /**
742
- *
743
- */
744
- var CommandFaceComponent = /** @class */ (function (_super) {
745
- __extends(CommandFaceComponent, _super);
746
- function CommandFaceComponent(commandContainer) {
747
- var _this = _super.call(this) || this;
748
- _this.commandContainer = commandContainer;
749
- _this.faceModel = new pectin.MutableValueModel();
750
- _this.ignoreIcon = false;
751
- _this.ignoreText = false;
752
- _this.includeMissingIconInLayout = false;
753
- 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;
754
- // overkill /c: when all you have is a hammer...
755
- var faceAdapter = chain(_this.faceModel).map(function (face) { return new exports.CommandFace.Adapter(face); });
756
- _this.iconModel = faceAdapter.pluck('icon');
757
- _this.textModel = faceAdapter.pluck('text');
758
- _this.positionModel = faceAdapter.pluck('iconPosition');
759
- _this.destructiveModel = faceAdapter.pluck('destructive');
760
- return _this;
761
- }
762
- Object.defineProperty(CommandFaceComponent.prototype, "requiresMissingIconInLayout", {
763
- get: function () {
764
- return this.includeMissingIconInLayout && !this.iconModel.value;
765
- },
766
- enumerable: true,
767
- configurable: true
768
- });
769
- CommandFaceComponent.prototype.ngOnInit = function () {
770
- };
771
- Object.defineProperty(CommandFaceComponent.prototype, "iconPosition", {
772
- get: function () {
773
- var _a, _b, _c;
774
- return (_c = (_a = this.positionModel.value) !== null && _a !== void 0 ? _a : (_b = this.commandContainer) === null || _b === void 0 ? void 0 : _b.getDefaultIconPosition()) !== null && _c !== void 0 ? _c : exports.CommandFace.Position.START;
775
- },
776
- enumerable: true,
777
- configurable: true
778
- });
779
- Object.defineProperty(CommandFaceComponent.prototype, "shouldIncludeIcon", {
780
- get: function () {
781
- return (!this.ignoreIcon && this.iconModel.value) || this.includeMissingIconInLayout;
782
- },
783
- enumerable: true,
784
- configurable: true
785
- });
786
- Object.defineProperty(CommandFaceComponent.prototype, "iconStart", {
787
- get: function () {
788
- return this.shouldIncludeIcon && this.iconPosition === exports.CommandFace.Position.START;
789
- },
790
- enumerable: true,
791
- configurable: true
792
- });
793
- Object.defineProperty(CommandFaceComponent.prototype, "iconEnd", {
794
- get: function () {
795
- return this.shouldIncludeIcon && this.iconPosition === exports.CommandFace.Position.END;
796
- },
797
- enumerable: true,
798
- configurable: true
799
- });
800
- Object.defineProperty(CommandFaceComponent.prototype, "text", {
801
- get: function () {
802
- return this.ignoreText ? undefined : this.textModel.value;
803
- },
804
- enumerable: true,
805
- configurable: true
806
- });
807
- Object.defineProperty(CommandFaceComponent.prototype, "destructive", {
808
- get: function () {
809
- return this.destructiveModel.value;
810
- },
811
- enumerable: true,
812
- configurable: true
813
- });
814
- CommandFaceComponent.ctorParameters = function () { return [
815
- { type: CommandContainer, decorators: [{ type: core.Optional }] }
816
- ]; };
817
- __decorate([
818
- core.Input('face'), pectin.StoreInValueModel('faceModel'),
819
- __metadata("design:type", Object)
820
- ], CommandFaceComponent.prototype, "_rawFace", void 0);
821
- __decorate([
822
- core.Input(),
823
- __metadata("design:type", Object)
824
- ], CommandFaceComponent.prototype, "ignoreIcon", void 0);
825
- __decorate([
826
- core.Input(),
827
- __metadata("design:type", Object)
828
- ], CommandFaceComponent.prototype, "ignoreText", void 0);
829
- __decorate([
830
- core.Input(),
831
- __metadata("design:type", Object)
832
- ], CommandFaceComponent.prototype, "includeMissingIconInLayout", void 0);
833
- __decorate([
834
- core.HostBinding('class.hide-icon'),
835
- __metadata("design:type", Object),
836
- __metadata("design:paramtypes", [])
837
- ], CommandFaceComponent.prototype, "requiresMissingIconInLayout", null);
838
- __decorate([
839
- core.HostBinding('class.destructive'),
840
- __metadata("design:type", Boolean),
841
- __metadata("design:paramtypes", [])
842
- ], CommandFaceComponent.prototype, "destructive", null);
843
- CommandFaceComponent = __decorate([
844
- core.Component({
845
- selector: 'aup-command-face',
846
- 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",
847
- encapsulation: core.ViewEncapsulation.None,
848
- styles: ["aup-command-face{--icon-gap:var(--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}"]
849
- }),
850
- __param(0, core.Optional()),
851
- __metadata("design:paramtypes", [CommandContainer])
852
- ], CommandFaceComponent);
853
- return CommandFaceComponent;
854
- }(DisposableComponent));
855
-
856
- /**
857
- *
858
- */
859
- var CommandComponent = /** @class */ (function (_super) {
860
- __extends(CommandComponent, _super);
861
- function CommandComponent(commandContainer) {
862
- var _this = _super.call(this) || this;
863
- _this.commandContainer = commandContainer;
864
- return _this;
865
- }
866
- CommandComponent.prototype.ngOnInit = function () {
867
- this.registerDisposable(this.commandContainer.registerCommand(this.command, this.face));
868
- };
869
- CommandComponent.ctorParameters = function () { return [
870
- { type: CommandContainer }
871
- ]; };
872
- __decorate([
873
- core.Input(), pectin.TrackExternal(),
874
- __metadata("design:type", pectin.Command)
875
- ], CommandComponent.prototype, "command", void 0);
876
- __decorate([
877
- core.Input(),
878
- __metadata("design:type", Object)
879
- ], CommandComponent.prototype, "face", void 0);
880
- CommandComponent = __decorate([
881
- core.Component({
882
- selector: 'aup-command',
883
- template: ""
884
- }),
885
- __metadata("design:paramtypes", [CommandContainer])
886
- ], CommandComponent);
887
- return CommandComponent;
888
- }(DisposableComponent));
889
-
890
- /**
891
- *
892
- */
893
- var PopupMenuRendererComponent = /** @class */ (function (_super) {
894
- __extends(PopupMenuRendererComponent, _super);
895
- function PopupMenuRendererComponent() {
896
- var _this = _super.call(this) || this;
897
- _this.xPosition = 'after';
898
- _this.yPosition = 'below';
899
- _this.commandExecuted = new core.EventEmitter();
900
- 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;
901
- var registrations = chain(_this.commandRegistrations);
902
- var iconCount = registrations.select(function (r) { return !!r.faceAdapter.icon; }).count();
903
- _this.hasMixedIcons = valueOf.all(iconCount.isGreaterThan(0), iconCount.doesNotEqual(registrations.length)).areTruthy();
904
- return _this;
905
- }
906
- PopupMenuRendererComponent.prototype.ngOnInit = function () {
907
- };
908
- PopupMenuRendererComponent.prototype.getPopupMenuCommandFor = function (item) {
909
- var _this = this;
910
- var when = pectin.Dsl.disposeWith(this).when;
911
- when(item.command.busy).becomesFalsey(function () {
912
- _this.commandExecuted.emit();
913
- });
914
- return item.command;
915
- };
916
- PopupMenuRendererComponent.prototype.getButtonColor = function (registration) {
917
- return registration.faceAdapter.destructive ? 'warn' : undefined;
918
- };
919
- __decorate([
920
- core.Input(), pectin.TrackExternal(),
921
- __metadata("design:type", pectin.ListModel)
922
- ], PopupMenuRendererComponent.prototype, "commandRegistrations", void 0);
923
- __decorate([
924
- core.Input(),
925
- __metadata("design:type", String)
926
- ], PopupMenuRendererComponent.prototype, "xPosition", void 0);
927
- __decorate([
928
- core.Input(),
929
- __metadata("design:type", String)
930
- ], PopupMenuRendererComponent.prototype, "yPosition", void 0);
931
- __decorate([
932
- core.Output(),
933
- __metadata("design:type", Object)
934
- ], PopupMenuRendererComponent.prototype, "commandExecuted", void 0);
935
- __decorate([
936
- core.ViewChild(menu.MatMenu),
937
- __metadata("design:type", menu.MatMenu)
938
- ], PopupMenuRendererComponent.prototype, "matMenu", void 0);
939
- PopupMenuRendererComponent = __decorate([
940
- core.Component({
941
- selector: 'aup-popup-menu-renderer',
942
- template: "<mat-menu [xPosition]=\"xPosition\" [yPosition]=\"yPosition\" >\n <button *ngFor=\"let registration of commandRegistrations.value\"\n mat-menu-item\n [pectinCommand]=\"getPopupMenuCommandFor(registration)\"\n >\n <aup-command-face [face]=\"registration.faceAdapter.face\" [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n</mat-menu>\n",
943
- styles: [":host{display:inline-flex;flex-direction:row;align-items:center}"]
944
- }),
945
- __metadata("design:paramtypes", [])
946
- ], PopupMenuRendererComponent);
947
- return PopupMenuRendererComponent;
948
- }(DisposableComponent));
949
-
950
- /**
951
- *
952
- */
953
- var AbstractPopupMenuComponent = /** @class */ (function (_super) {
954
- __extends(AbstractPopupMenuComponent, _super);
955
- function AbstractPopupMenuComponent() {
956
- var _this = _super.call(this) || this;
957
- _this.xPosition = 'after';
958
- _this.yPosition = 'below';
959
- return _this;
960
- }
961
- Object.defineProperty(AbstractPopupMenuComponent.prototype, "matMenuComponent", {
962
- get: function () {
963
- var _a;
964
- return (_a = this.popupMenu) === null || _a === void 0 ? void 0 : _a.matMenu;
965
- },
966
- enumerable: true,
967
- configurable: true
968
- });
969
- AbstractPopupMenuComponent.prototype.closeMenu = function () {
970
- this.menuTrigger.closeMenu();
971
- };
972
- AbstractPopupMenuComponent.prototype.getButtonColor = function (registration) {
973
- return registration.faceAdapter.destructive ? 'warn' : undefined;
974
- };
975
- __decorate([
976
- core.Input(),
977
- __metadata("design:type", String)
978
- ], AbstractPopupMenuComponent.prototype, "xPosition", void 0);
979
- __decorate([
980
- core.Input(),
981
- __metadata("design:type", String)
982
- ], AbstractPopupMenuComponent.prototype, "yPosition", void 0);
983
- __decorate([
984
- core.ViewChild(PopupMenuRendererComponent),
985
- __metadata("design:type", PopupMenuRendererComponent)
986
- ], AbstractPopupMenuComponent.prototype, "popupMenu", void 0);
987
- __decorate([
988
- core.ViewChild(menu.MatMenuTrigger),
989
- __metadata("design:type", menu.MatMenuTrigger)
990
- ], AbstractPopupMenuComponent.prototype, "menuTrigger", void 0);
991
- AbstractPopupMenuComponent = __decorate([
992
- core.Component({
993
- selector: 'aup-abstract-popup-menu',
994
- template: ''
995
- }),
996
- __metadata("design:paramtypes", [])
997
- ], AbstractPopupMenuComponent);
998
- return AbstractPopupMenuComponent;
999
- }(CommandContainer));
1000
-
1001
- /**
1002
- *
1003
- */
1004
- var PopupMenuComponent = /** @class */ (function (_super) {
1005
- __extends(PopupMenuComponent, _super);
1006
- function PopupMenuComponent() {
1007
- var _this = _super.call(this) || this;
1008
- _this.faceModel = new pectin.MutableValueModel();
1009
- 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;
1010
- var faceAdapterModel = chain(_this.faceModel).map(function (face) { return new exports.CommandFace.Adapter(face); });
1011
- _this.faceTooltipModel = faceAdapterModel.pluck('tooltip');
1012
- return _this;
1013
- }
1014
- PopupMenuComponent_1 = PopupMenuComponent;
1015
- PopupMenuComponent.prototype.getTooltip = function () {
1016
- return this.faceTooltipModel.value;
1017
- };
1018
- PopupMenuComponent.prototype.ngOnInit = function () {
1019
- };
1020
- var PopupMenuComponent_1;
1021
- __decorate([
1022
- core.Input(), pectin.StoreInValueModel('faceModel'),
1023
- __metadata("design:type", Object)
1024
- ], PopupMenuComponent.prototype, "face", void 0);
1025
- PopupMenuComponent = PopupMenuComponent_1 = __decorate([
1026
- core.Component({
1027
- selector: 'aup-popup-menu',
1028
- template: "\n <!-- we can only render the button after th popup menu has initialised and rendered it's menu component -->\n <button *ngIf=\"matMenuComponent\" mat-icon-button [matMenuTriggerFor]=\"matMenuComponent\" [matTooltip]=\"getTooltip()\">\n <aup-command-face [face]=\"face\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer [commandRegistrations]=\"commandRegistrations\" [yPosition]=\"yPosition\"\n [xPosition]=\"xPosition\"\n (commandExecuted)=\"closeMenu()\"></aup-popup-menu-renderer>\n ",
1029
- providers: [{ provide: CommandContainer, useExisting: core.forwardRef(function () { return PopupMenuComponent_1; }) }]
1030
- }),
1031
- __metadata("design:paramtypes", [])
1032
- ], PopupMenuComponent);
1033
- return PopupMenuComponent;
1034
- }(AbstractPopupMenuComponent));
1035
-
1036
- /**
1037
- *
1038
- */
1039
- var MoreMenuComponent = /** @class */ (function (_super) {
1040
- __extends(MoreMenuComponent, _super);
1041
- function MoreMenuComponent() {
1042
- return _super.call(this) || this;
1043
- }
1044
- MoreMenuComponent_1 = MoreMenuComponent;
1045
- var MoreMenuComponent_1;
1046
- __decorate([
1047
- core.Input(),
1048
- __metadata("design:type", String)
1049
- ], MoreMenuComponent.prototype, "tooltip", void 0);
1050
- MoreMenuComponent = MoreMenuComponent_1 = __decorate([
1051
- core.Component({
1052
- selector: 'aup-more-menu',
1053
- template: "\n <!-- we can only render the button after th popup menu has initialised and rendered it's menu component -->\n <button *ngIf=\"matMenuComponent\" mat-icon-button [matMenuTriggerFor]=\"matMenuComponent\" [matTooltip]=\"tooltip\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <aup-popup-menu-renderer [commandRegistrations]=\"commandRegistrations\"\n [yPosition]=\"yPosition\" [xPosition]=\"xPosition\"\n (commandExecuted)=\"closeMenu()\"></aup-popup-menu-renderer>\n ",
1054
- providers: [{ provide: CommandContainer, useExisting: core.forwardRef(function () { return MoreMenuComponent_1; }) }]
1055
- }),
1056
- __metadata("design:paramtypes", [])
1057
- ], MoreMenuComponent);
1058
- return MoreMenuComponent;
1059
- }(AbstractPopupMenuComponent));
1060
-
1061
588
  var FocusContainerComponent = /** @class */ (function (_super) {
1062
589
  __extends(FocusContainerComponent, _super);
1063
590
  function FocusContainerComponent(focusManager) {
@@ -1166,7 +693,6 @@
1166
693
  __extends(AbstractInputComponent, _super);
1167
694
  function AbstractInputComponent() {
1168
695
  var _this = _super.call(this) || this;
1169
- _this.onValueEditedListeners = new pectin.EventListenerList();
1170
696
  _this.dense = false;
1171
697
  // TODO: fix this.
1172
698
  // tslint:disable-next-line:no-output-native
@@ -1217,7 +743,7 @@
1217
743
  };
1218
744
  Object.defineProperty(AbstractInputComponent.prototype, "enabled", {
1219
745
  get: function () {
1220
- return this.formValueModel.enabled;
746
+ return this.inputModel.enabled;
1221
747
  },
1222
748
  enumerable: true,
1223
749
  configurable: true
@@ -1227,7 +753,7 @@
1227
753
  };
1228
754
  Object.defineProperty(AbstractInputComponent.prototype, "errorList", {
1229
755
  get: function () {
1230
- return this.formValueModel.errorList;
756
+ return this.inputModel.errorList;
1231
757
  },
1232
758
  enumerable: true,
1233
759
  configurable: true
@@ -1241,7 +767,7 @@
1241
767
  });
1242
768
  Object.defineProperty(AbstractInputComponent.prototype, "focusContext", {
1243
769
  get: function () {
1244
- return this.formValueModel.focusContext;
770
+ return this.inputModel.focusContext;
1245
771
  },
1246
772
  enumerable: true,
1247
773
  configurable: true
@@ -1260,13 +786,6 @@
1260
786
  enumerable: true,
1261
787
  configurable: true
1262
788
  });
1263
- /**
1264
- * Invokes the callback when this components value is changed by a user edit.
1265
- * @param callback
1266
- */
1267
- AbstractInputComponent.prototype.onValueEdited = function (callback) {
1268
- return this.onValueEditedListeners.add(callback);
1269
- };
1270
789
  __decorate([
1271
790
  core.Input(),
1272
791
  __metadata("design:type", String)
@@ -1356,7 +875,7 @@
1356
875
  var AbstractListInputComponent = /** @class */ (function (_super) {
1357
876
  __extends(AbstractListInputComponent, _super);
1358
877
  function AbstractListInputComponent() {
1359
- var _this = _super.call(this) || this;
878
+ var _this = _super !== null && _super.apply(this, arguments) || this;
1360
879
  /**
1361
880
  * A backing model for all our @Input() valueModel properties which should be defined as follows.
1362
881
  *
@@ -1368,61 +887,11 @@
1368
887
  * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
1369
888
  */
1370
889
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
1371
- _this.formValueModel = _this.registerDisposable(new pectin.Form.DelegatingListModel());
1372
- _this.componentListModel = new pectin.MutableListModel();
1373
- _this.setValueIsInProgress = new pectin.Guard();
1374
- _this.valueChange = new core.EventEmitter();
1375
- var _a = pectin.Dsl.disposeWith(_this), when = _a.when, valueOf = _a.valueOf, chain = _a.chain;
1376
- var binding = new pectin.Binding.Identity(_this.formValueModel, _this.componentListModel).writeRight();
1377
- var inExternalChange = valueOf.any(_this.setValueIsInProgress, chain(binding.direction).equals(pectin.Binding.Direction.RIGHT)).areTruthy();
1378
- when(_this.componentListModel).changes(function (is, was) {
1379
- _this.valueChange.emit(is);
1380
- _this.onValueEditedListeners.fire(function (l) { return l(is, was); });
1381
- }, {
1382
- initialValue: 'ignore',
1383
- // we never fire events during an external changes to the value. This allows
1384
- // the component to behave when used in the conventional angular
1385
- // fashion, i.e. [(value)]="..."
1386
- unless: inExternalChange
1387
- });
1388
- pectin.DebugContext.tag(_this.formValueModel, _this.constructor.name + ".formValueModel");
890
+ _this.inputModel = _this.registerDisposable(new pectin.Form.DelegatingListModel());
1389
891
  return _this;
1390
892
  }
1391
- Object.defineProperty(AbstractListInputComponent.prototype, "value", {
1392
- // We add support for simple direct display of values by allowing components to be used
1393
- // by `component.value = ...` This use of the component without a value model in tables
1394
- // and the like.
1395
- set: function (value) {
1396
- var _this = this;
1397
- this.setValueIsInProgress.whileTrue(function () {
1398
- if (!_this.listHolder) {
1399
- _this.listHolder = new pectin.MutableListModel(value);
1400
- _this.listModel = _this.listHolder;
1401
- }
1402
- else {
1403
- _this.listHolder.value = value;
1404
- }
1405
- });
1406
- },
1407
- enumerable: true,
1408
- configurable: true
1409
- });
1410
- __decorate([
1411
- core.Input(), pectin.TrackExternal({ delegateTo: 'formValueModel' }),
1412
- __metadata("design:type", Object)
1413
- ], AbstractListInputComponent.prototype, "listModel", void 0);
1414
- __decorate([
1415
- core.Input(),
1416
- __metadata("design:type", Array),
1417
- __metadata("design:paramtypes", [Array])
1418
- ], AbstractListInputComponent.prototype, "value", null);
1419
- __decorate([
1420
- core.Output(),
1421
- __metadata("design:type", Object)
1422
- ], AbstractListInputComponent.prototype, "valueChange", void 0);
1423
893
  AbstractListInputComponent = __decorate([
1424
- core.Component({ template: '' }),
1425
- __metadata("design:paramtypes", [])
894
+ core.Component({ template: '' })
1426
895
  ], AbstractListInputComponent);
1427
896
  return AbstractListInputComponent;
1428
897
  }(AbstractInputComponent));
@@ -1442,58 +911,9 @@
1442
911
  * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
1443
912
  */
1444
913
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
1445
- _this.formValueModel = _this.registerDisposable(new pectin.Form.DelegatingValueModel());
1446
- _this.setValueInProgress = new pectin.Guard();
1447
- _this.componentValueModel = new pectin.MutableValueModel();
1448
- _this.valueChange = new core.EventEmitter();
1449
- var _a = pectin.Dsl.disposeWith(_this), when = _a.when, chain = _a.chain, valueOf = _a.valueOf;
1450
- var binding = new pectin.Binding.Identity(_this.formValueModel, _this.componentValueModel).writeRight();
1451
- var inExternalChange = valueOf.any(_this.setValueInProgress, chain(binding.direction).equals(pectin.Binding.Direction.RIGHT)).areTruthy();
1452
- when(_this.componentValueModel).changes(function (is, was) {
1453
- _this.valueChange.emit(is);
1454
- _this.onValueEditedListeners.fire(function (l) { return l(is, was); });
1455
- }, {
1456
- initialValue: 'ignore',
1457
- // we never fire events during an external set value operation. This allows
1458
- // the component to behave when used in the conventional angular
1459
- // fashion, i.e. [(value)]="..."
1460
- unless: inExternalChange
1461
- });
1462
- pectin.DebugContext.tag(_this.formValueModel, _this.constructor.name + ".formValueModel");
914
+ _this.inputModel = _this.registerDisposable(new pectin.Form.DelegatingValueModel());
1463
915
  return _this;
1464
916
  }
1465
- Object.defineProperty(AbstractValueInputComponent.prototype, "value", {
1466
- // We add support for simple direct display of values by allowing components to be used
1467
- // by `component.value = ...` This use of the component without a value model in tables
1468
- // and the like.
1469
- set: function (value) {
1470
- var _this = this;
1471
- this.setValueInProgress.whileTrue(function () {
1472
- if (!_this.plainValueHolder) {
1473
- _this.plainValueHolder = new pectin.MutableValueModel(value);
1474
- _this.valueModel = _this.plainValueHolder;
1475
- }
1476
- else {
1477
- _this.plainValueHolder.value = value;
1478
- }
1479
- });
1480
- },
1481
- enumerable: true,
1482
- configurable: true
1483
- });
1484
- __decorate([
1485
- core.Input(), pectin.TrackExternal({ delegateTo: 'formValueModel' }),
1486
- __metadata("design:type", Object)
1487
- ], AbstractValueInputComponent.prototype, "valueModel", void 0);
1488
- __decorate([
1489
- core.Input(),
1490
- __metadata("design:type", Object),
1491
- __metadata("design:paramtypes", [Object])
1492
- ], AbstractValueInputComponent.prototype, "value", null);
1493
- __decorate([
1494
- core.Output(),
1495
- __metadata("design:type", Object)
1496
- ], AbstractValueInputComponent.prototype, "valueChange", void 0);
1497
917
  AbstractValueInputComponent = __decorate([
1498
918
  core.Component({ template: '' }),
1499
919
  __metadata("design:paramtypes", [])
@@ -1501,85 +921,20 @@
1501
921
  return AbstractValueInputComponent;
1502
922
  }(AbstractInputComponent));
1503
923
 
1504
- /**
1505
- * Using templates (not only supported for nil values:
1506
- * <aup-autocomplete-input [valueModel]="myModel" [options]="myOptions">
1507
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1508
- * </aup-autocomplete-input>
1509
- */
1510
- var AutocompleteInputComponent = /** @class */ (function (_super) {
1511
- __extends(AutocompleteInputComponent, _super);
1512
- function AutocompleteInputComponent() {
1513
- var _this = _super.call(this) || this;
1514
- _this.filterValue = new pectin.MutableValueModel();
1515
- _this.optionLabelFormat = function (option) { return (option && _this.optionLabel) ? option[_this.optionLabel] : option; };
1516
- 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;
1517
- var lowerCaseFilterValue = chain(_this.filterValue)
1518
- .map(function (v) { return ___default__default.isString(v) ? v.toLowerCase() : ''; });
1519
- _this.filteredOptions = chain(_this.optionsModel)
1520
- .select(function (option) {
1521
- return ___default__default.isEmpty(_this.filterValue.value) || _this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
1522
- }, { dependsOn: lowerCaseFilterValue });
1523
- return _this;
1524
- }
1525
- AutocompleteInputComponent.prototype.ngOnInit = function () {
1526
- };
1527
- AutocompleteInputComponent.prototype.formatOption = function (option) {
1528
- return this.optionLabelFormat(option);
1529
- };
1530
- AutocompleteInputComponent.prototype.updateFilter = function ($event) {
1531
- this.filterValue.value = $event;
1532
- };
1533
- AutocompleteInputComponent.prototype.onSelect = function ($event) {
1534
- this.valueModel.value = $event.option.value;
1535
- };
1536
- __decorate([
1537
- core.Input(), pectin.TrackExternal(),
1538
- __metadata("design:type", pectin.ListModel)
1539
- ], AutocompleteInputComponent.prototype, "optionsModel", void 0);
1540
- __decorate([
1541
- core.Input(), pectin.StoreInListModel('optionsModel'),
1542
- __metadata("design:type", Array)
1543
- ], AutocompleteInputComponent.prototype, "options", void 0);
1544
- __decorate([
1545
- core.Input(),
1546
- __metadata("design:type", Object)
1547
- ], AutocompleteInputComponent.prototype, "optionLabel", void 0);
1548
- __decorate([
1549
- core.Input(),
1550
- __metadata("design:type", Boolean)
1551
- ], AutocompleteInputComponent.prototype, "allowNil", void 0);
1552
- __decorate([
1553
- core.ContentChild('nilOptionTemplate'),
1554
- __metadata("design:type", core.TemplateRef)
1555
- ], AutocompleteInputComponent.prototype, "nilOptionTemplateRef", void 0);
1556
- __decorate([
1557
- core.Input(),
1558
- __metadata("design:type", Function)
1559
- ], AutocompleteInputComponent.prototype, "optionLabelFormat", void 0);
1560
- AutocompleteInputComponent = __decorate([
1561
- core.Component({
1562
- selector: 'aup-autocomplete-input',
1563
- 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",
1564
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
1565
- }),
1566
- __metadata("design:paramtypes", [])
1567
- ], AutocompleteInputComponent);
1568
- return AutocompleteInputComponent;
1569
- }(AbstractValueInputComponent));
1570
-
1571
924
  var CheckboxInputComponent = /** @class */ (function (_super) {
1572
925
  __extends(CheckboxInputComponent, _super);
1573
926
  function CheckboxInputComponent() {
1574
927
  var _this = _super.call(this) || this;
1575
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1576
- // valueModel: Form.ValueModelBase<boolean> | IMutableValueModel<boolean>;
1577
928
  _this.color = 'accent';
1578
929
  _this.labelPosition = 'after';
1579
930
  return _this;
1580
931
  }
1581
932
  CheckboxInputComponent.prototype.ngOnInit = function () {
1582
933
  };
934
+ __decorate([
935
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
936
+ __metadata("design:type", Object)
937
+ ], CheckboxInputComponent.prototype, "valueModel", void 0);
1583
938
  __decorate([
1584
939
  core.Input(),
1585
940
  __metadata("design:type", String)
@@ -1591,7 +946,7 @@
1591
946
  CheckboxInputComponent = __decorate([
1592
947
  core.Component({
1593
948
  selector: 'aup-checkbox-input',
1594
- 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",
1595
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}"]
1596
951
  }),
1597
952
  __metadata("design:paramtypes", [])
@@ -1599,65 +954,20 @@
1599
954
  return CheckboxInputComponent;
1600
955
  }(AbstractValueInputComponent));
1601
956
 
1602
- /**
1603
- * Using templates:
1604
- * <aup-multiple-select-input [valueModel]="myModel" [options]="myOptions">
1605
- * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1606
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1607
- * </aup-multiple-select_input>
1608
- */
1609
- var MultipleSelectInputComponent = /** @class */ (function (_super) {
1610
- __extends(MultipleSelectInputComponent, _super);
1611
- function MultipleSelectInputComponent() {
1612
- var _this = _super.call(this) || this;
1613
- _this.optionLabelFormat = function (option) { return (option && _this.optionLabel) ? option[_this.optionLabel] : option; };
1614
- return _this;
1615
- }
1616
- MultipleSelectInputComponent.prototype.ngOnInit = function () {
1617
- };
1618
- __decorate([
1619
- core.Input(), pectin.TrackExternal(),
1620
- __metadata("design:type", pectin.ListModel)
1621
- ], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
1622
- __decorate([
1623
- core.Input(), pectin.StoreInListModel('optionsModel'),
1624
- __metadata("design:type", Array)
1625
- ], MultipleSelectInputComponent.prototype, "options", void 0);
1626
- __decorate([
1627
- core.Input(),
1628
- __metadata("design:type", Object)
1629
- ], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
1630
- __decorate([
1631
- core.ContentChild('optionTemplate'),
1632
- __metadata("design:type", core.TemplateRef)
1633
- ], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
1634
- __decorate([
1635
- core.Input(),
1636
- __metadata("design:type", Function)
1637
- ], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
1638
- MultipleSelectInputComponent = __decorate([
1639
- core.Component({
1640
- selector: 'aup-multiple-select-input',
1641
- 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",
1642
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
1643
- }),
1644
- __metadata("design:paramtypes", [])
1645
- ], MultipleSelectInputComponent);
1646
- return MultipleSelectInputComponent;
1647
- }(AbstractListInputComponent));
1648
-
1649
957
  var NumberInputComponent = /** @class */ (function (_super) {
1650
958
  __extends(NumberInputComponent, _super);
1651
959
  function NumberInputComponent() {
1652
960
  var _this = _super.call(this) || this;
1653
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1654
- // valueModel: Form.ValueModelBase<number> | IMutableValueModel<number>;
1655
961
  _this.min = Number.MIN_SAFE_INTEGER;
1656
962
  _this.max = Number.MAX_SAFE_INTEGER;
1657
963
  return _this;
1658
964
  }
1659
965
  NumberInputComponent.prototype.ngOnInit = function () {
1660
966
  };
967
+ __decorate([
968
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
969
+ __metadata("design:type", Object)
970
+ ], NumberInputComponent.prototype, "valueModel", void 0);
1661
971
  __decorate([
1662
972
  core.Input(),
1663
973
  __metadata("design:type", Object)
@@ -1669,7 +979,7 @@
1669
979
  NumberInputComponent = __decorate([
1670
980
  core.Component({
1671
981
  selector: 'aup-number-input',
1672
- 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",
1673
983
  styles: [""]
1674
984
  }),
1675
985
  __metadata("design:paramtypes", [])
@@ -1679,17 +989,19 @@
1679
989
 
1680
990
  var PasswordInputComponent = /** @class */ (function (_super) {
1681
991
  __extends(PasswordInputComponent, _super);
1682
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1683
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
1684
992
  function PasswordInputComponent() {
1685
993
  return _super.call(this) || this;
1686
994
  }
1687
995
  PasswordInputComponent.prototype.ngOnInit = function () {
1688
996
  };
997
+ __decorate([
998
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
999
+ __metadata("design:type", Object)
1000
+ ], PasswordInputComponent.prototype, "valueModel", void 0);
1689
1001
  PasswordInputComponent = __decorate([
1690
1002
  core.Component({
1691
1003
  selector: 'aup-password-input',
1692
- 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",
1693
1005
  styles: [""]
1694
1006
  }),
1695
1007
  __metadata("design:paramtypes", [])
@@ -1701,7 +1013,6 @@
1701
1013
  * Using templates:
1702
1014
  * <aup-select-input [valueModel]="myModel" [options]="myOptions">
1703
1015
  * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1704
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1705
1016
  * </aup-select_input>
1706
1017
  */
1707
1018
  var SelectInputComponent = /** @class */ (function (_super) {
@@ -1713,6 +1024,10 @@
1713
1024
  }
1714
1025
  SelectInputComponent.prototype.ngOnInit = function () {
1715
1026
  };
1027
+ __decorate([
1028
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1029
+ __metadata("design:type", Object)
1030
+ ], SelectInputComponent.prototype, "valueModel", void 0);
1716
1031
  __decorate([
1717
1032
  core.Input(), pectin.TrackExternal(),
1718
1033
  __metadata("design:type", pectin.ListModel)
@@ -1744,7 +1059,7 @@
1744
1059
  SelectInputComponent = __decorate([
1745
1060
  core.Component({
1746
1061
  selector: 'aup-select-input',
1747
- 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",
1748
1063
  styles: [":host{display:inline-block}mat-form-field{width:100%}"]
1749
1064
  }),
1750
1065
  __metadata("design:paramtypes", [])
@@ -1758,13 +1073,17 @@
1758
1073
  var _this = _super.call(this) || this;
1759
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;
1760
1075
  _this.clearCommand = pectin.Command.create(function () {
1761
- _this.componentValueModel.value = null;
1076
+ _this.valueModel.value = null;
1762
1077
  });
1763
- _this.clearCommand.disableWhile(chain.stringValue(_this.componentValueModel).isBlank());
1078
+ _this.clearCommand.disableWhile(chain.stringValue(_this.valueModel).isBlank());
1764
1079
  return _this;
1765
1080
  }
1766
1081
  StringInputComponent.prototype.ngOnInit = function () {
1767
1082
  };
1083
+ __decorate([
1084
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1085
+ __metadata("design:type", Object)
1086
+ ], StringInputComponent.prototype, "valueModel", void 0);
1768
1087
  __decorate([
1769
1088
  core.Input(), pectin.TrackExternal({ defaultValue: false }),
1770
1089
  __metadata("design:type", pectin.ValueModel)
@@ -1776,7 +1095,7 @@
1776
1095
  StringInputComponent = __decorate([
1777
1096
  core.Component({
1778
1097
  selector: 'aup-string-input',
1779
- 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",
1780
1099
  styles: ["button[disabled]{visibility:hidden}"]
1781
1100
  }),
1782
1101
  __metadata("design:paramtypes", [])
@@ -1788,14 +1107,16 @@
1788
1107
  __extends(TextInputComponent, _super);
1789
1108
  function TextInputComponent() {
1790
1109
  var _this = _super.call(this) || this;
1791
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1792
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
1793
1110
  _this.rows = 2;
1794
1111
  return _this;
1795
1112
  // const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1796
1113
  }
1797
1114
  TextInputComponent.prototype.ngOnInit = function () {
1798
1115
  };
1116
+ __decorate([
1117
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1118
+ __metadata("design:type", Object)
1119
+ ], TextInputComponent.prototype, "valueModel", void 0);
1799
1120
  __decorate([
1800
1121
  core.Input(),
1801
1122
  __metadata("design:type", Object)
@@ -1807,7 +1128,7 @@
1807
1128
  TextInputComponent = __decorate([
1808
1129
  core.Component({
1809
1130
  selector: 'aup-text-input',
1810
- 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",
1811
1132
  styles: ["button[disabled]{visibility:hidden}textarea{overflow:auto}"]
1812
1133
  }),
1813
1134
  __metadata("design:paramtypes", [])
@@ -1815,59 +1136,6 @@
1815
1136
  return TextInputComponent;
1816
1137
  }(AbstractValueInputComponent));
1817
1138
 
1818
- exports.ɵbk = /** @class */ (function () {
1819
- function IconComponent() {
1820
- this.allowedPrefixes = typescriptStringEnums.Enum.values(IconComponent_1.IconPrefix).map(function (p) { return p + ":"; });
1821
- this.iconPrefix = IconComponent_1.IconPrefix;
1822
- }
1823
- IconComponent_1 = IconComponent;
1824
- Object.defineProperty(IconComponent.prototype, "icon", {
1825
- get: function () {
1826
- return this._icon;
1827
- },
1828
- set: function (iconName) {
1829
- this._icon = iconName;
1830
- if (!iconName) {
1831
- this.errorMessage = 'icon is nil';
1832
- this.prefix = undefined;
1833
- return;
1834
- }
1835
- var colonIndex = iconName.indexOf(':');
1836
- if (colonIndex > 0) {
1837
- this.prefix = this.icon.slice(0, colonIndex);
1838
- this.suffix = this.icon.slice(colonIndex + 1);
1839
- }
1840
- if (this.prefix) {
1841
- this.errorMessage = "Unknown icon \"" + iconName + "\"";
1842
- }
1843
- this.errorMessage = "Unknown icon prefix, expected one of [" + this.allowedPrefixes.join(',') + "] got \"" + this.prefix + ":\"";
1844
- },
1845
- enumerable: true,
1846
- configurable: true
1847
- });
1848
- var IconComponent_1;
1849
- __decorate([
1850
- core.Input(),
1851
- __metadata("design:type", String),
1852
- __metadata("design:paramtypes", [String])
1853
- ], IconComponent.prototype, "icon", null);
1854
- IconComponent = IconComponent_1 = __decorate([
1855
- core.Component({
1856
- selector: 'aup-icon',
1857
- 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",
1858
- 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}"]
1859
- })
1860
- ], IconComponent);
1861
- return IconComponent;
1862
- }());
1863
- (function (IconComponent) {
1864
- IconComponent.IconPrefix = typescriptStringEnums.Enum({
1865
- SVG: 'svg',
1866
- FONT_AWESOME: 'fa',
1867
- MATERIAL: 'mat'
1868
- });
1869
- })(exports.ɵbk || (exports.ɵbk = {}));
1870
-
1871
1139
  var NoopComponent = /** @class */ (function () {
1872
1140
  function NoopComponent() {
1873
1141
  }
@@ -2078,7 +1346,6 @@
2078
1346
  typescriptUtilities.assert.isTruthy(host);
2079
1347
  host[HEADER_CELL_RENDERER_PORTAL] = new portal.ComponentPortal(this.componentType);
2080
1348
  };
2081
- // @Trace()
2082
1349
  CellHeaderPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
2083
1350
  this.initialiseHeader(portalComponent, host.column);
2084
1351
  };
@@ -2102,15 +1369,13 @@
2102
1369
  ComponentCellRendererPortalRef.prototype.initialiseHost = function (host, columnModel) {
2103
1370
  host[CELL_RENDERER_PORTAL] = new portal.ComponentPortal(this.componentType);
2104
1371
  };
2105
- // @Trace()
2106
1372
  ComponentCellRendererPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
2107
1373
  host[PORTAL_RENDERER_COMPONENT] = portalComponent;
2108
- this.updateComponent(portalComponent, host.getRowData(), true);
1374
+ this.updateComponent(portalComponent, host.getRowData());
2109
1375
  };
2110
- // @Trace()
2111
1376
  ComponentCellRendererPortalRef.prototype.pushState = function (host) {
2112
1377
  if (host[PORTAL_RENDERER_COMPONENT]) {
2113
- this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData(), false);
1378
+ this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData());
2114
1379
  }
2115
1380
  };
2116
1381
  return ComponentCellRendererPortalRef;
@@ -2152,7 +1417,6 @@
2152
1417
  TemplateCellRendererPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
2153
1418
  // don't care
2154
1419
  };
2155
- // @Trace()
2156
1420
  TemplateCellRendererPortalRef.prototype.pushState = function (host) {
2157
1421
  host[CELL_RENDERER_PORTAL] = this.createPortal(host.getRowData());
2158
1422
  host.fillCell = this.fillCell;
@@ -2344,7 +1608,6 @@
2344
1608
  var noop = function () {
2345
1609
  };
2346
1610
  var ɵ0 = noop;
2347
- var CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol("aup-cell-renderer:row-data-cache");
2348
1611
  var ColumnModel = /** @class */ (function () {
2349
1612
  function ColumnModel(columnId, defaults) {
2350
1613
  this.columnId = columnId;
@@ -2435,66 +1698,24 @@
2435
1698
  }());
2436
1699
  var PropertyColumnModel = /** @class */ (function (_super) {
2437
1700
  __extends(PropertyColumnModel, _super);
2438
- function PropertyColumnModel(id, property, defaults) {
2439
- var _this = _super.call(this, id, defaults) || this;
1701
+ function PropertyColumnModel(property, defaults) {
1702
+ var _this = _super.call(this, property.toString(), defaults) || this;
2440
1703
  _this.property = property;
2441
1704
  _this._format = function (value) { return value; };
2442
1705
  _this.cellRenderer(DefaultCellRendererComponent);
2443
1706
  return _this;
2444
1707
  }
2445
- PropertyColumnModel.prototype.cellRenderer = function (componentType, onComponentInitOrOptions) {
1708
+ PropertyColumnModel.prototype.cellRenderer = function (componentType) {
2446
1709
  var _this = this;
2447
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
2448
- if (firstTime) {
2449
- if (___default__default.isFunction(onComponentInitOrOptions)) {
2450
- onComponentInitOrOptions(component);
2451
- }
2452
- else {
2453
- if (___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2454
- onComponentInitOrOptions.onComponentInit(component);
2455
- }
2456
- }
2457
- }
1710
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData) {
2458
1711
  component.value = _this._format(rowData.row[_this.property]);
2459
- if (!___default__default.isFunction(onComponentInitOrOptions) && ___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
2460
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
2461
- }
2462
- }));
2463
- return this;
2464
- };
2465
- PropertyColumnModel.prototype.mutableCellRenderer = function (componentType, options) {
2466
- var _this = this;
2467
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
2468
- // keep a local copy most recent row value so it's available to teh
2469
- // edit callback without having to add/remove subscribers all the time.
2470
- component[CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
2471
- var disableEditCallback = false;
2472
- if (firstTime) {
2473
- if (___default__default.isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
2474
- options.onComponentInit(component);
2475
- }
2476
- // install our edit callback
2477
- component.onValueEdited(function (is, was) {
2478
- if (!disableEditCallback) {
2479
- options.onValueEdit(component[CELL_RENDERER_COMPONENT_ROW_CACHE], is, was);
2480
- }
2481
- });
2482
- }
2483
- // now push the value the component and disable the callback just incase the component misbehaves
2484
- // and fires a value change during the operation.
2485
- disableEditCallback = true;
2486
- component.value = rowData.row[_this.property];
2487
- disableEditCallback = false;
2488
- if (!___default__default.isFunction(options) && ___default__default.isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
2489
- options.onRowUpdate(component, rowData.row);
2490
- }
2491
1712
  }));
2492
1713
  return this;
2493
1714
  };
2494
- PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, onComponentInit) {
1715
+ PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, initialiseComponent) {
2495
1716
  var _this = this;
2496
1717
  var validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
2497
- var initialiser = ___default__default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
1718
+ var initialiser = ___default__default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
2498
1719
  this.configureCellEditor(new CellEditorPortalRef(editor, function (component, editSession) {
2499
1720
  var formValueModel = editSession.form.pluck(_this.property);
2500
1721
  if (validators) {
@@ -2519,8 +1740,8 @@
2519
1740
  }(ColumnModel));
2520
1741
  var ListPropertyColumnModel = /** @class */ (function (_super) {
2521
1742
  __extends(ListPropertyColumnModel, _super);
2522
- function ListPropertyColumnModel(id, property, defaults) {
2523
- var _this = _super.call(this, id, defaults) || this;
1743
+ function ListPropertyColumnModel(property, defaults) {
1744
+ var _this = _super.call(this, property.toString(), defaults) || this;
2524
1745
  _this.property = property;
2525
1746
  _this._format = function (value) { return value.map(function (v) { return v === null || v === void 0 ? void 0 : v.toString(); }).join(', '); };
2526
1747
  _this.cellRenderer(DefaultCellRendererComponent);
@@ -2567,23 +1788,10 @@
2567
1788
  _this.cellRenderer(DefaultCellRendererComponent);
2568
1789
  return _this;
2569
1790
  }
2570
- CustomValueColumnModel.prototype.cellRenderer = function (componentType, onComponentInitOrOptions) {
1791
+ CustomValueColumnModel.prototype.cellRenderer = function (componentType) {
2571
1792
  var _this = this;
2572
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
2573
- if (firstTime) {
2574
- if (___default__default.isFunction(onComponentInitOrOptions)) {
2575
- onComponentInitOrOptions(component);
2576
- }
2577
- else {
2578
- if (___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2579
- onComponentInitOrOptions.onComponentInit(component);
2580
- }
2581
- }
2582
- }
1793
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData) {
2583
1794
  component.value = _this.getValue(rowData.row);
2584
- if (!___default__default.isFunction(onComponentInitOrOptions) && ___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
2585
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
2586
- }
2587
1795
  }));
2588
1796
  return this;
2589
1797
  };
@@ -2756,9 +1964,6 @@
2756
1964
  this._editorSessions = new pectin.MutableListModel();
2757
1965
  this.rowClassNamePredicates = [];
2758
1966
  this._createForm = function (row) { return new pectin.DirtyTrackingForm(); };
2759
- this.trackBy = function (index, item) {
2760
- return _this.identityOf ? _this.identityOf(item) : index;
2761
- };
2762
1967
  this.identityOf = sourceOfTruth.identityOf;
2763
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;
2764
1969
  this._columnsById = chain(this._columns).indexBy('columnId');
@@ -2770,7 +1975,7 @@
2770
1975
  this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);
2771
1976
  this.firstEditableColumn = chain(this.columns).select(function (c) { return c.hasEditorPortal(); }).first();
2772
1977
  this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(function (column) { return column.isRowSelectionExplicitlyEnabled(); }).isGreaterThanOrEqualTo(0);
2773
- this.addRowClass('enable-hover', function () { return _this.isRowSelectionEnabled(); });
1978
+ this.addRowClass("enable-hover", function () { return _this.isRowSelectionEnabled(); });
2774
1979
  }
2775
1980
  TableModel_1 = TableModel;
2776
1981
  TableModel.fromList = function (sourceOfTruth, builder) {
@@ -2785,6 +1990,12 @@
2785
1990
  enumerable: true,
2786
1991
  configurable: true
2787
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
+ };
2788
1999
  Object.defineProperty(TableModel.prototype, "columns", {
2789
2000
  get: function () {
2790
2001
  return this._columns.readonly;
@@ -2792,11 +2003,11 @@
2792
2003
  enumerable: true,
2793
2004
  configurable: true
2794
2005
  });
2795
- TableModel.prototype.pluck = function (property, options) {
2796
- 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));
2797
2008
  };
2798
- TableModel.prototype.pluckList = function (property, options) {
2799
- 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));
2800
2011
  };
2801
2012
  TableModel.prototype.addSelectionColumn = function (selectionModel) {
2802
2013
  pectin.assert.isNil(this.selectionColumnModel);
@@ -2810,9 +2021,6 @@
2810
2021
  TableModel.prototype.addCustomColumn = function (columnId, dataAccessor) {
2811
2022
  return this.addColumn(new CustomValueColumnModel(columnId, this, dataAccessor));
2812
2023
  };
2813
- TableModel.prototype.addComponentColumn = function (columnId, component, onComponentInitOrOptions) {
2814
- return this.addColumn(new CustomValueColumnModel(columnId, this, function (row) { return row; })).cellRenderer(component, onComponentInitOrOptions);
2815
- };
2816
2024
  TableModel.prototype.addTemplateColumn = function (columnId) {
2817
2025
  return this.addColumn(new CustomTemplateColumnModel(columnId, this));
2818
2026
  };
@@ -2964,7 +2172,7 @@
2964
2172
  TableComponent = __decorate([
2965
2173
  core.Component({
2966
2174
  selector: 'aup-table',
2967
- 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",
2968
2176
  styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}"]
2969
2177
  }),
2970
2178
  __metadata("design:paramtypes", [])
@@ -3123,88 +2331,29 @@
3123
2331
  };
3124
2332
  // @Trace()
3125
2333
  TableHeaderCellRendererComponent.prototype.initialiseHeader = function (instance) {
3126
- this.column.onHeaderAttached(this, instance);
3127
- };
3128
- TableHeaderCellRendererComponent.prototype.getPortal = function () {
3129
- return this[HEADER_CELL_RENDERER_PORTAL];
3130
- };
3131
- __decorate([
3132
- core.Input(),
3133
- __metadata("design:type", ColumnModel)
3134
- ], TableHeaderCellRendererComponent.prototype, "column", void 0);
3135
- __decorate([
3136
- core.HostBinding('class'),
3137
- __metadata("design:type", Object)
3138
- ], TableHeaderCellRendererComponent.prototype, "defaultClassNames", void 0);
3139
- TableHeaderCellRendererComponent = __decorate([
3140
- core.Component({
3141
- selector: 'aup-table-header-cell-renderer',
3142
- template: "<ng-container [cdkPortalOutlet]=\"getPortal()\" (attached)=\"initialiseHeader($event.instance)\"></ng-container>\n",
3143
- styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}"]
3144
- }),
3145
- __metadata("design:paramtypes", [])
3146
- ], TableHeaderCellRendererComponent);
3147
- return TableHeaderCellRendererComponent;
3148
- }());
3149
-
3150
- var MenuItemData = /** @class */ (function (_super) {
3151
- __extends(MenuItemData, _super);
3152
- function MenuItemData(factory, face) {
3153
- var _this = _super.call(this, face) || this;
3154
- _this.factory = factory;
3155
- return _this;
3156
- }
3157
- return MenuItemData;
3158
- }(exports.CommandFace.Adapter));
3159
- /**
3160
- *
3161
- */
3162
- var TableRowMenuComponent = /** @class */ (function (_super) {
3163
- __extends(TableRowMenuComponent, _super);
3164
- function TableRowMenuComponent() {
3165
- var _this = _super.call(this) || this;
3166
- _this.actions = [];
3167
- _this.moreActions = [];
3168
- return _this;
3169
- }
3170
- TableRowMenuComponent.prototype.registerAction = function (commandFactory, properties) {
3171
- this.actions.push(new MenuItemData(commandFactory, properties));
3172
- };
3173
- TableRowMenuComponent.prototype.registerMoreAction = function (commandFactory, properties) {
3174
- this.moreActions.push(new MenuItemData(commandFactory, properties));
3175
- };
3176
- TableRowMenuComponent.prototype.ngOnInit = function () {
3177
- };
3178
- TableRowMenuComponent.prototype.createMoreMenuCommand = function (item, value) {
3179
- var _this = this;
3180
- var when = pectin.Dsl.disposeWith(this).when;
3181
- var command = item.factory.create(value);
3182
- when(command.busy).becomesFalsey(function () {
3183
- _this.closeMoreMenu();
3184
- });
3185
- return command;
2334
+ this.column.onHeaderAttached(this, instance);
3186
2335
  };
3187
- TableRowMenuComponent.prototype.closeMoreMenu = function () {
3188
- this.menu.closeMenu();
2336
+ TableHeaderCellRendererComponent.prototype.getPortal = function () {
2337
+ return this[HEADER_CELL_RENDERER_PORTAL];
3189
2338
  };
3190
2339
  __decorate([
3191
2340
  core.Input(),
3192
- __metadata("design:type", Object)
3193
- ], TableRowMenuComponent.prototype, "value", void 0);
2341
+ __metadata("design:type", ColumnModel)
2342
+ ], TableHeaderCellRendererComponent.prototype, "column", void 0);
3194
2343
  __decorate([
3195
- core.ViewChild(menu.MatMenuTrigger),
3196
- __metadata("design:type", menu.MatMenuTrigger)
3197
- ], TableRowMenuComponent.prototype, "menu", void 0);
3198
- TableRowMenuComponent = __decorate([
2344
+ core.HostBinding('class'),
2345
+ __metadata("design:type", Object)
2346
+ ], TableHeaderCellRendererComponent.prototype, "defaultClassNames", void 0);
2347
+ TableHeaderCellRendererComponent = __decorate([
3199
2348
  core.Component({
3200
- selector: 'aup-table-row-menu',
3201
- template: "\n <button mat-icon-button *ngFor=\"let action of actions\" [pectinCommand]=\"action.factory.create(value)\">\n <aup-icon [icon]=\"action.icon\"></aup-icon>\n </button>\n <ng-container *ngIf=\"moreActions.length > 0\">\n <button #trigger mat-icon-button [matMenuTriggerFor]=\"menu\">\n <aup-icon icon=\"mat:more_vert\"></aup-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\" matTooltip=\"More options...\">\n <button *ngFor=\"let action of moreActions\"\n mat-menu-item\n [pectinCommand]=\"createMoreMenuCommand(action, value)\"\n >\n <aup-icon *ngIf=\"action.icon && action.iconPositionStart\" [icon]=\"action.icon\"></aup-icon>\n {{action.text}}\n <aup-icon *ngIf=\"action.icon && action.iconPositionEnd\" [icon]=\"action.icon\"></aup-icon>\n </button>\n </mat-menu>\n </ng-container>\n ",
3202
- styles: [":host {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n }"]
2349
+ selector: 'aup-table-header-cell-renderer',
2350
+ template: "<ng-container [cdkPortalOutlet]=\"getPortal()\" (attached)=\"initialiseHeader($event.instance)\"></ng-container>\n",
2351
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}"]
3203
2352
  }),
3204
2353
  __metadata("design:paramtypes", [])
3205
- ], TableRowMenuComponent);
3206
- return TableRowMenuComponent;
3207
- }(DisposableComponent));
2354
+ ], TableHeaderCellRendererComponent);
2355
+ return TableHeaderCellRendererComponent;
2356
+ }());
3208
2357
 
3209
2358
  var VerticalFocusContainerComponent = /** @class */ (function (_super) {
3210
2359
  __extends(VerticalFocusContainerComponent, _super);
@@ -3291,6 +2440,100 @@
3291
2440
  return VerticalFocusContainerComponent;
3292
2441
  }(FocusContainerComponent));
3293
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
+
3294
2537
  var ComponentsModule = /** @class */ (function () {
3295
2538
  function ComponentsModule(faIconLibrary) {
3296
2539
  faIconLibrary.addIconPacks(freeSolidSvgIcons.fas);
@@ -3309,8 +2552,6 @@
3309
2552
  TextInputComponent,
3310
2553
  PasswordInputComponent,
3311
2554
  SelectInputComponent,
3312
- MultipleSelectInputComponent,
3313
- AutocompleteInputComponent,
3314
2555
  CheckboxInputComponent,
3315
2556
  ScrollContainerComponent,
3316
2557
  NoopComponent,
@@ -3330,16 +2571,9 @@
3330
2571
  SelectHeaderCellRendererComponent,
3331
2572
  DefaultHeaderCellRendererComponent,
3332
2573
  TableHeaderCellRendererComponent,
3333
- exports.ɵbk,
3334
- SectionHeaderComponent,
3335
- TableRowMenuComponent,
3336
- CommandBarComponent,
3337
- CommandComponent,
3338
- PopupMenuComponent,
3339
- CommandFaceComponent,
3340
- AbstractPopupMenuComponent,
3341
- PopupMenuRendererComponent,
3342
- MoreMenuComponent
2574
+ MultipleSelectInputComponent,
2575
+ IconComponent,
2576
+ SectionHeaderComponent
3343
2577
  ],
3344
2578
  imports: [
3345
2579
  common.CommonModule,
@@ -3357,10 +2591,7 @@
3357
2591
  portal.PortalModule,
3358
2592
  scrolling.CdkScrollableModule,
3359
2593
  angularFontawesome.FontAwesomeModule,
3360
- tooltip.MatTooltipModule,
3361
- autocomplete.MatAutocompleteModule,
3362
- menu._MatMenuDirectivesModule,
3363
- menu.MatMenuModule
2594
+ tooltip.MatTooltipModule
3364
2595
  ],
3365
2596
  exports: [
3366
2597
  NumberInputComponent,
@@ -3369,8 +2600,6 @@
3369
2600
  PasswordInputComponent,
3370
2601
  CheckboxInputComponent,
3371
2602
  SelectInputComponent,
3372
- MultipleSelectInputComponent,
3373
- AutocompleteInputComponent,
3374
2603
  ScrollContainerComponent,
3375
2604
  NoopComponent,
3376
2605
  SwitchCaseComponent,
@@ -3383,31 +2612,12 @@
3383
2612
  TableComponent,
3384
2613
  EditRowControls,
3385
2614
  ColumnTemplateDirective,
3386
- exports.ɵbk,
3387
- SectionHeaderComponent,
3388
- TableRowMenuComponent,
3389
- CommandBarComponent,
3390
- CommandComponent,
3391
- AbstractPopupMenuComponent,
3392
- PopupMenuComponent,
3393
- CommandFaceComponent,
3394
- PopupMenuRendererComponent,
3395
- MoreMenuComponent
2615
+ MultipleSelectInputComponent,
2616
+ IconComponent,
2617
+ SectionHeaderComponent
3396
2618
  ],
3397
2619
  providers: [
3398
- FocusBindingFactory
3399
- // {
3400
- // provide: CELL_EDITOR_REGISTRATION, useValue: {
3401
- // type: 'string',
3402
- // editorClass: StringInputComponent
3403
- // }, multi: true
3404
- // },
3405
- // {
3406
- // provide: CELL_EDITOR_REGISTRATION, useValue: {
3407
- // type: 'number',
3408
- // editorClass: NumberInputComponent
3409
- // }, multi: true
3410
- // }
2620
+ FocusBindingFactory,
3411
2621
  ]
3412
2622
  }),
3413
2623
  __metadata("design:paramtypes", [angularFontawesome.FaIconLibrary])
@@ -3846,7 +3056,6 @@
3846
3056
  ActivityContainerComponent.prototype.registerDisposable = function (disposable) {
3847
3057
  return this.garbage.registerDisposable(disposable);
3848
3058
  };
3849
- // @Trace()
3850
3059
  ActivityContainerComponent.prototype.dispose = function () {
3851
3060
  // TODO: think about auto cancelling any outstanding activity on dispose.
3852
3061
  // See NavigationState.Navigating for a use-case.
@@ -3995,6 +3204,12 @@
3995
3204
  core.ViewChildren(ActivityOutletComponent),
3996
3205
  __metadata("design:type", core.QueryList)
3997
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);
3998
3213
  ActivityContainerComponent = __decorate([
3999
3214
  core.Component({
4000
3215
  selector: 'aup-activity-container',
@@ -4043,7 +3258,7 @@
4043
3258
  }());
4044
3259
 
4045
3260
  var inplaceMonitorCount = 0;
4046
- exports.ɵcf = /** @class */ (function () {
3261
+ exports.ɵbv = /** @class */ (function () {
4047
3262
  function InteractionService(modelInteractionContextFactory) {
4048
3263
  this.modelInteractionContextFactory = modelInteractionContextFactory;
4049
3264
  this.garbage = new pectin.GarbageCollector();
@@ -4188,7 +3403,7 @@
4188
3403
  return ApiAdapter;
4189
3404
  }());
4190
3405
  InteractionService.ApiAdapter = ApiAdapter;
4191
- })(exports.ɵcf || (exports.ɵcf = {}));
3406
+ })(exports.ɵbv || (exports.ɵbv = {}));
4192
3407
 
4193
3408
  var InPlaceInteractionContextComponent = /** @class */ (function (_super) {
4194
3409
  __extends(InPlaceInteractionContextComponent, _super);
@@ -4246,7 +3461,7 @@
4246
3461
  return this.activityContainerComponent.startActivity(activityType, data, options);
4247
3462
  };
4248
3463
  InPlaceInteractionContextComponent.ctorParameters = function () { return [
4249
- { type: exports.ɵcf },
3464
+ { type: exports.ɵbv },
4250
3465
  { type: undefined, decorators: [{ type: core.Inject, args: [tabs.MAT_TABS_CONFIG,] }, { type: core.Optional }] }
4251
3466
  ]; };
4252
3467
  __decorate([
@@ -4264,7 +3479,7 @@
4264
3479
  styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
4265
3480
  }),
4266
3481
  __param(1, core.Inject(tabs.MAT_TABS_CONFIG)), __param(1, core.Optional()),
4267
- __metadata("design:paramtypes", [exports.ɵcf, Object])
3482
+ __metadata("design:paramtypes", [exports.ɵbv, Object])
4268
3483
  ], InPlaceInteractionContextComponent);
4269
3484
  return InPlaceInteractionContextComponent;
4270
3485
  }(DisposableComponent));
@@ -4803,7 +4018,7 @@
4803
4018
  AlertDialogComponent
4804
4019
  ],
4805
4020
  providers: [
4806
- exports.ɵcf
4021
+ exports.ɵbv
4807
4022
  // {
4808
4023
  // provide: MAT_TABS_CONFIG, useValue: { animationDuration: "2s" }
4809
4024
  // }
@@ -5078,7 +4293,7 @@
5078
4293
  pectin.assert.isNil(this.visitModel.value);
5079
4294
  var when = pectin.Dsl.disposeWith(this).when;
5080
4295
  this.visitModel.value = visit;
5081
- pectin.DebugContext.getOrCreate(this.visitModel).tag(this.placeDefinition.component.name + ".visitModel");
4296
+ pectin.DebugContext.get(this.visitModel).tag(this.placeDefinition.component.name + ".visitModel");
5082
4297
  this.placeDefinition.getVisitParameterDefs().forEach(function (parameterDef) { return _this.installBinding(parameterDef); });
5083
4298
  when.valueOf(this.visitModel).changes(function (current, previous) {
5084
4299
  notifyVisitChanged(current, previous);
@@ -5925,7 +5140,7 @@
5925
5140
  return PopStateNavigation;
5926
5141
  }(AbstractPopStateNavigation));
5927
5142
 
5928
- exports.ɵci = /** @class */ (function () {
5143
+ exports.ɵby = /** @class */ (function () {
5929
5144
  function PlaceHistory() {
5930
5145
  this._archive = new Map();
5931
5146
  this.placeHistoryDepth = 4;
@@ -6062,7 +5277,7 @@
6062
5277
  // }
6063
5278
  //
6064
5279
  // }
6065
- })(exports.ɵci || (exports.ɵci = {}));
5280
+ })(exports.ɵby || (exports.ɵby = {}));
6066
5281
 
6067
5282
  exports.UrlSnapshot = /** @class */ (function () {
6068
5283
  // TODO: Update this accept a url Parser so it can be immutable and generate new trees on mutation using toString() are parseUrl.
@@ -6226,6 +5441,75 @@
6226
5441
  return UrlService;
6227
5442
  }());
6228
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
+
6229
5513
  var PlaceRouter = /** @class */ (function (_super) {
6230
5514
  __extends(PlaceRouter, _super);
6231
5515
  function PlaceRouter(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
@@ -6421,7 +5705,6 @@
6421
5705
  enumerable: true,
6422
5706
  configurable: true
6423
5707
  });
6424
- // @Trace()
6425
5708
  PlaceRouter.prototype.pushVisitChangesToRoute = function (previous, next) {
6426
5709
  return __awaiter(this, void 0, void 0, function () {
6427
5710
  var _this = this;
@@ -6517,93 +5800,30 @@
6517
5800
  PlaceRouter.ctorParameters = function () { return [
6518
5801
  { type: router.Router },
6519
5802
  { type: common.Location },
6520
- { type: exports.ɵcf },
5803
+ { type: exports.ɵbv },
6521
5804
  { type: UrlService },
6522
- { type: exports.ɵci }
5805
+ { type: exports.ɵby }
6523
5806
  ]; };
6524
- PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵcf), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵci)); }, 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);
6525
5814
  PlaceRouter = __decorate([
6526
5815
  core.Injectable({
6527
5816
  providedIn: 'root'
6528
5817
  }),
6529
5818
  __metadata("design:paramtypes", [router.Router,
6530
5819
  common.Location,
6531
- exports.ɵcf,
5820
+ exports.ɵbv,
6532
5821
  UrlService,
6533
- exports.ɵci])
5822
+ exports.ɵby])
6534
5823
  ], PlaceRouter);
6535
5824
  return PlaceRouter;
6536
5825
  }(pectin.GarbageCollector));
6537
5826
 
6538
- var Visit = /** @class */ (function () {
6539
- function Visit(placeDefinition, visitParameters) {
6540
- if (visitParameters === void 0) { visitParameters = {}; }
6541
- this.placeDefinition = placeDefinition;
6542
- this.visitParameters = visitParameters;
6543
- }
6544
- // @Trace()
6545
- Visit.prototype.getRouteId = function () {
6546
- return this.placeDefinition.getRouteIdFrom(this);
6547
- };
6548
- // @Trace()
6549
- Visit.prototype.hasRouteId = function () {
6550
- return !___default.isNil(this.getRouteId());
6551
- };
6552
- /**
6553
- * Returns the value of the place parameter with the specified name. The parameter
6554
- * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
6555
- * same as the the ValueModel property name.
6556
- * @param parameterName the field name of the property model or the `as` option if specified.
6557
- */
6558
- Visit.prototype.getParameter = function (parameterName) {
6559
- return this.visitParameters[parameterName];
6560
- };
6561
- // @Trace()
6562
- Visit.prototype.hasParameter = function (parameterName) {
6563
- return Object.keys(this.visitParameters).includes(parameterName);
6564
- };
6565
- Visit.prototype.replace = function (parameter, value) {
6566
- var _a;
6567
- return new Visit(this.placeDefinition, __assign(__assign({}, this.visitParameters), (_a = {}, _a[parameter.name] = value, _a)));
6568
- };
6569
- Visit.prototype.mergeRouteParameters = function (routeParams) {
6570
- var _this = this;
6571
- // todo: whitelist parameters.
6572
- var routeParameterKeys = Object.keys(routeParams);
6573
- var params = {};
6574
- this.placeDefinition.getVisitParameterDefs().forEach(function (def) {
6575
- if (def.isRouteId || def.isRouteParameter) {
6576
- if (routeParameterKeys.includes(def.name)) {
6577
- params[def.name] = routeParams[def.name];
6578
- }
6579
- }
6580
- else {
6581
- // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
6582
- // defaults and remember sanitisation process.
6583
- var value = _this.getParameter(def.name);
6584
- if (_this.hasParameter(def.name)) {
6585
- params[def.name] = value;
6586
- }
6587
- }
6588
- });
6589
- return new Visit(this.placeDefinition, params);
6590
- };
6591
- Visit.prototype.hasRoutingChangedFrom = function (other) {
6592
- var samePlace = other.placeDefinition === this.placeDefinition;
6593
- var sameRouteParameters = ___default.isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
6594
- return !samePlace || !sameRouteParameters;
6595
- };
6596
- Visit.prototype.hasChangedFrom = function (other) {
6597
- var sameNonRouteParameters = ___default.isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
6598
- return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
6599
- };
6600
- Visit.prototype.toDebugString = function () {
6601
- var _this = this;
6602
- return Object.keys(this.visitParameters).map(function (k) { return k + "=" + _this.visitParameters[k]; }).join(",");
6603
- };
6604
- return Visit;
6605
- }());
6606
-
6607
5827
  var AUP_PLACE_CONFIG = new core.InjectionToken('AUP_PLACE_CONFIG');
6608
5828
 
6609
5829
  // Freezes the state of the components at the start of the animation.
@@ -7618,7 +6838,8 @@
7618
6838
  binding: null
7619
6839
  };
7620
6840
  var tag = tagPrefix + "(" + prototype.constructor.name + "." + propertyKey.toString() + ")";
7621
- pectin.DebugContext.getOrCreate(mechanics.backingModel).tag(tag);
6841
+ pectin.DebugContext.get(mechanics.backingModel).tag(tag);
6842
+ pectin.Logger.get(mechanics.backingModel).tag(tag);
7622
6843
  Object.defineProperty(prototype, propertyKey, {
7623
6844
  get: function () {
7624
6845
  return mechanics.backingModel;
@@ -7680,7 +6901,6 @@
7680
6901
  exports.AbstractListInputComponent = AbstractListInputComponent;
7681
6902
  exports.AbstractPlaceNavigationComponent = AbstractPlaceNavigationComponent;
7682
6903
  exports.AbstractPopStateNavigation = AbstractPopStateNavigation;
7683
- exports.AbstractPopupMenuComponent = AbstractPopupMenuComponent;
7684
6904
  exports.AbstractValueInputComponent = AbstractValueInputComponent;
7685
6905
  exports.Activity = Activity;
7686
6906
  exports.ActivityActionsComponent = ActivityActionsComponent;
@@ -7690,7 +6910,6 @@
7690
6910
  exports.AddItemInteractionContextComponent = AddItemInteractionContextComponent;
7691
6911
  exports.AlertDialogComponent = AlertDialogComponent;
7692
6912
  exports.AngularUiPowerupsModule = AngularUiPowerupsModule;
7693
- exports.AutocompleteInputComponent = AutocompleteInputComponent;
7694
6913
  exports.BusyOverlayComponent = BusyOverlayComponent;
7695
6914
  exports.CELL_EDITOR_PORTAL = CELL_EDITOR_PORTAL;
7696
6915
  exports.CELL_RENDERER_PORTAL = CELL_RENDERER_PORTAL;
@@ -7702,11 +6921,7 @@
7702
6921
  exports.CheckboxInputComponent = CheckboxInputComponent;
7703
6922
  exports.ColumnModel = ColumnModel;
7704
6923
  exports.ColumnTemplateDirective = ColumnTemplateDirective;
7705
- exports.CommandBarComponent = CommandBarComponent;
7706
- exports.CommandComponent = CommandComponent;
7707
- exports.CommandContainer = CommandContainer;
7708
6924
  exports.CommandDirective = CommandDirective;
7709
- exports.CommandFaceComponent = CommandFaceComponent;
7710
6925
  exports.ComponentCellRendererPortalRef = ComponentCellRendererPortalRef;
7711
6926
  exports.ComponentsModule = ComponentsModule;
7712
6927
  exports.ConfirmThenDialogComponent = ConfirmThenDialogComponent;
@@ -7734,17 +6949,16 @@
7734
6949
  exports.FocusContainerComponent = FocusContainerComponent;
7735
6950
  exports.FocusableComponent = FocusableComponent;
7736
6951
  exports.HEADER_CELL_RENDERER_PORTAL = HEADER_CELL_RENDERER_PORTAL;
7737
- exports.IconComponent = exports.ɵbk;
6952
+ exports.IconComponent = IconComponent;
7738
6953
  exports.InPlaceInteractionContextComponent = InPlaceInteractionContextComponent;
7739
6954
  exports.InteractionContextTriggerFor = InteractionContextTriggerFor;
7740
6955
  exports.InteractionModule = InteractionModule;
7741
- exports.InteractionService = exports.ɵcf;
6956
+ exports.InteractionService = exports.ɵbv;
7742
6957
  exports.InteractionServiceRoutingAdapter = InteractionServiceRoutingAdapter;
7743
6958
  exports.LEFT_RIGHT_PLACE_ANIMATION = LEFT_RIGHT_PLACE_ANIMATION;
7744
6959
  exports.ListPlaceNavComponent = ListPlaceNavComponent;
7745
6960
  exports.ListPropertyColumnModel = ListPropertyColumnModel;
7746
6961
  exports.ModalInteractionContextFactory = ModalInteractionContextFactory;
7747
- exports.MoreMenuComponent = MoreMenuComponent;
7748
6962
  exports.MultipleSelectInputComponent = MultipleSelectInputComponent;
7749
6963
  exports.Navigating = Navigating;
7750
6964
  exports.NavigatingDuringInteraction = NavigatingDuringInteraction;
@@ -7759,7 +6973,7 @@
7759
6973
  exports.PlaceComponentDeactivationHandler = PlaceComponentDeactivationHandler;
7760
6974
  exports.PlaceDefinition = PlaceDefinition;
7761
6975
  exports.PlaceGuard = PlaceGuard;
7762
- exports.PlaceHistory = exports.ɵci;
6976
+ exports.PlaceHistory = exports.ɵby;
7763
6977
  exports.PlaceModule = PlaceModule;
7764
6978
  exports.PlaceOutletComponent = PlaceOutletComponent;
7765
6979
  exports.PlaceRouter = PlaceRouter;
@@ -7767,8 +6981,6 @@
7767
6981
  exports.PopStateDuringInteractionNavigation = PopStateDuringInteractionNavigation;
7768
6982
  exports.PopStateNavigation = PopStateNavigation;
7769
6983
  exports.PopupInteractionContextComponent = PopupInteractionContextComponent;
7770
- exports.PopupMenuComponent = PopupMenuComponent;
7771
- exports.PopupMenuRendererComponent = PopupMenuRendererComponent;
7772
6984
  exports.PropertyColumnModel = PropertyColumnModel;
7773
6985
  exports.ROUTE_PARAMETER_LIST_KEY = ROUTE_PARAMETER_LIST_KEY;
7774
6986
  exports.RemoveLastInteractionFromUrlNavigationSession = RemoveLastInteractionFromUrlNavigationSession;
@@ -7794,7 +7006,6 @@
7794
7006
  exports.TableComponent = TableComponent;
7795
7007
  exports.TableHeaderCellRendererComponent = TableHeaderCellRendererComponent;
7796
7008
  exports.TableModel = TableModel;
7797
- exports.TableRowMenuComponent = TableRowMenuComponent;
7798
7009
  exports.TemplateCellRendererPortalRef = TemplateCellRendererPortalRef;
7799
7010
  exports.TextInputComponent = TextInputComponent;
7800
7011
  exports.UrlService = UrlService;
@@ -7812,60 +7023,51 @@
7812
7023
  exports.ɵ0 = ɵ0;
7813
7024
  exports.ɵa = DirectivesModule;
7814
7025
  exports.ɵb = CommandDirective;
7815
- exports.ɵba = CardContainerComponent;
7816
- exports.ɵbb = TableComponent;
7817
- exports.ɵbc = EditRowControls;
7818
- exports.ɵbd = ColumnTemplateDirective;
7819
- exports.ɵbe = DefaultCellRendererComponent;
7820
- exports.ɵbf = TableCellRendererComponent;
7821
- exports.ɵbg = SelectCellRendererComponent;
7822
- exports.ɵbh = SelectHeaderCellRendererComponent;
7823
- exports.ɵbi = DefaultHeaderCellRendererComponent;
7824
- exports.ɵbj = TableHeaderCellRendererComponent;
7825
- exports.ɵbl = SectionHeaderComponent;
7826
- exports.ɵbm = TableRowMenuComponent;
7827
- exports.ɵbn = CommandBarComponent;
7828
- exports.ɵbo = CommandContainer;
7829
- exports.ɵbp = CommandComponent;
7830
- exports.ɵbq = PopupMenuComponent;
7831
- exports.ɵbr = AbstractPopupMenuComponent;
7832
- exports.ɵbs = PopupMenuRendererComponent;
7833
- exports.ɵbt = CommandFaceComponent;
7834
- exports.ɵbu = MoreMenuComponent;
7835
- exports.ɵbv = PlaceModule;
7836
- exports.ɵbw = ComponentsModule;
7837
- exports.ɵbx = EmptyStateComponent;
7838
- exports.ɵby = BusyOverlayComponent;
7839
- exports.ɵbz = PlaceOutletComponent;
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;
7840
7049
  exports.ɵc = FocusBindingDirective;
7841
- exports.ɵca = leftRightPlaceAnimation;
7842
- exports.ɵcb = LEFT_RIGHT_PLACE_ANIMATION;
7843
- exports.ɵcc = AUP_PLACE_CONFIG;
7844
- exports.ɵce = PlaceRouter;
7845
- exports.ɵcg = ModalInteractionContextFactory;
7846
- exports.ɵch = UrlService;
7847
- exports.ɵcj = TabbedPlaceNavigationComponent;
7848
- exports.ɵck = AbstractPlaceNavigationComponent;
7849
- exports.ɵcl = ListPlaceNavComponent;
7850
- exports.ɵcm = SidePlaceNavigationComponent;
7851
- exports.ɵcn = InteractionModule;
7852
- exports.ɵco = ActivityContainerComponent;
7853
- exports.ɵcp = AbstractInteractionContext;
7854
- exports.ɵcq = ActivityOutletComponent;
7855
- exports.ɵcr = ConfirmationDialogComponent;
7856
- exports.ɵcs = ACTIVITY_DATA;
7857
- exports.ɵct = Activity;
7858
- exports.ɵcv = ConfirmThenDialogComponent;
7859
- exports.ɵcw = AlertDialogComponent;
7860
- exports.ɵcy = InPlaceInteractionContextComponent;
7861
- exports.ɵcz = AddItemInteractionContextComponent;
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;
7862
7070
  exports.ɵd = DisposableComponent;
7863
- exports.ɵda = ActivityActionsComponent;
7864
- exports.ɵdb = PopupInteractionContextComponent;
7865
- exports.ɵdc = StringInputActivity;
7866
- exports.ɵdd = AbstractInputActivity;
7867
- exports.ɵde = SelectInputActivity;
7868
- exports.ɵdf = InteractionContextTriggerFor;
7869
7071
  exports.ɵe = FocusBindingFactory;
7870
7072
  exports.ɵf = ComponentsModule;
7871
7073
  exports.ɵg = AbstractInputComponent;
@@ -7876,18 +7078,18 @@
7876
7078
  exports.ɵl = TextInputComponent;
7877
7079
  exports.ɵm = PasswordInputComponent;
7878
7080
  exports.ɵn = SelectInputComponent;
7879
- exports.ɵo = MultipleSelectInputComponent;
7880
- exports.ɵp = AutocompleteInputComponent;
7881
- exports.ɵq = CheckboxInputComponent;
7882
- exports.ɵr = ScrollContainerComponent;
7883
- exports.ɵs = NoopComponent;
7884
- exports.ɵt = SwitchCaseOption;
7885
- exports.ɵu = SwitchCaseWhenDirective;
7886
- exports.ɵv = SwitchCaseDefaultDirective;
7887
- exports.ɵw = SwitchCaseComponent;
7888
- exports.ɵx = FocusContainerComponent;
7889
- exports.ɵy = VerticalFocusContainerComponent;
7890
- 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;
7891
7093
 
7892
7094
  Object.defineProperty(exports, '__esModule', { value: true });
7893
7095