@coolon/angular-ui-powerups 12.4.0-alpha.5 → 12.4.0-alpha.50

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 (342) hide show
  1. package/assets/activities/activities.scss +77 -0
  2. package/assets/activities/input-activities.scss +36 -0
  3. package/assets/cards.scss +17 -0
  4. package/assets/empty-state.scss +11 -0
  5. package/assets/form.scss +5 -2
  6. package/assets/forms/mixins.scss +6 -0
  7. package/assets/interaction/editor/inline-string-editor.scss +100 -0
  8. package/assets/interaction.scss +10 -7
  9. package/assets/mixins.scss +5 -7
  10. package/assets/styles.scss +8 -15
  11. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +735 -320
  12. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  13. package/bundles/coolon-angular-ui-powerups.umd.js +854 -144
  14. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  15. package/coolon-angular-ui-powerups.metadata.json +1 -1
  16. package/cypress/component-builder.d.ts +71 -0
  17. package/cypress/components/aup-abstract-activity.d.ts +31 -0
  18. package/cypress/components/aup-abstract-table.d.ts +18 -0
  19. package/cypress/components/aup-activity.d.ts +9 -0
  20. package/cypress/components/aup-alert-dialog.d.ts +27 -0
  21. package/cypress/components/aup-alert.d.ts +9 -0
  22. package/cypress/components/aup-command-face.d.ts +2 -8
  23. package/cypress/components/aup-command.d.ts +2 -1
  24. package/cypress/components/aup-confirm-dialog.d.ts +27 -0
  25. package/cypress/components/aup-confirm.d.ts +11 -0
  26. package/cypress/components/aup-empty-state.d.ts +4 -0
  27. package/cypress/components/aup-input.d.ts +11 -5
  28. package/cypress/components/aup-modal-activity.d.ts +24 -0
  29. package/cypress/components/aup-modal-mixin.d.ts +23 -0
  30. package/cypress/components/aup-table.d.ts +5 -18
  31. package/cypress/components/aup-tree-table.d.ts +16 -0
  32. package/cypress/components/button.d.ts +11 -7
  33. package/cypress/components/form-element-mixin.d.ts +22 -0
  34. package/cypress/components/mat-checkbox.d.ts +31 -0
  35. package/cypress/components/popup/aup-abstract-popup-menu.d.ts +15 -0
  36. package/cypress/components/popup/aup-more-menu.d.ts +5 -0
  37. package/cypress/components/popup/aup-popup-menu-panel.d.ts +3 -0
  38. package/cypress/components/popup/aup-popup-menu.d.ts +7 -0
  39. package/cypress/components/table/aup-table-cell.d.ts +9 -0
  40. package/cypress/components/table/aup-table-column.d.ts +10 -0
  41. package/cypress/components/table/aup-table-row.d.ts +17 -0
  42. package/cypress/components/table/aup-table-selection-cell.d.ts +5 -0
  43. package/cypress/components/table/aup-table-selection-column.d.ts +5 -0
  44. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  45. package/cypress/element-locator.d.ts +8 -0
  46. package/cypress/exports.d.ts +25 -4
  47. package/cypress/package.json +1 -1
  48. package/cypress/page-builder.d.ts +9 -0
  49. package/cypress/page-element.d.ts +12 -12
  50. package/cypress/page.d.ts +8 -33
  51. package/esm2015/cypress/component-builder.js +92 -0
  52. package/esm2015/cypress/component-builder.js.map +1 -0
  53. package/esm2015/cypress/component-builder.metadata.json +1 -0
  54. package/esm2015/cypress/components/aup-abstract-activity.js +12 -0
  55. package/esm2015/cypress/components/aup-abstract-activity.js.map +1 -0
  56. package/esm2015/cypress/components/aup-abstract-activity.metadata.json +1 -0
  57. package/esm2015/cypress/components/aup-abstract-table.js +50 -0
  58. package/esm2015/cypress/components/aup-abstract-table.js.map +1 -0
  59. package/esm2015/cypress/components/aup-abstract-table.metadata.json +1 -0
  60. package/esm2015/cypress/components/aup-activity.js +13 -0
  61. package/esm2015/cypress/components/aup-activity.js.map +1 -0
  62. package/esm2015/cypress/components/aup-activity.metadata.json +1 -0
  63. package/esm2015/cypress/components/aup-alert-dialog.js +8 -0
  64. package/esm2015/cypress/components/aup-alert-dialog.js.map +1 -0
  65. package/esm2015/cypress/components/aup-alert-dialog.metadata.json +1 -0
  66. package/esm2015/cypress/components/aup-alert.js +13 -0
  67. package/esm2015/cypress/components/aup-alert.js.map +1 -0
  68. package/esm2015/cypress/components/aup-alert.metadata.json +1 -0
  69. package/esm2015/cypress/components/aup-command-face.js +11 -22
  70. package/esm2015/cypress/components/aup-command-face.js.map +1 -1
  71. package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
  72. package/esm2015/cypress/components/aup-command.js +12 -6
  73. package/esm2015/cypress/components/aup-command.js.map +1 -1
  74. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  75. package/esm2015/cypress/components/aup-confirm-dialog.js +8 -0
  76. package/esm2015/cypress/components/aup-confirm-dialog.js.map +1 -0
  77. package/esm2015/cypress/components/aup-confirm-dialog.metadata.json +1 -0
  78. package/esm2015/cypress/components/aup-confirm.js +19 -0
  79. package/esm2015/cypress/components/aup-confirm.js.map +1 -0
  80. package/esm2015/cypress/components/aup-confirm.metadata.json +1 -0
  81. package/esm2015/cypress/components/aup-empty-state.js +7 -0
  82. package/esm2015/cypress/components/aup-empty-state.js.map +1 -0
  83. package/esm2015/cypress/components/aup-empty-state.metadata.json +1 -0
  84. package/esm2015/cypress/components/aup-input.js +17 -5
  85. package/esm2015/cypress/components/aup-input.js.map +1 -1
  86. package/esm2015/cypress/components/aup-input.metadata.json +1 -1
  87. package/esm2015/cypress/components/aup-modal-activity.js +5 -0
  88. package/esm2015/cypress/components/aup-modal-activity.js.map +1 -0
  89. package/esm2015/cypress/components/aup-modal-activity.metadata.json +1 -0
  90. package/esm2015/cypress/components/aup-modal-mixin.js +18 -0
  91. package/esm2015/cypress/components/aup-modal-mixin.js.map +1 -0
  92. package/esm2015/cypress/components/aup-modal-mixin.metadata.json +1 -0
  93. package/esm2015/cypress/components/aup-navigation.js +1 -1
  94. package/esm2015/cypress/components/aup-navigation.js.map +1 -1
  95. package/esm2015/cypress/components/aup-table.js +5 -33
  96. package/esm2015/cypress/components/aup-table.js.map +1 -1
  97. package/esm2015/cypress/components/aup-table.metadata.json +1 -1
  98. package/esm2015/cypress/components/aup-tree-table.js +34 -0
  99. package/esm2015/cypress/components/aup-tree-table.js.map +1 -0
  100. package/esm2015/cypress/components/aup-tree-table.metadata.json +1 -0
  101. package/esm2015/cypress/components/button.js +4 -10
  102. package/esm2015/cypress/components/button.js.map +1 -1
  103. package/esm2015/cypress/components/button.metadata.json +1 -1
  104. package/esm2015/cypress/components/form-element-mixin.js +11 -0
  105. package/esm2015/cypress/components/form-element-mixin.js.map +1 -0
  106. package/esm2015/cypress/components/form-element-mixin.metadata.json +1 -0
  107. package/esm2015/cypress/components/mat-checkbox.js +34 -0
  108. package/esm2015/cypress/components/mat-checkbox.js.map +1 -0
  109. package/esm2015/cypress/components/mat-checkbox.metadata.json +1 -0
  110. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js +33 -0
  111. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js.map +1 -0
  112. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.metadata.json +1 -0
  113. package/esm2015/cypress/components/popup/aup-more-menu.js +8 -0
  114. package/esm2015/cypress/components/popup/aup-more-menu.js.map +1 -0
  115. package/esm2015/cypress/components/popup/aup-more-menu.metadata.json +1 -0
  116. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js +4 -0
  117. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js.map +1 -0
  118. package/esm2015/cypress/components/popup/aup-popup-menu-panel.metadata.json +1 -0
  119. package/esm2015/cypress/components/popup/aup-popup-menu.js +12 -0
  120. package/esm2015/cypress/components/popup/aup-popup-menu.js.map +1 -0
  121. package/esm2015/cypress/components/popup/aup-popup-menu.metadata.json +1 -0
  122. package/esm2015/cypress/components/table/aup-table-cell.js +14 -0
  123. package/esm2015/cypress/components/table/aup-table-cell.js.map +1 -0
  124. package/esm2015/cypress/components/table/aup-table-cell.metadata.json +1 -0
  125. package/esm2015/cypress/components/table/aup-table-column.js +19 -0
  126. package/esm2015/cypress/components/table/aup-table-column.js.map +1 -0
  127. package/esm2015/cypress/components/table/aup-table-column.metadata.json +1 -0
  128. package/esm2015/cypress/components/table/aup-table-row.js +28 -0
  129. package/esm2015/cypress/components/table/aup-table-row.js.map +1 -0
  130. package/esm2015/cypress/components/table/aup-table-row.metadata.json +1 -0
  131. package/esm2015/cypress/components/table/aup-table-selection-cell.js +6 -0
  132. package/esm2015/cypress/components/table/aup-table-selection-cell.js.map +1 -0
  133. package/esm2015/cypress/components/table/aup-table-selection-cell.metadata.json +1 -0
  134. package/esm2015/cypress/components/table/aup-table-selection-column.js +6 -0
  135. package/esm2015/cypress/components/table/aup-table-selection-column.js.map +1 -0
  136. package/esm2015/cypress/components/table/aup-table-selection-column.metadata.json +1 -0
  137. package/esm2015/cypress/element-locator.js +16 -0
  138. package/esm2015/cypress/element-locator.js.map +1 -0
  139. package/esm2015/cypress/element-locator.metadata.json +1 -0
  140. package/esm2015/cypress/exports.js +25 -4
  141. package/esm2015/cypress/exports.js.map +1 -1
  142. package/esm2015/cypress/exports.metadata.json +1 -1
  143. package/esm2015/cypress/page-builder.js +16 -0
  144. package/esm2015/cypress/page-builder.js.map +1 -0
  145. package/esm2015/cypress/page-builder.metadata.json +1 -0
  146. package/esm2015/cypress/page-element.js +26 -19
  147. package/esm2015/cypress/page-element.js.map +1 -1
  148. package/esm2015/cypress/page-element.metadata.json +1 -1
  149. package/esm2015/cypress/page.js +31 -19
  150. package/esm2015/cypress/page.js.map +1 -1
  151. package/esm2015/cypress/page.metadata.json +1 -1
  152. package/esm2015/cypress/path.js +3 -1
  153. package/esm2015/cypress/path.js.map +1 -1
  154. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  155. package/esm2015/lib/components/cards/abstract-card-container.component.js +29 -0
  156. package/esm2015/lib/components/cards/abstract-card-container.component.js.map +1 -0
  157. package/esm2015/lib/components/cards/abstract-card-container.component.metadata.json +1 -0
  158. package/esm2015/lib/components/cards/abstract-card-container.component.ngfactory.js.map +1 -0
  159. package/esm2015/lib/components/cards/card-container/card-container.component.js +123 -0
  160. package/esm2015/lib/components/cards/card-container/card-container.component.js.map +1 -0
  161. package/esm2015/lib/components/cards/card-container/card-container.component.metadata.json +1 -0
  162. package/esm2015/lib/components/cards/card-container/card-container.component.ngfactory.js.map +1 -0
  163. package/esm2015/lib/components/cards/card-container/card-container.component.scss.shim.ngstyle.js.map +1 -0
  164. package/esm2015/lib/components/cards/card-stack/card-stack.component.js +78 -0
  165. package/esm2015/lib/components/cards/card-stack/card-stack.component.js.map +1 -0
  166. package/esm2015/lib/components/cards/card-stack/card-stack.component.metadata.json +1 -0
  167. package/esm2015/lib/components/cards/card-stack/card-stack.component.ngfactory.js.map +1 -0
  168. package/esm2015/lib/components/cards/card-stack/card-stack.component.scss.shim.ngstyle.js.map +1 -0
  169. package/esm2015/lib/components/components.module.js +37 -24
  170. package/esm2015/lib/components/components.module.js.map +1 -1
  171. package/esm2015/lib/components/components.module.metadata.json +1 -1
  172. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  173. package/esm2015/lib/components/empty-state/empty-state.component.js +1 -1
  174. package/esm2015/lib/components/empty-state/empty-state.component.metadata.json +1 -1
  175. package/esm2015/lib/components/exports.js +5 -1
  176. package/esm2015/lib/components/exports.js.map +1 -1
  177. package/esm2015/lib/components/exports.metadata.json +1 -1
  178. package/esm2015/lib/components/forms/abstract-input.component.js +1 -0
  179. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  180. package/esm2015/lib/components/labelled-value/labelled-value.component.js +22 -0
  181. package/esm2015/lib/components/labelled-value/labelled-value.component.js.map +1 -0
  182. package/esm2015/lib/components/labelled-value/labelled-value.component.metadata.json +1 -0
  183. package/esm2015/lib/components/labelled-value/labelled-value.component.ngfactory.js.map +1 -0
  184. package/esm2015/lib/components/{card-container/card-container.component.scss.shim.ngstyle.js.map → labelled-value/labelled-value.component.scss.shim.ngstyle.js.map} +1 -1
  185. package/esm2015/lib/components/loading-container/loading-container.component.js +45 -0
  186. package/esm2015/lib/components/loading-container/loading-container.component.js.map +1 -0
  187. package/esm2015/lib/components/loading-container/loading-container.component.metadata.json +1 -0
  188. package/esm2015/lib/components/loading-container/loading-container.component.ngfactory.js.map +1 -0
  189. package/esm2015/lib/components/loading-container/loading-container.component.scss.shim.ngstyle.js.map +1 -0
  190. package/esm2015/lib/components/section-header/section-header.component.js +12 -5
  191. package/esm2015/lib/components/section-header/section-header.component.js.map +1 -1
  192. package/esm2015/lib/components/section-header/section-header.component.metadata.json +1 -1
  193. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js +4 -4
  194. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js.map +1 -1
  195. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.metadata.json +1 -1
  196. package/esm2015/lib/components/tables/tree-table/tree-table-model.js +1 -0
  197. package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -1
  198. package/esm2015/lib/components/tables/tree-table/tree-table-model.metadata.json +1 -1
  199. package/esm2015/lib/components/track-by.js +12 -0
  200. package/esm2015/lib/components/track-by.js.map +1 -1
  201. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +17 -11
  202. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js.map +1 -1
  203. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
  204. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +1 -1
  205. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  206. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  207. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js +4 -0
  208. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js.map +1 -1
  209. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.metadata.json +1 -1
  210. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +4 -1
  211. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js.map +1 -1
  212. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.metadata.json +1 -1
  213. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +4 -1
  214. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js.map +1 -1
  215. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.metadata.json +1 -1
  216. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +4 -1
  217. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js.map +1 -1
  218. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.metadata.json +1 -1
  219. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +77 -0
  220. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js.map +1 -0
  221. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.metadata.json +1 -0
  222. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.ngfactory.js.map +1 -0
  223. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.scss.shim.ngstyle.js.map +1 -0
  224. package/esm2015/lib/interaction/components/editors/edit-context.js +2 -0
  225. package/esm2015/lib/interaction/components/editors/edit-context.js.map +1 -0
  226. package/esm2015/lib/interaction/components/editors/edit-context.metadata.json +1 -0
  227. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js +50 -0
  228. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js.map +1 -0
  229. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.metadata.json +1 -0
  230. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +161 -0
  231. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js.map +1 -0
  232. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.metadata.json +1 -0
  233. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.ngfactory.js.map +1 -0
  234. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +6 -2
  235. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  236. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -1
  237. package/esm2015/lib/interaction/components/input-activities/input-activity.js +95 -0
  238. package/esm2015/lib/interaction/components/input-activities/input-activity.js.map +1 -0
  239. package/esm2015/lib/interaction/components/input-activities/input-activity.metadata.json +1 -0
  240. package/esm2015/lib/interaction/components/input-activities/input-activity.ngfactory.js.map +1 -0
  241. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js +5 -3
  242. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js.map +1 -1
  243. package/esm2015/lib/interaction/components/input-activities/select-input-activity.metadata.json +1 -1
  244. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js +6 -4
  245. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js.map +1 -1
  246. package/esm2015/lib/interaction/components/input-activities/string-input-activity.metadata.json +1 -1
  247. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js +1 -0
  248. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js.map +1 -1
  249. package/esm2015/lib/interaction/exports.js +5 -3
  250. package/esm2015/lib/interaction/exports.js.map +1 -1
  251. package/esm2015/lib/interaction/exports.metadata.json +1 -1
  252. package/esm2015/lib/interaction/interaction.module.js +19 -5
  253. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  254. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  255. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  256. package/esm2015/lib/place/guards/consolidated-param-map.js +2 -1
  257. package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -1
  258. package/esm2015/lib/place/guards/consolidated-param-map.metadata.json +1 -1
  259. package/esm2015/lib/place/guards/place.guard.js +2 -1
  260. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  261. package/esm2015/lib/place/place-component.js +31 -4
  262. package/esm2015/lib/place/place-component.js.map +1 -1
  263. package/esm2015/lib/place/place-component.metadata.json +1 -1
  264. package/esm2015/lib/place/place-router.js +10 -13
  265. package/esm2015/lib/place/place-router.js.map +1 -1
  266. package/esm2015/lib/place/place-router.metadata.json +1 -1
  267. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  268. package/esm2015/lib/place/url-snapshot.js +1 -7
  269. package/esm2015/lib/place/url-snapshot.js.map +1 -1
  270. package/esm2015/lib/place/url-snapshot.metadata.json +1 -1
  271. package/esm2015/lib/place/visit.js +5 -1
  272. package/esm2015/lib/place/visit.js.map +1 -1
  273. package/esm2015/lib/place/visit.metadata.json +1 -1
  274. package/fesm2015/coolon-angular-ui-powerups-cypress.js +550 -237
  275. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  276. package/fesm2015/coolon-angular-ui-powerups.js +715 -107
  277. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  278. package/lib/components/cards/abstract-card-container.component.d.ts +11 -0
  279. package/lib/components/{card-container → cards/card-container}/card-container.component.d.ts +30 -9
  280. package/lib/components/cards/card-stack/card-stack.component.d.ts +65 -0
  281. package/lib/components/exports.d.ts +5 -1
  282. package/lib/components/labelled-value/labelled-value.component.d.ts +7 -0
  283. package/lib/components/loading-container/loading-container.component.d.ts +11 -0
  284. package/lib/components/section-header/section-header.component.d.ts +5 -2
  285. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +0 -1
  286. package/lib/components/tables/tree-table/tree-table-model.d.ts +4 -5
  287. package/lib/components/track-by.d.ts +9 -0
  288. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +14 -3
  289. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +1 -1
  290. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +2 -1
  291. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +2 -1
  292. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +2 -1
  293. package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +39 -0
  294. package/lib/interaction/components/editors/edit-context.d.ts +3 -0
  295. package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +24 -0
  296. package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +57 -0
  297. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +1 -0
  298. package/lib/interaction/components/input-activities/input-activity.d.ts +41 -0
  299. package/lib/interaction/components/input-activities/select-input-activity.d.ts +11 -3
  300. package/lib/interaction/components/input-activities/string-input-activity.d.ts +6 -2
  301. package/lib/interaction/exports.d.ts +5 -3
  302. package/lib/place/place-component.d.ts +6 -1
  303. package/lib/place/place-router.d.ts +2 -2
  304. package/package.json +1 -1
  305. package/schematics/activity/templates/component/__name@dasherize__.component.html.template +1 -1
  306. package/schematics/activity/templates/component/__name@dasherize__.component.ts.template +5 -3
  307. package/schematics/place-routes/place-class-scanner.js +3 -1
  308. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  309. package/assets/activities.scss +0 -70
  310. package/cypress/components/aup-more-menu.d.ts +0 -4
  311. package/cypress/components/aup-popup-menu.d.ts +0 -7
  312. package/cypress/components/button-mixin.d.ts +0 -19
  313. package/cypress/section.d.ts +0 -52
  314. package/esm2015/cypress/components/aup-more-menu.js +0 -7
  315. package/esm2015/cypress/components/aup-more-menu.js.map +0 -1
  316. package/esm2015/cypress/components/aup-more-menu.metadata.json +0 -1
  317. package/esm2015/cypress/components/aup-popup-menu.js +0 -19
  318. package/esm2015/cypress/components/aup-popup-menu.js.map +0 -1
  319. package/esm2015/cypress/components/aup-popup-menu.metadata.json +0 -1
  320. package/esm2015/cypress/components/button-mixin.js +0 -15
  321. package/esm2015/cypress/components/button-mixin.js.map +0 -1
  322. package/esm2015/cypress/components/button-mixin.metadata.json +0 -1
  323. package/esm2015/cypress/section.js +0 -72
  324. package/esm2015/cypress/section.js.map +0 -1
  325. package/esm2015/cypress/section.metadata.json +0 -1
  326. package/esm2015/lib/components/card-container/card-container.component.js +0 -84
  327. package/esm2015/lib/components/card-container/card-container.component.js.map +0 -1
  328. package/esm2015/lib/components/card-container/card-container.component.metadata.json +0 -1
  329. package/esm2015/lib/components/card-container/card-container.component.ngfactory.js.map +0 -1
  330. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js +0 -43
  331. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js.map +0 -1
  332. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.metadata.json +0 -1
  333. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.ngfactory.js.map +0 -1
  334. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js +0 -2
  335. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js.map +0 -1
  336. package/esm2015/lib/interaction/components/input-activities/input-activity-data.metadata.json +0 -1
  337. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js +0 -2
  338. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js.map +0 -1
  339. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.metadata.json +0 -1
  340. package/lib/interaction/components/input-activities/abstract-input-activity.d.ts +0 -12
  341. package/lib/interaction/components/input-activities/input-activity-data.d.ts +0 -11
  342. package/lib/interaction/components/input-activities/select-input-activity-data.d.ts +0 -8
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/divider'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/material/table'), require('@angular/material/tooltip'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@coolon/pectin'), require('@angular/platform-browser'), require('lodash'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('typescript-string-enums'), require('@coolon/typescript-utilities'), require('resize-observer-polyfill'), require('immer'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('wake-event')) :
3
- typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@angular/material/divider', '@angular/material/icon', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/material/table', '@angular/material/tooltip', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@coolon/pectin', '@angular/platform-browser', 'lodash', '@typescript-plus/fast-memoize-decorator/dist/src', 'typescript-string-enums', '@coolon/typescript-utilities', 'resize-observer-polyfill', 'immer', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'wake-event'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.checkbox, global.ng.material.divider, global.ng.material.icon, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.material.table, global.ng.material.tooltip, global.angularFontawesome, global.freeSolidSvgIcons, global.pectin, global.ng.platformBrowser, global._, global.src, global.typescriptStringEnums, global.typescriptUtilities, global.ResizeObserver, global.produce, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations, global.wakeEvent));
5
- }(this, (function (exports, i2, i0, forms, formField, input, select, tabs, animations, portal, scrolling, autocomplete, button, checkbox, divider, icon, menu, progressSpinner, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, platformBrowser, _, src, typescriptStringEnums, typescriptUtilities, ResizeObserver, produce, flexLayout, i1, i1$1, overlay, list, fastMemoizeDecorator, reflectMetadata, animations$1, wakeEvent) { '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/autocomplete'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/divider'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/progress-bar'), require('@angular/material/progress-spinner'), require('@angular/material/table'), require('@angular/material/tooltip'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@coolon/pectin'), require('@angular/platform-browser'), require('lodash'), require('@coolon/typescript-utilities'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('typescript-string-enums'), require('resize-observer-polyfill'), require('immer'), require('@angular/cdk/a11y'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('wake-event')) :
3
+ typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@angular/material/divider', '@angular/material/icon', '@angular/material/menu', '@angular/material/progress-bar', '@angular/material/progress-spinner', '@angular/material/table', '@angular/material/tooltip', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@coolon/pectin', '@angular/platform-browser', 'lodash', '@coolon/typescript-utilities', '@typescript-plus/fast-memoize-decorator/dist/src', 'typescript-string-enums', 'resize-observer-polyfill', 'immer', '@angular/cdk/a11y', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'wake-event'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.checkbox, global.ng.material.divider, global.ng.material.icon, global.ng.material.menu, global.ng.material.progressBar, global.ng.material.progressSpinner, global.ng.material.table, global.ng.material.tooltip, global.angularFontawesome, global.freeSolidSvgIcons, global.pectin, global.ng.platformBrowser, global._, global.typescriptUtilities, global.src, global.typescriptStringEnums, global.ResizeObserver, global.produce, global.ng.cdk.a11y, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations, global.wakeEvent));
5
+ }(this, (function (exports, i2, i0, forms, formField, input, select, tabs, animations, portal, scrolling, autocomplete, button, checkbox, divider, icon, menu, progressBar, progressSpinner, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, platformBrowser, _, typescriptUtilities, src, typescriptStringEnums, ResizeObserver, produce, a11y, flexLayout, i1, i1$1, overlay, list, fastMemoizeDecorator, reflectMetadata, animations$1, wakeEvent) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -768,6 +768,32 @@
768
768
  __metadata("design:type", Boolean)
769
769
  ], BusyOverlayComponent.prototype, "busy", void 0);
