@gooddata/sdk-pluggable-application-model 11.32.0-alpha.3 → 11.32.0-alpha.5
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.
- package/esm/defaultPlatformApplications.d.ts +18 -0
- package/esm/defaultPlatformApplications.d.ts.map +1 -0
- package/esm/defaultPlatformApplications.js +19 -0
- package/esm/defaultPlatformApplications.js.map +1 -0
- package/esm/hostUi.d.ts +171 -0
- package/esm/hostUi.d.ts.map +1 -0
- package/esm/{shellUi.js → hostUi.js} +1 -1
- package/esm/hostUi.js.map +1 -0
- package/esm/index.d.ts +2 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/sdk-pluggable-application-model.d.ts +191 -127
- package/package.json +5 -5
- package/esm/shellUi.d.ts +0 -127
- package/esm/shellUi.d.ts.map +0 -1
- package/esm/shellUi.js.map +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The object contains constants with IDs of default platform applications.
|
|
3
|
+
* These IDs are used to identify application in the platform registry.
|
|
4
|
+
*
|
|
5
|
+
* They are documented in public documentation and can be used by customers in their manifests to override
|
|
6
|
+
* the default application behavior (for example, to disable it, move it in the navigation menu, etc.).
|
|
7
|
+
*
|
|
8
|
+
* @alpha
|
|
9
|
+
*/
|
|
10
|
+
export declare const DefaultApplicationId: {
|
|
11
|
+
HOME_UI: string;
|
|
12
|
+
DASHBOARDS: string;
|
|
13
|
+
ANALYTICAL_DESIGNER: string;
|
|
14
|
+
METRIC_EDITOR: string;
|
|
15
|
+
LDM_MODELER: string;
|
|
16
|
+
WORKSPACE_CATALOG: string;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=defaultPlatformApplications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultPlatformApplications.d.ts","sourceRoot":"","sources":["../src/defaultPlatformApplications.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;;;;;CAOhC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
/**
|
|
3
|
+
* The object contains constants with IDs of default platform applications.
|
|
4
|
+
* These IDs are used to identify application in the platform registry.
|
|
5
|
+
*
|
|
6
|
+
* They are documented in public documentation and can be used by customers in their manifests to override
|
|
7
|
+
* the default application behavior (for example, to disable it, move it in the navigation menu, etc.).
|
|
8
|
+
*
|
|
9
|
+
* @alpha
|
|
10
|
+
*/
|
|
11
|
+
export const DefaultApplicationId = {
|
|
12
|
+
HOME_UI: "gdc-home-ui",
|
|
13
|
+
DASHBOARDS: "gdc-dashboards",
|
|
14
|
+
ANALYTICAL_DESIGNER: "gdc-analytical-designer",
|
|
15
|
+
METRIC_EDITOR: "gdc-metric-editor",
|
|
16
|
+
LDM_MODELER: "gdc-ldm-modeler",
|
|
17
|
+
WORKSPACE_CATALOG: "gdc-workspace-catalog",
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=defaultPlatformApplications.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultPlatformApplications.js","sourceRoot":"","sources":["../src/defaultPlatformApplications.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,gBAAgB;IAC5B,mBAAmB,EAAE,yBAAyB;IAC9C,aAAa,EAAE,mBAAmB;IAClC,WAAW,EAAE,iBAAiB;IAC9B,iBAAiB,EAAE,uBAAuB;CAC7C,CAAC"}
|
package/esm/hostUi.d.ts
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { type PluggableApplicationRegistryItem } from "@gooddata/sdk-model";
|
|
2
|
+
import { type IAppHeaderOptions } from "./mount.js";
|
|
3
|
+
import { type IPlatformContext } from "./platformContext.js";
|
|
4
|
+
/**
|
|
5
|
+
* Options passed by the host into a host UI module's mount function.
|
|
6
|
+
*
|
|
7
|
+
* @alpha
|
|
8
|
+
*/
|
|
9
|
+
export interface IHostUiMountOptions {
|
|
10
|
+
/**
|
|
11
|
+
* DOM element into which the host UI should render itself.
|
|
12
|
+
*/
|
|
13
|
+
container: HTMLElement;
|
|
14
|
+
/**
|
|
15
|
+
* Platform context snapshot provided by the host.
|
|
16
|
+
*/
|
|
17
|
+
ctx: IPlatformContext;
|
|
18
|
+
/**
|
|
19
|
+
* Resolved and filtered list of pluggable applications to render in the navigation.
|
|
20
|
+
*/
|
|
21
|
+
resolvedApplications: PluggableApplicationRegistryItem[];
|
|
22
|
+
/**
|
|
23
|
+
* Current pathname of the host application.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* The host UI uses this to determine which navigation item is active.
|
|
27
|
+
* Updated via {@link IHostUiMountHandle.updatePathname} when the URL changes.
|
|
28
|
+
*/
|
|
29
|
+
pathname: string;
|
|
30
|
+
/**
|
|
31
|
+
* Callback for requesting client-side navigation (push).
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* The host owns the router. When the host UI needs to navigate (e.g. menu item click),
|
|
35
|
+
* it calls this callback and the host performs the actual navigation. The host then pushes
|
|
36
|
+
* the new pathname back via {@link IHostUiMountHandle.updatePathname}.
|
|
37
|
+
*/
|
|
38
|
+
navigate: (url: string) => void;
|
|
39
|
+
/**
|
|
40
|
+
* Callback for requesting client-side navigation with history replacement.
|
|
41
|
+
*
|
|
42
|
+
* @remarks
|
|
43
|
+
* Works like {@link IHostUiMountOptions.navigate} but replaces the current history
|
|
44
|
+
* entry instead of pushing a new one.
|
|
45
|
+
*/
|
|
46
|
+
replace: (url: string) => void;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Notification dispatched when the host runtime detects that a newer build of the host
|
|
50
|
+
* application has been deployed while the user's tab is still open.
|
|
51
|
+
*
|
|
52
|
+
* @remarks
|
|
53
|
+
* Stale tabs continue to reference content-hashed chunk URLs that no longer exist on the
|
|
54
|
+
* server, so the user must reload to pick up the new build. The host UI module decides
|
|
55
|
+
* how to surface this (e.g. a toast with a reload action).
|
|
56
|
+
*
|
|
57
|
+
* @alpha
|
|
58
|
+
*/
|
|
59
|
+
export interface INewDeploymentAvailableHostUiNotification {
|
|
60
|
+
/**
|
|
61
|
+
* A new build of the host application has been deployed; the user should reload to
|
|
62
|
+
* avoid loading stale chunks. The host UI is expected to surface this to the user
|
|
63
|
+
* (e.g. as a toast with a reload action).
|
|
64
|
+
*/
|
|
65
|
+
type: "newDeploymentAvailable";
|
|
66
|
+
/**
|
|
67
|
+
* Commit hash of the newly deployed build, as detected by the host runtime.
|
|
68
|
+
*/
|
|
69
|
+
commitHash: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Discriminated union of out-of-band notifications the host runtime can push into the
|
|
73
|
+
* host UI module after mount. Lets the runtime signal events that should affect the UI
|
|
74
|
+
* without coupling it to a specific rendering.
|
|
75
|
+
*
|
|
76
|
+
* @remarks
|
|
77
|
+
* Variants are discriminated by the `type` field. Implementations of
|
|
78
|
+
* {@link IHostUiMountHandle.notify} may safely no-op for notification types they do not
|
|
79
|
+
* handle, so adding a new variant is a backward-compatible change.
|
|
80
|
+
*
|
|
81
|
+
* @alpha
|
|
82
|
+
*/
|
|
83
|
+
export type IHostUiNotification = INewDeploymentAvailableHostUiNotification;
|
|
84
|
+
/**
|
|
85
|
+
* Handle returned from a host UI mount for lifecycle management.
|
|
86
|
+
*
|
|
87
|
+
* @alpha
|
|
88
|
+
*/
|
|
89
|
+
export interface IHostUiMountHandle {
|
|
90
|
+
/**
|
|
91
|
+
* Unmounts the host UI and releases all resources.
|
|
92
|
+
*/
|
|
93
|
+
unmount(): void;
|
|
94
|
+
/**
|
|
95
|
+
* Pushes an updated platform context into the host UI.
|
|
96
|
+
*
|
|
97
|
+
* @remarks
|
|
98
|
+
* Called by the host whenever the context changes after initial mount.
|
|
99
|
+
*/
|
|
100
|
+
updateContext?(ctx: IPlatformContext): void;
|
|
101
|
+
/**
|
|
102
|
+
* Pushes an updated list of resolved applications into the host UI.
|
|
103
|
+
*
|
|
104
|
+
* @remarks
|
|
105
|
+
* Called by the host whenever the application list changes after initial mount.
|
|
106
|
+
*/
|
|
107
|
+
updateApplications?(apps: PluggableApplicationRegistryItem[]): void;
|
|
108
|
+
/**
|
|
109
|
+
* Pushes the current pathname into the host UI.
|
|
110
|
+
*
|
|
111
|
+
* @remarks
|
|
112
|
+
* Called by the host whenever the URL changes (e.g. after navigation or popstate).
|
|
113
|
+
* The host UI uses this to update the active state of navigation items.
|
|
114
|
+
*/
|
|
115
|
+
updatePathname?(pathname: string): void;
|
|
116
|
+
/**
|
|
117
|
+
* Pushes updated header options into the host UI.
|
|
118
|
+
*
|
|
119
|
+
* @remarks
|
|
120
|
+
* Called by the host whenever the active pluggable application declares new header
|
|
121
|
+
* options via its `onHeaderChange` callback. The host UI uses this to update
|
|
122
|
+
* the header (e.g. help menu items) to match the active application's preferences.
|
|
123
|
+
* When called with `undefined`, the host UI should revert to its default header configuration.
|
|
124
|
+
*/
|
|
125
|
+
updateHeader?(header: IAppHeaderOptions | undefined): void;
|
|
126
|
+
/**
|
|
127
|
+
* Returns the DOM element where the active pluggable application should be rendered.
|
|
128
|
+
*
|
|
129
|
+
* @remarks
|
|
130
|
+
* The host uses this element as the mount container for the currently active
|
|
131
|
+
* pluggable application. The host UI is responsible for creating and managing
|
|
132
|
+
* this element as part of its layout.
|
|
133
|
+
*/
|
|
134
|
+
getAppContainer(): HTMLElement;
|
|
135
|
+
/**
|
|
136
|
+
* Receives an out-of-band notification from the host runtime.
|
|
137
|
+
*
|
|
138
|
+
* @remarks
|
|
139
|
+
* The host UI decides how to render the notification (toast, banner, modal, …);
|
|
140
|
+
* implementations may safely no-op for notification types they do not handle.
|
|
141
|
+
*/
|
|
142
|
+
notify?(notification: IHostUiNotification): void;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Host UI mount function signature.
|
|
146
|
+
*
|
|
147
|
+
* @remarks
|
|
148
|
+
* A host UI module must export a `mount` function conforming to this signature.
|
|
149
|
+
* The function receives a container element and context data, renders the application
|
|
150
|
+
* host (header, navigation, layout), and returns a handle for lifecycle management.
|
|
151
|
+
*
|
|
152
|
+
* The implementation is framework-agnostic — a module can use React, vanilla DOM,
|
|
153
|
+
* or any other rendering approach internally.
|
|
154
|
+
*
|
|
155
|
+
* @alpha
|
|
156
|
+
*/
|
|
157
|
+
export type HostUiMount = (options: IHostUiMountOptions) => IHostUiMountHandle;
|
|
158
|
+
/**
|
|
159
|
+
* Host UI module contract.
|
|
160
|
+
*
|
|
161
|
+
* @remarks
|
|
162
|
+
* Implementations loaded via module federation or provided locally must conform
|
|
163
|
+
* to this interface. The host application uses the `mount` function to render
|
|
164
|
+
* the application chrome and obtain the container for the active pluggable application.
|
|
165
|
+
*
|
|
166
|
+
* @alpha
|
|
167
|
+
*/
|
|
168
|
+
export interface IHostUiModule {
|
|
169
|
+
mount: HostUiMount;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=hostUi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostUi.d.ts","sourceRoot":"","sources":["../src/hostUi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC;IAEvB;;OAEG;IACH,GAAG,EAAE,gBAAgB,CAAC;IAEtB;;OAEG;IACH,oBAAoB,EAAE,gCAAgC,EAAE,CAAC;IAEzD;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhC;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yCAAyC;IACtD;;;;OAIG;IACH,IAAI,EAAE,wBAAwB,CAAC;IAC/B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG,yCAAyC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;;;;OAKG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,kBAAkB,CAAC,CAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,IAAI,CAAC;IAEpE;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;;;;;;OAQG;IACH,YAAY,CAAC,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC;IAE3D;;;;;;;OAOG;IACH,eAAe,IAAI,WAAW,CAAC;IAE/B;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,mBAAmB,KAAK,kBAAkB,CAAC;AAE/E;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,WAAW,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostUi.js","sourceRoot":"","sources":["../src/hostUi.ts"],"names":[],"mappings":"AAAA,gCAAgC"}
|
package/esm/index.d.ts
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
|
+
export { DefaultApplicationId } from "./defaultPlatformApplications.js";
|
|
6
7
|
export { type EmbeddingMode, type IApiTokenAuthCredentials, type IAuthCredentials, type IContextDeferredAuthCredentials, type IJwtAuthCredentials, type IOrganization, type IOrganizationPermissions, type IPlatformContext, type IPlatformContextV1, type IPluggableApplicationNavigation, PantherTier, isPlatformContextV1, } from "./platformContext.js";
|
|
7
8
|
export { type ILocale } from "@gooddata/sdk-model";
|
|
8
9
|
export { type IAppHeaderOptions, type IAppInstance, type KnownPluggableAppEventTypeName, type IPluggableApp, type IPluggableApplicationMountHandle, type IPluggableApplicationMountOptions, type IPluggableAppEvent, type IPluggableAppTelemetryCallbacks, type IReloadPlatformContextRequestedEvent, type ITelemetryEventOptions, isReloadPlatformContextRequestedEvent, type PluggableApplicationMount, PluggableAppEventType, type PluggableAppEventTypeName, reloadPlatformContextRequested, type TelemetryChannel, } from "./mount.js";
|
|
9
|
-
export { type
|
|
10
|
+
export { type IHostUiModule, type IHostUiMountHandle, type IHostUiMountOptions, type IHostUiNotification, type INewDeploymentAvailableHostUiNotification, type HostUiMount, } from "./hostUi.js";
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,+BAA+B,EACpC,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACpC,WAAW,EACX,mBAAmB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,8BAA8B,EACnC,KAAK,aAAa,EAClB,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EACzC,KAAK,sBAAsB,EAC3B,qCAAqC,EACrC,KAAK,yBAAyB,EAC9B,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,8BAA8B,EAC9B,KAAK,gBAAgB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,+BAA+B,EACpC,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACpC,WAAW,EACX,mBAAmB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,8BAA8B,EACnC,KAAK,aAAa,EAClB,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EACzC,KAAK,sBAAsB,EAC3B,qCAAqC,EACrC,KAAK,yBAAyB,EAC9B,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,8BAA8B,EAC9B,KAAK,gBAAgB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,yCAAyC,EAC9C,KAAK,WAAW,GACnB,MAAM,aAAa,CAAC"}
|
package/esm/index.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @packageDocumentation
|
|
7
7
|
*/
|
|
8
|
+
export { DefaultApplicationId } from "./defaultPlatformApplications.js";
|
|
8
9
|
export { PantherTier, isPlatformContextV1, } from "./platformContext.js";
|
|
9
10
|
export { isReloadPlatformContextRequestedEvent, PluggableAppEventType, reloadPlatformContextRequested, } from "./mount.js";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,oDAAoD;AAEpD;;;;GAIG;AAEH,OAAO,EAWH,WAAW,EACX,mBAAmB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAWH,qCAAqC,EAErC,qBAAqB,EAErB,8BAA8B,GAEjC,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,oDAAoD;AAEpD;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAWH,WAAW,EACX,mBAAmB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAWH,qCAAqC,EAErC,qBAAqB,EAErB,8BAA8B,GAEjC,MAAM,YAAY,CAAC"}
|
|
@@ -15,6 +15,24 @@ import { IWorkspacePermissions } from '@gooddata/sdk-model';
|
|
|
15
15
|
import { ObjRef } from '@gooddata/sdk-model';
|
|
16
16
|
import { PluggableApplicationRegistryItem } from '@gooddata/sdk-model';
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* The object contains constants with IDs of default platform applications.
|
|
20
|
+
* These IDs are used to identify application in the platform registry.
|
|
21
|
+
*
|
|
22
|
+
* They are documented in public documentation and can be used by customers in their manifests to override
|
|
23
|
+
* the default application behavior (for example, to disable it, move it in the navigation menu, etc.).
|
|
24
|
+
*
|
|
25
|
+
* @alpha
|
|
26
|
+
*/
|
|
27
|
+
export declare const DefaultApplicationId: {
|
|
28
|
+
HOME_UI: string;
|
|
29
|
+
DASHBOARDS: string;
|
|
30
|
+
ANALYTICAL_DESIGNER: string;
|
|
31
|
+
METRIC_EDITOR: string;
|
|
32
|
+
LDM_MODELER: string;
|
|
33
|
+
WORKSPACE_CATALOG: string;
|
|
34
|
+
};
|
|
35
|
+
|
|
18
36
|
/**
|
|
19
37
|
* Pluggable application embedding mode.
|
|
20
38
|
*
|
|
@@ -22,6 +40,21 @@ import { PluggableApplicationRegistryItem } from '@gooddata/sdk-model';
|
|
|
22
40
|
*/
|
|
23
41
|
export declare type EmbeddingMode = "none" | "iframe" | "export";
|
|
24
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Host UI mount function signature.
|
|
45
|
+
*
|
|
46
|
+
* @remarks
|
|
47
|
+
* A host UI module must export a `mount` function conforming to this signature.
|
|
48
|
+
* The function receives a container element and context data, renders the application
|
|
49
|
+
* host (header, navigation, layout), and returns a handle for lifecycle management.
|
|
50
|
+
*
|
|
51
|
+
* The implementation is framework-agnostic — a module can use React, vanilla DOM,
|
|
52
|
+
* or any other rendering approach internally.
|
|
53
|
+
*
|
|
54
|
+
* @alpha
|
|
55
|
+
*/
|
|
56
|
+
export declare type HostUiMount = (options: IHostUiMountOptions) => IHostUiMountHandle;
|
|
57
|
+
|
|
25
58
|
/**
|
|
26
59
|
* GoodData API-token authentication.
|
|
27
60
|
*
|
|
@@ -102,6 +135,140 @@ export declare interface IContextDeferredAuthCredentials {
|
|
|
102
135
|
externalProviderId?: string;
|
|
103
136
|
}
|
|
104
137
|
|
|
138
|
+
/**
|
|
139
|
+
* Host UI module contract.
|
|
140
|
+
*
|
|
141
|
+
* @remarks
|
|
142
|
+
* Implementations loaded via module federation or provided locally must conform
|
|
143
|
+
* to this interface. The host application uses the `mount` function to render
|
|
144
|
+
* the application chrome and obtain the container for the active pluggable application.
|
|
145
|
+
*
|
|
146
|
+
* @alpha
|
|
147
|
+
*/
|
|
148
|
+
export declare interface IHostUiModule {
|
|
149
|
+
mount: HostUiMount;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Handle returned from a host UI mount for lifecycle management.
|
|
154
|
+
*
|
|
155
|
+
* @alpha
|
|
156
|
+
*/
|
|
157
|
+
export declare interface IHostUiMountHandle {
|
|
158
|
+
/**
|
|
159
|
+
* Unmounts the host UI and releases all resources.
|
|
160
|
+
*/
|
|
161
|
+
unmount(): void;
|
|
162
|
+
/**
|
|
163
|
+
* Pushes an updated platform context into the host UI.
|
|
164
|
+
*
|
|
165
|
+
* @remarks
|
|
166
|
+
* Called by the host whenever the context changes after initial mount.
|
|
167
|
+
*/
|
|
168
|
+
updateContext?(ctx: IPlatformContext): void;
|
|
169
|
+
/**
|
|
170
|
+
* Pushes an updated list of resolved applications into the host UI.
|
|
171
|
+
*
|
|
172
|
+
* @remarks
|
|
173
|
+
* Called by the host whenever the application list changes after initial mount.
|
|
174
|
+
*/
|
|
175
|
+
updateApplications?(apps: PluggableApplicationRegistryItem[]): void;
|
|
176
|
+
/**
|
|
177
|
+
* Pushes the current pathname into the host UI.
|
|
178
|
+
*
|
|
179
|
+
* @remarks
|
|
180
|
+
* Called by the host whenever the URL changes (e.g. after navigation or popstate).
|
|
181
|
+
* The host UI uses this to update the active state of navigation items.
|
|
182
|
+
*/
|
|
183
|
+
updatePathname?(pathname: string): void;
|
|
184
|
+
/**
|
|
185
|
+
* Pushes updated header options into the host UI.
|
|
186
|
+
*
|
|
187
|
+
* @remarks
|
|
188
|
+
* Called by the host whenever the active pluggable application declares new header
|
|
189
|
+
* options via its `onHeaderChange` callback. The host UI uses this to update
|
|
190
|
+
* the header (e.g. help menu items) to match the active application's preferences.
|
|
191
|
+
* When called with `undefined`, the host UI should revert to its default header configuration.
|
|
192
|
+
*/
|
|
193
|
+
updateHeader?(header: IAppHeaderOptions | undefined): void;
|
|
194
|
+
/**
|
|
195
|
+
* Returns the DOM element where the active pluggable application should be rendered.
|
|
196
|
+
*
|
|
197
|
+
* @remarks
|
|
198
|
+
* The host uses this element as the mount container for the currently active
|
|
199
|
+
* pluggable application. The host UI is responsible for creating and managing
|
|
200
|
+
* this element as part of its layout.
|
|
201
|
+
*/
|
|
202
|
+
getAppContainer(): HTMLElement;
|
|
203
|
+
/**
|
|
204
|
+
* Receives an out-of-band notification from the host runtime.
|
|
205
|
+
*
|
|
206
|
+
* @remarks
|
|
207
|
+
* The host UI decides how to render the notification (toast, banner, modal, …);
|
|
208
|
+
* implementations may safely no-op for notification types they do not handle.
|
|
209
|
+
*/
|
|
210
|
+
notify?(notification: IHostUiNotification): void;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Options passed by the host into a host UI module's mount function.
|
|
215
|
+
*
|
|
216
|
+
* @alpha
|
|
217
|
+
*/
|
|
218
|
+
export declare interface IHostUiMountOptions {
|
|
219
|
+
/**
|
|
220
|
+
* DOM element into which the host UI should render itself.
|
|
221
|
+
*/
|
|
222
|
+
container: HTMLElement;
|
|
223
|
+
/**
|
|
224
|
+
* Platform context snapshot provided by the host.
|
|
225
|
+
*/
|
|
226
|
+
ctx: IPlatformContext;
|
|
227
|
+
/**
|
|
228
|
+
* Resolved and filtered list of pluggable applications to render in the navigation.
|
|
229
|
+
*/
|
|
230
|
+
resolvedApplications: PluggableApplicationRegistryItem[];
|
|
231
|
+
/**
|
|
232
|
+
* Current pathname of the host application.
|
|
233
|
+
*
|
|
234
|
+
* @remarks
|
|
235
|
+
* The host UI uses this to determine which navigation item is active.
|
|
236
|
+
* Updated via {@link IHostUiMountHandle.updatePathname} when the URL changes.
|
|
237
|
+
*/
|
|
238
|
+
pathname: string;
|
|
239
|
+
/**
|
|
240
|
+
* Callback for requesting client-side navigation (push).
|
|
241
|
+
*
|
|
242
|
+
* @remarks
|
|
243
|
+
* The host owns the router. When the host UI needs to navigate (e.g. menu item click),
|
|
244
|
+
* it calls this callback and the host performs the actual navigation. The host then pushes
|
|
245
|
+
* the new pathname back via {@link IHostUiMountHandle.updatePathname}.
|
|
246
|
+
*/
|
|
247
|
+
navigate: (url: string) => void;
|
|
248
|
+
/**
|
|
249
|
+
* Callback for requesting client-side navigation with history replacement.
|
|
250
|
+
*
|
|
251
|
+
* @remarks
|
|
252
|
+
* Works like {@link IHostUiMountOptions.navigate} but replaces the current history
|
|
253
|
+
* entry instead of pushing a new one.
|
|
254
|
+
*/
|
|
255
|
+
replace: (url: string) => void;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Discriminated union of out-of-band notifications the host runtime can push into the
|
|
260
|
+
* host UI module after mount. Lets the runtime signal events that should affect the UI
|
|
261
|
+
* without coupling it to a specific rendering.
|
|
262
|
+
*
|
|
263
|
+
* @remarks
|
|
264
|
+
* Variants are discriminated by the `type` field. Implementations of
|
|
265
|
+
* {@link IHostUiMountHandle.notify} may safely no-op for notification types they do not
|
|
266
|
+
* handle, so adding a new variant is a backward-compatible change.
|
|
267
|
+
*
|
|
268
|
+
* @alpha
|
|
269
|
+
*/
|
|
270
|
+
export declare type IHostUiNotification = INewDeploymentAvailableHostUiNotification;
|
|
271
|
+
|
|
105
272
|
/**
|
|
106
273
|
* JWT-based authentication.
|
|
107
274
|
*
|
|
@@ -115,6 +282,30 @@ export declare interface IJwtAuthCredentials {
|
|
|
115
282
|
|
|
116
283
|
export { ILocale }
|
|
117
284
|
|
|
285
|
+
/**
|
|
286
|
+
* Notification dispatched when the host runtime detects that a newer build of the host
|
|
287
|
+
* application has been deployed while the user's tab is still open.
|
|
288
|
+
*
|
|
289
|
+
* @remarks
|
|
290
|
+
* Stale tabs continue to reference content-hashed chunk URLs that no longer exist on the
|
|
291
|
+
* server, so the user must reload to pick up the new build. The host UI module decides
|
|
292
|
+
* how to surface this (e.g. a toast with a reload action).
|
|
293
|
+
*
|
|
294
|
+
* @alpha
|
|
295
|
+
*/
|
|
296
|
+
export declare interface INewDeploymentAvailableHostUiNotification {
|
|
297
|
+
/**
|
|
298
|
+
* A new build of the host application has been deployed; the user should reload to
|
|
299
|
+
* avoid loading stale chunks. The host UI is expected to surface this to the user
|
|
300
|
+
* (e.g. as a toast with a reload action).
|
|
301
|
+
*/
|
|
302
|
+
type: "newDeploymentAvailable";
|
|
303
|
+
/**
|
|
304
|
+
* Commit hash of the newly deployed build, as detected by the host runtime.
|
|
305
|
+
*/
|
|
306
|
+
commitHash: string;
|
|
307
|
+
}
|
|
308
|
+
|
|
118
309
|
/**
|
|
119
310
|
* Organization information available in the platform context.
|
|
120
311
|
*
|
|
@@ -328,118 +519,6 @@ export declare interface IReloadPlatformContextRequestedEvent extends IPluggable
|
|
|
328
519
|
readonly type: "GDC.PLUGGABLE_APP/EVT.RELOAD_PLATFORM_CONTEXT.REQUESTED";
|
|
329
520
|
}
|
|
330
521
|
|
|
331
|
-
/**
|
|
332
|
-
* Shell UI module contract.
|
|
333
|
-
*
|
|
334
|
-
* @remarks
|
|
335
|
-
* Implementations loaded via module federation or provided locally must conform
|
|
336
|
-
* to this interface. The shell application uses the `mount` function to render
|
|
337
|
-
* the application chrome and obtain the container for the active pluggable application.
|
|
338
|
-
*
|
|
339
|
-
* @alpha
|
|
340
|
-
*/
|
|
341
|
-
export declare interface IShellUiModule {
|
|
342
|
-
mount: ShellUiMount;
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
/**
|
|
346
|
-
* Handle returned from a shell UI mount for lifecycle management.
|
|
347
|
-
*
|
|
348
|
-
* @alpha
|
|
349
|
-
*/
|
|
350
|
-
export declare interface IShellUiMountHandle {
|
|
351
|
-
/**
|
|
352
|
-
* Unmounts the shell UI and releases all resources.
|
|
353
|
-
*/
|
|
354
|
-
unmount(): void;
|
|
355
|
-
/**
|
|
356
|
-
* Pushes an updated platform context into the shell UI.
|
|
357
|
-
*
|
|
358
|
-
* @remarks
|
|
359
|
-
* Called by the host whenever the context changes after initial mount.
|
|
360
|
-
*/
|
|
361
|
-
updateContext?(ctx: IPlatformContext): void;
|
|
362
|
-
/**
|
|
363
|
-
* Pushes an updated list of resolved applications into the shell UI.
|
|
364
|
-
*
|
|
365
|
-
* @remarks
|
|
366
|
-
* Called by the host whenever the application list changes after initial mount.
|
|
367
|
-
*/
|
|
368
|
-
updateApplications?(apps: PluggableApplicationRegistryItem[]): void;
|
|
369
|
-
/**
|
|
370
|
-
* Pushes the current pathname into the shell UI.
|
|
371
|
-
*
|
|
372
|
-
* @remarks
|
|
373
|
-
* Called by the host whenever the URL changes (e.g. after navigation or popstate).
|
|
374
|
-
* The shell UI uses this to update the active state of navigation items.
|
|
375
|
-
*/
|
|
376
|
-
updatePathname?(pathname: string): void;
|
|
377
|
-
/**
|
|
378
|
-
* Pushes updated header options into the shell UI.
|
|
379
|
-
*
|
|
380
|
-
* @remarks
|
|
381
|
-
* Called by the host whenever the active pluggable application declares new header
|
|
382
|
-
* options via its `onHeaderChange` callback. The shell UI uses this to update
|
|
383
|
-
* the header (e.g. help menu items) to match the active application's preferences.
|
|
384
|
-
* When called with `undefined`, the shell UI should revert to its default header configuration.
|
|
385
|
-
*/
|
|
386
|
-
updateHeader?(header: IAppHeaderOptions | undefined): void;
|
|
387
|
-
/**
|
|
388
|
-
* Returns the DOM element where the active pluggable application should be rendered.
|
|
389
|
-
*
|
|
390
|
-
* @remarks
|
|
391
|
-
* The host uses this element as the mount container for the currently active
|
|
392
|
-
* pluggable application. The shell UI is responsible for creating and managing
|
|
393
|
-
* this element as part of its layout.
|
|
394
|
-
*/
|
|
395
|
-
getAppContainer(): HTMLElement;
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
/**
|
|
399
|
-
* Options passed by the host into a shell UI module's mount function.
|
|
400
|
-
*
|
|
401
|
-
* @alpha
|
|
402
|
-
*/
|
|
403
|
-
export declare interface IShellUiMountOptions {
|
|
404
|
-
/**
|
|
405
|
-
* DOM element into which the shell UI should render itself.
|
|
406
|
-
*/
|
|
407
|
-
container: HTMLElement;
|
|
408
|
-
/**
|
|
409
|
-
* Platform context snapshot provided by the host.
|
|
410
|
-
*/
|
|
411
|
-
ctx: IPlatformContext;
|
|
412
|
-
/**
|
|
413
|
-
* Resolved and filtered list of pluggable applications to render in the navigation.
|
|
414
|
-
*/
|
|
415
|
-
resolvedApplications: PluggableApplicationRegistryItem[];
|
|
416
|
-
/**
|
|
417
|
-
* Current pathname of the host application.
|
|
418
|
-
*
|
|
419
|
-
* @remarks
|
|
420
|
-
* The shell UI uses this to determine which navigation item is active.
|
|
421
|
-
* Updated via {@link IShellUiMountHandle.updatePathname} when the URL changes.
|
|
422
|
-
*/
|
|
423
|
-
pathname: string;
|
|
424
|
-
/**
|
|
425
|
-
* Callback for requesting client-side navigation (push).
|
|
426
|
-
*
|
|
427
|
-
* @remarks
|
|
428
|
-
* The host owns the router. When the shell UI needs to navigate (e.g. menu item click),
|
|
429
|
-
* it calls this callback and the host performs the actual navigation. The host then pushes
|
|
430
|
-
* the new pathname back via {@link IShellUiMountHandle.updatePathname}.
|
|
431
|
-
*/
|
|
432
|
-
navigate: (url: string) => void;
|
|
433
|
-
/**
|
|
434
|
-
* Callback for requesting client-side navigation with history replacement.
|
|
435
|
-
*
|
|
436
|
-
* @remarks
|
|
437
|
-
* Works like {@link IShellUiMountOptions.navigate} but replaces the current history
|
|
438
|
-
* entry instead of pushing a new one.
|
|
439
|
-
*/
|
|
440
|
-
replace: (url: string) => void;
|
|
441
|
-
}
|
|
442
|
-
|
|
443
522
|
/**
|
|
444
523
|
* Type guard for {@link IPlatformContextV1}.
|
|
445
524
|
*
|
|
@@ -523,21 +602,6 @@ export declare type PluggableApplicationMount = (options: IPluggableApplicationM
|
|
|
523
602
|
*/
|
|
524
603
|
export declare function reloadPlatformContextRequested(): IReloadPlatformContextRequestedEvent;
|
|
525
604
|
|
|
526
|
-
/**
|
|
527
|
-
* Shell UI mount function signature.
|
|
528
|
-
*
|
|
529
|
-
* @remarks
|
|
530
|
-
* A shell UI module must export a `mount` function conforming to this signature.
|
|
531
|
-
* The function receives a container element and context data, renders the application
|
|
532
|
-
* shell (header, navigation, layout), and returns a handle for lifecycle management.
|
|
533
|
-
*
|
|
534
|
-
* The implementation is framework-agnostic — a module can use React, vanilla DOM,
|
|
535
|
-
* or any other rendering approach internally.
|
|
536
|
-
*
|
|
537
|
-
* @alpha
|
|
538
|
-
*/
|
|
539
|
-
export declare type ShellUiMount = (options: IShellUiMountOptions) => IShellUiMountHandle;
|
|
540
|
-
|
|
541
605
|
/**
|
|
542
606
|
* Telemetry channel determines which analytics pipeline receives the event.
|
|
543
607
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-pluggable-application-model",
|
|
3
|
-
"version": "11.32.0-alpha.
|
|
3
|
+
"version": "11.32.0-alpha.5",
|
|
4
4
|
"description": "GoodData SDK model contracts for pluggable applications",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData Corporation",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"ts-invariant": "0.10.3",
|
|
25
25
|
"tslib": "2.8.1",
|
|
26
|
-
"@gooddata/sdk-backend-spi": "11.32.0-alpha.
|
|
27
|
-
"@gooddata/sdk-model": "11.32.0-alpha.
|
|
26
|
+
"@gooddata/sdk-backend-spi": "11.32.0-alpha.5",
|
|
27
|
+
"@gooddata/sdk-model": "11.32.0-alpha.5"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"oxlint-tsgolint": "0.11.4",
|
|
49
49
|
"typescript": "5.9.3",
|
|
50
50
|
"vitest": "4.1.0",
|
|
51
|
-
"@gooddata/eslint-config": "11.32.0-alpha.
|
|
52
|
-
"@gooddata/oxlint-config": "11.32.0-alpha.
|
|
51
|
+
"@gooddata/eslint-config": "11.32.0-alpha.5",
|
|
52
|
+
"@gooddata/oxlint-config": "11.32.0-alpha.5"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"_phase:build": "npm run build",
|
package/esm/shellUi.d.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { type PluggableApplicationRegistryItem } from "@gooddata/sdk-model";
|
|
2
|
-
import { type IAppHeaderOptions } from "./mount.js";
|
|
3
|
-
import { type IPlatformContext } from "./platformContext.js";
|
|
4
|
-
/**
|
|
5
|
-
* Options passed by the host into a shell UI module's mount function.
|
|
6
|
-
*
|
|
7
|
-
* @alpha
|
|
8
|
-
*/
|
|
9
|
-
export interface IShellUiMountOptions {
|
|
10
|
-
/**
|
|
11
|
-
* DOM element into which the shell UI should render itself.
|
|
12
|
-
*/
|
|
13
|
-
container: HTMLElement;
|
|
14
|
-
/**
|
|
15
|
-
* Platform context snapshot provided by the host.
|
|
16
|
-
*/
|
|
17
|
-
ctx: IPlatformContext;
|
|
18
|
-
/**
|
|
19
|
-
* Resolved and filtered list of pluggable applications to render in the navigation.
|
|
20
|
-
*/
|
|
21
|
-
resolvedApplications: PluggableApplicationRegistryItem[];
|
|
22
|
-
/**
|
|
23
|
-
* Current pathname of the host application.
|
|
24
|
-
*
|
|
25
|
-
* @remarks
|
|
26
|
-
* The shell UI uses this to determine which navigation item is active.
|
|
27
|
-
* Updated via {@link IShellUiMountHandle.updatePathname} when the URL changes.
|
|
28
|
-
*/
|
|
29
|
-
pathname: string;
|
|
30
|
-
/**
|
|
31
|
-
* Callback for requesting client-side navigation (push).
|
|
32
|
-
*
|
|
33
|
-
* @remarks
|
|
34
|
-
* The host owns the router. When the shell UI needs to navigate (e.g. menu item click),
|
|
35
|
-
* it calls this callback and the host performs the actual navigation. The host then pushes
|
|
36
|
-
* the new pathname back via {@link IShellUiMountHandle.updatePathname}.
|
|
37
|
-
*/
|
|
38
|
-
navigate: (url: string) => void;
|
|
39
|
-
/**
|
|
40
|
-
* Callback for requesting client-side navigation with history replacement.
|
|
41
|
-
*
|
|
42
|
-
* @remarks
|
|
43
|
-
* Works like {@link IShellUiMountOptions.navigate} but replaces the current history
|
|
44
|
-
* entry instead of pushing a new one.
|
|
45
|
-
*/
|
|
46
|
-
replace: (url: string) => void;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Handle returned from a shell UI mount for lifecycle management.
|
|
50
|
-
*
|
|
51
|
-
* @alpha
|
|
52
|
-
*/
|
|
53
|
-
export interface IShellUiMountHandle {
|
|
54
|
-
/**
|
|
55
|
-
* Unmounts the shell UI and releases all resources.
|
|
56
|
-
*/
|
|
57
|
-
unmount(): void;
|
|
58
|
-
/**
|
|
59
|
-
* Pushes an updated platform context into the shell UI.
|
|
60
|
-
*
|
|
61
|
-
* @remarks
|
|
62
|
-
* Called by the host whenever the context changes after initial mount.
|
|
63
|
-
*/
|
|
64
|
-
updateContext?(ctx: IPlatformContext): void;
|
|
65
|
-
/**
|
|
66
|
-
* Pushes an updated list of resolved applications into the shell UI.
|
|
67
|
-
*
|
|
68
|
-
* @remarks
|
|
69
|
-
* Called by the host whenever the application list changes after initial mount.
|
|
70
|
-
*/
|
|
71
|
-
updateApplications?(apps: PluggableApplicationRegistryItem[]): void;
|
|
72
|
-
/**
|
|
73
|
-
* Pushes the current pathname into the shell UI.
|
|
74
|
-
*
|
|
75
|
-
* @remarks
|
|
76
|
-
* Called by the host whenever the URL changes (e.g. after navigation or popstate).
|
|
77
|
-
* The shell UI uses this to update the active state of navigation items.
|
|
78
|
-
*/
|
|
79
|
-
updatePathname?(pathname: string): void;
|
|
80
|
-
/**
|
|
81
|
-
* Pushes updated header options into the shell UI.
|
|
82
|
-
*
|
|
83
|
-
* @remarks
|
|
84
|
-
* Called by the host whenever the active pluggable application declares new header
|
|
85
|
-
* options via its `onHeaderChange` callback. The shell UI uses this to update
|
|
86
|
-
* the header (e.g. help menu items) to match the active application's preferences.
|
|
87
|
-
* When called with `undefined`, the shell UI should revert to its default header configuration.
|
|
88
|
-
*/
|
|
89
|
-
updateHeader?(header: IAppHeaderOptions | undefined): void;
|
|
90
|
-
/**
|
|
91
|
-
* Returns the DOM element where the active pluggable application should be rendered.
|
|
92
|
-
*
|
|
93
|
-
* @remarks
|
|
94
|
-
* The host uses this element as the mount container for the currently active
|
|
95
|
-
* pluggable application. The shell UI is responsible for creating and managing
|
|
96
|
-
* this element as part of its layout.
|
|
97
|
-
*/
|
|
98
|
-
getAppContainer(): HTMLElement;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Shell UI mount function signature.
|
|
102
|
-
*
|
|
103
|
-
* @remarks
|
|
104
|
-
* A shell UI module must export a `mount` function conforming to this signature.
|
|
105
|
-
* The function receives a container element and context data, renders the application
|
|
106
|
-
* shell (header, navigation, layout), and returns a handle for lifecycle management.
|
|
107
|
-
*
|
|
108
|
-
* The implementation is framework-agnostic — a module can use React, vanilla DOM,
|
|
109
|
-
* or any other rendering approach internally.
|
|
110
|
-
*
|
|
111
|
-
* @alpha
|
|
112
|
-
*/
|
|
113
|
-
export type ShellUiMount = (options: IShellUiMountOptions) => IShellUiMountHandle;
|
|
114
|
-
/**
|
|
115
|
-
* Shell UI module contract.
|
|
116
|
-
*
|
|
117
|
-
* @remarks
|
|
118
|
-
* Implementations loaded via module federation or provided locally must conform
|
|
119
|
-
* to this interface. The shell application uses the `mount` function to render
|
|
120
|
-
* the application chrome and obtain the container for the active pluggable application.
|
|
121
|
-
*
|
|
122
|
-
* @alpha
|
|
123
|
-
*/
|
|
124
|
-
export interface IShellUiModule {
|
|
125
|
-
mount: ShellUiMount;
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=shellUi.d.ts.map
|
package/esm/shellUi.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shellUi.d.ts","sourceRoot":"","sources":["../src/shellUi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC;IAEvB;;OAEG;IACH,GAAG,EAAE,gBAAgB,CAAC;IAEtB;;OAEG;IACH,oBAAoB,EAAE,gCAAgC,EAAE,CAAC;IAEzD;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhC;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;;;;OAKG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,kBAAkB,CAAC,CAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,IAAI,CAAC;IAEpE;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;;;;;;OAQG;IACH,YAAY,CAAC,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC;IAE3D;;;;;;;OAOG;IACH,eAAe,IAAI,WAAW,CAAC;CAClC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,mBAAmB,CAAC;AAElF;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,YAAY,CAAC;CACvB"}
|
package/esm/shellUi.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shellUi.js","sourceRoot":"","sources":["../src/shellUi.ts"],"names":[],"mappings":"AAAA,gCAAgC"}
|