@coolon/angular-ui-powerups 12.4.0-alpha.8 → 12.4.0-alpha.81

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 (542) 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 +10 -2
  6. package/assets/forms/mixins.scss +6 -0
  7. package/assets/interaction/editor/inline-string-editor.scss +54 -0
  8. package/assets/interaction.scss +10 -7
  9. package/assets/markdown.scss +10 -0
  10. package/assets/mixins.scss +5 -7
  11. package/assets/pills.scss +45 -0
  12. package/assets/styles.scss +11 -15
  13. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +741 -336
  14. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  15. package/bundles/coolon-angular-ui-powerups.umd.js +1436 -448
  16. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  17. package/coolon-angular-ui-powerups.metadata.json +1 -1
  18. package/cypress/component-builder.d.ts +71 -0
  19. package/cypress/components/aup-abstract-activity.d.ts +31 -0
  20. package/cypress/components/aup-abstract-table.d.ts +18 -0
  21. package/cypress/components/aup-activity.d.ts +9 -0
  22. package/cypress/components/aup-alert-dialog.d.ts +27 -0
  23. package/cypress/components/aup-alert.d.ts +9 -0
  24. package/cypress/components/aup-command-face.d.ts +2 -8
  25. package/cypress/components/aup-command.d.ts +2 -1
  26. package/cypress/components/aup-confirm-dialog.d.ts +27 -0
  27. package/cypress/components/aup-confirm.d.ts +11 -0
  28. package/cypress/components/aup-empty-state.d.ts +1 -2
  29. package/cypress/components/aup-input.d.ts +11 -5
  30. package/cypress/components/aup-modal-activity.d.ts +24 -0
  31. package/cypress/components/aup-modal-mixin.d.ts +23 -0
  32. package/cypress/components/aup-table.d.ts +5 -18
  33. package/cypress/components/aup-tree-table.d.ts +16 -0
  34. package/cypress/components/button.d.ts +11 -7
  35. package/cypress/components/form-element-mixin.d.ts +22 -0
  36. package/cypress/components/mat-checkbox.d.ts +31 -0
  37. package/cypress/components/popup/aup-abstract-popup-menu.d.ts +15 -0
  38. package/cypress/components/popup/aup-more-menu.d.ts +5 -0
  39. package/cypress/components/popup/aup-popup-menu-panel.d.ts +3 -0
  40. package/cypress/components/popup/aup-popup-menu.d.ts +7 -0
  41. package/cypress/components/table/aup-table-cell.d.ts +9 -0
  42. package/cypress/components/table/aup-table-column.d.ts +10 -0
  43. package/cypress/components/table/aup-table-row.d.ts +17 -0
  44. package/cypress/components/table/aup-table-selection-cell.d.ts +5 -0
  45. package/cypress/components/table/aup-table-selection-column.d.ts +5 -0
  46. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  47. package/cypress/element-locator.d.ts +8 -0
  48. package/cypress/exports.d.ts +24 -4
  49. package/cypress/package.json +1 -1
  50. package/cypress/page-builder.d.ts +9 -0
  51. package/cypress/page-element.d.ts +12 -12
  52. package/cypress/page.d.ts +8 -34
  53. package/esm2015/cypress/component-builder.js +92 -0
  54. package/esm2015/cypress/component-builder.js.map +1 -0
  55. package/esm2015/cypress/component-builder.metadata.json +1 -0
  56. package/esm2015/cypress/components/aup-abstract-activity.js +12 -0
  57. package/esm2015/cypress/components/aup-abstract-activity.js.map +1 -0
  58. package/esm2015/cypress/components/aup-abstract-activity.metadata.json +1 -0
  59. package/esm2015/cypress/components/aup-abstract-table.js +50 -0
  60. package/esm2015/cypress/components/aup-abstract-table.js.map +1 -0
  61. package/esm2015/cypress/components/aup-abstract-table.metadata.json +1 -0
  62. package/esm2015/cypress/components/aup-activity.js +13 -0
  63. package/esm2015/cypress/components/aup-activity.js.map +1 -0
  64. package/esm2015/cypress/components/aup-activity.metadata.json +1 -0
  65. package/esm2015/cypress/components/aup-alert-dialog.js +8 -0
  66. package/esm2015/cypress/components/aup-alert-dialog.js.map +1 -0
  67. package/esm2015/cypress/components/aup-alert-dialog.metadata.json +1 -0
  68. package/esm2015/cypress/components/aup-alert.js +13 -0
  69. package/esm2015/cypress/components/aup-alert.js.map +1 -0
  70. package/esm2015/cypress/components/aup-alert.metadata.json +1 -0
  71. package/esm2015/cypress/components/aup-command-face.js +11 -22
  72. package/esm2015/cypress/components/aup-command-face.js.map +1 -1
  73. package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
  74. package/esm2015/cypress/components/aup-command.js +12 -6
  75. package/esm2015/cypress/components/aup-command.js.map +1 -1
  76. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  77. package/esm2015/cypress/components/aup-confirm-dialog.js +8 -0
  78. package/esm2015/cypress/components/aup-confirm-dialog.js.map +1 -0
  79. package/esm2015/cypress/components/aup-confirm-dialog.metadata.json +1 -0
  80. package/esm2015/cypress/components/aup-confirm.js +19 -0
  81. package/esm2015/cypress/components/aup-confirm.js.map +1 -0
  82. package/esm2015/cypress/components/aup-confirm.metadata.json +1 -0
  83. package/esm2015/cypress/components/aup-empty-state.js +2 -2
  84. package/esm2015/cypress/components/aup-empty-state.js.map +1 -1
  85. package/esm2015/cypress/components/aup-empty-state.metadata.json +1 -1
  86. package/esm2015/cypress/components/aup-input.js +17 -5
  87. package/esm2015/cypress/components/aup-input.js.map +1 -1
  88. package/esm2015/cypress/components/aup-input.metadata.json +1 -1
  89. package/esm2015/cypress/components/aup-modal-activity.js +5 -0
  90. package/esm2015/cypress/components/aup-modal-activity.js.map +1 -0
  91. package/esm2015/cypress/components/aup-modal-activity.metadata.json +1 -0
  92. package/esm2015/cypress/components/aup-modal-mixin.js +18 -0
  93. package/esm2015/cypress/components/aup-modal-mixin.js.map +1 -0
  94. package/esm2015/cypress/components/aup-modal-mixin.metadata.json +1 -0
  95. package/esm2015/cypress/components/aup-navigation.js +1 -1
  96. package/esm2015/cypress/components/aup-navigation.js.map +1 -1
  97. package/esm2015/cypress/components/aup-table.js +5 -33
  98. package/esm2015/cypress/components/aup-table.js.map +1 -1
  99. package/esm2015/cypress/components/aup-table.metadata.json +1 -1
  100. package/esm2015/cypress/components/aup-tree-table.js +34 -0
  101. package/esm2015/cypress/components/aup-tree-table.js.map +1 -0
  102. package/esm2015/cypress/components/aup-tree-table.metadata.json +1 -0
  103. package/esm2015/cypress/components/button.js +4 -10
  104. package/esm2015/cypress/components/button.js.map +1 -1
  105. package/esm2015/cypress/components/button.metadata.json +1 -1
  106. package/esm2015/cypress/components/form-element-mixin.js +11 -0
  107. package/esm2015/cypress/components/form-element-mixin.js.map +1 -0
  108. package/esm2015/cypress/components/form-element-mixin.metadata.json +1 -0
  109. package/esm2015/cypress/components/mat-checkbox.js +34 -0
  110. package/esm2015/cypress/components/mat-checkbox.js.map +1 -0
  111. package/esm2015/cypress/components/mat-checkbox.metadata.json +1 -0
  112. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js +33 -0
  113. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js.map +1 -0
  114. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.metadata.json +1 -0
  115. package/esm2015/cypress/components/popup/aup-more-menu.js +8 -0
  116. package/esm2015/cypress/components/popup/aup-more-menu.js.map +1 -0
  117. package/esm2015/cypress/components/popup/aup-more-menu.metadata.json +1 -0
  118. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js +4 -0
  119. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js.map +1 -0
  120. package/esm2015/cypress/components/popup/aup-popup-menu-panel.metadata.json +1 -0
  121. package/esm2015/cypress/components/popup/aup-popup-menu.js +12 -0
  122. package/esm2015/cypress/components/popup/aup-popup-menu.js.map +1 -0
  123. package/esm2015/cypress/components/popup/aup-popup-menu.metadata.json +1 -0
  124. package/esm2015/cypress/components/table/aup-table-cell.js +14 -0
  125. package/esm2015/cypress/components/table/aup-table-cell.js.map +1 -0
  126. package/esm2015/cypress/components/table/aup-table-cell.metadata.json +1 -0
  127. package/esm2015/cypress/components/table/aup-table-column.js +19 -0
  128. package/esm2015/cypress/components/table/aup-table-column.js.map +1 -0
  129. package/esm2015/cypress/components/table/aup-table-column.metadata.json +1 -0
  130. package/esm2015/cypress/components/table/aup-table-row.js +28 -0
  131. package/esm2015/cypress/components/table/aup-table-row.js.map +1 -0
  132. package/esm2015/cypress/components/table/aup-table-row.metadata.json +1 -0
  133. package/esm2015/cypress/components/table/aup-table-selection-cell.js +6 -0
  134. package/esm2015/cypress/components/table/aup-table-selection-cell.js.map +1 -0
  135. package/esm2015/cypress/components/table/aup-table-selection-cell.metadata.json +1 -0
  136. package/esm2015/cypress/components/table/aup-table-selection-column.js +6 -0
  137. package/esm2015/cypress/components/table/aup-table-selection-column.js.map +1 -0
  138. package/esm2015/cypress/components/table/aup-table-selection-column.metadata.json +1 -0
  139. package/esm2015/cypress/element-locator.js +16 -0
  140. package/esm2015/cypress/element-locator.js.map +1 -0
  141. package/esm2015/cypress/element-locator.metadata.json +1 -0
  142. package/esm2015/cypress/exports.js +24 -4
  143. package/esm2015/cypress/exports.js.map +1 -1
  144. package/esm2015/cypress/exports.metadata.json +1 -1
  145. package/esm2015/cypress/page-builder.js +16 -0
  146. package/esm2015/cypress/page-builder.js.map +1 -0
  147. package/esm2015/cypress/page-builder.metadata.json +1 -0
  148. package/esm2015/cypress/page-element.js +26 -19
  149. package/esm2015/cypress/page-element.js.map +1 -1
  150. package/esm2015/cypress/page-element.metadata.json +1 -1
  151. package/esm2015/cypress/page.js +31 -19
  152. package/esm2015/cypress/page.js.map +1 -1
  153. package/esm2015/cypress/page.metadata.json +1 -1
  154. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  155. package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +1 -1
  156. package/esm2015/lib/components/busy-overlay/busy-overlay.component.metadata.json +1 -1
  157. package/esm2015/lib/components/cards/abstract-card-container.component.js +29 -0
  158. package/esm2015/lib/components/cards/abstract-card-container.component.js.map +1 -0
  159. package/esm2015/lib/components/cards/abstract-card-container.component.metadata.json +1 -0
  160. package/esm2015/lib/components/cards/abstract-card-container.component.ngfactory.js.map +1 -0
  161. package/esm2015/lib/components/cards/card-container/card-container.component.js +123 -0
  162. package/esm2015/lib/components/cards/card-container/card-container.component.js.map +1 -0
  163. package/esm2015/lib/components/cards/card-container/card-container.component.metadata.json +1 -0
  164. package/esm2015/lib/components/cards/card-container/card-container.component.ngfactory.js.map +1 -0
  165. package/esm2015/lib/components/cards/card-container/card-container.component.scss.shim.ngstyle.js.map +1 -0
  166. package/esm2015/lib/components/cards/card-stack/card-stack.component.js +78 -0
  167. package/esm2015/lib/components/cards/card-stack/card-stack.component.js.map +1 -0
  168. package/esm2015/lib/components/cards/card-stack/card-stack.component.metadata.json +1 -0
  169. package/esm2015/lib/components/cards/card-stack/card-stack.component.ngfactory.js.map +1 -0
  170. package/esm2015/lib/components/cards/card-stack/card-stack.component.scss.shim.ngstyle.js.map +1 -0
  171. package/esm2015/lib/components/commands/command/command.component.js +1 -1
  172. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
  173. package/esm2015/lib/components/commands/command-face/command-face.component.js +5 -1
  174. package/esm2015/lib/components/commands/command-face/command-face.component.js.map +1 -1
  175. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +1 -1
  176. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js +1 -1
  177. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js.map +1 -1
  178. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js +1 -1
  179. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js.map +1 -1
  180. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +1 -1
  181. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.metadata.json +1 -1
  182. package/esm2015/lib/components/components.module.js +43 -25
  183. package/esm2015/lib/components/components.module.js.map +1 -1
  184. package/esm2015/lib/components/components.module.metadata.json +1 -1
  185. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  186. package/esm2015/lib/components/empty-state/empty-state.component.js +1 -1
  187. package/esm2015/lib/components/empty-state/empty-state.component.metadata.json +1 -1
  188. package/esm2015/lib/components/exports.js +8 -4
  189. package/esm2015/lib/components/exports.js.map +1 -1
  190. package/esm2015/lib/components/exports.metadata.json +1 -1
  191. package/esm2015/lib/components/focus-container/focus-container.component.js +1 -1
  192. package/esm2015/lib/components/focus-container/focus-container.component.metadata.json +1 -1
  193. package/esm2015/lib/components/forms/abstract-input.component.js +1 -0
  194. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  195. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +1 -1
  196. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -1
  197. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
  198. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  199. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +1 -1
  200. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  201. package/esm2015/lib/components/forms/select-input/select-input.component.js +2 -2
  202. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  203. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  204. package/esm2015/lib/components/forms/string-input/string-input.component.js +1 -1
  205. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  206. package/esm2015/lib/components/forms/text-input/text-input.component.js +1 -1
  207. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  208. package/esm2015/lib/components/icon/icon.component.js +1 -1
  209. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  210. package/esm2015/lib/components/labelled-value/labelled-value.component.js +22 -0
  211. package/esm2015/lib/components/labelled-value/labelled-value.component.js.map +1 -0
  212. package/esm2015/lib/components/labelled-value/labelled-value.component.metadata.json +1 -0
  213. package/esm2015/lib/components/labelled-value/labelled-value.component.ngfactory.js.map +1 -0
  214. 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
  215. package/esm2015/lib/components/loading-container/loading-container.component.js +45 -0
  216. package/esm2015/lib/components/loading-container/loading-container.component.js.map +1 -0
  217. package/esm2015/lib/components/loading-container/loading-container.component.metadata.json +1 -0
  218. package/esm2015/lib/components/loading-container/loading-container.component.ngfactory.js.map +1 -0
  219. package/esm2015/lib/components/loading-container/loading-container.component.scss.shim.ngstyle.js.map +1 -0
  220. package/esm2015/lib/components/noop/noop.component.js +1 -1
  221. package/esm2015/lib/components/noop/noop.component.metadata.json +1 -1
  222. package/esm2015/lib/components/scroll-container/scroll-container.component.js +1 -1
  223. package/esm2015/lib/components/scroll-container/scroll-container.component.metadata.json +1 -1
  224. package/esm2015/lib/components/section-header/section-header.component.js +12 -5
  225. package/esm2015/lib/components/section-header/section-header.component.js.map +1 -1
  226. package/esm2015/lib/components/section-header/section-header.component.metadata.json +1 -1
  227. package/esm2015/lib/components/switch-case/switch-case.component.js +1 -1
  228. package/esm2015/lib/components/switch-case/switch-case.component.metadata.json +1 -1
  229. package/esm2015/lib/components/tables/abstract-table-model.js +34 -20
  230. package/esm2015/lib/components/tables/abstract-table-model.js.map +1 -1
  231. package/esm2015/lib/components/tables/abstract-table-model.metadata.json +1 -1
  232. package/esm2015/lib/components/tables/edit-session.js.map +1 -0
  233. package/esm2015/lib/components/tables/{table/edit-session.metadata.json → edit-session.metadata.json} +1 -1
  234. package/esm2015/lib/components/tables/table/cell-portal-ref.js.map +1 -1
  235. package/esm2015/lib/components/tables/table/cell-renderer.js.map +1 -1
  236. package/esm2015/lib/components/tables/table/column-model.js +35 -10
  237. package/esm2015/lib/components/tables/table/column-model.js.map +1 -1
  238. package/esm2015/lib/components/tables/table/column-model.metadata.json +1 -1
  239. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js.map +1 -1
  240. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.metadata.json +1 -1
  241. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js +19 -12
  242. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js.map +1 -1
  243. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.metadata.json +1 -1
  244. package/esm2015/lib/components/tables/table/paginator/paginator.component.js +1 -1
  245. package/esm2015/lib/components/tables/table/paginator/paginator.component.metadata.json +1 -1
  246. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  247. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  248. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  249. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.metadata.json +1 -1
  250. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js +0 -2
  251. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js.map +1 -1
  252. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.metadata.json +1 -1
  253. package/esm2015/lib/components/tables/table/table.component.js +14 -13
  254. package/esm2015/lib/components/tables/table/table.component.js.map +1 -1
  255. package/esm2015/lib/components/tables/table/table.component.metadata.json +1 -1
  256. package/esm2015/lib/components/tables/table/text-search-predicate.js +2 -0
  257. package/esm2015/lib/components/tables/table/text-search-predicate.js.map +1 -0
  258. package/esm2015/lib/components/tables/table/text-search-predicate.metadata.json +1 -0
  259. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js +4 -4
  260. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js.map +1 -1
  261. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.metadata.json +1 -1
  262. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js +1 -1
  263. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.metadata.json +1 -1
  264. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js +21 -13
  265. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js.map +1 -1
  266. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.metadata.json +1 -1
  267. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js +1 -1
  268. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js.map +1 -1
  269. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.metadata.json +1 -1
  270. package/esm2015/lib/components/tables/tree-table/tree-table-component.js +1 -1
  271. package/esm2015/lib/components/tables/tree-table/tree-table-component.js.map +1 -1
  272. package/esm2015/lib/components/tables/tree-table/tree-table-component.metadata.json +1 -1
  273. package/esm2015/lib/components/tables/tree-table/tree-table-model.js +3 -2
  274. package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -1
  275. package/esm2015/lib/components/tables/tree-table/tree-table-model.metadata.json +1 -1
  276. package/esm2015/lib/components/text/markdown/markdown.component.js +77 -0
  277. package/esm2015/lib/components/text/markdown/markdown.component.js.map +1 -0
  278. package/esm2015/lib/components/text/markdown/markdown.component.metadata.json +1 -0
  279. package/esm2015/lib/components/text/markdown/markdown.component.ngfactory.js.map +1 -0
  280. package/esm2015/lib/components/text/markdown/markdown.component.scss.shim.ngstyle.js.map +1 -0
  281. package/esm2015/lib/components/track-by.js +12 -0
  282. package/esm2015/lib/components/track-by.js.map +1 -1
  283. package/esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.js +1 -1
  284. package/esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.metadata.json +1 -1
  285. package/esm2015/lib/directives/command.directive.js +1 -1
  286. package/esm2015/lib/directives/command.directive.js.map +1 -1
  287. package/esm2015/lib/directives/directives.module.ngfactory.js.map +1 -1
  288. package/esm2015/lib/interaction/abstract-interaction-context.js +7 -0
  289. package/esm2015/lib/interaction/abstract-interaction-context.js.map +1 -1
  290. package/esm2015/lib/interaction/abstract-interaction-context.metadata.json +1 -1
  291. package/esm2015/lib/interaction/activity.js +2 -1
  292. package/esm2015/lib/interaction/activity.js.map +1 -1
  293. package/esm2015/lib/interaction/alert.js +17 -1
  294. package/esm2015/lib/interaction/alert.js.map +1 -1
  295. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.js +23 -0
  296. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.js.map +1 -0
  297. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.metadata.json +1 -0
  298. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.ngfactory.js.map +1 -0
  299. package/esm2015/lib/interaction/components/abstract-dialog.component.js +52 -0
  300. package/esm2015/lib/interaction/components/abstract-dialog.component.js.map +1 -0
  301. package/esm2015/lib/interaction/components/abstract-dialog.component.metadata.json +1 -0
  302. package/esm2015/lib/interaction/components/abstract-dialog.component.ngfactory.js.map +1 -0
  303. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +17 -11
  304. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js.map +1 -1
  305. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
  306. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +3 -3
  307. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  308. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  309. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +1 -1
  310. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.metadata.json +1 -1
  311. package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +1 -1
  312. package/esm2015/lib/interaction/components/activity-title/activity-title.component.metadata.json +1 -1
  313. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js +4 -0
  314. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js.map +1 -1
  315. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.metadata.json +1 -1
  316. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +5 -2
  317. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js.map +1 -1
  318. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.metadata.json +1 -1
  319. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +5 -2
  320. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js.map +1 -1
  321. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.metadata.json +1 -1
  322. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +5 -2
  323. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js.map +1 -1
  324. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.metadata.json +1 -1
  325. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +77 -0
  326. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js.map +1 -0
  327. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.metadata.json +1 -0
  328. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.ngfactory.js.map +1 -0
  329. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.scss.shim.ngstyle.js.map +1 -0
  330. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +1 -1
  331. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.metadata.json +1 -1
  332. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +8 -14
  333. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
  334. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -1
  335. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +8 -31
  336. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
  337. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -1
  338. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js +30 -0
  339. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js.map +1 -0
  340. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.metadata.json +1 -0
  341. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.ngfactory.js.map +1 -0
  342. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.scss.shim.ngstyle.js.map +1 -0
  343. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +7 -26
  344. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
  345. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -1
  346. package/esm2015/lib/interaction/components/editors/edit-context.js +2 -0
  347. package/esm2015/lib/interaction/components/editors/edit-context.js.map +1 -0
  348. package/esm2015/lib/interaction/components/editors/edit-context.metadata.json +1 -0
  349. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js +50 -0
  350. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js.map +1 -0
  351. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.metadata.json +1 -0
  352. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +161 -0
  353. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js.map +1 -0
  354. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.metadata.json +1 -0
  355. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.ngfactory.js.map +1 -0
  356. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +10 -3
  357. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  358. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -1
  359. package/esm2015/lib/interaction/components/input-activities/input-activity.js +95 -0
  360. package/esm2015/lib/interaction/components/input-activities/input-activity.js.map +1 -0
  361. package/esm2015/lib/interaction/components/input-activities/input-activity.metadata.json +1 -0
  362. package/esm2015/lib/interaction/components/input-activities/input-activity.ngfactory.js.map +1 -0
  363. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js +5 -3
  364. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js.map +1 -1
  365. package/esm2015/lib/interaction/components/input-activities/select-input-activity.metadata.json +1 -1
  366. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js +6 -4
  367. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js.map +1 -1
  368. package/esm2015/lib/interaction/components/input-activities/string-input-activity.metadata.json +1 -1
  369. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js +2 -1
  370. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js.map +1 -1
  371. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.metadata.json +1 -1
  372. package/esm2015/lib/interaction/exports.js +8 -4
  373. package/esm2015/lib/interaction/exports.js.map +1 -1
  374. package/esm2015/lib/interaction/exports.metadata.json +1 -1
  375. package/esm2015/lib/interaction/interaction-context.js.map +1 -1
  376. package/esm2015/lib/interaction/interaction.module.js +29 -9
  377. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  378. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  379. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  380. package/esm2015/lib/interaction/services/interaction.service.js +1 -1
  381. package/esm2015/lib/interaction/services/interaction.service.js.map +1 -1
  382. package/esm2015/lib/place/components/abstract-place-navigation.component.js +1 -1
  383. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  384. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  385. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  386. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js +1 -1
  387. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.metadata.json +1 -1
  388. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +1 -1
  389. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  390. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
  391. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
  392. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  393. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
  394. package/esm2015/lib/place/guards/consolidated-param-map.js +2 -1
  395. package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -1
  396. package/esm2015/lib/place/guards/consolidated-param-map.metadata.json +1 -1
  397. package/esm2015/lib/place/guards/place.guard.js +2 -1
  398. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  399. package/esm2015/lib/place/place-component.js +31 -4
  400. package/esm2015/lib/place/place-component.js.map +1 -1
  401. package/esm2015/lib/place/place-component.metadata.json +1 -1
  402. package/esm2015/lib/place/place-router.js +11 -14
  403. package/esm2015/lib/place/place-router.js.map +1 -1
  404. package/esm2015/lib/place/place-router.metadata.json +1 -1
  405. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  406. package/esm2015/lib/place/visit.js +5 -1
  407. package/esm2015/lib/place/visit.js.map +1 -1
  408. package/esm2015/lib/place/visit.metadata.json +1 -1
  409. package/esm2015/lib/services/exports.js +2 -0
  410. package/esm2015/lib/services/exports.js.map +1 -1
  411. package/esm2015/lib/services/exports.metadata.json +1 -1
  412. package/esm2015/lib/services/markdown/markdown.service.js +25 -0
  413. package/esm2015/lib/services/markdown/markdown.service.js.map +1 -0
  414. package/esm2015/lib/services/markdown/markdown.service.metadata.json +1 -0
  415. package/esm2015/lib/services/markdown/markdown.service.ngfactory.js.map +1 -0
  416. package/esm2015/lib/services/markdown/pill-plugin.js +38 -0
  417. package/esm2015/lib/services/markdown/pill-plugin.js.map +1 -0
  418. package/esm2015/lib/services/markdown/pill-plugin.metadata.json +1 -0
  419. package/fesm2015/coolon-angular-ui-powerups-cypress.js +546 -244
  420. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  421. package/fesm2015/coolon-angular-ui-powerups.js +1199 -353
  422. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  423. package/lib/components/cards/abstract-card-container.component.d.ts +11 -0
  424. package/lib/components/{card-container → cards/card-container}/card-container.component.d.ts +30 -9
  425. package/lib/components/cards/card-stack/card-stack.component.d.ts +65 -0
  426. package/lib/components/commands/command-face/command-face.component.d.ts +1 -0
  427. package/lib/components/exports.d.ts +8 -4
  428. package/lib/components/labelled-value/labelled-value.component.d.ts +7 -0
  429. package/lib/components/loading-container/loading-container.component.d.ts +11 -0
  430. package/lib/components/section-header/section-header.component.d.ts +5 -2
  431. package/lib/components/tables/abstract-table-model.d.ts +10 -7
  432. package/lib/components/tables/{table/edit-session.d.ts → edit-session.d.ts} +3 -3
  433. package/lib/components/tables/table/cell-portal-ref.d.ts +1 -1
  434. package/lib/components/tables/table/cell-renderer.d.ts +2 -0
  435. package/lib/components/tables/table/column-model.d.ts +14 -5
  436. package/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.d.ts +2 -1
  437. package/lib/components/tables/table/edit-row-controls/edit-row-controls.component.d.ts +4 -2
  438. package/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  439. package/lib/components/tables/table/table-row-menu/table-row-menu.component.d.ts +2 -3
  440. package/lib/components/tables/table/table.component.d.ts +13 -12
  441. package/lib/components/tables/table/text-search-predicate.d.ts +1 -0
  442. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +0 -1
  443. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +2 -3
  444. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +2 -3
  445. package/lib/components/tables/tree-table/tree-table-component.d.ts +1 -1
  446. package/lib/components/tables/tree-table/tree-table-model.d.ts +4 -5
  447. package/lib/components/text/markdown/markdown.component.d.ts +28 -0
  448. package/lib/components/track-by.d.ts +9 -0
  449. package/lib/interaction/abstract-interaction-context.d.ts +1 -0
  450. package/lib/interaction/alert.d.ts +7 -1
  451. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +7 -0
  452. package/lib/interaction/components/abstract-dialog.component.d.ts +17 -0
  453. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +14 -3
  454. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +1 -1
  455. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +2 -1
  456. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +2 -1
  457. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +2 -1
  458. package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +39 -0
  459. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +2 -7
  460. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -10
  461. package/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.d.ts +12 -0
  462. package/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.d.ts +2 -9
  463. package/lib/interaction/components/editors/edit-context.d.ts +3 -0
  464. package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +24 -0
  465. package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +57 -0
  466. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +2 -0
  467. package/lib/interaction/components/input-activities/input-activity.d.ts +41 -0
  468. package/lib/interaction/components/input-activities/select-input-activity.d.ts +11 -3
  469. package/lib/interaction/components/input-activities/string-input-activity.d.ts +6 -2
  470. package/lib/interaction/exports.d.ts +8 -4
  471. package/lib/interaction/interaction-context.d.ts +1 -0
  472. package/lib/place/place-component.d.ts +6 -1
  473. package/lib/place/place-router.d.ts +2 -2
  474. package/lib/services/exports.d.ts +2 -0
  475. package/lib/services/markdown/markdown.service.d.ts +6 -0
  476. package/lib/services/markdown/pill-plugin.d.ts +15 -0
  477. package/package.json +17 -16
  478. package/schematics/activity/index.js +1 -1
  479. package/schematics/activity/index.js.map +1 -1
  480. package/schematics/activity/templates/component/__name@dasherize__.component.html.template +1 -1
  481. package/schematics/activity/templates/component/__name@dasherize__.component.ts.template +5 -3
  482. package/schematics/aup-i18n/index.js +1 -1
  483. package/schematics/aup-i18n/index.js.map +1 -1
  484. package/schematics/component/index.js +1 -1
  485. package/schematics/component/index.js.map +1 -1
  486. package/schematics/component/templates/component/__name@dasherize__.component.ts.template +1 -1
  487. package/schematics/place-routes/place-class-scanner.js +3 -1
  488. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  489. package/schematics/utils/build-context.d.ts +6 -3
  490. package/schematics/utils/build-context.js +3 -3
  491. package/schematics/utils/build-context.js.map +1 -1
  492. package/schematics/utils/workspace.d.ts +1 -0
  493. package/schematics/utils/workspace.js +11 -3
  494. package/schematics/utils/workspace.js.map +1 -1
  495. package/assets/activities.scss +0 -70
  496. package/cypress/components/aup-more-menu.d.ts +0 -4
  497. package/cypress/components/aup-popup-menu.d.ts +0 -7
  498. package/cypress/components/button-mixin.d.ts +0 -19
  499. package/cypress/section.d.ts +0 -55
  500. package/esm2015/cypress/components/aup-more-menu.js +0 -7
  501. package/esm2015/cypress/components/aup-more-menu.js.map +0 -1
  502. package/esm2015/cypress/components/aup-more-menu.metadata.json +0 -1
  503. package/esm2015/cypress/components/aup-popup-menu.js +0 -19
  504. package/esm2015/cypress/components/aup-popup-menu.js.map +0 -1
  505. package/esm2015/cypress/components/aup-popup-menu.metadata.json +0 -1
  506. package/esm2015/cypress/components/button-mixin.js +0 -15
  507. package/esm2015/cypress/components/button-mixin.js.map +0 -1
  508. package/esm2015/cypress/components/button-mixin.metadata.json +0 -1
  509. package/esm2015/cypress/section.js +0 -76
  510. package/esm2015/cypress/section.js.map +0 -1
  511. package/esm2015/cypress/section.metadata.json +0 -1
  512. package/esm2015/lib/components/card-container/card-container.component.js +0 -84
  513. package/esm2015/lib/components/card-container/card-container.component.js.map +0 -1
  514. package/esm2015/lib/components/card-container/card-container.component.metadata.json +0 -1
  515. package/esm2015/lib/components/card-container/card-container.component.ngfactory.js.map +0 -1
  516. package/esm2015/lib/components/tables/table/edit-session.js.map +0 -1
  517. package/esm2015/lib/components/tables/tree-table/tree-node.js +0 -2
  518. package/esm2015/lib/components/tables/tree-table/tree-node.js.map +0 -1
  519. package/esm2015/lib/components/tables/tree-table/tree-node.metadata.json +0 -1
  520. package/esm2015/lib/components/tables/tree-table/visitable.class.js +0 -26
  521. package/esm2015/lib/components/tables/tree-table/visitable.class.js.map +0 -1
  522. package/esm2015/lib/components/tables/tree-table/visitable.class.metadata.json +0 -1
  523. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js +0 -43
  524. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js.map +0 -1
  525. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.metadata.json +0 -1
  526. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.ngfactory.js.map +0 -1
  527. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js +0 -2
  528. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js.map +0 -1
  529. package/esm2015/lib/interaction/components/input-activities/input-activity-data.metadata.json +0 -1
  530. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js +0 -2
  531. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js.map +0 -1
  532. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.metadata.json +0 -1
  533. package/esm2015/lib/interaction/result.js +0 -4
  534. package/esm2015/lib/interaction/result.js.map +0 -1
  535. package/esm2015/lib/interaction/result.metadata.json +0 -1
  536. package/lib/components/tables/tree-table/tree-node.d.ts +0 -3
  537. package/lib/components/tables/tree-table/visitable.class.d.ts +0 -22
  538. package/lib/interaction/components/input-activities/abstract-input-activity.d.ts +0 -12
  539. package/lib/interaction/components/input-activities/input-activity-data.d.ts +0 -11
  540. package/lib/interaction/components/input-activities/select-input-activity-data.d.ts +0 -8
  541. package/lib/interaction/result.d.ts +0 -8
  542. /package/esm2015/lib/components/tables/{table/edit-session.js → edit-session.js} +0 -0