770
770
 
771
+ var AbstractCardContainerComponent = /** @class */ (function (_super) {
772
+ __extends(AbstractCardContainerComponent, _super);
773
+ function AbstractCardContainerComponent() {
774
+ return _super.call(this) || this;
775
+ }
776
+ AbstractCardContainerComponent.prototype.ngOnInit = function () {
777
+ };
778
+ return AbstractCardContainerComponent;
779
+ }(DisposableComponent));
780
+ AbstractCardContainerComponent.decorators = [
781
+ { type: i0.Component, args: [{
782
+ selector: 'aup-abstract-card-container',
783
+ template: ''
784
+ },] }
785
+ ];
786
+ AbstractCardContainerComponent.ctorParameters = function () { return []; };
787
+ AbstractCardContainerComponent.propDecorators = {
788
+ addCardCommand: [{ type: i0.Input }],
789
+ addCardFace: [{ type: i0.Input }],
790
+ addCardTemplate: [{ type: i0.ContentChild, args: ['addCardTemplate',] }]
791
+ };
792
+ __decorate([
793
+ pectin.TrackExternal(),
794
+ __metadata("design:type", pectin.Command)
795
+ ], AbstractCardContainerComponent.prototype, "addCardCommand", void 0);
796
+
771
797
  /**
772
798
  * @example
773
799
  * // basic usage
@@ -785,6 +811,13 @@
785
811
  * <my-card *ngFor="..."></my-card>
786
812
  * </aup-card-container>
787
813
  *
814
+ * // use the aup-add-card-activity to display as the new card place holder and to run
815
+ * // the activity inside teh card
816
+ * <aup-card-container [addCardCommand]="addCard" [addCardFace]="i18n.addCard" >
817
+ * <my-card *ngFor="..."></my-card>
818
+ * <aup-add-card-activity type="inline" renderAs="card" [face]="i18n.commands.addModal" [activityClass]="AddCardActivity"></aup-add-card-activity>
819
+ * </aup-card-container>
820
+ *
788
821
  * // adds an add card component using the specified template. The template
789
822
  * // will fill it's container in the grid.
790
823
  * <aup-card-container>
@@ -817,6 +850,7 @@
817
850
  * aup-card-container {
818
851
  * --card-gap: var(--card-gap, 16px);
819
852
  * --card-width: var(--card-width, 300px);
853
+ * --card-max-width: auto;
820
854
  * --card-height: var(--card-height, auto);
821
855
  * --card-min-height: var(--card-min-height, auto);
822
856
  * --card-background: var(--card-background, #fcfcfb);
@@ -824,30 +858,154 @@
824
858
  */
