@scion/workbench 19.0.0-beta.2 → 19.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +6 -4
  2. package/design/_workbench-dark-theme-design-tokens.scss +52 -12
  3. package/design/_workbench-icon-font.scss +1 -1
  4. package/design/_workbench-light-theme-design-tokens.scss +54 -14
  5. package/fesm2022/scion-workbench.mjs +7265 -5286
  6. package/fesm2022/scion-workbench.mjs.map +1 -1
  7. package/lib/activity/activity-bar/activity-bar.component.d.ts +10 -0
  8. package/lib/activity/activity-bar/activity-item/activity-item.component.d.ts +16 -0
  9. package/lib/activity/activity-bar/activity-stack/activity-stack.component.d.ts +10 -0
  10. package/lib/activity/activity-panel/activity-panel.component.d.ts +41 -0
  11. package/lib/activity/public_api.d.ts +1 -0
  12. package/lib/activity/workbench-activity.model.d.ts +110 -0
  13. package/lib/common/asserts.util.d.ts +1 -1
  14. package/lib/common/dasherize.util.d.ts +4 -0
  15. package/lib/common/disposable.d.ts +4 -0
  16. package/lib/common/dom.util.d.ts +19 -1
  17. package/lib/common/grid-if-visible.pipe.d.ts +13 -0
  18. package/lib/common/objects.util.d.ts +11 -3
  19. package/lib/common/observables.d.ts +8 -8
  20. package/lib/common/public_api.d.ts +1 -1
  21. package/lib/common/resolve-when.util.d.ts +9 -0
  22. package/lib/common/utility-types.d.ts +6 -0
  23. package/lib/content-projection/content-as-overlay.component.d.ts +1 -1
  24. package/lib/desktop/desktop.directive.d.ts +1 -1
  25. package/lib/dialog/dialog-footer/dialog-footer.component.d.ts +1 -2
  26. package/lib/dialog/dialog-footer/workbench-dialog-action.directive.d.ts +8 -10
  27. package/lib/dialog/dialog-footer/workbench-dialog-footer.directive.d.ts +8 -11
  28. package/lib/dialog/dialog-header/dialog-header.component.d.ts +1 -2
  29. package/lib/dialog/dialog-header/workbench-dialog-header.directive.d.ts +8 -11
  30. package/lib/dialog/movable.directive.d.ts +11 -12
  31. package/lib/dialog/public_api.d.ts +2 -2
  32. package/lib/dialog/resizable.directive.d.ts +8 -16
  33. package/lib/dialog/workbench-dialog.component.d.ts +9 -14
  34. package/lib/dialog/workbench-dialog.d.ts +6 -5
  35. package/lib/dialog//311/265workbench-dialog.d.ts +7 -6
  36. package/lib/filter-field/filter-field.component.d.ts +23 -26
  37. package/lib/glass-pane/glass-pane.directive.d.ts +4 -5
  38. package/lib/icon/icon-providers.d.ts +6 -0
  39. package/lib/icon/icon.component.d.ts +33 -0
  40. package/lib/icon/material-icon-provider.d.ts +25 -0
  41. package/lib/icon/public_api.d.ts +1 -0
  42. package/lib/icon/workbench-icon-provider.d.ts +30 -0
  43. package/lib/icon/workbench-icon-provider.model.d.ts +64 -0
  44. package/lib/layout/{workbench-layout.component.d.ts → grid/grid.component.d.ts} +38 -10
  45. package/lib/layout/grid-element/grid-element.component.d.ts +16 -20
  46. package/lib/layout/layout.component.d.ts +60 -0
  47. package/lib/layout/migration/model/workbench-grid-migration-v2.model.d.ts +22 -0
  48. package/lib/layout/migration/model/workbench-grid-migration-v3.model.d.ts +30 -0
  49. package/lib/layout/migration/model/workbench-grid-migration-v4.model.d.ts +31 -0
  50. package/lib/layout/migration/model/{workbench-layout-migration-v5.model.d.ts → workbench-grid-migration-v5.model.d.ts} +3 -3
  51. package/lib/layout/migration/model/{workbench-layout-migration-v6.model.d.ts → workbench-grid-migration-v6.model.d.ts} +3 -3
  52. package/lib/layout/migration/model/{workbench-layout-migration-v7.model.d.ts → workbench-grid-migration-v7.model.d.ts} +3 -3
  53. package/lib/layout/migration/model/workbench-layout-migration-v2.model.d.ts +9 -21
  54. package/lib/layout/migration/model/workbench-layout-migration-v3.model.d.ts +8 -28
  55. package/lib/layout/migration/model/workbench-layout-migration-v4.model.d.ts +18 -29
  56. package/lib/layout/migration/workbench-grid-migration-v3.service.d.ts +14 -0
  57. package/lib/layout/migration/workbench-grid-migration-v4.service.d.ts +12 -0
  58. package/lib/layout/migration/{workbench-layout-migration-v5.service.d.ts → workbench-grid-migration-v5.service.d.ts} +3 -3
  59. package/lib/layout/migration/workbench-grid-migration-v6.service.d.ts +12 -0
  60. package/lib/layout/migration/workbench-grid-migration-v7.service.d.ts +10 -0
  61. package/lib/layout/migration/{workbench-layout-migration-v6.service.d.ts → workbench-layout-migration-v2.service.d.ts} +5 -4
  62. package/lib/layout/migration/workbench-layout-migration-v3.service.d.ts +1 -5
  63. package/lib/layout/migration/workbench-layout-migration-v4.service.d.ts +1 -1
  64. package/lib/layout/public_api.d.ts +1 -1
  65. package/lib/layout/rendering-flag.d.ts +7 -0
  66. package/lib/layout/{workbench-layout.model.d.ts → workbench-grid.model.d.ts} +26 -3
  67. package/lib/{perspective/workbench-grid-merger.service.d.ts → layout/workbench-layout-merger.service.d.ts} +5 -5
  68. package/lib/layout/workbench-layout-storage.service.d.ts +28 -0
  69. package/lib/layout/workbench-layout.d.ts +289 -28
  70. package/lib/layout/workbench-layout.factory.d.ts +4 -6
  71. package/lib/layout/workbench-layout.service.d.ts +24 -13
  72. package/lib/layout/workbench-layouts.util.d.ts +25 -1
  73. package/lib/layout/workench-layout-serializer.service.d.ts +52 -14
  74. package/lib/layout//311/265workbench-layout.d.ts +351 -83
  75. package/lib/layout//311/265workbench-layout.factory.d.ts +6 -21
  76. package/lib/logging/console-appender.service.d.ts +0 -1
  77. package/lib/logging/public_api.d.ts +1 -1
  78. package/lib/message-box/message-box-footer/message-box-footer.component.d.ts +7 -8
  79. package/lib/message-box/message-box-header/message-box-header.component.d.ts +3 -3
  80. package/lib/message-box/public_api.d.ts +1 -1
  81. package/lib/message-box/workbench-message-box.component.d.ts +5 -8
  82. package/lib/message-box/workbench-message-box.options.d.ts +6 -5
  83. package/lib/message-box/workbench-message-box.service.d.ts +2 -1
  84. package/lib/message-box//311/265workbench-message-box.service.d.ts +4 -6
  85. package/lib/microfrontend-platform/common/microfrontend.util.d.ts +15 -2
  86. package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +20 -38
  87. package/lib/microfrontend-platform/initialization/ng-zone-observable-decorator.d.ts +1 -3
  88. package/lib/microfrontend-platform/manifest-object-cache.service.d.ts +9 -10
  89. package/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-intent-handler.interceptor.d.ts +2 -5
  90. package/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.d.ts +14 -34
  91. package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +13 -16
  92. package/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.d.ts +15 -18
  93. package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +0 -2
  94. package/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.d.ts +8 -12
  95. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.d.ts +2 -5
  96. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.d.ts +14 -33
  97. package/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.d.ts +7 -0
  98. package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.d.ts +3 -22
  99. package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.d.ts +2 -5
  100. package/lib/microfrontend-platform/microfrontend-platform-initializer.provider.d.ts +85 -0
  101. package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +19 -33
  102. package/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.d.ts +3 -40
  103. package/lib/microfrontend-platform/{routing → microfrontend-view}/microfrontend-view-intent-handler.interceptor.d.ts +5 -4
  104. package/lib/microfrontend-platform/{routing → microfrontend-view}/microfrontend-view-routes.d.ts +2 -2
  105. package/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.d.ts +28 -33
  106. package/lib/microfrontend-platform/public_api.d.ts +2 -0
  107. package/lib/notification/notification-list.component.d.ts +3 -6
  108. package/lib/notification/notification.component.d.ts +14 -16
  109. package/lib/notification/notification.config.d.ts +4 -3
  110. package/lib/notification/notification.d.ts +2 -1
  111. package/lib/notification/notification.service.d.ts +6 -6
  112. package/lib/notification/public_api.d.ts +1 -1
  113. package/lib/notification/text-notification.component.d.ts +2 -3
  114. package/lib/notification//311/265notification.d.ts +5 -4
  115. package/lib/null-content/null-content.component.d.ts +11 -0
  116. package/lib/part/main-area-part/main-area-part.component.d.ts +7 -3
  117. package/lib/part/part-action-bar/part-action.directive.d.ts +1 -1
  118. package/lib/part/part-bar/part-bar.component.d.ts +6 -1
  119. package/lib/part/part.component.d.ts +3 -4
  120. package/lib/part/public_api.d.ts +1 -1
  121. package/lib/part/view-context-menu/text/text.component.d.ts +1 -1
  122. package/lib/part/view-context-menu/view-menu-item.directive.d.ts +1 -1
  123. package/lib/part/view-context-menu/view-menu.service.d.ts +7 -5
  124. package/lib/part/view-list/view-list.component.d.ts +14 -24
  125. package/lib/part/view-list-button/view-list-button.component.d.ts +6 -10
  126. package/lib/part/view-list-item/view-list-item.component.d.ts +7 -11
  127. package/lib/part/view-tab/view-tab.component.d.ts +14 -30
  128. package/lib/part/view-tab-bar/view-tab-bar.component.d.ts +1 -0
  129. package/lib/part/view-tab-content/view-tab-content.component.d.ts +1 -4
  130. package/lib/part/view-tab-drag-image/view-tab-drag-image.component.d.ts +20 -18
  131. package/lib/part/workbench-part.model.d.ts +23 -3
  132. package/lib/part//311/265workbench-part.model.d.ts +28 -8
  133. package/lib/perspective/public_api.d.ts +1 -1
  134. package/lib/perspective/workbench-perspective-view-conflict-resolver.service.d.ts +5 -5
  135. package/lib/perspective/workbench-perspective.model.d.ts +14 -138
  136. package/lib/perspective/workbench-perspective.service.d.ts +15 -5
  137. package/lib/perspective//311/265workbench-perspective.model.d.ts +9 -8
  138. package/lib/popup/popup.component.d.ts +14 -16
  139. package/lib/popup/popup.config.d.ts +10 -15
  140. package/lib/popup/popup.service.d.ts +12 -22
  141. package/lib/popup/public_api.d.ts +2 -2
  142. package/lib/portal/workbench-portal-outlet.directive.d.ts +9 -7
  143. package/lib/public_api.d.ts +6 -3
  144. package/lib/routing/public_api.d.ts +1 -1
  145. package/lib/routing/routing.model.d.ts +14 -13
  146. package/lib/routing/routing.util.d.ts +8 -8
  147. package/lib/routing/url-segment-matcher.d.ts +1 -1
  148. package/lib/routing/workbench-auxiliary-route-installer.service.d.ts +3 -12
  149. package/lib/routing/workbench-layout-differ.d.ts +2 -2
  150. package/lib/routing/workbench-navigational-states.d.ts +16 -8
  151. package/lib/routing/workbench-route-data.d.ts +4 -0
  152. package/lib/routing/workbench-router-link.directive.d.ts +16 -29
  153. package/lib/routing/workbench-router.service.d.ts +4 -3
  154. package/lib/routing//311/265workbench-router.service.d.ts +4 -4
  155. package/lib/startup/public_api.d.ts +4 -2
  156. package/lib/startup/workbench-initializer.d.ts +128 -87
  157. package/lib/startup/workbench-launcher.service.d.ts +41 -77
  158. package/lib/startup/workbench-startup.service.d.ts +37 -0
  159. package/lib/startup//311/265workbench-launcher.service.d.ts +19 -0
  160. package/lib/startup//311/265workbench-startup.service.d.ts +16 -0
  161. package/lib/text/public_api.d.ts +1 -0
  162. package/lib/text/text-providers.d.ts +6 -0
  163. package/lib/text/text.d.ts +30 -0
  164. package/lib/text/text.pipe.d.ts +24 -0
  165. package/lib/text/workbench-text-provider.d.ts +7 -0
  166. package/lib/text/workbench-text-provider.model.d.ts +40 -0
  167. package/lib/text/workbench-view-menu-config-text-provider.d.ts +8 -0
  168. package/lib/theme/workbench-theme-switcher.service.d.ts +14 -19
  169. package/lib/view/public_api.d.ts +1 -1
  170. package/lib/view/view.component.d.ts +1 -1
  171. package/lib/view/workbench-view.model.d.ts +11 -10
  172. package/lib/view//311/265workbench-view.model.d.ts +9 -7
  173. package/lib/view-dnd/grid-drop-targets.util.d.ts +1 -1
  174. package/lib/view-dnd/requires-drop-zone.pipe.d.ts +1 -1
  175. package/lib/view-dnd/view-drag.service.d.ts +24 -7
  176. package/lib/view-dnd/view-drop-zone.directive.d.ts +7 -10
  177. package/lib/workbench-config.d.ts +199 -28
  178. package/lib/workbench.component.d.ts +8 -1
  179. package/lib/workbench.constants.d.ts +4 -0
  180. package/lib/workbench.model.d.ts +2 -0
  181. package/lib/workbench.provider.d.ts +66 -15
  182. package/lib/workbench.service.d.ts +45 -10
  183. package/lib//311/265workbench.service.d.ts +9 -7
  184. package/package.json +3 -3
  185. package/lib/common/grid-element-if-visible.pipe.d.ts +0 -13
  186. package/lib/layout/migration/workbench-layout-migration-v7.service.d.ts +0 -10
  187. package/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.service.d.ts +0 -17
  188. package/lib/perspective/migration/model/workbench-perspective-migration-v2.model.d.ts +0 -10
  189. package/lib/perspective/migration/model/workbench-perspective-migration-v3.model.d.ts +0 -10
  190. package/lib/perspective/migration/workbench-perspective-migration-v2.service.d.ts +0 -13
  191. package/lib/perspective/migration/workbench-perspective-migration-v3.service.d.ts +0 -12
  192. package/lib/perspective/workbench-perspective-storage.service.d.ts +0 -32
  193. package/lib/perspective/workench-perspective-serializer.service.d.ts +0 -26
  194. /package/lib/{perspective/migration/model/workbench-perspective-migration-v1.model.d.ts → layout/migration/model/workbench-layout-migration-v1.model.d.ts} +0 -0
  195. /package/lib/microfrontend-platform/{routing → microfrontend-view}/microfrontend-view-capability-validator.interceptor.d.ts +0 -0