@@ -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('marked'), 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', 'marked', '@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.marked, 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, _, marked, 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
 
@@ -15,14 +15,12 @@
15
15
  var d = Object.getOwnPropertyDescriptor(e, k);
16
16
  Object.defineProperty(n, k, d.get ? d : {
17
17
  enumerable: true,
18
- get: function () {
19
- return e[k];
20
- }
18
+ get: function () { return e[k]; }
21
19
  });
22
20
  }
23
21
  });
24
22
  }
25
- n['default'] = e;
23
+ n["default"] = e;
26
24
  return Object.freeze(n);
27
25
  }
28
26
 
@@ -262,10 +260,16 @@
262
260
  r[k] = a[j];
263
261
  return r;
264
262
  }
265
- function __spreadArray(to, from) {
266
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
267
- to[j] = from[i];
268
- return to;
263
+ function __spreadArray(to, from, pack) {
264
+ if (pack || arguments.length === 2)
265
+ for (var i = 0, l = from.length, ar; i < l; i++) {
266
+ if (ar || !(i in from)) {
267
+ if (!ar)
268
+ ar = Array.prototype.slice.call(from, 0, i);
269
+ ar[i] = from[i];
270
+ }
271
+ }
272
+ return to.concat(ar || Array.prototype.slice.call(from));
269
273
  }
270
274
  function __await(v) {
271
275
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -353,7 +357,7 @@
353
357
  function CommandDirective(elementRef, matButton, matMenuItem) {
354
358
  var _this = _super.call(this) || this;
355
359
  _this.elementRef = elementRef;
356
- _this._commandEnabled = new pectin.DelegatingValueModel().withDefault(false);
360
+ _this._commandEnabled = _this.registerDisposable(new pectin.DelegatingValueModel().withDefault(false));
357
361
  _this._commandParameterProvided = false;
358
362
  // Material buttons and menu items don't respond to the disabled binding so we
359
363
  // need to inject them from our host element and handle them manually.
@@ -681,7 +685,7 @@
681
685
  var _a;
682
686
  var model = searchModel !== null && searchModel !== void 0 ? searchModel : (_a = this.highlightContext) === null || _a === void 0 ? void 0 : _a.aupHighlightTextModel;
683
687
  var searchText = model === null || model === void 0 ? void 0 : model.value;
684
- if (___default['default'].isEmpty(searchText) || !___default['default'].isString(value)) {
688
+ if (___default["default"].isEmpty(searchText) || !___default["default"].isString(value)) {
685
689
  return value;
686
690
  }
687
691
  // Match in a case insensitive manner
@@ -738,6 +742,67 @@
738
742
  },] }
739
743
  ];
740
744
 
745
+ var markdownPillExtension = function (renderPill) {
746
+ return {
747
+ name: 'aup-pill',
748
+ level: 'inline',
749
+ start: function (src) {
750
+ var _a;
751
+ var index = (_a = src.match(/\(\([^)]/)) === null || _a === void 0 ? void 0 : _a.index;
752
+ // if (index) {
753
+ // console.log({start:src})
754
+ // }
755
+ return index;
756
+ },
757
+ tokenizer: function (src) {
758
+ var rule = /^(\(\((([^)])+)\)\))/; // Regex for the complete token
759
+ var match = rule.exec(src);
760
+ if (match) {
761
+ var token = {
762
+ type: 'aup-pill',
763
+ raw: match[0],
764
+ text: match[2].trim(), // Additional custom properties
765
+ // tokens: [] // Array where child inline tokens will be generated
766
+ };
767
+ // console.log(token)
768
+ // this.lexer.inlineTokens(token.text, token.tokens); // Queue this data to be processed for inline tokens
769
+ return token;
770
+ }
771
+ else {
772
+ return undefined;
773
+ }
774
+ },
775
+ renderer: function (token) {
776
+ // @ts-ignore (until typings are up to date)
777
+ var url = token.text;
778
+ return renderPill(token.text);
779
+ }
780
+ };
781
+ };
782
+
783
+ var MarkdownService = /** @class */ (function () {
784
+ function MarkdownService() {
785
+ }
786
+ MarkdownService.prototype.render = function (content) {
787
+ return marked.marked.parse(content, {
788
+ smartLists: true
789
+ });
790
+ };
791
+ MarkdownService.prototype.renderInline = function (content) {
792
+ return marked.marked.parseInline(content);
793
+ };
794
+ MarkdownService.prototype.usePillExtension = function (renderer) {
795
+ marked.marked.use({
796
+ extensions: [markdownPillExtension(renderer !== null && renderer !== void 0 ? renderer : (function (text) { return "<span class='aup-pill'>" + text + "<span>"; }))]
797
+ });
798
+ };
799
+ return MarkdownService;
800
+ }());
801
+ MarkdownService.decorators = [
802
+ { type: i0.Injectable }
803
+ ];
804
+ MarkdownService.ctorParameters = function () { return []; };
805
+
741
806
  var BusyOverlayComponent = /** @class */ (function (_super) {
742
807
  __extends(BusyOverlayComponent, _super);
743
808
  function BusyOverlayComponent() {
@@ -751,7 +816,7 @@
751
816
  { type: i0.Component, args: [{
752
817
  selector: 'aup-busy-overlay',
753
818
  template: "<ng-content></ng-content>\n<div class=\"busy-overlay-backdrop\" *ngIf=\"busyModel.value\">\n <mat-progress-spinner mode=\"indeterminate\" [diameter]=\"52\"></mat-progress-spinner>\n</div>\n",
754
- styles: [":host{position:relative}div.busy-overlay-backdrop{position:absolute;background-color:rgba(0,0,0,.2);top:0;left:0;bottom:0;right:0;display:grid;grid-template-columns:auto;grid-template-rows:auto;place-content:center}"]
819
+ styles: [":host{position:relative}div.busy-overlay-backdrop{z-index:10;z-index:var(--aup-busy-overlay-z-index, 10);position:absolute;background-color:#0003;top:0;left:0;bottom:0;right:0;display:grid;grid-template-columns:auto;grid-template-rows:auto;place-content:center}\n"]
755
820
  },] }
756
821
  ];
757
822
  BusyOverlayComponent.ctorParameters = function () { return []; };
@@ -768,6 +833,32 @@
768
833
  __metadata("design:type", Boolean)
769
834
  ], BusyOverlayComponent.prototype, "busy", void 0);
770
835
 
836
+ var AbstractCardContainerComponent = /** @class */ (function (_super) {
837
+ __extends(AbstractCardContainerComponent, _super);
838
+ function AbstractCardContainerComponent() {
839
+ return _super.call(this) || this;
840
+ }
841
+ AbstractCardContainerComponent.prototype.ngOnInit = function () {
842
+ };
843
+ return AbstractCardContainerComponent;
844
+ }(DisposableComponent));
845
+ AbstractCardContainerComponent.decorators = [
846
+ { type: i0.Component, args: [{
847
+ selector: 'aup-abstract-card-container',
848
+ template: ''
849
+ },] }
850
+ ];
851
+ AbstractCardContainerComponent.ctorParameters = function () { return []; };
852
+ AbstractCardContainerComponent.propDecorators = {
853
+ addCardCommand: [{ type: i0.Input }],
854
+ addCardFace: [{ type: i0.Input }],
855
+ addCardTemplate: [{ type: i0.ContentChild, args: ['addCardTemplate',] }]
856
+ };
857
+ __decorate([
858
+ pectin.TrackExternal(),
859
+ __metadata("design:type", pectin.Command)
860
+ ], AbstractCardContainerComponent.prototype, "addCardCommand", void 0);
861
+
771
862
  /**
772
863
  * @example
773
864
  * // basic usage
@@ -785,6 +876,13 @@
785
876
  * <my-card *ngFor="..."></my-card>
786
877
  * </aup-card-container>
787
878
  *
879
+ * // use the aup-add-card-activity to display as the new card place holder and to run
880
+ * // the activity inside teh card
881
+ * <aup-card-container [addCardCommand]="addCard" [addCardFace]="i18n.addCard" >
882
+ * <my-card *ngFor="..."></my-card>
883
+ * <aup-add-card-activity type="inline" renderAs="card" [face]="i18n.commands.addModal" [activityClass]="AddCardActivity"></aup-add-card-activity>
884
+ * </aup-card-container>
885
+ *
788
886
  * // adds an add card component using the specified template. The template
789
887
  * // will fill it's container in the grid.
790
888
  * <aup-card-container>
@@ -817,6 +915,7 @@
817
915
  * aup-card-container {
818
916
  * --card-gap: var(--card-gap, 16px);
819
917
  * --card-width: var(--card-width, 300px);
918
+ * --card-max-width: auto;
820
919
  * --card-height: var(--card-height, auto);
821
920
  * --card-min-height: var(--card-min-height, auto);
822
921
  * --card-background: var(--card-background, #fcfcfb);
@@ -824,30 +923,154 @@
824
923
  */
825
924
  var CardContainerComponent = /** @class */ (function (_super) {
826
925
  __extends(CardContainerComponent, _super);
827
- function CardContainerComponent() {
828
- return _super.call(this) || this;
926
+ function CardContainerComponent(elementRef) {
927
+ var _this = _super.call(this) || this;
928
+ _this.elementRef = elementRef;
929
+ /**
930
+ * Enable scrolling. If true the container will have height==0 so you must set it's height explicitly
931
+ * or place in a layout that will stretch it such as a grid or flex layout.
932
+ */
933
+ _this.enabledScroll = false;
934
+ return _this;
829
935
  }
936
+ Object.defineProperty(CardContainerComponent.prototype, "columnCount", {
937
+ get: function () {
938
+ return this._columnCount;
939
+ },
940
+ set: function (count) {
941
+ if (!___namespace.isNil(count) && (!___namespace.isInteger(count) || count < 1)) {
942
+ typescriptUtilities.lang.illegalState('columnCount must be a positive integer or nil');
943
+ }
944
+ this._columnCount = count;
945
+ this.updateColumnCountStyles();
946
+ },
947
+ enumerable: false,
948
+ configurable: true
949
+ });
830
950
  CardContainerComponent.prototype.ngOnInit = function () {
951
+ _super.prototype.ngOnInit.call(this);
952
+ this.updateColumnCountStyles();
953
+ };
954
+ Object.defineProperty(CardContainerComponent.prototype, "isAutoColumns", {
955
+ get: function () {
956
+ return ___namespace.isNil(this._columnCount);
957
+ },
958
+ enumerable: false,
959
+ configurable: true
960
+ });
961
+ Object.defineProperty(CardContainerComponent.prototype, "isSingleColumn", {
962
+ get: function () {
963
+ return this._columnCount === 1;
964
+ },
965
+ enumerable: false,
966
+ configurable: true
967
+ });
968
+ CardContainerComponent.prototype.updateColumnCountStyles = function () {
969
+ var el = this.elementRef.nativeElement;
970
+ if (___namespace.isNil(this._columnCount)) {
971
+ el.style.setProperty('--aup-card-container-column-count', '');
972
+ }
973
+ else {
974
+ el.style.setProperty('--aup-card-container-column-count', this._columnCount);
975
+ }
831
976
  };
832
977
  return CardContainerComponent;
833
- }(DisposableComponent));
978
+ }(AbstractCardContainerComponent));
834
979
  CardContainerComponent.decorators = [
835
980
  { type: i0.Component, args: [{
836
981
  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}"]
982
+ 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",
983
+ 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)}aup-scroll-container,.no-scroll-container{flex:1}.add-card-container{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:#0000008a;background-color:#fffc}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.add-card-container:hover{border-color:transparent;background-color:#fff;color:#0000008a}.add-card-template-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}\n"]
839
984
  },] }
840
985
  ];
841
- CardContainerComponent.ctorParameters = function () { return []; };
986
+ CardContainerComponent.ctorParameters = function () { return [
987
+ { type: i0.ElementRef }
988
+ ]; };
842
989
  CardContainerComponent.propDecorators = {
843
- addCardCommand: [{ type: i0.Input }],
844
- addCardFace: [{ type: i0.Input }],
845
- addCardTemplate: [{ type: i0.ContentChild, args: ["addCardTemplate",] }]
990
+ columnCount: [{ type: i0.Input }],
991
+ enabledScroll: [{ type: i0.Input }],
992
+ isAutoColumns: [{ type: i0.HostBinding, args: ['class.auto-columns',] }],
993
+ isSingleColumn: [{ type: i0.HostBinding, args: ['class.single-column',] }]
846
994
  };
847
- __decorate([
848
- pectin.TrackExternal(),
849
- __metadata("design:type", pectin.Command)
850
- ], CardContainerComponent.prototype, "addCardCommand", void 0);
995
+
996
+ /**
997
+ * @deprecated deprecated, use `aup-card-container [columnCount]="1"` instead.
998
+ * @example
999
+ * // basic usage
1000
+ * <aup-card-stack>
1001
+ * <my-card *ngFor="..."></my-card>
1002
+ * </aup-card-stack>
1003
+ *
1004
+ * // adds an add button with a the '+' icon to the end of the card list.
1005
+ * <aup-card-stack [addCardCommand]="addCard">
1006
+ * <my-card *ngFor="..."></my-card>
1007
+ * </aup-card-stack>
1008
+ *
1009
+ * // adds an add button with the specified face
1010
+ * <aup-card-stack [addCardCommand]="addCard" [addCardFace]="i18n.addCard" >
1011
+ * <my-card *ngFor="..."></my-card>
1012
+ * </aup-card-stack>
1013
+ *
1014
+ * // use the aup-add-card-activity to display as the new card place holder and to run
1015
+ * // the activity inside teh card
1016
+ * <aup-card-stack [addCardCommand]="addCard" [addCardFace]="i18n.addCard" >
1017
+ * <my-card *ngFor="..."></my-card>
1018
+ * <aup-add-card-activity type="inline" renderAs="card" [face]="i18n.commands.addModal" [activityClass]="AddCardActivity"></aup-add-card-activity>
1019
+ * </aup-card-stack>
1020
+ *
1021
+ * // adds an add card component using the specified template. The template
1022
+ * // will fill it's container in the grid.
1023
+ * <aup-card-stack>
1024
+ * <my-card *ngFor="..."></my-card>
1025
+ * <ng-template #addCardTemplate>
1026
+ * <div>This is a new card template, it will the the size of the other cards.</div>
1027
+ * </ng-template>
1028
+ * </aup-card-stack>
1029
+ *
1030
+ * // sing the default new card styles for your template
1031
+ * @import "../../../../assets/styles";
1032
+ * .my-new-card {
1033
+ * @include aup-card-stack-new-card-style();
1034
+ * // OR
1035
+ * @include aup-card-stack-new-card-style(
1036
+ * $color: rgba(0,0,0,0.54),
1037
+ * $background-color: rgba(255,255,255,0.8),
1038
+ * $hover-color: $color,
1039
+ * $background-hover-color: white
1040
+ * )
1041
+ * }
1042
+ * <aup-card-stack>
1043
+ * <my-card *ngFor="..."></my-card>
1044
+ * <ng-template #addCardTemplate>
1045
+ * <div class="my-new-card" >This is a new card template, it will the the size of the other cards.</div>
1046
+ * </ng-template>
1047
+ * </aup-card-stack>
1048
+ *
1049
+ * // CSS Vars
1050
+ * aup-card-stack {
1051
+ * --card-gap: var(--card-gap, 16px);
1052
+ * --card-height: var(--card-height, auto);
1053
+ * --card-min-height: var(--card-min-height, auto);
1054
+ * --card-background: var(--card-background, #fcfcfb);
1055
+ * }
1056
+ */
1057
+ var CardStackComponent = /** @class */ (function (_super) {
1058
+ __extends(CardStackComponent, _super);
1059
+ function CardStackComponent() {
1060
+ var _this = _super.call(this) || this;
1061
+ console.warn('<aup-card-stack></aup-card-stack> is deprecated. Use <aup-card-container [columnCount]="1"> instead.');
1062
+ return _this;
1063
+ }
1064
+ return CardStackComponent;
1065
+ }(AbstractCardContainerComponent));
1066
+ CardStackComponent.decorators = [
1067
+ { type: i0.Component, args: [{
1068
+ selector: 'aup-card-stack',
1069
+ 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",
1070
+ 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{display:flex;flex-direction:column;align-items:stretch;padding:0 var(--resolved-card-gap) var(--resolved-card-gap)}.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:#0000008a;background-color:#fffc}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.add-card-container:hover{border-color:transparent;background-color:#fff;color:#0000008a}.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}\n"]
1071
+ },] }
1072
+ ];
1073
+ CardStackComponent.ctorParameters = function () { return []; };
851
1074
 
852
1075
  exports.CommandFace = void 0;
853
1076
  (function (CommandFace) {
@@ -862,27 +1085,27 @@
862
1085
  RAISED: 'raised'
863
1086
  });
864
1087
  function getColorOf(face) {
865
- return ___default['default'].isFunction(face === null || face === void 0 ? void 0 : face.color) ? face.color() : undefined;
1088
+ return ___default["default"].isFunction(face === null || face === void 0 ? void 0 : face.color) ? face.color() : undefined;
866
1089
  }
867
1090
  CommandFace.getColorOf = getColorOf;
868
1091
  function getStyleOf(face) {
869
- return ___default['default'].isFunction(face === null || face === void 0 ? void 0 : face.style) ? face.style() : undefined;
1092
+ return ___default["default"].isFunction(face === null || face === void 0 ? void 0 : face.style) ? face.style() : undefined;
870
1093
  }
871
1094
  CommandFace.getStyleOf = getStyleOf;