825
859
  var CardContainerComponent = /** @class */ (function (_super) {
826
860
  __extends(CardContainerComponent, _super);
827
- function CardContainerComponent() {
828
- return _super.call(this) || this;
861
+ function CardContainerComponent(elementRef) {
862
+ var _this = _super.call(this) || this;
863
+ _this.elementRef = elementRef;
864
+ /**
865
+ * Enable scrolling. If true the container will have height==0 so you must set it's height explicitly
866
+ * or place in a layout that will stretch it such as a grid or flex layout.
867
+ */
868
+ _this.enabledScroll = false;
869
+ return _this;
829
870
  }
871
+ Object.defineProperty(CardContainerComponent.prototype, "columnCount", {
872
+ get: function () {
873
+ return this._columnCount;
874
+ },
875
+ set: function (count) {
876
+ if (!___namespace.isNil(count) && (!___namespace.isInteger(count) || count < 1)) {
877
+ typescriptUtilities.lang.illegalState('columnCount must be a positive integer or nil');
878
+ }
879
+ this._columnCount = count;
880
+ this.updateColumnCountStyles();
881
+ },
882
+ enumerable: false,
883
+ configurable: true
884
+ });
830
885
  CardContainerComponent.prototype.ngOnInit = function () {
886
+ _super.prototype.ngOnInit.call(this);
887
+ this.updateColumnCountStyles();
888
+ };
889
+ Object.defineProperty(CardContainerComponent.prototype, "isAutoColumns", {
890
+ get: function () {
891
+ return ___namespace.isNil(this._columnCount);
892
+ },
893
+ enumerable: false,
894
+ configurable: true
895
+ });
896
+ Object.defineProperty(CardContainerComponent.prototype, "isSingleColumn", {
897
+ get: function () {
898
+ return this._columnCount === 1;
899
+ },
900
+ enumerable: false,
901
+ configurable: true
902
+ });
903
+ CardContainerComponent.prototype.updateColumnCountStyles = function () {
904
+ var el = this.elementRef.nativeElement;
905
+ if (___namespace.isNil(this._columnCount)) {
906
+ el.style.setProperty('--aup-card-container-column-count', '');
907
+ }
908
+ else {
909
+ el.style.setProperty('--aup-card-container-column-count', this._columnCount);
910
+ }
831
911
  };
832
912
  return CardContainerComponent;
833
- }(DisposableComponent));
913
+ }(AbstractCardContainerComponent));
834
914
  CardContainerComponent.decorators = [
835
915
  { type: i0.Component, args: [{
836
916
  selector: 'aup-card-container',
837
- 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-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" 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",
838
- styles: [":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:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-auto-rows:minmax(var(--resolved-card-min-height),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:hsla(0,0%,100%,.8);transition:all .28s cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:all .28s 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}"]
917
+ template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header]\"></ng-content>\n</div>\n\n<ng-template #content>\n <div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" 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 </div>\n</ng-template>\n\n<div class=\"no-scroll-container\" *ngIf=\"!enabledScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<aup-scroll-container *ngIf=\"enabledScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</aup-scroll-container>\n\n<div class=\"footer-container\">\n <ng-content select=\"[card-container-footer]\"></ng-content>\n</div>\n\n",
918
+ styles: [":host{--resolved-card-gap:var(--card-gap,16px);--resolved-card-width:var(--card-width,300px);--resolved-card-max-width:var(--card-max-width,auto);--resolved-card-height:var(--card-height,auto);--resolved-card-min-height:var(--card-min-height,auto);--resolved-card-background:var(--card-background,var(--aup-card-container-default-background-color));flex:1;display:flex;flex-direction:column;align-items:stretch;background:var(--resolved-card-background)}:host.auto-columns .card-container{grid-template-columns:repeat(auto-fit,minmax(var(--resolved-card-width),var(--resolved-card-max-width)));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))}:host:not(.auto-columns) .card-container{grid-template-columns:repeat(var(--aup-card-container-column-count),1fr)}.card-container{display:grid;box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));max-width:100%;grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap)}.no-scroll-container,aup-scroll-container{flex:1}.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;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);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:hsla(0,0%,100%,.8)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.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}"]
839
919
  },] }
840
920
  ];
841
- CardContainerComponent.ctorParameters = function () { return []; };
921
+ CardContainerComponent.ctorParameters = function () { return [
922
+ { type: i0.ElementRef }
923
+ ]; };
842
924
  CardContainerComponent.propDecorators = {
843
- addCardCommand: [{ type: i0.Input }],
844
- addCardFace: [{ type: i0.Input }],
845
- addCardTemplate: [{ type: i0.ContentChild, args: ["addCardTemplate",] }]
925
+ columnCount: [{ type: i0.Input }],
926
+ enabledScroll: [{ type: i0.Input }],
927
+ isAutoColumns: [{ type: i0.HostBinding, args: ['class.auto-columns',] }],
928
+ isSingleColumn: [{ type: i0.HostBinding, args: ['class.single-column',] }]
846
929
  };
847
- __decorate([
848
- pectin.TrackExternal(),
849
- __metadata("design:type", pectin.Command)
850
- ], CardContainerComponent.prototype, "addCardCommand", void 0);
930
+
931
+ /**
932
+ * @deprecated deprecated, use `aup-card-container [columnCount]="1"` instead.
933
+ * @example
934
+ * // basic usage
935
+ * <aup-card-stack>
936
+ * <my-card *ngFor="..."></my-card>
937
+ * </aup-card-stack>
938
+ *
939
+ * // adds an add button with a the '+' icon to the end of the card list.
940
+ * <aup-card-stack [addCardCommand]="addCard">
941
+ * <my-card *ngFor="..."></my-card>
942
+ * </aup-card-stack>
943
+ *
944
+ * // adds an add button with the specified face
945
+ * <aup-card-stack [addCardCommand]="addCard" [addCardFace]="i18n.addCard" >
946
+ * <my-card *ngFor="..."></my-card>
947
+ * </aup-card-stack>
948
+ *
949
+ * // use the aup-add-card-activity to display as the new card place holder and to run
950
+ * // the activity inside teh card
951
+ * <aup-card-stack [addCardCommand]="addCard" [addCardFace]="i18n.addCard" >
952
+ * <my-card *ngFor="..."></my-card>
953
+ * <aup-add-card-activity type="inline" renderAs="card" [face]="i18n.commands.addModal" [activityClass]="AddCardActivity"></aup-add-card-activity>
954
+ * </aup-card-stack>
955
+ *
956
+ * // adds an add card component using the specified template. The template
957
+ * // will fill it's container in the grid.
958
+ * <aup-card-stack>
959
+ * <my-card *ngFor="..."></my-card>
960
+ * <ng-template #addCardTemplate>
961
+ * <div>This is a new card template, it will the the size of the other cards.</div>
962
+ * </ng-template>
963
+ * </aup-card-stack>
964
+ *
965
+ * // sing the default new card styles for your template
966
+ * @import "../../../../assets/styles";
967
+ * .my-new-card {
968
+ * @include aup-card-stack-new-card-style();
969
+ * // OR
970
+ * @include aup-card-stack-new-card-style(
971
+ * $color: rgba(0,0,0,0.54),
972
+ * $background-color: rgba(255,255,255,0.8),
973
+ * $hover-color: $color,
974
+ * $background-hover-color: white
975
+ * )
976
+ * }
977
+ * <aup-card-stack>
978
+ * <my-card *ngFor="..."></my-card>
979
+ * <ng-template #addCardTemplate>
980
+ * <div class="my-new-card" >This is a new card template, it will the the size of the other cards.</div>
981
+ * </ng-template>
982
+ * </aup-card-stack>
983
+ *
984
+ * // CSS Vars
985
+ * aup-card-stack {
986
+ * --card-gap: var(--card-gap, 16px);
987
+ * --card-height: var(--card-height, auto);
988
+ * --card-min-height: var(--card-min-height, auto);
989
+ * --card-background: var(--card-background, #fcfcfb);
990
+ * }
991
+ */
992
+ var CardStackComponent = /** @class */ (function (_super) {
993
+ __extends(CardStackComponent, _super);
994
+ function CardStackComponent() {
995
+ var _this = _super.call(this) || this;
996
+ console.warn('<aup-card-stack></aup-card-stack> is deprecated. Use <aup-card-container [columnCount]="1"> instead.');
997
+ return _this;
998
+ }
999
+ return CardStackComponent;
1000
+ }(AbstractCardContainerComponent));
1001
+ CardStackComponent.decorators = [
1002
+ { type: i0.Component, args: [{
1003
+ selector: 'aup-card-stack',
1004
+ template: "<div class=\"card-container\">\n <ng-content></ng-content>\n</div>\n<div class=\"footer\">\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" 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 <ng-content select=\"[aup-card-stack-footer]\"></ng-content>\n</div>\n",
1005
+ styles: [":host{--resolved-card-gap:var(--card-gap,16px);--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:grid;grid-template-columns:1fr;grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);max-width:100%}.footer{align-items:stretch;padding:0 var(--resolved-card-gap) var(--resolved-card-gap)}.add-card-container,.footer{display:flex;flex-direction:column}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);align-items:center;justify-content:center;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);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:hsla(0,0%,100%,.8)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.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}"]
1006
+ },] }
1007
+ ];
1008
+ CardStackComponent.ctorParameters = function () { return []; };
851
1009
 
852
1010
  exports.CommandFace = void 0;
