@scion/workbench 17.0.0-beta.7 → 17.0.0-beta.9

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 (304) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/activation-instant.provider.mjs +3 -3
  3. package/esm2022/lib/common/asserts.util.mjs +2 -2
  4. package/esm2022/lib/common/coerce-observable.pipe.mjs +3 -3
  5. package/esm2022/lib/common/filter-by-predicate.pipe.mjs +3 -3
  6. package/esm2022/lib/common/filter-by-text.pipe.mjs +3 -3
  7. package/esm2022/lib/common/grid-element-if-visible.pipe.mjs +6 -6
  8. package/esm2022/lib/common/instanceof.pipe.mjs +3 -3
  9. package/esm2022/lib/common/map-coerce.pipe.mjs +3 -3
  10. package/esm2022/lib/common/null-if-empty.pipe.mjs +3 -3
  11. package/esm2022/lib/common/objects.util.mjs +34 -0
  12. package/esm2022/lib/common/typeof.pipe.mjs +3 -3
  13. package/esm2022/lib/common/uuid.util.mjs +17 -0
  14. package/esm2022/lib/content-projection/content-as-overlay.component.mjs +3 -3
  15. package/esm2022/lib/content-projection/content-projection.directive.mjs +3 -3
  16. package/esm2022/lib/dialog/dialog-footer/dialog-action-filter.pipe.mjs +3 -3
  17. package/esm2022/lib/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
  18. package/esm2022/lib/dialog/dialog-footer/workbench-dialog-action.directive.mjs +9 -6
  19. package/esm2022/lib/dialog/dialog-footer/workbench-dialog-footer.directive.mjs +9 -6
  20. package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -3
  21. package/esm2022/lib/dialog/dialog-header/workbench-dialog-header.directive.mjs +9 -6
  22. package/esm2022/lib/dialog/movable.directive.mjs +3 -3
  23. package/esm2022/lib/dialog/resizable.directive.mjs +3 -3
  24. package/esm2022/lib/dialog/workbench-dialog.component.mjs +53 -24
  25. package/esm2022/lib/dialog/workbench-dialog.mjs +1 -1
  26. package/esm2022/lib/dialog/workbench-dialog.options.mjs +1 -1
  27. package/esm2022/lib/dialog/workbench-dialog.registry.mjs +4 -4
  28. package/esm2022/lib/dialog/workbench-dialog.service.mjs +5 -5
  29. package/esm2022/lib/dialog//311/265workbench-dialog.mjs +7 -7
  30. package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +3 -3
  31. package/esm2022/lib/executor/single-task-executor.mjs +26 -7
  32. package/esm2022/lib/filter-field/filter-field.component.mjs +6 -6
  33. package/esm2022/lib/glass-pane/glass-pane.directive.mjs +15 -7
  34. package/esm2022/lib/layout/grid-element/grid-element.component.mjs +10 -10
  35. package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +6 -4
  36. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v1.model.mjs +11 -0
  37. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v2.model.mjs +11 -0
  38. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v3.model.mjs +11 -0
  39. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v4.model.mjs +11 -0
  40. package/esm2022/lib/layout/migration/workbench-layout-migration-v2.service.mjs +59 -0
  41. package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +117 -0
  42. package/esm2022/lib/layout/migration/workbench-layout-migration-v4.service.mjs +57 -0
  43. package/esm2022/lib/layout/workbench-layout.component.mjs +6 -4
  44. package/esm2022/lib/layout/workbench-layout.factory.mjs +4 -4
  45. package/esm2022/lib/layout/workbench-layout.mjs +1 -1
  46. package/esm2022/lib/layout/workbench-layout.model.mjs +5 -6
  47. package/esm2022/lib/layout/workbench-layout.service.mjs +3 -3
  48. package/esm2022/lib/layout/workbench-layouts.util.mjs +37 -1
  49. package/esm2022/lib/layout/workench-layout-serializer.service.mjs +53 -21
  50. package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +8 -5
  51. package/esm2022/lib/layout//311/265workbench-layout.mjs +382 -195
  52. package/esm2022/lib/logging/console-appender.service.mjs +3 -3
  53. package/esm2022/lib/logging/logger.mjs +3 -3
  54. package/esm2022/lib/logging/logging-support.mjs +4 -4
  55. package/esm2022/lib/logging/logging.model.mjs +3 -3
  56. package/esm2022/lib/logging//311/265logger.mjs +3 -3
  57. package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +18 -20
  58. package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
  59. package/esm2022/lib/message-box/workbench-message-box.component.mjs +15 -6
  60. package/esm2022/lib/message-box/workbench-message-box.options.mjs +1 -1
  61. package/esm2022/lib/message-box/workbench-message-box.service.mjs +5 -5
  62. package/esm2022/lib/message-box//311/265workbench-message-box.service.mjs +5 -5
  63. package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +26 -13
  64. package/esm2022/lib/microfrontend-platform/initialization/ng-zone-observable-decorator.mjs +3 -3
  65. package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +25 -13
  66. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +3 -3
  67. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-intent-handler.interceptor.mjs +11 -11
  68. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +5 -5
  69. package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +11 -9
  70. package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +112 -0
  71. package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +43 -0
  72. package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +16 -13
  73. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +34 -0
  74. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.mjs +88 -0
  75. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-legacy-intent-translator.interceptor.mjs +32 -0
  76. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +121 -0
  77. package/esm2022/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.service.mjs +3 -3
  78. package/esm2022/lib/microfrontend-platform/microfrontend-platform-config-loader.mjs +3 -3
  79. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +3 -3
  80. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +9 -6
  81. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +9 -15
  82. package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
  83. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +4 -4
  84. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +37 -32
  85. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +3 -3
  86. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +3 -3
  87. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +13 -11
  88. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +14 -9
  89. package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +54 -23
  90. package/esm2022/lib/migration/workbench-migration.mjs +11 -0
  91. package/esm2022/lib/migration/workbench-migrator.mjs +38 -0
  92. package/esm2022/lib/notification/notification-css-classes.pipe.mjs +3 -3
  93. package/esm2022/lib/notification/notification-list.component.mjs +3 -3
  94. package/esm2022/lib/notification/notification.component.mjs +3 -3
  95. package/esm2022/lib/notification/notification.config.mjs +1 -1
  96. package/esm2022/lib/notification/notification.mjs +1 -1
  97. package/esm2022/lib/notification/notification.service.mjs +9 -9
  98. package/esm2022/lib/notification/text-notification.component.mjs +3 -3
  99. package/esm2022/lib/page-not-found/format-url.pipe.mjs +26 -0
  100. package/esm2022/lib/page-not-found/page-not-found.component.mjs +28 -0
  101. package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +3 -3
  102. package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +3 -3
  103. package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
  104. package/esm2022/lib/part/part-bar/part-bar.component.mjs +10 -8
  105. package/esm2022/lib/part/part-portal.pipe.mjs +3 -3
  106. package/esm2022/lib/part/part.component.mjs +6 -4
  107. package/esm2022/lib/part/view-context-menu/accelerator-format.pipe.mjs +3 -3
  108. package/esm2022/lib/part/view-context-menu/text.component.mjs +3 -3
  109. package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +3 -3
  110. package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +4 -4
  111. package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +18 -18
  112. package/esm2022/lib/part/view-list/view-list.component.mjs +3 -3
  113. package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +3 -3
  114. package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +9 -9
  115. package/esm2022/lib/part/view-tab/view-tab.component.mjs +13 -11
  116. package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +5 -5
  117. package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +9 -9
  118. package/esm2022/lib/part/workbench-part-action.registry.mjs +3 -3
  119. package/esm2022/lib/part/workbench-part.model.mjs +1 -1
  120. package/esm2022/lib/part/workbench-part.registry.mjs +3 -3
  121. package/esm2022/lib/part//311/265workbench-part.model.mjs +3 -3
  122. package/esm2022/lib/perspective/migration/model/workbench-perspective-migration-v1.model.mjs +11 -0
  123. package/esm2022/lib/perspective/migration/model/workbench-perspective-migration-v2.model.mjs +11 -0
  124. package/esm2022/lib/perspective/migration/workbench-perspective-migration-v2.service.mjs +57 -0
  125. package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +19 -51
  126. package/esm2022/lib/perspective/workbench-perspective-storage.service.mjs +23 -18
  127. package/esm2022/lib/perspective/workbench-perspective-view-conflict-resolver.service.mjs +27 -42
  128. package/esm2022/lib/perspective/workbench-perspective.model.mjs +1 -1
  129. package/esm2022/lib/perspective/workbench-perspective.registry.mjs +3 -3
  130. package/esm2022/lib/perspective/workbench-perspective.service.mjs +15 -10
  131. package/esm2022/lib/perspective/workench-perspective-serializer.service.mjs +62 -0
  132. package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +98 -78
  133. package/esm2022/lib/popup/popup.component.mjs +22 -10
  134. package/esm2022/lib/popup/popup.config.mjs +3 -1
  135. package/esm2022/lib/popup/popup.service.mjs +4 -4
  136. package/esm2022/lib/portal/workbench-portal-outlet.directive.mjs +6 -6
  137. package/esm2022/lib/public_api.mjs +3 -2
  138. package/esm2022/lib/registry/workbench-object-registry.mjs +3 -3
  139. package/esm2022/lib/routing/empty-outlet/empty-outlet.component.mjs +31 -0
  140. package/esm2022/lib/routing/public_api.mjs +1 -1
  141. package/esm2022/lib/routing/router.util.mjs +89 -35
  142. package/esm2022/lib/routing/routing.model.mjs +1 -1
  143. package/esm2022/lib/routing/url-segment-matcher.mjs +46 -0
  144. package/esm2022/lib/routing/workbench-auxiliary-routes-registrator.service.mjs +58 -49
  145. package/esm2022/lib/routing/workbench-dialog-differ.mjs +6 -6
  146. package/esm2022/lib/routing/workbench-layout-differ.mjs +14 -17
  147. package/esm2022/lib/routing/workbench-message-box-differ.mjs +51 -0
  148. package/esm2022/lib/routing/workbench-navigational-states.mjs +4 -28
  149. package/esm2022/lib/routing/workbench-popup-differ.mjs +6 -6
  150. package/esm2022/lib/routing/workbench-route-data.mjs +14 -4
  151. package/esm2022/lib/routing/workbench-router-link.directive.mjs +24 -32
  152. package/esm2022/lib/routing/workbench-router.service.mjs +13 -378
  153. package/esm2022/lib/routing/workbench-url-observer.service.mjs +69 -82
  154. package/esm2022/lib/routing//311/265location.mjs +3 -3
  155. package/esm2022/lib/routing//311/265workbench-router.service.mjs +314 -0
  156. package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
  157. package/esm2022/lib/startup/workbench-launcher.service.mjs +11 -11
  158. package/esm2022/lib/storage/workbench-storage.mjs +3 -3
  159. package/esm2022/lib/testing/public_api.mjs +2 -1
  160. package/esm2022/lib/testing/workbench-testing.module.mjs +13 -39
  161. package/esm2022/lib/testing/workbench.provider.mjs +60 -0
  162. package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +3 -3
  163. package/esm2022/lib/view/public_api.mjs +2 -1
  164. package/esm2022/lib/view/view-move-handler.service.mjs +42 -62
  165. package/esm2022/lib/view/view-portal.pipe.mjs +4 -4
  166. package/esm2022/lib/view/view.component.mjs +20 -40
  167. package/esm2022/lib/view/workbench-view-route-guards.mjs +47 -0
  168. package/esm2022/lib/view/workbench-view.model.mjs +6 -4
  169. package/esm2022/lib/view/workbench-view.registry.mjs +4 -4
  170. package/esm2022/lib/view//311/265workbench-view.model.mjs +106 -27
  171. package/esm2022/lib/view-dnd/requires-drop-zone.pipe.mjs +7 -7
  172. package/esm2022/lib/view-dnd/view-drag.service.mjs +6 -6
  173. package/esm2022/lib/view-dnd/view-drop-placeholder-renderer.service.mjs +3 -3
  174. package/esm2022/lib/view-dnd/view-drop-zone.directive.mjs +4 -4
  175. package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +6 -4
  176. package/esm2022/lib/workbench-config.mjs +15 -0
  177. package/esm2022/lib/workbench-id.mjs +3 -3
  178. package/esm2022/lib/workbench.component.mjs +20 -12
  179. package/esm2022/lib/workbench.constants.mjs +7 -9
  180. package/esm2022/lib/workbench.model.mjs +1 -1
  181. package/esm2022/lib/workbench.module.mjs +15 -86
  182. package/esm2022/lib/workbench.provider.mjs +117 -0
  183. package/esm2022/lib/workbench.service.mjs +5 -5
  184. package/esm2022/lib//311/265workbench.service.mjs +15 -21
  185. package/fesm2022/scion-workbench.mjs +5490 -4166
  186. package/fesm2022/scion-workbench.mjs.map +1 -1
  187. package/lib/common/objects.util.d.ts +17 -0
  188. package/lib/common/uuid.util.d.ts +8 -0
  189. package/lib/dialog/workbench-dialog.component.d.ts +16 -7
  190. package/lib/dialog/workbench-dialog.d.ts +1 -1
  191. package/lib/dialog/workbench-dialog.options.d.ts +4 -3
  192. package/lib/dialog/workbench-dialog.registry.d.ts +4 -3
  193. package/lib/dialog/workbench-dialog.service.d.ts +1 -1
  194. package/lib/dialog//311/265workbench-dialog.d.ts +2 -2
  195. package/lib/executor/single-task-executor.d.ts +6 -1
  196. package/lib/filter-field/filter-field.component.d.ts +1 -1
  197. package/lib/glass-pane/glass-pane.directive.d.ts +21 -0
  198. package/lib/layout/grid-element/grid-element.component.d.ts +2 -2
  199. package/lib/layout/migration/model/workbench-layout-migration-v1.model.d.ts +16 -0
  200. package/lib/layout/migration/model/workbench-layout-migration-v2.model.d.ts +22 -0
  201. package/lib/layout/migration/model/workbench-layout-migration-v3.model.d.ts +30 -0
  202. package/lib/layout/migration/model/workbench-layout-migration-v4.model.d.ts +31 -0
  203. package/lib/layout/migration/workbench-layout-migration-v2.service.d.ts +13 -0
  204. package/lib/layout/migration/workbench-layout-migration-v3.service.d.ts +16 -0
  205. package/lib/layout/migration/workbench-layout-migration-v4.service.d.ts +12 -0
  206. package/lib/layout/workbench-layout.d.ts +61 -7
  207. package/lib/layout/workbench-layout.factory.d.ts +1 -1
  208. package/lib/layout/workbench-layout.model.d.ts +19 -9
  209. package/lib/layout/workbench-layouts.util.d.ts +18 -0
  210. package/lib/layout/workench-layout-serializer.service.d.ts +28 -7
  211. package/lib/layout//311/265workbench-layout.d.ts +172 -98
  212. package/lib/layout//311/265workbench-layout.factory.d.ts +4 -0
  213. package/lib/logging/logging-support.d.ts +2 -2
  214. package/lib/message-box/workbench-message-box.component.d.ts +3 -0
  215. package/lib/message-box/workbench-message-box.options.d.ts +4 -3
  216. package/lib/message-box/workbench-message-box.service.d.ts +1 -1
  217. package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +7 -1
  218. package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +1 -0
  219. package/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.d.ts +39 -0
  220. package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +25 -0
  221. package/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.d.ts +4 -2
  222. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.d.ts +10 -0
  223. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.d.ts +28 -0
  224. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-legacy-intent-translator.interceptor.d.ts +11 -0
  225. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.d.ts +48 -0
  226. package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +3 -7
  227. package/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.d.ts +4 -9
  228. package/lib/microfrontend-platform/workbench-microfrontend-support.d.ts +3 -3
  229. package/lib/migration/workbench-migration.d.ts +9 -0
  230. package/lib/migration/workbench-migrator.d.ts +18 -0
  231. package/lib/notification/notification.config.d.ts +1 -1
  232. package/lib/notification/notification.d.ts +1 -3
  233. package/lib/page-not-found/format-url.pipe.d.ts +11 -0
  234. package/lib/page-not-found/page-not-found.component.d.ts +8 -0
  235. package/lib/part/part-action-bar/part-action.directive.d.ts +1 -1
  236. package/lib/part/part-bar/part-bar.component.d.ts +4 -3
  237. package/lib/part/view-context-menu/view-menu.directive.d.ts +1 -1
  238. package/lib/part/view-context-menu/view-menu.service.d.ts +5 -4
  239. package/lib/part/view-list-item/view-list-item.component.d.ts +5 -4
  240. package/lib/part/view-tab/view-tab.component.d.ts +6 -5
  241. package/lib/part/view-tab-drag-image/view-tab-drag-image.component.d.ts +3 -3
  242. package/lib/part/workbench-part.model.d.ts +5 -4
  243. package/lib/part//311/265workbench-part.model.d.ts +5 -4
  244. package/lib/perspective/migration/model/workbench-perspective-migration-v1.model.d.ts +8 -0
  245. package/lib/perspective/migration/model/workbench-perspective-migration-v2.model.d.ts +10 -0
  246. package/lib/perspective/migration/workbench-perspective-migration-v2.service.d.ts +13 -0
  247. package/lib/perspective/workbench-grid-merger.service.d.ts +9 -16
  248. package/lib/perspective/workbench-perspective-storage.service.d.ts +10 -28
  249. package/lib/perspective/workbench-perspective-view-conflict-resolver.service.d.ts +8 -25
  250. package/lib/perspective/workbench-perspective.model.d.ts +123 -14
  251. package/lib/perspective/workbench-perspective.service.d.ts +10 -3
  252. package/lib/perspective/workench-perspective-serializer.service.d.ts +26 -0
  253. package/lib/perspective//311/265workbench-perspective.model.d.ts +16 -14
  254. package/lib/popup/popup.component.d.ts +1 -0
  255. package/lib/popup/popup.config.d.ts +4 -3
  256. package/lib/portal/workbench-portal-outlet.directive.d.ts +2 -2
  257. package/lib/public_api.d.ts +4 -3
  258. package/lib/registry/workbench-object-registry.d.ts +2 -2
  259. package/lib/routing/empty-outlet/empty-outlet.component.d.ts +15 -0
  260. package/lib/routing/public_api.d.ts +2 -2
  261. package/lib/routing/router.util.d.ts +45 -19
  262. package/lib/routing/routing.model.d.ts +107 -8
  263. package/lib/routing/url-segment-matcher.d.ts +20 -0
  264. package/lib/routing/workbench-auxiliary-routes-registrator.service.d.ts +25 -15
  265. package/lib/routing/workbench-layout-differ.d.ts +4 -7
  266. package/lib/routing/workbench-message-box-differ.d.ts +25 -0
  267. package/lib/routing/workbench-navigational-states.d.ts +6 -19
  268. package/lib/routing/workbench-route-data.d.ts +13 -3
  269. package/lib/routing/workbench-router-link.directive.d.ts +22 -7
  270. package/lib/routing/workbench-router.service.d.ts +42 -142
  271. package/lib/routing/workbench-url-observer.service.d.ts +10 -28
  272. package/lib/routing//311/265workbench-router.service.d.ts +74 -0
  273. package/lib/startup/workbench-launcher.service.d.ts +4 -4
  274. package/lib/testing/public_api.d.ts +1 -0
  275. package/lib/testing/workbench-testing.module.d.ts +7 -6
  276. package/lib/testing/workbench.provider.d.ts +29 -0
  277. package/lib/view/public_api.d.ts +2 -1
  278. package/lib/view/view-move-handler.service.d.ts +2 -4
  279. package/lib/view/view-portal.pipe.d.ts +2 -1
  280. package/lib/view/view.component.d.ts +1 -11
  281. package/lib/view/workbench-view-route-guards.d.ts +36 -0
  282. package/lib/view/workbench-view.model.d.ts +37 -5
  283. package/lib/view/workbench-view.registry.d.ts +4 -3
  284. package/lib/view//311/265workbench-view.model.d.ts +61 -15
  285. package/lib/view-dnd/view-drag.service.d.ts +9 -4
  286. package/lib/view-dnd/view-drop-zone.directive.d.ts +1 -1
  287. package/lib/{workbench-module-config.d.ts → workbench-config.d.ts} +29 -71
  288. package/lib/workbench.component.d.ts +2 -2
  289. package/lib/workbench.constants.d.ts +6 -8
  290. package/lib/workbench.model.d.ts +20 -8
  291. package/lib/workbench.module.d.ts +12 -7
  292. package/lib/workbench.provider.d.ts +38 -0
  293. package/lib/workbench.service.d.ts +32 -8
  294. package/lib//311/265workbench.service.d.ts +9 -3
  295. package/package.json +8 -8
  296. package/esm2022/lib/layout/migration/workbench-layout-migrator.service.mjs +0 -38
  297. package/esm2022/lib/layout/migration/workbench-layout-v1-migrator.service.mjs +0 -59
  298. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.service.mjs +0 -46
  299. package/esm2022/lib/view/workbench-view-pre-destroy.guard.mjs +0 -36
  300. package/esm2022/lib/workbench-module-config.mjs +0 -15
  301. package/lib/layout/migration/workbench-layout-migrator.service.d.ts +0 -15
  302. package/lib/layout/migration/workbench-layout-v1-migrator.service.d.ts +0 -12
  303. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.service.d.ts +0 -17
  304. package/lib/view/workbench-view-pre-destroy.guard.d.ts +0 -5