872
1095
  function getIconOf(face) {
873
- return ___default['default'].isFunction(face === null || face === void 0 ? void 0 : face.icon) ? face.icon() : undefined;
1096
+ return ___default["default"].isFunction(face === null || face === void 0 ? void 0 : face.icon) ? face.icon() : undefined;
874
1097
  }
875
1098
  CommandFace.getIconOf = getIconOf;
876
1099
  function getIconPositionOf(face) {
877
- return ___default['default'].isFunction(face === null || face === void 0 ? void 0 : face.iconPosition) ? face.iconPosition() : undefined;
1100
+ return ___default["default"].isFunction(face === null || face === void 0 ? void 0 : face.iconPosition) ? face.iconPosition() : undefined;
878
1101
  }
879
1102
  CommandFace.getIconPositionOf = getIconPositionOf;
880
1103
  function getTooltipOf(face) {
881
- return ___default['default'].isFunction(face === null || face === void 0 ? void 0 : face.tooltip) ? face.tooltip() : undefined;
1104
+ return ___default["default"].isFunction(face === null || face === void 0 ? void 0 : face.tooltip) ? face.tooltip() : undefined;
882
1105
  }
883
1106
  CommandFace.getTooltipOf = getTooltipOf;
884
1107
  function getTextOf(face) {
885
- return ___default['default'].isFunction(face === null || face === void 0 ? void 0 : face.text) ? face.text() : undefined;
1108
+ return ___default["default"].isFunction(face === null || face === void 0 ? void 0 : face.text) ? face.text() : undefined;
886
1109
  }
887
1110
  CommandFace.getTextOf = getTextOf;
888
1111
  var Adapter = /** @class */ (function () {
@@ -1015,6 +1238,13 @@
1015
1238
  _this.activeColor = activeFace.pluck("color");
1016
1239
  return _this;
1017
1240
  }
1241
+ Object.defineProperty(CommandFaceComponent.prototype, "face", {
1242
+ set: function (face) {
1243
+ this.facesModel.value = [face];
1244
+ },
1245
+ enumerable: false,
1246
+ configurable: true
1247
+ });
1018
1248
  Object.defineProperty(CommandFaceComponent.prototype, "requiresMissingIconInLayout", {
1019
1249
  get: function () {
1020
1250
  return this.includeMissingIconInLayout && !this.activeIcon.value;
@@ -1047,12 +1277,13 @@
1047
1277
  selector: 'aup-command-face',
1048
1278
  template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n",
1049
1279
  encapsulation: i0.ViewEncapsulation.None,
1050
- styles: ["aup-command-face{--icon-gap:var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}"]
1280
+ styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}\n"]
1051
1281
  },] }
1052
1282
  ];
1053
1283
  CommandFaceComponent.ctorParameters = function () { return []; };
1054
1284
  CommandFaceComponent.propDecorators = {
1055
1285
  _rawFaces: [{ type: i0.Input, args: ['faces',] }],
1286
+ face: [{ type: i0.Input }],
1056
1287
  ignoreIcon: [{ type: i0.Input }],
1057
1288
  ignoreText: [{ type: i0.Input }],
1058
1289
  includeMissingIconInLayout: [{ type: i0.Input }],
@@ -1125,7 +1356,7 @@
1125
1356
  _this.colorModel = chain(_this.activeFace).map(function (f) { return exports.CommandFace.getColorOf(f); });
1126
1357
  _this.tooltipModel = chain(_this.activeFace).map(function (f) { return exports.CommandFace.getTooltipOf(f); });
1127
1358
  _this.iconOnly = _this.faces.select(function (face) {
1128
- return ___default['default'].isEmpty(exports.CommandFace.getTextOf(face)) && !___default['default'].isEmpty(exports.CommandFace.getIconOf(face));
1359
+ return ___default["default"].isEmpty(exports.CommandFace.getTextOf(face)) && !___default["default"].isEmpty(exports.CommandFace.getIconOf(face));
1129
1360
  }).count().equals(_this.faces.count());
1130
1361
  return _this;
1131
1362
  }
@@ -1146,7 +1377,7 @@
1146
1377
  { type: i0.Component, args: [{
1147
1378
  selector: 'aup-command',
1148
1379
  template: "<ng-container *ngIf=\"iconOnly.value\">\n <button mat-icon-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n</ng-container>\n<ng-container *ngIf=\"!iconOnly.value\">\n <ng-container [ngSwitch]=\"buttonStyle.value\">\n <ng-container *ngSwitchCase=\"CommandFace.Style.STROKED\">\n <button mat-stroked-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFace.Style.RAISED\">\n <button mat-raised-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button mat-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n</ng-container>\n",
1149
- styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}:host.centered button{text-align:center}:host.start button{text-align:start}:host.end button{text-align:end}button{flex:1}"]
1380
+ styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}:host.centered button{text-align:center}:host.start button{text-align:start}:host.end button{text-align:end}button{flex:1}\n"]
1150
1381
  },] }
1151
1382
  ];
1152
1383
  CommandComponent.ctorParameters = function () { return [
@@ -1210,7 +1441,7 @@
1210
1441
  function AbstractPopupMenuComponent(element, parent) {
1211
1442
  var _this = _super.call(this, element, parent) || this;
1212
1443
  _this._unorderedChildren = new pectin.MutableListModel();
1213
- _this.faceModelDelegate = new pectin.DelegatingValueModel();
1444
+ _this.faceModelDelegate = _this.registerDisposable(new pectin.DelegatingValueModel());
1214
1445
  _this.xPosition = 'after';
1215
1446
  _this.yPosition = 'below';
1216
1447
  var _c = pectin.Dsl.disposeWith(_this), chain = _c.chain, valueOf = _c.valueOf, before = _c.before, when = _c.when, after = _c.after, observe = _c.observe, switchOn = _c.switchOn;
@@ -1335,10 +1566,22 @@
1335
1566
  exports.TrackBy = void 0;
1336
1567
  (function (TrackBy) {
1337
1568
  TrackBy.byIndex = function (index, item) { return index; };
1569
+ /**
1570
+ * @deprecated use #track(MyType).by("property") instead.
1571
+ * @param property
1572
+ */
1338
1573
  function trackByProperty(property) {
1339
1574
  return function (index, item) { return item[property]; };
1340
1575
  }
1341
1576
  TrackBy.trackByProperty = trackByProperty;
1577
+ function track(type) {
1578
+ return {
1579
+ by: function (property) {
1580
+ return function (index, item) { return item[property]; };
1581
+ }
1582
+ };
1583
+ }
1584
+ TrackBy.track = track;
1342
1585
  })(exports.TrackBy || (exports.TrackBy = {}));
1343
1586
 
1344
1587
  exports.CommandContainer = /** @class */ (function (_super) {
@@ -1403,7 +1646,7 @@
1403
1646
  selector: 'aup-tool-bar',
1404
1647
  template: '<div class="toolbar-content"><ng-content></ng-content></div>',
1405
1648
  encapsulation: i0.ViewEncapsulation.None,
1406
- styles: [":host{display:inline-block}.toolbar-content{display:inline-flex;flex-direction:row;align-items:center}.toolbar-content>aup-separator{align-self:stretch;margin:4px 0 4px 8px}.toolbar-content>aup-flex{flex:1}.toolbar-content>*+*{margin-left:8px}"]
1649
+ styles: [":host{display:inline-block}.toolbar-content{display:inline-flex;flex-direction:row;align-items:center}.toolbar-content>aup-separator{align-self:stretch;margin:4px 0 4px 8px}.toolbar-content>aup-flex{flex:1}.toolbar-content>*+*{margin-left:8px}\n"]
1407
1650
  },] }
1408
1651
  ];
1409
1652
  ToolBarComponent.ctorParameters = function () { return []; };
@@ -1429,8 +1672,7 @@
1429
1672
  { type: i0.Component, args: [{
1430
1673
  selector: 'aup-separator',
1431
1674
  template: "\n <mat-divider [vertical]=\"!isHorizontalContainer()\"></mat-divider>",
1432
- styles: [":host {\n }",
1433
- ":host(.horizontal-container) {\n display: inline-flex;\n flex-direction: row;\n align-items: stretch;\n }"]
1675
+ styles: [":host {\n }", ":host(.horizontal-container) {\n display: inline-flex;\n flex-direction: row;\n align-items: stretch;\n }"]
1434
1676
  },] }
1435
1677
  ];
1436
1678
  SeparatorComponent.ctorParameters = function () { return [
@@ -1446,7 +1688,7 @@
1446
1688
  __extends(PopupMenuRendererComponent, _super);
1447
1689
  function PopupMenuRendererComponent() {
1448
1690
  var _this = _super.call(this) || this;
1449
- _this._childList = new pectin.DelegatingListModel();
1691
+ _this._childList = _this.registerDisposable(new pectin.DelegatingListModel());
1450
1692
  _this.commandFired = new i0.EventEmitter();
1451
1693
  _this.TrackBy = exports.TrackBy;
1452
1694
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
@@ -1587,7 +1829,7 @@
1587
1829
  { type: i0.Component, args: [{
1588
1830
  selector: 'aup-empty-state',
1589
1831
  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}"]
1832
+ 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}\n"]
1591
1833
  },] }
1592
1834
  ];
1593
1835
  EmptyStateComponent.ctorParameters = function () { return []; };
@@ -1618,7 +1860,7 @@
1618
1860
  providers: [
1619
1861
  { provide: pectin.FocusManager }
1620
1862
  ],
1621
- styles: [":host{display:block}"]
1863
+ styles: [":host{display:block}\n"]
1622
1864
  },] }
1623
1865
  ];
1624
1866
  FocusContainerComponent.ctorParameters = function () { return [
@@ -1685,6 +1927,7 @@
1685
1927
  function AbstractInputComponent() {
1686
1928
  var _this = _super.call(this) || this;
1687
1929
  _this.onValueEditedListeners = new pectin.EventListenerList();
1930
+ _this.userFloatLabel = 'always'; // TODO: make this an injectable default
1688
1931
  _this.dense = false;
1689
1932
  // TODO: fix this.
1690
1933
  // tslint:disable-next-line:no-output-native
@@ -1966,10 +2209,10 @@
1966
2209
  _this.optionLabelFormat = function (option) { return (option && _this.optionLabel) ? option[_this.optionLabel] : option; };
1967
2210
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
1968
2211
  var lowerCaseFilterValue = chain(_this.filterValue)
1969
- .map(function (v) { return ___default['default'].isString(v) ? v.toLowerCase() : ''; });
2212
+ .map(function (v) { return ___default["default"].isString(v) ? v.toLowerCase() : ''; });
1970
2213
  _this.filteredOptions = chain(_this.optionsModel)
1971
2214
  .select(function (option) {
1972
- return ___default['default'].isEmpty(_this.filterValue.value) || _this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
2215
+ return ___default["default"].isEmpty(_this.filterValue.value) || _this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
1973
2216
  }, { dependsOn: lowerCaseFilterValue });
1974
2217
  return _this;
1975
2218
  }
@@ -1990,7 +2233,7 @@
1990
2233
  { type: i0.Component, args: [{
1991
2234
  selector: 'aup-autocomplete-input',
1992
2235
  template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"string\"\n matInput\n [matAutocomplete]=\"autocomplete\"\n placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValueModel.value\"\n (ngModelChange)=\"updateFilter($event)\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-autocomplete #autocomplete [displayWith]=\"optionLabelFormat\" [autoActiveFirstOption]=\"true\" (optionSelected)=\"onSelect($event)\">\n <mat-option *ngFor=\"let option of filteredOptions.value; let i = index\"\n [value]=\"option\"\n >{{formatOption(option)}}</mat-option>\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n </mat-autocomplete>\n\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
1993
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
2236
+ styles: [":host{display:inline-block}mat-form-field{width:100%}\n"]
1994
2237
  },] }
1995
2238
  ];
1996
2239
  AutocompleteInputComponent.ctorParameters = function () { return []; };
@@ -2029,7 +2272,7 @@
2029
2272
  { type: i0.Component, args: [{
2030
2273
  selector: 'aup-checkbox-input',
2031
2274
  template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [(ngModel)]=\"componentValueModel.value\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{label}}</mat-checkbox>\n<mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n<mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n",
2032
- styles: [":host{display:inline-flex;flex-direction:column;padding:24px 0 16px}:host.dense{padding:6px 0 2px}mat-error,mat-hint{margin-top:4px;margin-left:24px;font-size:12px;font-weight:400;line-height:13.5px}"]
2275
+ styles: [":host{display:inline-flex;flex-direction:column;padding:24px 0 16px}:host.dense{padding:6px 0 2px}mat-hint,mat-error{margin-top:4px;margin-left:24px;font-size:12px;font-weight:400;line-height:13.5px}\n"]
2033
2276
  },] }
2034
2277
  ];
2035
2278
  CheckboxInputComponent.ctorParameters = function () { return []; };
@@ -2060,7 +2303,7 @@
2060
2303
  { type: i0.Component, args: [{
2061
2304
  selector: 'aup-multiple-select-input',
2062
2305
  template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [(ngModel)]=\"componentListModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
2063
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
2306
+ styles: [":host{display:inline-block}mat-form-field{width:100%}\n"]
2064
2307
  },] }
2065
2308
  ];
2066
2309
  MultipleSelectInputComponent.ctorParameters = function () { return []; };
@@ -2149,8 +2392,8 @@
2149
2392
  SelectInputComponent.decorators = [
2150
2393
  { type: i0.Component, args: [{
2151
2394
  selector: 'aup-select-input',
2152
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
2153
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
2395
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <div *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n",
2396
+ styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{height:0;max-height:0;width:auto;visibility:hidden;padding-right:12px}\n"]
2154
2397
  },] }
2155
2398
  ];
2156
2399
  SelectInputComponent.ctorParameters = function () { return []; };
@@ -2191,7 +2434,7 @@
2191
2434
  { type: i0.Component, args: [{
2192
2435
  selector: 'aup-string-input',
2193
2436
  template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n <button mat-button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n",
2194
- styles: ["button[disabled]{visibility:hidden}"]
2437
+ styles: ["button[disabled]{visibility:hidden}\n"]
2195
2438
  },] }
2196
2439
  ];
2197
2440
  StringInputComponent.ctorParameters = function () { return []; };
@@ -2228,7 +2471,7 @@
2228
2471
  { type: i0.Component, args: [{
2229
2472
  selector: 'aup-text-input',
2230
2473
  template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <textarea matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n </textarea>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
2231
- styles: ["button[disabled]{visibility:hidden}textarea{overflow:auto}"]
2474
+ styles: ["button[disabled]{visibility:hidden}textarea{overflow:auto}\n"]
2232
2475
  },] }
2233
2476
  ];
2234
2477
  TextInputComponent.ctorParameters = function () { return []; };
@@ -2272,7 +2515,7 @@
2272
2515
  { type: i0.Component, args: [{
2273
2516
  selector: 'aup-icon',
2274
2517
  template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"iconPrefix.SVG\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"iconPrefix.MATERIAL\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"iconPrefix.FONT_AWESOME\"\n class=\"faIconWrapper\">\n <fa-icon [icon]=\"suffix\">\n </fa-icon>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n",
2275
- styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center}.faIconWrapper,.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
2518
+ styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center;width:24px;height:24px}.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}\n"]
2276
2519
  },] }
2277
2520
  ];
2278
2521
  exports.IconComponent.propDecorators = {
@@ -2286,6 +2529,54 @@
2286
2529
  });
2287
2530
  })(exports.IconComponent || (exports.IconComponent = {}));
2288
2531
 
2532
+ var LoadingContainerComponent = /** @class */ (function (_super) {
2533
+ __extends(LoadingContainerComponent, _super);
2534
+ function LoadingContainerComponent() {
2535
+ return _super.call(this) || this;
2536
+ }
2537
+ Object.defineProperty(LoadingContainerComponent.prototype, "state", {
2538
+ get: function () {
2539
+ return this.loadingModel.value ? "loaded" : "loading";
2540
+ },
2541
+ enumerable: false,
2542
+ configurable: true
2543
+ });
2544
+ LoadingContainerComponent.prototype.ngOnInit = function () {
2545
+ };
2546
+ return LoadingContainerComponent;
2547
+ }(pectin.GarbageCollector));
2548
+ LoadingContainerComponent.decorators = [
2549
+ { type: i0.Component, args: [{
2550
+ selector: 'aup-loading-container',
2551
+ 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",
2552
+ 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}\n"]
2553
+ },] }
2554
+ ];
2555
+ LoadingContainerComponent.ctorParameters = function () { return []; };
2556
+ LoadingContainerComponent.propDecorators = {
2557
+ loadingModel: [{ type: i0.Input }],
2558
+ loading: [{ type: i0.Input }],
2559
+ messageModel: [{ type: i0.Input }],
2560
+ message: [{ type: i0.Input }],
2561
+ state: [{ type: i0.HostBinding, args: ["class",] }]
2562
+ };
2563
+ __decorate([
2564
+ pectin.TrackExternal(),
2565
+ __metadata("design:type", pectin.ValueModel)
2566
+ ], LoadingContainerComponent.prototype, "loadingModel", void 0);
2567
+ __decorate([
2568
+ pectin.StoreInValueModel("loadingModel"),
2569
+ __metadata("design:type", Boolean)
2570
+ ], LoadingContainerComponent.prototype, "loading", void 0);
2571
+ __decorate([
2572
+ pectin.TrackExternal(),
2573
+ __metadata("design:type", pectin.ValueModel)
2574
+ ], LoadingContainerComponent.prototype, "messageModel", void 0);
2575
+ __decorate([
2576
+ pectin.StoreInValueModel("messageModel"),
2577
+ __metadata("design:type", String)
2578
+ ], LoadingContainerComponent.prototype, "message", void 0);
2579
+
2289
2580
  var NoopComponent = /** @class */ (function () {
2290
2581
  function NoopComponent() {
2291
2582
  }
@@ -2295,7 +2586,7 @@
2295
2586
  { type: i0.Component, args: [{
2296
2587
  selector: 'aup-noop',
2297
2588
  template: "",
2298
- styles: [":host{display:block}"]
2589
+ styles: [":host{display:block}\n"]
2299
2590
  },] }
2300
2591
  ];
2301
2592
  NoopComponent.ctorParameters = function () { return []; };
@@ -2311,29 +2602,37 @@
2311
2602
  { type: i0.Component, args: [{
2312
2603
  selector: 'aup-scroll-container',
2313
2604
  template: "<div class=\"container\" cdkScrollable>\n <ng-content></ng-content>\n</div>\n",
2314
- styles: [":host{display:flex;flex-direction:column;min-height:0;align-items:stretch}.container{display:flex;flex-direction:column;flex:1;flex-basis:0;overflow-y:scroll;align-items:stretch}"]
2605
+ styles: [":host{display:flex;flex-direction:column;min-height:0;align-items:stretch}.container{display:flex;flex-direction:column;flex:1;flex-basis:0;overflow-y:scroll;align-items:stretch}\n"]
2315
2606
  },] }
2316
2607
  ];
2317
2608
  ScrollContainerComponent.ctorParameters = function () { return []; };
2318
2609
 
2319
- var SectionHeaderComponent = /** @class */ (function () {
2610
+ var SectionHeaderComponent = /** @class */ (function (_super) {
2611
+ __extends(SectionHeaderComponent, _super);
2320
2612
  function SectionHeaderComponent() {
2321
- this.underline = false;
2613
+ var _this = _super.call(this) || this;
2614
+ // readonly i18n = I18nMarsUi.components.layout.header;
2615
+ _this.size = 'medium';
2616
+ _this.borderTop = false;
2617
+ _this.borderBottom = false;
2618
+ return _this;
2322
2619
  }
2323
2620
  SectionHeaderComponent.prototype.ngOnInit = function () {
2324
2621
  };
2325
2622
  return SectionHeaderComponent;
2326
- }());
2623
+ }(DisposableComponent));
2327
2624
  SectionHeaderComponent.decorators = [
2328
2625
  { type: i0.Component, args: [{
2329
2626
  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)}"]
2627
+ 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",
2628
+ 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:#000000ab}:host.large{height:48px;min-height:48px}:host.large span{font-weight:500;font-size:14px;color:#000000ab}:host.medium{height:48px;min-height:48px}:host.medium span{font-weight:500;font-size:13px;color:#000000ab}:host.small{height:30px;min-height:30px}:host.small span{font-weight:300;font-size:12px;color:#000000ab}: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}\n"]
2332
2629
  },] }
2333
2630
  ];
2334
2631
  SectionHeaderComponent.ctorParameters = function () { return []; };
2335
2632
  SectionHeaderComponent.propDecorators = {
2336
- underline: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class.underline',] }]
2633
+ size: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class',] }],
2634
+ borderTop: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class.border-top',] }],
2635
+ borderBottom: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class.border-bottom',] }]
2337
2636
  };
2338
2637
 
2339
2638
  var SwitchCaseOption = /** @class */ (function () {
@@ -2454,7 +2753,7 @@
2454
2753
  { type: i0.Component, args: [{
2455
2754
  selector: 'aup-switch-case',
2456
2755
  template: "<mat-tab-group class=\"content-wrapper\" no-tab-header full-height-tabs [selectedIndex]=\"selectedIndex\">\n <mat-tab *ngFor=\"let option of switchCaseOptions\">\n <ng-template [ngTemplateOutlet]=\"option.templateRef\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n\n\n",
2457
- styles: [":host{display:flex;flex-direction:column;align-items:stretch}mat-tab-group{flex:1}"]
2756
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch}mat-tab-group{flex:1}\n"]
2458
2757
  },] }
2459
2758
  ];