853
1011
  (function (CommandFace) {
@@ -1335,10 +1493,22 @@
1335
1493
  exports.TrackBy = void 0;
1336
1494
  (function (TrackBy) {
1337
1495
  TrackBy.byIndex = function (index, item) { return index; };
1496
+ /**
1497
+ * @deprecated use #track(MyType).by("property") instead.
1498
+ * @param property
1499
+ */
1338
1500
  function trackByProperty(property) {
1339
1501
  return function (index, item) { return item[property]; };
1340
1502
  }
1341
1503
  TrackBy.trackByProperty = trackByProperty;
1504
+ function track(type) {
1505
+ return {
1506
+ by: function (property) {
1507
+ return function (index, item) { return item[property]; };
1508
+ }
1509
+ };
1510
+ }
1511
+ TrackBy.track = track;
1342
1512
  })(exports.TrackBy || (exports.TrackBy = {}));
1343
1513
 
1344
1514
  exports.CommandContainer = /** @class */ (function (_super) {
@@ -1587,7 +1757,7 @@
1587
1757
  { type: i0.Component, args: [{
1588
1758
  selector: 'aup-empty-state',
1589
1759
  template: "\n <div class=\"container\">\n <ng-content></ng-content>\n </div>\n ",
1590
- styles: [":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{padding:var(--aup-default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]
1760
+ styles: [":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{display:flex;flex-direction:column;align-items:stretch;padding:var(--aup-default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]
1591
1761
  },] }
1592
1762
  ];
1593
1763
  EmptyStateComponent.ctorParameters = function () { return []; };
@@ -1685,6 +1855,7 @@
1685
1855
  function AbstractInputComponent() {
1686
1856
  var _this = _super.call(this) || this;
1687
1857
  _this.onValueEditedListeners = new pectin.EventListenerList();
1858
+ _this.userFloatLabel = 'always'; // TODO: make this an injectable default
1688
1859
  _this.dense = false;
1689
1860
  // TODO: fix this.
1690
1861
  // tslint:disable-next-line:no-output-native
@@ -2286,6 +2457,54 @@
2286
2457
  });
2287
2458
  })(exports.IconComponent || (exports.IconComponent = {}));
2288
2459
 
2460
+ var LoadingContainerComponent = /** @class */ (function (_super) {
2461
+ __extends(LoadingContainerComponent, _super);
2462
+ function LoadingContainerComponent() {
2463
+ return _super.call(this) || this;
2464
+ }
2465
+ Object.defineProperty(LoadingContainerComponent.prototype, "state", {
2466
+ get: function () {
2467
+ return this.loadingModel.value ? "loaded" : "loading";
2468
+ },
2469
+ enumerable: false,
2470
+ configurable: true
2471
+ });
2472
+ LoadingContainerComponent.prototype.ngOnInit = function () {
2473
+ };
2474
+ return LoadingContainerComponent;
2475
+ }(pectin.GarbageCollector));
2476
+ LoadingContainerComponent.decorators = [
2477
+ { type: i0.Component, args: [{
2478
+ selector: 'aup-loading-container',
2479
+ template: "<ng-content *ngIf=\"!loadingModel.value\"></ng-content>\n<section *ngIf=\"loadingModel.value\" class=\"loading-indicator-overlay\">\n <div class=\"loading-message\">\n <p>{{messageModel.value}}</p>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </div>\n</section>\n",
2480
+ styles: [":host{display:block;position:relative}section.loading-indicator-overlay{position:absolute;top:0;left:0;bottom:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-message{display:inline-block;text-align:center;width:10em}"]
2481
+ },] }
2482
+ ];
2483
+ LoadingContainerComponent.ctorParameters = function () { return []; };
2484
+ LoadingContainerComponent.propDecorators = {
2485
+ loadingModel: [{ type: i0.Input }],
2486
+ loading: [{ type: i0.Input }],
2487
+ messageModel: [{ type: i0.Input }],
2488
+ message: [{ type: i0.Input }],
2489
+ state: [{ type: i0.HostBinding, args: ["class",] }]
2490
+ };
2491
+ __decorate([
2492
+ pectin.TrackExternal(),
2493
+ __metadata("design:type", pectin.ValueModel)
2494
+ ], LoadingContainerComponent.prototype, "loadingModel", void 0);
2495
+ __decorate([
2496
+ pectin.StoreInValueModel("loadingModel"),
2497
+ __metadata("design:type", Boolean)
2498
+ ], LoadingContainerComponent.prototype, "loading", void 0);
2499
+ __decorate([
2500
+ pectin.TrackExternal(),
2501
+ __metadata("design:type", pectin.ValueModel)
2502
+ ], LoadingContainerComponent.prototype, "messageModel", void 0);
2503
+ __decorate([
2504
+ pectin.StoreInValueModel("messageModel"),
2505
+ __metadata("design:type", String)
2506
+ ], LoadingContainerComponent.prototype, "message", void 0);
2507
+
2289
2508
  var NoopComponent = /** @class */ (function () {
2290
2509
  function NoopComponent() {
2291
2510
  }
@@ -2316,24 +2535,32 @@
2316
2535
  ];
2317
2536
  ScrollContainerComponent.ctorParameters = function () { return []; };
2318
2537
 
2319
- var SectionHeaderComponent = /** @class */ (function () {
2538
+ var SectionHeaderComponent = /** @class */ (function (_super) {
2539
+ __extends(SectionHeaderComponent, _super);
2320
2540
  function SectionHeaderComponent() {
2321
- this.underline = false;
2541
+ var _this = _super.call(this) || this;
2542
+ // readonly i18n = I18nMarsUi.components.layout.header;
2543
+ _this.size = 'medium';
2544
+ _this.borderTop = false;
2545
+ _this.borderBottom = false;
2546
+ return _this;
2322
2547
  }
2323
2548
  SectionHeaderComponent.prototype.ngOnInit = function () {
2324
2549
  };
2325
2550
  return SectionHeaderComponent;
2326
- }());
2551
+ }(DisposableComponent));
2327
2552
  SectionHeaderComponent.decorators = [
2328
2553
  { type: i0.Component, args: [{
2329
2554
  selector: 'aup-section-header',
2330
- template: "<ng-content></ng-content>\n",
2331
- styles: [":host{--def-border-bottom-color:var(--border-bottom-color,rgba(0,0,0,0.07));display:block;padding:8px 16px;font-size:12px;line-height:12px;color:rgba(0,0,0,.5)}:host.underline{border-bottom:1px solid var(--def-border-bottom-color)}"]
2555
+ template: "<span class=\"container-start\"><ng-content select=\"[header-start]\"></ng-content><ng-content></ng-content></span>\n<span class=\"container-middle\"><ng-content select=\"[header-center]\"></ng-content></span>\n<span class=\"container-end\"><ng-content select=\"[header-end]\"></ng-content></span>\n",
2556
+ styles: [":host{display:flex;flex-direction:row;align-items:center;--resolved-padding:var(--padding,var(--default-padding));--resolved-padding-right:var(--padding-right,calc(var(--default-padding)/2));padding-left:var(--resolved-padding);padding-right:var(--resolved-padding-right);box-sizing:border-box}:host.has-back-button{padding-left:0}:host.toolbar{height:56px;min-height:56px}:host.toolbar span{font-weight:500;font-size:18px;color:rgba(0,0,0,.67)}:host.large{height:48px;min-height:48px}:host.large span{font-weight:500;font-size:14px;color:rgba(0,0,0,.67)}:host.medium{height:48px;min-height:48px}:host.medium span{font-weight:500;font-size:13px;color:rgba(0,0,0,.67)}:host.small{height:30px;min-height:30px}:host.small span{font-weight:300;font-size:12px;color:rgba(0,0,0,.67)}:host.border-top{border-top:var(--pinstripe-border)}:host.border-bottom{border-bottom:var(--pinstripe-border)}span{white-space:nowrap;display:inline-flex;flex-direction:row;align-items:center}span.container-start{justify-content:flex-start}span.container-middle{justify-content:center;flex:1;width:0;overflow:hidden}span.container-end{justify-content:flex-end}"]
2332
2557
  },] }
2333
2558
  ];
2334
2559
  SectionHeaderComponent.ctorParameters = function () { return []; };
2335
2560
  SectionHeaderComponent.propDecorators = {
2336
- underline: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class.underline',] }]
2561
+ size: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class',] }],
2562
+ borderTop: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class.border-top',] }],
2563
+ borderBottom: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class.border-bottom',] }]
2337
2564
  };
2338
2565
 
2339
2566
  var SwitchCaseOption = /** @class */ (function () {
@@ -4258,16 +4485,16 @@
4258
4485
  var FlattenedTreeListModel = /** @class */ (function (_super) {
4259
4486
  __extends(FlattenedTreeListModel, _super);
4260
4487
  function FlattenedTreeListModel(source, childRef, expansionModel) {
4261
- var _this = _super.call(this, source) || this;
4488
+ var _this = _super.call(this, source, {
4489
+ initialValue: [],
4490
+ identifiedWith: function (row) { return source.identityOf(row); }
4491
+ }) || this;
4262
4492
  _this.source = source;
4263
4493
  _this.childRef = childRef;
4264
4494
  _this.expansionModel = expansionModel;
4265
4495
  _this.trackSource(expansionModel.isExpandedPredicate);
4266
4496
  return _this;
4267
4497
  }
4268
- FlattenedTreeListModel.prototype.getIdentityOf = function (item) {
4269
- return this.source.identityOf(item);
4270
- };
4271
4498
  FlattenedTreeListModel.prototype.compute = function (values) {
4272
4499
  var _this = this;
4273
4500
  var result = [];
@@ -4400,6 +4627,7 @@
4400
4627
  var childExtractor = ___namespace.isFunction(childAccessor) ? childAccessor : function (row) { return row[childAccessor]; };
4401
4628
  _this.flattenedDataSource = _this.registerDisposable(new FlattenedTreeListModel(source, childExtractor, _this.treeExpansionModel));
4402
4629
  _this.setDataSource(_this.flattenedDataSource);
4630
+ _this.addRowClass('aup-node-collapsed', function (row) { return _this.isCollapsed(row); });
4403
4631
  return _this;
4404
4632
  }
4405
4633
  TreeTableModel.prototype.treeControlColumn = function (builder) {
@@ -4682,6 +4910,28 @@
4682
4910
  __metadata("design:type", pectin.PageController)
4683
4911
  ], PaginatorComponent.prototype, "pageController", void 0);
4684
4912
 
4913
+ var LabelledValueComponent = /** @class */ (function (_super) {
4914
+ __extends(LabelledValueComponent, _super);
4915
+ function LabelledValueComponent() {
4916
+ return _super.call(this) || this;
4917
+ // const {chain} = Dsl.disposeWith(this);
4918
+ }
4919
+ LabelledValueComponent.prototype.ngOnInit = function () {
4920
+ };
4921
+ return LabelledValueComponent;
4922
+ }(DisposableComponent));
4923
+ LabelledValueComponent.decorators = [
4924
+ { type: i0.Component, args: [{
4925
+ selector: 'aup-labelled-value',
4926
+ template: "<label>{{label}}</label>\n<ng-content></ng-content>\n",
4927
+ styles: [":host{display:inline-flex;flex-direction:column;align-items:flex-start}label{font-weight:400;font-size:12px;color:rgba(0,0,0,.57);margin-bottom:6px;white-space:nowrap}"]
4928
+ },] }
4929
+ ];
4930
+ LabelledValueComponent.ctorParameters = function () { return []; };
4931
+ LabelledValueComponent.propDecorators = {
4932
+ label: [{ type: i0.Input }]
4933
+ };
4934
+
4685
4935
  var ComponentsModule = /** @class */ (function () {
4686
4936
  function ComponentsModule(faIconLibrary) {
4687
4937
  faIconLibrary.addIconPacks(freeSolidSvgIcons.fas);
@@ -4690,6 +4940,29 @@
4690
4940
  }());
4691
4941
  ComponentsModule.decorators = [
4692
4942
  { type: i0.NgModule, args: [{
4943
+ imports: [
4944
+ i2.CommonModule,
4945
+ animations.BrowserAnimationsModule,
4946
+ forms.FormsModule,
4947
+ input.MatInputModule,
4948
+ formField.MatFormFieldModule,
4949
+ select.MatSelectModule,
4950
+ tabs.MatTabsModule,
4951
+ DirectivesModule,
4952
+ icon.MatIconModule,
4953
+ button.MatButtonModule,
4954
+ checkbox.MatCheckboxModule,
4955
+ table.MatTableModule,
4956
+ portal.PortalModule,
4957
+ scrolling.CdkScrollableModule,
4958
+ angularFontawesome.FontAwesomeModule,
4959
+ tooltip.MatTooltipModule,
4960
+ autocomplete.MatAutocompleteModule,
4961
+ menu.MatMenuModule,
4962
+ divider.MatDividerModule,
4963
+ progressSpinner.MatProgressSpinnerModule,
4964
+ progressBar.MatProgressBarModule
4965
+ ],
4693
4966
  declarations: [
4694
4967
  AbstractInputComponent,
4695
4968
  AbstractValueInputComponent,
@@ -4738,29 +5011,11 @@
4738
5011
  BusyOverlayComponent,
4739
5012
  EmptyStateComponent,
4740
5013
  PaginatorComponent,
4741
- AbstractTableComponent
4742
- ],
4743
- imports: [
4744
- i2.CommonModule,
4745
- animations.BrowserAnimationsModule,
4746
- forms.FormsModule,
4747
- input.MatInputModule,
4748
- formField.MatFormFieldModule,
4749
- select.MatSelectModule,
4750
- tabs.MatTabsModule,
4751
- DirectivesModule,
4752
- icon.MatIconModule,
4753
- button.MatButtonModule,
4754
- checkbox.MatCheckboxModule,
4755
- table.MatTableModule,
4756
- portal.PortalModule,
4757
- scrolling.CdkScrollableModule,
4758
- angularFontawesome.FontAwesomeModule,
4759
- tooltip.MatTooltipModule,
4760
- autocomplete.MatAutocompleteModule,
4761
- menu.MatMenuModule,
4762
- divider.MatDividerModule,
4763
- progressSpinner.MatProgressSpinnerModule
5014
+ AbstractTableComponent,
5015
+ AbstractCardContainerComponent,
5016
+ CardStackComponent,
5017
+ LabelledValueComponent,
5018
+ LoadingContainerComponent
4764
5019
  ],
4765
5020
  exports: [
4766
5021
  NumberInputComponent,
@@ -4797,6 +5052,9 @@
4797
5052
  BusyOverlayComponent,
4798
5053
  EmptyStateComponent,
4799
5054
  PaginatorComponent,
5055
+ CardStackComponent,
5056
+ LabelledValueComponent,
5057
+ LoadingContainerComponent,
4800
5058
  ],
4801
5059
  providers: [
4802
5060
  FocusBindingFactory
@@ -4828,12 +5086,13 @@
4828
5086
  * <span>This content will be between the two commands</span>
4829
5087
  * </aup-activity-actions>
4830
5088
  */
4831
- var ActivityActionsComponent = /** @class */ (function (_super) {
5089
+ exports.ActivityActionsComponent = /** @class */ (function (_super) {
4832
5090
  __extends(ActivityActionsComponent, _super);
4833
5091
  function ActivityActionsComponent(cdr) {
4834
5092
  var _this = _super.call(this) || this;
4835
5093
  _this.cdr = cdr;
4836
- _this.align = 'stretch';
5094
+ _this.layout = ActivityActionsComponent.Layout.BLOCK;
5095
+ _this.align = ActivityActionsComponent.Align.STRETCH;
4837
5096
  return _this;
4838
5097
  }
4839
5098
  Object.defineProperty(ActivityActionsComponent.prototype, "faces", {
@@ -4854,20 +5113,6 @@
4854
5113
  enumerable: false,
4855
5114
  configurable: true
4856
5115
  });
4857
- Object.defineProperty(ActivityActionsComponent.prototype, "alignEnd", {
4858
- get: function () {
4859
- return this.align === 'end';
4860
- },
4861
- enumerable: false,
4862
- configurable: true
4863
- });
4864
- Object.defineProperty(ActivityActionsComponent.prototype, "alignStretch", {
4865
- get: function () {
4866
- return this.align === 'stretch';
4867
- },
4868
- enumerable: false,
4869
- configurable: true
4870
- });
4871
5116
  ActivityActionsComponent.prototype.ngOnInit = function () {
4872
5117
  };
4873
5118
  ActivityActionsComponent.prototype.hasConfirmFace = function () {
@@ -4883,35 +5128,45 @@
4883
5128
  };
4884
5129
  return ActivityActionsComponent;
4885
5130
  }(DisposableComponent));
4886
- ActivityActionsComponent.decorators = [
5131
+ exports.ActivityActionsComponent.decorators = [
4887
5132
  { type: i0.Component, args: [{
4888
5133
  selector: 'aup-activity-actions',
4889
5134
  template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n",
4890
- styles: [":host{display:grid;grid-template-areas:\"cancel confirm content\";grid-template-columns:auto auto 1fr;grid-template-rows:auto;align-items:center;justify-content:end}:host.align-end{grid-template-areas:\"content cancel confirm\";grid-template-columns:1fr auto auto}:host.align-stretch{grid-template-areas:\"cancel content confirm\";grid-template-columns:auto 1fr auto}.cancel{grid-area:cancel}.confirm{grid-area:confirm}.content{grid-area:content;text-align:left}"]
5135
+ styles: [":host{display:grid;grid-template-rows:auto;align-items:center;justify-content:end;--resolved-activity-actions-gap:var(--activity-actions-gap,8px)}:host[layout=block][align=start]{grid-template-areas:\"cancel confirm content\";grid-template-columns:auto auto 1fr}:host[layout=block][align=start] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=end]{grid-template-areas:\"content cancel confirm\";grid-template-columns:1fr auto auto}:host[layout=block][align=end] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=stretch]{grid-template-areas:\"cancel content confirm\";grid-template-columns:auto 1fr auto}:host[layout=inline]{grid-template-areas:\"confirm cancel content\";grid-template-columns:auto auto 1fr}:host[layout=inline] .cancel{margin-left:var(--resolved-activity-actions-gap)}.cancel{grid-area:cancel}.confirm{grid-area:confirm}.content{grid-area:content;text-align:left}"]
4891
5136
  },] }
4892
5137
  ];
4893
- ActivityActionsComponent.ctorParameters = function () { return [
5138
+ exports.ActivityActionsComponent.ctorParameters = function () { return [
4894
5139
  { type: i0.ChangeDetectorRef }
4895
5140
  ]; };
4896
- ActivityActionsComponent.propDecorators = {
5141
+ exports.ActivityActionsComponent.propDecorators = {
4897
5142
  confirmCommand: [{ type: i0.Input }],
4898
5143
  cancelCommand: [{ type: i0.Input }],
4899
5144
  faces: [{ type: i0.Input }],
4900
5145
  confirmFace: [{ type: i0.Input }],
4901
5146
  cancelFace: [{ type: i0.Input }],
4902
5147
  style: [{ type: i0.Input }],
4903
- align: [{ type: i0.Input }],
4904
- alignEnd: [{ type: i0.HostBinding, args: ['class.align-end',] }],
4905
- alignStretch: [{ type: i0.HostBinding, args: ['class.align-stretch',] }]
5148
+ layout: [{ type: i0.Input }, { type: i0.HostBinding, args: ['attr.layout',] }],
5149
+ align: [{ type: i0.Input }, { type: i0.HostBinding, args: ['attr.align',] }]
4906
5150
  };
4907
5151
  __decorate([
4908
5152
  pectin.TrackExternal(),
4909
5153
  __metadata("design:type", pectin.Command)
4910
- ], ActivityActionsComponent.prototype, "confirmCommand", void 0);
5154
+ ], exports.ActivityActionsComponent.prototype, "confirmCommand", void 0);
4911
5155
  __decorate([
4912
5156
  pectin.TrackExternal(),
4913
5157
  __metadata("design:type", pectin.Command)
4914
- ], ActivityActionsComponent.prototype, "cancelCommand", void 0);
5158
+ ], exports.ActivityActionsComponent.prototype, "cancelCommand", void 0);
5159
+ (function (ActivityActionsComponent) {
5160
+ ActivityActionsComponent.Layout = typescriptStringEnums.Enum({
5161
+ INLINE: 'inline',
5162
+ BLOCK: 'block'
5163
+ });
5164
+ ActivityActionsComponent.Align = typescriptStringEnums.Enum({
5165
+ START: 'start',
5166
+ END: 'end',
5167
+ STRETCH: 'stretch'
5168
+ });
5169
+ })(exports.ActivityActionsComponent || (exports.ActivityActionsComponent = {}));
4915
5170
 
4916
5171
  var ACTIVITY_DATA = new i0.InjectionToken('InteractionActivityData');
4917
5172
  var Activity = /** @class */ (function (_super) {
@@ -4994,7 +5249,7 @@
4994
5249
  ];
4995
5250
  Activity.ctorParameters = function () { return []; };
4996
5251
  Activity.propDecorators = {
4997
- activityActions: [{ type: i0.ViewChild, args: [ActivityActionsComponent,] }],
5252
+ activityActions: [{ type: i0.ViewChild, args: [exports.ActivityActionsComponent,] }],
4998
5253
  class: [{ type: i0.HostBinding, args: ['class',] }],
4999
5254
  isFocused: [{ type: i0.HostBinding, args: ['attr.focused',] }]
5000
5255
  };
@@ -5518,7 +5773,7 @@
5518
5773
  ActivityContainerComponent.decorators = [
5519
5774
  { type: i0.Component, args: [{
5520
5775
  selector: 'aup-activity-container',
5521
- template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busyModel]=\"busy\">\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n",
5776
+ template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busyModel]=\"busy\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n",
5522
5777
  styles: [":host{display:flex;flex-direction:column}aup-busy-overlay,mat-tab-group{flex:1}"]
5523
5778
  },] }
5524
5779
  ];
@@ -5615,6 +5870,13 @@
5615
5870
  });
5616
5871
  return _this;
5617
5872
  }
5873
+ Object.defineProperty(AbstractActivityTriggerComponent.prototype, "interactionContext", {
5874
+ get: function () {
5875
+ return typescriptUtilities.lang.abstractMethod(this.constructor);
5876
+ },
5877
+ enumerable: false,
5878
+ configurable: true
5879
+ });
5618
5880
  AbstractActivityTriggerComponent.prototype.ngOnInit = function () {
5619
5881
  };
5620
5882
  Object.defineProperty(AbstractActivityTriggerComponent.prototype, "isActive", {
@@ -5856,9 +6118,16 @@
5856
6118
  __extends(ModalActivityTriggerComponent, _super);
5857
6119
  function ModalActivityTriggerComponent(interactionService) {
5858
6120
  var _this = _super.call(this) || this;
5859
- _this.interactionContext = interactionService.createModalInteractionContextDisposedWith(_this);
6121
+ _this._interactionContext = interactionService.createModalInteractionContextDisposedWith(_this);
5860
6122
  return _this;
5861
6123
  }
6124
+ Object.defineProperty(ModalActivityTriggerComponent.prototype, "interactionContext", {
6125
+ get: function () {
6126
+ return this._interactionContext;
6127
+ },
6128
+ enumerable: false,
6129
+ configurable: true
6130
+ });
5862
6131
  return ModalActivityTriggerComponent;
5863
6132
  }(AbstractActivityTriggerComponent));
5864
6133
  ModalActivityTriggerComponent.decorators = [
@@ -5904,6 +6173,13 @@
5904
6173
  enumerable: false,
5905
6174
  configurable: true
5906
6175
  });
6176
+ Object.defineProperty(InPlaceInteractionContextComponent.prototype, "active", {
6177
+ get: function () {
6178
+ return this.isActive();
6179
+ },
6180
+ enumerable: false,
6181
+ configurable: true
6182
+ });
5907
6183
  InPlaceInteractionContextComponent.prototype.ngAfterViewInit = function () {
5908
6184
  this.interactionService.registerInplaceInteractionContext(this);
5909
6185
  };
@@ -5953,9 +6229,96 @@
5953
6229
  ]; };
5954
6230
  InPlaceInteractionContextComponent.propDecorators = {
5955
6231
  activityContainerComponent: [{ type: i0.ViewChild, args: ['activityContainer', { static: true },] }],
5956
- animateFirstActivity: [{ type: i0.Input }]
6232
+ animateFirstActivity: [{ type: i0.Input }],
6233
+ active: [{ type: i0.HostBinding, args: ["class.active",] }]
5957
6234
  };
5958
6235
 
6236
+ /**
6237
+ *
6238
+ */
6239
+ exports.AddCardActivityComponent = /** @class */ (function (_super) {
6240
+ __extends(AddCardActivityComponent, _super);
6241
+ function AddCardActivityComponent(interactionService) {
6242
+ var _this = _super.call(this) || this;
6243
+ _this.interactionStyle = AddCardActivityComponent.InteractionType.MODAL;
6244
+ _this.renderAs = AddCardActivityComponent.RenderAs.CARD;
6245
+ _this.notCard = true;
6246
+ var chain = pectin.Dsl.disposeWith(_this).chain;
6247
+ _this.modalInteractionContext = interactionService.createModalInteractionContextDisposedWith(_this);
6248
+ _this.faceList = chain(_this.faceModel).mapToList(function (face) { return [face]; });
6249
+ return _this;
6250
+ }
6251
+ Object.defineProperty(AddCardActivityComponent.prototype, "renderAsClass", {
6252
+ get: function () {
6253
+ return "render-as-" + this.renderAs;
6254
+ },
6255
+ enumerable: false,
6256
+ configurable: true
6257
+ });
6258
+ Object.defineProperty(AddCardActivityComponent.prototype, "activityTypeClass", {
6259
+ get: function () {
6260
+ return this.interactionStyle + "-activity";
6261
+ },
6262
+ enumerable: false,
6263
+ configurable: true
6264
+ });
6265
+ AddCardActivityComponent.prototype.isRenderAsCard = function () {
6266
+ return this.renderAs === 'card';
6267
+ };
6268
+ AddCardActivityComponent.prototype.isRenderAsButton = function () {
6269
+ return this.renderAs === 'button';
6270
+ };
6271
+ AddCardActivityComponent.prototype.ngOnInit = function () {
6272
+ };
6273
+ Object.defineProperty(AddCardActivityComponent.prototype, "interactionContext", {
6274
+ get: function () {
6275
+ switch (this.interactionStyle) {
6276
+ case 'inline':
6277
+ return this.inlineInteractionContext;
6278
+ default:
6279
+ return this.modalInteractionContext;
6280
+ }
6281
+ },
6282
+ enumerable: false,
6283
+ configurable: true
6284
+ });
6285
+ AddCardActivityComponent.prototype.isModal = function () {
6286
+ return this.interactionStyle === 'modal';
6287
+ };
6288
+ AddCardActivityComponent.prototype.isInline = function () {
6289
+ return this.interactionStyle === 'inline';
6290
+ };
6291
+ return AddCardActivityComponent;
6292
+ }(AbstractActivityTriggerComponent));
6293
+ exports.AddCardActivityComponent.decorators = [
6294
+ { type: i0.Component, args: [{
6295
+ selector: 'aup-add-card-activity',
6296
+ template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\" [pectinCommand]=\"startActivityCommand\">\n <aup-command *ngIf=\"isRenderAsButton()\" [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n <section *ngIf=\"isRenderAsCard()\" class=\"face-wrapper\">\n <aup-command-face class=\"mat-button\" [faces]=\"faceList.value\"></aup-command-face>\n </section>\n</aup-in-place-interaction-context>\n",
6297
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}:host[interactionStyle=inline][renderas=card]:not(.active){transition:box-shadow .28s cubic-bezier(.4,0,.2,1);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:hsla(0,0%,100%,.8)}:host[interactionStyle=inline][renderas=card]:not(.active):hover{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}:host[interactionStyle=inline][renderas=card]:not(.active):hover{border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}:host[interactionStyle=modal][renderas=card]{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);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:hsla(0,0%,100%,.8)}:host[interactionStyle=modal][renderas=card]:hover{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}:host[interactionStyle=modal][renderas=card]:hover{border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}:host-context(aup-card-container)[renderas=button]{align-self:start}section.face-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}aup-in-place-interaction-context{flex:1}aup-in-place-interaction-context.active{border:3px solid #6273c7;border-radius:4px;overflow:hidden}"]
6298
+ },] }
6299
+ ];
6300
+ exports.AddCardActivityComponent.ctorParameters = function () { return [
6301
+ { type: exports.InteractionService }
6302
+ ]; };
6303
+ exports.AddCardActivityComponent.propDecorators = {
6304
+ inlineInteractionContext: [{ type: i0.ViewChild, args: [InPlaceInteractionContextComponent, { static: true },] }],
6305
+ interactionStyle: [{ type: i0.Input }],
6306
+ renderAs: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class',] }],
6307
+ notCard: [{ type: i0.HostBinding, args: ['class.not-card',] }],
6308
+ renderAsClass: [{ type: i0.HostBinding, args: ['class',] }],
6309
+ activityTypeClass: [{ type: i0.HostBinding, args: ['class',] }]
6310
+ };
6311
+ (function (AddCardActivityComponent) {
6312
+ AddCardActivityComponent.InteractionType = typescriptStringEnums.Enum({
6313
+ MODAL: 'modal',
6314
+ INLINE: 'inline'
6315
+ });
6316
+ AddCardActivityComponent.RenderAs = typescriptStringEnums.Enum({
6317
+ CARD: 'card',
6318
+ BUTTON: 'button'
6319
+ });
6320
+ })(exports.AddCardActivityComponent || (exports.AddCardActivityComponent = {}));
6321
+
5959
6322
  /**
5960
6323
  * Css Vars.
5961
6324
  * --link-color
@@ -6025,6 +6388,13 @@
6025
6388
  function InlineActivityTriggerComponent() {
6026
6389
  return _super.call(this) || this;
6027
6390
  }
6391
+ Object.defineProperty(InlineActivityTriggerComponent.prototype, "interactionContext", {
6392
+ get: function () {
6393
+ return this._interactionContext;
6394
+ },
6395
+ enumerable: false,
6396
+ configurable: true
6397
+ });
6028
6398
  return InlineActivityTriggerComponent;
6029
6399
  }(AbstractActivityTriggerComponent));
6030
6400
  InlineActivityTriggerComponent.decorators = [
@@ -6036,7 +6406,7 @@
6036
6406
  ];
6037
6407
  InlineActivityTriggerComponent.ctorParameters = function () { return []; };
6038
6408
  InlineActivityTriggerComponent.propDecorators = {
6039
- interactionContext: [{ type: i0.ViewChild, args: [InPlaceInteractionContextComponent, { static: true },] }]
6409
+ _interactionContext: [{ type: i0.ViewChild, args: [InPlaceInteractionContextComponent, { static: true },] }]
6040
6410
  };
6041
6411
 
6042
6412
  /**
@@ -6074,6 +6444,7 @@
6074
6444
  var self = this;
6075
6445
  var overlayRef = this._overlay.create({
6076
6446
  hasBackdrop: false,
6447
+ disposeOnNavigation: true,
6077
6448
  panelClass: 'aup-popup-interaction-panel',
6078
6449
  positionStrategy: this._overlay.position()
6079
6450
  .flexibleConnectedTo(this._element)
@@ -6209,45 +6580,114 @@
6209
6580
  // @see https://github.com/ng-packagr/ng-packagr/issues/641 and https://github.com/angular/angular/issues/21123
6210
6581
  // we're getting a metadata error for D for no reason that I can find and only during the build (ng serve works fine)
6211
6582
  // @dynamic
6212
- var AbstractInputActivity = /** @class */ (function (_super) {
6213
- __extends(AbstractInputActivity, _super);
6214
- function AbstractInputActivity(data) {
6215
- var _this = _super.call(this) || this;
6583
+ exports.InputActivity = /** @class */ (function (_super) {
6584
+ __extends(InputActivity, _super);
6585
+ function InputActivity(data) {
6586
+ var _this = this;
6587
+ var _a, _b;
6588
+ _this = _super.call(this) || this;
6216
6589
  _this.data = data;
6217
6590
  _this.class = 'aup-input-activity';
6218
6591
  var form = new pectin.DirtyTrackingForm();
6219
6592
  _this.valueModel = form.valueModel(_this.data.initialValue);
6220
6593
  _this.valueModel.validateUsing(data.validators || []);
6221
- _this.confirmCommand = pectin.Command.create(function () {
6222
- if (_this.valueModel.validate()) {
6223
- if (data.save) {
6224
- return Promise.resolve(data.save(_this.valueModel, _this.interactionContext))
6225
- .then(function () { return _this.done(); });
6226
- }
6227
- else {
6228
- _this.done(_this.valueModel.value);
6594
+ // TODO: move to global configuration
6595
+ _this.confirmFace = (_a = data.confirmFace) !== null && _a !== void 0 ? _a : {
6596
+ icon: function () { return 'mat:check'; }
6597
+ };
6598
+ _this.cancelFace = (_b = data.cancelFace) !== null && _b !== void 0 ? _b : {
6599
+ icon: function () { return 'mat:clear'; }
6600
+ };
6601
+ _this.confirmCommand = pectin.Command.create(function () { return __awaiter(_this, void 0, void 0, function () {
6602
+ var self_1, allGood_1, result, e_1;
6603
+ return __generator(this, function (_c) {
6604
+ switch (_c.label) {
6605
+ case 0:
6606
+ if (!this.valueModel.validate()) return [3 /*break*/, 6];
6607
+ if (!data.save) return [3 /*break*/, 5];
6608
+ self_1 = this;
6609
+ _c.label = 1;
6610
+ case 1:
6611
+ _c.trys.push([1, 3, , 4]);
6612
+ allGood_1 = true;
6613
+ return [4 /*yield*/, data.save(this.valueModel.value, {
6614
+ injectError: function (error) {
6615
+ allGood_1 = false;
6616
+ self_1.valueModel.injectErrors([error]);
6617
+ }
6618
+ })];
6619
+ case 2:
6620
+ result = _c.sent();
6621
+ if (allGood_1) {
6622
+ this.done(this.valueModel.value);
6623
+ }
6624
+ return [3 /*break*/, 4];
6625
+ case 3:
6626
+ e_1 = _c.sent();
6627
+ console.error(e_1);
6628
+ return [3 /*break*/, 4];
6629
+ case 4: return [3 /*break*/, 6];
6630
+ case 5:
6631
+ this.done(this.valueModel.value);
6632
+ _c.label = 6;
6633
+ case 6: return [2 /*return*/];
6229
6634
  }
6230
- }
6231
- });
6635
+ });
6636
+ }); });
6232
6637
  _this.cancelCommand = pectin.Command.create(function () {
6233
6638
  _this.cancel();
6234
6639
  });
6640
+ _this.busyWhile(_this.confirmCommand.busy);
6235
6641
  return _this;
6236
6642
  }
6237
- AbstractInputActivity.prototype.onActivityReady = function () {
6643
+ Object.defineProperty(InputActivity.prototype, "layout", {
6644
+ get: function () {
6645
+ var _a, _b;
6646
+ return (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.layout) !== null && _b !== void 0 ? _b : InputActivity.Layout.BLOCK;
6647
+ },
6648
+ enumerable: false,
6649
+ configurable: true
6650
+ });
6651
+ InputActivity.prototype.onActivityReady = function () {
6238
6652
  this.valueModel.focusContext.requestFocus();
6239
6653
  };
6240
- return AbstractInputActivity;
6654
+ Object.defineProperty(InputActivity.prototype, "additionalCssClassName", {
6655
+ get: function () {
6656
+ var _a;
6657
+ return (_a = this.data.cssClassName) !== null && _a !== void 0 ? _a : '';
6658
+ },
6659
+ enumerable: false,
6660
+ configurable: true
6661
+ });
6662
+ InputActivity.prototype.onEscape = function () {
6663
+ if (this.shouldCancelOnEscape() && this.cancelCommand.enabled.value) {
6664
+ this.cancelCommand.execute();
6665
+ }
6666
+ };
6667
+ InputActivity.prototype.shouldCancelOnEscape = function () {
6668
+ return ___namespace.isNil(this.data.cancelOnEscape) // we default to true..
6669
+ || this.data.cancelOnEscape;
6670
+ };
6671
+ return InputActivity;
6241
6672
  }(Activity));
6242
- AbstractInputActivity.decorators = [
6673
+ exports.InputActivity.decorators = [
6243
6674
  { type: i0.Component, args: [{ template: "" },] }
6244
6675
  ];
6245
- AbstractInputActivity.ctorParameters = function () { return [
6676
+ exports.InputActivity.ctorParameters = function () { return [
6246
6677
  { type: undefined, decorators: [{ type: i0.Inject, args: [ACTIVITY_DATA,] }] }
6247
6678
  ]; };
6248
- AbstractInputActivity.propDecorators = {
6249
- class: [{ type: i0.HostBinding, args: ['class',] }]
6679
+ exports.InputActivity.propDecorators = {
6680
+ class: [{ type: i0.HostBinding, args: ['class',] }],
6681
+ layout: [{ type: i0.Input }, { type: i0.HostBinding, args: ['attr.layout',] }],
6682
+ additionalCssClassName: [{ type: i0.HostBinding, args: ["class",] }],
6683
+ onEscape: [{ type: i0.HostListener, args: ['keydown.escape',] }]
6250
6684
  };
6685
+ (function (InputActivity) {
6686
+ InputActivity.Layout = typescriptStringEnums.Enum({
6687
+ INLINE: 'inline',
6688
+ BLOCK: 'block'
6689
+ });
6690
+ })(exports.InputActivity || (exports.InputActivity = {}));
6251
6691
 
6252
6692
  var StringInputActivity = /** @class */ (function (_super) {
6253
6693
  __extends(StringInputActivity, _super);
@@ -6255,11 +6695,11 @@
6255
6695
  return _super !== null && _super.apply(this, arguments) || this;
6256
6696
  }
6257
6697
  return StringInputActivity;
6258
- }(AbstractInputActivity));
6698
+ }(exports.InputActivity));
6259
6699
  StringInputActivity.decorators = [
6260
6700
  { type: i0.Component, args: [{
6261
6701
  selector: 'aup-string-input-activity',
6262
- template: "\n <aup-string-input [valueModel]=\"valueModel\"\n [label]=\"data.label\"\n [placeholder]=\"data.placeholder\"\n [command.enter]=\"confirmCommand\"\n [command.escape]=\"cancelCommand\"></aup-string-input>\n <aup-activity-actions align=\"end\"\n [faces]=\"data.buttonStyle\"></aup-activity-actions>\n "
6702
+ template: "\n <aup-string-input [valueModel]=\"valueModel\"\n [label]=\"data.label\"\n [placeholder]=\"data.placeholder\"\n [command.enter]=\"confirmCommand\"\n [command.escape]=\"cancelCommand\"></aup-string-input>\n <aup-activity-actions [layout]=\"layout\" align=\"end\"\n [confirmFace]=\"confirmFace\"\n [cancelFace]=\"cancelFace\"\n ></aup-activity-actions>\n "
6263
6703
  },] }
6264
6704
  ];
6265
6705
 
@@ -6289,11 +6729,11 @@
6289
6729
  configurable: true
6290
6730
  });
6291
6731
  return SelectInputActivity;
6292
- }(AbstractInputActivity));
6732
+ }(exports.InputActivity));
6293
6733
  SelectInputActivity.decorators = [
6294
6734
  { type: i0.Component, args: [{
6295
6735
  selector: 'aup-select-input-activity',
6296
- template: "\n <aup-select-input [valueModel]=\"valueModel\"\n [label]=\"data.label\"\n [placeholder]=\"data.placeholder\"\n [command.enter]=\"confirmCommand\"\n [command.escape]=\"cancelCommand\"\n [options]=\"options\"\n [optionLabelFormat]=\"optionLabelFormat\"\n ></aup-select-input>\n <aup-activity-actions align=\"end\" [faces]=\"data.buttonStyle\"\n ></aup-activity-actions>\n "
6736
+ template: "\n <aup-select-input [valueModel]=\"valueModel\"\n [label]=\"data.label\"\n [placeholder]=\"data.placeholder\"\n [command.enter]=\"confirmCommand\"\n [command.escape]=\"cancelCommand\"\n [options]=\"options\"\n [optionLabelFormat]=\"optionLabelFormat\"\n ></aup-select-input>\n <aup-activity-actions [layout]=\"layout\" align=\"end\"\n [confirmFace]=\"confirmFace\"\n [cancelFace]=\"cancelFace\"\n ></aup-activity-actions>\n "
6297
6737
  },] }
6298
6738
  ];
6299
6739
 
@@ -6442,6 +6882,13 @@
6442
6882
  _this.anchorY = 'bottom';
6443
6883
  return _this;
6444
6884
  }
6885
+ Object.defineProperty(PopupActivityTriggerComponent.prototype, "interactionContext", {
6886
+ get: function () {
6887
+ return this._interactionContext;
6888
+ },
6889
+ enumerable: false,
6890
+ configurable: true
6891
+ });
6445
6892
  return PopupActivityTriggerComponent;
6446
6893
  }(AbstractActivityTriggerComponent));
6447
6894
  PopupActivityTriggerComponent.decorators = [
@@ -6455,8 +6902,240 @@
6455
6902
  PopupActivityTriggerComponent.propDecorators = {
6456
6903
  anchorX: [{ type: i0.Input }],
6457
6904
  anchorY: [{ type: i0.Input }],
6458
- interactionContext: [{ type: i0.ViewChild, args: [PopupInteractionContextComponent, { static: true },] }]
6905
+ _interactionContext: [{ type: i0.ViewChild, args: [PopupInteractionContextComponent, { static: true },] }]
6906
+ };
6907
+
6908
+ exports.InlineEditorModel = /** @class */ (function (_super) {
6909
+ __extends(InlineEditorModel, _super);
6910
+ function InlineEditorModel(valueModel, saveCallback) {
6911
+ var _this = _super.call(this) || this;
6912
+ _this.valueModel = valueModel;
6913
+ _this.saveCallback = saveCallback;
6914
+ _this.editing = new pectin.MutableValueModel(false);
6915
+ _this._validators = new pectin.MutableListModel();
6916
+ _this._editingEnabled = _this.registerDisposable(new pectin.DelegatingValueModel().withDefault(true));
6917
+ pectin.assert.notNil(valueModel);
6918
+ var when = pectin.Dsl.disposeWith(_this).when;
6919
+ when(_this.editingEnabled).becomesFalsey(function () { return _this.cancelEdit(); });
6920
+ return _this;
6921
+ }
6922
+ Object.defineProperty(InlineEditorModel.prototype, "editingEnabled", {
6923
+ get: function () {
6924
+ return this._editingEnabled.readonly;
6925
+ },
6926
+ enumerable: false,
6927
+ configurable: true
6928
+ });
6929
+ InlineEditorModel.prototype.disableWhile = function (condition) {
6930
+ var chain = pectin.Dsl.disposeWith(this).chain;
6931
+ this.enableWhile(chain(condition).isFalsey());
6932
+ return this;
6933
+ };
6934
+ InlineEditorModel.prototype.enableWhile = function (condition) {
6935
+ this._editingEnabled.setDelegate(condition);
6936
+ return this;
6937
+ };
6938
+ Object.defineProperty(InlineEditorModel.prototype, "validators", {
6939
+ get: function () {
6940
+ return this._validators.readonly;
6941
+ },
6942
+ enumerable: false,
6943
+ configurable: true
6944
+ });
6945
+ InlineEditorModel.prototype.validateUsing = function (validator) {
6946
+ this._validators.push(validator);
6947
+ return this;
6948
+ };
6949
+ InlineEditorModel.prototype.isEditing = function () {
6950
+ return this.editing.value;
6951
+ };
6952
+ InlineEditorModel.prototype.cancelEdit = function () {
6953
+ this.editing.value = false;
6954
+ };
6955
+ InlineEditorModel.prototype.startEditing = function () {
6956
+ this.editing.value = true;
6957
+ };
6958
+ return InlineEditorModel;
6959
+ }(pectin.GarbageCollector));
6960
+ (function (InlineEditorModel) {
6961
+ function create(valueModel, options) {
6962
+ return new InlineEditorModel(valueModel, options.save);
6963
+ }
6964
+ InlineEditorModel.create = create;
6965
+ })(exports.InlineEditorModel || (exports.InlineEditorModel = {}));
6966
+ pectin.TrackExternal.oneTimeBinding(exports.InlineEditorModel);
6967
+
6968
+ /**
6969
+ * @example
6970
+ * const source: ValueModel<string> = ...;
6971
+ * const model = InlineEditorModel.create(source, {
6972
+ * save(updated:string, context: EditContext) => {
6973
+ * try {
6974
+ * try and save the thing...
6975
+ * } catch(error) {
6976
+ * context.injectError(error)
6977
+ * }
6978
+ * }).validateUsing(Validator.present("We'll need a value");
6979
+ *
6980
+ * # in the view
6981
+ * <aup-inline-string-editor
6982
+ * label="My field"
6983
+ * placeHolder="I'm ready for a string..."
6984
+ * [editorModel]="model"></aup-inline-string-editor>
6985
+ */
6986
+ exports.InlineStringEditorComponent = /** @class */ (function (_super) {
6987
+ __extends(InlineStringEditorComponent, _super);
6988
+ function InlineStringEditorComponent(interactionService) {
6989
+ var _this = _super.call(this) || this;
6990
+ _this.editingEnabled = _this.registerDisposable(new pectin.DelegatingValueModel());
6991
+ var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, when = _a.when, valueOf = _a.valueOf;
6992
+ var modalIC = interactionService.createModalInteractionContextDisposedWith(_this);
6993
+ var resolvedFacesModel = chain(_this.facesModel).map(function (userFaces) {
6994
+ return Object.assign(Object.assign({}, InlineStringEditorComponent.DEFAULT_FACES), userFaces);
6995
+ }, { allowNil: true });
6996
+ _this.editFaceModel = resolvedFacesModel.pluck('edit');
6997
+ _this.saveFace = resolvedFacesModel.pluck('save');
6998
+ _this.cancelFace = resolvedFacesModel.pluck('cancel');
6999
+ var self = _this;
7000
+ _this.editCommand = pectin.Command.create(function () { return __awaiter(_this, void 0, void 0, function () {
7001
+ var e_1;
7002
+ return __generator(this, function (_a) {
7003
+ switch (_a.label) {
7004
+ case 0:
7005
+ this.editorModel.editing.value = true;
7006
+ _a.label = 1;
7007
+ case 1:
7008
+ _a.trys.push([1, 3, 4, 5]);
7009
+ return [4 /*yield*/, this.interactionContext.startActivity(StringInputActivity, this.createInputActivityData())];
7010
+ case 2:
7011
+ _a.sent();
7012
+ return [3 /*break*/, 5];
7013
+ case 3:
7014
+ e_1 = _a.sent();
7015
+ return [3 /*break*/, 5];
7016
+ case 4:
7017
+ this.editorModel.editing.value = false;
7018
+ return [7 /*endfinally*/];
7019
+ case 5: return [2 /*return*/];
7020
+ }
7021
+ });
7022
+ }); }).enableWhile(_this.editingEnabled);
7023
+ _this.onDispose(function () { return _this.cancelEdit(); });
7024
+ return _this;
7025
+ }
7026
+ InlineStringEditorComponent.prototype.ngOnInit = function () {
7027
+ var _this = this;
7028
+ // our editor model is a one time binding without delegates so we can only
7029
+ // use it once we've been initialised
7030
+ var _a = pectin.Dsl.disposeWith(this), chain = _a.chain, when = _a.when, valueOf = _a.valueOf;
7031
+ if (!this.editorModel) {
7032
+ typescriptUtilities.lang.illegalState('editorModel is required');
7033
+ }
7034
+ this.editingEnabled.setDelegate(this.editorModel.editingEnabled);
7035
+ when(this.editorModel.editing).becomesTruthy(function () {
7036
+ _this.editCommand.execute();
7037
+ }, { asLongAs: this.editCommand.enabled });
7038
+ when(this.editorModel.editing).becomesFalsey(function () { return _this.cancelEdit(); });
7039
+ this.empty = valueOf.any(chain.stringValue(this.editorModel.valueModel).isBlank()
7040
+ // deviceDescription.isNil()
7041
+ ).areTruthy();
7042
+ this.displayValue = chain(this.editorModel.valueModel).map(function (v) {
7043
+ return ___namespace.isEmpty(v) ? _this.placeHolderModel.value : v;
7044
+ }, { dependsOn: this.placeHolderModel, allowNil: true });
7045
+ };
7046
+ InlineStringEditorComponent.prototype.createInputActivityData = function () {
7047
+ var self = this;
7048
+ return {
7049
+ initialValue: self.editorModel.valueModel.value,
7050
+ confirmFace: self.saveFace.value,
7051
+ cancelFace: self.cancelFace.value,
7052
+ placeholder: self.placeHolderModel.value,
7053
+ label: self.label,
7054
+ layout: exports.InputActivity.Layout.INLINE,
7055
+ validators: self.editorModel.validators.value,
7056
+ save: function (value, inputContext) {
7057
+ return __awaiter(this, void 0, void 0, function () {
7058
+ return __generator(this, function (_a) {
7059
+ switch (_a.label) {
7060
+ case 0: return [4 /*yield*/, self.editorModel.saveCallback(value, inputContext)];
7061
+ case 1:
7062
+ _a.sent();
7063
+ return [2 /*return*/];
7064
+ }
7065
+ });
7066
+ });
7067
+ }
7068
+ };
7069
+ };
7070
+ InlineStringEditorComponent.prototype.cancelEdit = function () {
7071
+ if (this.isEditing()) {
7072
+ this.interactionContext.cancelActiveActivity();
7073
+ }
7074
+ };
7075
+ InlineStringEditorComponent.prototype.startEdit = function () {
7076
+ if (!this.isEditing() && this.editCommand.enabled.value) {
7077
+ this.editCommand.execute();
7078
+ }
7079
+ };
7080
+ InlineStringEditorComponent.prototype.isEditing = function () {
7081
+ return this.interactionContext.isActive();
7082
+ };
7083
+ InlineStringEditorComponent.prototype.isEmpty = function () {
7084
+ return this.empty.value;
7085
+ };
7086
+ return InlineStringEditorComponent;
7087
+ }(DisposableComponent));
7088
+ exports.InlineStringEditorComponent.decorators = [
7089
+ { type: i0.Component, args: [{
7090
+ selector: 'aup-inline-string-editor',
7091
+ template: "<div class=\"container\" *ngIf=\"!editorModel.isEditing()\">\n <mat-form-field appearance=\"standard\" floatLabel=\"always\" (click)=\"startEdit()\"\n [class.editable]=\"editingEnabled.value\" [class.empty]=\"isEmpty()\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeHolder}}\"\n [ngModel]=\"editorModel.valueModel.value\"\n [disabled]=\"true\"\n >\n <!-- <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>-->\n <!-- <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>-->\n <!-- <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>-->\n </mat-form-field>\n <aup-command *ngIf=\"editCommand.enabled.value\" [command]=\"editCommand\" [faceModel]=\"editFaceModel\"></aup-command>\n</div>\n<aup-in-place-interaction-context [animateFirstActivity]=\"false\"></aup-in-place-interaction-context>\n"
7092
+ },] }
7093
+ ];
7094
+ exports.InlineStringEditorComponent.ctorParameters = function () { return [
7095
+ { type: exports.InteractionService }
7096
+ ]; };
7097
+ exports.InlineStringEditorComponent.propDecorators = {
7098
+ editorModel: [{ type: i0.Input }],
7099
+ facesModel: [{ type: i0.Input }],
7100
+ faces: [{ type: i0.Input }],
7101
+ interactionContext: [{ type: i0.ViewChild, args: [InPlaceInteractionContextComponent,] }],
7102
+ label: [{ type: i0.Input }],
7103
+ placeHolder: [{ type: i0.Input }],
7104
+ placeHolderModel: [{ type: i0.Input }]
6459
7105
  };
7106
+ __decorate([
7107
+ pectin.TrackExternal(),
7108
+ __metadata("design:type", exports.InlineEditorModel)
7109
+ ], exports.InlineStringEditorComponent.prototype, "editorModel", void 0);
7110
+ __decorate([
7111
+ pectin.TrackExternal(),
7112
+ __metadata("design:type", pectin.ValueModel)
7113
+ ], exports.InlineStringEditorComponent.prototype, "facesModel", void 0);
7114
+ __decorate([
7115
+ pectin.StoreInValueModel('facesModel'),
7116
+ __metadata("design:type", Object)
7117
+ ], exports.InlineStringEditorComponent.prototype, "faces", void 0);
7118
+ __decorate([
7119
+ pectin.StoreInValueModel('placeHolderModel'),
7120
+ __metadata("design:type", String)
7121
+ ], exports.InlineStringEditorComponent.prototype, "placeHolder", void 0);
7122
+ __decorate([
7123
+ pectin.TrackExternal(),
7124
+ __metadata("design:type", pectin.ValueModel)
7125
+ ], exports.InlineStringEditorComponent.prototype, "placeHolderModel", void 0);
7126
+ (function (InlineStringEditorComponent) {
7127
+ InlineStringEditorComponent.DEFAULT_FACES = {
7128
+ edit: {
7129
+ icon: function () { return 'mat:edit'; }
7130
+ },
7131
+ save: {
7132
+ icon: function () { return 'mat:check'; }
7133
+ },
7134
+ cancel: {
7135
+ icon: function () { return 'mat:clear'; }
7136
+ }
7137
+ };
7138
+ })(exports.InlineStringEditorComponent || (exports.InlineStringEditorComponent = {}));
6460
7139
 
6461
7140
  var InteractionModule = /** @class */ (function () {
6462
7141
  function InteractionModule() {
@@ -6476,7 +7155,11 @@
6476
7155
  DirectivesModule,
6477
7156
  flexLayout.FlexModule,
6478
7157
  flexLayout.GridModule,
6479
- ComponentsModule
7158
+ ComponentsModule,
7159
+ forms.FormsModule,
7160
+ input.MatInputModule,
7161
+ formField.MatFormFieldModule,
7162
+ a11y.A11yModule
6480
7163
  ],
6481
7164
  declarations: [
6482
7165
  ActivityContainerComponent,
@@ -6486,20 +7169,22 @@
6486
7169
  ActivityOutletComponent,
6487
7170
  InPlaceInteractionContextComponent,
6488
7171
  AddItemInteractionContextComponent,
6489
- ActivityActionsComponent,
7172
+ exports.ActivityActionsComponent,
6490
7173
  PopupInteractionContextComponent,
6491
7174
  StringInputActivity,
6492
7175
  SelectInputActivity,
6493
- AbstractInputActivity,
7176
+ exports.InputActivity,
6494
7177
  InteractionContextTriggerFor,
6495
7178
  Activity,
6496
7179
  ActivityTitleComponent,
6497
7180
  ActivityBodyComponent,
6498
- ActivityActionsComponent,
7181
+ exports.ActivityActionsComponent,
6499
7182
  AbstractActivityTriggerComponent,
6500
7183
  PopupActivityTriggerComponent,
6501
7184
  InlineActivityTriggerComponent,
6502
- ModalActivityTriggerComponent
7185
+ ModalActivityTriggerComponent,
7186
+ exports.AddCardActivityComponent,
7187
+ exports.InlineStringEditorComponent,
6503
7188
  ],
6504
7189
  exports: [
6505
7190
  ActivityContainerComponent,
@@ -6507,7 +7192,7 @@
6507
7192
  ActivityTitleComponent,
6508
7193
  InPlaceInteractionContextComponent,
6509
7194
  AddItemInteractionContextComponent,
6510
- ActivityActionsComponent,
7195
+ exports.ActivityActionsComponent,
6511
7196
  PopupInteractionContextComponent,
6512
7197
  InteractionContextTriggerFor,
6513
7198
  StringInputActivity,
@@ -6515,7 +7200,9 @@
6515
7200
  ActivityBodyComponent,
6516
7201
  PopupActivityTriggerComponent,
6517
7202
  InlineActivityTriggerComponent,
6518
- ModalActivityTriggerComponent
7203
+ ModalActivityTriggerComponent,
7204
+ exports.AddCardActivityComponent,
7205
+ exports.InlineStringEditorComponent,
6519
7206
  ],
6520
7207
  entryComponents: [
6521
7208
  ActivityContainerComponent,
@@ -6827,17 +7514,28 @@
6827
7514
  _this.childPlaces = _this.placeDefinition.children.map(function (d) { return d.component; });
6828
7515
  return _this;
6829
7516
  }
6830
- // @Trace()
6831
7517
  PlaceComponent.prototype.initialiseVisit = function (visit, notifyVisitChanged) {
6832
7518
  var _this = this;
6833
7519
  pectin.assert.isNil(this.visitModel.value);
6834
7520
  var when = pectin.Dsl.disposeWith(this).when;
6835
7521
  this.visitModel.value = visit;
6836
7522
  pectin.DebugContext.getOrCreate(this.visitModel).tag(this.placeDefinition.component.name + ".visitModel");
6837
- this.placeDefinition.getVisitParameterDefs().forEach(function (parameterDef) { return _this.installBinding(parameterDef); });
7523
+ // we track if the any of the bindings updated the route. If so we remember it and update the
7524
+ // route in one go at the end.
7525
+ this.placeDefinition
7526
+ .getVisitParameterDefs()
7527
+ .forEach(function (parameterDef) { return _this.installAndInitialiseBinding(visit, parameterDef); });
6838
7528
  when(this.visitModel).changes(function (current, previous) {
6839
7529
  notifyVisitChanged(current, previous);
6840
7530
  }, { unless: this._inVisitUpdate });
7531
+ // TODO: this needs to do a replace url option so that the new url isn't put in the history.... for
7532
+ // now we're not doing it as it's a fair bit of effort and will only affect people if they're
7533
+ // cutting and pasting urls to each other.
7534
+ // // the binding process can update the visit (e.g. if a selection model has already selected during
7535
+ // // component construction) and there was no value specified in the route
7536
+ // if (visit.hasRoutingChangedFrom(this.visitModel.value)) {
7537
+ // notifyVisitChanged(this.visitModel.value, visit)
7538
+ // }
6841
7539
  };
6842
7540
  PlaceComponent.prototype.updateVisit = function (visit) {
6843
7541
  var _this = this;
@@ -6851,7 +7549,12 @@
6851
7549
  return !!this.visitModel.value;
6852
7550
  };
6853
7551
  // @Trace()
6854
- PlaceComponent.prototype.installBinding = function (parameterDef) {
7552
+ /**
7553
+ * Initialised the component bindings. If any binding has an initial model value (e.g. a selection model
7554
+ * initialised during the constructor) and the route has nothing, then the visit will be udpated and this
7555
+ * method will return ture to nofiy the the visit has changed.
7556
+ */
7557
+ PlaceComponent.prototype.installAndInitialiseBinding = function (initialVisit, parameterDef) {
6855
7558
  var model = this[parameterDef.propertyName];
6856
7559
  pectin.DebugContext.tag(model, this.placeDefinition.component.name + "." + parameterDef.propertyName);
6857
7560
  var binding = this.registerDisposable(new pectin.Binding(this.visitModel, model, {
@@ -6865,7 +7568,17 @@
6865
7568
  return currentVisit.replace(parameterDef, value);
6866
7569
  }
6867
7570
  }));
6868
- binding.writeRight();
7571
+ // Now we need to initialise the binding direction. If we have a value in the Url then we should always push
7572
+ // that to the view. If we don't and the view already has a value (e.g. a selection model has already initialised in the
7573
+ // component constructor) then we should push that to the route.
7574
+ var isInVisit = !___namespace.isNil(initialVisit.getParameterValue(parameterDef));
7575
+ var isInModel = !___namespace.isNil(model.value);
7576
+ if (!isInVisit && isInModel) {
7577
+ binding.writeLeft(); // push it to the route
7578
+ }
7579
+ else {
7580
+ binding.writeRight(); // push it to the model
7581
+ }
6869
7582
  };
6870
7583
  Object.defineProperty(PlaceComponent.prototype, "placeDefinition", {
6871
7584
  get: function () {
@@ -8037,7 +8750,7 @@
8037
8750
  };
8038
8751
  Object.defineProperty(ConsolidatedParameterMap.prototype, "keys", {
8039
8752
  get: function () {
8040
- return this.paramMaps.reduce(function (result, params) { return result.concat(params.keys); }, []);
8753
+ return ___namespace.uniq(this.paramMaps.reduce(function (result, params) { return result.concat(params.keys); }, []));
8041
8754
  },
8042
8755
  enumerable: false,
8043
8756
  configurable: true
@@ -8126,9 +8839,13 @@
8126
8839
  });
8127
8840
  return new Visit(this.placeDefinition, params);
8128
8841
  };
8842
+ // @Trace()
8129
8843
  Visit.prototype.hasRoutingChangedFrom = function (other) {
8130
8844
  var samePlace = other.placeDefinition === this.placeDefinition;
8131
- var sameRouteParameters = ___namespace.isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
8845
+ var currentParams = this.placeDefinition.getFormattedRouteParameters(this, true);
8846
+ var otherParams = this.placeDefinition.getFormattedRouteParameters(other, true);
8847
+ // console.log({currentParams, otherParams});
8848
+ var sameRouteParameters = ___namespace.isEqual(currentParams, otherParams);
8132
8849
  return !samePlace || !sameRouteParameters;
8133
8850
  };
8134
8851
  Visit.prototype.hasChangedFrom = function (other) {
@@ -8152,6 +8869,7 @@
8152
8869
  this.url = url;
8153
8870
  this.urlTree = urlSerializer.parse(url);
8154
8871
  }
8872
+ // @Trace()
8155
8873
  UrlSnapshot.prototype.updateVisitSegments = function (visit) {
8156
8874
  var newUrlTree = this.urlSerializer.parse(this.url);
8157
8875
  // Ugly, but it works for now.
@@ -8229,12 +8947,6 @@
8229
8947
  };
8230
8948
  return UrlSnapshot;
8231
8949
  }());
8232
- __decorate([
8233
- pectin.Trace(),
8234
- __metadata("design:type", Function),
8235
- __metadata("design:paramtypes", [Visit]),
8236
- __metadata("design:returntype", exports.UrlSnapshot)
8237
- ], exports.UrlSnapshot.prototype, "updateVisitSegments", null);
8238
8950
  __decorate([
8239
8951
  src.Memoize(),
8240
8952
  __metadata("design:type", Function),
@@ -8321,6 +9033,9 @@
8321
9033
  { type: i1$1.UrlSerializer }
8322
9034
  ]; };
8323
9035
 
9036
+ function asArray(item) {
9037
+ return Array.isArray(item) ? item : [item];
9038
+ }
8324
9039
  exports.PlaceRouter = /** @class */ (function (_super) {
8325
9040
  __extends(PlaceRouter, _super);
8326
9041
  function PlaceRouter(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
@@ -8500,17 +9215,15 @@
8500
9215
  };
8501
9216
  PlaceRouter.prototype.navigate = function (visit, options) {
8502
9217
  var _this = this;
9218
+ var commands = asArray(visit).reduce(function (result, v) {
9219
+ return __spreadArray(__spreadArray(__spreadArray([], __read(result)), [v.placeDefinition.path]), __read(_this.createRouteParameters(v)));
9220
+ }, []);
8503
9221
  return this.doNavigation(visit, function (router) { return __awaiter(_this, void 0, void 0, function () {
8504
- var commands;
8505
9222
  return __generator(this, function (_a) {
8506
9223
  switch (_a.label) {
8507
- case 0:
8508
- commands = __spreadArray([
8509
- visit.placeDefinition.path
8510
- ], __read(this.createRouteParameters(visit)));
8511
- return [4 /*yield*/, this.angularRouter.navigate(commands, {
8512
- relativeTo: options ? options.relativeTo : null
8513
- })];
9224
+ case 0: return [4 /*yield*/, this.angularRouter.navigate(commands, {
9225
+ relativeTo: options ? options.relativeTo : null
9226
+ })];
8514
9227
  case 1:
8515
9228
  _a.sent();
8516
9229
  return [2 /*return*/];
@@ -8529,7 +9242,7 @@
8529
9242
  pectin.lang.illegalState('Navigation already in progress');
8530
9243
  }
8531
9244
  navigation = this.createNavigationSession(this.urlService.getCurrentRouterUrl());
8532
- navigation.storeVisit(visit);
9245
+ asArray(visit).forEach(function (v) { return navigation.storeVisit(v); });
8533
9246
  this.transitionTo(navigation);
8534
9247
  _a.label = 1;
8535
9248
  case 1:
@@ -8625,6 +9338,7 @@
8625
9338
  * to be able to capture the back button on the first page. If we don't then the back click will exit
8626
9339
  * the app directly and we don't get to ask.
8627
9340
  */
9341
+ // @Trace()
8628
9342
  PlaceRouter.prototype.syncInteractionContextIdsWithRouter = function () {
8629
9343
  var _this = this;
8630
9344
  if (this.navigationSession) {
@@ -8668,12 +9382,6 @@
8668
9382
  { type: UrlService },
8669
9383
  { type: exports.PlaceHistory }
8670
9384
  ]; };
8671
- __decorate([
8672
- pectin.Trace(),
8673
- __metadata("design:type", Function),
8674
- __metadata("design:paramtypes", []),
8675
- __metadata("design:returntype", Promise)
8676
- ], exports.PlaceRouter.prototype, "syncInteractionContextIdsWithRouter", null);
8677
9385
  (function (PlaceRouter) {
8678
9386
  var State = /** @class */ (function () {
8679
9387
  function State(activeVisits) {
@@ -9512,13 +10220,13 @@
9512
10220
  }
9513
10221
  _a.label = 2;
9514
10222
  case 2: return [4 /*yield*/, this.cleanInteractionState(activatedRoute, state, function () { return __awaiter(_this, void 0, void 0, function () {
9515
- var params, parsedParams, navigationSession, initialVisit, sanitiser, sanitisedVisit, urlSnapshot;
10223
+ var navigationSession, params, parsedParams, initialVisit, sanitiser, sanitisedVisit, urlSnapshot;
9516
10224
  return __generator(this, function (_a) {
9517
10225
  switch (_a.label) {
9518
10226
  case 0:
10227
+ navigationSession = this.placeRouter.navigationSession;
9519
10228
  params = new ConsolidatedParameterMap(activatedRoute.url, activatedRoute.paramMap);
9520
10229
  parsedParams = placeDefinition_1.parseRouteParams(params);
9521
- navigationSession = this.placeRouter.navigationSession;
9522
10230
  initialVisit = navigationSession.getVisitFor(placeDefinition_1) || new Visit(placeDefinition_1, parsedParams);
9523
10231
  sanitiser = new VisitSanitiser(navigationSession, activatedRoute, this.router, this.placeHistory, this.injector);
9524
10232
  return [4 /*yield*/, sanitiser.sanitise(initialVisit.mergeRouteParameters(parsedParams))];
@@ -9807,7 +10515,7 @@
9807
10515
  exports.AUP_PLACE_CONFIG = AUP_PLACE_CONFIG;
9808
10516
  exports.AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT = AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT;
9809
10517
  exports.AbstractActivityTriggerComponent = AbstractActivityTriggerComponent;
9810
- exports.AbstractInputActivity = AbstractInputActivity;
10518
+ exports.AbstractCardContainerComponent = AbstractCardContainerComponent;
9811
10519
  exports.AbstractInputComponent = AbstractInputComponent;
9812
10520
  exports.AbstractInteractionContext = AbstractInteractionContext;
9813
10521
  exports.AbstractListInputComponent = AbstractListInputComponent;
@@ -9818,7 +10526,6 @@
9818
10526
  exports.AbstractTableModel = AbstractTableModel;
9819
10527
  exports.AbstractValueInputComponent = AbstractValueInputComponent;
9820
10528
  exports.Activity = Activity;
9821
- exports.ActivityActionsComponent = ActivityActionsComponent;
9822
10529
  exports.ActivityBodyComponent = ActivityBodyComponent;
9823
10530
  exports.ActivityContainerComponent = ActivityContainerComponent;
9824
10531
  exports.ActivityOutletComponent = ActivityOutletComponent;
@@ -9832,6 +10539,7 @@
9832
10539
  exports.CELL_EDITOR_PORTAL = CELL_EDITOR_PORTAL;
9833
10540
  exports.CELL_RENDERER_PORTAL = CELL_RENDERER_PORTAL;
9834
10541
  exports.CardContainerComponent = CardContainerComponent;
10542
+ exports.CardStackComponent = CardStackComponent;
9835
10543
  exports.CellEditorPortalRef = CellEditorPortalRef;
9836
10544
  exports.CellHeaderPortalRef = CellHeaderPortalRef;
9837
10545
  exports.CellPortalRef = CellPortalRef;
@@ -9881,8 +10589,10 @@
9881
10589
  exports.InteractionModule = InteractionModule;
9882
10590
  exports.InteractionServiceRoutingAdapter = InteractionServiceRoutingAdapter;
9883
10591
  exports.LEFT_RIGHT_PLACE_ANIMATION = LEFT_RIGHT_PLACE_ANIMATION;
10592
+ exports.LabelledValueComponent = LabelledValueComponent;
9884
10593
  exports.ListPlaceNavComponent = ListPlaceNavComponent;
9885
10594
  exports.ListPropertyColumnModel = ListPropertyColumnModel;
10595
+ exports.LoadingContainerComponent = LoadingContainerComponent;
9886
10596
  exports.ModalActivityTriggerComponent = ModalActivityTriggerComponent;
9887
10597
  exports.ModalInteractionContextFactory = ModalInteractionContextFactory;
9888
10598
  exports.MoreMenuComponent = MoreMenuComponent;