package/README.md CHANGED
@@ -7,7 +7,7 @@ The workbench layout is a grid of parts. Parts are aligned relative to each othe
7
7
 
8
8
  The layout can be divided into a main and a peripheral area, with the main area as the primary place for opening views. The peripheral area arranges parts around the main area to provide navigation or context-sensitive assistance to support the user's workflow. Defining a main area is optional and recommended for applications requiring a dedicated and maximizable area for user interaction.
9
9
 
10
- Multiple layouts, called perspectives, are supported. Perspectives can be switched with one perspective active at a time. Perspectives share the same main area, if any.
10
+ Multiple layouts, called perspectives, are supported. Perspectives can be switched. Only one perspective is active at a time. Perspectives share the same main area, if any.
11
11
 
12
12
  The sources for this package are in [SCION Workbench](https://github.com/SchweizerischeBundesbahnen/scion-workbench) repo. Please file issues and pull requests against that repo.
13
13
 
@@ -19,10 +19,10 @@ export class ActivationInstantProvider {
19
19
  now() {
20
20
  return Date.now();
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ActivationInstantProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ActivationInstantProvider, providedIn: 'root' }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ActivationInstantProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ActivationInstantProvider, providedIn: 'root' }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ActivationInstantProvider, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ActivationInstantProvider, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{ providedIn: 'root' }]
28
28
  }] });