2460
2759
  SwitchCaseComponent.ctorParameters = function () { return [
@@ -2536,7 +2835,7 @@
2536
2835
  ResizeAwareComponent.prototype.ngAfterViewInit = function () {
2537
2836
  var _this = this;
2538
2837
  var element = this.elementRef.nativeElement;
2539
- var ro = new ResizeObserver__default['default'](function (entries, observer) {
2838
+ var ro = new ResizeObserver__default["default"](function (entries, observer) {
2540
2839
  _this.ngZone.run(function () { return _this._updateBounds(); });
2541
2840
  });
2542
2841
  ro.observe(element);
@@ -2737,19 +3036,38 @@
2737
3036
  __extends(EditRowControls, _super);
2738
3037
  function EditRowControls() {
2739
3038
  var _this = _super.call(this) || this;
2740
- _this.saveCommand = pectin.Command.create(function () {
2741
- _this.editSession.saveCommand.execute(_this.editSession.form)
2742
- .then(function (finished) {
2743
- if (finished) {
2744
- _this.editSession.dispose();
3039
+ _this.saveCommand = pectin.Command.create(function () { return __awaiter(_this, void 0, void 0, function () {
3040
+ var finished;
3041
+ return __generator(this, function (_b) {
3042
+ switch (_b.label) {
3043
+ case 0: return [4 /*yield*/, this.editSession.saveCommand.execute()];
3044
+ case 1:
3045
+ finished = _b.sent();
3046
+ if (finished) {
3047
+ this.editSession.dispose();
3048
+ }
3049
+ return [2 /*return*/];
2745
3050
  }
2746
3051
  });
2747
- });
3052
+ }); });
2748
3053
  _this.cancelCommand = pectin.Command.create(function () {
2749
3054
  _this.editSession.dispose();
2750
- });
3055
+ }).disableWhile(_this.saveCommand.busy);
2751
3056
  return _this;
2752
3057
  }
3058
+ Object.defineProperty(EditRowControls.prototype, "editSession", {
3059
+ get: function () {
3060
+ return this._session;
3061
+ },
3062
+ set: function (session) {
3063
+ if (session) {
3064
+ session.form.disableWhile(this.saveCommand.busy);
3065
+ }
3066
+ this._session = session;
3067
+ },
3068
+ enumerable: false,
3069
+ configurable: true
3070
+ });
2753
3071
  EditRowControls.prototype.ngOnInit = function () {
2754
3072
  };
2755
3073
  Object.defineProperty(EditRowControls.prototype, "form", {
@@ -2766,7 +3084,7 @@
2766
3084
  { type: i0.Component, args: [{
2767
3085
  selector: 'aup-row-editor-controls',
2768
3086
  template: "<button *ngIf=\"!editSession\" mat-icon-button [pectinCommand]=\"editRowCommand\" class=\"edit-button\"><aup-icon icon=\"mat:edit\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"saveCommand\"><aup-icon icon=\"mat:done\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"cancelCommand\"><aup-icon icon=\"mat:clear\"></aup-icon></button>\n",
2769
- styles: [":host{display:block;width:80px}.edit-button{visibility:hidden}:host-context(tr:hover) .edit-button{visibility:visible}"]
3087
+ styles: [":host{display:block;width:80px}.edit-button{visibility:hidden}:host-context(tr:hover) .edit-button{visibility:visible}\n"]
2770
3088
  },] }
2771
3089
  ];
2772
3090
  EditRowControls.ctorParameters = function () { return []; };
@@ -2843,16 +3161,23 @@
2843
3161
  };
2844
3162
  var ɵ0 = noop;
2845
3163
  var CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol('aup-cell-renderer:row-data-cache');
2846
- var ColumnModel = /** @class */ (function () {
3164
+ var DEFAULT_TEXT_SEARCH_PREDICATE = function (row, text) { return false; };
3165
+ var ɵ1 = DEFAULT_TEXT_SEARCH_PREDICATE;
3166
+ var ColumnModel = /** @class */ (function (_super) {
3167
+ __extends(ColumnModel, _super);
2847
3168
  function ColumnModel(columnId, textPropertiesProvider) {
2848
- this.columnId = columnId;
2849
- this.textPropertiesProvider = textPropertiesProvider;
2850
- this._enableRowSelection = true;
2851
- this._flex = false;
2852
- this._defaultVisibility = new pectin.DelegatingValueModel().withDefault(true);
2853
- this._visible = new pectin.DelegatingValueModel().withDefault(this._defaultVisibility);
2854
- this.installHeaderRenderer();
2855
- this.dasherisedColumnId = typescriptUtilities.Stringy.from(columnId).dasherize().toString();
3169
+ var _this = _super.call(this) || this;
3170
+ _this.columnId = columnId;
3171
+ _this.textPropertiesProvider = textPropertiesProvider;
3172
+ _this._enableRowSelection = true;
3173
+ _this._flex = false;
3174
+ _this._defaultVisibility = _this.registerDisposable(new pectin.DelegatingValueModel().withDefault(true));
3175
+ _this._visible = _this.registerDisposable(new pectin.DelegatingValueModel().withDefault(_this._defaultVisibility));
3176
+ _this._columnModelTextSearchPredicate = undefined;
3177
+ _this._cellRendererTextSearchPredicate = undefined;
3178
+ _this.installHeaderRenderer();
3179
+ _this.dasherisedColumnId = typescriptUtilities.Stringy.from(columnId).dasherize().toString();
3180
+ return _this;
2856
3181
  }
2857
3182
  ColumnModel.prototype.installHeaderRenderer = function () {
2858
3183
  this.cellHeaderRenderer(DefaultHeaderCellRendererComponent, function (component, column) {
@@ -2883,6 +3208,21 @@
2883
3208
  ColumnModel.prototype.getDefaultHeaderText = function () {
2884
3209
  return this.columnId;
2885
3210
  };
3211
+ Object.defineProperty(ColumnModel.prototype, "isTextMatch", {
3212
+ get: function () {
3213
+ return this._columnModelTextSearchPredicate || this._cellRendererTextSearchPredicate || DEFAULT_TEXT_SEARCH_PREDICATE;
3214
+ },
3215
+ enumerable: false,
3216
+ configurable: true
3217
+ });
3218
+ /**
3219
+ * Sets the predicate to use when checking if the specified row is a text match for this column.
3220
+ * @param predicate
3221
+ */
3222
+ ColumnModel.prototype.useTextSearchPredicate = function (predicate) {
3223
+ this._columnModelTextSearchPredicate = predicate;
3224
+ return this;
3225
+ };
2886
3226
  ColumnModel.prototype.getColumnTextProperties = function () {
2887
3227
  return this._columnTextProperties || this.textPropertiesProvider();
2888
3228
  };
@@ -2934,6 +3274,12 @@
2934
3274
  };
2935
3275
  ColumnModel.prototype.onRendererAttached = function (host, component) {
2936
3276
  this._cellRendererPortalRef.onPortalAttached(host, component);
3277
+ if (___default["default"].isFunction(component === null || component === void 0 ? void 0 : component.matches)) {
3278
+ this._cellRendererTextSearchPredicate = function (row, text) { return component.matches(row, text); };
3279
+ }
3280
+ else {
3281
+ this._cellRendererTextSearchPredicate = undefined;
3282
+ }
2937
3283
  };
2938
3284
  // @Trace()
2939
3285
  ColumnModel.prototype.onEditorAttached = function (host, component) {
@@ -2950,7 +3296,7 @@
2950
3296
  return this._enableRowSelection;
2951
3297
  };
2952
3298
  return ColumnModel;
2953
- }());
3299
+ }(pectin.GarbageCollector));
2954
3300
  __decorate([
2955
3301
  src.Memoize(),
2956
3302
  __metadata("design:type", Function),
@@ -2968,27 +3314,27 @@
2968
3314
  function PropertyColumnModel(id, property, defaults) {
2969
3315
  var _this = _super.call(this, id, defaults) || this;
2970
3316
  _this.property = property;
2971
- _this._format = function (value) { return value; };
3317
+ _this._format = function (value) { return value === null || value === void 0 ? void 0 : value.toString(); };
2972
3318
  _this.cellRenderer(DefaultCellRendererComponent);
3319
+ _this.useTextSearchPredicate(function (row, regex) {
3320
+ return regex.test(_this._format(row[_this.property]));
3321
+ });
2973
3322
  return _this;
2974
3323
  }
2975
3324
  PropertyColumnModel.prototype.cellRenderer = function (componentType, onComponentInitOrOptions) {
2976
3325
  var _this = this;
2977
3326
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
2978
3327
  if (firstTime) {
2979
- if (___default['default'].isFunction(onComponentInitOrOptions)) {
3328
+ if (___default["default"].isFunction(onComponentInitOrOptions)) {
2980
3329
  onComponentInitOrOptions(component);
2981
3330
  }
2982
3331
  else {
2983
- if (___default['default'].isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
3332
+ if (___default["default"].isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2984
3333
  onComponentInitOrOptions.onComponentInit(component);
2985
3334
  }
2986
3335
  }
2987
3336
  }
2988
3337
  component.value = _this._format(rowData.row[_this.property]);
2989
- if (!___default['default'].isFunction(onComponentInitOrOptions) && ___default['default'].isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
2990
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
2991
- }
2992
3338
  }));
2993
3339
  return this;
2994
3340
  };
@@ -3008,7 +3354,7 @@
3008
3354
  component[CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
3009
3355
  var disableEditCallback = false;
3010
3356
  if (firstTime) {
3011
- if (___default['default'].isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
3357
+ if (___default["default"].isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
3012
3358
  options.onComponentInit(component);
3013
3359
  }
3014
3360
  // install our edit callback
@@ -3023,7 +3369,7 @@
3023
3369
  disableEditCallback = true;
3024
3370
  component.value = rowData.row[_this.property];
3025
3371
  disableEditCallback = false;
3026
- if (!___default['default'].isFunction(options) && ___default['default'].isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
3372
+ if (!___default["default"].isFunction(options) && ___default["default"].isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
3027
3373
  options.onRowUpdate(component, rowData.row);
3028
3374
  }
3029
3375
  }));
@@ -3032,7 +3378,7 @@
3032
3378
  PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, onComponentInit) {
3033
3379
  var _this = this;
3034
3380
  var validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
3035
- var initialiser = ___default['default'].isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
3381
+ var initialiser = ___default["default"].isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
3036
3382
  this.configureCellEditor(new CellEditorPortalRef(editor, function (component, editSession) {
3037
3383
  var formValueModel = editSession.form.pluck(_this.property);
3038
3384
  if (validators) {
@@ -3062,6 +3408,9 @@
3062
3408
  _this.property = property;
3063
3409
  _this._format = function (value) { return value.map(function (v) { return v === null || v === void 0 ? void 0 : v.toString(); }).join(', '); };
3064
3410
  _this.cellRenderer(DefaultCellRendererComponent);
3411
+ _this.useTextSearchPredicate(function (row, regex) {
3412
+ return regex.test(_this._format(row[_this.property]));
3413
+ });
3065
3414
  return _this;
3066
3415
  }
3067
3416
  ListPropertyColumnModel.prototype.cellRenderer = function (componentType) {
@@ -3074,7 +3423,7 @@
3074
3423
  ListPropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, initialiseComponent) {
3075
3424
  var _this = this;
3076
3425
  var validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
3077
- var initialiser = ___default['default'].isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
3426
+ var initialiser = ___default["default"].isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
3078
3427
  this.configureCellEditor(new CellEditorPortalRef(editor, function (component, editSession) {
3079
3428
  var formListModel = editSession.form.pluckList(_this.property);
3080
3429
  if (validators) {
@@ -3109,17 +3458,17 @@
3109
3458
  var _this = this;
3110
3459
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
3111
3460
  if (firstTime) {
3112
- if (___default['default'].isFunction(onComponentInitOrOptions)) {
3461
+ if (___default["default"].isFunction(onComponentInitOrOptions)) {
3113
3462
  onComponentInitOrOptions(component);
3114
3463
  }
3115
3464
  else {
3116
- if (___default['default'].isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
3465
+ if (___default["default"].isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
3117
3466
  onComponentInitOrOptions.onComponentInit(component);
3118
3467
  }
3119
3468
  }
3120
3469
  }
3121
3470
  component.value = _this.getValue(rowData.row);
3122
- if (!___default['default'].isFunction(onComponentInitOrOptions) && ___default['default'].isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
3471
+ if (!___default["default"].isFunction(onComponentInitOrOptions) && ___default["default"].isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
3123
3472
  onComponentInitOrOptions.onRowUpdate(component, rowData.row);
3124
3473
  }
3125
3474
  }));
@@ -3132,7 +3481,7 @@
3132
3481
  }(ColumnModel));
3133
3482
  var EditorControlColumnModel = /** @class */ (function (_super) {
3134
3483
  __extends(EditorControlColumnModel, _super);
3135
- function EditorControlColumnModel(columnId, saveCommand, defaults) {
3484
+ function EditorControlColumnModel(columnId, saveCommandFactory, defaults) {
3136
3485
  var _this = _super.call(this, columnId, defaults) || this;
3137
3486
  _this.cellRenderer(EditRowControls);
3138
3487
  return _this;
@@ -3497,7 +3846,7 @@
3497
3846
  { type: i0.Component, args: [{
3498
3847
  selector: 'aup-table-header-cell-renderer',
3499
3848
  template: "<ng-container [cdkPortalOutlet]=\"getPortal()\" (attached)=\"initialiseHeader($event.instance)\"></ng-container>\n",
3500
- styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}"]
3849
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}\n"]
3501
3850
  },] }
3502
3851
  ];
3503
3852
  TableHeaderCellRendererComponent.ctorParameters = function () { return []; };
@@ -3530,8 +3879,6 @@
3530
3879
  TableRowMenuComponent.prototype.registerMoreAction = function (commandFactory, properties) {
3531
3880
  this.moreActions.push(new MenuItemData(commandFactory, properties));
3532
3881
  };
3533
- TableRowMenuComponent.prototype.ngOnInit = function () {
3534
- };
3535
3882
  TableRowMenuComponent.prototype.createMoreMenuCommand = function (item, value) {
3536
3883
  var _this = this;
3537
3884
  var when = pectin.Dsl.disposeWith(this).when;
@@ -3618,7 +3965,7 @@
3618
3965
  // if (!this._liveRowValue.value[immerable]) {
3619
3966
  // console.warn()
3620
3967
  // }
3621
- _this._liveRowValue.value = produce__default['default'](_this._liveRowValue.value, function (draft) {
3968
+ _this._liveRowValue.value = produce__default["default"](_this._liveRowValue.value, function (draft) {
3622
3969
  _this.form.writeDirtyStateTo(draft);
3623
3970
  });
3624
3971
  });
@@ -3640,7 +3987,7 @@
3640
3987
  __extends(AbstractTableModel, _super);
3641
3988
  function AbstractTableModel() {
3642
3989
  var _this = _super.call(this) || this;
3643
- _this._dataSource = new pectin.DelegatingListModel();
3990
+ _this._dataSource = _this.registerDisposable(new pectin.DelegatingListModel());
3644
3991
  _this._columnList = _this.registerDisposable(new ColumnListModel());
3645
3992
  _this._editorSessions = new pectin.MutableListModel();
3646
3993
  _this.rowClassNamePredicates = [];
@@ -3662,6 +4009,12 @@
3662
4009
  _this.rowSelectionDisabledOnAllColumns = chain(_this._columnList).select(function (column) { return column.isRowSelectionEnabled(); }).count().equals(0);
3663
4010
  return _this;
3664
4011
  }
4012
+ AbstractTableModel.prototype.findMatchingColumns = function (row, regex) {
4013
+ return this.columns.value.filter(function (c) { return c.isTextMatch(row, regex); });
4014
+ };
4015
+ AbstractTableModel.prototype.hasMatchingColumn = function (row, regex) {
4016
+ return !!this.columns.value.find(function (c) { return c.isTextMatch(row, regex); });
4017
+ };
3665
4018
  AbstractTableModel.prototype.setDataSource = function (sourceOfTruth) {
3666
4019
  this._dataSource.setDelegate(sourceOfTruth);
3667
4020
  };
@@ -3711,11 +4064,14 @@
3711
4064
  }
3712
4065
  return selectionColumnModel;
3713
4066
  };
3714
- AbstractTableModel.prototype.addEditControls = function (saveCommand) {
4067
+ AbstractTableModel.prototype.addEditControls = function (saveCommandFactory, formFactory) {
3715
4068
  var _this = this;
3716
- this.saveCommand = saveCommand;
4069
+ this.saveCommandFactory = saveCommandFactory;
4070
+ if (___namespace.isFunction(formFactory)) {
4071
+ this._createForm = formFactory;
4072
+ }
3717
4073
  var columnId = 'editControls';
3718
- return this.addColumn(new EditorControlColumnModel(columnId, saveCommand, function () { return _this.getColumnTextProperties(columnId); }));
4074
+ return this.addColumn(new EditorControlColumnModel(columnId, saveCommandFactory, function () { return _this.getColumnTextProperties(columnId); }));
3719
4075
  };
3720
4076
  AbstractTableModel.prototype.addCustomColumn = function (columnId, dataAccessor) {
3721
4077
  var _this = this;
@@ -3763,19 +4119,20 @@
3763
4119
  if (this._rowsBeingEdited.query().indexOf(row) > -1) {
3764
4120
  return pectin.lang.illegalState("Row with id=" + rowId + " already being edited");
3765
4121
  }
3766
- else {
3767
- var editSession_1 = new EditSession(rowId, row, this._createForm(row), this.saveCommand);
3768
- var when = pectin.Dsl.disposeWith(editSession_1).when;
3769
- when(editSession_1.liveRowValue).changes(function (editedValue) {
3770
- _this._rowsBeingEdited.replaceOrPush(editedValue);
3771
- }, { initialValue: 'triggerChangeUnlessNil' });
3772
- this._editorSessions.push(editSession_1);
3773
- editSession_1.onDispose(function () {
3774
- _this._rowsBeingEdited.remove(editSession_1.liveRowValue.value);
3775
- _this._editorSessions.remove(editSession_1);
3776
- });
3777
- return editSession_1;
3778
- }
4122
+ // todo: pass the factories to the edit session so we can make the whole lot pluggable?
4123
+ var form = this._createForm(row);
4124
+ var saveCommand = this.saveCommandFactory.create(form);
4125
+ var editSession = new EditSession(rowId, row, form, saveCommand);
4126
+ var when = pectin.Dsl.disposeWith(editSession).when;
4127
+ when(editSession.liveRowValue).changes(function (editedValue) {
4128
+ _this._rowsBeingEdited.replaceOrPush(editedValue);
4129
+ }, { initialValue: 'triggerChangeUnlessNil' });
4130
+ this._editorSessions.push(editSession);
4131
+ editSession.onDispose(function () {
4132
+ _this._rowsBeingEdited.remove(editSession.liveRowValue.value);
4133
+ _this._editorSessions.remove(editSession);
4134
+ });
4135
+ return editSession;
3779
4136
  };
3780
4137
  AbstractTableModel.prototype.getEditSessionFor = function (row) {
3781
4138
  return this._editorSessionByRowId.get(this.identityOf(row));
@@ -3792,12 +4149,16 @@
3792
4149
  return this.isRowSelectionEnabled() && column.isRowSelectionEnabled();
3793
4150
  };
3794
4151
  AbstractTableModel.prototype.isRowSelectionEnabled = function () {
3795
- return this.hasSelectionModel() && !this.rowSelectionDisabledOnAllColumns.value;
4152
+ return this.hasUserSelectionModel() && !this.rowSelectionDisabledOnAllColumns.value;
3796
4153
  };
3797
- AbstractTableModel.prototype.hasSelectionModel = function () {
4154
+ AbstractTableModel.prototype.hasUserSelectionModel = function () {
3798
4155
  var _a;
3799
4156
  return !!((_a = this.selectionColumnModel) === null || _a === void 0 ? void 0 : _a.selectionModel.getDelegate());
3800
4157
  };
4158
+ AbstractTableModel.prototype.getSelectionModel = function () {
4159
+ var _a;
4160
+ return (_a = this.selectionColumnModel) === null || _a === void 0 ? void 0 : _a.selectionModel;
4161
+ };
3801
4162
  AbstractTableModel.prototype.isHoverEnabled = function () {
3802
4163
  return this.isRowSelectionEnabled() || this.rowClickListeners.listenerCount > 0;
3803
4164
  };
@@ -3865,18 +4226,19 @@
3865
4226
  * --row-selected-background-color: rebeccapurple; // defaults to transparent
3866
4227
  * --first-column-padding-left: 18px // defaults to --column-gap
3867
4228
  * --last-column-padding-right: 18px // defaults to --column-gap
3868
- *
3869
- * aup-table-header-cell-renderer,
3870
- * aup-table-cell-renderer {
3871
- * &.aup-col-my-dasherised-column-id {
3872
- * // do stuff
3873
- * }
3874
- * &.first-visible-column {
3875
- * // do stuff
3876
- * }
3877
- * &.last-visible-column {
3878
- * // do stuff
3879
- * }
4229
+ * ::ng-deep {
4230
+ * aup-table-header-cell-renderer,
4231
+ * aup-table-cell-renderer {
4232
+ * &.aup-col-my-dasherised-column-id {
4233
+ * // do stuff
4234
+ * }
4235
+ * &.first-visible-column {
4236
+ * // do stuff
4237
+ * }
4238
+ * &.last-visible-column {
4239
+ * // do stuff
4240
+ * }
4241
+ * }
3880
4242
  * }
3881
4243
  * }
3882
4244
  */
@@ -3897,7 +4259,7 @@
3897
4259
  providers: [
3898
4260
  { provide: AbstractTableComponent, useExisting: TableComponent }
3899
4261
  ],
3900
- styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}"]
4262
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"]
3901
4263
  },] }
3902
4264
  ];
3903
4265
  TableComponent.ctorParameters = function () { return [
@@ -3950,7 +4312,7 @@
3950
4312
  { type: i0.Component, args: [{
3951
4313
  selector: 'aup-tree-inheritance-icon',
3952
4314
  template: "<svg xmlns=\"http://www.w3.org/2000/svg\" [attr.width]=\"pixelWidth\" [attr.height]=\"pixelHeight\" [attr.viewBox]=\"viewBox\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <rect *ngIf=\"hasHead()\" width=\"1\" height=\"32.5\" x=\"11.5\" fill=\"currentColor\"/>\n <rect *ngIf=\"hasTail()\" width=\"1\" height=\"32.5\" x=\"11.5\" y=\"31.5\" fill=\"currentColor\"/>\n\n <rect *ngIf=\"hasLeadIn()\" width=\"12\" height=\"1\" y=\"31.5\" fill=\"currentColor\"/>\n <rect *ngIf=\"hasTerminal()\" width=\"12\" height=\"1\" x=\"12\" y=\"31.5\" fill=\"currentColor\"/>\n </g>\n</svg>\n",
3953
- styles: [":host{position:relative;color:inherit}svg{color:var(--line-color);display:block}"]
4315
+ styles: [":host{position:relative;color:inherit}svg{color:var(--line-color);display:block}\n"]
3954
4316
  },] }
3955
4317
  ];
3956
4318
  exports.TreeInheritanceIconComponent.ctorParameters = function () { return []; };
@@ -4192,17 +4554,17 @@
4192
4554
  var _this = this;
4193
4555
  var chain = pectin.Dsl.disposeWith(this).chain;
4194
4556
  this.canExpand = chain(this.nodeModel).map(function (node) {
4195
- return exports.DecoratedTreeNode.getDecorator(node).hasChildren() && _this.expansionModel.isCollapsed(node);
4196
- }, { dependsOn: this.expansionModel.isExpandedPredicate });
4557
+ return exports.DecoratedTreeNode.getDecorator(node).hasChildren() && _this.treeTableModel.isCollapsed(node);
4558
+ }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });
4197
4559
  this.canCollapse = chain(this.nodeModel).map(function (node) {
4198
- return exports.DecoratedTreeNode.getDecorator(node).hasChildren() && !_this.expansionModel.isCollapsed(node);
4199
- }, { dependsOn: this.expansionModel.isExpandedPredicate });
4560
+ return exports.DecoratedTreeNode.getDecorator(node).hasChildren() && !_this.treeTableModel.isCollapsed(node);
4561
+ }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });
4200
4562
  this.iconModel = chain(this.nodeModel).map(function (node) {
4201
4563
  var _a;
4202
- var expanded = _this.expansionModel.isExpanded(_this.node);
4564
+ var expanded = _this.treeTableModel.treeExpansionModel.isExpanded(_this.node);
4203
4565
  var iconFactory = (_a = _this.iconFactory) !== null && _a !== void 0 ? _a : TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY;
4204
4566
  return iconFactory(node, expanded, TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY(node, expanded, undefined));
4205
- }, { dependsOn: this.expansionModel.isExpandedPredicate });
4567
+ }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });
4206
4568
  };
4207
4569
  Object.defineProperty(TreeLabelCellRendererComponent.prototype, "isRoot", {
4208
4570
  get: function () {
@@ -4226,16 +4588,18 @@
4226
4588
  configurable: true
4227
4589
  });
4228
4590
  // @Trace()
4229
- TreeLabelCellRendererComponent.prototype.expandOrCollapse = function (node) {
4230
- this.expansionModel.isCollapsed(node) ? this.expansionModel.expand(node) : this.expansionModel.collapse(node);
4591
+ TreeLabelCellRendererComponent.prototype.expandOrCollapse = function ($event, node) {
4592
+ $event.preventDefault();
4593
+ $event.stopPropagation();
4594
+ this.treeTableModel.isCollapsed(node) ? this.treeTableModel.expand(node) : this.treeTableModel.collapse(node);
4231
4595
  };
4232
4596
  return TreeLabelCellRendererComponent;
4233
4597
  }(DisposableComponent));
4234
4598
  exports.TreeLabelCellRendererComponent.decorators = [
4235
4599
  { type: i0.Component, args: [{
4236
4600
  selector: 'aup-tree-label-cell-renderer',
4237
- template: "<div class=\"tree-icons\">\n <aup-tree-inheritance-icon *ngFor=\"let iconClass of iconList.value\" [type]=\"iconClass\"></aup-tree-inheritance-icon>\n <aup-icon *ngIf=\"iconModel.value\"\n [icon]=\"iconModel.value\"\n [class.clickable]=\"canExpand.value || canCollapse.value\"\n (click)=\"expandOrCollapse(node)\" ></aup-icon>\n</div>\n<div class=\"label\">{{label}}</div>\n",
4238
- styles: [":host{--line-color:#ddd;--node-color:#999;display:inline-flex;flex-direction:row;align-items:stretch}:host div.label{display:flex;flex-direction:row;align-items:center;white-space:nowrap;padding-left:6px}:host div.tree-icons{display:grid;grid-auto-flow:column;grid-auto-columns:auto;grid-template-rows:1fr;align-items:stretch;justify-content:stretch}:host div.tree-icons aup-icon{align-self:center;color:var(--node-color)}:host div.tree-icons aup-icon.clickable{cursor:pointer}:host div.tree-icons aup-icon,:host div.tree-icons aup-tree-inheritance-icon{margin-left:4px}"]
4601
+ template: "<div class=\"tree-icons\">\n <aup-tree-inheritance-icon *ngFor=\"let iconClass of iconList.value\" [type]=\"iconClass\"></aup-tree-inheritance-icon>\n <aup-icon *ngIf=\"iconModel.value\"\n [icon]=\"iconModel.value\"\n [class.clickable]=\"canExpand.value || canCollapse.value\"\n (click)=\"expandOrCollapse($event, node)\" ></aup-icon>\n</div>\n<div class=\"label\">{{label}}</div>\n",
4602
+ styles: [":host{--line-color: #ddd;--node-color: #999;display:inline-flex;flex-direction:row;align-items:stretch}:host div.label{display:flex;flex-direction:row;align-items:center;white-space:nowrap;padding-left:6px}:host div.tree-icons{display:grid;grid-auto-flow:column;grid-auto-columns:auto;grid-template-rows:1fr;align-items:stretch;justify-content:stretch}:host div.tree-icons aup-icon{align-self:center;color:var(--node-color)}:host div.tree-icons aup-icon.clickable{cursor:pointer}:host div.tree-icons aup-tree-inheritance-icon,:host div.tree-icons aup-icon{margin-left:4px}\n"]
4239
4603
  },] }
4240
4604
  ];
4241
4605
  exports.TreeLabelCellRendererComponent.ctorParameters = function () { return []; };
@@ -4243,7 +4607,7 @@
4243
4607
  value: [{ type: i0.Input }],
4244
4608
  label: [{ type: i0.Input }],
4245
4609
  iconFactory: [{ type: i0.Input }],
4246
- expansionModel: [{ type: i0.Input }],
4610
+ treeTableModel: [{ type: i0.Input }],
4247
4611
  isRoot: [{ type: i0.HostBinding, args: ['class.root',] }],
4248
4612
  isLeaf: [{ type: i0.HostBinding, args: ['class.leaf',] }]
4249
4613
  };
@@ -4252,22 +4616,29 @@
4252
4616
  __metadata("design:type", Object)
4253
4617
  ], exports.TreeLabelCellRendererComponent.prototype, "value", void 0);
4254
4618
  (function (TreeLabelCellRendererComponent) {
4255
- TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY = function (node, expanded, defaultIcon) { return expanded ? 'mat:expand_more' : 'mat:chevron_right'; };
4619
+ TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY = function (node, expanded, defaultIcon) {
4620
+ var isLeaf = exports.DecoratedTreeNode.getDecorator(node).isLeaf();
4621
+ return isLeaf ?
4622
+ undefined :
4623
+ expanded ?
4624
+ 'mat:expand_more' :
4625
+ 'mat:chevron_right';
4626
+ };
4256
4627
  })(exports.TreeLabelCellRendererComponent || (exports.TreeLabelCellRendererComponent = {}));
4257
4628
 
4258
4629
  var FlattenedTreeListModel = /** @class */ (function (_super) {
4259
4630
  __extends(FlattenedTreeListModel, _super);
4260
4631
  function FlattenedTreeListModel(source, childRef, expansionModel) {
4261
- var _this = _super.call(this, source) || this;
4632
+ var _this = _super.call(this, source, {
4633
+ initialValue: [],
4634
+ identifiedWith: function (row) { return source.identityOf(row); }
4635
+ }) || this;
4262
4636
  _this.source = source;
4263
4637
  _this.childRef = childRef;
4264
4638
  _this.expansionModel = expansionModel;
4265
4639
  _this.trackSource(expansionModel.isExpandedPredicate);
4266
4640
  return _this;
4267
4641
  }
4268
- FlattenedTreeListModel.prototype.getIdentityOf = function (item) {
4269
- return this.source.identityOf(item);
4270
- };
4271
4642
  FlattenedTreeListModel.prototype.compute = function (values) {
4272
4643
  var _this = this;
4273
4644
  var result = [];
@@ -4366,10 +4737,10 @@
4366
4737
  var _this = this;
4367
4738
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
4368
4739
  if (firstTime) {
4369
- component.expansionModel = _this.expansionModel;
4740
+ component.treeTableModel = _this.expansionModel;
4370
4741
  }
4371
4742
  component.value = rowData.row;
4372
- component.label = ___default['default'].isNil(_this.labelProperty) ? undefined : rowData.row[_this.labelProperty];
4743
+ component.label = ___default["default"].isNil(_this.labelProperty) ? undefined : rowData.row[_this.labelProperty];
4373
4744
  component.iconFactory = _this.iconFactory;
4374
4745
  }));
4375
4746
  return this;
@@ -4400,12 +4771,13 @@
4400
4771
  var childExtractor = ___namespace.isFunction(childAccessor) ? childAccessor : function (row) { return row[childAccessor]; };
4401
4772
  _this.flattenedDataSource = _this.registerDisposable(new FlattenedTreeListModel(source, childExtractor, _this.treeExpansionModel));
4402
4773
  _this.setDataSource(_this.flattenedDataSource);
4774
+ _this.addRowClass('aup-node-collapsed', function (row) { return _this.isCollapsed(row); });
4403
4775
  return _this;
4404
4776
  }
