@coolon/angular-ui-powerups 16.1.0-alpha.238 → 16.1.0-aplpha.0

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 (400) hide show
  1. package/assets/activities/activities.scss +6 -8
  2. package/assets/activities/input-activities.scss +6 -14
  3. package/assets/form.scss +23 -77
  4. package/assets/icons.scss +1 -2
  5. package/assets/interaction/editor/inline-string-editor.scss +0 -4
  6. package/assets/interaction.scss +1 -1
  7. package/assets/styles.scss +0 -4
  8. package/assets/table.scss +31 -84
  9. package/assets/tabs.scss +2 -15
  10. package/esm2022/lib/angular-ui-powerups.module.mjs +9 -9
  11. package/esm2022/lib/animations/slide-animations.mjs +10 -15
  12. package/esm2022/lib/components/alignment.mjs +1 -1
  13. package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +12 -7
  14. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +7 -31
  15. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +6 -6
  16. package/esm2022/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
  17. package/esm2022/lib/components/commands/command/command.component.mjs +33 -35
  18. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +5 -13
  19. package/esm2022/lib/components/commands/command-face.mjs +11 -12
  20. package/esm2022/lib/components/commands/flex.component.mjs +4 -4
  21. package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
  22. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +8 -31
  23. package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
  24. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -27
  25. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +24 -15
  26. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -18
  27. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +23 -14
  28. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +19 -12
  29. package/esm2022/lib/components/commands/separator.component.mjs +14 -8
  30. package/esm2022/lib/components/components.module.mjs +58 -73
  31. package/esm2022/lib/components/disposable-component.mjs +40 -74
  32. package/esm2022/lib/components/empty-state/empty-state.component.mjs +9 -5
  33. package/esm2022/lib/components/exports.mjs +12 -16
  34. package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
  35. package/esm2022/lib/components/focusable.component.mjs +5 -5
  36. package/esm2022/lib/components/forms/abstract-input.component.mjs +18 -67
  37. package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
  38. package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
  39. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +15 -18
  40. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -10
  41. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +11 -12
  42. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +13 -94
  43. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +7 -44
  44. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +19 -21
  45. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +16 -35
  46. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -12
  47. package/esm2022/lib/components/icon/icon.component.mjs +7 -10
  48. package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
  49. package/esm2022/lib/components/loading-container/loading-container.component.mjs +12 -7
  50. package/esm2022/lib/components/noop/noop.component.mjs +7 -5
  51. package/esm2022/lib/components/resize-aware.component.mjs +27 -64
  52. package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
  53. package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
  54. package/esm2022/lib/components/switch-case/switch-case.component.mjs +17 -15
  55. package/esm2022/lib/components/tables/abstract-table-model.mjs +113 -116
  56. package/esm2022/lib/components/tables/abstract-table.component.mjs +8 -23
  57. package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
  58. package/esm2022/lib/components/tables/column/column-model.mjs +23 -20
  59. package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -5
  60. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -4
  61. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
  62. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +21 -0
  63. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +21 -8
  64. package/esm2022/lib/components/tables/column/property-column-model.mjs +20 -7
  65. package/esm2022/lib/components/tables/column/selection-column-model.mjs +13 -35
  66. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +60 -0
  67. package/esm2022/lib/components/tables/editor/edit-session.mjs +26 -0
  68. package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +2 -0
  69. package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
  70. package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +2 -3
  71. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +12 -16
  72. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -17
  73. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
  74. package/esm2022/lib/components/tables/renderer/cell-editors.mjs +2 -0
  75. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +26 -22
  76. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +8 -6
  77. package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +7 -5
  78. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +8 -19
  79. package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +9 -18
  80. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +53 -266
  81. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +50 -9
  82. package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +7 -5
  83. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +33 -0
  84. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +60 -0
  85. package/esm2022/lib/components/tables/table/table-model.mjs +35 -18
  86. package/esm2022/lib/components/tables/table/table.component.mjs +64 -42
  87. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +84 -0
  88. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
  89. package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
  90. package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
  91. package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +7 -5
  92. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +6 -6
  93. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
  94. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +8 -15
  95. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +7 -4
  96. package/esm2022/lib/components/text/markdown/markdown.component.mjs +6 -6
  97. package/esm2022/lib/components/track.mjs +1 -1
  98. package/esm2022/lib/components/types/bounds.class.mjs +1 -1
  99. package/esm2022/lib/components/types/loadable.mjs +2 -0
  100. package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
  101. package/esm2022/lib/directives/command.directive.mjs +14 -26
  102. package/esm2022/lib/directives/directives.module.mjs +10 -10
  103. package/esm2022/lib/directives/exports.mjs +1 -2
  104. package/esm2022/lib/directives/focus-binding-factory.mjs +4 -5
  105. package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
  106. package/esm2022/lib/directives/focus-binding.mjs +2 -22
  107. package/esm2022/lib/directives/garbage-collector.directive.mjs +4 -5
  108. package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
  109. package/esm2022/lib/directives/highlight.pipe.mjs +13 -22
  110. package/esm2022/lib/interaction/abstract-interaction-context.mjs +8 -6
  111. package/esm2022/lib/interaction/activity-ref.mjs +2 -2
  112. package/esm2022/lib/interaction/activity.mjs +23 -24
  113. package/esm2022/lib/interaction/alert.mjs +2 -2
  114. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +10 -14
  115. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +45 -5
  116. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +17 -30
  117. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -10
  118. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +25 -119
  119. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +19 -55
  120. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +6 -6
  121. package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +4 -5
  122. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -5
  123. package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -5
  124. package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -5
  125. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
  126. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -5
  127. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +12 -12
  128. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +10 -6
  129. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +10 -6
  130. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +11 -9
  131. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  132. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
  133. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +13 -13
  134. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +9 -25
  135. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +5 -6
  136. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +38 -44
  137. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +12 -14
  138. package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +5 -6
  139. package/esm2022/lib/interaction/confirm.mjs +2 -26
  140. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +6 -6
  141. package/esm2022/lib/interaction/exports.mjs +1 -6
  142. package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
  143. package/esm2022/lib/interaction/interaction-context.mjs +2 -3
  144. package/esm2022/lib/interaction/interaction.module.mjs +36 -44
  145. package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
  146. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
  147. package/esm2022/lib/interaction/services/interaction.service.mjs +10 -23
  148. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +10 -16
  149. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +5 -29
  150. package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
  151. package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +5 -15
  152. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +9 -8
  153. package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +7 -5
  154. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +21 -23
  155. package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
  156. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +11 -19
  157. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +7 -7
  158. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  159. package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +7 -5
  160. package/esm2022/lib/place/guards/place.guard.mjs +14 -30
  161. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  162. package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
  163. package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
  164. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
  165. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
  166. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
  167. package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
  168. package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
  169. package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +4 -39
  170. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +9 -9
  171. package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
  172. package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
  173. package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -11
  174. package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
  175. package/esm2022/lib/place/place-access-guard.mjs +1 -1
  176. package/esm2022/lib/place/place-auth-service.mjs +7 -8
  177. package/esm2022/lib/place/place-component.mjs +79 -82
  178. package/esm2022/lib/place/place-config.mjs +1 -1
  179. package/esm2022/lib/place/place-definition.mjs +5 -18
  180. package/esm2022/lib/place/place-history.mjs +8 -17
  181. package/esm2022/lib/place/place-router.mjs +70 -191
  182. package/esm2022/lib/place/place.decorator.mjs +3 -4
  183. package/esm2022/lib/place/place.module.mjs +17 -17
  184. package/esm2022/lib/place/route/formatter.mjs +2 -2
  185. package/esm2022/lib/place/route/json-types.mjs +1 -1
  186. package/esm2022/lib/place/route/parameter-decorators.mjs +51 -55
  187. package/esm2022/lib/place/route/parameter-definition.mjs +2 -6
  188. package/esm2022/lib/place/route/parameter-sanitiser.mjs +2 -7
  189. package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
  190. package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
  191. package/esm2022/lib/place/url-service.mjs +4 -4
  192. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  193. package/esm2022/lib/place/visit-segment.mjs +2 -3
  194. package/esm2022/lib/place/visit.mjs +5 -5
  195. package/esm2022/lib/services/markdown/markdown.service.mjs +7 -5
  196. package/esm2022/lib/services/markdown/pill-plugin.mjs +3 -1
  197. package/esm2022/lib/services/visibility-service.mjs +7 -7
  198. package/fesm2022/coolon-angular-ui-powerups.mjs +3634 -5281
  199. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  200. package/lib/angular-ui-powerups.module.d.ts +5 -5
  201. package/lib/animations/slide-animations.d.ts +0 -1
  202. package/lib/components/busy-overlay/busy-overlay.component.d.ts +4 -1
  203. package/lib/components/cards/abstract-card-container.component.d.ts +3 -6
  204. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  205. package/lib/components/cards/card-stack/card-stack.component.d.ts +68 -0
  206. package/lib/components/commands/command/command.component.d.ts +10 -9
  207. package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
  208. package/lib/components/commands/command-face.d.ts +9 -8
  209. package/lib/components/commands/group/popup-aware.component.d.ts +5 -10
  210. package/lib/components/commands/group/popup-container.d.ts +1 -1
  211. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +6 -6
  212. package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +4 -2
  213. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +2 -4
  214. package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +4 -2
  215. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +7 -3
  216. package/lib/components/commands/separator.component.d.ts +4 -2
  217. package/lib/components/components.module.d.ts +30 -33
  218. package/lib/components/disposable-component.d.ts +9 -26
  219. package/lib/components/empty-state/empty-state.component.d.ts +4 -1
  220. package/lib/components/exports.d.ts +11 -15
  221. package/lib/components/forms/abstract-input.component.d.ts +7 -16
  222. package/lib/components/forms/abstract-list-input.component.d.ts +1 -1
  223. package/lib/components/forms/abstract-value-input.component.d.ts +1 -1
  224. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +2 -2
  225. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
  226. package/lib/components/forms/number-input/number-input.component.d.ts +4 -16
  227. package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
  228. package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
  229. package/lib/components/forms/string-input/string-input.component.d.ts +1 -7
  230. package/lib/components/forms/text-input/text-input.component.d.ts +0 -3
  231. package/lib/components/loading-container/loading-container.component.d.ts +4 -1
  232. package/lib/components/noop/noop.component.d.ts +1 -0
  233. package/lib/components/resize-aware.component.d.ts +7 -26
  234. package/lib/components/switch-case/switch-case.component.d.ts +7 -6
  235. package/lib/components/tables/abstract-table-model.d.ts +37 -51
  236. package/lib/components/tables/abstract-table.component.d.ts +7 -8
  237. package/lib/components/tables/column/column-list-model.d.ts +13 -0
  238. package/lib/components/tables/column/column-model.d.ts +17 -14
  239. package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
  240. package/lib/components/tables/column/custom-value-column-model.d.ts +3 -4
  241. package/lib/components/tables/column/editor-controls-column-model.d.ts +13 -0
  242. package/lib/components/tables/column/list-propery-column-model.d.ts +7 -5
  243. package/lib/components/tables/column/property-column-model.d.ts +9 -7
  244. package/lib/components/tables/column/selection-column-model.d.ts +4 -10
  245. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +17 -0
  246. package/lib/components/tables/editor/edit-session.d.ts +9 -0
  247. package/lib/components/tables/{renderer → editor}/editable-cell-renderer.d.ts +1 -1
  248. package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
  249. package/lib/components/tables/filter/table-filter-model.d.ts +1 -1
  250. package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
  251. package/lib/components/tables/renderer/cell-editors.d.ts +9 -0
  252. package/lib/components/tables/renderer/cell-portal-ref.d.ts +25 -22
  253. package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +2 -1
  254. package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +1 -0
  255. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +2 -3
  256. package/lib/components/tables/renderer/selection-cell/selection-cell.component.d.ts +0 -1
  257. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +21 -55
  258. package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +14 -5
  259. package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +1 -0
  260. package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +15 -0
  261. package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +23 -0
  262. package/lib/components/tables/table/table-model.d.ts +36 -10
  263. package/lib/components/tables/table/table.component.d.ts +13 -17
  264. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +28 -0
  265. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +1 -1
  266. package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
  267. package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +1 -0
  268. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +3 -3
  269. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -4
  270. package/lib/components/tables/tree-table/tree-table-component.d.ts +3 -6
  271. package/lib/components/tables/tree-table/tree-table-model.d.ts +6 -5
  272. package/lib/components/text/markdown/markdown.component.d.ts +1 -1
  273. package/lib/components/types/loadable.d.ts +5 -0
  274. package/lib/directives/command.directive.d.ts +5 -7
  275. package/lib/directives/directives.module.d.ts +5 -5
  276. package/lib/directives/exports.d.ts +0 -1
  277. package/lib/directives/focus-binding.d.ts +0 -1
  278. package/lib/directives/highlight.pipe.d.ts +2 -8
  279. package/lib/interaction/abstract-interaction-context.d.ts +5 -5
  280. package/lib/interaction/activity-ref.d.ts +4 -4
  281. package/lib/interaction/activity.d.ts +8 -8
  282. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +2 -3
  283. package/lib/interaction/components/abstract-dialog.component.d.ts +15 -6
  284. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +9 -12
  285. package/lib/interaction/components/activity-body/activity-body.component.d.ts +1 -2
  286. package/lib/interaction/components/activity-container/activity-container.component.d.ts +13 -32
  287. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +7 -6
  288. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  289. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +2 -2
  290. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +1 -1
  291. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +1 -1
  292. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +1 -1
  293. package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +2 -2
  294. package/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.d.ts +3 -3
  295. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +1 -6
  296. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -2
  297. package/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.d.ts +2 -2
  298. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  299. package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +1 -1
  300. package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +2 -2
  301. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +10 -12
  302. package/lib/interaction/components/input-activities/input-activity.d.ts +1 -1
  303. package/lib/interaction/components/input-activities/select-input-activity.d.ts +2 -2
  304. package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
  305. package/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.d.ts +2 -2
  306. package/lib/interaction/confirm.d.ts +0 -4
  307. package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +5 -5
  308. package/lib/interaction/exports.d.ts +0 -5
  309. package/lib/interaction/in-place-interaction-context.d.ts +2 -2
  310. package/lib/interaction/interaction-context.d.ts +4 -10
  311. package/lib/interaction/interaction.module.d.ts +33 -35
  312. package/lib/interaction/route-synchronisation-adapter.d.ts +3 -3
  313. package/lib/interaction/services/interaction-service-routing-adapter.d.ts +4 -4
  314. package/lib/interaction/services/interaction.service.d.ts +4 -5
  315. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +5 -4
  316. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +5 -6
  317. package/lib/interaction/services/modal-interaction-context.factory.d.ts +2 -2
  318. package/lib/place/components/abstract-place-navigation.component.d.ts +2 -3
  319. package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +1 -0
  320. package/lib/place/components/place-outlet/place-outlet.component.d.ts +7 -6
  321. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -2
  322. package/lib/place/guards/noop-auth-guard.service.d.ts +1 -0
  323. package/lib/place/guards/place.guard.d.ts +1 -8
  324. package/lib/place/navigation/place-component-deactivation-handler.d.ts +4 -4
  325. package/lib/place/navigation/session/abstract-pop-state-navigation.d.ts +1 -1
  326. package/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.d.ts +3 -3
  327. package/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.d.ts +3 -3
  328. package/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.d.ts +3 -3
  329. package/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.d.ts +1 -1
  330. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +3 -16
  331. package/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.d.ts +1 -1
  332. package/lib/place/navigation/session/navigation-context.d.ts +5 -5
  333. package/lib/place/navigation/session/navigation-session.d.ts +8 -15
  334. package/lib/place/place-access-guard.d.ts +1 -1
  335. package/lib/place/place-auth-service.d.ts +8 -8
  336. package/lib/place/place-component.d.ts +23 -15
  337. package/lib/place/place-definition.d.ts +3 -6
  338. package/lib/place/place-history.d.ts +4 -5
  339. package/lib/place/place-router.d.ts +10 -41
  340. package/lib/place/place.decorator.d.ts +1 -9
  341. package/lib/place/place.module.d.ts +8 -8
  342. package/lib/place/route/json-types.d.ts +3 -1
  343. package/lib/place/route/parameter-decorators.d.ts +6 -5
  344. package/lib/place/route/parameter-definition.d.ts +5 -5
  345. package/lib/place/route/parameter-sanitiser.d.ts +1 -8
  346. package/lib/place/route/parameter-snapshot.d.ts +2 -2
  347. package/lib/place/route/visit-segment-sanitiser.d.ts +3 -3
  348. package/lib/place/url-service.d.ts +1 -1
  349. package/lib/place/url-snapshot.d.ts +1 -1
  350. package/lib/place/visit-segment.d.ts +6 -6
  351. package/lib/place/visit.d.ts +4 -4
  352. package/lib/services/markdown/markdown.service.d.ts +1 -0
  353. package/lib/services/visibility-service.d.ts +1 -1
  354. package/package.json +20 -19
  355. package/assets/draw.scss +0 -20
  356. package/assets/layout.scss +0 -3
  357. package/assets/place.scss +0 -31
  358. package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +0 -115
  359. package/esm2022/lib/components/file/file-download/file-download.component.mjs +0 -89
  360. package/esm2022/lib/components/forms/form-field.mjs +0 -2
  361. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
  362. package/esm2022/lib/components/loadable-component.mjs +0 -69
  363. package/esm2022/lib/components/tables/column/column-manager.mjs +0 -82
  364. package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
  365. package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -135
  366. package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
  367. package/esm2022/lib/components/tables/renderer/editable-cell-renderer.mjs +0 -2
  368. package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +0 -2
  369. package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +0 -153
  370. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +0 -45
  371. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +0 -71
  372. package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +0 -32
  373. package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
  374. package/esm2022/lib/interaction/activity-context.mjs +0 -4
  375. package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +0 -55
  376. package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +0 -54
  377. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -134
  378. package/esm2022/lib/interaction/interaction-context-provider.mjs +0 -17
  379. package/esm2022/lib/place/place-metadata.mjs +0 -16
  380. package/lib/components/commands/button-renderer/button-renderer.component.d.ts +0 -30
  381. package/lib/components/file/file-download/file-download.component.d.ts +0 -45
  382. package/lib/components/forms/form-field.d.ts +0 -5
  383. package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
  384. package/lib/components/loadable-component.d.ts +0 -20
  385. package/lib/components/tables/column/column-manager.d.ts +0 -19
  386. package/lib/components/tables/column/column-order-manager.d.ts +0 -20
  387. package/lib/components/tables/footer/footer-row-model.d.ts +0 -72
  388. package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +0 -6
  389. package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +0 -7
  390. package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +0 -42
  391. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +0 -19
  392. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.d.ts +0 -24
  393. package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -10
  394. package/lib/directives/resize-observer.directive.d.ts +0 -16
  395. package/lib/interaction/activity-context.d.ts +0 -9
  396. package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +0 -17
  397. package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +0 -15
  398. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
  399. package/lib/interaction/interaction-context-provider.d.ts +0 -11
  400. package/lib/place/place-metadata.d.ts +0 -8