@@ -3,12 +3,105 @@ import { Signal, Type } from '@angular/core';
3
3
  import { LogAppender, LogLevel } from './logging';
4
4
  import { MicrofrontendPlatformConfig } from '@scion/microfrontend-platform';
5
5
  import { MicrofrontendPlatformConfigLoader } from './microfrontend-platform/microfrontend-platform-config-loader';
6
- import { WorkbenchLayoutFn, WorkbenchPerspectives } from './perspective/workbench-perspective.model';
6
+ import { WorkbenchPerspectives } from './perspective/workbench-perspective.model';
7
7
  import { WorkbenchStorage } from './storage/workbench-storage';
8
+ import { WorkbenchTextProviderFn } from './text/workbench-text-provider.model';
9
+ import { WorkbenchIconProviderFn } from './icon/workbench-icon-provider.model';
10
+ import { WorkbenchLayoutFn } from './layout/workbench-layout';
8
11
  /**
9
12
  * Configuration of the SCION Workbench.
10
13
  */
11
14
  export declare abstract class WorkbenchConfig {
15
+ /**
16
+ * Defines the layout(s) of the application. Defaults to a single layout with only a main area.
17
+ *
18
+ * An application can have multiple layouts, called perspectives. A perspective defines an arrangement of parts and views.
19
+ * Parts can be docked to the side or positioned relative to each other. Views are stacked in parts and can be dragged to other parts.
20
+ * Content can be displayed in both parts and views.
21
+ *
22
+ * A perspective typically has a main area part and other parts docked to the side, providing navigation and context-sensitive assistance to support
23
+ * the user's workflow. Initially empty or displaying a welcome page, the main area is where the workbench opens new views by default.
24
+ * Unlike any other part, the main area is shared between perspectives, and its layout is not reset when resetting perspectives.
25
+ *
26
+ * See {@link WorkbenchLayoutFn} for more information and an example.
27
+ */
28
+ abstract layout?: WorkbenchLayoutFn | WorkbenchPerspectives;
29
+ /**
30
+ * Provides texts to the SCION Workbench.
31
+ *
32
+ * A text provider is a function that returns the text for a translation key.
33
+ *
34
+ * Texts starting with the percent symbol (`%`) are passed to the text provider for translation, with the percent symbol omitted.
35
+ * Otherwise, the text is returned as is.
36
+ *
37
+ * The SCION Workbench uses the following translation keys for built-in texts:
38
+ * - workbench.clear.tooltip
39
+ * - workbench.close.action
40
+ * - workbench.close_all_tabs.action
41
+ * - workbench.close_other_tabs.action
42
+ * - workbench.close_tab.action
43
+ * - workbench.close_tab.tooltip
44
+ * - workbench.close_tabs_to_the_left.action
45
+ * - workbench.close_tabs_to_the_right.action
46
+ * - workbench.close.tooltip
47
+ * - workbench.dev_mode_only_hint.tooltip
48
+ * - workbench.minimize.tooltip
49
+ * - workbench.move_tab_down.action
50
+ * - workbench.move_tab_to_new_window.action
51
+ * - workbench.move_tab_to_the_left.action
52
+ * - workbench.move_tab_to_the_right.action
53
+ * - workbench.move_tab_up.action
54
+ * - workbench.null_content.message
55
+ * - workbench.null_view_developer_hint.message
56
+ * - workbench.ok.action
57
+ * - workbench.page_not_found.message
58
+ * - workbench.page_not_found.title
59
+ * - workbench.page_not_found_developer_hint.message
60
+ * - workbench.show_open_tabs.tooltip
61
+ *
62
+ * The function:
63
+ * - Can call `inject` to get any required dependencies.
64
+ * - Can call `toSignal` to convert an Observable to a Signal.
65
+ *
66
+ * @see WorkbenchTextProviderFn
67
+ */
68
+ abstract textProvider?: WorkbenchTextProviderFn;
69
+ /**
70
+ * Provides icons to the SCION Workbench.
71
+ *
72
+ * An icon provider is a function that returns a component for an icon. The component renders the icon.
73
+ *
74
+ * Defaults to a Material icon provider, interpreting the icon as a Material icon ligature.
75
+ *
76
+ * The default icon provider requires the application to include the Material icon font, for example in `styles.scss`, as follows:
77
+ * ```scss
78
+ * @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded');
79
+ * ```
80
+ *
81
+ * The SCION Workbench uses the following icons:
82
+ * - `workbench.clear`: Clear button in input fields
83
+ * - `workbench.close`: Close button in views, dialogs and notifications
84
+ * - `workbench.dirty`: Visual indicator for view with unsaved content
85
+ * - `workbench.menu_down`: Menu button of drop down menus
86
+ * - `workbench.minimize`: Minimize button in docked parts
87
+ * - `workbench.pin`: Visual indicator for a pinned view
88
+ * - `workbench.search`: Visual indicator in search or filter fields
89
+ *
90
+ * To not replace built-in workbench icons, the icon provider can return `undefined` for icons starting with the `workbench.` prefix.
91
+ *
92
+ * The function can call `inject` to get any required dependencies.
93
+ *
94
+ * @see WorkbenchIconProviderFn
95
+ */
96
+ abstract iconProvider?: WorkbenchIconProviderFn;
97
+ /**
98
+ * Specifies the component to display in `<wb-workbench>` while the workbench is starting.
99
+ *
100
+ * Defaults to a splash showing a loading indicator (ellipsis throbber).
101
+ *
102
+ * Note: No splash screen is displayed if starting the workbench in an app initializer.
103
+ */
104
+ abstract splashComponent?: ComponentType<unknown>;
12
105
  /**
13
106
  * Specifies the component to display a view tab, enabling custom design or functionality.
14
107
  *
@@ -30,35 +123,38 @@ export declare abstract class WorkbenchConfig {
30
123
  */
31
124
  abstract viewMenuItems?: ViewMenuItemsConfig | false;
32
125
  /**
33
- * Configures the workbench startup.
126
+ * Configures startup of the SCION Workbench.
127
+ *
128
+ * The SCION Workbench starts automatically when the `<wb-workbench>` component is added to the DOM. Alternatively,
129
+ * the workbench can be started manually using {@link WorkbenchLauncher.launch}, such as in an app initializer or a route guard.
34
130
  *
35
- * The {@link WorkbenchLauncher} is used to start the workbench. During startup, it runs registered workbench initializers
36
- * and waits for them to complete. You can inject {@link WorkbenchStartup} to get notified when the startup is complete.
131
+ * The application can hook into the startup process of the SCION Workbench by providing one or more initializers to {@link provideWorkbenchInitializer}.
132
+ * Initializers execute at defined points during startup, enabling the application's controlled initialization. The workbench is fully started once
133
+ * all initializers have completed.
37
134
  *
38
- * Refer to {@link WorkbenchInitializer} to learn how to register a workbench initializer.
135
+ * The application can inject {@link WorkbenchStartup} to check if the workbench has completed startup.
39
136
  */
40
137
  abstract startup?: {
41
138
  /**
42
- * Configures the workbench launching strategy. Defaults to `LAZY` if not specified.
43
- *
44
- * - **APP_INITIALIZER**
45
- * Launches the workbench in an Angular `APP_INITIALIZER`, which is before bootstrapping the app component.
139
+ * Controls when to start the SCION Workbench. Defaults to `LAZY`.
46
140
  *
47
141
  * - **LAZY**
48
- * Launches the workbench at the latest when bootstrapping the workbench root component `<wb-workbench>`.
142
+ * Starts the workbench when the `<wb-workbench>` component is added to the DOM or manually via {@link WorkbenchLauncher#launch},
143
+ * e.g., from a route guard or app initializer.
49
144
  *
50
- * With this strategy, you are flexible when to start the workbench. You can start the workbench explicitly by
51
- * calling {@link WorkbenchLauncher#launch}, e.g., to launch the workbench from a route guard or app initializer,
52
- * or start it automatically when adding the workbench root component `<wb-workbench>` to the Angular component
53
- * tree.
145
+ * - **APP_INITIALIZER**
146
+ * Starts the workbench during application bootstrapping, blocking Angular's app startup until the workbench is ready.
147
+ * No splash is displayed.
148
+ *
149
+ * @deprecated since version 19.0.0-beta.3. To start the workbench in an app initializer, use Angular's `provideAppInitializer()` function: `provideAppInitializer(() => inject(WorkbenchLauncher).launch())`. Otherwise, no migration is necessary. No replacement. API will be removed in version 21.
54
150
  */
55
- launcher?: 'APP_INITIALIZER' | 'LAZY';
151
+ launcher?: 'LAZY' | 'APP_INITIALIZER';
56
152
  /**
57
- * Specifies the component to display when mounting the workbench root component `<wb-workbench>` to the DOM before the
58
- * workbench startup has finished.
153
+ * Specifies the component to display in `<wb-workbench>` while the workbench is starting.
154
+ *
155
+ * Note: No splash screen is displayed when using the app initializer strategy.
59
156
  *
60
- * Note that when launching the workbench in an Angular `APP_INITIALIZER`, no splash will display since the workbench
61
- * will start upfront.
157
+ * @deprecated since version 19.0.0-beta.3. Property has been moved. Configure the splash in `WorkbenchConfig.splashComponent`. Property will be removed in version 21.
62
158
  */
63
159
  splash?: ComponentType<unknown>;
64
160
  };
@@ -85,13 +181,6 @@ export declare abstract class WorkbenchConfig {
85
181
  * under the DI token {@link MICROFRONTEND_PLATFORM_POST_STARTUP}.
86
182
  */
87
183
  abstract microfrontendPlatform?: MicrofrontendPlatformConfig | Type<MicrofrontendPlatformConfigLoader>;
88
- /**
89
- * Defines the workbench layout. Multiple layouts can be defined in the form of perspectives.
90
- * If not set, defaults to a layout with only a main area.
91
- *
92
- * See {@link WorkbenchLayoutFn} for more information and an example.
93
- */
94
- abstract layout?: WorkbenchLayoutFn | WorkbenchPerspectives;
95
184
  /**
96
185
  * Provides persistent storage to the SCION Workbench.
97
186
  *
@@ -130,20 +219,100 @@ export declare abstract class WorkbenchConfig {
130
219
  /**
131
220
  * Configuration of built-in menu items in the view's context menu.
132
221
  *
133
- * Each property represents a menu item, allowing customization of visibility, text, accelerators, and more.
222
+ * Each property represents a menu item, allowing customization of visibility, accelerators, and more.
134
223
  *
135
- * Set a built-in menu item to `false` to exclude it.
224
+ * Texts can be changed or localized using a {@link WorkbenchTextProviderFn text provider} passed to {@link provideWorkbench} via the workbench config object.
136
225
  */
137
226
  export interface ViewMenuItemsConfig {
227
+ /**
228
+ * Configures the menu item for closing a view tab.
229
+ *
230
+ * Set to `false` to exclude it.
231
+ *
232
+ * The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
233
+ * Translation key: `workbench.close_tab.action`
234
+ */
138
235
  close?: MenuItemConfig | false;
236
+ /**
237
+ * Configures the menu item for closing other view tabs.
238
+ *
239
+ * Set to `false` to exclude it.
240
+ *
241
+ * The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
242
+ * Translation key: `workbench.close_other_tabs.action`
243
+ */
139
244
  closeOthers?: MenuItemConfig | false;
245
+ /**
246
+ * Configures the menu item for closing all view tabs.
247
+ *
248
+ * Set to `false` to exclude it.
249
+ *
250
+ * The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
251
+ * Translation key: `workbench.close_all_tabs.action`
252
+ */
140
253
  closeAll?: MenuItemConfig | false;
254
+ /**
255
+ * Configures the menu item for closing view tabs to the right.
256
+ *
257
+ * Set to `false` to exclude it.
258
+ *
259
+ * The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
260
+ * Translation key: `workbench.close_tabs_to_the_right.action`
261
+ */
141
262
  closeToTheRight?: MenuItemConfig | false;
263
+ /**
264
+ * Configures the menu item for closing view tabs to the left.
265
+ *
266
+ * Set to `false` to exclude it.
267
+ *
268
+ * The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
269
+ * Translation key: `workbench.close_tabs_to_the_left.action`
270
+ */
142
271
  closeToTheLeft?: MenuItemConfig | false;
272
+ /**
273
+ * Configures the menu item for moving a view up.
274
+ *
275
+ * Set to `false` to exclude it.
276
+ *
277
+ * The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
278
+ * Translation key: `workbench.move_tab_up.action`
279
+ */
143
280
  moveUp?: MenuItemConfig | false;
281
+ /**
282
+ * Configures the menu item for moving a view to the right.
283
+ *
284
+ * Set to `false` to exclude it.
285
+ *
286
+ * The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
287
+ * Translation key: `workbench.move_tab_to_the_right.action`
288
+ */
144
289
  moveRight?: MenuItemConfig | false;
290
+ /**
291
+ * Configures the menu item for moving a view down.
292
+ *
293
+ * Set to `false` to exclude it.
294
+ *
295
+ * The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
296
+ * Translation key: `workbenchworkbench.move_tab_down.action`
297
+ */
145
298
  moveDown?: MenuItemConfig | false;
299
+ /**
300
+ * Configures the menu item for moving a view to the left.
301
+ *
302
+ * Set to `false` to exclude it.
303
+ *
304
+ * The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
305
+ * Translation key: `workbench.move_tab_to_the_left.action`
306
+ */
146
307
  moveLeft?: MenuItemConfig | false;
308
+ /**
309
+ * Configures the menu item for moving a view to a new window.
310
+ *
311
+ * Set to `false` to exclude it.
312
+ *
313
+ * The menu item text can be changed or localized using a {@link WorkbenchTextProviderFn}.
314
+ * Translation key: `workbench.move_tab_to_new_window.action`
315
+ */
147
316
  moveToNewWindow?: MenuItemConfig | false;
148
317
  }
149
318
  /**
@@ -160,6 +329,8 @@ export interface MenuItemConfig {
160
329
  * Can be a string or a function that returns a string or a {@link Signal}.
161
330
  *
162
331
  * The function can call `inject` to get any required dependencies, or use `toSignal` to convert an observable to a signal.
332
+ *
333
+ * @deprecated since version 19.0.0-beta.3. Register a text provider to change or localize menu item texts. Register the text provider via workbench configuration passed to the `provideWorkbench` function. API will be removed in version 21.
163
334
  */
164
335
  text?: string | (() => string | Signal<string>);
165
336
  accelerator?: string[];
@@ -1,4 +1,5 @@
1
- import { WorkbenchStartup } from './startup/workbench-launcher.service';
1
+ import { WorkbenchStartup } from './startup/workbench-startup.service';
2
+ import { ɵWorkbenchService } from './ɵworkbench.service';
2
3
  import * as i0 from "@angular/core";
3
4
  /**
4
5
  * Main entry point component of the SCION Workbench.
@@ -6,12 +7,18 @@ import * as i0 from "@angular/core";
6
7
  export declare class WorkbenchComponent {
7
8
  private _workbenchLauncher;
8
9
  private _logger;
10
+ private readonly _workbenchRouter;
9
11
  private _iframeOverlayHost;
10
12
  private _viewDropZoneOverlayHost;
11
13
  /** Splash to display during workbench startup. */
12
14
  protected splash: import("@angular/cdk/portal").ComponentType<unknown>;
13
15
  protected workbenchStartup: WorkbenchStartup;
16
+ protected workbenchService: ɵWorkbenchService;
14
17
  constructor();
18
+ /**
19
+ * Toggles layout maximization by pressing Ctrl+Shift+F12.
20
+ */
21
+ private installMaximizeShortcutListener;
15
22
  /**
16
23
  * Starts the SCION Workbench. Has no effect if already started, e.g., in an app initializer or route guard.
17
24
  */
@@ -11,6 +11,10 @@ export declare const PART_ID_PREFIX = "part.";
11
11
  * @see ViewId
12
12
  */
13
13
  export declare const VIEW_ID_PREFIX = "view.";
14
+ /**
15
+ * Represents the id prefix of activities.
16
+ */
17
+ export declare const ACTIVITY_ID_PREFIX = "activity.";
14
18
  /**
15
19
  * Represents the id prefix of popups.
16
20
  */
@@ -205,6 +205,8 @@ export type WorkbenchPartActionFn = (part: WorkbenchPart) => WorkbenchPartAction
205
205
  export type WorkbenchViewMenuItemFn = (view: WorkbenchView) => WorkbenchMenuItem | null;
206
206
  /**
207
207
  * Information about a workbench theme.
208
+ *
209
+ * @deprecated since version 19.0.0-beta.3. Read the theme from `WorkbenchService.settings.theme` signal, and the color scheme from 'getComputedStyle(inject(DOCUMENT).documentElement).colorScheme'. API will be removed in version 21.
208
210
  */
209
211
  export interface WorkbenchTheme {
210
212
  /**
@@ -1,36 +1,87 @@
1
1
  import { EnvironmentProviders } from '@angular/core';
2
2
  import { WorkbenchConfig } from './workbench-config';
3
3
  /**
4
- * Enables and configures the SCION Workbench in an application, returning a set of dependency-injection providers to be registered in Angular.
4
+ * Enables and configures the SCION Workbench, returning a set of dependency-injection providers to be registered in Angular.
5
5
  *
6
- * SCION Workbench enables the creation of Angular web applications that require a flexible layout to arrange content side-by-side
6
+ * ### About
7
+ * SCION Workbench enables the creation of Angular web applications that require a flexible layout to display content side-by-side
7
8
  * or stacked, all personalizable by the user via drag & drop. This type of layout is ideal for applications with non-linear workflows,
8
9
  * enabling users to work on content in parallel.
9
10
  *
10
- * The workbench layout is a grid of parts. Parts are aligned relative to each other. Each part is a stack of views. Content is displayed in views or parts.
11
+ * An application can have multiple layouts, called perspectives. A perspective defines an arrangement of parts and views.
12
+ * Parts can be docked to the side or positioned relative to each other. Views are stacked in parts and can be dragged to other parts.
13
+ * Content can be displayed in both parts and views.
11
14
  *
12
- * The layout can be divided into a main and a peripheral area, with the main area as the primary place for opening views.
13
- * The peripheral area arranges parts around the main area to provide navigation or context-sensitive assistance to support
14
- * the user's workflow. Defining a main area is optional and recommended for applications requiring a dedicated and maximizable
15
- * area for user interaction.
15
+ * Users can personalize the layout of a perspective and switch between perspectives. The workbench remembers the last layout of each perspective,
16
+ * restoring it the next time it is activated.
16
17
  *
17
- * Multiple layouts, called perspectives, are supported. Perspectives can be switched. Only one perspective is active at a time.
18
- * Perspectives share the same main area, if any.
18
+ * A perspective typically has a main area part and other parts docked to the side, providing navigation and context-sensitive assistance to support
19
+ * the user's workflow. Initially empty or displaying a welcome page, the main area is where the workbench opens new views by default. Users can split
20
+ * the main area (or any other part) by dragging views side-by-side, vertically and horizontally, even across windows.
19
21
  *
20
- * ---
21
- * Usage:
22
+ * Unlike any other part, the main area is shared between perspectives, and its layout is not reset when resetting perspectives. Having a main area and
23
+ * multiple perspectives is optional.
22
24
  *
25
+ * ### Usage
23
26
  * ```ts
24
- * import {bootstrapApplication} from '@angular/platform-browser';
27
+ * import {MAIN_AREA, provideWorkbench, WorkbenchLayoutFactory} from '@scion/workbench';
25
28
  * import {provideRouter} from '@angular/router';
26
29
  * import {provideAnimations} from '@angular/platform-browser/animations';
27
- * import {provideWorkbench} from '@scion/workbench';
30
+ * import {bootstrapApplication} from '@angular/platform-browser';
31
+ *
32
+ * bootstrapApplication(AppComponent, {
33
+ * providers: [
34
+ * provideWorkbench({
35
+ * layout: (factory: WorkbenchLayoutFactory) => factory
36
+ * .addPart(MAIN_AREA)
37
+ * .addPart('todos', {dockTo: 'left-top'}, {label: 'Todos', icon: 'checklist'})
38
+ * .navigatePart(MAIN_AREA, ['overview'])
39
+ * .navigatePart('todos', ['todos'])
40
+ * .activatePart('todos'),
41
+ * }),
42
+ * provideRouter([
43
+ * {path: 'overview', loadComponent: () => import('./overview/overview.component')},
44
+ * {path: 'todos', loadComponent: () => import('./todos/todos.component')},
45
+ * ]),
46
+ * provideAnimations(),
47
+ * ],
48
+ * });
49
+ * ```
50
+ *
51
+ * ### Startup
52
+ * The SCION Workbench starts automatically when the `<wb-workbench>` component is added to the DOM. Alternatively, the workbench can be
53
+ * started manually using the {@link WorkbenchLauncher}, such as in an app initializer or a route guard.
54
+ *
55
+ * Example of starting the workbench in an app initializer:
56
+ *
57
+ * ```ts
58
+ * import {provideWorkbench, WorkbenchLauncher} from '@scion/workbench';
59
+ * import {bootstrapApplication} from '@angular/platform-browser';
60
+ * import {inject, provideAppInitializer} from '@angular/core';
61
+ *
62
+ * bootstrapApplication(AppComponent, {
63
+ * providers: [
64
+ * provideWorkbench(),
65
+ * provideAppInitializer(() => inject(WorkbenchLauncher).launch())
66
+ * ]
67
+ * });
68
+ * ```
69
+ *
70
+ * Starting the workbench in an app initializer will block Angular's app startup until the workbench is ready.
71
+ *
72
+ * ### Startup Hooks
73
+ * The application can hook into the startup process of the SCION Workbench by providing one or more initializers to the `provideWorkbenchInitializer()` function.
74
+ * Initializers execute at defined points during startup, enabling the application's controlled initialization.
75
+ *
76
+ * ```ts
77
+ * import {provideWorkbench, provideWorkbenchInitializer} from '@scion/workbench';
78
+ * import {bootstrapApplication} from '@angular/platform-browser';
79
+ * import {inject} from '@angular/core';
28
80
  *
29
81
  * bootstrapApplication(AppComponent, {
30
82
  * providers: [
31
83
  * provideWorkbench(),
32
- * provideRouter([]), // required by the SCION Workbench
33
- * provideAnimations(), // required by the SCION Workbench
84
+ * provideWorkbenchInitializer(() => inject(SomeService).init()),
34
85
  * ],
35
86
  * });
36
87
  * ```
@@ -3,29 +3,33 @@ import { WorkbenchPartActionFn, WorkbenchTheme, WorkbenchViewMenuItemFn } from '
3
3
  import { ViewId, WorkbenchView } from './view/workbench-view.model';
4
4
  import { WorkbenchPerspective, WorkbenchPerspectiveDefinition } from './perspective/workbench-perspective.model';
5
5
  import { PartId, WorkbenchPart } from './part/workbench-part.model';
6
- import { Signal } from '@angular/core';
6
+ import { Signal, WritableSignal } from '@angular/core';
7
7
  import { WorkbenchLayout } from './layout/workbench-layout';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
10
10
  * The central class of the SCION Workbench.
11
11
  *
12
- * SCION Workbench enables the creation of Angular web applications that require a flexible layout to arrange content side-by-side
12
+ * SCION Workbench enables the creation of Angular web applications that require a flexible layout to display content side-by-side
13
13
  * or stacked, all personalizable by the user via drag & drop. This type of layout is ideal for applications with non-linear workflows,
14
14
  * enabling users to work on content in parallel.
15
15
  *
16
- * The workbench layout is a grid of parts. Parts are aligned relative to each other. Each part is a stack of views. Content is displayed in views or parts.
16
+ * An application can have multiple layouts, called perspectives. A perspective defines an arrangement of parts and views.
17
+ * Parts can be docked to the side or positioned relative to each other. Views are stacked in parts and can be dragged to other parts.
18
+ * Content can be displayed in both parts and views.
17
19
  *
18
- * The layout can be divided into a main and a peripheral area, with the main area as the primary place for opening views.
19
- * The peripheral area arranges parts around the main area to provide navigation or context-sensitive assistance to support
20
- * the user's workflow. Defining a main area is optional and recommended for applications requiring a dedicated and maximizable
21
- * area for user interaction.
20
+ * Users can personalize the layout of a perspective and switch between perspectives. The workbench remembers the last layout of each perspective,
21
+ * restoring it the next time it is activated.
22
22
  *
23
- * Multiple layouts, called perspectives, are supported. Perspectives can be switched. Only one perspective is active at a time.
24
- * Perspectives share the same main area, if any.
23
+ * A perspective typically has a main area part and other parts docked to the side, providing navigation and context-sensitive assistance to support
24
+ * the user's workflow. Initially empty or displaying a welcome page, the main area is where the workbench opens new views by default. Users can split
25
+ * the main area (or any other part) by dragging views side-by-side, vertically and horizontally, even across windows.
26
+ *
27
+ * Unlike any other part, the main area is shared between perspectives, and its layout is not reset when resetting perspectives. Having a main area and
28
+ * multiple perspectives is optional.
25
29
  */
26
30
  export declare abstract class WorkbenchService {
27
31
  /**
28
- * Provides the snapshot of the current workbench layout.
32
+ * Provides the layout of the workbench.
29
33
  *
30
34
  * The layout is an immutable object. Modifications have no side effects. The layout can be modified using {@link WorkbenchRouter.navigate}.
31
35
  */
@@ -147,10 +151,41 @@ export declare abstract class WorkbenchService {
147
151
  * See the documentation of `@scion/workbench` SCSS module for more information.
148
152
  *
149
153
  * @param theme - The name of the theme to switch to.
154
+ *
155
+ * @deprecated since version 19.0.0-beta.3. Switch theme using `WorkbenchService.settings.theme` signal. API will be removed in version 21.
150
156
  */
151
157
  abstract switchTheme(theme: string): Promise<void>;
158
+ /**
159
+ * Defines settings to adapt the workbench to personal preferences and working styles.
160
+ *
161
+ * Settings are stored in {@link WorkbenchConfig.storage} (defaults to local storage).
162
+ */
163
+ abstract readonly settings: {
164
+ /**
165
+ * Specifies the workbench theme.
166
+ *
167
+ * Defaults to the `sci-theme` attribute set on the HTML root element, or to the user's OS color scheme preference if not set.
168
+ *
169
+ * Built-in themes: `scion-light` and `scion-dark`.
170
+ */
171
+ theme: WritableSignal<string | null>;
172
+ /**
173
+ * Controls the alignment of the bottom docked panel.
174
+ *
175
+ * Defaults to the `--sci-workbench-layout-panel-align` design token, or `justify` if not set.
176
+ */
177
+ panelAlignment: WritableSignal<'left' | 'right' | 'center' | 'justify'>;
178
+ /**
179
+ * Controls animation of docked panels.
180
+ *
181
+ * Defaults to the `--sci-workbench-layout-panel-animate` design token, or `true` if not set.
182
+ */
183
+ panelAnimation: WritableSignal<boolean>;
184
+ };
152
185
  /**
153
186
  * Provides the current workbench theme, if any.
187
+ *
188
+ * @deprecated since version 19.0.0-beta.3. Read the theme from `WorkbenchService.settings.theme` signal, and the color scheme from 'getComputedStyle(inject(DOCUMENT).documentElement).colorScheme'. API will be removed in version 21.
154
189
  */
155
190
  abstract readonly theme: Signal<WorkbenchTheme | null>;
156
191
  static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchService, never>;
@@ -2,12 +2,11 @@ import { Signal } from '@angular/core';
2
2
  import { WorkbenchPartActionFn, WorkbenchTheme, WorkbenchViewMenuItemFn } from './workbench.model';
3
3
  import { Disposable } from './common/disposable';
4
4
  import { WorkbenchService } from './workbench.service';
5
- import { WorkbenchPerspective, WorkbenchPerspectiveDefinition } from './perspective/workbench-perspective.model';
5
+ import { WorkbenchPerspectiveDefinition } from './perspective/workbench-perspective.model';
6
6
  import { ɵWorkbenchView } from './view/ɵworkbench-view.model';
7
7
  import { ɵWorkbenchPart } from './part/ɵworkbench-part.model';
8
8
  import { ɵWorkbenchPerspective } from './perspective/ɵworkbench-perspective.model';
9
9
  import { ViewId } from './view/workbench-view.model';
10
- import { ɵWorkbenchLayout } from './layout/ɵworkbench-layout';
11
10
  import { PartId } from './part/workbench-part.model';
12
11
  import * as i0 from "@angular/core";
13
12
  export declare class ɵWorkbenchService implements WorkbenchService {
@@ -18,15 +17,17 @@ export declare class ɵWorkbenchService implements WorkbenchService {
18
17
  private readonly _viewMenuItemRegistry;
19
18
  private readonly _viewRegistry;
20
19
  private readonly _perspectiveService;
21
- private readonly _layoutService;
22
- private readonly _workbenchThemeSwitcher;
23
- readonly layout: Signal<ɵWorkbenchLayout>;
20
+ readonly layout: Signal<import("./layout/\u0275workbench-layout").ɵWorkbenchLayout>;
24
21
  readonly perspectives: Signal<ɵWorkbenchPerspective[]>;
25
22
  readonly parts: Signal<ɵWorkbenchPart[]>;
26
23
  readonly views: Signal<ɵWorkbenchView[]>;
24
+ readonly activePerspective: Signal<ɵWorkbenchPerspective | undefined>;
27
25
  readonly theme: Signal<WorkbenchTheme | null>;
28
- readonly activePerspective: Signal<WorkbenchPerspective | undefined>;
29
- constructor();
26
+ readonly settings: {
27
+ theme: import("@angular/core").WritableSignal<string | null>;
28
+ panelAlignment: import("@angular/core").WritableSignal<"justify">;
29
+ panelAnimation: import("@angular/core").WritableSignal<true>;
30
+ };
30
31
  /** @inheritDoc */
31
32
  getPerspective(perspectiveId: string): ɵWorkbenchPerspective | null;
32
33
  /** @inheritDoc */
@@ -47,6 +48,7 @@ export declare class ɵWorkbenchService implements WorkbenchService {
47
48
  registerViewMenuItem(fn: WorkbenchViewMenuItemFn): Disposable;
48
49
  /** @inheritDoc */
49
50
  switchTheme(theme: string): Promise<void>;
51
+ private computeLegacyThemeObject;
50
52
  static ɵfac: i0.ɵɵFactoryDeclaration<ɵWorkbenchService, never>;
51
53
  static ɵprov: i0.ɵɵInjectableDeclaration<ɵWorkbenchService>;
52
54
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@scion/workbench",
3
- "version": "19.0.0-beta.2",
4
- "description": "SCION Workbench enables the creation of Angular web applications that require a flexible layout to arrange content side-by-side or stacked, all personalizable by the user via drag & drop.",
3
+ "version": "19.0.0-beta.3",
4
+ "description": "SCION Workbench enables the creation of Angular web applications that require a flexible layout to display content side-by-side or stacked, all personalizable by the user via drag & drop. This type of layout is ideal for applications with non-linear workflows, enabling users to work on content in parallel.",
5
5
  "license": "EPL-2.0",
6
6
  "private": false,
7
7
  "publishConfig": {
@@ -34,7 +34,7 @@
34
34
  "@angular/animations": "^19.0.0",
35
35
  "@angular/forms": "^19.0.0",
36
36
  "@angular/router": "^19.0.0",
37
- "@scion/components": "^19.0.0",
37
+ "@scion/components": "^19.2.0",
38
38
  "@scion/toolkit": "^1.6.0",
39
39
  "@scion/microfrontend-platform": "^1.3.0",
40
40
  "@scion/workbench-client": "^1.0.0-beta.26",
@@ -1,13 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import { MPart, MTreeNode } from '../layout/workbench-layout.model';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Returns given grid element, but only if visible.
6
- *
7
- * @see isGridElementVisible
8
- */
9
- export declare class GridElementIfVisiblePipe implements PipeTransform {
10
- transform(gridElement: MTreeNode | MPart | null | undefined): MTreeNode | MPart | null;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<GridElementIfVisiblePipe, never>;
12
- static ɵpipe: i0.ɵɵPipeDeclaration<GridElementIfVisiblePipe, "wbGridElementIfVisible", true>;
13
- }
@@ -1,10 +0,0 @@
1
- import { WorkbenchMigration } from '../../migration/workbench-migration';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Migrates the workbench layout from version 6 to version 7.
5
- */
6
- export declare class WorkbenchLayoutMigrationV7 implements WorkbenchMigration {
7
- migrate(json: string): string;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchLayoutMigrationV7, never>;
9
- static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchLayoutMigrationV7>;
10
- }
@@ -1,17 +0,0 @@
1
- import { IntentClient } from '@scion/microfrontend-platform';
2
- import { Logger } from '../../logging';
3
- import { NotificationService } from '../../notification/notification.service';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Handles intents that refer to the built-in notification capability, allowing microfrontends to display simple text notifications.
7
- *
8
- * This class is constructed after connected to the SCION Microfrontend Platform via {@link MICROFRONTEND_PLATFORM_POST_STARTUP} DI token.
9
- *
10
- * @see WorkbenchHostManifestInterceptor
11
- * @see MICROFRONTEND_PLATFORM_POST_STARTUP
12
- */
13
- export declare class MicrofrontendNotificationIntentHandler {
14
- constructor(intentClient: IntentClient, notificationService: NotificationService, logger: Logger);
15
- static ɵfac: i0.ɵɵFactoryDeclaration<MicrofrontendNotificationIntentHandler, never>;
16
- static ɵprov: i0.ɵɵInjectableDeclaration<MicrofrontendNotificationIntentHandler>;
17
- }