4405
4777
  TreeTableModel.prototype.treeControlColumn = function (builder) {
4406
4778
  var _this = this;
4407
4779
  var columnId = 'tree-label';
4408
- var column = new TreeLabelColumnModel(columnId, function () { return _this.getColumnTextProperties(columnId); }, this.treeExpansionModel);
4780
+ var column = new TreeLabelColumnModel(columnId, function () { return _this.getColumnTextProperties(columnId); }, this);
4409
4781
  builder(column);
4410
4782
  this.addColumn(column);
4411
4783
  };
@@ -4413,7 +4785,7 @@
4413
4785
  this.treeExpansionModel.expand(node);
4414
4786
  };
4415
4787
  TreeTableModel.prototype.collapse = function (node) {
4416
- this.treeExpansionModel.expand(node);
4788
+ this.treeExpansionModel.collapse(node);
4417
4789
  };
4418
4790
  TreeTableModel.prototype.isCollapsed = function (node) {
4419
4791
  return this.treeExpansionModel.isCollapsed(node);
@@ -4549,7 +4921,7 @@
4549
4921
  providers: [
4550
4922
  { provide: AbstractTableComponent, useExisting: TreeTableComponent }
4551
4923
  ],
4552
- styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}", "td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}"]
4924
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n", "td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label,td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}\n"]
4553
4925
  },] }
4554
4926
  ];
4555
4927
  TreeTableComponent.ctorParameters = function () { return [
@@ -4606,7 +4978,7 @@
4606
4978
  providers: [
4607
4979
  { provide: pectin.FocusManager }
4608
4980
  ],
4609
- styles: [":host{display:block}"]
4981
+ styles: [":host{display:block}\n"]
4610
4982
  },] }
4611
4983
  ];
4612
4984
  VerticalFocusContainerComponent.ctorParameters = function () { return [
@@ -4670,7 +5042,7 @@
4670
5042
  { type: i0.Component, args: [{
4671
5043
  selector: 'aup-paginator',
4672
5044
  template: "<p>Page {{pageNumber}} of {{totalPages}}</p>\n<button mat-icon-button [pectinCommand]=\"previousCommand\"><aup-icon icon=\"mat:keyboard_arrow_left\"></aup-icon></button>\n<button mat-icon-button [pectinCommand]=\"nextCommand\"><aup-icon icon=\"mat:keyboard_arrow_right\"></aup-icon></button>\n\n",
4673
- styles: [":host{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px;padding:0 8px;color:rgba(0,0,0,.6)}:host p{color:inherit;margin-right:8px}:host button.md-button.md-icon-button{padding:0;margin:0;width:30px;height:30px}"]
5045
+ styles: [":host{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px;padding:0 8px;color:#0009}:host p{color:inherit;margin-right:8px}:host button.md-button.md-icon-button{padding:0;margin:0;width:30px;height:30px}\n"]
4674
5046
  },] }
4675
5047
  ];
4676
5048
  PaginatorComponent.ctorParameters = function () { return []; };
@@ -4682,36 +5054,156 @@
4682
5054
  __metadata("design:type", pectin.PageController)
4683
5055
  ], PaginatorComponent.prototype, "pageController", void 0);
4684
5056
 
4685
- var ComponentsModule = /** @class */ (function () {
4686
- function ComponentsModule(faIconLibrary) {
4687
- faIconLibrary.addIconPacks(freeSolidSvgIcons.fas);
5057
+ var LabelledValueComponent = /** @class */ (function (_super) {
5058
+ __extends(LabelledValueComponent, _super);
5059
+ function LabelledValueComponent() {
5060
+ return _super.call(this) || this;
5061
+ // const {chain} = Dsl.disposeWith(this);
4688
5062
  }
4689
- return ComponentsModule;
4690
- }());
4691
- ComponentsModule.decorators = [
4692
- { type: i0.NgModule, args: [{
4693
- declarations: [
4694
- AbstractInputComponent,
4695
- AbstractValueInputComponent,
4696
- AbstractListInputComponent,
4697
- NumberInputComponent,
4698
- StringInputComponent,
4699
- TextInputComponent,
4700
- PasswordInputComponent,
4701
- SelectInputComponent,
4702
- MultipleSelectInputComponent,
4703
- AutocompleteInputComponent,
4704
- CheckboxInputComponent,
4705
- ScrollContainerComponent,
4706
- NoopComponent,
4707
- SwitchCaseComponent,
4708
- SwitchCaseWhenDirective,
4709
- SwitchCaseDefaultDirective,
4710
- FocusContainerComponent,
4711
- VerticalFocusContainerComponent,
4712
- FocusableComponent,
4713
- CardContainerComponent,
4714
- TableComponent,
5063
+ LabelledValueComponent.prototype.ngOnInit = function () {
5064
+ };
5065
+ return LabelledValueComponent;
5066
+ }(DisposableComponent));
5067
+ LabelledValueComponent.decorators = [
5068
+ { type: i0.Component, args: [{
5069
+ selector: 'aup-labelled-value',
5070
+ template: "<label>{{label}}</label>\n<ng-content></ng-content>\n",
5071
+ styles: [":host{display:inline-flex;flex-direction:column;align-items:flex-start}label{font-weight:400;font-size:12px;color:#00000091;margin-bottom:6px;white-space:nowrap}\n"]
5072
+ },] }
5073
+ ];
5074
+ LabelledValueComponent.ctorParameters = function () { return []; };
5075
+ LabelledValueComponent.propDecorators = {
5076
+ label: [{ type: i0.Input }]
5077
+ };
5078
+
5079
+ /**
5080
+ * @example
5081
+ * <aup-markdown [content]="..."></aup-markdown>
5082
+ * <aup-markdown [content$]="stringValueModel$"></aup-markdown>
5083
+ * <aup-markdown ngPreserveWhitespaces>
5084
+ * # This is markdown content
5085
+ *
5086
+ * With a list
5087
+ * - a
5088
+ * - b
5089
+ * </aup-markdown>
5090
+ */
5091
+ var MarkdownComponent = /** @class */ (function (_super) {
5092
+ __extends(MarkdownComponent, _super);
5093
+ function MarkdownComponent(platform, element, markdownService) {
5094
+ var _this = _super.call(this) || this;
5095
+ _this.platform = platform;
5096
+ _this.element = element;
5097
+ _this.markdownService = markdownService;
5098
+ _this.inline = false;
5099
+ var chain = pectin.Dsl.disposeWith(_this).chain;
5100
+ return _this;
5101
+ }
5102
+ MarkdownComponent.prototype.ngOnInit = function () {
5103
+ var _this = this;
5104
+ var when = pectin.Dsl.disposeWith(this).when;
5105
+ when(this.content$).changes(function (content) { return _this.renderContent(content); }, { initialValue: 'triggerChangeUnlessNil' });
5106
+ if (___namespace.isNil(this.content) && !___namespace.isEmpty(this.element.nativeElement.innerHTML)) {
5107
+ this.renderContent(this.extractInnerContent(this.element.nativeElement.innerHTML));
5108
+ }
5109
+ };
5110
+ MarkdownComponent.prototype.extractInnerContent = function (content) {
5111
+ var lines = content.split('\n');
5112
+ var prefix = lines.reduce(function (minPrefix, line) {
5113
+ var leadingWhitespace = line.search(/\S/);
5114
+ return leadingWhitespace < 0 ? minPrefix : Math.min(minPrefix, leadingWhitespace);
5115
+ }, Number.MAX_SAFE_INTEGER);
5116
+ return lines.map(function (l) { return l.substr(prefix); }).join('\n');
5117
+ };
5118
+ MarkdownComponent.prototype.renderContent = function (content) {
5119
+ if (!___namespace.isNil(content)) {
5120
+ var markdown = this.inline ?
5121
+ this.markdownService.renderInline(content) :
5122
+ this.markdownService.render(content);
5123
+ this.element.nativeElement.innerHTML = markdown;
5124
+ }
5125
+ };
5126
+ return MarkdownComponent;
5127
+ }(DisposableComponent));
5128
+ MarkdownComponent.decorators = [
5129
+ { type: i0.Component, args: [{
5130
+ selector: 'aup-markdown, [aupMarkdown]',
5131
+ template: "<ng-content></ng-content>\n",
5132
+ styles: [":host{display:inline-block}\n"]
5133
+ },] }
5134
+ ];
5135
+ MarkdownComponent.ctorParameters = function () { return [
5136
+ { type: Object, decorators: [{ type: i0.Inject, args: [i0.PLATFORM_ID,] }] },
5137
+ { type: i0.ElementRef },
5138
+ { type: MarkdownService }
5139
+ ]; };
5140
+ MarkdownComponent.propDecorators = {
5141
+ content$: [{ type: i0.Input }],
5142
+ content: [{ type: i0.Input }],
5143
+ inline: [{ type: i0.Input }]
5144
+ };
5145
+ __decorate([
5146
+ pectin.TrackExternal(),
5147
+ __metadata("design:type", pectin.ValueModel)
5148
+ ], MarkdownComponent.prototype, "content$", void 0);
5149
+ __decorate([
5150
+ pectin.StoreInValueModel('content$'),
5151
+ __metadata("design:type", String)
5152
+ ], MarkdownComponent.prototype, "content", void 0);
5153
+
5154
+ var ComponentsModule = /** @class */ (function () {
5155
+ function ComponentsModule(faIconLibrary) {
5156
+ faIconLibrary.addIconPacks(freeSolidSvgIcons.fas);
5157
+ }
5158
+ return ComponentsModule;
5159
+ }());
5160
+ ComponentsModule.decorators = [
5161
+ { type: i0.NgModule, args: [{
5162
+ imports: [
5163
+ i2.CommonModule,
5164
+ animations.BrowserAnimationsModule,
5165
+ forms.FormsModule,
5166
+ input.MatInputModule,
5167
+ formField.MatFormFieldModule,
5168
+ select.MatSelectModule,
5169
+ tabs.MatTabsModule,
5170
+ DirectivesModule,
5171
+ icon.MatIconModule,
5172
+ button.MatButtonModule,
5173
+ checkbox.MatCheckboxModule,
5174
+ table.MatTableModule,
5175
+ portal.PortalModule,
5176
+ scrolling.CdkScrollableModule,
5177
+ angularFontawesome.FontAwesomeModule,
5178
+ tooltip.MatTooltipModule,
5179
+ autocomplete.MatAutocompleteModule,
5180
+ menu.MatMenuModule,
5181
+ divider.MatDividerModule,
5182
+ progressSpinner.MatProgressSpinnerModule,
5183
+ progressBar.MatProgressBarModule
5184
+ ],
5185
+ declarations: [
5186
+ AbstractInputComponent,
5187
+ AbstractValueInputComponent,
5188
+ AbstractListInputComponent,
5189
+ NumberInputComponent,
5190
+ StringInputComponent,
5191
+ TextInputComponent,
5192
+ PasswordInputComponent,
5193
+ SelectInputComponent,
5194
+ MultipleSelectInputComponent,
5195
+ AutocompleteInputComponent,
5196
+ CheckboxInputComponent,
5197
+ ScrollContainerComponent,
5198
+ NoopComponent,
5199
+ SwitchCaseComponent,
5200
+ SwitchCaseWhenDirective,
5201
+ SwitchCaseDefaultDirective,
5202
+ FocusContainerComponent,
5203
+ VerticalFocusContainerComponent,
5204
+ FocusableComponent,
5205
+ CardContainerComponent,
5206
+ TableComponent,
4715
5207
  EditRowControls,
4716
5208
  ColumnTemplateDirective,
4717
5209
  DefaultCellRendererComponent,
@@ -4738,29 +5230,12 @@
4738
5230
  BusyOverlayComponent,
4739
5231
  EmptyStateComponent,
4740
5232
  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
5233
+ AbstractTableComponent,
5234
+ AbstractCardContainerComponent,
5235
+ CardStackComponent,
5236
+ LabelledValueComponent,
5237
+ LoadingContainerComponent,
5238
+ MarkdownComponent
4764
5239
  ],
4765
5240
  exports: [
4766
5241
  NumberInputComponent,
@@ -4797,9 +5272,14 @@
4797
5272
  BusyOverlayComponent,
4798
5273
  EmptyStateComponent,
4799
5274
  PaginatorComponent,
5275
+ CardStackComponent,
5276
+ LabelledValueComponent,
5277
+ LoadingContainerComponent,
5278
+ MarkdownComponent
4800
5279
  ],
4801
5280
  providers: [
4802
- FocusBindingFactory
5281
+ FocusBindingFactory,
5282
+ MarkdownService
4803
5283
  ]
4804
5284
  },] }
4805
5285
  ];
@@ -4828,12 +5308,13 @@
4828
5308
  * <span>This content will be between the two commands</span>
4829
5309
  * </aup-activity-actions>
4830
5310
  */
4831
- var ActivityActionsComponent = /** @class */ (function (_super) {
5311
+ exports.ActivityActionsComponent = /** @class */ (function (_super) {
4832
5312
  __extends(ActivityActionsComponent, _super);
4833
5313
  function ActivityActionsComponent(cdr) {
4834
5314
  var _this = _super.call(this) || this;
4835
5315
  _this.cdr = cdr;
4836
- _this.align = 'stretch';
5316
+ _this.layout = ActivityActionsComponent.Layout.BLOCK;
5317
+ _this.align = ActivityActionsComponent.Align.STRETCH;
4837
5318
  return _this;
4838
5319
  }
4839
5320
  Object.defineProperty(ActivityActionsComponent.prototype, "faces", {
@@ -4854,20 +5335,6 @@
4854
5335
  enumerable: false,
4855
5336
  configurable: true
4856
5337
  });
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
5338
  ActivityActionsComponent.prototype.ngOnInit = function () {
4872
5339
  };
4873
5340
  ActivityActionsComponent.prototype.hasConfirmFace = function () {
@@ -4883,44 +5350,55 @@
4883
5350
  };
4884
5351
  return ActivityActionsComponent;
4885
5352
  }(DisposableComponent));
4886
- ActivityActionsComponent.decorators = [
5353
+ exports.ActivityActionsComponent.decorators = [
4887
5354
  { type: i0.Component, args: [{
4888
5355
  selector: 'aup-activity-actions',
4889
5356
  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}"]
5357
+ 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}\n"]
4891
5358
  },] }
4892
5359
  ];
4893
- ActivityActionsComponent.ctorParameters = function () { return [
5360
+ exports.ActivityActionsComponent.ctorParameters = function () { return [
4894
5361
  { type: i0.ChangeDetectorRef }
4895
5362
  ]; };
4896
- ActivityActionsComponent.propDecorators = {
5363
+ exports.ActivityActionsComponent.propDecorators = {
4897
5364
  confirmCommand: [{ type: i0.Input }],
4898
5365
  cancelCommand: [{ type: i0.Input }],
4899
5366
  faces: [{ type: i0.Input }],
4900
5367
  confirmFace: [{ type: i0.Input }],
4901
5368
  cancelFace: [{ type: i0.Input }],
4902
5369
  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',] }]
5370
+ layout: [{ type: i0.Input }, { type: i0.HostBinding, args: ['attr.layout',] }],
5371
+ align: [{ type: i0.Input }, { type: i0.HostBinding, args: ['attr.align',] }]
4906
5372
  };
4907
5373
  __decorate([
4908
5374
  pectin.TrackExternal(),
4909
5375
  __metadata("design:type", pectin.Command)
4910
- ], ActivityActionsComponent.prototype, "confirmCommand", void 0);
5376
+ ], exports.ActivityActionsComponent.prototype, "confirmCommand", void 0);
4911
5377
  __decorate([
4912
5378
  pectin.TrackExternal(),
4913
5379
  __metadata("design:type", pectin.Command)
4914
- ], ActivityActionsComponent.prototype, "cancelCommand", void 0);
5380
+ ], exports.ActivityActionsComponent.prototype, "cancelCommand", void 0);
5381
+ (function (ActivityActionsComponent) {
5382
+ ActivityActionsComponent.Layout = typescriptStringEnums.Enum({
5383
+ INLINE: 'inline',
5384
+ BLOCK: 'block'
5385
+ });
5386
+ ActivityActionsComponent.Align = typescriptStringEnums.Enum({
5387
+ START: 'start',
5388
+ END: 'end',
5389
+ STRETCH: 'stretch'
5390
+ });
5391
+ })(exports.ActivityActionsComponent || (exports.ActivityActionsComponent = {}));
4915
5392
 
4916
5393
  var ACTIVITY_DATA = new i0.InjectionToken('InteractionActivityData');
4917
5394
  var Activity = /** @class */ (function (_super) {
4918
5395
  __extends(Activity, _super);
4919
5396
  function Activity() {
4920
5397
  var _this = _super.call(this) || this;
4921
- _this._busyModel = new pectin.DelegatingValueModel().withDefault(false);
5398
+ _this._busyModel = _this.registerDisposable(new pectin.DelegatingValueModel().withDefault(false));
4922
5399
  _this._focusedModel = _this.registerDisposable(new pectin.DelegatingValueModel());
4923
5400
  _this.class = 'aup-activity';
5401
+ _this.busyWhile(_this.confirmCommand.busy);
4924
5402
  return _this;
4925
5403
  }
4926
5404
  Object.defineProperty(Activity.prototype, "isFocused", {
@@ -4994,7 +5472,7 @@
4994
5472
  ];
4995
5473
  Activity.ctorParameters = function () { return []; };
4996
5474
  Activity.propDecorators = {
4997
- activityActions: [{ type: i0.ViewChild, args: [ActivityActionsComponent,] }],
5475
+ activityActions: [{ type: i0.ViewChild, args: [exports.ActivityActionsComponent,] }],
4998
5476
  class: [{ type: i0.HostBinding, args: ['class',] }],
4999
5477
  isFocused: [{ type: i0.HostBinding, args: ['attr.focused',] }]
5000
5478
  };
@@ -5007,133 +5485,196 @@
5007
5485
  __metadata("design:type", pectin.Command)
5008
5486
  ], Activity.prototype, "cancelCommand", void 0);
5009
5487
 
5488
+ exports.Alert = void 0;
5489
+ (function (Alert) {
5490
+ function getContent(alert) {
5491
+ var content = alert.content();
5492
+ return Array.isArray(content) ? content : [content];
5493
+ }
5494
+ Alert.getContent = getContent;
5495
+ function getTitle(alert) {
5496
+ return ___namespace.isFunction(alert.title) ? alert.title() : undefined;
5497
+ }
5498
+ Alert.getTitle = getTitle;
5499
+ function getColor(alert) {
5500
+ return ___namespace.isFunction(alert.color) ? alert.color() : undefined;
5501
+ }
5502
+ Alert.getColor = getColor;
5503
+ })(exports.Alert || (exports.Alert = {}));
5504
+
5505
+ var ALERT_CONFIG = new i0.InjectionToken('AlertConfig');
5506
+ var AbstractDialogComponent = /** @class */ (function (_super) {
5507
+ __extends(AbstractDialogComponent, _super);
5508
+ function AbstractDialogComponent(config) {
5509
+ var _this = _super.call(this) || this;
5510
+ _this.config = config;
5511
+ pectin.assert.notNil(config);
5512
+ _this.title = exports.Alert.getTitle(config);
5513
+ _this.color = _this.checkColor(exports.Alert.getColor(config));
5514
+ _this.content = exports.Alert.getContent(config);
5515
+ _this.confirmFace = {
5516
+ text: function () { return config.ok(); },
5517
+ color: function () { return _this.color || 'primary'; },
5518
+ style: function () { return 'raised'; }
5519
+ };
5520
+ return _this;
5521
+ }
5522
+ AbstractDialogComponent.prototype.getConfig = function () {
5523
+ return typescriptUtilities.lang.abstractMethod(this.constructor);
5524
+ };
5525
+ AbstractDialogComponent.prototype.checkColor = function (rawColor) {
5526
+ if (this.isDestructive()) {
5527
+ return 'warn';
5528
+ }
5529
+ else {
5530
+ if (['primary', 'accent', 'warn'].includes(rawColor)) {
5531
+ return rawColor;
5532
+ }
5533
+ else {
5534
+ console.warn("Invalid color string " + rawColor);
5535
+ return undefined;
5536
+ }
5537
+ }
5538
+ };
5539
+ AbstractDialogComponent.prototype.isDestructive = function () {
5540
+ // @ts-ignore
5541
+ return ___namespace.isFunction(this.config['destructive']) && this.config.destructive();
5542
+ };
5543
+ return AbstractDialogComponent;
5544
+ }(Activity));
5545
+ AbstractDialogComponent.decorators = [
5546
+ { type: i0.Component, args: [{
5547
+ template: ''
5548
+ },] }
5549
+ ];
5550
+ AbstractDialogComponent.ctorParameters = function () { return [
5551
+ { type: undefined, decorators: [{ type: i0.Inject, args: [ALERT_CONFIG,] }] }
5552
+ ]; };
5553
+
5554
+ var AbstractConfirmDialogComponent = /** @class */ (function (_super) {
5555
+ __extends(AbstractConfirmDialogComponent, _super);
5556
+ function AbstractConfirmDialogComponent(config) {
5557
+ var _this = _super.call(this, config) || this;
5558
+ _this.cancelFace = {
5559
+ text: function () { return config.cancel(); }
5560
+ };
5561
+ _this.cancelCommand = pectin.Command.create(function () {
5562
+ return _this.cancel();
5563
+ });
5564
+ return _this;
5565
+ }
5566
+ return AbstractConfirmDialogComponent;
5567
+ }(AbstractDialogComponent));
5568
+ AbstractConfirmDialogComponent.decorators = [
5569
+ { type: i0.Component, args: [{
5570
+ template: ''
5571
+ },] }
5572
+ ];
5573
+ AbstractConfirmDialogComponent.ctorParameters = function () { return [
5574
+ { type: undefined, decorators: [{ type: i0.Inject, args: [ALERT_CONFIG,] }] }
5575
+ ]; };
5576
+
5010
5577
  var AlertDialogComponent = /** @class */ (function (_super) {
5011
5578
  __extends(AlertDialogComponent, _super);
5012
5579
  function AlertDialogComponent(alert) {
5013
- var _this = _super.call(this) || this;
5014
- _this.alert = alert;
5580
+ var _this = _super.call(this, alert) || this;
5015
5581
  _this.confirmCommand = pectin.Command.create(function () {
5016
5582
  _this.done();
5017
5583
  });
5018
- _this.confirmFace = {
5019
- text: function () { return alert.ok(); },
5020
- color: function () { return "primary"; },
5021
- style: function () { return "raised"; }
5022
- };
5023
5584
  return _this;
5024
5585
  }
5025
- AlertDialogComponent.prototype.ngOnInit = function () {
5026
- };
5027
5586
  return AlertDialogComponent;
5028
- }(Activity));
5587
+ }(AbstractDialogComponent));
5029
5588
  AlertDialogComponent.decorators = [
5030
5589
  { type: i0.Component, args: [{
5031
5590
  selector: 'aup-alert-dialog',
5032
- template: "<aup-activity-title *ngIf=\"alert.title\">{{alert.title()}}</aup-activity-title>\n<aup-activity-body>\n <p *ngFor=\"let line of alert.content()\">{{line}}</p>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\"></aup-activity-actions>\n",
5033
- styles: [":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}"]
5591
+ template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\"></aup-activity-actions>\n",
5592
+ styles: [":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"]
5034
5593
  },] }
5035
5594
  ];
5036
5595
  AlertDialogComponent.ctorParameters = function () { return [
5037
- { type: undefined, decorators: [{ type: i0.Inject, args: [ACTIVITY_DATA,] }] }
5596
+ { type: exports.Alert, decorators: [{ type: i0.Inject, args: [ACTIVITY_DATA,] }] }
5038
5597
  ]; };
5039
5598
 
5040
5599
  var ConfirmThenDialogComponent = /** @class */ (function (_super) {
5041
5600
  __extends(ConfirmThenDialogComponent, _super);
5042
5601
  function ConfirmThenDialogComponent(config) {
5043
- var _this = _super.call(this) || this;
5044
- _this.config = config;
5045
- pectin.assert.notNil(config);
5602
+ var _this = _super.call(this, config.confirm) || this;
5046
5603
  _this.confirmCommand = pectin.Command.create(function () {
5047
- _this.interactionContext.startActivity(_this.config.activityType, _this.config.data)
5604
+ _this.interactionContext.startActivity(config.activityType, config.data)
5048
5605
  .then(function (result) { return _this.done(result); })
5049
5606
  .catch(function (error) { return _this.cancel(error); });
5050
5607
  });
5051
- _this.cancelCommand = pectin.Command.create(function () {
5052
- return _this.cancel();
5053
- });
5054
- _this.confirmFace = {
5055
- text: function () { return _this.confirm.ok(); },
5056
- color: function () { return _this.isDestructive() ? 'warn' : 'primary'; },
5057
- style: function () { return 'raised'; }
5058
- };
5059
- _this.cancelFace = {
5060
- text: function () { return _this.confirm.cancel(); },
5061
- };
5062
5608
  return _this;
5063
5609
  }
5064
- ConfirmThenDialogComponent.prototype.ngOnInit = function () {
5065
- };
5066
- Object.defineProperty(ConfirmThenDialogComponent.prototype, "confirm", {
5067
- get: function () {
5068
- return this.config.confirm;
5069
- },
5070
- enumerable: false,
5071
- configurable: true
5072
- });
5073
- Object.defineProperty(ConfirmThenDialogComponent.prototype, "titleColor", {
5074
- get: function () {
5075
- return this.isDestructive() ? 'warn' : undefined;
5076
- },
5077
- enumerable: false,
5078
- configurable: true
5079
- });
5080
- ConfirmThenDialogComponent.prototype.isDestructive = function () {
5081
- return this.confirm.destructive && this.confirm.destructive();
5082
- };
5083
5610
  return ConfirmThenDialogComponent;
5084
- }(Activity));
5611
+ }(AbstractConfirmDialogComponent));
5085
5612
  ConfirmThenDialogComponent.decorators = [
5086
5613
  { type: i0.Component, args: [{
5087
5614
  selector: 'aup-confirmation-dialog',
5088
- template: "<aup-activity-title *ngIf=\"confirm.title\" [color]=\"titleColor\">{{confirm.title()}}</aup-activity-title>\n<aup-activity-body>\n <p *ngFor=\"let line of confirm.content()\">{{line}}</p>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n",
5089
- styles: [":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}"]
5615
+ template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n",
5616
+ styles: [":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"]
5090
5617
  },] }
5091
5618
  ];
5092
5619
  ConfirmThenDialogComponent.ctorParameters = function () { return [
5093
5620
  { type: undefined, decorators: [{ type: i0.Inject, args: [ACTIVITY_DATA,] }] }
5094
5621
  ]; };
5095
5622
 
5623
+ var ConfirmThenExecuteDialogComponent = /** @class */ (function (_super) {
5624
+ __extends(ConfirmThenExecuteDialogComponent, _super);
5625
+ function ConfirmThenExecuteDialogComponent(data) {
5626
+ var _this = _super.call(this, data.confirm) || this;
5627
+ _this.confirmCommand = pectin.Command.create(function () { return __awaiter(_this, void 0, void 0, function () {
5628
+ var result, e_1;
5629
+ return __generator(this, function (_a) {
5630
+ switch (_a.label) {
5631
+ case 0:
5632
+ _a.trys.push([0, 2, , 3]);
5633
+ return [4 /*yield*/, data.operation(this.interactionContext)];
5634
+ case 1:
5635
+ result = _a.sent();
5636
+ this.done(result);
5637
+ return [3 /*break*/, 3];
5638
+ case 2:
5639
+ e_1 = _a.sent();
5640
+ this.cancel(e_1);
5641
+ return [3 /*break*/, 3];
5642
+ case 3: return [2 /*return*/];
5643
+ }
5644
+ });
5645
+ }); });
5646
+ return _this;
5647
+ }
5648
+ return ConfirmThenExecuteDialogComponent;
5649
+ }(AbstractConfirmDialogComponent));
5650
+ ConfirmThenExecuteDialogComponent.decorators = [
5651
+ { type: i0.Component, args: [{
5652
+ selector: 'aup-confirmation-execute-dialog',
5653
+ template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n",
5654
+ styles: [":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"]
5655
+ },] }
5656
+ ];
5657
+ ConfirmThenExecuteDialogComponent.ctorParameters = function () { return [
5658
+ { type: undefined, decorators: [{ type: i0.Inject, args: [ACTIVITY_DATA,] }] }
5659
+ ]; };
5660
+
5096
5661
  var ConfirmationDialogComponent = /** @class */ (function (_super) {
5097
5662
  __extends(ConfirmationDialogComponent, _super);
5098
5663
  function ConfirmationDialogComponent(confirm) {
5099
- var _this = _super.call(this) || this;
5664
+ var _this = _super.call(this, confirm) || this;
5100
5665
  _this.confirm = confirm;
5101
- pectin.assert.notNil(confirm);
5102
5666
  _this.confirmCommand = pectin.Command.create(function () {
5103
5667
  return _this.done();
5104
5668
  });
5105
- _this.cancelCommand = pectin.Command.create(function () {
5106
- return _this.cancel();
5107
- });
5108
- _this.confirmFace = {
5109
- text: function () { return confirm.ok(); },
5110
- color: function () { return _this.isDestructive() ? 'warn' : 'primary'; },
5111
- style: function () { return 'raised'; }
5112
- };
5113
- _this.cancelFace = {
5114
- text: function () { return confirm.cancel(); },
5115
- };
5116
5669
  return _this;
5117
5670
  }
5118
- ConfirmationDialogComponent.prototype.ngOnInit = function () {
5119
- };
5120
- Object.defineProperty(ConfirmationDialogComponent.prototype, "titleColor", {
5121
- get: function () {
5122
- return this.isDestructive() ? 'warn' : undefined;
5123
- },
5124
- enumerable: false,
5125
- configurable: true
5126
- });
5127
- ConfirmationDialogComponent.prototype.isDestructive = function () {
5128
- return this.confirm.destructive && this.confirm.destructive();
5129
- };
5130
5671
  return ConfirmationDialogComponent;
5131
- }(Activity));
5672
+ }(AbstractConfirmDialogComponent));
5132
5673
  ConfirmationDialogComponent.decorators = [
5133
5674
  { type: i0.Component, args: [{
5134
5675
  selector: 'aup-confirmation-dialog',
5135
- template: "<aup-activity-title *ngIf=\"confirm.title\" [color]=\"titleColor\">{{confirm.title()}}</aup-activity-title>\n<aup-activity-body>\n <p *ngFor=\"let line of confirm.content()\">{{line}}</p>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n\n",
5136
- styles: [":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}"]
5676
+ template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n\n",
5677
+ styles: [":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"]
5137
5678
  },] }
5138
5679
  ];
5139
5680
  ConfirmationDialogComponent.ctorParameters = function () { return [
@@ -5172,6 +5713,12 @@
5172
5713
  data: data
5173
5714
  }, true);
5174
5715
  };
