@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
@@ -30,7 +30,7 @@ export interface MViewV5 {
30
30
  cssClass?: string[];
31
31
  };
32
32
  }
33
- export type ViewIdV5 = `view.${number}`;
34
- export type NavigationDataV5 = {
33
+ export interface NavigationDataV5 {
35
34
  [key: string]: unknown;
36
- };
35
+ }
36
+ export type ViewIdV5 = `view.${number}`;
@@ -29,7 +29,7 @@ export interface MViewV6 {
29
29
  cssClass?: string[];
30
30
  };
31
31
  }
32
- export type ViewIdV6 = `view.${number}`;
33
- export type NavigationDataV6 = {
32
+ export interface NavigationDataV6 {
34
33
  [key: string]: unknown;
35
- };
34
+ }
35
+ export type ViewIdV6 = `view.${number}`;
@@ -30,8 +30,8 @@ export interface MViewV7 {
30
30
  cssClass?: string[];
31
31
  };
32
32
  }
33
+ export interface NavigationDataV7 {
34
+ [key: string]: unknown;
35
+ }
33
36
  export type PartIdV7 = `part.${string}`;
34
37
  export type ViewIdV7 = `view.${number}`;
35
- export type NavigationDataV7 = {
36
- [key: string]: unknown;
37
- };
@@ -1,22 +1,10 @@
1
- export interface MPartV2 {
2
- type: 'MPart';
3
- id: string;
4
- views: MViewV2[];
5
- activeViewId?: string;
6
- structural: boolean;
7
- }
8
- export interface MTreeNodeV2 {
9
- type: 'MTreeNode';
10
- nodeId: string;
11
- child1: MTreeNodeV2 | MPartV2;
12
- child2: MTreeNodeV2 | MPartV2;
13
- ratio: number;
14
- direction: 'column' | 'row';
15
- }
16
- export interface MPartGridV2 {
17
- root: MTreeNodeV2 | MPartV2;
18
- activePartId: string;
19
- }
20
- export interface MViewV2 {
21
- id: string;
1
+ export interface MPerspectiveLayoutV2 {
2
+ referenceLayout: {
3
+ workbenchGrid: string;
4
+ viewOutlets: string;
5
+ };
6
+ userLayout: {
7
+ workbenchGrid: string;
8
+ viewOutlets: string;
9
+ };
22
10
  }
@@ -1,30 +1,10 @@
1
- export interface MPartV3 {
2
- type: 'MPart';
3
- id: string;
4
- views: MViewV3[];
5
- activeViewId?: ViewIdV3;
6
- structural: boolean;
7
- }
8
- export interface MTreeNodeV3 {
9
- type: 'MTreeNode';
10
- nodeId: string;
11
- child1: MTreeNodeV3 | MPartV3;
12
- child2: MTreeNodeV3 | MPartV3;
13
- ratio: number;
14
- direction: 'column' | 'row';
15
- }
16
- export interface MPartGridV3 {
17
- root: MTreeNodeV3 | MPartV3;
18
- activePartId: string;
19
- }
20
- export interface MViewV3 {
21
- id: ViewIdV3;
22
- alternativeId?: string;
23
- cssClass?: string[];
24
- navigation?: {
25
- hint?: string;
26
- cssClass?: string[];
1
+ export interface MPerspectiveLayoutV3 {
2
+ referenceLayout: {
3
+ workbenchGrid: string;
4
+ outlets: string;
5
+ };
6
+ userLayout: {
7
+ workbenchGrid: string;
8
+ outlets: string;
27
9
  };
28
10
  }
29
- export type ViewIdV3 = `view.${number}`;
30
- export declare const VIEW_ID_PREFIX_V3 = "view.";
@@ -1,31 +1,20 @@
1
- export interface MPartV4 {
2
- type: 'MPart';
3
- id: string;
4
- views: MViewV4[];
5
- activeViewId?: ViewIdV4;
6
- structural: boolean;
7
- }
8
- export interface MTreeNodeV4 {
9
- type: 'MTreeNode';
10
- nodeId: string;
11
- child1: MTreeNodeV4 | MPartV4;
12
- child2: MTreeNodeV4 | MPartV4;
13
- ratio: number;
14
- direction: 'column' | 'row';
15
- }
16
- export interface MPartGridV4 {
17
- root: MTreeNodeV4 | MPartV4;
18
- activePartId: string;
19
- }
20
- export interface MViewV4 {
21
- id: ViewIdV4;
22
- alternativeId?: string;
23
- uid: string;
24
- cssClass?: string[];
25
- markedForRemoval?: true;
26
- navigation?: {
27
- hint?: string;
28
- cssClass?: string[];
1
+ export interface MWorkbenchLayoutV4 {
2
+ referenceLayout: {
3
+ grids: {
4
+ main: string;
5
+ [activityId: ActivityId]: string;
6
+ };
7
+ activityLayout: string;
8
+ outlets: string;
9
+ };
10
+ userLayout: {
11
+ grids: {
12
+ main: string;
13
+ [activityId: ActivityId]: string;
14
+ };
15
+ activityLayout: string;
16
+ outlets: string;
29
17
  };
30
18
  }
31
- export type ViewIdV4 = `view.${number}`;
19
+ type ActivityId = `activity.${string}`;
20
+ export {};
@@ -0,0 +1,14 @@
1
+ import { WorkbenchMigration } from '../../migration/workbench-migration';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Migrates the workbench layout from version 2 to version 3.
5
+ *
6
+ * TODO [Angular 20] Remove migrator.
7
+ */
8
+ export declare class WorkbenchGridMigrationV3 implements WorkbenchMigration {
9
+ private readonly _router;
10
+ migrate(json: string): string;
11
+ private getCurrentUrl;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchGridMigrationV3, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchGridMigrationV3>;
14
+ }
@@ -0,0 +1,12 @@
1
+ import { WorkbenchMigration } from '../../migration/workbench-migration';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Migrates the workbench layout from version 3 to version 4.
5
+ *
6
+ * TODO [Angular 20] Remove migrator.
7
+ */
8
+ export declare class WorkbenchGridMigrationV4 implements WorkbenchMigration {
9
+ migrate(json: string): string;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchGridMigrationV4, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchGridMigrationV4>;
12
+ }
@@ -5,8 +5,8 @@ import * as i0 from "@angular/core";
5
5
  *
6
6
  * TODO [Angular 20] Remove migrator.
7
7
  */
8
- export declare class WorkbenchLayoutMigrationV5 implements WorkbenchMigration {
8
+ export declare class WorkbenchGridMigrationV5 implements WorkbenchMigration {
9
9
  migrate(json: string): string;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchLayoutMigrationV5, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchLayoutMigrationV5>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchGridMigrationV5, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchGridMigrationV5>;
12
12
  }
@@ -0,0 +1,12 @@
1
+ import { WorkbenchMigration } from '../../migration/workbench-migration';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Migrates the workbench layout from version 5 to version 6.
5
+ *
6
+ * TODO [Angular 20] Remove migrator.
7
+ */
8
+ export declare class WorkbenchGridMigrationV6 implements WorkbenchMigration {
9
+ migrate(json: string): string;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchGridMigrationV6, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchGridMigrationV6>;
12
+ }
@@ -0,0 +1,10 @@
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 WorkbenchGridMigrationV7 implements WorkbenchMigration {
7
+ migrate(json: string): string;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchGridMigrationV7, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchGridMigrationV7>;
10
+ }
@@ -1,12 +1,13 @@
1
1
  import { WorkbenchMigration } from '../../migration/workbench-migration';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
- * Migrates the workbench layout from version 5 to version 6.
4
+ * Migrates the perspective layout from version 1 to version 2.
5
5
  *
6
6
  * TODO [Angular 20] Remove migrator.
7
7
  */
8
- export declare class WorkbenchLayoutMigrationV6 implements WorkbenchMigration {
8
+ export declare class WorkbenchLayoutMigrationV2 implements WorkbenchMigration {
9
9
  migrate(json: string): string;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchLayoutMigrationV6, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchLayoutMigrationV6>;
10
+ private migrateViewOutlets;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchLayoutMigrationV2, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchLayoutMigrationV2>;
12
13
  }
@@ -1,16 +1,12 @@
1
- import { Router } from '@angular/router';
2
1
  import { WorkbenchMigration } from '../../migration/workbench-migration';
3
2
  import * as i0 from "@angular/core";
4
3
  /**
5
- * Migrates the workbench layout from version 2 to version 3.
4
+ * Migrates the perspective layout from version 2 to version 3.
6
5
  *
7
6
  * TODO [Angular 20] Remove migrator.
8
7
  */
9
8
  export declare class WorkbenchLayoutMigrationV3 implements WorkbenchMigration {
10
- private _router;
11
- constructor(_router: Router);
12
9
  migrate(json: string): string;
13
- private getCurrentUrl;
14
10
  static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchLayoutMigrationV3, never>;
15
11
  static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchLayoutMigrationV3>;
16
12
  }
@@ -1,7 +1,7 @@
1
1
  import { WorkbenchMigration } from '../../migration/workbench-migration';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
- * Migrates the workbench layout from version 3 to version 4.
4
+ * Migrates the perspective layout from version 3 to version 4.
5
5
  *
6
6
  * TODO [Angular 20] Remove migrator.
7
7
  */
@@ -1,3 +1,3 @@
1
- export { WorkbenchLayout, ReferencePart, MAIN_AREA } from './workbench-layout';
1
+ export { type WorkbenchLayout, type ReferencePart, MAIN_AREA, type DockingArea, type PartExtras, type DockedPartExtras, type WorkbenchLayoutFn } from './workbench-layout';
2
2
  export { MAIN_AREA_INITIAL_PART_ID } from './ɵworkbench-layout';
3
3
  export { WorkbenchLayoutFactory } from './workbench-layout.factory';
@@ -0,0 +1,7 @@
1
+ import { Injector, WritableSignal } from '@angular/core';
2
+ /**
3
+ * Creates a writable signal to read and write specified flag from and to workbench storage.
4
+ */
5
+ export declare function renderingFlag<T extends string | number | boolean | null>(storageKey: string, defaultValue: T, options?: {
6
+ injector?: Injector;
7
+ }): WritableSignal<T>;
@@ -1,6 +1,7 @@
1
1
  import { ViewId } from '../view/workbench-view.model';
2
2
  import { NavigationData } from '../routing/routing.model';
3
3
  import { PartId } from '../part/workbench-part.model';
4
+ import { ActivityId } from '../activity/workbench-activity.model';
4
5
  /**
5
6
  * Represents the arrangement of parts as grid.
6
7
  *
@@ -42,12 +43,12 @@ export declare class MTreeNode {
42
43
  /**
43
44
  * Tests if the given object is a {@link MTreeNode}.
44
45
  */
45
- static isMTreeNode(object: any): object is MTreeNode;
46
+ static isMTreeNode(object: unknown): object is MTreeNode;
46
47
  }
47
48
  /**
48
49
  * Represents a part in the grid.
49
50
  *
50
- * A part is a container for views.
51
+ * A part can be a stack of views or display content.
51
52
  *
52
53
  * The M-prefix indicates this object is a model object that is serialized and stored, requiring migration on breaking change.
53
54
  */
@@ -58,10 +59,12 @@ export declare class MPart {
58
59
  readonly type = "MPart";
59
60
  id: PartId;
60
61
  alternativeId?: string;
62
+ title?: string;
61
63
  parent?: MTreeNode;
62
64
  views: MView[];
63
65
  activeViewId?: ViewId;
64
66
  structural: boolean;
67
+ cssClass?: string[];
65
68
  navigation?: {
66
69
  id: string;
67
70
  hint?: string;
@@ -72,7 +75,7 @@ export declare class MPart {
72
75
  /**
73
76
  * Tests if the given object is a {@link MPart}.
74
77
  */
75
- static isMPart(object: any): object is MPart;
78
+ static isMPart(object: unknown): object is MPart;
76
79
  }
77
80
  /**
78
81
  * Represents a view contained in a {@link MPart}.
@@ -91,3 +94,23 @@ export interface MView {
91
94
  cssClass?: string[];
92
95
  };
93
96
  }
97
+ /**
98
+ * Grids referenced in the workbench layout.
99
+ */
100
+ export interface WorkbenchGrids<T = ɵMPartGrid> {
101
+ /**
102
+ * Reference to the "root" grid of the workbench layout.
103
+ */
104
+ main: T;
105
+ /**
106
+ * Reference to the main area grid, a sub-grid embedded by the main area part contained in the main grid.
107
+ */
108
+ mainArea?: T;
109
+ /**
110
+ * Grids associated with activities.
111
+ *
112
+ * An activity has at least one part, the reference part, specified when creating the activity (docked part).
113
+ * Removing the reference part removes the activity. Most activities have a grid with only the reference part.
114
+ */
115
+ [activityId: ActivityId]: T;
116
+ }
@@ -1,19 +1,19 @@
1
- import { ɵWorkbenchLayout } from '../layout/ɵworkbench-layout';
1
+ import { ɵWorkbenchLayout } from './ɵworkbench-layout';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * Performs a three-way merge of the local and remote layouts, using the base layout (common ancestor) as the base of the merge operation.
5
5
  *
6
6
  * TODO [#452] This implementation discards local changes when a new layout is available.
7
7
  */
8
- export declare class WorkbenchGridMerger {
8
+ export declare class WorkbenchLayoutMerger {
9
9
  /**
10
10
  * Performs a merge of given local and remote layouts, using the base layout as the common ancestor.
11
11
  */
12
- merge(grids: {
12
+ merge(layouts: {
13
13
  local: ɵWorkbenchLayout;
14
14
  remote: ɵWorkbenchLayout;
15
15
  base: ɵWorkbenchLayout;
16
16
  }): ɵWorkbenchLayout;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchGridMerger, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchGridMerger>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchLayoutMerger, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchLayoutMerger>;
19
19
  }
@@ -0,0 +1,28 @@
1
+ import { MWorkbenchLayout } from './workbench-layout';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Provides API for reading and writing the workbench layout to storage.
5
+ */
6
+ export declare class WorkbenchLayoutStorageService {
7
+ private readonly _storage;
8
+ private readonly _workbenchLayoutSerializer;
9
+ private readonly _logger;
10
+ /**
11
+ * Loads specified layout from storage, applying necessary migrations if the serialized layout is outdated.
12
+ */
13
+ load(perspectiveId: string): Promise<MWorkbenchLayout | null>;
14
+ /**
15
+ * Stores specified layout to storage.
16
+ */
17
+ store(perspectiveId: string, layout: MWorkbenchLayout): Promise<void>;
18
+ /**
19
+ * Reads the id of the active perspective from storage.
20
+ */
21
+ loadActivePerspectiveId(): Promise<string | null>;
22
+ /**
23
+ * Writes the id of the active perspective to storage.
24
+ */
25
+ storeActivePerspectiveId(perspectiveId: string): Promise<void>;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<WorkbenchLayoutStorageService, never>;
27
+ static ɵprov: i0.ɵɵInjectableDeclaration<WorkbenchLayoutStorageService>;
28
+ }