@@ -11,7 +11,7 @@ export function assertType(object, assert) {
11
11
  if (object === undefined) {
12
12
  throw Error(`[AssertError] Object must not be 'undefined'.`);
13
13
  }
14
- if (!Arrays.coerce(assert.toBeOneOf).includes(object.constructor)) {
14
+ if (!Arrays.coerce(assert.toBeOneOf).some(expectedType => object instanceof expectedType)) {
15
15
  const expectedType = Arrays.coerce(assert.toBeOneOf).map(it => it.name).join(' or ');
16
16
  const actualType = object.constructor.name;
17
17
  throw Error(`[AssertError] Object not of the expected type [expected=${expectedType}, actual=${actualType}].`);
@@ -28,4 +28,4 @@ export function assertNotNullish(value, errorFn) {
28
28
  throw errorFn?.() ?? Error('[AssertError] Value expected not to be `undefined`, but was `undefined`.');
29
29
  }
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0cy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL2Fzc2VydHMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFM0M7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBVyxFQUFFLE1BQTRDO0lBQ2xGLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtRQUNuQixNQUFNLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0tBQ3pEO0lBQ0QsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQ3hCLE1BQU0sS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7S0FDOUQ7SUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUNqRSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzNDLE1BQU0sS0FBSyxDQUFDLDJEQUEyRCxZQUFZLFlBQVksVUFBVSxJQUFJLENBQUMsQ0FBQztLQUNoSDtBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFVLEVBQUUsT0FBcUI7SUFDaEUsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1FBQ2xCLE1BQU0sT0FBTyxFQUFFLEVBQUUsSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztLQUM5RjtJQUNELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUN2QixNQUFNLE9BQU8sRUFBRSxFQUFFLElBQUksS0FBSyxDQUFDLDBFQUEwRSxDQUFDLENBQUM7S0FDeEc7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXJyYXlzfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dGlsJztcblxuLyoqXG4gKiBBc3NlcnRzIHRoZSBnaXZlbiBvYmplY3QgdG8gYmUgb2YgdGhlIGdpdmVuIHR5cGUgKGFuZCBub3Qgc2ltcGx5IGEgSmF2YVNjcmlwdCBvYmplY3QgbGl0ZXJhbCkuXG4gKlxuICogVGhyb3dzIGFuIGVycm9yIGlmIG5vdCBvZiB0aGUgZ2l2ZW4gdHlwZSwgb3IgaWYgYG51bGxgIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VHlwZShvYmplY3Q6IGFueSwgYXNzZXJ0OiB7dG9CZU9uZU9mOiBUeXBlPGFueT5bXSB8IFR5cGU8YW55Pn0pOiB2b2lkIHtcbiAgaWYgKG9iamVjdCA9PT0gbnVsbCkge1xuICAgIHRocm93IEVycm9yKGBbQXNzZXJ0RXJyb3JdIE9iamVjdCBtdXN0IG5vdCBiZSAnbnVsbCcuYCk7XG4gIH1cbiAgaWYgKG9iamVjdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgRXJyb3IoYFtBc3NlcnRFcnJvcl0gT2JqZWN0IG11c3Qgbm90IGJlICd1bmRlZmluZWQnLmApO1xuICB9XG4gIGlmICghQXJyYXlzLmNvZXJjZShhc3NlcnQudG9CZU9uZU9mKS5pbmNsdWRlcyhvYmplY3QuY29uc3RydWN0b3IpKSB7XG4gICAgY29uc3QgZXhwZWN0ZWRUeXBlID0gQXJyYXlzLmNvZXJjZShhc3NlcnQudG9CZU9uZU9mKS5tYXAoaXQgPT4gaXQubmFtZSkuam9pbignIG9yICcpO1xuICAgIGNvbnN0IGFjdHVhbFR5cGUgPSBvYmplY3QuY29uc3RydWN0b3IubmFtZTtcbiAgICB0aHJvdyBFcnJvcihgW0Fzc2VydEVycm9yXSBPYmplY3Qgbm90IG9mIHRoZSBleHBlY3RlZCB0eXBlIFtleHBlY3RlZD0ke2V4cGVjdGVkVHlwZX0sIGFjdHVhbD0ke2FjdHVhbFR5cGV9XS5gKTtcbiAgfVxufVxuXG4vKipcbiAqIEFzc2VydHMgdGhlIGdpdmVuIG9iamVjdCBub3QgdG8gYmUgYG51bGxgIG9yIGB1bmRlZmluZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnROb3ROdWxsaXNoKHZhbHVlOiBhbnksIGVycm9yRm4/OiAoKSA9PiBFcnJvcik6IHZvaWQge1xuICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBlcnJvckZuPy4oKSA/PyBFcnJvcignW0Fzc2VydEVycm9yXSBWYWx1ZSBleHBlY3RlZCBub3QgdG8gYmUgYG51bGxgLCBidXQgd2FzIGBudWxsYC4nKTtcbiAgfVxuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IGVycm9yRm4/LigpID8/IEVycm9yKCdbQXNzZXJ0RXJyb3JdIFZhbHVlIGV4cGVjdGVkIG5vdCB0byBiZSBgdW5kZWZpbmVkYCwgYnV0IHdhcyBgdW5kZWZpbmVkYC4nKTtcbiAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0cy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL2Fzc2VydHMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFM0M7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBVyxFQUFFLE1BQTRDO0lBQ2xGLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtRQUNuQixNQUFNLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0tBQ3pEO0lBQ0QsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQ3hCLE1BQU0sS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7S0FDOUQ7SUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxZQUFZLFlBQVksQ0FBQyxFQUFFO1FBQ3pGLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckYsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDM0MsTUFBTSxLQUFLLENBQUMsMkRBQTJELFlBQVksWUFBWSxVQUFVLElBQUksQ0FBQyxDQUFDO0tBQ2hIO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQVUsRUFBRSxPQUFxQjtJQUNoRSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDbEIsTUFBTSxPQUFPLEVBQUUsRUFBRSxJQUFJLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO0tBQzlGO0lBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQ3ZCLE1BQU0sT0FBTyxFQUFFLEVBQUUsSUFBSSxLQUFLLENBQUMsMEVBQTBFLENBQUMsQ0FBQztLQUN4RztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcnJheXN9IGZyb20gJ0BzY2lvbi90b29sa2l0L3V0aWwnO1xuXG4vKipcbiAqIEFzc2VydHMgdGhlIGdpdmVuIG9iamVjdCB0byBiZSBvZiB0aGUgZ2l2ZW4gdHlwZSAoYW5kIG5vdCBzaW1wbHkgYSBKYXZhU2NyaXB0IG9iamVjdCBsaXRlcmFsKS5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgbm90IG9mIHRoZSBnaXZlbiB0eXBlLCBvciBpZiBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRUeXBlKG9iamVjdDogYW55LCBhc3NlcnQ6IHt0b0JlT25lT2Y6IFR5cGU8YW55PltdIHwgVHlwZTxhbnk+fSk6IHZvaWQge1xuICBpZiAob2JqZWN0ID09PSBudWxsKSB7XG4gICAgdGhyb3cgRXJyb3IoYFtBc3NlcnRFcnJvcl0gT2JqZWN0IG11c3Qgbm90IGJlICdudWxsJy5gKTtcbiAgfVxuICBpZiAob2JqZWN0ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBFcnJvcihgW0Fzc2VydEVycm9yXSBPYmplY3QgbXVzdCBub3QgYmUgJ3VuZGVmaW5lZCcuYCk7XG4gIH1cbiAgaWYgKCFBcnJheXMuY29lcmNlKGFzc2VydC50b0JlT25lT2YpLnNvbWUoZXhwZWN0ZWRUeXBlID0+IG9iamVjdCBpbnN0YW5jZW9mIGV4cGVjdGVkVHlwZSkpIHtcbiAgICBjb25zdCBleHBlY3RlZFR5cGUgPSBBcnJheXMuY29lcmNlKGFzc2VydC50b0JlT25lT2YpLm1hcChpdCA9PiBpdC5uYW1lKS5qb2luKCcgb3IgJyk7XG4gICAgY29uc3QgYWN0dWFsVHlwZSA9IG9iamVjdC5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHRocm93IEVycm9yKGBbQXNzZXJ0RXJyb3JdIE9iamVjdCBub3Qgb2YgdGhlIGV4cGVjdGVkIHR5cGUgW2V4cGVjdGVkPSR7ZXhwZWN0ZWRUeXBlfSwgYWN0dWFsPSR7YWN0dWFsVHlwZX1dLmApO1xuICB9XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGUgZ2l2ZW4gb2JqZWN0IG5vdCB0byBiZSBgbnVsbGAgb3IgYHVuZGVmaW5lZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydE5vdE51bGxpc2godmFsdWU6IGFueSwgZXJyb3JGbj86ICgpID0+IEVycm9yKTogdm9pZCB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgIHRocm93IGVycm9yRm4/LigpID8/IEVycm9yKCdbQXNzZXJ0RXJyb3JdIFZhbHVlIGV4cGVjdGVkIG5vdCB0byBiZSBgbnVsbGAsIGJ1dCB3YXMgYG51bGxgLicpO1xuICB9XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgZXJyb3JGbj8uKCkgPz8gRXJyb3IoJ1tBc3NlcnRFcnJvcl0gVmFsdWUgZXhwZWN0ZWQgbm90IHRvIGJlIGB1bmRlZmluZWRgLCBidXQgd2FzIGB1bmRlZmluZWRgLicpO1xuICB9XG59XG4iXX0=
@@ -18,10 +18,10 @@ export class CoerceObservablePipe {
18
18
  transform(value) {
19
19
  return Observables.coerce(value);
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CoerceObservablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
22
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: CoerceObservablePipe, isStandalone: true, name: "wbCoerceObservable$" }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: CoerceObservablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
22
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: CoerceObservablePipe, isStandalone: true, name: "wbCoerceObservable$" }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CoerceObservablePipe, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: CoerceObservablePipe, decorators: [{
25
25
  type: Pipe,
26
26
  args: [{ name: 'wbCoerceObservable$', standalone: true }]
27
27
  }] });
@@ -17,10 +17,10 @@ export class FilterByPredicatePipe {
17
17
  transform(items, predicate) {
18
18
  return Arrays.coerce(items).filter(predicate);
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: FilterByPredicatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
21
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: FilterByPredicatePipe, isStandalone: true, name: "wbFilterByPredicate" }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FilterByPredicatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
21
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: FilterByPredicatePipe, isStandalone: true, name: "wbFilterByPredicate" }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: FilterByPredicatePipe, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FilterByPredicatePipe, decorators: [{
24
24
  type: Pipe,
25
25
  args: [{ name: 'wbFilterByPredicate', standalone: true }]
26
26
  }] });