5716
+ AbstractInteractionContext.prototype.confirmThenExecute = function (confirm, operation) {
5717
+ return this.createAndLaunchActivity(ConfirmThenExecuteDialogComponent, {
5718
+ confirm: confirm,
5719
+ operation: operation
5720
+ }, true);
5721
+ };
5175
5722
  return AbstractInteractionContext;
5176
5723
  }());
5177
5724
 
@@ -5304,7 +5851,7 @@
5304
5851
  { type: i0.Component, args: [{
5305
5852
  selector: 'aup-activity-outlet',
5306
5853
  template: '',
5307
- styles: [":host{display:block}"]
5854
+ styles: [":host{display:block}\n"]
5308
5855
  },] }
5309
5856
  ];
5310
5857
  ActivityOutletComponent.ctorParameters = function () { return [
@@ -5325,7 +5872,7 @@
5325
5872
  _this.activityRefs = [];
5326
5873
  _this.garbage = new pectin.GarbageCollector();
5327
5874
  _this.inAnimation = new pectin.MutableValueModel(false);
5328
- _this.busy = new pectin.DelegatingValueModel().withDefault(false);
5875
+ _this.busy = _this.registerDisposable(new pectin.DelegatingValueModel().withDefault(false));
5329
5876
  _this.registerDisposable(_this.busy);
5330
5877
  return _this;
5331
5878
  }
@@ -5375,7 +5922,7 @@
5375
5922
  if (!this.isActive()) {
5376
5923
  typescriptUtilities.lang.illegalState('no activity in progress');
5377
5924
  }
5378
- return ___default['default'].findLast(this.activityRefs, function (tab) { return !tab.isComplete(); });
5925
+ return ___default["default"].findLast(this.activityRefs, function (tab) { return !tab.isComplete(); });
5379
5926
  };
5380
5927
  /**
5381
5928
  * Cancels the current activity and returns true the context is no longer active, false if
@@ -5518,8 +6065,8 @@
5518
6065
  ActivityContainerComponent.decorators = [
5519
6066
  { type: i0.Component, args: [{
5520
6067
  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",
5522
- styles: [":host{display:flex;flex-direction:column}aup-busy-overlay,mat-tab-group{flex:1}"]
6068
+ 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",
6069
+ styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}\n"]
5523
6070
  },] }
5524
6071
  ];
5525
6072
  ActivityContainerComponent.ctorParameters = function () { return []; };
@@ -5558,7 +6105,7 @@
5558
6105
  }
5559
6106
  Object.defineProperty(ActivityTitleComponent.prototype, "hasTransparentBackground", {
5560
6107
  get: function () {
5561
- return ___default['default'].isNil(this._hasUserTransparentBackground) ? !this._color : this._hasUserTransparentBackground;
6108
+ return ___default["default"].isNil(this._hasUserTransparentBackground) ? !this._color : this._hasUserTransparentBackground;
5562
6109
  },
5563
6110
  /**
5564
6111
  * Adjusts layout to ensure the title and body are cleanly separated with even
@@ -5588,7 +6135,7 @@
5588
6135
  { type: i0.Component, args: [{
5589
6136
  selector: 'aup-activity-title',
5590
6137
  template: "<ng-content></ng-content>\n",
5591
- styles: [":host{display:block}"]
6138
+ styles: [":host{display:block}\n"]
5592
6139
  },] }
5593
6140
  ];
5594
6141
  ActivityTitleComponent.propDecorators = {
@@ -5615,6 +6162,13 @@
5615
6162
  });
5616
6163
  return _this;
5617
6164
  }
6165
+ Object.defineProperty(AbstractActivityTriggerComponent.prototype, "interactionContext", {
6166
+ get: function () {
6167
+ return typescriptUtilities.lang.abstractMethod(this.constructor);
6168
+ },
6169
+ enumerable: false,
6170
+ configurable: true
6171
+ });
5618
6172
  AbstractActivityTriggerComponent.prototype.ngOnInit = function () {
5619
6173
  };
5620
6174
  Object.defineProperty(AbstractActivityTriggerComponent.prototype, "isActive", {
@@ -5792,7 +6346,7 @@
5792
6346
  function ContextRegistry() {
5793
6347
  var _this = _super.call(this) || this;
5794
6348
  _this._interactions = new pectin.MutableListModel();
5795
- _this._disabledDelegate = new pectin.DelegatingValueModel().withDefault(false);
6349
+ _this._disabledDelegate = _this.registerDisposable(new pectin.DelegatingValueModel().withDefault(false));
5796
6350
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
5797
6351
  _this.active = chain(_this._interactions).isNotEmpty();
5798
6352
  _this.interactionContextIds = chain(_this._interactions).pluck("identifier");
@@ -5856,16 +6410,23 @@
5856
6410
  __extends(ModalActivityTriggerComponent, _super);
5857
6411
  function ModalActivityTriggerComponent(interactionService) {
5858
6412
  var _this = _super.call(this) || this;
5859
- _this.interactionContext = interactionService.createModalInteractionContextDisposedWith(_this);
6413
+ _this._interactionContext = interactionService.createModalInteractionContextDisposedWith(_this);
5860
6414
  return _this;
5861
6415
  }
6416
+ Object.defineProperty(ModalActivityTriggerComponent.prototype, "interactionContext", {
6417
+ get: function () {
6418
+ return this._interactionContext;
6419
+ },
6420
+ enumerable: false,
6421
+ configurable: true
6422
+ });
5862
6423
  return ModalActivityTriggerComponent;
5863
6424
  }(AbstractActivityTriggerComponent));
5864
6425
  ModalActivityTriggerComponent.decorators = [
5865
6426
  { type: i0.Component, args: [{
5866
6427
  selector: 'aup-modal-activity-trigger',
5867
6428
  template: "<aup-command [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n",
5868
- styles: [":host{display:inline-block}"]
6429
+ styles: [":host{display:inline-block}\n"]
5869
6430
  },] }
5870
6431
  ];
5871
6432
  ModalActivityTriggerComponent.ctorParameters = function () { return [
@@ -5904,6 +6465,13 @@
5904
6465
  enumerable: false,
5905
6466
  configurable: true
5906
6467
  });
6468
+ Object.defineProperty(InPlaceInteractionContextComponent.prototype, "active", {
6469
+ get: function () {
6470
+ return this.isActive();
6471
+ },
6472
+ enumerable: false,
6473
+ configurable: true
6474
+ });
5907
6475
  InPlaceInteractionContextComponent.prototype.ngAfterViewInit = function () {
5908
6476
  this.interactionService.registerInplaceInteractionContext(this);
5909
6477
  };
@@ -5932,6 +6500,9 @@
5932
6500
  InPlaceInteractionContextComponent.prototype.confirmThen = function (confirm, activityType, data) {
5933
6501
  return this.activityContainerComponent.confirmThen(confirm, activityType);
5934
6502
  };
6503
+ InPlaceInteractionContextComponent.prototype.confirmThenExecute = function (confirm, operation) {
6504
+ return this.activityContainerComponent.confirmThenExecute(confirm, operation);
6505
+ };
5935
6506
  InPlaceInteractionContextComponent.prototype.isActive = function () {
5936
6507
  return this.activityContainerComponent.isActive();
5937
6508
  };
@@ -5944,7 +6515,7 @@
5944
6515
  { type: i0.Component, args: [{
5945
6516
  selector: 'aup-in-place-interaction-context',
5946
6517
  template: "<mat-tab-group no-tab-header [selectedIndex]=\"isActive() ? 1 : 0\" full-height-tabs [dynamicHeight]=\"false\" [animationDuration]=\"animationDuration\">\n <mat-tab>\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab>\n <aup-activity-container #activityContainer [dynamicHeight]=\"false\"></aup-activity-container>\n </mat-tab>\n</mat-tab-group>\n\n",
5947
- styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
6518
+ styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}\n"]
5948
6519
  },] }
5949
6520
  ];
5950
6521
  InPlaceInteractionContextComponent.ctorParameters = function () { return [
@@ -5953,8 +6524,95 @@
5953
6524
  ]; };
5954
6525
  InPlaceInteractionContextComponent.propDecorators = {
5955
6526
  activityContainerComponent: [{ type: i0.ViewChild, args: ['activityContainer', { static: true },] }],
5956
- animateFirstActivity: [{ type: i0.Input }]
6527
+ animateFirstActivity: [{ type: i0.Input }],
6528
+ active: [{ type: i0.HostBinding, args: ["class.active",] }]
6529
+ };
6530
+
6531
+ /**
6532
+ *
6533
+ */
6534
+ exports.AddCardActivityComponent = /** @class */ (function (_super) {
6535
+ __extends(AddCardActivityComponent, _super);
6536
+ function AddCardActivityComponent(interactionService) {
6537
+ var _this = _super.call(this) || this;
6538
+ _this.interactionStyle = AddCardActivityComponent.InteractionType.MODAL;
6539
+ _this.renderAs = AddCardActivityComponent.RenderAs.CARD;
6540
+ _this.notCard = true;
6541
+ var chain = pectin.Dsl.disposeWith(_this).chain;
6542
+ _this.modalInteractionContext = interactionService.createModalInteractionContextDisposedWith(_this);
6543
+ _this.faceList = chain(_this.faceModel).mapToList(function (face) { return [face]; });
6544
+ return _this;
6545
+ }
6546
+ Object.defineProperty(AddCardActivityComponent.prototype, "renderAsClass", {
6547
+ get: function () {
6548
+ return "render-as-" + this.renderAs;
6549
+ },
6550
+ enumerable: false,
6551
+ configurable: true
6552
+ });
6553
+ Object.defineProperty(AddCardActivityComponent.prototype, "activityTypeClass", {
6554
+ get: function () {
6555
+ return this.interactionStyle + "-activity";
6556
+ },
6557
+ enumerable: false,
6558
+ configurable: true
6559
+ });
6560
+ AddCardActivityComponent.prototype.isRenderAsCard = function () {
6561
+ return this.renderAs === 'card';
6562
+ };
6563
+ AddCardActivityComponent.prototype.isRenderAsButton = function () {
6564
+ return this.renderAs === 'button';
6565
+ };
6566
+ AddCardActivityComponent.prototype.ngOnInit = function () {
6567
+ };
6568
+ Object.defineProperty(AddCardActivityComponent.prototype, "interactionContext", {
6569
+ get: function () {
6570
+ switch (this.interactionStyle) {
6571
+ case 'inline':
6572
+ return this.inlineInteractionContext;
6573
+ default:
6574
+ return this.modalInteractionContext;
6575
+ }
6576
+ },
6577
+ enumerable: false,
6578
+ configurable: true
6579
+ });
6580
+ AddCardActivityComponent.prototype.isModal = function () {
6581
+ return this.interactionStyle === 'modal';
6582
+ };
6583
+ AddCardActivityComponent.prototype.isInline = function () {
6584
+ return this.interactionStyle === 'inline';
6585
+ };
6586
+ return AddCardActivityComponent;
6587
+ }(AbstractActivityTriggerComponent));
6588
+ exports.AddCardActivityComponent.decorators = [
6589
+ { type: i0.Component, args: [{
6590
+ selector: 'aup-add-card-activity',
6591
+ 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",
6592
+ 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:#0000008a;background-color:#fffc}:host[interactionStyle=inline][renderas=card]:not(.active):hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=inline][renderas=card]:not(.active):hover{border-color:transparent;background-color:#fff;color:#0000008a}: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:#0000008a;background-color:#fffc}:host[interactionStyle=modal][renderas=card]:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=modal][renderas=card]:hover{border-color:transparent;background-color:#fff;color:#0000008a}: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}\n"]
6593
+ },] }
6594
+ ];
6595
+ exports.AddCardActivityComponent.ctorParameters = function () { return [
6596
+ { type: exports.InteractionService }
6597
+ ]; };
6598
+ exports.AddCardActivityComponent.propDecorators = {
6599
+ inlineInteractionContext: [{ type: i0.ViewChild, args: [InPlaceInteractionContextComponent, { static: true },] }],
6600
+ interactionStyle: [{ type: i0.Input }],
6601
+ renderAs: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class',] }],
6602
+ notCard: [{ type: i0.HostBinding, args: ['class.not-card',] }],
6603
+ renderAsClass: [{ type: i0.HostBinding, args: ['class',] }],
6604
+ activityTypeClass: [{ type: i0.HostBinding, args: ['class',] }]
5957
6605
  };
6606
+ (function (AddCardActivityComponent) {
6607
+ AddCardActivityComponent.InteractionType = typescriptStringEnums.Enum({
6608
+ MODAL: 'modal',
6609
+ INLINE: 'inline'
6610
+ });
6611
+ AddCardActivityComponent.RenderAs = typescriptStringEnums.Enum({
6612
+ CARD: 'card',
6613
+ BUTTON: 'button'
6614
+ });
6615
+ })(exports.AddCardActivityComponent || (exports.AddCardActivityComponent = {}));
5958
6616
 