@@ -1,7 +1,7 @@
1
1
  import { BooleanValueModelChain, Disposable, GarbageCollector, ListModel, ListModelChain, ValueModel } from "@coolon/pectin";
2
- import type { PlaceRouter } from "../../place/place-router";
3
- import type { InPlaceInteractionContext } from "../in-place-interaction-context";
4
- import type { InteractionContext } from "../interaction-context";
2
+ import { PlaceRouter } from "../../place/place-router";
3
+ import { InPlaceInteractionContext } from "../in-place-interaction-context";
4
+ import { InteractionContext } from "../interaction-context";
5
5
  import { InteractionServiceRoutingAdapter } from "./interaction-service-routing-adapter";
6
6
  import { ModalInteractionContextFactory } from "./modal-interaction-context.factory";
7
7
  import * as i0 from "@angular/core";
@@ -11,7 +11,7 @@ export declare class InteractionService {
11
11
  readonly active: BooleanValueModelChain;
12
12
  private readonly _navigationInProgress;
13
13
  private placeRouter;
14
- private navigationSessionInteractionRegistry;
14
+ private exclusiveInteractionRegistry;
15
15
  private modalInteractionRegistry;
16
16
  private inPlaceInteractionRegistry;
17
17
  private activeModalContext;
@@ -19,7 +19,6 @@ export declare class InteractionService {
19
19
  readonly inModalInteraction: BooleanValueModelChain;
20
20
  constructor(modelInteractionContextFactory: ModalInteractionContextFactory);
21
21
  isActive(): boolean;
22
- cancelAllActivities(): Promise<void>;
23
22
  /**
24
23
  * @deprecated use #createModalInteractionContextDisposedWith instead.
25
24
  * @param disposable
@@ -1,8 +1,9 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
2
+ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
3
+ import { MatLegacyDialogConfig as MatDialogConfig } from '@angular/material/legacy-dialog';
3
4
  import { BooleanValueModelChain } from '@coolon/pectin';
4
- import type { InteractionContext } from '../../interaction-context';
5
- import type { InteractionService } from '../interaction.service';
5
+ import { InteractionContext } from '../../interaction-context';
6
+ import { InteractionService } from '../interaction.service';
6
7
  import { ModalInteractionContextFactory } from '../modal-interaction-context.factory';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare const DIALOG_INTERACTION_SERVICE_DEFAULTS: InjectionToken<MatDialogConfig<any>>;
@@ -12,7 +13,7 @@ export declare class DialogInteractionContextFactory extends ModalInteractionCon
12
13
  readonly matDialogDefaultConfig: MatDialogConfig<any>;
13
14
  readonly active: BooleanValueModelChain;
14
15
  constructor(dialogService: MatDialog, dialogServiceDefaults: MatDialogConfig<any>, matDialogDefaultConfig: MatDialogConfig<any>);
15
- createInteractionContext(identifier: string, api: InteractionService.Api): InteractionContext;
16
+ createInteractionContext(identifier: string, api: InteractionService.Api, disableClose?: boolean): InteractionContext;
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<DialogInteractionContextFactory, [null, { optional: true; }, { optional: true; }]>;
17
18
  static ɵprov: i0.ɵɵInjectableDeclaration<DialogInteractionContextFactory>;
18
19
  }
@@ -1,9 +1,9 @@
1
- import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
1
+ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
2
+ import { MatLegacyDialogConfig as MatDialogConfig } from '@angular/material/legacy-dialog';
2
3
  import { Constructable, Disposable } from '@coolon/pectin';
3
4
  import { AbstractInteractionContext } from '../../abstract-interaction-context';
4
- import type { Activity } from '../../activity';
5
- import type { InteractionContext } from '../../interaction-context';
6
- import type { InteractionService } from '../interaction.service';
5
+ import { Activity } from '../../activity';
6
+ import { InteractionService } from '../interaction.service';
7
7
  export declare class DialogInteractionContext extends AbstractInteractionContext {
8
8
  readonly identifier: string;
9
9
  private readonly api;
@@ -17,6 +17,5 @@ export declare class DialogInteractionContext extends AbstractInteractionContext
17
17
  dispose(): void;
18
18
  registerDisposable<T extends Disposable>(disposable: T): T;
19
19
  isActive(): boolean;
20
- protected createAndLaunchActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data: D, options?: InteractionContext.Options): Promise<R>;
21
- private canClose;
20
+ protected createAndLaunchActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data: D, disableClose: boolean): Promise<R>;
22
21
  }
@@ -1,5 +1,5 @@
1
- import type { InteractionContext } from '../interaction-context';
2
- import type { InteractionService } from './interaction.service';
1
+ import { InteractionContext } from '../interaction-context';
2
+ import { InteractionService } from './interaction.service';
3
3
  export declare abstract class ModalInteractionContextFactory {
4
4
  abstract createInteractionContext(identifier: string, api: InteractionService.Api): InteractionContext;
5
5
  }
@@ -1,9 +1,9 @@
1
1
  import { TrackByFunction } from '@angular/core';
2
2
  import { Command, Constructable, DelegatingValueModel, ListModel, ListModelChain, ValueModel } from '@coolon/pectin';
3
- import type { CommandFace } from '../../components/commands/command-face';
3
+ import { CommandFace } from '../../components/commands/command-face';
4
4
  import { DisposableComponent } from '../../components/disposable-component';
5
5
  import { PlaceComponent } from '../place-component';
6
- import type { PlaceDefinition } from '../place-definition';
6
+ import { PlaceDefinition } from '../place-definition';
7
7
  import { PlaceRouter } from '../place-router';
8
8
  import { PlaceOutletComponent } from './place-outlet/place-outlet.component';
9
9
  import * as i0 from "@angular/core";
@@ -24,7 +24,6 @@ export declare class AbstractPlaceNavigationComponent extends DisposableComponen
24
24
  private activePlaceDefinition;
25
25
  private placeFaces;
26
26
  readonly trackByPlaceDef: TrackByFunction<MenuItem>;
27
- private authorisedPlaces$;
28
27
  constructor(placeRouter: PlaceRouter);
29
28
  protected handlePlaceOutLetChanged(outlet: PlaceOutletComponent): void;
30
29
  getNavigationFace(placeDef: PlaceDefinition): CommandFace;
@@ -1,5 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class NotAuthorisedNoticeComponent {
3
+ constructor();
3
4
  static ɵfac: i0.ɵɵFactoryDeclaration<NotAuthorisedNoticeComponent, never>;
4
5
  static ɵcmp: i0.ɵɵComponentDeclaration<NotAuthorisedNoticeComponent, "aup-not-authorised-notice", never, {}, {}, never, never, false, never>;
5
6
  }
@@ -1,11 +1,11 @@
1
1
  import { ComponentPortal } from '@angular/cdk/portal';
2
- import { EventEmitter, InjectionToken } from '@angular/core';
2
+ import { ChangeDetectorRef, EventEmitter, InjectionToken } from '@angular/core';
3
3
  import { ActivatedRoute, Router, RouterOutlet } from '@angular/router';
4
4
  import { BooleanValueModelChain, Constructable, ListModel, ValueModel, ValueModelChain } from '@coolon/pectin';
5
5
  import { DisposableComponent } from '../../../components/disposable-component';
6
- import type { PlaceComponent } from '../../place-component';
7
- import { type PlaceConfig } from '../../place-config';
8
- import type { PlaceDefinition } from '../../place-definition';
6
+ import { PlaceComponent } from '../../place-component';
7
+ import { PlaceConfig } from '../../place-config';
8
+ import { PlaceDefinition } from '../../place-definition';
9
9
  import { PlaceRouter } from '../../place-router';
10
10
  import * as i0 from "@angular/core";
11
11
  export declare const AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT: InjectionToken<Constructable<any>>;
@@ -13,6 +13,7 @@ export declare class PlaceOutletComponent extends DisposableComponent {
13
13
  private readonly router;
14
14
  private readonly placeRouter;
15
15
  readonly placeConfig: PlaceConfig;
16
+ private readonly cdr;
16
17
  accessor animate$: ValueModel<boolean>;
17
18
  accessor animate: boolean;
18
19
  accessor customPlaceAnimationOrder$: ListModel<Constructable<PlaceComponent>>;
@@ -36,7 +37,7 @@ export declare class PlaceOutletComponent extends DisposableComponent {
36
37
  readonly animationEnabled: BooleanValueModelChain;
37
38
  readonly authorised: ValueModelChain<boolean>;
38
39
  readonly notAuthorisedNoticePortal: ComponentPortal<any>;
39
- constructor(router: Router, placeRouter: PlaceRouter, placeConfig: PlaceConfig, unauthorisedPlaceNotice: Constructable<any>, parentOutlet: PlaceOutletComponent);
40
+ constructor(router: Router, placeRouter: PlaceRouter, placeConfig: PlaceConfig, unauthorisedPlaceNotice: Constructable<any>, parentOutlet: PlaceOutletComponent, cdr: ChangeDetectorRef);
40
41
  getAnimationOrder(): number;
41
42
  get animationDuration(): string;
42
43
  get isAuthorised(): boolean;
@@ -52,6 +53,6 @@ export declare class PlaceOutletComponent extends DisposableComponent {
52
53
  private notifyComponentVisitSegmentChanged;
53
54
  animationStarted(): void;
54
55
  animationDone(): void;
55
- static ɵfac: i0.ɵɵFactoryDeclaration<PlaceOutletComponent, [null, null, { optional: true; }, { optional: true; }, { optional: true; skipSelf: true; }]>;
56
+ static ɵfac: i0.ɵɵFactoryDeclaration<PlaceOutletComponent, [null, null, { optional: true; }, { optional: true; }, { optional: true; skipSelf: true; }, null]>;
56
57
  static ɵcmp: i0.ɵɵComponentDeclaration<PlaceOutletComponent, "aup-place-outlet", never, { "animate$": { "alias": "animate$"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "customPlaceAnimationOrder$": { "alias": "placeAnimationOrderModel"; "required": false; }; "customPlaceAnimationOrder": { "alias": "placeAnimationOrder"; "required": false; }; }, { "placeChanged": "placeChanged"; }, never, never, false, never>;
57
58
  }
@@ -1,5 +1,5 @@
1
1
  import { TemplateRef } from "@angular/core";
2
- import { MutableValueModel, ValueModel } from "@coolon/pectin";
2
+ import { MutableValueModel } from "@coolon/pectin";
3
3
  import { PlaceRouter } from '../../place-router';
4
4
  import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';
5
5
  import * as i0 from "@angular/core";
@@ -49,7 +49,6 @@ export declare class SidePlaceNavigationComponent extends AbstractPlaceNavigatio
49
49
  accessor expanded$: MutableValueModel<boolean>;
50
50
  accessor expanded: boolean;
51
51
  navEndTemplate: TemplateRef<any>;
52
- readonly homeIcon$: ValueModel<string>;
53
52
  constructor(router: PlaceRouter);
54
53
  expandMenu(): void;
55
54
  collapseMenu(): void;
@@ -1,6 +1,7 @@
1
1
  import { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class NoopAuthGuard {
4
+ constructor();
4
5
  canActivate(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean | UrlTree>;
5
6
  static ɵfac: i0.ɵɵFactoryDeclaration<NoopAuthGuard, never>;
6
7
  static ɵprov: i0.ɵɵInjectableDeclaration<NoopAuthGuard>;
@@ -1,7 +1,7 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';
3
3
  import { InteractionService } from '../../interaction/services/interaction.service';
4
- import type { PlaceAuthService } from "../place-auth-service";
4
+ import { PlaceAuthService } from "../place-auth-service";
5
5
  import { PlaceComponent } from '../place-component';
6
6
  import { PlaceHistory } from '../place-history';
7
7
  import { PlaceRouter } from '../place-router';
@@ -18,13 +18,6 @@ export declare class PlaceGuard {
18
18
  constructor(router: Router, urlService: UrlService, placeRouter: PlaceRouter, placeHistory: PlaceHistory, interactionService: InteractionService, injector: Injector);
19
19
  get authService(): PlaceAuthService;
20
20
  canActivate(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean | UrlTree>;
21
- /**
22
- * Chooses the child to redirect to when {@link PlaceDefinition.redirectToFirstChild} is set. When
23
- * `rememberLastChild` is enabled (the default) and we have a record of the last active child that is
24
- * still a valid, authorised child, we return to it. Otherwise we fall back to the first authorised
25
- * child (the legacy behaviour).
26
- */
27
- private selectRedirectChild;
28
21
  private findBestAuthenticatedAlternative;
29
22
  canDeactivate(component: PlaceComponent, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): Promise<boolean | UrlTree>;
30
23
  private getPlaceDefinition;
@@ -1,7 +1,7 @@
1
- import type { PlaceComponent } from '../place-component';
2
- import type { PlaceDefinition } from '../place-definition';
3
- import type { UrlSnapshot } from '../url-snapshot';
4
- import type { NavigationSession } from './session/navigation-session';
1
+ import { PlaceComponent } from '../place-component';
2
+ import { PlaceDefinition } from '../place-definition';
3
+ import { UrlSnapshot } from '../url-snapshot';
4
+ import { NavigationSession } from './session/navigation-session';
5
5
  /**
6
6
  * This class handles the logic around canDeactivate for a given router state transition. It's core responsibilities are:
7
7
  * 1. Ensure we only ask the component to deactivate once on a given navigation cycle (since visit sanitisation can result in multiple round trips to through the router.)
@@ -1,4 +1,4 @@
1
- import type { NavigationContext } from './navigation-context';
1
+ import { NavigationContext } from './navigation-context';
2
2
  import { NavigationSession } from './navigation-session';
3
3
  export declare abstract class AbstractPopStateNavigation extends NavigationSession {
4
4
  readonly poppedHistoryUrl: string;
@@ -1,7 +1,7 @@
1
1
  import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart } from '@angular/router';
2
- import type { PlaceComponent } from '../../../place-component';
3
- import type { UrlSnapshot } from '../../../url-snapshot';
4
- import type { NavigationContext } from '../navigation-context';
2
+ import { PlaceComponent } from '../../../place-component';
3
+ import { UrlSnapshot } from '../../../url-snapshot';
4
+ import { NavigationContext } from '../navigation-context';
5
5
  import { EventCleanUpSession } from './event-clean-up-session';
6
6
  /**
7
7
  * The sequence of router events are:
@@ -1,7 +1,7 @@
1
1
  import { NavigationCancel, NavigationStart } from '@angular/router';
2
- import type { PlaceComponent } from '../../../place-component';
3
- import type { UrlSnapshot } from '../../../url-snapshot';
4
- import type { NavigationContext } from '../navigation-context';
2
+ import { PlaceComponent } from '../../../place-component';
3
+ import { UrlSnapshot } from '../../../url-snapshot';
4
+ import { NavigationContext } from '../navigation-context';
5
5
  import { EventCleanUpSession } from './event-clean-up-session';
6
6
  /**
7
7
  * This state handles the scenario where a link navigation triggered an interaction and the user clicked back a to cancel it.
@@ -1,7 +1,7 @@
1
1
  import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart } from '@angular/router';
2
- import type { PlaceComponent } from '../../../place-component';
3
- import type { UrlSnapshot } from '../../../url-snapshot';
4
- import type { NavigationContext } from '../navigation-context';
2
+ import { PlaceComponent } from '../../../place-component';
3
+ import { UrlSnapshot } from '../../../url-snapshot';
4
+ import { NavigationContext } from '../navigation-context';
5
5
  import { EventCleanUpSession } from './event-clean-up-session';
6
6
  /**
7
7
  * This state handles the scenario where a pop state triggered and interaction and the user clickeb back a second time to cancel it.
@@ -1,6 +1,6 @@
1
1
  import { NavigationCancel, NavigationEnd } from '@angular/router';
2
2
  import { AbstractPopStateNavigation } from '../abstract-pop-state-navigation';
3
- import type { NavigationContext } from '../navigation-context';
3
+ import { NavigationContext } from '../navigation-context';
4
4
  /**
5
5
  * This state exists to handle all events while any kind of navigation is in progress. That way all other states can
6
6
  * happily ignore interaction contexts.
@@ -1,36 +1,23 @@
1
1
  import { NavigationCancel, NavigationEnd, NavigationStart } from '@angular/router';
2
- import type { UrlSnapshot } from '../../../url-snapshot';
3
- import type { NavigationContext } from '../navigation-context';
2
+ import { NavigationContext } from '../navigation-context';
4
3
  import { NavigationSession } from '../navigation-session';
5
4
  /**
6
5
  * This session tracks the process of removing the last interaction context from the URL and provides a promise
7
6
  * the resolves when the process and completed. This case is special as the process involves a regular routing cycle
8
7
  * followed by a call to location.back(). The later triggers a url change with no other routing events. So this
9
8
  * class tracks when the first routing cycle finishes and then waits for the subsequent lone url change event.
10
- *
11
- * location.back() is preferred because it pops the history entry that opening the interaction pushed, so the
12
- * browser back button closes the interaction in a single click. But a programmatic back() can be silently dropped
13
- * — producing no popstate — by some browser/extension combinations (observed: Chrome 149 with 1Password active on
14
- * a form field). When that happens this session would otherwise never receive its popstate, never finish, and stay
15
- * in progress forever — stranding the modal backdrop and blocking every subsequent navigation. So we arm a watchdog:
16
- * if no popstate arrives, we self-heal with an imperative replaceUrl navigation to the interaction-free url. That
17
- * leaves the url clean and unblocks the router; the only cost in the broken browser is that back doesn't pop the
18
- * pushed entry, so it takes one extra click — unavoidable, since we can't pop history when back() is dropped.
19
9
  */
20
10
  export declare class RemoveLastInteractionFromUrlNavigationSession extends NavigationSession {
21
- private readonly interactionFreeUrl;
22
11
  readonly isPopState = true;
23
12
  debugPropertyKeys: string[];
24
13
  private finished;
25
14
  private gotPopState;
26
- private selfHealing;
27
- constructor(context: NavigationContext, startingUrl: string, interactionFreeUrl: UrlSnapshot);
15
+ constructor(context: NavigationContext, startingUrl: string);
28
16
  get isInteractionSync(): boolean;
29
- notifyActive(): void;
30
17
  onPopState(event: NavigationStart): void;
31
18
  onRouterStarted(event: NavigationStart): void;
32
19
  onRouterCancelled(event: NavigationCancel): void;
33
- private selfHealIfBackWasDropped;
20
+ onUrlChange(url: string): void;
34
21
  private finishUp;
35
22
  onRouterEnd(event: NavigationEnd): void;
36
23
  handleCanDeactivateCancelledEventScenario(locationTriggerUrl: string): void;
@@ -1,5 +1,5 @@
1
1
  import { NavigationCancel, NavigationEnd } from '@angular/router';
2
- import type { NavigationContext } from '../navigation-context';
2
+ import { NavigationContext } from '../navigation-context';
3
3
  import { NavigationSession } from '../navigation-session';
4
4
  export declare class SynchroniseInteractionContextIdsWithRoute extends NavigationSession {
5
5
  readonly wasTriggeredByPopState: boolean;
@@ -1,8 +1,8 @@
1
- import type { InteractionServiceRoutingAdapter } from '../../../interaction/services/interaction-service-routing-adapter';
2
- import type { UrlService } from '../../url-service';
3
- import type { UrlSnapshot } from '../../url-snapshot';
4
- import type { Visit } from '../../visit';
5
- import type { NavigationSession } from './navigation-session';
1
+ import { InteractionServiceRoutingAdapter } from '../../../interaction/services/interaction-service-routing-adapter';
2
+ import { UrlService } from '../../url-service';
3
+ import { UrlSnapshot } from '../../url-snapshot';
4
+ import { Visit } from '../../visit';
5
+ import { NavigationSession } from './navigation-session';
6
6
  export interface NavigationContext {
7
7
  readonly urlService: UrlService;
8
8
  readonly routerInteractionAdapter: InteractionServiceRoutingAdapter;
@@ -1,14 +1,14 @@
1
1
  import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, RouterEvent } from "@angular/router";
2
2
  import { GarbageCollector } from "@coolon/pectin";
3
- import type { InteractionContext } from "../../../interaction/interaction-context";
4
- import type { InteractionServiceRoutingAdapter } from "../../../interaction/services/interaction-service-routing-adapter";
5
- import type { PlaceComponent } from "../../place-component";
6
- import type { PlaceDefinition } from "../../place-definition";
7
- import type { UrlService } from "../../url-service";
8
- import type { UrlSnapshot } from "../../url-snapshot";
3
+ import { InteractionContext } from "../../../interaction/interaction-context";
4
+ import { InteractionServiceRoutingAdapter } from "../../../interaction/services/interaction-service-routing-adapter";
5
+ import { PlaceComponent } from "../../place-component";
6
+ import { PlaceDefinition } from "../../place-definition";
7
+ import { UrlService } from "../../url-service";
8
+ import { UrlSnapshot } from "../../url-snapshot";
9
9
  import { Visit } from "../../visit";
10
- import type { VisitSegment } from "../../visit-segment";
11
- import type { NavigationContext } from "./navigation-context";
10
+ import { VisitSegment } from "../../visit-segment";
11
+ import { NavigationContext } from "./navigation-context";
12
12
  /**
13
13
  * Transient states
14
14
  */
@@ -22,13 +22,6 @@ export declare abstract class NavigationSession extends GarbageCollector {
22
22
  private _interactionContext;
23
23
  constructor(context: NavigationContext, startingUrl: string);
24
24
  get isInteractionSync(): boolean;
25
- /**
26
- * Interruptible sessions are internal housekeeping navigations (e.g. interaction-id
27
- * synchronisation) that a real user- or model-driven navigation is allowed to queue behind
28
- * and supersede, rather than being rejected. Real navigations (Navigating, PopState) are not
29
- * interruptible.
30
- */
31
- get isInterruptible(): boolean;
32
25
  get name(): string;
33
26
  get urlService(): UrlService;
34
27
  get interactionServiceAdapter(): InteractionServiceRoutingAdapter;
@@ -1,4 +1,4 @@
1
- import type { PlaceDefinition } from './place-definition';
1
+ import { PlaceDefinition } from './place-definition';
2
2
  export interface PlaceAccessGuard {
3
3
  isAuthenticated(): boolean;
4
4
  isAuthorised(placeDefinition: PlaceDefinition): boolean;
@@ -1,8 +1,8 @@
1
1
  import { ActivatedRouteSnapshot, RouterStateSnapshot } from "@angular/router";
2
2
  import { ComputedModelMechanics, Constructable, GarbageCollector, HasValue, ValueModel } from "@coolon/pectin";
3
- import type { PlaceAccessGuard } from "./place-access-guard";
4
- import type { PlaceComponent } from "./place-component";
5
- import type { PlaceDefinition } from "./place-definition";
3
+ import { PlaceAccessGuard } from "./place-access-guard";
4
+ import { PlaceComponent } from "./place-component";
5
+ import { PlaceDefinition } from "./place-definition";
6
6
  import { Visit } from "./visit";
7
7
  export declare class PlaceAuthService extends GarbageCollector {
8
8
  private authZOptions;
@@ -19,8 +19,8 @@ export declare class PlaceAuthService extends GarbageCollector {
19
19
  enablePlace(placeDefinition: Constructable<PlaceComponent>, options: PlaceAuthService.AuthPlaceOptions): void;
20
20
  waitUntilAuthenticationReady(): Promise<void>;
21
21
  waitUntilAuthorisationReadyFor(placeDef: PlaceDefinition): Promise<void>;
22
- getAuthenticationFailureRedirect(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<Visit>;
23
- getAuthorisationFailureRedirectOptions(component: Constructable<PlaceComponent>): Promise<Visit[]>;
22
+ getAuthenticationFailureRedirect(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Visit;
23
+ getAuthorisationFailureRedirectOptions(component: Constructable<PlaceComponent>): Visit[];
24
24
  isAuthenticated(): boolean;
25
25
  isAuthorised(c: PlaceDefinition): boolean;
26
26
  }
@@ -28,12 +28,12 @@ export declare namespace PlaceAuthService {
28
28
  type AuthorisationCheck = (def: PlaceDefinition) => boolean;
29
29
  interface AuthenticationOptions extends ComputedModelMechanics.PostponeOptions {
30
30
  isAuthenticated$: ValueModel<boolean>;
31
- redirectTo(activatedRoute?: ActivatedRouteSnapshot, state?: RouterStateSnapshot): Visit | Constructable<PlaceComponent> | Promise<Visit> | Promise<Constructable<PlaceComponent>>;
31
+ redirectTo(activatedRoute?: ActivatedRouteSnapshot, state?: RouterStateSnapshot): Visit | Constructable<PlaceComponent>;
32
32
  }
33
33
  interface AuthorisationOptions extends ComputedModelMechanics.PostponeOptions {
34
34
  isAuthorised: AuthorisationCheck;
35
- dependsOn$?: HasValue<unknown>;
36
- redirectTo(component: Constructable<PlaceComponent>): (Constructable<PlaceComponent> | Visit)[] | Promise<(Constructable<PlaceComponent> | Visit)[]>;
35
+ dependsOn$?: HasValue<any>;
36
+ redirectTo(component: Constructable<PlaceComponent>): (Constructable<PlaceComponent> | Visit)[];
37
37
  }
38
38
  interface AuthPlaceOptions extends ComputedModelMechanics.PostponeOptions {
39
39
  when$?: ValueModel<boolean>;
@@ -1,29 +1,32 @@
1
1
  import { ActivatedRouteSnapshot } from '@angular/router';
2
- import { Constructable, ListModel, Transaction } from '@coolon/pectin';
2
+ import { Constructable, ListModel, ValueModel } from '@coolon/pectin';
3
3
  import 'reflect-metadata';
4
- import { LoadableComponent } from "../components/loadable-component";
5
- import type { InteractionContext } from '../interaction/interaction-context';
4
+ import { DisposableComponent } from '../components/disposable-component';
5
+ import { InteractionContext } from '../interaction/interaction-context';
6
6
  import { PlaceDefinition } from './place-definition';
7
7
  import { PlaceRouter } from "./place-router";
8
- import type { ParameterDefinition } from './route/parameter-definition';
9
- import type { UrlSnapshot } from './url-snapshot';
10
- import type { VisitSegment } from './visit-segment';
8
+ import { ParameterDefinition } from './route/parameter-definition';
9
+ import { UrlSnapshot } from './url-snapshot';
10
+ import { VisitSegment } from './visit-segment';
11
11
  import * as i0 from "@angular/core";
12
- export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY } from './place-metadata';
13
- export declare class PlaceComponent extends LoadableComponent {
14
- private static readonly AUTO_CORRECTION_METADATA;
12
+ export declare const DEFINITION_META_DATA_KEY = "PLACE_DEFINITION_OPTIONS";
13
+ export declare const ROUTE_PARAMETER_LIST_KEY: unique symbol;
14
+ export declare class PlaceComponent extends DisposableComponent {
15
15
  private readonly _placeReadyCallbacks;
16
- private visit$;
16
+ private visitModel;
17
17
  private _inVisitUpdate;
18
18
  private _active;
19
19
  interactionContext?: InteractionContext;
20
- readonly childPlaces$: ListModel<Constructable<PlaceComponent>>;
21
- readonly placeId: string;
20
+ childPlaces$: ListModel<Constructable<PlaceComponent>>;
21
+ readonly authorisedChildPlaces$: ListModel<Constructable<PlaceComponent>>;
22
+ private readonly _parameterChangeInterceptors;
22
23
  canDeactivate?(interactionContext: InteractionContext): boolean | Promise<boolean>;
23
24
  protected readonly placeRouter: PlaceRouter;
24
- private readonly activatedRoute;
25
25
  constructor();
26
- initialiseVisit(visit: VisitSegment, notifyVisitChanged: (current: VisitSegment, previous: VisitSegment, metadata?: Transaction.MetaData) => void): void;
26
+ initialiseVisit(visit: VisitSegment, notifyVisitChanged: (current: VisitSegment, previous: VisitSegment) => void): void;
27
+ /**
28
+ * @deprecated use authorisedChildPlaces$ instead
29
+ */
27
30
  get childPlaces(): readonly Constructable<PlaceComponent>[];
28
31
  updateVisit(visit: VisitSegment): void;
29
32
  isInitialised(): boolean;
@@ -34,7 +37,7 @@ export declare class PlaceComponent extends LoadableComponent {
34
37
  */
35
38
  private installAndInitialiseBinding;
36
39
  get placeDefinition(): PlaceDefinition;
37
- get active(): import("@coolon/pectin").ValueModel<boolean>;
40
+ get active(): ValueModel<boolean>;
38
41
  /**
39
42
  * Called by the router to see if this component can deactivate. This isn't called for route parameter changes.
40
43
  * @param interactionContext
@@ -55,6 +58,7 @@ export declare class PlaceComponent extends LoadableComponent {
55
58
  */
56
59
  _notifyPlaceReady(): void;
57
60
  onPlaceReady(callback: () => void): void;
61
+ interceptVisitParameterChange<T>(model: ValueModel<T>, callback: PlaceComponent.InterceptCallback<T>, options?: PlaceComponent.InterceptOptions): void;
58
62
  static ɵfac: i0.ɵɵFactoryDeclaration<PlaceComponent, never>;
59
63
  static ɵdir: i0.ɵɵDirectiveDeclaration<PlaceComponent, never, never, {}, {}, never, never, false, never>;
60
64
  }
@@ -63,4 +67,8 @@ export declare namespace PlaceComponent {
63
67
  function getRouteParameters(klass: Constructable<PlaceComponent>): ParameterDefinition<any>[];
64
68
  function getDefinition(snapshotOrConstructor: ActivatedRouteSnapshot | Constructable<PlaceComponent>): PlaceDefinition;
65
69
  function injectDefinition(klass: Constructable<PlaceComponent>, definition: PlaceDefinition): void;
70
+ type InterceptCallback<T> = (is: T, was: T, interactionContext: InteractionContext) => boolean | Promise<boolean>;
71
+ interface InterceptOptions {
72
+ initialValue: 'evaluationUnlessNil' | 'evaluate';
73
+ }
66
74
  }
@@ -1,8 +1,8 @@
1
1
  import { ParamMap } from '@angular/router';
2
2
  import { Constructable, Predicate } from '@coolon/pectin';
3
- import type { PlaceComponent } from './place-component';
3
+ import { PlaceComponent } from './place-component';
4
4
  import { ParameterDefinition } from './route/parameter-definition';
5
- import type { VisitSegment } from './visit-segment';
5
+ import { VisitSegment } from './visit-segment';
6
6
  export declare class PlaceDefinition {
7
7
  readonly component: Constructable<PlaceComponent>;
8
8
  readonly path: string;
@@ -12,13 +12,10 @@ export declare class PlaceDefinition {
12
12
  readonly routeParameters: ParameterDefinition<any>[];
13
13
  readonly children: PlaceDefinition[];
14
14
  readonly redirectToFirstChild: boolean;
15
- readonly rememberLastChild: boolean;
16
15
  private _parent;
17
- readonly name: string;
18
- constructor(component: Constructable<PlaceComponent>, path: string, authenticate: boolean, role: any, data: Record<string, any>, routeParameters: ParameterDefinition<any>[], children: PlaceDefinition[], redirectToFirstChild: boolean, rememberLastChild: boolean);
16
+ constructor(component: Constructable<PlaceComponent>, path: string, authenticate: boolean, role: any, data: Record<string, any>, routeParameters: ParameterDefinition<any>[], children: PlaceDefinition[], redirectToFirstChild: boolean);
19
17
  ancestors(): PlaceDefinition[];
20
18
  ancestorsAndSelf(): PlaceDefinition[];
21
- get placeId(): string;
22
19
  protected setParent(parent: PlaceDefinition): void;
23
20
  get parent(): PlaceDefinition;
24
21
  isRoot(): boolean;
@@ -1,6 +1,6 @@
1
- import type { PlaceDefinition } from './place-definition';
2
- import type { Visit } from "./visit";
3
- import type { VisitSegment } from './visit-segment';
1
+ import { PlaceDefinition } from './place-definition';
2
+ import { Visit } from "./visit";
3
+ import { VisitSegment } from './visit-segment';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * TODO: this should be updated to store the last x visists rathern than a map of places to visit segments.
@@ -11,11 +11,10 @@ export declare class PlaceHistory {
11
11
  private _activeSegments;
12
12
  private _previousVisits;
13
13
  private _archive;
14
- private _lastActiveChild;
15
14
  private readonly placeHistoryDepth;
15
+ constructor();
16
16
  notifyNavigationStarted(): void;
17
17
  notifyNavigationFinished(visits: Visit): void;
18
- getLastActiveChild(parent: PlaceDefinition): PlaceDefinition | undefined;
19
18
  updateVisitSegment(visit: VisitSegment): void;
20
19
  lastVisitIncluded(placeDef: PlaceDefinition): boolean;
21
20
  getMostRecentVisitSegmentFor(placeDef: PlaceDefinition): VisitSegment;