@@ -21,10 +21,10 @@ export class FilterByTextPipe {
21
21
  return of(Arrays.coerce(items))
22
22
  .pipe(expand(it => filterControl.valueChanges.pipe(take(1), map(() => it))), filterArray(it => !filterControl.value || !!itemTextFn(it)?.match(toFilterRegExp(filterControl.value))));
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: FilterByTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
25
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: FilterByTextPipe, isStandalone: true, name: "wbFilterByText$" }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FilterByTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
25
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: FilterByTextPipe, isStandalone: true, name: "wbFilterByText$" }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: FilterByTextPipe, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FilterByTextPipe, decorators: [{
28
28
  type: Pipe,
29
29
  args: [{ name: 'wbFilterByText$', standalone: true }]
30
30
  }] });
@@ -8,7 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
10
  import { Pipe } from '@angular/core';
11
- import { isGridElementVisible } from '../layoutworkbench-layout';
11
+ import { WorkbenchLayouts } from '../layout/workbench-layouts.util';
12
12
  import * as i0 from "@angular/core";
13
13
  /**
14
14
  * Returns given grid element, but only if visible.
@@ -17,16 +17,16 @@ import * as i0 from "@angular/core";
17
17
  */
18
18
  export class GridElementIfVisiblePipe {
19
19
  transform(gridElement) {
20
- if (gridElement && isGridElementVisible(gridElement)) {
20
+ if (gridElement && WorkbenchLayouts.isGridElementVisible(gridElement)) {
21
21
  return gridElement;
22
22
  }
23
23
  return null;
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: GridElementIfVisiblePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
26
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: GridElementIfVisiblePipe, isStandalone: true, name: "wbGridElementIfVisible" }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: GridElementIfVisiblePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
26
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: GridElementIfVisiblePipe, isStandalone: true, name: "wbGridElementIfVisible" }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: GridElementIfVisiblePipe, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: GridElementIfVisiblePipe, decorators: [{
29
29
  type: Pipe,
30
30
  args: [{ name: 'wbGridElementIfVisible', standalone: true }]
31
31
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1lbGVtZW50LWlmLXZpc2libGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbW1vbi9ncmlkLWVsZW1lbnQtaWYtdmlzaWJsZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7O0FBRWpFOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBRTVCLFNBQVMsQ0FBQyxXQUFpRDtRQUNoRSxJQUFJLFdBQVcsSUFBSSxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNwRCxPQUFPLFdBQVcsQ0FBQztTQUNwQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0FQVSx3QkFBd0I7NEdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNUGFydCwgTVRyZWVOb2RlfSBmcm9tICcuLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dC5tb2RlbCc7XG5pbXBvcnQge2lzR3JpZEVsZW1lbnRWaXNpYmxlfSBmcm9tICcuLi9sYXlvdXQvybV3b3JrYmVuY2gtbGF5b3V0JztcblxuLyoqXG4gKiBSZXR1cm5zIGdpdmVuIGdyaWQgZWxlbWVudCwgYnV0IG9ubHkgaWYgdmlzaWJsZS5cbiAqXG4gKiBAc2VlIGlzR3JpZEVsZW1lbnRWaXNpYmxlXG4gKi9cbkBQaXBlKHtuYW1lOiAnd2JHcmlkRWxlbWVudElmVmlzaWJsZScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIEdyaWRFbGVtZW50SWZWaXNpYmxlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0oZ3JpZEVsZW1lbnQ6IE1UcmVlTm9kZSB8IE1QYXJ0IHwgbnVsbCB8IHVuZGVmaW5lZCk6IE1UcmVlTm9kZSB8IE1QYXJ0IHwgbnVsbCB7XG4gICAgaWYgKGdyaWRFbGVtZW50ICYmIGlzR3JpZEVsZW1lbnRWaXNpYmxlKGdyaWRFbGVtZW50KSkge1xuICAgICAgcmV0dXJuIGdyaWRFbGVtZW50O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1lbGVtZW50LWlmLXZpc2libGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbW1vbi9ncmlkLWVsZW1lbnQtaWYtdmlzaWJsZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7O0FBRWxFOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBRTVCLFNBQVMsQ0FBQyxXQUFpRDtRQUNoRSxJQUFJLFdBQVcsSUFBSSxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNyRSxPQUFPLFdBQVcsQ0FBQztTQUNwQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0FQVSx3QkFBd0I7NEdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNUGFydCwgTVRyZWVOb2RlfSBmcm9tICcuLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dC5tb2RlbCc7XG5pbXBvcnQge1dvcmtiZW5jaExheW91dHN9IGZyb20gJy4uL2xheW91dC93b3JrYmVuY2gtbGF5b3V0cy51dGlsJztcblxuLyoqXG4gKiBSZXR1cm5zIGdpdmVuIGdyaWQgZWxlbWVudCwgYnV0IG9ubHkgaWYgdmlzaWJsZS5cbiAqXG4gKiBAc2VlIGlzR3JpZEVsZW1lbnRWaXNpYmxlXG4gKi9cbkBQaXBlKHtuYW1lOiAnd2JHcmlkRWxlbWVudElmVmlzaWJsZScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIEdyaWRFbGVtZW50SWZWaXNpYmxlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0oZ3JpZEVsZW1lbnQ6IE1UcmVlTm9kZSB8IE1QYXJ0IHwgbnVsbCB8IHVuZGVmaW5lZCk6IE1UcmVlTm9kZSB8IE1QYXJ0IHwgbnVsbCB7XG4gICAgaWYgKGdyaWRFbGVtZW50ICYmIFdvcmtiZW5jaExheW91dHMuaXNHcmlkRWxlbWVudFZpc2libGUoZ3JpZEVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gZ3JpZEVsZW1lbnQ7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
@@ -16,10 +16,10 @@ export class InstanceofPipe {
16
16
  transform(object, type) {
17
17
  return object instanceof type ? object : null;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: InstanceofPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: InstanceofPipe, isStandalone: true, name: "wbInstanceof" }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InstanceofPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: InstanceofPipe, isStandalone: true, name: "wbInstanceof" }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: InstanceofPipe, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: InstanceofPipe, decorators: [{
23
23
  type: Pipe,
24
24
  args: [{ name: 'wbInstanceof', standalone: true }]
25
25
  }] });
@@ -18,10 +18,10 @@ export class MapCoercePipe {
18
18
  transform(mapLike) {
19
19
  return Maps.coerce(mapLike);
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MapCoercePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
22
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: MapCoercePipe, isStandalone: true, name: "wbCoerceMap" }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MapCoercePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
22
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: MapCoercePipe, isStandalone: true, name: "wbCoerceMap" }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MapCoercePipe, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MapCoercePipe, decorators: [{
25
25
  type: Pipe,
26
26
  args: [{ name: 'wbCoerceMap', standalone: true }]
27
27
  }] });
@@ -28,10 +28,10 @@ export class NullIfEmptyPipe {
28
28
  }