5959
6617
  /**
5960
6618
  * Css Vars.
@@ -6001,7 +6659,7 @@
6001
6659
  { type: i0.Component, args: [{
6002
6660
  selector: 'aup-add-item-interaction-context',
6003
6661
  template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\">\n <a part=\"link\" class=\"link\" [pectinCommand]=\"clickCommand\"><aup-icon [icon]=\"icon\"></aup-icon> {{label}}</a>\n</aup-in-place-interaction-context>\n",
6004
- styles: [":host{--def-link-color:var(--link-color,currentColor);--def-link-color-hover:var(--link-color-hover,currentColor);--def-link-background:var(--link-background,transparent);--def-link-background-hover:var(--link-background-hover,rgba(0,0,0,0.05));--def-link-border-radius:var(--link-border-radius,4px);--def-link-padding:var(--link-padding,calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:none}:host:hover a.link{color:var(--def-link-color-hover);background-color:var(--def-link-background-hover)}a.link,aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;color:var(--def-link-color);background:var(--def-link-background);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}"]
6662
+ styles: [":host{--def-link-color: var(--link-color, currentColor);--def-link-color-hover: var(--link-color-hover, currentColor);--def-link-background: var(--link-background, transparent);--def-link-background-hover: var(--link-background-hover, rgba(0, 0, 0, .05));--def-link-border-radius: var(--link-border-radius, 4px);--def-link-padding: var(--link-padding, calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:none}:host:hover a.link{color:var(--def-link-color-hover);background-color:var(--def-link-background-hover)}aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;border-radius:var(--def-link-border-radius);color:var(--def-link-color);background:var(--def-link-background);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}\n"]
6005
6663
  },] }
6006
6664
  ];
6007
6665
  AddItemInteractionContextComponent.ctorParameters = function () { return []; };
@@ -6025,18 +6683,25 @@
6025
6683
  function InlineActivityTriggerComponent() {
6026
6684
  return _super.call(this) || this;
6027
6685
  }
6686
+ Object.defineProperty(InlineActivityTriggerComponent.prototype, "interactionContext", {
6687
+ get: function () {
6688
+ return this._interactionContext;
6689
+ },
6690
+ enumerable: false,
6691
+ configurable: true
6692
+ });
6028
6693
  return InlineActivityTriggerComponent;
6029
6694
  }(AbstractActivityTriggerComponent));
6030
6695
  InlineActivityTriggerComponent.decorators = [
6031
6696
  { type: i0.Component, args: [{
6032
6697
  selector: 'aup-inline-activity-trigger',
6033
6698
  template: "<aup-in-place-interaction-context #interactionContext [animateFirstActivity]=\"false\">\n <aup-command [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n</aup-in-place-interaction-context>\n",
6034
- styles: [":host{display:inline-block}"]
6699
+ styles: [":host{display:inline-block}\n"]
6035
6700
  },] }
6036
6701
  ];
6037
6702
  InlineActivityTriggerComponent.ctorParameters = function () { return []; };
6038
6703
  InlineActivityTriggerComponent.propDecorators = {
6039
- interactionContext: [{ type: i0.ViewChild, args: [InPlaceInteractionContextComponent, { static: true },] }]
6704
+ _interactionContext: [{ type: i0.ViewChild, args: [InPlaceInteractionContextComponent, { static: true },] }]
6040
6705
  };
6041
6706
 
6042
6707
  /**
@@ -6074,6 +6739,7 @@
6074
6739
  var self = this;
6075
6740
  var overlayRef = this._overlay.create({
6076
6741
  hasBackdrop: false,
6742
+ disposeOnNavigation: true,
6077
6743
  panelClass: 'aup-popup-interaction-panel',
6078
6744
  positionStrategy: this._overlay.position()
6079
6745
  .flexibleConnectedTo(this._element)
@@ -6129,7 +6795,7 @@
6129
6795
  { type: i0.Component, args: [{
6130
6796
  selector: 'aup-popup-interaction-context',
6131
6797
  template: "<ng-content></ng-content>\n",
6132
- styles: [":host{display:inline-block}:host.interaction-active{background:rgba(0,0,0,.05)}"]
6798
+ styles: [":host{display:inline-block}:host.interaction-active{background:rgba(0,0,0,.05)}\n"]
6133
6799
  },] }
6134
6800
  ];
6135
6801
  PopupInteractionContextComponent.ctorParameters = function () { return [
@@ -6185,7 +6851,7 @@
6185
6851
  });
6186
6852
  };
6187
6853
  InteractionContextTriggerFor.prototype.prepareActivityData = function () {
6188
- return ___default['default'].isFunction(this.activityDataFactory()) ? this.activityDataFactory() : this.activityData;
6854
+ return ___default["default"].isFunction(this.activityDataFactory()) ? this.activityDataFactory() : this.activityData;
6189
6855
  };
6190
6856
  return InteractionContextTriggerFor;
6191
6857
  }(pectin.GarbageCollector));
@@ -6209,45 +6875,114 @@
6209
6875
  // @see https://github.com/ng-packagr/ng-packagr/issues/641 and https://github.com/angular/angular/issues/21123
6210
6876
  // 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
6877
  // @dynamic
6212
- var AbstractInputActivity = /** @class */ (function (_super) {
6213
- __extends(AbstractInputActivity, _super);
6214
- function AbstractInputActivity(data) {
6215
- var _this = _super.call(this) || this;
6878
+ exports.InputActivity = /** @class */ (function (_super) {
6879
+ __extends(InputActivity, _super);
6880
+ function InputActivity(data) {
6881
+ var _this = this;
6882
+ var _a, _b;
6883
+ _this = _super.call(this) || this;
6216
6884
  _this.data = data;
6217
6885
  _this.class = 'aup-input-activity';
6218
6886
  var form = new pectin.DirtyTrackingForm();
6219
6887
  _this.valueModel = form.valueModel(_this.data.initialValue);
6220
6888
  _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);
6889
+ // TODO: move to global configuration
6890
+ _this.confirmFace = (_a = data.confirmFace) !== null && _a !== void 0 ? _a : {
6891
+ icon: function () { return 'mat:check'; }
6892
+ };
6893
+ _this.cancelFace = (_b = data.cancelFace) !== null && _b !== void 0 ? _b : {
6894
+ icon: function () { return 'mat:clear'; }
6895
+ };
6896
+ _this.confirmCommand = pectin.Command.create(function () { return __awaiter(_this, void 0, void 0, function () {
6897
+ var self_1, allGood_1, result, e_1;
6898
+ return __generator(this, function (_c) {
6899
+ switch (_c.label) {
6900
+ case 0:
6901
+ if (!this.valueModel.validate()) return [3 /*break*/, 6];
6902
+ if (!data.save) return [3 /*break*/, 5];
6903
+ self_1 = this;
6904
+ _c.label = 1;
6905
+ case 1:
6906
+ _c.trys.push([1, 3, , 4]);
6907
+ allGood_1 = true;
6908
+ return [4 /*yield*/, data.save(this.valueModel.value, {
6909
+ injectError: function (error) {
6910
+ allGood_1 = false;
6911
+ self_1.valueModel.injectErrors([error]);
6912
+ }
6913
+ })];
6914
+ case 2:
6915
+ result = _c.sent();
6916
+ if (allGood_1) {
6917
+ this.done(this.valueModel.value);
6918
+ }
6919
+ return [3 /*break*/, 4];
6920
+ case 3:
6921
+ e_1 = _c.sent();
6922
+ console.error(e_1);
6923
+ return [3 /*break*/, 4];
6924
+ case 4: return [3 /*break*/, 6];
6925
+ case 5:
6926
+ this.done(this.valueModel.value);
6927
+ _c.label = 6;
6928
+ case 6: return [2 /*return*/];
6229
6929
  }
6230
- }
6231
- });
6930
+ });
6931
+ }); });
6232
6932
  _this.cancelCommand = pectin.Command.create(function () {
6233
6933
  _this.cancel();
6234
6934
  });
6935
+ _this.busyWhile(_this.confirmCommand.busy);
6235
6936
  return _this;
6236
6937
  }
6237
- AbstractInputActivity.prototype.onActivityReady = function () {
6938
+ Object.defineProperty(InputActivity.prototype, "layout", {
6939
+ get: function () {
6940
+ var _a, _b;
6941
+ return (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.layout) !== null && _b !== void 0 ? _b : InputActivity.Layout.BLOCK;
6942
+ },
6943
+ enumerable: false,
6944
+ configurable: true
6945
+ });
6946
+ InputActivity.prototype.onActivityReady = function () {
6238
6947
  this.valueModel.focusContext.requestFocus();
6239
6948
  };
6240
- return AbstractInputActivity;
6949
+ Object.defineProperty(InputActivity.prototype, "additionalCssClassName", {
6950
+ get: function () {
6951
+ var _a;
6952
+ return (_a = this.data.cssClassName) !== null && _a !== void 0 ? _a : '';
6953
+ },
6954
+ enumerable: false,
6955
+ configurable: true
6956
+ });
6957
+ InputActivity.prototype.onEscape = function () {
6958
+ if (this.shouldCancelOnEscape() && this.cancelCommand.enabled.value) {
6959
+ this.cancelCommand.execute();
6960
+ }
6961
+ };
6962
+ InputActivity.prototype.shouldCancelOnEscape = function () {
6963
+ return ___namespace.isNil(this.data.cancelOnEscape) // we default to true..
6964
+ || this.data.cancelOnEscape;
6965
+ };
6966
+ return InputActivity;
6241
6967
  }(Activity));
6242
- AbstractInputActivity.decorators = [
6968
+ exports.InputActivity.decorators = [
6243
6969
  { type: i0.Component, args: [{ template: "" },] }
6244
6970
  ];
6245
- AbstractInputActivity.ctorParameters = function () { return [
6971
+ exports.InputActivity.ctorParameters = function () { return [
6246
6972
  { type: undefined, decorators: [{ type: i0.Inject, args: [ACTIVITY_DATA,] }] }
6247
6973
  ]; };
6248
- AbstractInputActivity.propDecorators = {
6249
- class: [{ type: i0.HostBinding, args: ['class',] }]
6974
+ exports.InputActivity.propDecorators = {
6975
+ class: [{ type: i0.HostBinding, args: ['class',] }],
6976
+ layout: [{ type: i0.Input }, { type: i0.HostBinding, args: ['attr.layout',] }],
6977
+ additionalCssClassName: [{ type: i0.HostBinding, args: ["class",] }],
6978
+ onEscape: [{ type: i0.HostListener, args: ['keydown.escape',] }]
6250
6979
  };
6980
+ (function (InputActivity) {
6981
+ InputActivity.Layout = typescriptStringEnums.Enum({
6982
+ INLINE: 'inline',
6983
+ BLOCK: 'block'
6984
+ });
6985
+ })(exports.InputActivity || (exports.InputActivity = {}));
6251
6986
 
6252
6987
  var StringInputActivity = /** @class */ (function (_super) {
6253
6988
  __extends(StringInputActivity, _super);
@@ -6255,11 +6990,11 @@
6255
6990
  return _super !== null && _super.apply(this, arguments) || this;
6256
6991
  }
6257
6992
  return StringInputActivity;
6258
- }(AbstractInputActivity));
6993
+ }(exports.InputActivity));
6259
6994
  StringInputActivity.decorators = [
6260
6995
  { type: i0.Component, args: [{
6261
6996
  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 "
6997
+ 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
6998
  },] }
6264
6999
  ];
6265
7000
 
@@ -6289,11 +7024,11 @@
6289
7024
  configurable: true
6290
7025
  });
6291
7026
  return SelectInputActivity;
6292
- }(AbstractInputActivity));
7027
+ }(exports.InputActivity));
6293
7028
  SelectInputActivity.decorators = [
6294
7029
  { type: i0.Component, args: [{
6295
7030
  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 "
7031
+ 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
7032
  },] }
6298
7033
  ];
6299
7034
 
@@ -6400,36 +7135,6 @@
6400
7135
  return TableModel;
6401
7136
  }(AbstractTableModel));
6402
7137
 
6403
- exports.SelfAndDescendantsVisitor = /** @class */ (function () {
6404
- function SelfAndDescendantsVisitor() {
6405
- }
6406
- SelfAndDescendantsVisitor.prototype.visit = function (it) {
6407
- this.onVisit(it);
6408
- if (this.shouldVisitChildrenOf(it)) {
6409
- it.visitChildren(this);
6410
- }
6411
- };
6412
- SelfAndDescendantsVisitor.prototype.shouldVisitChildrenOf = function (it) {
6413
- return true;
6414
- };
6415
- return SelfAndDescendantsVisitor;
6416
- }());
6417
- (function (SelfAndDescendantsVisitor) {
6418
- var Each = /** @class */ (function (_super) {
6419
- __extends(Each, _super);
6420
- function Each(callback) {
6421
- var _this = _super.call(this) || this;
6422
- _this.callback = callback;
6423
- return _this;
6424
- }
6425
- Each.prototype.onVisit = function (it) {
6426
- this.callback(it);
6427
- };
6428
- return Each;
6429
- }(SelfAndDescendantsVisitor));
6430
- SelfAndDescendantsVisitor.Each = Each;
6431
- })(exports.SelfAndDescendantsVisitor || (exports.SelfAndDescendantsVisitor = {}));
6432
-
6433
7138
  /**
6434
7139
  * @file Automatically generated by barrelsby.
6435
7140
  */
@@ -6442,21 +7147,260 @@
6442
7147
  _this.anchorY = 'bottom';
6443
7148
  return _this;
6444
7149
  }
7150
+ Object.defineProperty(PopupActivityTriggerComponent.prototype, "interactionContext", {
7151
+ get: function () {
7152
+ return this._interactionContext;
7153
+ },
7154
+ enumerable: false,
7155
+ configurable: true
7156
+ });
6445
7157
  return PopupActivityTriggerComponent;
6446
7158
  }(AbstractActivityTriggerComponent));
6447
7159
  PopupActivityTriggerComponent.decorators = [
6448
7160
  { type: i0.Component, args: [{
6449
7161
  selector: 'aup-popup-activity-trigger',
6450
7162
  template: "<aup-popup-interaction-context [anchorX]=\"anchorX\" [anchorY]=\"anchorY\">\n <aup-command [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n</aup-popup-interaction-context>\n",
6451
- styles: [":host{display:inline-block}"]
7163
+ styles: [":host{display:inline-block}\n"]
6452
7164
  },] }
6453
7165
  ];
6454
7166
  PopupActivityTriggerComponent.ctorParameters = function () { return []; };
6455
7167
  PopupActivityTriggerComponent.propDecorators = {
6456
7168
  anchorX: [{ type: i0.Input }],
6457
7169
  anchorY: [{ type: i0.Input }],
6458
- interactionContext: [{ type: i0.ViewChild, args: [PopupInteractionContextComponent, { static: true },] }]
7170
+ _interactionContext: [{ type: i0.ViewChild, args: [PopupInteractionContextComponent, { static: true },] }]
7171
+ };
7172
+
7173
+ exports.InlineEditorModel = /** @class */ (function (_super) {
7174
+ __extends(InlineEditorModel, _super);
7175
+ function InlineEditorModel(valueModel, saveCallback) {
7176
+ var _this = _super.call(this) || this;
7177
+ _this.valueModel = valueModel;
7178
+ _this.saveCallback = saveCallback;
7179
+ _this.editing = new pectin.MutableValueModel(false);
7180
+ _this._validators = new pectin.MutableListModel();
7181
+ _this._editingEnabled = _this.registerDisposable(new pectin.DelegatingValueModel().withDefault(true));
7182
+ pectin.assert.notNil(valueModel);
7183
+ var when = pectin.Dsl.disposeWith(_this).when;
7184
+ when(_this.editingEnabled).becomesFalsey(function () { return _this.cancelEdit(); });
7185
+ return _this;
7186
+ }
7187
+ Object.defineProperty(InlineEditorModel.prototype, "editingEnabled", {
7188
+ get: function () {
7189
+ return this._editingEnabled.readonly;
7190
+ },
7191
+ enumerable: false,
7192
+ configurable: true
7193
+ });
7194
+ InlineEditorModel.prototype.disableWhile = function (condition) {
7195
+ var chain = pectin.Dsl.disposeWith(this).chain;
7196
+ this.enableWhile(chain(condition).isFalsey());
7197
+ return this;
7198
+ };
7199
+ InlineEditorModel.prototype.enableWhile = function (condition) {
7200
+ this._editingEnabled.setDelegate(condition);
7201
+ return this;
7202
+ };
7203
+ Object.defineProperty(InlineEditorModel.prototype, "validators", {
7204
+ get: function () {
7205
+ return this._validators.readonly;
7206
+ },
7207
+ enumerable: false,
7208
+ configurable: true
7209
+ });
7210
+ InlineEditorModel.prototype.validateUsing = function (validator) {
7211
+ this._validators.push(validator);
7212
+ return this;
7213
+ };
7214
+ InlineEditorModel.prototype.isEditing = function () {
7215
+ return this.editing.value;
7216
+ };
7217
+ InlineEditorModel.prototype.cancelEdit = function () {
7218
+ this.editing.value = false;
7219
+ };
7220
+ InlineEditorModel.prototype.startEditing = function () {
7221
+ this.editing.value = true;
7222
+ };
7223
+ return InlineEditorModel;
7224
+ }(pectin.GarbageCollector));
7225
+ (function (InlineEditorModel) {
7226
+ function create(valueModel, options) {
7227
+ return new InlineEditorModel(valueModel, options.save);
7228
+ }
7229
+ InlineEditorModel.create = create;
7230
+ })(exports.InlineEditorModel || (exports.InlineEditorModel = {}));
7231
+ pectin.TrackExternal.oneTimeBinding(exports.InlineEditorModel);
7232
+
7233
+ /**
7234
+ * @example
7235
+ * const source: ValueModel<string> = ...;
7236
+ * const model = InlineEditorModel.create(source, {
7237
+ * save(updated:string, context: EditContext) => {
7238
+ * try {
7239
+ * try and save the thing...
7240
+ * } catch(error) {
7241
+ * context.injectError(error)
7242
+ * }
7243
+ * }).validateUsing(Validator.present("We'll need a value");
7244
+ *
7245
+ * # in the view
7246
+ * <aup-inline-string-editor
7247
+ * label="My field"
7248
+ * placeHolder="I'm ready for a string..."
7249
+ * [editorModel]="model"></aup-inline-string-editor>
7250
+ */
7251
+ exports.InlineStringEditorComponent = /** @class */ (function (_super) {
7252
+ __extends(InlineStringEditorComponent, _super);
7253
+ function InlineStringEditorComponent(interactionService) {
7254
+ var _this = _super.call(this) || this;
7255
+ _this.editingEnabled = _this.registerDisposable(new pectin.DelegatingValueModel());
7256
+ var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, when = _a.when, valueOf = _a.valueOf;
7257
+ var modalIC = interactionService.createModalInteractionContextDisposedWith(_this);
7258
+ var resolvedFacesModel = chain(_this.facesModel).map(function (userFaces) {
7259
+ return Object.assign(Object.assign({}, InlineStringEditorComponent.DEFAULT_FACES), userFaces);
7260
+ }, { allowNil: true });
7261
+ _this.editFaceModel = resolvedFacesModel.pluck('edit');
7262
+ _this.saveFace = resolvedFacesModel.pluck('save');
7263
+ _this.cancelFace = resolvedFacesModel.pluck('cancel');
7264
+ var self = _this;
7265
+ _this.editCommand = pectin.Command.create(function () { return __awaiter(_this, void 0, void 0, function () {
7266
+ var e_1;
7267
+ return __generator(this, function (_a) {
7268
+ switch (_a.label) {
7269
+ case 0:
7270
+ this.editorModel.editing.value = true;
7271
+ _a.label = 1;
7272
+ case 1:
7273
+ _a.trys.push([1, 3, 4, 5]);
7274
+ return [4 /*yield*/, this.interactionContext.startActivity(StringInputActivity, this.createInputActivityData())];
7275
+ case 2:
7276
+ _a.sent();
7277
+ return [3 /*break*/, 5];
7278
+ case 3:
7279
+ e_1 = _a.sent();
7280
+ return [3 /*break*/, 5];
7281
+ case 4:
7282
+ this.editorModel.editing.value = false;
7283
+ return [7 /*endfinally*/];
7284
+ case 5: return [2 /*return*/];
7285
+ }
7286
+ });
7287
+ }); }).enableWhile(_this.editingEnabled);
7288
+ _this.onDispose(function () { return _this.cancelEdit(); });
7289
+ return _this;
7290
+ }
7291
+ InlineStringEditorComponent.prototype.ngOnInit = function () {
7292
+ var _this = this;
7293
+ // our editor model is a one time binding without delegates so we can only
7294
+ // use it once we've been initialised
7295
+ var _a = pectin.Dsl.disposeWith(this), chain = _a.chain, when = _a.when, valueOf = _a.valueOf;
7296
+ if (!this.editorModel) {
7297
+ typescriptUtilities.lang.illegalState('editorModel is required');
7298
+ }
7299
+ this.editingEnabled.setDelegate(this.editorModel.editingEnabled);
7300
+ when(this.editorModel.editing).becomesTruthy(function () {
7301
+ _this.editCommand.execute();
7302
+ }, { asLongAs: this.editCommand.enabled });
7303
+ when(this.editorModel.editing).becomesFalsey(function () { return _this.cancelEdit(); });
7304
+ this.empty = valueOf.any(chain.stringValue(this.editorModel.valueModel).isBlank()
7305
+ // deviceDescription.isNil()
7306
+ ).areTruthy();
7307
+ this.displayValue = chain(this.editorModel.valueModel).map(function (v) {
7308
+ return ___namespace.isEmpty(v) ? _this.placeHolderModel.value : v;
7309
+ }, { dependsOn: this.placeHolderModel, allowNil: true });
7310
+ };
7311
+ InlineStringEditorComponent.prototype.createInputActivityData = function () {
7312
+ var self = this;
7313
+ return {
7314
+ initialValue: self.editorModel.valueModel.value,
7315
+ confirmFace: self.saveFace.value,
7316
+ cancelFace: self.cancelFace.value,
7317
+ placeholder: self.placeHolderModel.value,
7318
+ label: self.label,
7319
+ layout: exports.InputActivity.Layout.INLINE,
7320
+ validators: self.editorModel.validators.value,
7321
+ save: function (value, inputContext) {
7322
+ return __awaiter(this, void 0, void 0, function () {
7323
+ return __generator(this, function (_a) {
7324
+ switch (_a.label) {
7325
+ case 0: return [4 /*yield*/, self.editorModel.saveCallback(value, inputContext)];
7326
+ case 1:
7327
+ _a.sent();
7328
+ return [2 /*return*/];
7329
+ }
7330
+ });
7331
+ });
7332
+ }
7333
+ };
7334
+ };
7335
+ InlineStringEditorComponent.prototype.cancelEdit = function () {
7336
+ if (this.isEditing()) {
7337
+ this.interactionContext.cancelActiveActivity();
7338
+ }
7339
+ };
7340
+ InlineStringEditorComponent.prototype.startEdit = function () {
7341
+ if (!this.isEditing() && this.editCommand.enabled.value) {
7342
+ this.editCommand.execute();
7343
+ }
7344
+ };
7345
+ InlineStringEditorComponent.prototype.isEditing = function () {
7346
+ return this.interactionContext.isActive();
7347
+ };
7348
+ InlineStringEditorComponent.prototype.isEmpty = function () {
7349
+ return this.empty.value;
7350
+ };
7351
+ return InlineStringEditorComponent;
7352
+ }(DisposableComponent));
7353
+ exports.InlineStringEditorComponent.decorators = [
7354
+ { type: i0.Component, args: [{
7355
+ selector: 'aup-inline-string-editor',
7356
+ 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"
7357
+ },] }
7358
+ ];
7359
+ exports.InlineStringEditorComponent.ctorParameters = function () { return [
7360
+ { type: exports.InteractionService }
7361
+ ]; };
7362
+ exports.InlineStringEditorComponent.propDecorators = {
7363
+ editorModel: [{ type: i0.Input }],
7364
+ facesModel: [{ type: i0.Input }],
7365
+ faces: [{ type: i0.Input }],
7366
+ interactionContext: [{ type: i0.ViewChild, args: [InPlaceInteractionContextComponent,] }],
7367
+ label: [{ type: i0.Input }],
7368
+ placeHolder: [{ type: i0.Input }],
7369
+ placeHolderModel: [{ type: i0.Input }]
6459
7370
  };
7371
+ __decorate([
7372
+ pectin.TrackExternal(),
7373
+ __metadata("design:type", exports.InlineEditorModel)
7374
+ ], exports.InlineStringEditorComponent.prototype, "editorModel", void 0);
7375
+ __decorate([
7376
+ pectin.TrackExternal(),
7377
+ __metadata("design:type", pectin.ValueModel)
7378
+ ], exports.InlineStringEditorComponent.prototype, "facesModel", void 0);
7379
+ __decorate([
7380
+ pectin.StoreInValueModel('facesModel'),
7381
+ __metadata("design:type", Object)
7382
+ ], exports.InlineStringEditorComponent.prototype, "faces", void 0);
7383
+ __decorate([
7384
+ pectin.StoreInValueModel('placeHolderModel'),
7385
+ __metadata("design:type", String)
7386
+ ], exports.InlineStringEditorComponent.prototype, "placeHolder", void 0);
7387
+ __decorate([
7388
+ pectin.TrackExternal(),
7389
+ __metadata("design:type", pectin.ValueModel)
7390
+ ], exports.InlineStringEditorComponent.prototype, "placeHolderModel", void 0);
7391
+ (function (InlineStringEditorComponent) {
7392
+ InlineStringEditorComponent.DEFAULT_FACES = {
7393
+ edit: {
7394
+ icon: function () { return 'mat:edit'; }
7395
+ },
7396
+ save: {
7397
+ icon: function () { return 'mat:check'; }
7398
+ },
7399
+ cancel: {
7400
+ icon: function () { return 'mat:clear'; }
7401
+ }
7402
+ };
7403
+ })(exports.InlineStringEditorComponent || (exports.InlineStringEditorComponent = {}));
6460
7404
 
6461
7405
  var InteractionModule = /** @class */ (function () {
6462
7406
  function InteractionModule() {
@@ -6476,30 +7420,39 @@
6476
7420
  DirectivesModule,
6477
7421
  flexLayout.FlexModule,
6478
7422
  flexLayout.GridModule,
6479
- ComponentsModule
7423
+ ComponentsModule,
7424
+ forms.FormsModule,
7425
+ input.MatInputModule,
7426
+ formField.MatFormFieldModule,
7427
+ a11y.A11yModule
6480
7428
  ],
6481
7429
  declarations: [
6482
7430
  ActivityContainerComponent,
6483
7431
  ConfirmationDialogComponent,
6484
7432
  ConfirmThenDialogComponent,
7433
+ ConfirmThenExecuteDialogComponent,
6485
7434
  AlertDialogComponent,
6486
7435
  ActivityOutletComponent,
6487
7436
  InPlaceInteractionContextComponent,
6488
7437
  AddItemInteractionContextComponent,
6489
- ActivityActionsComponent,
7438
+ exports.ActivityActionsComponent,
6490
7439
  PopupInteractionContextComponent,
6491
7440
  StringInputActivity,
6492
7441
  SelectInputActivity,
6493
- AbstractInputActivity,
7442
+ exports.InputActivity,
6494
7443
  InteractionContextTriggerFor,
6495
7444
  Activity,
6496
7445
  ActivityTitleComponent,
6497
7446
  ActivityBodyComponent,
6498
- ActivityActionsComponent,
7447
+ exports.ActivityActionsComponent,
6499
7448
  AbstractActivityTriggerComponent,
6500
7449
  PopupActivityTriggerComponent,
6501
7450
  InlineActivityTriggerComponent,
6502
- ModalActivityTriggerComponent
7451
+ ModalActivityTriggerComponent,
7452
+ exports.AddCardActivityComponent,
7453
+ exports.InlineStringEditorComponent,
7454
+ AbstractDialogComponent,
7455
+ AbstractConfirmDialogComponent,
6503
7456
  ],
6504
7457
  exports: [
6505
7458
  ActivityContainerComponent,
@@ -6507,7 +7460,7 @@
6507
7460
  ActivityTitleComponent,
6508
7461
  InPlaceInteractionContextComponent,
6509
7462
  AddItemInteractionContextComponent,
6510
- ActivityActionsComponent,
7463
+ exports.ActivityActionsComponent,
6511
7464
  PopupInteractionContextComponent,
6512
7465
  InteractionContextTriggerFor,
6513
7466
  StringInputActivity,
@@ -6515,13 +7468,15 @@
6515
7468
  ActivityBodyComponent,
6516
7469
  PopupActivityTriggerComponent,
6517
7470
  InlineActivityTriggerComponent,
6518
- ModalActivityTriggerComponent
7471
+ ModalActivityTriggerComponent,
7472
+ exports.AddCardActivityComponent,
7473
+ exports.InlineStringEditorComponent,
6519
7474
  ],
6520
7475
  entryComponents: [
6521
- ActivityContainerComponent,
6522
- ConfirmationDialogComponent,
6523
- ConfirmThenDialogComponent,
6524
- AlertDialogComponent
7476
+ // ActivityContainerComponent,
7477
+ // ConfirmationDialogComponent,
7478
+ // ConfirmThenDialogComponent,
7479
+ // AlertDialogComponent
6525
7480
  ],
6526
7481
  providers: [
6527
7482
  exports.InteractionService
@@ -6600,7 +7555,7 @@
6600
7555
  return _this;
6601
7556
  }
6602
7557
  RouteId.prototype.isEmptyValue = function (value) {
6603
- return ___default['default'].isNil(value);
7558
+ return ___default["default"].isNil(value);
6604
7559
  };
6605
7560
  RouteId.prototype.hasChanged = function (a, b) {
6606
7561
  return a !== b;
@@ -6618,7 +7573,7 @@
6618
7573
  return _this;
6619
7574
  }
6620
7575
  ValueParameter.prototype.isEmptyValue = function (value) {
6621
- return ___default['default'].isNil(value);
7576
+ return ___default["default"].isNil(value);
6622
7577
  };
6623
7578
  ValueParameter.prototype.hasChanged = function (a, b) {
6624
7579
  return a !== b;
@@ -6636,10 +7591,10 @@
6636
7591
  return _this;
6637
7592
  }
6638
7593
  ArrayParameter.prototype.isEmptyValue = function (value) {
6639
- return ___default['default'].isNil(value) || value.length < 1;
7594
+ return ___default["default"].isNil(value) || value.length < 1;
6640
7595
  };
6641
7596
  ArrayParameter.prototype.hasChanged = function (a, b) {
6642
- return !___default['default'].isEqual(a, b);
7597
+ return !___default["default"].isEqual(a, b);
6643
7598
  };
6644
7599
  return ArrayParameter;
6645
7600
  }(ParameterDefinition));
@@ -6688,13 +7643,13 @@
6688
7643
  };
6689
7644
  PlaceDefinition.prototype.getPlaceData = function (key, defaultValue) {
6690
7645
  return this.data ?
6691
- ___default['default'].isNil(this.data[key]) ? defaultValue : this.data[key] :
7646
+ ___default["default"].isNil(this.data[key]) ? defaultValue : this.data[key] :
6692
7647
  defaultValue;
6693
7648
  };
6694
7649
  PlaceDefinition.prototype.searchPlaceData = function (keys, defaultValue) {
6695
7650
  var _this = this;
6696
7651
  if (this.data) {
6697
- var found = keys.find(function (key) { return !___default['default'].isNil(_this.data[key]); });
7652
+ var found = keys.find(function (key) { return !___default["default"].isNil(_this.data[key]); });
6698
7653
  return found ? this.data[found] : defaultValue;
6699
7654
  }
6700
7655
  else {
@@ -6764,7 +7719,7 @@
6764
7719
  // because our id routes redirect if the id isn't present we always have a id
6765
7720
  // parameter in our params. This will bugger our remember and defaultvalue sanitisation
6766
7721
  // as it'll see that the id is present (event thought its a blank string).
6767
- if (!___default['default'].isEmpty(value)) {
7722
+ if (!___default["default"].isEmpty(value)) {
6768
7723
  result[def.name] = def.urlFormat.parse(value);
6769
7724
  }
6770
7725
  }
@@ -6827,17 +7782,28 @@
6827
7782
  _this.childPlaces = _this.placeDefinition.children.map(function (d) { return d.component; });
6828
7783
  return _this;
6829
7784
  }
6830
- // @Trace()
6831
7785
  PlaceComponent.prototype.initialiseVisit = function (visit, notifyVisitChanged) {
6832
7786
  var _this = this;
6833
7787
  pectin.assert.isNil(this.visitModel.value);
6834
7788
  var when = pectin.Dsl.disposeWith(this).when;
6835
7789
  this.visitModel.value = visit;
6836
7790
  pectin.DebugContext.getOrCreate(this.visitModel).tag(this.placeDefinition.component.name + ".visitModel");
6837
- this.placeDefinition.getVisitParameterDefs().forEach(function (parameterDef) { return _this.installBinding(parameterDef); });
7791
+ // we track if the any of the bindings updated the route. If so we remember it and update the
7792
+ // route in one go at the end.
7793
+ this.placeDefinition
7794
+ .getVisitParameterDefs()
7795
+ .forEach(function (parameterDef) { return _this.installAndInitialiseBinding(visit, parameterDef); });
6838
7796
  when(this.visitModel).changes(function (current, previous) {
6839
7797
  notifyVisitChanged(current, previous);
6840
7798
  }, { unless: this._inVisitUpdate });
7799
+ // TODO: this needs to do a replace url option so that the new url isn't put in the history.... for
7800
+ // now we're not doing it as it's a fair bit of effort and will only affect people if they're
7801
+ // cutting and pasting urls to each other.
7802
+ // // the binding process can update the visit (e.g. if a selection model has already selected during
7803
+ // // component construction) and there was no value specified in the route
7804
+ // if (visit.hasRoutingChangedFrom(this.visitModel.value)) {
7805
+ // notifyVisitChanged(this.visitModel.value, visit)
7806
+ // }
6841
7807
  };
6842
7808
  PlaceComponent.prototype.updateVisit = function (visit) {
6843
7809
  var _this = this;
@@ -6851,7 +7817,12 @@
6851
7817
  return !!this.visitModel.value;
6852
7818
  };
6853
7819
  // @Trace()
6854
- PlaceComponent.prototype.installBinding = function (parameterDef) {
7820
+ /**
7821
+ * Initialised the component bindings. If any binding has an initial model value (e.g. a selection model
7822
+ * initialised during the constructor) and the route has nothing, then the visit will be udpated and this
7823
+ * method will return ture to nofiy the the visit has changed.
7824
+ */
7825
+ PlaceComponent.prototype.installAndInitialiseBinding = function (initialVisit, parameterDef) {
6855
7826
  var model = this[parameterDef.propertyName];
6856
7827
  pectin.DebugContext.tag(model, this.placeDefinition.component.name + "." + parameterDef.propertyName);
6857
7828
  var binding = this.registerDisposable(new pectin.Binding(this.visitModel, model, {
@@ -6865,7 +7836,17 @@
6865
7836
  return currentVisit.replace(parameterDef, value);
6866
7837
  }
6867
7838
  }));
6868
- binding.writeRight();
7839
+ // Now we need to initialise the binding direction. If we have a value in the Url then we should always push
7840
+ // 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
7841
+ // component constructor) then we should push that to the route.
7842
+ var isInVisit = !___namespace.isNil(initialVisit.getParameterValue(parameterDef));
7843
+ var isInModel = !___namespace.isNil(model.value);
7844
+ if (!isInVisit && isInModel) {
7845
+ binding.writeLeft(); // push it to the route
7846
+ }
7847
+ else {
7848
+ binding.writeRight(); // push it to the model
7849
+ }
6869
7850
  };
6870
7851
  Object.defineProperty(PlaceComponent.prototype, "placeDefinition", {
6871
7852
  get: function () {
@@ -7416,7 +8397,7 @@
7416
8397
  var currentIds = this.interactionServiceAdapter.getActiveInteractionContextIds();
7417
8398
  var previousIds = this.urlService.getCurrentLocationUrlSnapshot().getInteractionIds();
7418
8399
  // console.log(`---> synchroniseInteractionIds`, { is: currentIds.join(','), was: previousIds.join(',') });
7419
- if (___default['default'].isEqual(currentIds, previousIds)) {
8400
+ if (___default["default"].isEqual(currentIds, previousIds)) {
7420
8401
  // console.log('### Activity context ids were the same, skipping');
7421
8402
  this.context.finishRoutingSession();
7422
8403
  }
@@ -7896,7 +8877,7 @@
7896
8877
  return !!((_a = this._previousVisits) === null || _a === void 0 ? void 0 : _a.getVisitFor(placeDef));
7897
8878
  };
7898
8879
  PlaceHistory.prototype.getMostRecentVisitFor = function (placeDef) {
7899
- return ___default['default'].first(this.getHistory(placeDef));
8880
+ return ___default["default"].first(this.getHistory(placeDef));
7900
8881
  };
7901
8882
  PlaceHistory.prototype.getHistory = function (placeDef) {
7902
8883
  var history = this._archive.get(placeDef);
@@ -7913,7 +8894,7 @@
7913
8894
  var _this = this;
7914
8895
  visits.forEach(function (state) {
7915
8896
  var history = _this.getHistory(state.placeDefinition);
7916
- var previousState = ___default['default'].first(history);
8897
+ var previousState = ___default["default"].first(history);
7917
8898
  if (!previousState || state.hasChangedFrom(previousState)) {
7918
8899
  history.unshift(state); // LIFO
7919
8900
  _this.setHistory(state.placeDefinition, history.slice(0, _this.placeHistoryDepth));
@@ -8037,7 +9018,7 @@
8037
9018
  };
8038
9019
  Object.defineProperty(ConsolidatedParameterMap.prototype, "keys", {
8039
9020
  get: function () {
8040
- return this.paramMaps.reduce(function (result, params) { return result.concat(params.keys); }, []);
9021
+ return ___namespace.uniq(this.paramMaps.reduce(function (result, params) { return result.concat(params.keys); }, []));
8041
9022
  },
8042
9023
  enumerable: false,
8043
9024
  configurable: true
@@ -8126,9 +9107,13 @@
8126
9107
  });
8127
9108
  return new Visit(this.placeDefinition, params);
8128
9109
  };
9110
+ // @Trace()
8129
9111
  Visit.prototype.hasRoutingChangedFrom = function (other) {
8130
9112
  var samePlace = other.placeDefinition === this.placeDefinition;
8131
- var sameRouteParameters = ___namespace.isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
9113
+ var currentParams = this.placeDefinition.getFormattedRouteParameters(this, true);
9114
+ var otherParams = this.placeDefinition.getFormattedRouteParameters(other, true);
9115
+ // console.log({currentParams, otherParams});
9116
+ var sameRouteParameters = ___namespace.isEqual(currentParams, otherParams);
8132
9117
  return !samePlace || !sameRouteParameters;
8133
9118
  };
8134
9119
  Visit.prototype.hasChangedFrom = function (other) {
@@ -8204,7 +9189,7 @@
8204
9189
  return this.getInteractionIds().length > 0;
8205
9190
  };
8206
9191
  UrlSnapshot.prototype.hasInteractionIds = function (ids) {
8207
- return ___default['default'].isEqual(this.getInteractionIds(), ids);
9192
+ return ___default["default"].isEqual(this.getInteractionIds(), ids);
8208
9193
  };
8209
9194
  // @Trace()
8210
9195
  UrlSnapshot.prototype.updateInteractionIds = function (ids) {
@@ -8316,6 +9301,9 @@
8316
9301
  { type: i1$1.UrlSerializer }
8317
9302
  ]; };
8318
9303
 
9304
+ function asArray(item) {
9305
+ return Array.isArray(item) ? item : [item];
9306
+ }
8319
9307
  exports.PlaceRouter = /** @class */ (function (_super) {
8320
9308
  __extends(PlaceRouter, _super);
8321
9309
  function PlaceRouter(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
@@ -8332,7 +9320,7 @@
8332
9320
  * An observable model containing the authoriser function. This allows places to react to changes
8333
9321
  * in permissions when any underlying auth logic changes, e.g. a role being removed from a user.
8334
9322
  */
8335
- _this._accessGuard = new pectin.DelegatingValueModel().withDefault(new exports.PlaceAccessGuard.NoAuth());
9323
+ _this._accessGuard = _this.registerDisposable(new pectin.DelegatingValueModel().withDefault(new exports.PlaceAccessGuard.NoAuth()));
8336
9324
  if (window['Cypress']) {
8337
9325
  window['aup.PlaceRouter'] = _this;
8338
9326
  }
@@ -8495,17 +9483,15 @@
8495
9483
  };
8496
9484
  PlaceRouter.prototype.navigate = function (visit, options) {
8497
9485
  var _this = this;
9486
+ var commands = asArray(visit).reduce(function (result, v) {
9487
+ return __spreadArray(__spreadArray(__spreadArray([], __read(result)), [v.placeDefinition.path]), __read(_this.createRouteParameters(v)));
9488
+ }, []);
8498
9489
  return this.doNavigation(visit, function (router) { return __awaiter(_this, void 0, void 0, function () {
8499
- var commands;
8500
9490
  return __generator(this, function (_a) {
8501
9491
  switch (_a.label) {
8502
- case 0:
8503
- commands = __spreadArray([
8504
- visit.placeDefinition.path
8505
- ], __read(this.createRouteParameters(visit)));
8506
- return [4 /*yield*/, this.angularRouter.navigate(commands, {
8507
- relativeTo: options ? options.relativeTo : null
8508
- })];
9492
+ case 0: return [4 /*yield*/, this.angularRouter.navigate(commands, {
9493
+ relativeTo: options ? options.relativeTo : null
9494
+ })];
8509
9495
  case 1:
8510
9496
  _a.sent();
8511
9497
  return [2 /*return*/];
@@ -8524,7 +9510,7 @@
8524
9510
  pectin.lang.illegalState('Navigation already in progress');
8525
9511
  }
8526
9512
  navigation = this.createNavigationSession(this.urlService.getCurrentRouterUrl());
8527
- navigation.storeVisit(visit);
9513
+ asArray(visit).forEach(function (v) { return navigation.storeVisit(v); });
8528
9514
  this.transitionTo(navigation);
8529
9515
  _a.label = 1;
8530
9516
  case 1:
@@ -8620,6 +9606,7 @@
8620
9606
  * to be able to capture the back button on the first page. If we don't then the back click will exit
8621
9607
  * the app directly and we don't get to ask.
8622
9608
  */
9609
+ // @Trace()
8623
9610
  PlaceRouter.prototype.syncInteractionContextIdsWithRouter = function () {
8624
9611
  var _this = this;
8625
9612
  if (this.navigationSession) {
@@ -8663,12 +9650,6 @@
8663
9650
  { type: UrlService },
8664
9651
  { type: exports.PlaceHistory }
8665
9652
  ]; };
8666
- __decorate([
8667
- pectin.Trace(),
8668
- __metadata("design:type", Function),
8669
- __metadata("design:paramtypes", []),
8670
- __metadata("design:returntype", Promise)
8671
- ], exports.PlaceRouter.prototype, "syncInteractionContextIdsWithRouter", null);
8672
9653
  (function (PlaceRouter) {
8673
9654
  var State = /** @class */ (function () {
8674
9655
  function State(activeVisits) {
@@ -8696,7 +9677,7 @@
8696
9677
  { type: i0.Component, args: [{
8697
9678
  selector: 'aup-not-authorised-notice',
8698
9679
  template: "<p>You are not authorised to access this page</p>\n",
8699
- styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center}"]
9680
+ styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"]
8700
9681
  },] }
8701
9682
  ];
8702
9683
  NotAuthorisedNoticeComponent.ctorParameters = function () { return []; };
@@ -8947,7 +9928,7 @@
8947
9928
  selector: 'aup-place-outlet',
8948
9929
  template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<div class=\"not-authorised-component-container\" *ngIf=\"!authorised.value\">\n <ng-template [cdkPortalOutlet]=\"notAuthorisedNoticePortal\"></ng-template>\n</div>\n",
8949
9930
  animations: [LEFT_RIGHT_PLACE_ANIMATION],
8950
- styles: [":host{display:flex;flex-direction:column;min-height:0}:host:not(.authorised) .router-outlet-container{display:none}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:auto}router-outlet{display:none}.not-authorised-component-container{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr}"]
9931
+ styles: [":host{display:flex;flex-direction:column;min-height:0}:host:not(.authorised) .router-outlet-container{display:none}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:auto}router-outlet{display:none}.not-authorised-component-container{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr}\n"]
8951
9932
  },] }
8952
9933
  ];
8953
9934
  PlaceOutletComponent.ctorParameters = function () { return [
@@ -8989,7 +9970,7 @@
8989
9970
  function AbstractPlaceNavigationComponent(placeRouter) {
8990
9971
  var _this = _super.call(this) || this;
8991
9972
  _this.placeRouter = placeRouter;
8992
- _this._activePlaceComponent = new pectin.DelegatingValueModel();
9973
+ _this._activePlaceComponent = _this.registerDisposable(new pectin.DelegatingValueModel());
8993
9974
  _this.trackByPlaceDef = function (data) { return data.place; };
8994
9975
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
8995
9976
  _this.placeDefinitions = chain(_this.placesModel)
@@ -9082,7 +10063,7 @@
9082
10063
  { type: i0.Component, args: [{
9083
10064
  selector: 'aup-list-place-nav',
9084
10065
  template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n [pectinCommand]=\"commandFactory.create(item.place)\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n",
9085
- styles: [":host{display:flex;flex-direction:column;--selected-border-color:#838383;--selected-color:inherit;--selected-background:#f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}"]
10066
+ styles: [":host{display:flex;flex-direction:column;--selected-border-color: #838383;--selected-color: inherit;--selected-background: #f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}\n"]
9086
10067
  },] }
9087
10068
  ];
9088
10069
  ListPlaceNavComponent.ctorParameters = function () { return [
@@ -9153,7 +10134,7 @@
9153
10134
  { type: i0.Component, args: [{
9154
10135
  selector: 'aup-side-place-navigation',
9155
10136
  template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n [pectinCommand]=\"commandFactory.create(item.place)\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-icon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
9156
- styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width:var(--nav-width,56px);--resolved-nav-item-height:var(--nav-item-height,var(--resolved-nav-item-width));--resolved-expanded-width:var(--nav-expanded-width,235px);--resolved-color:var(--nav-color,hsla(0,0%,100%,0.9));--resolved-background-color:var(--nav-background-color,#555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}"]
10137
+ styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-nav-item-height: var(--nav-item-height, var(--resolved-nav-item-width));--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}\n"]
9157
10138
  },] }
9158
10139
  ];
9159
10140
  SidePlaceNavigationComponent.ctorParameters = function () { return [
@@ -9175,7 +10156,7 @@
9175
10156
  { type: i0.Component, args: [{
9176
10157
  selector: 'aup-tabbed-place-navigation',
9177
10158
  template: "<nav mat-tab-nav-bar>\n <ng-content select=\"[nav-start]\"></ng-content>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n [pectinCommand]=\"commandFactory.create(item.place)\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n <ng-content select=\"[nav-end]\"></ng-content>\n</nav>\n",
9178
- styles: [":host{display:block}div.place-holder{border:1px solid green}"]
10159
+ styles: [":host{display:block}div.place-holder{border:1px solid green}\n"]
9179
10160
  },] }
9180
10161
  ];
9181
10162
  TabbedPlaceNavigationComponent.ctorParameters = function () { return [
@@ -9286,9 +10267,6 @@
9286
10267
  * @file Automatically generated by barrelsby.
9287
10268
  */
9288
10269
 
9289
- // const r:Result<string, number> = null;
9290
- // r.catch(e => {}).then();
9291
-
9292
10270
  var DialogInteractionContext = /** @class */ (function (_super) {
9293
10271
  __extends(DialogInteractionContext, _super);
9294
10272
  function DialogInteractionContext(identifier, api, dialogService, config) {
@@ -9507,13 +10485,13 @@
9507
10485
  }
9508
10486
  _a.label = 2;
9509
10487
  case 2: return [4 /*yield*/, this.cleanInteractionState(activatedRoute, state, function () { return __awaiter(_this, void 0, void 0, function () {
9510
- var params, parsedParams, navigationSession, initialVisit, sanitiser, sanitisedVisit, urlSnapshot;
10488
+ var navigationSession, params, parsedParams, initialVisit, sanitiser, sanitisedVisit, urlSnapshot;
9511
10489
  return __generator(this, function (_a) {
9512
10490
  switch (_a.label) {
9513
10491
  case 0:
10492
+ navigationSession = this.placeRouter.navigationSession;
9514
10493
  params = new ConsolidatedParameterMap(activatedRoute.url, activatedRoute.paramMap);
9515
10494
  parsedParams = placeDefinition_1.parseRouteParams(params);
9516
- navigationSession = this.placeRouter.navigationSession;
9517
10495
  initialVisit = navigationSession.getVisitFor(placeDefinition_1) || new Visit(placeDefinition_1, parsedParams);
9518
10496
  sanitiser = new VisitSanitiser(navigationSession, activatedRoute, this.router, this.placeHistory, this.injector);
9519
10497
  return [4 /*yield*/, sanitiser.sanitise(initialVisit.mergeRouteParameters(parsedParams))];
@@ -9622,11 +10600,11 @@
9622
10600
  function NumberType() {
9623
10601
  }
9624
10602
  NumberType.prototype.format = function (value) {
9625
- return ___default['default'].isNumber(value) && !___default['default'].isNaN(value) ? "" + value : null;
10603
+ return ___default["default"].isNumber(value) && !___default["default"].isNaN(value) ? "" + value : null;
9626
10604
  };
9627
10605
  NumberType.prototype.parse = function (value) {
9628
10606
  var parsed = Number.parseFloat(value);
9629
- return ___default['default'].isNaN(parsed) ? null : parsed;
10607
+ return ___default["default"].isNaN(parsed) ? null : parsed;
9630
10608
  };
9631
10609
  return NumberType;
9632
10610
  }());
@@ -9799,10 +10777,13 @@
9799
10777
  */
9800
10778
 
9801
10779
  exports.ACTIVITY_DATA = ACTIVITY_DATA;
10780
+ exports.ALERT_CONFIG = ALERT_CONFIG;
9802
10781
  exports.AUP_PLACE_CONFIG = AUP_PLACE_CONFIG;
9803
10782
  exports.AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT = AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT;
9804
10783
  exports.AbstractActivityTriggerComponent = AbstractActivityTriggerComponent;
9805
- exports.AbstractInputActivity = AbstractInputActivity;
10784
+ exports.AbstractCardContainerComponent = AbstractCardContainerComponent;
10785
+ exports.AbstractConfirmDialogComponent = AbstractConfirmDialogComponent;
10786
+ exports.AbstractDialogComponent = AbstractDialogComponent;
9806
10787
  exports.AbstractInputComponent = AbstractInputComponent;
9807
10788
  exports.AbstractInteractionContext = AbstractInteractionContext;
9808
10789
  exports.AbstractListInputComponent = AbstractListInputComponent;
@@ -9813,7 +10794,6 @@
9813
10794
  exports.AbstractTableModel = AbstractTableModel;
9814
10795
  exports.AbstractValueInputComponent = AbstractValueInputComponent;
9815
10796
  exports.Activity = Activity;
9816
- exports.ActivityActionsComponent = ActivityActionsComponent;
9817
10797
  exports.ActivityBodyComponent = ActivityBodyComponent;
9818
10798
  exports.ActivityContainerComponent = ActivityContainerComponent;
9819
10799
  exports.ActivityOutletComponent = ActivityOutletComponent;
@@ -9827,6 +10807,7 @@
9827
10807
  exports.CELL_EDITOR_PORTAL = CELL_EDITOR_PORTAL;
9828
10808
  exports.CELL_RENDERER_PORTAL = CELL_RENDERER_PORTAL;
9829
10809
  exports.CardContainerComponent = CardContainerComponent;
10810
+ exports.CardStackComponent = CardStackComponent;
9830
10811
  exports.CellEditorPortalRef = CellEditorPortalRef;
9831
10812
  exports.CellHeaderPortalRef = CellHeaderPortalRef;
9832
10813
  exports.CellPortalRef = CellPortalRef;
@@ -9841,6 +10822,7 @@
9841
10822
  exports.ComponentCellRendererPortalRef = ComponentCellRendererPortalRef;
9842
10823
  exports.ComponentsModule = ComponentsModule;
9843
10824
  exports.ConfirmThenDialogComponent = ConfirmThenDialogComponent;
10825
+ exports.ConfirmThenExecuteDialogComponent = ConfirmThenExecuteDialogComponent;
9844
10826
  exports.ConfirmationDialogComponent = ConfirmationDialogComponent;
9845
10827
  exports.ConsolidatedParameterMap = ConsolidatedParameterMap;
9846
10828
  exports.CustomTemplateColumnModel = CustomTemplateColumnModel;
@@ -9876,8 +10858,12 @@
9876
10858
  exports.InteractionModule = InteractionModule;
9877
10859
  exports.InteractionServiceRoutingAdapter = InteractionServiceRoutingAdapter;
9878
10860
  exports.LEFT_RIGHT_PLACE_ANIMATION = LEFT_RIGHT_PLACE_ANIMATION;
10861
+ exports.LabelledValueComponent = LabelledValueComponent;
9879
10862
  exports.ListPlaceNavComponent = ListPlaceNavComponent;
9880
10863
  exports.ListPropertyColumnModel = ListPropertyColumnModel;
10864
+ exports.LoadingContainerComponent = LoadingContainerComponent;
10865
+ exports.MarkdownComponent = MarkdownComponent;
10866
+ exports.MarkdownService = MarkdownService;
9881
10867
  exports.ModalActivityTriggerComponent = ModalActivityTriggerComponent;
9882
10868
  exports.ModalInteractionContextFactory = ModalInteractionContextFactory;
9883
10869
  exports.MoreMenuComponent = MoreMenuComponent;
@@ -9953,12 +10939,14 @@
9953
10939
  exports.WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined = WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined;
9954
10940
  exports.WaitUntilPopStateDuringCanDeactivateInteractionFinishes = WaitUntilPopStateDuringCanDeactivateInteractionFinishes;
9955
10941
  exports.leftRightPlaceAnimation = leftRightPlaceAnimation;
10942
+ exports.markdownPillExtension = markdownPillExtension;
9956
10943
  exports.slideDownOnEnterAnimation = slideDownOnEnterAnimation;
9957
10944
  exports.slideRightOnEnterAnimation = slideRightOnEnterAnimation;
9958
10945
  exports.treeNodeDecorator = treeNodeDecorator;
9959
- exports.ɵ0 = ɵ0;
10946
+ exports["ɵ0"] = ɵ0;
10947
+ exports["ɵ1"] = ɵ1;
9960
10948
 
9961
10949
  Object.defineProperty(exports, '__esModule', { value: true });
9962
10950
 
9963
- })));
10951
+ }));
9964
10952
  //# sourceMappingURL=coolon-angular-ui-powerups.umd.js.map