29
29
  return value;
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NullIfEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
32
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: NullIfEmptyPipe, isStandalone: true, name: "wbNullIfEmpty" }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NullIfEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
32
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: NullIfEmptyPipe, isStandalone: true, name: "wbNullIfEmpty" }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NullIfEmptyPipe, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NullIfEmptyPipe, decorators: [{
35
35
  type: Pipe,
36
36
  args: [{ name: 'wbNullIfEmpty', standalone: true }]
37
37
  }] });
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Copyright (c) 2018-2024 Swiss Federal Railways
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ */
10
+ import { Dictionaries } from '@scion/toolkit/util';
11
+ /**
12
+ * Provides helper functions for working with objects.
13
+ */
14
+ export const Objects = {
15
+ /**
16
+ * Like {@link Object.keys}, but preserving the data type of keys.
17
+ */
18
+ keys: (object) => {
19
+ return Object.keys(object);
20
+ },
21
+ /**
22
+ * Like {@link Object.entries}, but preserving the data type of keys.
23
+ */
24
+ entries: (object) => {
25
+ return Object.entries(object);
26
+ },
27
+ /**
28
+ * Like {@link Dictionaries.withoutUndefinedEntries}, but preserving the object data type.
29
+ */
30
+ withoutUndefinedEntries: (object) => {
31
+ return Dictionaries.withoutUndefinedEntries(object);
32
+ },
33
+ };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL29iamVjdHMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUVyQjs7T0FFRztJQUNILElBQUksRUFBRSxDQUFJLE1BQVMsRUFBa0IsRUFBRTtRQUNyQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBa0MsQ0FBbUIsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLEVBQUUsQ0FBZ0IsTUFBd0MsRUFBaUIsRUFBRTtRQUNsRixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFrQixDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILHVCQUF1QixFQUFFLENBQUksTUFBbUMsRUFBSyxFQUFFO1FBQ3JFLE9BQU8sWUFBWSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBTSxDQUFDO0lBQzNELENBQUM7Q0FDTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0RpY3Rpb25hcmllc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5cbi8qKlxuICogUHJvdmlkZXMgaGVscGVyIGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIG9iamVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBPYmplY3RzID0ge1xuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBPYmplY3Qua2V5c30sIGJ1dCBwcmVzZXJ2aW5nIHRoZSBkYXRhIHR5cGUgb2Yga2V5cy5cbiAgICovXG4gIGtleXM6IDxUPihvYmplY3Q6IFQpOiBBcnJheTxrZXlvZiBUPiA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iamVjdCBhcyBSZWNvcmQ8a2V5b2YgVCwgdW5rbm93bj4pIGFzIEFycmF5PGtleW9mIFQ+O1xuICB9LFxuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBPYmplY3QuZW50cmllc30sIGJ1dCBwcmVzZXJ2aW5nIHRoZSBkYXRhIHR5cGUgb2Yga2V5cy5cbiAgICovXG4gIGVudHJpZXM6IDxWLCBLID0gc3RyaW5nPihvYmplY3Q6IFJlY29yZDxzdHJpbmcsIFY+IHwgQXJyYXlMaWtlPFY+KTogQXJyYXk8W0ssIFZdPiA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iamVjdCkgYXMgQXJyYXk8W0ssIFZdPjtcbiAgfSxcblxuICAvKipcbiAgICogTGlrZSB7QGxpbmsgRGljdGlvbmFyaWVzLndpdGhvdXRVbmRlZmluZWRFbnRyaWVzfSwgYnV0IHByZXNlcnZpbmcgdGhlIG9iamVjdCBkYXRhIHR5cGUuXG4gICAqL1xuICB3aXRob3V0VW5kZWZpbmVkRW50cmllczogPFQ+KG9iamVjdDogVCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogVCA9PiB7XG4gICAgcmV0dXJuIERpY3Rpb25hcmllcy53aXRob3V0VW5kZWZpbmVkRW50cmllcyhvYmplY3QpIGFzIFQ7XG4gIH0sXG59IGFzIGNvbnN0O1xuIl19
@@ -16,10 +16,10 @@ export class TypeofPipe {
16
16
  transform(object, type) {
17
17
  return typeof object === type;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TypeofPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: TypeofPipe, isStandalone: true, name: "wbTypeof" }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TypeofPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: TypeofPipe, isStandalone: true, name: "wbTypeof" }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TypeofPipe, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TypeofPipe, decorators: [{
23
23
  type: Pipe,
24
24
  args: [{ name: 'wbTypeof', standalone: true }]
25
25
  }] });
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Copyright (c) 2018-2024 Swiss Federal Railways
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ */
10
+ import { UUID } from '@scion/toolkit/uuid';
11
+ /**
12
+ * Generates a UUID (universally unique identifier) compliant with the RFC 4122 version 4.
13
+ */
14
+ export function randomUUID() {
15
+ return UUID.randomUUID();
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXVpZC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL3V1aWQudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQU96Qzs7R0FFRztBQUNILE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBVSxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjQgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7VVVJRH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXVpZCc7XG5cbi8qKlxuICogRm9ybWF0IG9mIGEgVVVJRCAodW5pdmVyc2FsbHkgdW5pcXVlIGlkZW50aWZpZXIpIGNvbXBsaWFudCB3aXRoIHRoZSBSRkMgNDEyMiB2ZXJzaW9uIDQuXG4gKi9cbmV4cG9ydCB0eXBlIFVVSUQgPSBgJHtzdHJpbmd9LSR7c3RyaW5nfS0ke3N0cmluZ30tJHtzdHJpbmd9LSR7c3RyaW5nfWA7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgVVVJRCAodW5pdmVyc2FsbHkgdW5pcXVlIGlkZW50aWZpZXIpIGNvbXBsaWFudCB3aXRoIHRoZSBSRkMgNDEyMiB2ZXJzaW9uIDQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByYW5kb21VVUlEKCk6IFVVSUQge1xuICByZXR1cm4gVVVJRC5yYW5kb21VVUlEKCkgYXMgVVVJRDtcbn1cbiJdfQ==
@@ -44,10 +44,10 @@ import * as i0 from "@angular/core";
44
44
  * ```
45
45
  */
46
46
  export class ContentAsOverlayComponent {
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ContentAsOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: ContentAsOverlayComponent, isStandalone: true, selector: "wb-content-as-overlay", inputs: { overlayHost: "overlayHost" }, ngImport: i0, template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:grid}\n"], dependencies: [{ kind: "directive", type: ContentProjectionDirective, selector: "[wbContentProjection]", inputs: ["wbContentProjectionOverlayHost", "wbContentProjectionContent"] }] }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ContentAsOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ContentAsOverlayComponent, isStandalone: true, selector: "wb-content-as-overlay", inputs: { overlayHost: "overlayHost" }, ngImport: i0, template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:grid}\n"], dependencies: [{ kind: "directive", type: ContentProjectionDirective, selector: "[wbContentProjection]", inputs: ["wbContentProjectionOverlayHost", "wbContentProjectionContent"] }] }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ContentAsOverlayComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ContentAsOverlayComponent, decorators: [{
51
51
  type: Component,
52
52
  args: [{ selector: 'wb-content-as-overlay', standalone: true, imports: [ContentProjectionDirective], template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:grid}\n"] }]
53
53
  }], propDecorators: { overlayHost: [{
@@ -80,10 +80,10 @@ export class ContentProjectionDirective {
80
80
  ngOnDestroy() {
81
81
  this._contentViewRef?.destroy();
82
82
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ContentProjectionDirective, deps: [{ token: i0.ElementRef }, { token: i1.ɵWorkbenchView, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
84
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: ContentProjectionDirective, isStandalone: true, selector: "[wbContentProjection]", inputs: { overlayHost: ["wbContentProjectionOverlayHost", "overlayHost"], contentTemplateRef: ["wbContentProjectionContent", "contentTemplateRef"] }, usesOnChanges: true, ngImport: i0 }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ContentProjectionDirective, deps: [{ token: i0.ElementRef }, { token: i1.ɵWorkbenchView, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
84
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: ContentProjectionDirective, isStandalone: true, selector: "[wbContentProjection]", inputs: { overlayHost: ["wbContentProjectionOverlayHost", "overlayHost"], contentTemplateRef: ["wbContentProjectionContent", "contentTemplateRef"] }, usesOnChanges: true, ngImport: i0 }); }
85
85
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ContentProjectionDirective, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ContentProjectionDirective, decorators: [{
87
87
  type: Directive,
88
88
  args: [{ selector: '[wbContentProjection]', standalone: true }]
89
89
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ɵWorkbenchView, decorators: [{
@@ -16,10 +16,10 @@ export class DialogActionFilterPipe {
16
16
  transform(actions, align) {
17
17
  return actions?.filter(action => action.align === align) ?? [];
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: DialogActionFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: DialogActionFilterPipe, isStandalone: true, name: "wbDialogActionFilter" }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DialogActionFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: DialogActionFilterPipe, isStandalone: true, name: "wbDialogActionFilter" }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: DialogActionFilterPipe, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DialogActionFilterPipe, decorators: [{
23
23
  type: Pipe,
24
24
  args: [{ name: 'wbDialogActionFilter', standalone: true }]
25
25
  }] });
@@ -20,10 +20,10 @@ export class DialogFooterComponent {
20
20
  constructor(dialog) {
21
21
  this.dialog = dialog;
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: DialogFooterComponent, deps: [{ token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.3", type: DialogFooterComponent, isStandalone: true, selector: "wb-dialog-footer", ngImport: i0, template: "<!-- Start Actions -->\n@if (dialog.actions | wbDialogActionFilter:'start' | wbNullIfEmpty; as actions) {\n <div class=\"actions start\">\n @for (action of actions; track action) {\n <ng-container *ngTemplateOutlet=\"action.template\"/>\n }\n </div>\n}\n\n<!-- End Actions -->\n@if (dialog.actions | wbDialogActionFilter:'end' | wbNullIfEmpty; as actions) {\n <div class=\"actions end\">\n @for (action of actions; track action) {\n <ng-container *ngTemplateOutlet=\"action.template\"/>\n }\n </div>\n}\n", styles: [":host{display:flex;padding:calc(.75 * var(--sci-workbench-dialog-padding)) var(--sci-workbench-dialog-padding);gap:calc(2 * var(--sci-workbench-dialog-padding))}:host>div.actions{flex:auto;display:flex;align-items:center;gap:calc(.5 * var(--sci-workbench-dialog-padding))}:host>div.actions.start{place-content:flex-start}:host>div.actions.end{place-content:flex-end}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: NullIfEmptyPipe, name: "wbNullIfEmpty" }, { kind: "pipe", type: DialogActionFilterPipe, name: "wbDialogActionFilter" }] }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DialogFooterComponent, deps: [{ token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.6", type: DialogFooterComponent, isStandalone: true, selector: "wb-dialog-footer", ngImport: i0, template: "<!-- Start Actions -->\n@if (dialog.actions | wbDialogActionFilter:'start' | wbNullIfEmpty; as actions) {\n <div class=\"actions start\">\n @for (action of actions; track action) {\n <ng-container *ngTemplateOutlet=\"action.template\"/>\n }\n </div>\n}\n\n<!-- End Actions -->\n@if (dialog.actions | wbDialogActionFilter:'end' | wbNullIfEmpty; as actions) {\n <div class=\"actions end\">\n @for (action of actions; track action) {\n <ng-container *ngTemplateOutlet=\"action.template\"/>\n }\n </div>\n}\n", styles: [":host{display:flex;padding:calc(.75 * var(--sci-workbench-dialog-padding)) var(--sci-workbench-dialog-padding);gap:calc(2 * var(--sci-workbench-dialog-padding))}:host>div.actions{flex:auto;display:flex;align-items:center;gap:calc(.5 * var(--sci-workbench-dialog-padding))}:host>div.actions.start{place-content:flex-start}:host>div.actions.end{place-content:flex-end}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: NullIfEmptyPipe, name: "wbNullIfEmpty" }, { kind: "pipe", type: DialogActionFilterPipe, name: "wbDialogActionFilter" }] }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: DialogFooterComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DialogFooterComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'wb-dialog-footer', standalone: true, imports: [
29
29
  NgTemplateOutlet,
@@ -8,6 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
10
  import { Directive, Input } from '@angular/core';
11
+ import { asapScheduler } from 'rxjs';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "../\u0275workbench-dialog";
13
14
  /**
@@ -31,18 +32,20 @@ export class WorkbenchDialogActionDirective {
31
32
  * Specifies where to place this action in the dialog footer. Default is `end`.
32
33
  */
33
34
  this.align = 'end';
34
- this._action = dialog.registerAction(this);
35
+ // Defer registering action to avoid `ExpressionChangedAfterItHasBeenCheckedError`.
36
+ asapScheduler.schedule(() => this._action = dialog.registerAction(this));
35
37
  }
36
38
  ngOnDestroy() {
37
- this._action.dispose();
39
+ // Defer disposing action to avoid `ExpressionChangedAfterItHasBeenCheckedError`.
40
+ asapScheduler.schedule(() => this._action?.dispose());
38
41
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchDialogActionDirective, deps: [{ token: i0.TemplateRef }, { token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
40
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: WorkbenchDialogActionDirective, isStandalone: true, selector: "ng-template[wbDialogAction]", inputs: { align: "align" }, ngImport: i0 }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchDialogActionDirective, deps: [{ token: i0.TemplateRef }, { token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: WorkbenchDialogActionDirective, isStandalone: true, selector: "ng-template[wbDialogAction]", inputs: { align: "align" }, ngImport: i0 }); }
41
44
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchDialogActionDirective, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchDialogActionDirective, decorators: [{
43
46
  type: Directive,
44
47
  args: [{ selector: 'ng-template[wbDialogAction]', standalone: true }]
45
48
  }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i1.ɵWorkbenchDialog }], propDecorators: { align: [{
46
49
  type: Input
47
50
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLWRpYWxvZy1hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvZGlhbG9nL2RpYWxvZy1mb290ZXIvd29ya2JlbmNoLWRpYWxvZy1hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDOzs7QUFJdkU7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVILE1BQU0sT0FBTyw4QkFBOEI7SUFVekMsWUFBNEIsUUFBMkIsRUFBRSxNQUF3QjtRQUFyRCxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQU52RDs7V0FFRztRQUVJLFVBQUssR0FBb0IsS0FBSyxDQUFDO1FBR3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBaEJVLDhCQUE4QjtrR0FBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO21CQUFDLEVBQUMsUUFBUSxFQUFFLDZCQUE2QixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUM7K0dBUzdELEtBQUs7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ybVXb3JrYmVuY2hEaWFsb2d9IGZyb20gJy4uL8m1d29ya2JlbmNoLWRpYWxvZyc7XG5pbXBvcnQge0Rpc3Bvc2FibGV9IGZyb20gJy4uLy4uL2NvbW1vbi9kaXNwb3NhYmxlJztcblxuLyoqXG4gKiBVc2UgdGhpcyBkaXJlY3RpdmUgdG8gY29udHJpYnV0ZSBhbiBhY3Rpb24gdG8gdGhlIGRpYWxvZyBmb290ZXIgKG9ubHkgYXBwbGljYWJsZSBpZiBub3QgdXNpbmcgYSBjdXN0b20gZGlhbG9nIGZvb3RlcikuXG4gKlxuICogQWN0aW9ucyBhcmUgZGlzcGxheWVkIGluIHRoZSBvcmRlciBhcyBtb2RlbGVkIGluIHRoZSB0ZW1wbGF0ZSBhbmQgY2FuIGJlIHBsYWNlZCBlaXRoZXIgb24gdGhlIGxlZnQgb3IgcmlnaHQuXG4gKlxuICogVGhlIGhvc3QgZWxlbWVudCBvZiB0aGlzIG1vZGVsaW5nIGRpcmVjdGl2ZSBtdXN0IGJlIGEgPG5nLXRlbXBsYXRlPi4gVGhlIGFjdGlvbiBzaGFyZXMgdGhlIGxpZmVjeWNsZSBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICpcbiAqICoqRXhhbXBsZToqKlxuICogYGBgaHRtbFxuICogPG5nLXRlbXBsYXRlIHdiRGlhbG9nQWN0aW9uPlxuICogICA8YnV0dG9uIChjbGljayk9XCJkaWFsb2cuY2xvc2UoKVwiPkNsb3NlPC9idXR0b24+XG4gKiA8L25nLXRlbXBsYXRlPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnbmctdGVtcGxhdGVbd2JEaWFsb2dBY3Rpb25dJywgc3RhbmRhbG9uZTogdHJ1ZX0pXG5leHBvcnQgY2xhc3MgV29ya2JlbmNoRGlhbG9nQWN0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9hY3Rpb246IERpc3Bvc2FibGU7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGVyZSB0byBwbGFjZSB0aGlzIGFjdGlvbiBpbiB0aGUgZGlhbG9nIGZvb3Rlci4gRGVmYXVsdCBpcyBgZW5kYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGlnbjogJ3N0YXJ0JyB8ICdlbmQnID0gJ2VuZCc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx2b2lkPiwgZGlhbG9nOiDJtVdvcmtiZW5jaERpYWxvZykge1xuICAgIHRoaXMuX2FjdGlvbiA9IGRpYWxvZy5yZWdpc3RlckFjdGlvbih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hY3Rpb24uZGlzcG9zZSgpO1xuICB9XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLWRpYWxvZy1hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvZGlhbG9nL2RpYWxvZy1mb290ZXIvd29ya2JlbmNoLWRpYWxvZy1hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7OztBQUVuQzs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsTUFBTSxPQUFPLDhCQUE4QjtJQVV6QyxZQUE0QixRQUEyQixFQUFFLE1BQXdCO1FBQXJELGFBQVEsR0FBUixRQUFRLENBQW1CO1FBTnZEOztXQUVHO1FBRUksVUFBSyxHQUFvQixLQUFLLENBQUM7UUFHcEMsbUZBQW1GO1FBQ25GLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLFdBQVc7UUFDaEIsaUZBQWlGO1FBQ2pGLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7OEdBbEJVLDhCQUE4QjtrR0FBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO21CQUFDLEVBQUMsUUFBUSxFQUFFLDZCQUE2QixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUM7K0dBUzdELEtBQUs7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ybVXb3JrYmVuY2hEaWFsb2d9IGZyb20gJy4uL8m1d29ya2JlbmNoLWRpYWxvZyc7XG5pbXBvcnQge0Rpc3Bvc2FibGV9IGZyb20gJy4uLy4uL2NvbW1vbi9kaXNwb3NhYmxlJztcbmltcG9ydCB7YXNhcFNjaGVkdWxlcn0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVXNlIHRoaXMgZGlyZWN0aXZlIHRvIGNvbnRyaWJ1dGUgYW4gYWN0aW9uIHRvIHRoZSBkaWFsb2cgZm9vdGVyIChvbmx5IGFwcGxpY2FibGUgaWYgbm90IHVzaW5nIGEgY3VzdG9tIGRpYWxvZyBmb290ZXIpLlxuICpcbiAqIEFjdGlvbnMgYXJlIGRpc3BsYXllZCBpbiB0aGUgb3JkZXIgYXMgbW9kZWxlZCBpbiB0aGUgdGVtcGxhdGUgYW5kIGNhbiBiZSBwbGFjZWQgZWl0aGVyIG9uIHRoZSBsZWZ0IG9yIHJpZ2h0LlxuICpcbiAqIFRoZSBob3N0IGVsZW1lbnQgb2YgdGhpcyBtb2RlbGluZyBkaXJlY3RpdmUgbXVzdCBiZSBhIDxuZy10ZW1wbGF0ZT4uIFRoZSBhY3Rpb24gc2hhcmVzIHRoZSBsaWZlY3ljbGUgb2YgdGhlIGhvc3QgZWxlbWVudC5cbiAqXG4gKiAqKkV4YW1wbGU6KipcbiAqIGBgYGh0bWxcbiAqIDxuZy10ZW1wbGF0ZSB3YkRpYWxvZ0FjdGlvbj5cbiAqICAgPGJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nLmNsb3NlKClcIj5DbG9zZTwvYnV0dG9uPlxuICogPC9uZy10ZW1wbGF0ZT5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3diRGlhbG9nQWN0aW9uXScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIFdvcmtiZW5jaERpYWxvZ0FjdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfYWN0aW9uOiBEaXNwb3NhYmxlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hlcmUgdG8gcGxhY2UgdGhpcyBhY3Rpb24gaW4gdGhlIGRpYWxvZyBmb290ZXIuIERlZmF1bHQgaXMgYGVuZGAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWxpZ246ICdzdGFydCcgfCAnZW5kJyA9ICdlbmQnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dm9pZD4sIGRpYWxvZzogybVXb3JrYmVuY2hEaWFsb2cpIHtcbiAgICAvLyBEZWZlciByZWdpc3RlcmluZyBhY3Rpb24gdG8gYXZvaWQgYEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3JgLlxuICAgIGFzYXBTY2hlZHVsZXIuc2NoZWR1bGUoKCkgPT4gdGhpcy5fYWN0aW9uID0gZGlhbG9nLnJlZ2lzdGVyQWN0aW9uKHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvLyBEZWZlciBkaXNwb3NpbmcgYWN0aW9uIHRvIGF2b2lkIGBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yYC5cbiAgICBhc2FwU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHRoaXMuX2FjdGlvbj8uZGlzcG9zZSgpKTtcbiAgfVxufVxuIl19
@@ -8,6 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
10
  import { booleanAttribute, Directive, Input } from '@angular/core';
11
+ import { asapScheduler } from 'rxjs';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "../\u0275workbench-dialog";
13
14
  /**
@@ -25,19 +26,21 @@ import * as i1 from "../\u0275workbench-dialog";
25
26
  export class WorkbenchDialogFooterDirective {
26
27
  constructor(template, dialog) {
27
28
  this.template = template;
28
- this._footer = dialog.registerFooter(this);
29
+ // Defer registering footer to avoid `ExpressionChangedAfterItHasBeenCheckedError`.
30
+ asapScheduler.schedule(() => this._footer = dialog.registerFooter(this));
29
31
  }
30
32
  ngOnDestroy() {
31
- this._footer.dispose();
33
+ // Defer disposing footer to avoid `ExpressionChangedAfterItHasBeenCheckedError`.
34
+ asapScheduler.schedule(() => this._footer?.dispose());
32
35
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchDialogFooterDirective, deps: [{ token: i0.TemplateRef }, { token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
34
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.3", type: WorkbenchDialogFooterDirective, isStandalone: true, selector: "ng-template[wbDialogFooter]", inputs: { divider: ["divider", "divider", booleanAttribute] }, ngImport: i0 }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchDialogFooterDirective, deps: [{ token: i0.TemplateRef }, { token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
37
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.6", type: WorkbenchDialogFooterDirective, isStandalone: true, selector: "ng-template[wbDialogFooter]", inputs: { divider: ["divider", "divider", booleanAttribute] }, ngImport: i0 }); }
35
38
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchDialogFooterDirective, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchDialogFooterDirective, decorators: [{
37
40
  type: Directive,
38
41
  args: [{ selector: 'ng-template[wbDialogFooter]', standalone: true }]
39
42
  }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i1.ɵWorkbenchDialog }], propDecorators: { divider: [{
40
43
  type: Input,
41
44
  args: [{ transform: booleanAttribute }]
42
45
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLWRpYWxvZy1mb290ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvZGlhbG9nL2RpYWxvZy1mb290ZXIvd29ya2JlbmNoLWRpYWxvZy1mb290ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDOzs7QUFJekY7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQU8sOEJBQThCO0lBV3pDLFlBQTRCLFFBQTJCLEVBQUUsTUFBd0I7UUFBckQsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0FqQlUsOEJBQThCO2tHQUE5Qiw4QkFBOEIseUdBUXRCLGdCQUFnQjs7MkZBUnhCLDhCQUE4QjtrQkFEMUMsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSw2QkFBNkIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDOytHQVU3RCxPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Ym9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge8m1V29ya2JlbmNoRGlhbG9nfSBmcm9tICcuLi/JtXdvcmtiZW5jaC1kaWFsb2cnO1xuaW1wb3J0IHtEaXNwb3NhYmxlfSBmcm9tICcuLi8uLi9jb21tb24vZGlzcG9zYWJsZSc7XG5cbi8qKlxuICogVXNlIHRoaXMgZGlyZWN0aXZlIHRvIHJlcGxhY2UgdGhlIGRlZmF1bHQgZGlhbG9nIGZvb3RlciB0aGF0IHJlbmRlcnMgYWN0aW9ucyBjb250cmlidXRlZCB2aWEgdGhlIHtAbGluayBXb3JrYmVuY2hEaWFsb2dBY3Rpb25EaXJlY3RpdmV9IGRpcmVjdGl2ZS5cbiAqXG4gKiBUaGUgaG9zdCBlbGVtZW50IG9mIHRoaXMgbW9kZWxpbmcgZGlyZWN0aXZlIG11c3QgYmUgYSA8bmctdGVtcGxhdGU+LiBUaGUgZm9vdGVyIHNoYXJlcyB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBob3N0IGVsZW1lbnQuXG4gKlxuICogKipFeGFtcGxlOioqXG4gKiBgYGBodG1sXG4gKiA8bmctdGVtcGxhdGUgd2JEaWFsb2dGb290ZXI+XG4gKiAgIDxhcHAtZGlhbG9nLWZvb3Rlci8+XG4gKiA8L25nLXRlbXBsYXRlPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnbmctdGVtcGxhdGVbd2JEaWFsb2dGb290ZXJdJywgc3RhbmRhbG9uZTogdHJ1ZX0pXG5leHBvcnQgY2xhc3MgV29ya2JlbmNoRGlhbG9nRm9vdGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9mb290ZXI6IERpc3Bvc2FibGU7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBpZiB0byBkaXNwbGF5IGEgdmlzdWFsIHNlcGFyYXRvciBiZXR3ZWVuIHRoZSBkaWFsb2cgY29udGVudCBhbmQgdGhpcyBmb290ZXIuXG4gICAqIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KVxuICBwdWJsaWMgZGl2aWRlcj86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx2b2lkPiwgZGlhbG9nOiDJtVdvcmtiZW5jaERpYWxvZykge1xuICAgIHRoaXMuX2Zvb3RlciA9IGRpYWxvZy5yZWdpc3RlckZvb3Rlcih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb290ZXIuZGlzcG9zZSgpO1xuICB9XG59XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLWRpYWxvZy1mb290ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvZGlhbG9nL2RpYWxvZy1mb290ZXIvd29ya2JlbmNoLWRpYWxvZy1mb290ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBR3pGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7OztBQUVuQzs7Ozs7Ozs7Ozs7R0FXRztBQUVILE1BQU0sT0FBTyw4QkFBOEI7SUFXekMsWUFBNEIsUUFBMkIsRUFBRSxNQUF3QjtRQUFyRCxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUNyRCxtRkFBbUY7UUFDbkYsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU0sV0FBVztRQUNoQixpRkFBaUY7UUFDakYsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0FuQlUsOEJBQThCO2tHQUE5Qiw4QkFBOEIseUdBUXRCLGdCQUFnQjs7MkZBUnhCLDhCQUE4QjtrQkFEMUMsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSw2QkFBNkIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDOytHQVU3RCxPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Ym9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge8m1V29ya2JlbmNoRGlhbG9nfSBmcm9tICcuLi/JtXdvcmtiZW5jaC1kaWFsb2cnO1xuaW1wb3J0IHtEaXNwb3NhYmxlfSBmcm9tICcuLi8uLi9jb21tb24vZGlzcG9zYWJsZSc7XG5pbXBvcnQge2FzYXBTY2hlZHVsZXJ9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGRpcmVjdGl2ZSB0byByZXBsYWNlIHRoZSBkZWZhdWx0IGRpYWxvZyBmb290ZXIgdGhhdCByZW5kZXJzIGFjdGlvbnMgY29udHJpYnV0ZWQgdmlhIHRoZSB7QGxpbmsgV29ya2JlbmNoRGlhbG9nQWN0aW9uRGlyZWN0aXZlfSBkaXJlY3RpdmUuXG4gKlxuICogVGhlIGhvc3QgZWxlbWVudCBvZiB0aGlzIG1vZGVsaW5nIGRpcmVjdGl2ZSBtdXN0IGJlIGEgPG5nLXRlbXBsYXRlPi4gVGhlIGZvb3RlciBzaGFyZXMgdGhlIGxpZmVjeWNsZSBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICpcbiAqICoqRXhhbXBsZToqKlxuICogYGBgaHRtbFxuICogPG5nLXRlbXBsYXRlIHdiRGlhbG9nRm9vdGVyPlxuICogICA8YXBwLWRpYWxvZy1mb290ZXIvPlxuICogPC9uZy10ZW1wbGF0ZT5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3diRGlhbG9nRm9vdGVyXScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIFdvcmtiZW5jaERpYWxvZ0Zvb3RlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZm9vdGVyOiBEaXNwb3NhYmxlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgaWYgdG8gZGlzcGxheSBhIHZpc3VhbCBzZXBhcmF0b3IgYmV0d2VlbiB0aGUgZGlhbG9nIGNvbnRlbnQgYW5kIHRoaXMgZm9vdGVyLlxuICAgKiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSlcbiAgcHVibGljIGRpdmlkZXI/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dm9pZD4sIGRpYWxvZzogybVXb3JrYmVuY2hEaWFsb2cpIHtcbiAgICAvLyBEZWZlciByZWdpc3RlcmluZyBmb290ZXIgdG8gYXZvaWQgYEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3JgLlxuICAgIGFzYXBTY2hlZHVsZXIuc2NoZWR1bGUoKCkgPT4gdGhpcy5fZm9vdGVyID0gZGlhbG9nLnJlZ2lzdGVyRm9vdGVyKHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvLyBEZWZlciBkaXNwb3NpbmcgZm9vdGVyIHRvIGF2b2lkIGBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yYC5cbiAgICBhc2FwU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHRoaXMuX2Zvb3Rlcj8uZGlzcG9zZSgpKTtcbiAgfVxufVxuIl19
@@ -25,10 +25,10 @@ export class DialogHeaderComponent {
25
25
  onCloseMouseDown(event) {
26
26
  event.stopPropagation(); // Prevent dragging the dialog with the close button.
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: DialogHeaderComponent, deps: [{ token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.3", type: DialogHeaderComponent, isStandalone: true, selector: "wb-dialog-header", ngImport: i0, template: "@if (dialog.title | wbCoerceObservable$ | async; as title) {\n <div class=\"title e2e-title\">\n <span>{{ title }}</span>\n </div>\n}\n\n@if (dialog.closable) {\n <button tabindex=\"-1\" class=\"close scion-workbench-icons e2e-close\"\n (mousedown)=\"onCloseMouseDown($event)\"\n (click)=\"onCloseClick()\">\n close\n </button>\n}\n", styles: [":host{display:flex;gap:var(--sci-workbench-dialog-padding);place-content:flex-end;padding-inline:var(--sci-workbench-dialog-padding);background-color:var(--sci-workbench-dialog-header-background-color);-webkit-user-select:none;user-select:none;height:var(--sci-workbench-dialog-header-height)}:host>div.title{flex:auto;display:flex;align-items:center;position:relative}:host>div.title>span{position:absolute;left:0;right:0;line-height:1.5;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--sci-workbench-dialog-title-font-family);font-size:var(--sci-workbench-dialog-title-font-size);font-weight:var(--sci-workbench-dialog-title-font-weight);text-align:var(--sci-workbench-dialog-title-align)}:host>button.close{all:unset;flex:none;cursor:pointer;align-self:center}:host>button.close:not(:hover){opacity:.75}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: CoerceObservablePipe, name: "wbCoerceObservable$" }] }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DialogHeaderComponent, deps: [{ token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.6", type: DialogHeaderComponent, isStandalone: true, selector: "wb-dialog-header", ngImport: i0, template: "@if (dialog.title | wbCoerceObservable$ | async; as title) {\n <div class=\"title e2e-title\">\n <span>{{ title }}</span>\n </div>\n}\n\n@if (dialog.closable) {\n <button tabindex=\"-1\" class=\"close scion-workbench-icons e2e-close\"\n (mousedown)=\"onCloseMouseDown($event)\"\n (click)=\"onCloseClick()\">\n close\n </button>\n}\n", styles: [":host{display:flex;gap:var(--sci-workbench-dialog-padding);place-content:flex-end;padding-inline:var(--sci-workbench-dialog-padding);background-color:var(--sci-workbench-dialog-header-background-color);-webkit-user-select:none;user-select:none;height:var(--sci-workbench-dialog-header-height)}:host>div.title{flex:auto;display:flex;align-items:center;position:relative}:host>div.title>span{position:absolute;left:0;right:0;line-height:1.5;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--sci-workbench-dialog-title-font-family);font-size:var(--sci-workbench-dialog-title-font-size);font-weight:var(--sci-workbench-dialog-title-font-weight);text-align:var(--sci-workbench-dialog-title-align)}:host>button.close{all:unset;flex:none;cursor:pointer;align-self:center}:host>button.close:not(:hover){opacity:.75}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: CoerceObservablePipe, name: "wbCoerceObservable$" }] }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: DialogHeaderComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DialogHeaderComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'wb-dialog-header', standalone: true, imports: [
34
34
  AsyncPipe,
@@ -8,6 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
10
  import { booleanAttribute, Directive, Input } from '@angular/core';
11
+ import { asapScheduler } from 'rxjs';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "../\u0275workbench-dialog";
13
14
  /**
@@ -25,19 +26,21 @@ import * as i1 from "../\u0275workbench-dialog";
25
26
  export class WorkbenchDialogHeaderDirective {
26
27
  constructor(template, dialog) {
27
28
  this.template = template;
28
- this._header = dialog.registerHeader(this);
29
+ // Defer registering header to avoid `ExpressionChangedAfterItHasBeenCheckedError`.
30
+ asapScheduler.schedule(() => this._header = dialog.registerHeader(this));
29
31
  }
30
32
  ngOnDestroy() {
31
- this._header.dispose();
33
+ // Defer disposing header to avoid `ExpressionChangedAfterItHasBeenCheckedError`.
34
+ asapScheduler.schedule(() => this._header?.dispose());
32
35
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchDialogHeaderDirective, deps: [{ token: i0.TemplateRef }, { token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
34
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.3", type: WorkbenchDialogHeaderDirective, isStandalone: true, selector: "ng-template[wbDialogHeader]", inputs: { divider: ["divider", "divider", booleanAttribute] }, ngImport: i0 }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchDialogHeaderDirective, deps: [{ token: i0.TemplateRef }, { token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
37
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.6", type: WorkbenchDialogHeaderDirective, isStandalone: true, selector: "ng-template[wbDialogHeader]", inputs: { divider: ["divider", "divider", booleanAttribute] }, ngImport: i0 }); }
35
38
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchDialogHeaderDirective, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchDialogHeaderDirective, decorators: [{
37
40
  type: Directive,
38
41
  args: [{ selector: 'ng-template[wbDialogHeader]', standalone: true }]
39
42
  }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i1.ɵWorkbenchDialog }], propDecorators: { divider: [{
40
43
  type: Input,
41
44
  args: [{ transform: booleanAttribute }]
42
45
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLWRpYWxvZy1oZWFkZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvZGlhbG9nL2RpYWxvZy1oZWFkZXIvd29ya2JlbmNoLWRpYWxvZy1oZWFkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDOzs7QUFJekY7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQU8sOEJBQThCO0lBV3pDLFlBQTRCLFFBQTJCLEVBQUUsTUFBd0I7UUFBckQsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0FqQlUsOEJBQThCO2tHQUE5Qiw4QkFBOEIseUdBUXRCLGdCQUFnQjs7MkZBUnhCLDhCQUE4QjtrQkFEMUMsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSw2QkFBNkIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDOytHQVU3RCxPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Ym9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge8m1V29ya2JlbmNoRGlhbG9nfSBmcm9tICcuLi/JtXdvcmtiZW5jaC1kaWFsb2cnO1xuaW1wb3J0IHtEaXNwb3NhYmxlfSBmcm9tICcuLi8uLi9jb21tb24vZGlzcG9zYWJsZSc7XG5cbi8qKlxuICogVXNlIHRoaXMgZGlyZWN0aXZlIHRvIHJlcGxhY2UgdGhlIGRlZmF1bHQgZGlhbG9nIGhlYWRlciB0aGF0IGRpc3BsYXlzIHRoZSB0aXRsZSBhbmQgYSBjbG9zZSBidXR0b24uXG4gKlxuICogVGhlIGhvc3QgZWxlbWVudCBvZiB0aGlzIG1vZGVsaW5nIGRpcmVjdGl2ZSBtdXN0IGJlIGEgPG5nLXRlbXBsYXRlPi4gVGhlIGhlYWRlciBzaGFyZXMgdGhlIGxpZmVjeWNsZSBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICpcbiAqICoqRXhhbXBsZToqKlxuICogYGBgaHRtbFxuICogPG5nLXRlbXBsYXRlIHdiRGlhbG9nSGVhZGVyPlxuICogICA8YXBwLWRpYWxvZy1oZWFkZXIvPlxuICogPC9uZy10ZW1wbGF0ZT5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3diRGlhbG9nSGVhZGVyXScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIFdvcmtiZW5jaERpYWxvZ0hlYWRlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfaGVhZGVyOiBEaXNwb3NhYmxlO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgaWYgdG8gZGlzcGxheSBhIHZpc3VhbCBzZXBhcmF0b3IgYmV0d2VlbiB0aGlzIGhlYWRlciBhbmQgdGhlIGRpYWxvZyBjb250ZW50LlxuICAgKiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSlcbiAgcHVibGljIGRpdmlkZXI/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dm9pZD4sIGRpYWxvZzogybVXb3JrYmVuY2hEaWFsb2cpIHtcbiAgICB0aGlzLl9oZWFkZXIgPSBkaWFsb2cucmVnaXN0ZXJIZWFkZXIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5faGVhZGVyLmRpc3Bvc2UoKTtcbiAgfVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLWRpYWxvZy1oZWFkZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvZGlhbG9nL2RpYWxvZy1oZWFkZXIvd29ya2JlbmNoLWRpYWxvZy1oZWFkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBR3pGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7OztBQUVuQzs7Ozs7Ozs7Ozs7R0FXRztBQUVILE1BQU0sT0FBTyw4QkFBOEI7SUFXekMsWUFBNEIsUUFBMkIsRUFBRSxNQUF3QjtRQUFyRCxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUNyRCxtRkFBbUY7UUFDbkYsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU0sV0FBVztRQUNoQixpRkFBaUY7UUFDakYsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0FuQlUsOEJBQThCO2tHQUE5Qiw4QkFBOEIseUdBUXRCLGdCQUFnQjs7MkZBUnhCLDhCQUE4QjtrQkFEMUMsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSw2QkFBNkIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDOytHQVU3RCxPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Ym9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge8m1V29ya2JlbmNoRGlhbG9nfSBmcm9tICcuLi/JtXdvcmtiZW5jaC1kaWFsb2cnO1xuaW1wb3J0IHtEaXNwb3NhYmxlfSBmcm9tICcuLi8uLi9jb21tb24vZGlzcG9zYWJsZSc7XG5pbXBvcnQge2FzYXBTY2hlZHVsZXJ9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGRpcmVjdGl2ZSB0byByZXBsYWNlIHRoZSBkZWZhdWx0IGRpYWxvZyBoZWFkZXIgdGhhdCBkaXNwbGF5cyB0aGUgdGl0bGUgYW5kIGEgY2xvc2UgYnV0dG9uLlxuICpcbiAqIFRoZSBob3N0IGVsZW1lbnQgb2YgdGhpcyBtb2RlbGluZyBkaXJlY3RpdmUgbXVzdCBiZSBhIDxuZy10ZW1wbGF0ZT4uIFRoZSBoZWFkZXIgc2hhcmVzIHRoZSBsaWZlY3ljbGUgb2YgdGhlIGhvc3QgZWxlbWVudC5cbiAqXG4gKiAqKkV4YW1wbGU6KipcbiAqIGBgYGh0bWxcbiAqIDxuZy10ZW1wbGF0ZSB3YkRpYWxvZ0hlYWRlcj5cbiAqICAgPGFwcC1kaWFsb2ctaGVhZGVyLz5cbiAqIDwvbmctdGVtcGxhdGU+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICduZy10ZW1wbGF0ZVt3YkRpYWxvZ0hlYWRlcl0nLCBzdGFuZGFsb25lOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBXb3JrYmVuY2hEaWFsb2dIZWFkZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2hlYWRlcjogRGlzcG9zYWJsZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGlmIHRvIGRpc3BsYXkgYSB2aXN1YWwgc2VwYXJhdG9yIGJldHdlZW4gdGhpcyBoZWFkZXIgYW5kIHRoZSBkaWFsb2cgY29udGVudC5cbiAgICogRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pXG4gIHB1YmxpYyBkaXZpZGVyPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHZvaWQ+LCBkaWFsb2c6IMm1V29ya2JlbmNoRGlhbG9nKSB7XG4gICAgLy8gRGVmZXIgcmVnaXN0ZXJpbmcgaGVhZGVyIHRvIGF2b2lkIGBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yYC5cbiAgICBhc2FwU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHRoaXMuX2hlYWRlciA9IGRpYWxvZy5yZWdpc3RlckhlYWRlcih0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gRGVmZXIgZGlzcG9zaW5nIGhlYWRlciB0byBhdm9pZCBgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvcmAuXG4gICAgYXNhcFNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiB0aGlzLl9oZWFkZXI/LmRpc3Bvc2UoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -100,10 +100,10 @@ export class MovableDirective {
100
100
  }
101
101
  });
102
102
  }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MovableDirective, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }, { token: i1.WorkbenchLayoutService }], target: i0.ɵɵFactoryTarget.Directive }); }
104
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: MovableDirective, isStandalone: true, selector: "[wbMovable]", inputs: { wbHandleElement: ["wbHandle", "wbHandleElement"] }, outputs: { wbMove: "wbMovableMove" }, ngImport: i0 }); }
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MovableDirective, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }, { token: i1.WorkbenchLayoutService }], target: i0.ɵɵFactoryTarget.Directive }); }
104
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: MovableDirective, isStandalone: true, selector: "[wbMovable]", inputs: { wbHandleElement: ["wbHandle", "wbHandleElement"] }, outputs: { wbMove: "wbMovableMove" }, ngImport: i0 }); }
105
105
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MovableDirective, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MovableDirective, decorators: [{
107
107
  type: Directive,
108
108
  args: [{ selector: '[wbMovable]', standalone: true }]
109
109
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.DestroyRef }, { type: i1.WorkbenchLayoutService }], propDecorators: { wbHandleElement: [{
@@ -293,10 +293,10 @@ export class ResizableDirective {
293
293
  this.uninstallHandles();
294
294
  }
295
295
  }
296
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: i1.WorkbenchLayoutService }], target: i0.ɵɵFactoryTarget.Directive }); }
297
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: ResizableDirective, isStandalone: true, selector: "[wbResizable]", inputs: { enabled: ["wbResizableEnabled", "enabled"] }, outputs: { wbResize: "wbResizableResize" }, usesOnChanges: true, ngImport: i0 }); }
296
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: i1.WorkbenchLayoutService }], target: i0.ɵɵFactoryTarget.Directive }); }
297
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: ResizableDirective, isStandalone: true, selector: "[wbResizable]", inputs: { enabled: ["wbResizableEnabled", "enabled"] }, outputs: { wbResize: "wbResizableResize" }, usesOnChanges: true, ngImport: i0 }); }
298
298
  }
299
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ResizableDirective, decorators: [{
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ResizableDirective, decorators: [{
300
300
  type: Directive,
301
301
  args: [{ selector: '[wbResizable]', standalone: true }]
302
302
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.WorkbenchLayoutService }], propDecorators: { enabled: [{