@gooddata/sdk-ui-pluggable-host 11.41.0-alpha.3 → 11.41.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/components/FullScreenLoader.d.ts +1 -0
- package/esm/components/FullScreenLoader.d.ts.map +1 -0
- package/esm/components/HostUiContainer.d.ts +1 -0
- package/esm/components/HostUiContainer.d.ts.map +1 -0
- package/esm/components/HostUiContainer.js +16 -2
- package/esm/components/Root.d.ts +1 -0
- package/esm/components/Root.d.ts.map +1 -0
- package/esm/components/lib/translations.d.ts +1 -0
- package/esm/components/lib/translations.d.ts.map +1 -0
- package/esm/components/useRedirectNavigation.d.ts +1 -0
- package/esm/components/useRedirectNavigation.d.ts.map +1 -0
- package/esm/components/useRedirectTarget.d.ts +1 -0
- package/esm/components/useRedirectTarget.d.ts.map +1 -0
- package/esm/debug.d.ts +1 -0
- package/esm/debug.d.ts.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/lib/chunkReloadGuard.d.ts +1 -0
- package/esm/lib/chunkReloadGuard.d.ts.map +1 -0
- package/esm/lib/hostNotifications.d.ts +1 -0
- package/esm/lib/hostNotifications.d.ts.map +1 -0
- package/esm/lib/isProduction.d.ts +1 -0
- package/esm/lib/isProduction.d.ts.map +1 -0
- package/esm/loader/lastVisitedApp.d.ts +1 -0
- package/esm/loader/lastVisitedApp.d.ts.map +1 -0
- package/esm/loader/localLoader.d.ts +1 -0
- package/esm/loader/localLoader.d.ts.map +1 -0
- package/esm/loader/pluggableApplicationsLoader.d.ts +1 -0
- package/esm/loader/pluggableApplicationsLoader.d.ts.map +1 -0
- package/esm/loader/redirectLogic.d.ts +1 -0
- package/esm/loader/redirectLogic.d.ts.map +1 -0
- package/esm/loader/remoteLoader.d.ts +1 -0
- package/esm/loader/remoteLoader.d.ts.map +1 -0
- package/esm/loader/remoteUrlSecurity.d.ts +1 -0
- package/esm/loader/remoteUrlSecurity.d.ts.map +1 -0
- package/esm/loader/routing.d.ts +1 -0
- package/esm/loader/routing.d.ts.map +1 -0
- package/esm/platformContext/backend.d.ts +1 -0
- package/esm/platformContext/backend.d.ts.map +1 -0
- package/esm/platformContext/bootstrap.d.ts +1 -0
- package/esm/platformContext/bootstrap.d.ts.map +1 -0
- package/esm/platformContext/loadPlatformContext.d.ts +1 -0
- package/esm/platformContext/loadPlatformContext.d.ts.map +1 -0
- package/esm/platformContext/tigerNotAuthenticatedHandler.d.ts +1 -0
- package/esm/platformContext/tigerNotAuthenticatedHandler.d.ts.map +1 -0
- package/esm/platformContext/types.d.ts +1 -0
- package/esm/platformContext/types.d.ts.map +1 -0
- package/esm/platformContext/useLoadPlatformContext.d.ts +1 -0
- package/esm/platformContext/useLoadPlatformContext.d.ts.map +1 -0
- package/esm/platformContext/useWorkspaceColorPalette.d.ts +1 -0
- package/esm/platformContext/useWorkspaceColorPalette.d.ts.map +1 -0
- package/esm/platformContext/useWorkspacePermissions.d.ts +1 -0
- package/esm/platformContext/useWorkspacePermissions.d.ts.map +1 -0
- package/esm/platformContext/useWorkspaceSettings.d.ts +1 -0
- package/esm/platformContext/useWorkspaceSettings.d.ts.map +1 -0
- package/esm/platformContext/useWorkspaceTheme.d.ts +1 -0
- package/esm/platformContext/useWorkspaceTheme.d.ts.map +1 -0
- package/esm/platformContext/waitForInjectedApiToken.d.ts +1 -0
- package/esm/platformContext/waitForInjectedApiToken.d.ts.map +1 -0
- package/esm/registry/pluggableApplicationsRegistry.d.ts +1 -0
- package/esm/registry/pluggableApplicationsRegistry.d.ts.map +1 -0
- package/esm/types/lifecycle.d.ts +1 -0
- package/esm/types/lifecycle.d.ts.map +1 -0
- package/esm/ui/DefaultHostUi.d.ts +1 -0
- package/esm/ui/DefaultHostUi.d.ts.map +1 -0
- package/esm/ui/DefaultHostUi.js +10 -3
- package/esm/ui/GenAIChat.d.ts +1 -0
- package/esm/ui/GenAIChat.d.ts.map +1 -0
- package/esm/ui/HostChrome.d.ts +7 -1
- package/esm/ui/HostChrome.d.ts.map +1 -0
- package/esm/ui/HostChrome.js +32 -6
- package/esm/ui/HostIntlProvider.d.ts +1 -0
- package/esm/ui/HostIntlProvider.d.ts.map +1 -0
- package/esm/ui/HostNotificationDispatcher.d.ts +1 -0
- package/esm/ui/HostNotificationDispatcher.d.ts.map +1 -0
- package/esm/ui/PluggableApplicationRenderer.d.ts +3 -1
- package/esm/ui/PluggableApplicationRenderer.d.ts.map +1 -0
- package/esm/ui/PluggableApplicationRenderer.js +13 -2
- package/esm/ui/SemanticSearch.d.ts +1 -0
- package/esm/ui/SemanticSearch.d.ts.map +1 -0
- package/esm/ui/WorkspacePicker.d.ts +1 -0
- package/esm/ui/WorkspacePicker.d.ts.map +1 -0
- package/esm/ui/appMenuItems.d.ts +2 -0
- package/esm/ui/appMenuItems.d.ts.map +1 -0
- package/esm/ui/appMenuItems.js +1 -1
- package/esm/ui/chromeHelpers.d.ts +1 -0
- package/esm/ui/chromeHelpers.d.ts.map +1 -0
- package/esm/ui/hostChromeBem.d.ts +1 -0
- package/esm/ui/hostChromeBem.d.ts.map +1 -0
- package/esm/ui/resolveHostUiModule.d.ts +1 -0
- package/esm/ui/resolveHostUiModule.d.ts.map +1 -0
- package/esm/ui/useHostChromeChat.d.ts +1 -0
- package/esm/ui/useHostChromeChat.d.ts.map +1 -0
- package/esm/ui/useHostChromePricing.d.ts +1 -0
- package/esm/ui/useHostChromePricing.d.ts.map +1 -0
- package/esm/ui/useHostChromeSearch.d.ts +1 -0
- package/esm/ui/useHostChromeSearch.d.ts.map +1 -0
- package/esm/ui/useHostChromeWorkspaceFeatures.d.ts +1 -0
- package/esm/ui/useHostChromeWorkspaceFeatures.d.ts.map +1 -0
- package/package.json +17 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FullScreenLoader.d.ts","sourceRoot":"","sources":["../../src/components/FullScreenLoader.tsx"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,4CAM/B"}
|
|
@@ -14,3 +14,4 @@ export interface IHostUiContainerProps {
|
|
|
14
14
|
* updates (context, apps, pathname) via the host mount handle.
|
|
15
15
|
*/
|
|
16
16
|
export declare function HostUiContainer({ ctx, apps, pathname, routerNavigate }: IHostUiContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=HostUiContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HostUiContainer.d.ts","sourceRoot":"","sources":["../../src/components/HostUiContainer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAEH,KAAK,gBAAgB,EAExB,MAAM,2CAA2C,CAAC;AAWnD,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,qBAAqB;IAClC,GAAG,EAAE,gBAAgB,CAAC;IACtB,IAAI,EAAE,gCAAgC,EAAE,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,qBAAqB,2CAsL7F"}
|
|
@@ -24,12 +24,18 @@ export function HostUiContainer({ ctx, apps, pathname, routerNavigate }) {
|
|
|
24
24
|
const [hostReady, setHostReady] = useState(false);
|
|
25
25
|
const latestMountStateRef = useAutoupdateRef({ ctx, apps, pathname });
|
|
26
26
|
const [headerOptions, setHeaderOptions] = useState(undefined);
|
|
27
|
+
const [pageTitle, setPageTitle] = useState(undefined);
|
|
27
28
|
const activeAppRef = useAutoupdateRef(activeInternalApplication);
|
|
28
29
|
const onHeaderChange = useCallback((appId, header) => {
|
|
29
30
|
if (activeAppRef.current?.id === appId) {
|
|
30
31
|
setHeaderOptions(header);
|
|
31
32
|
}
|
|
32
33
|
}, [activeAppRef]);
|
|
34
|
+
const onDocumentTitleChange = useCallback((appId, title) => {
|
|
35
|
+
if (activeAppRef.current?.id === appId) {
|
|
36
|
+
setPageTitle(title);
|
|
37
|
+
}
|
|
38
|
+
}, [activeAppRef]);
|
|
33
39
|
// Stable navigation callbacks that always use the latest router navigate
|
|
34
40
|
const navigateRef = useAutoupdateRef(routerNavigate);
|
|
35
41
|
const navigate = useCallback((url) => {
|
|
@@ -110,6 +116,13 @@ export function HostUiContainer({ ctx, apps, pathname, routerNavigate }) {
|
|
|
110
116
|
}
|
|
111
117
|
handleRef.current?.updateHeader?.(headerOptions);
|
|
112
118
|
}, [hostReady, headerOptions]);
|
|
119
|
+
// Push the active application's page title to the host UI whenever it changes
|
|
120
|
+
useEffect(() => {
|
|
121
|
+
if (!hostReady) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
handleRef.current?.updateDocumentTitle?.(pageTitle);
|
|
125
|
+
}, [hostReady, pageTitle]);
|
|
113
126
|
// Track app navigation and page views when the active application changes.
|
|
114
127
|
// Also clear header options on app switch so stale customizations don't leak.
|
|
115
128
|
const prevAppIdRef = useRef(undefined);
|
|
@@ -123,6 +136,7 @@ export function HostUiContainer({ ctx, apps, pathname, routerNavigate }) {
|
|
|
123
136
|
}
|
|
124
137
|
prevAppIdRef.current = activeId;
|
|
125
138
|
setHeaderOptions(undefined);
|
|
139
|
+
setPageTitle(undefined);
|
|
126
140
|
}
|
|
127
141
|
}, [activeInternalApplication, pathname]);
|
|
128
142
|
// Render the active pluggable application into the host UI's app container
|
|
@@ -131,11 +145,11 @@ export function HostUiContainer({ ctx, apps, pathname, routerNavigate }) {
|
|
|
131
145
|
return;
|
|
132
146
|
}
|
|
133
147
|
if (activeInternalApplication) {
|
|
134
|
-
appRootRef.current.render(_jsx(HostIntlProvider, { locale: resolveLocale(ctx.preferredLocale), children: _jsx(PluggableApplicationRenderer, { app: activeInternalApplication, ctx: ctx, pathname: pathname, onHeaderChange: onHeaderChange }, activeInternalApplication.id) }));
|
|
148
|
+
appRootRef.current.render(_jsx(HostIntlProvider, { locale: resolveLocale(ctx.preferredLocale), children: _jsx(PluggableApplicationRenderer, { app: activeInternalApplication, ctx: ctx, pathname: pathname, onHeaderChange: onHeaderChange, onDocumentTitleChange: onDocumentTitleChange }, activeInternalApplication.id) }));
|
|
135
149
|
}
|
|
136
150
|
else {
|
|
137
151
|
appRootRef.current.render(null);
|
|
138
152
|
}
|
|
139
|
-
}, [hostReady, activeInternalApplication, ctx, onHeaderChange, pathname]);
|
|
153
|
+
}, [hostReady, activeInternalApplication, ctx, onHeaderChange, onDocumentTitleChange, pathname]);
|
|
140
154
|
return _jsx("div", { ref: containerRef, className: "gd-host-ui-container" });
|
|
141
155
|
}
|
package/esm/components/Root.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../src/components/Root.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAYlF,OAAO,sBAAsB,CAAC;AAE9B,OAAO,aAAa,CAAC;AAIrB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,cAAc,CAAA;CAAE,2CAqBjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/components/lib/translations.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,KAAK,aAAa,EAGrB,MAAM,kBAAkB,CAAC;AAuC1B,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAK1D,CAAC;AAyBF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAoC,CAAC"}
|
|
@@ -5,3 +5,4 @@ import { type RedirectTargetState } from "./useRedirectTarget.js";
|
|
|
5
5
|
* Deduplicates consecutive redirects to the same URL by tracking the last navigated path.
|
|
6
6
|
*/
|
|
7
7
|
export declare function useRedirectNavigation(redirect: RedirectTargetState, navigate: NavigateFunction): void;
|
|
8
|
+
//# sourceMappingURL=useRedirectNavigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRedirectNavigation.d.ts","sourceRoot":"","sources":["../../src/components/useRedirectNavigation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIrD,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAgBrG"}
|
|
@@ -17,3 +17,4 @@ export type RedirectTargetState = {
|
|
|
17
17
|
* Resolves the redirect target for the current URL and permission context.
|
|
18
18
|
*/
|
|
19
19
|
export declare function useRedirectTarget(apps: PluggableApplicationRegistryItem[], ctx: IPlatformContext, pathname: string): RedirectTargetState;
|
|
20
|
+
//# sourceMappingURL=useRedirectTarget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRedirectTarget.d.ts","sourceRoot":"","sources":["../../src/components/useRedirectTarget.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAMlF,MAAM,MAAM,mBAAmB,GACzB;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GACpB;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GACnB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,IAAI,EAAE,gCAAgC,EAAE,EACxC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,GACjB,mBAAmB,CA2DrB"}
|
package/esm/debug.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAKlE;AAED;;;GAGG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B"}
|
package/esm/index.d.ts
CHANGED
|
@@ -9,3 +9,4 @@ export { type IAppLifecycleCallbacks } from "./types/lifecycle.js";
|
|
|
9
9
|
export { STALE_CHUNK_RELOAD_PARAM, installPreloadErrorHandler, installVersionWatcher, reloadForStaleChunks, setStaleChunkReloadListener, type IStaleChunkReloadInfo, type IVersionWatcherOptions, type StaleChunkReloadListener, } from "./lib/chunkReloadGuard.js";
|
|
10
10
|
export { dispatchHostNotification } from "./lib/hostNotifications.js";
|
|
11
11
|
export { setHostPricingExtension, type UseHostPricingExtension, type IHostChromePricing, } from "./ui/useHostChromePricing.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAC;AAC/F,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAE9F,OAAO,EACH,+BAA+B,EAC/B,KAAK,+BAA+B,GACvC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAExF,OAAO,EAAE,IAAI,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EACH,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EACH,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,GAC1B,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunkReloadGuard.d.ts","sourceRoot":"","sources":["../../src/lib/chunkReloadGuard.ts"],"names":[],"mappings":"AAsBA;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAClC,2EAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAoC7E;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI,CAEhG;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA2BzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAkBjD;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EAClC,GAAG,EACH,UAAuB,EACvB,eAAe,EAClB,EAAE,sBAAsB,GAAG,IAAI,CAsE/B"}
|
|
@@ -18,3 +18,4 @@ export declare function dispatchHostNotification(notification: IHostUiNotificati
|
|
|
18
18
|
* on unmount. On register, any queued notifications are flushed in arrival order.
|
|
19
19
|
*/
|
|
20
20
|
export declare function setActiveHostHandle(handle: IHostUiMountHandle | undefined): void;
|
|
21
|
+
//# sourceMappingURL=hostNotifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostNotifications.d.ts","sourceRoot":"","sources":["../../src/lib/hostNotifications.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAiB9G;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAShF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI,CAShF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isProduction.d.ts","sourceRoot":"","sources":["../../src/lib/isProduction.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,OAAyD,CAAC"}
|
|
@@ -9,3 +9,4 @@ export declare function getLastVisitedApp(scope: ApplicationScope): string | und
|
|
|
9
9
|
* Silently swallows errors (e.g. storage full, private browsing).
|
|
10
10
|
*/
|
|
11
11
|
export declare function setLastVisitedApp(scope: ApplicationScope, appId: string): void;
|
|
12
|
+
//# sourceMappingURL=lastVisitedApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lastVisitedApp.d.ts","sourceRoot":"","sources":["../../src/loader/lastVisitedApp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAuB5D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAM7E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQ9E"}
|
|
@@ -14,3 +14,4 @@ export type LocalPluggableApplicationLoader = () => Promise<{
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function registerLocalApplicationLoaders(loaders: Record<string, LocalPluggableApplicationLoader>): void;
|
|
16
16
|
export declare function loadLocalPluggableApplication(moduleId: string): Promise<IPluggableApp>;
|
|
17
|
+
//# sourceMappingURL=localLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localLoader.d.ts","sourceRoot":"","sources":["../../src/loader/localLoader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG,MAAM,OAAO,CAAC;IAGxD,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,aAAa,CAAC;CAChC,CAAC,CAAC;AAaH;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,GACzD,IAAI,CAGN;AAcD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqBtF"}
|
|
@@ -11,3 +11,4 @@ export declare function registerAppLifecycleCallbacks(callbacks: IAppLifecycleCa
|
|
|
11
11
|
export declare function getAppLifecycleCallbacks(): IAppLifecycleCallbacks | undefined;
|
|
12
12
|
export declare function preloadPluggableApplication(app: PluggableApplicationRegistryItem): void;
|
|
13
13
|
export declare function loadPluggableApplication(app: PluggableApplicationRegistryItem): Promise<IPluggableApp>;
|
|
14
|
+
//# sourceMappingURL=pluggableApplicationsLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluggableApplicationsLoader.d.ts","sourceRoot":"","sources":["../../src/loader/pluggableApplicationsLoader.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,gCAAgC,EAIxC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG/E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAOpE;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAErF;AAED,wBAAgB,wBAAwB,IAAI,sBAAsB,GAAG,SAAS,CAE7E;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,gCAAgC,GAAG,IAAI,CAwBvF;AAED,wBAAsB,wBAAwB,CAC1C,GAAG,EAAE,gCAAgC,GACtC,OAAO,CAAC,aAAa,CAAC,CAgBxB"}
|
|
@@ -28,3 +28,4 @@ export interface IResolveRedirectTargetOptions {
|
|
|
28
28
|
* @throws {Error} Unexpected failure (show generic error screen)
|
|
29
29
|
*/
|
|
30
30
|
export declare function resolveRedirectTarget({ apps, ctx, pathname, fetchFirstWorkspaceId }: IResolveRedirectTargetOptions): Promise<string | null>;
|
|
31
|
+
//# sourceMappingURL=redirectLogic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirectLogic.d.ts","sourceRoot":"","sources":["../../src/loader/redirectLogic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAOlF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACJ;AAED,MAAM,WAAW,6BAA6B;IAC1C;;;OAGG;IACH,IAAI,EAAE,gCAAgC,EAAE,CAAC;IACzC,GAAG,EAAE,gBAAgB,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5D;AAqFD;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAAC,EACxC,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,qBAAqB,EACxB,EAAE,6BAA6B,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoExD"}
|
|
@@ -3,3 +3,4 @@ import { type IPluggableApp, type IHostUiModule } from "@gooddata/sdk-pluggable-
|
|
|
3
3
|
export declare function loadRemotePluggableApplication(remote: IRemotePluggableApplicationModule): Promise<IPluggableApp>;
|
|
4
4
|
export declare function loadRemoteHostUiModule(remote: IRemotePluggableApplicationModule): Promise<IHostUiModule>;
|
|
5
5
|
export declare function preloadRemotePluggableApplication(remote: IRemotePluggableApplicationModule): Promise<IPluggableApp>;
|
|
6
|
+
//# sourceMappingURL=remoteLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remoteLoader.d.ts","sourceRoot":"","sources":["../../src/loader/remoteLoader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,2CAA2C,CAAC;AA4GnG,wBAAgB,8BAA8B,CAC1C,MAAM,EAAE,iCAAiC,GAC1C,OAAO,CAAC,aAAa,CAAC,CAiBxB;AA0BD,wBAAsB,sBAAsB,CACxC,MAAM,EAAE,iCAAiC,GAC1C,OAAO,CAAC,aAAa,CAAC,CAGxB;AAED,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,iCAAiC,GAC1C,OAAO,CAAC,aAAa,CAAC,CA8BxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remoteUrlSecurity.d.ts","sourceRoot":"","sources":["../../src/loader/remoteUrlSecurity.ts"],"names":[],"mappings":"AAmBA,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO5D"}
|
package/esm/loader/routing.d.ts
CHANGED
|
@@ -20,3 +20,4 @@ export declare function substituteExternalUrlPlaceholders(url: string, ctx: IPla
|
|
|
20
20
|
export declare function getApplicationHref(app: PluggableApplicationRegistryItem, ctx: IPlatformContext, pathname?: string): string;
|
|
21
21
|
export declare function isInternalAppRouteActive(app: PluggableApplicationRegistryItem, ctx: IPlatformContext, pathname: string): boolean;
|
|
22
22
|
export declare function getActiveInternalApplication(apps: PluggableApplicationRegistryItem[], ctx: IPlatformContext, pathname: string): PluggableApplicationRegistryItem | undefined;
|
|
23
|
+
//# sourceMappingURL=routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/loader/routing.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EAIxC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAYtF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEvF;AA4CD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC7C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,gBAAgB,EACrB,QAAQ,CAAC,EAAE,MAAM,GAClB,MAAM,CAMR;AAED,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,gCAAgC,EACrC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,CAAC,EAAE,MAAM,GAClB,MAAM,CAWR;AAED,wBAAgB,wBAAwB,CACpC,GAAG,EAAE,gCAAgC,EACrC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAQT;AAED,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,gCAAgC,EAAE,EACxC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,GACjB,gCAAgC,GAAG,SAAS,CAK9C"}
|
|
@@ -42,3 +42,4 @@ export declare function getAuthCredentials(): IAuthCredentials;
|
|
|
42
42
|
export declare function setNotAuthenticatedHandler(handler: NotAuthenticatedHandler): void;
|
|
43
43
|
export declare function setApiToken(token: string): void;
|
|
44
44
|
export declare function setJwt(jwt: string, secondsBeforeTokenExpirationToCallReminder?: number): void;
|
|
45
|
+
//# sourceMappingURL=backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/platformContext/backend.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AASlG,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAIlF,MAAM,WAAW,qBAAqB;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,kBAAkB,CAAC;IACrC,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;IAC3C,0BAA0B,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACvE,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,0CAA0C,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACtF;AAiBD,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,eAAe,CAiGzF;AAYD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAExD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAEjE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,kBAAkB,CAE/C;AAED,wBAAgB,kBAAkB,IAAI,gBAAgB,CAErD;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAEjF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,0CAA0C,CAAC,EAAE,MAAM,GAAG,IAAI,CAE7F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/platformContext/bootstrap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,WAAW,EACd,MAAM,2CAA2C,CAAC;AAsBnD,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/B,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC/C,YAAY,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,uBAAuB,EAAE,wBAAwB,CAAC;IAClD,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,aAAa,EAAE,cAAc,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,CAAC,SAAS,CAAS,CAAC;AA4B3E,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6FjG"}
|
|
@@ -16,3 +16,4 @@ export interface ILoadPlatformContextOptions {
|
|
|
16
16
|
callbacks?: ILoadPlatformContextCallbacks;
|
|
17
17
|
}
|
|
18
18
|
export declare function loadPlatformContext(options?: ILoadPlatformContextOptions): Promise<IBackendPlatformContext>;
|
|
19
|
+
//# sourceMappingURL=loadPlatformContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadPlatformContext.d.ts","sourceRoot":"","sources":["../../src/platformContext/loadPlatformContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAMlF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,4BAA6B,SAAQ,KAAK;IACnD,cAGC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,2BAA2B;IACxC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,SAAS,CAAC,EAAE,6BAA6B,CAAC;CAC7C;AAQD,wBAAsB,mBAAmB,CACrC,OAAO,GAAE,2BAAgC,GAC1C,OAAO,CAAC,uBAAuB,CAAC,CA2ClC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { type IAuthenticationContext, type NotAuthenticated } from "@gooddata/sdk-backend-spi";
|
|
2
2
|
/** Not authenticated handler will be called every time 401 is returned from Tiger backend. */
|
|
3
3
|
export declare function createNotAuthenticatedHandler(externalProviderId?: string): (ctx: IAuthenticationContext, err: NotAuthenticated) => void;
|
|
4
|
+
//# sourceMappingURL=tigerNotAuthenticatedHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tigerNotAuthenticatedHandler.d.ts","sourceRoot":"","sources":["../../src/platformContext/tigerNotAuthenticatedHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAM/F,8FAA8F;AAE9F,wBAAgB,6BAA6B,CACzC,kBAAkB,CAAC,EAAE,MAAM,GAC5B,CAAC,GAAG,EAAE,sBAAsB,EAAE,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAY9D"}
|
|
@@ -15,3 +15,4 @@ export type IRoutePlatformContext = Pick<IPlatformContext, RoutePlatformContextF
|
|
|
15
15
|
export type IBackendPlatformContext = Omit<IPlatformContext, RoutePlatformContextFields>;
|
|
16
16
|
export type IPlatformContextLoadResult<TContext> = IPlatformContextLoadingResult | IPlatformContextReadyResult<TContext> | IPlatformContextErrorResult;
|
|
17
17
|
export {};
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/platformContext/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAElF,MAAM,WAAW,6BAA6B;IAC1C,KAAK,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B,CAAC,QAAQ;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,0BAA0B,GACzB,oBAAoB,GACpB,yBAAyB,GACzB,sBAAsB,GACtB,mBAAmB,GACnB,cAAc,GACd,UAAU,GACV,iBAAiB,CAAC;AAExB,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAC;AACvF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAC;AAEzF,MAAM,MAAM,0BAA0B,CAAC,QAAQ,IACzC,6BAA6B,GAC7B,2BAA2B,CAAC,QAAQ,CAAC,GACrC,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLoadPlatformContext.d.ts","sourceRoot":"","sources":["../../src/platformContext/useLoadPlatformContext.ts"],"names":[],"mappings":"AAOA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAM3G,OAAO,EACH,KAAK,6BAA6B,EAGrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAElC,MAAM,YAAY,CAAC;AAYpB;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,0BAA0B,CAAC,gBAAgB,CAAC,CA0ErF;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC5C,YAAY,CAAC,SAAS,EAAE,6BAA6B,GAAG,IAAI,CAAC;IAC7D,SAAS,EAAE,MAAM,QAAQ,CAAC,0BAA0B,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC/E,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAmED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,+BACA,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,6BAA6B,GAAG,IAAI,CAE/F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWorkspaceColorPalette.d.ts","sourceRoot":"","sources":["../../src/platformContext/useWorkspaceColorPalette.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,KAAK,0BAA0B,GACzB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GACpB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,aAAa,GAAG,SAAS,CAAA;CAAE,GAC3D;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,WAAW,EAAE,MAAM,GAAG,SAAS,GAChC,0BAA0B,CAsC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWorkspacePermissions.d.ts","sourceRoot":"","sources":["../../src/platformContext/useWorkspacePermissions.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,KAAK,yBAAyB,GACxB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GACpB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,qBAAqB,CAAA;CAAE,GACtD;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,WAAW,EAAE,MAAM,GAAG,SAAS,GAChC,yBAAyB,CA2C3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWorkspaceSettings.d.ts","sourceRoot":"","sources":["../../src/platformContext/useWorkspaceSettings.ts"],"names":[],"mappings":"AAIA,OAAO,EAEH,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC9B,MAAM,2BAA2B,CAAC;AAEnC,KAAK,sBAAsB,GACrB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GACpB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,sBAAsB,CAAA;CAAE,GACpD;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,WAAW,EAAE,MAAM,GAAG,SAAS,GAChC,sBAAsB,CAqCxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWorkspaceTheme.d.ts","sourceRoot":"","sources":["../../src/platformContext/useWorkspaceTheme.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,KAAK,mBAAmB,GAClB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GACpB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC7C;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,WAAW,EAAE,MAAM,GAAG,SAAS,GAChC,mBAAmB,CAqCrB"}
|
|
@@ -24,3 +24,4 @@ export declare function shouldWaitForInjectedApiToken(): boolean;
|
|
|
24
24
|
* Resolves once a valid token has been applied. Rejects if `signal` aborts.
|
|
25
25
|
*/
|
|
26
26
|
export declare function waitForInjectedApiToken(signal?: AbortSignal): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=waitForInjectedApiToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitForInjectedApiToken.d.ts","sourceRoot":"","sources":["../../src/platformContext/waitForInjectedApiToken.ts"],"names":[],"mappings":"AA6BA;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CAQvD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DjF"}
|
|
@@ -53,3 +53,4 @@ export declare function resolveApplications({ localApps, remoteRegistry, ctx, sc
|
|
|
53
53
|
*/
|
|
54
54
|
export declare function usePluggableApplications(ctx: IPlatformContext): PluggableApplicationRegistryItem[];
|
|
55
55
|
export {};
|
|
56
|
+
//# sourceMappingURL=pluggableApplicationsRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluggableApplicationsRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/pluggableApplicationsRegistry.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,gBAAgB,EAKrB,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,mCAAmC,EAE3C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEH,KAAK,gBAAgB,EACxB,MAAM,2CAA2C,CAAC;AAMnD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CAE5F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mCAAmC,GAAG,SAAS,CAaxG;AAyMD,UAAU,2BAA2B;IACjC;;OAEG;IACH,SAAS,EAAE,gCAAgC,EAAE,CAAC;IAC9C;;OAEG;IACH,cAAc,EAAE,mCAAmC,GAAG,SAAS,CAAC;IAChE;;OAEG;IACH,GAAG,EAAE,gBAAgB,CAAC;IACtB;;OAEG;IACH,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,SAAS,EACT,cAAc,EACd,GAAG,EACH,KAAK,EACR,EAAE,2BAA2B,GAAG,gCAAgC,EAAE,CAelE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,GAAG,gCAAgC,EAAE,CAWlG"}
|
package/esm/types/lifecycle.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/types/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,sBAAsB;IAEnC,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAG/C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGxC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,+BAA+B,CAAC;CACjF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultHostUi.d.ts","sourceRoot":"","sources":["../../src/ui/DefaultHostUi.tsx"],"names":[],"mappings":"AAQA,OAAO,EAEH,KAAK,aAAa,EAKrB,MAAM,2CAA2C,CAAC;AAInD,OAAO,sBAAsB,CAAC;AAgK9B;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAEjC,CAAC"}
|
package/esm/ui/DefaultHostUi.js
CHANGED
|
@@ -12,17 +12,18 @@ function HostUiBridge({ initialCtx, initialApps, initialPathname, navigate, repl
|
|
|
12
12
|
const [pathname, setPathname] = useState(initialPathname);
|
|
13
13
|
const [headerOptions, setHeaderOptions] = useState(undefined);
|
|
14
14
|
const [notification, setNotification] = useState(null);
|
|
15
|
+
const [pageTitle, setPageTitle] = useState(undefined);
|
|
15
16
|
const appContainerRef = useRef(null);
|
|
16
17
|
// Layout effect runs in the same synchronous commit as flushSync.
|
|
17
18
|
useLayoutEffect(() => {
|
|
18
|
-
onReady(setCtx, setApps, setPathname, setHeaderOptions, setNotification);
|
|
19
|
+
onReady(setCtx, setApps, setPathname, setHeaderOptions, setNotification, setPageTitle);
|
|
19
20
|
if (appContainerRef.current) {
|
|
20
21
|
onAppContainerReady(appContainerRef.current);
|
|
21
22
|
}
|
|
22
23
|
// Only call once on mount
|
|
23
24
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
24
25
|
}, []);
|
|
25
|
-
return (_jsx(HostChrome, { ctx: ctx, resolvedApplications: apps, pathname: pathname, onNavigate: navigate, onReplace: replace, headerOptions: headerOptions, notification: notification, children: _jsx("div", { ref: appContainerRef, className: e("app-container") }) }));
|
|
26
|
+
return (_jsx(HostChrome, { ctx: ctx, resolvedApplications: apps, pathname: pathname, onNavigate: navigate, onReplace: replace, headerOptions: headerOptions, notification: notification, appPageTitle: pageTitle, children: _jsx("div", { ref: appContainerRef, className: e("app-container") }) }));
|
|
26
27
|
}
|
|
27
28
|
// ---------------------------------------------------------------------------
|
|
28
29
|
// Imperative mount function conforming to IHostUiModule
|
|
@@ -36,17 +37,19 @@ function mountDefaultHostUi(options) {
|
|
|
36
37
|
let updatePathnameFn = null;
|
|
37
38
|
let updateHeaderFn = null;
|
|
38
39
|
let updateNotificationFn = null;
|
|
40
|
+
let updateDocumentTitleFn = null;
|
|
39
41
|
// Use flushSync so that the DOM is ready synchronously after mount() returns,
|
|
40
42
|
// making getAppContainer() safe to call immediately.
|
|
41
43
|
flushSync(() => {
|
|
42
44
|
reactRoot?.render(_jsx(HostUiBridge, { initialCtx: ctx, initialApps: resolvedApplications, initialPathname: pathname, navigate: navigate, replace: replace, onAppContainerReady: (el) => {
|
|
43
45
|
appContainer = el;
|
|
44
|
-
}, onReady: (setCtx, setApps, setPathname, setHeaderOptions, setNotification) => {
|
|
46
|
+
}, onReady: (setCtx, setApps, setPathname, setHeaderOptions, setNotification, setPageTitle) => {
|
|
45
47
|
updateCtxFn = setCtx;
|
|
46
48
|
updateAppsFn = setApps;
|
|
47
49
|
updatePathnameFn = setPathname;
|
|
48
50
|
updateHeaderFn = setHeaderOptions;
|
|
49
51
|
updateNotificationFn = setNotification;
|
|
52
|
+
updateDocumentTitleFn = setPageTitle;
|
|
50
53
|
} }));
|
|
51
54
|
});
|
|
52
55
|
return {
|
|
@@ -60,6 +63,7 @@ function mountDefaultHostUi(options) {
|
|
|
60
63
|
updatePathnameFn = null;
|
|
61
64
|
updateHeaderFn = null;
|
|
62
65
|
updateNotificationFn = null;
|
|
66
|
+
updateDocumentTitleFn = null;
|
|
63
67
|
root.unmount();
|
|
64
68
|
}
|
|
65
69
|
},
|
|
@@ -75,6 +79,9 @@ function mountDefaultHostUi(options) {
|
|
|
75
79
|
updateHeader(header) {
|
|
76
80
|
updateHeaderFn?.(header);
|
|
77
81
|
},
|
|
82
|
+
updateDocumentTitle(pageTitle) {
|
|
83
|
+
updateDocumentTitleFn?.(pageTitle);
|
|
84
|
+
},
|
|
78
85
|
getAppContainer() {
|
|
79
86
|
if (!appContainer) {
|
|
80
87
|
throw new Error("Host UI app container is not available. " +
|
package/esm/ui/GenAIChat.d.ts
CHANGED
|
@@ -41,3 +41,4 @@ export interface IGenAIChatProps {
|
|
|
41
41
|
onEvent?: (event: GenAIChatEvent) => void;
|
|
42
42
|
}
|
|
43
43
|
export declare function GenAIChat({ workspaceId, open, onOpen, onClose, askedQuestion, canManageProject, canAnalyzeProject, canFullControl, settings, onEvent }: IGenAIChatProps): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
//# sourceMappingURL=GenAIChat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenAIChat.d.ts","sourceRoot":"","sources":["../../src/ui/GenAIChat.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGxE,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EAY5B,MAAM,yBAAyB,CAAC;AAWjC;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GACpB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAI7E,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC7C;AAED,wBAAgB,SAAS,CAAC,EACtB,WAAW,EACX,IAAI,EACJ,MAAM,EACN,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,OAAO,EACV,EAAE,eAAe,2CAyHjB"}
|
package/esm/ui/HostChrome.d.ts
CHANGED
|
@@ -14,6 +14,12 @@ export interface IHostChromeProps {
|
|
|
14
14
|
onReplace: (url: string) => void;
|
|
15
15
|
headerOptions?: IAppHeaderOptions;
|
|
16
16
|
notification?: IHostUiNotification | null;
|
|
17
|
+
/**
|
|
18
|
+
* Page-title segment set by the active pluggable application via its `onDocumentTitleChange`
|
|
19
|
+
* callback. When omitted, the active application's manifest title is used instead.
|
|
20
|
+
*/
|
|
21
|
+
appPageTitle?: string;
|
|
17
22
|
children?: ReactNode;
|
|
18
23
|
}
|
|
19
|
-
export declare function HostChrome({ ctx, resolvedApplications, pathname, onNavigate, onReplace: _onReplace, headerOptions, notification, children }: IHostChromeProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare function HostChrome({ ctx, resolvedApplications, pathname, onNavigate, onReplace: _onReplace, headerOptions, notification, appPageTitle, children }: IHostChromeProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=HostChrome.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HostChrome.d.ts","sourceRoot":"","sources":["../../src/ui/HostChrome.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAuC,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AAElG,OAAO,EAEH,KAAK,gCAAgC,EACxC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACxB,MAAM,2CAA2C,CAAC;AA+BnD,OAAO,mBAAmB,CAAC;AAK3B,OAAO,0CAA0C,CAAC;AAClD,OAAO,6CAA6C,CAAC;AACrD,OAAO,sDAAsD,CAAC;AAC9D,OAAO,0DAA0D,CAAC;AAIlE,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,gBAAgB,CAAC;IACtB,oBAAoB,EAAE,gCAAgC,EAAE,CAAC;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,YAAY,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,wBAAgB,UAAU,CAAC,EACvB,GAAG,EACH,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,EAAE,UAAU,EACrB,aAAa,EACb,YAAmB,EACnB,YAAY,EACZ,QAAQ,EACX,EAAE,gBAAgB,2CAsNlB"}
|
package/esm/ui/HostChrome.js
CHANGED
|
@@ -4,13 +4,13 @@ import { useCallback, useMemo } from "react";
|
|
|
4
4
|
import { isExternalPluggableApplicationRegistryItem, } from "@gooddata/sdk-model";
|
|
5
5
|
import { BackendProvider, resolveLocale } from "@gooddata/sdk-ui";
|
|
6
6
|
import { AppHeaderNotifications } from "@gooddata/sdk-ui-application-header";
|
|
7
|
-
import { AppHeader, ToastsCenterContextProvider, generateHeaderStaticHelpMenuItems, } from "@gooddata/sdk-ui-kit";
|
|
7
|
+
import { AppHeader, DocumentHeader, ToastsCenterContextProvider, generateHeaderStaticHelpMenuItems, } from "@gooddata/sdk-ui-kit";
|
|
8
8
|
import { defaultHeaderTheme } from "@gooddata/sdk-ui-theme-provider";
|
|
9
9
|
import defaultLogoUrl from "../assets/logo-white.svg";
|
|
10
10
|
import { getAppLifecycleCallbacks, preloadPluggableApplication, } from "../loader/pluggableApplicationsLoader.js";
|
|
11
|
-
import { getApplicationHref } from "../loader/routing.js";
|
|
11
|
+
import { getActiveInternalApplication, getApplicationHref } from "../loader/routing.js";
|
|
12
12
|
import { getBackend } from "../platformContext/backend.js";
|
|
13
|
-
import { buildAppMenu } from "./appMenuItems.js";
|
|
13
|
+
import { buildAppMenu, getLocalizedTitle } from "./appMenuItems.js";
|
|
14
14
|
import { getUserDisplayName, swapWorkspaceInPath } from "./chromeHelpers.js";
|
|
15
15
|
import { b, e } from "./hostChromeBem.js";
|
|
16
16
|
import { HostIntlProvider } from "./HostIntlProvider.js";
|
|
@@ -30,7 +30,7 @@ import "@gooddata/sdk-ui-gen-ai/styles/css/main.css";
|
|
|
30
30
|
import "@gooddata/sdk-ui-semantic-search/styles/css/main.css";
|
|
31
31
|
import "@gooddata/sdk-ui-semantic-search/styles/css/internal.css";
|
|
32
32
|
const LOGOUT_MENU_ITEM_KEY = "gs.header.logout";
|
|
33
|
-
export function HostChrome({ ctx, resolvedApplications, pathname, onNavigate, onReplace: _onReplace, headerOptions, notification = null, children, }) {
|
|
33
|
+
export function HostChrome({ ctx, resolvedApplications, pathname, onNavigate, onReplace: _onReplace, headerOptions, notification = null, appPageTitle, children, }) {
|
|
34
34
|
const locale = resolveLocale(ctx.preferredLocale);
|
|
35
35
|
const userName = getUserDisplayName(ctx.user);
|
|
36
36
|
const features = useHostChromeWorkspaceFeatures(resolvedApplications, ctx, pathname);
|
|
@@ -44,7 +44,12 @@ export function HostChrome({ ctx, resolvedApplications, pathname, onNavigate, on
|
|
|
44
44
|
telemetry: shellTelemetry,
|
|
45
45
|
});
|
|
46
46
|
const { menuItemsGroups, messages: appMessages } = useMemo(() => buildAppMenu(resolvedApplications, ctx, pathname, ctx.preferredLocale), [resolvedApplications, ctx, pathname]);
|
|
47
|
-
|
|
47
|
+
// The default help menu links exclusively to GoodData resources (documentation, university,
|
|
48
|
+
// community, Slack). When white-labeling is enabled (the "Hide links to GoodData documentation"
|
|
49
|
+
// setting) those must not leak into the branded header, so the host renders no default help
|
|
50
|
+
// menu. Apps may still supply their own help items via headerOptions.
|
|
51
|
+
const helpMenuItems = useMemo(() => headerOptions?.helpMenuItems ??
|
|
52
|
+
(ctx.whiteLabeling?.enabled ? [] : generateHeaderStaticHelpMenuItems()), [headerOptions, ctx.whiteLabeling?.enabled]);
|
|
48
53
|
const accountMenuItems = useMemo(() => [
|
|
49
54
|
{
|
|
50
55
|
key: LOGOUT_MENU_ITEM_KEY,
|
|
@@ -103,11 +108,32 @@ export function HostChrome({ ctx, resolvedApplications, pathname, onNavigate, on
|
|
|
103
108
|
const logoTitle = ctx.whiteLabeling?.enabled
|
|
104
109
|
? ctx.user.organizationName || defaultLogoTitle
|
|
105
110
|
: defaultLogoTitle;
|
|
111
|
+
// White-label icons are applied whenever their URLs are set, independent of the `enabled`
|
|
112
|
+
// flag (matching the standalone apps and the Appearance behavior). The favicon falls back to
|
|
113
|
+
// the default served at /favicon.ico so a previously applied custom favicon is reset once its
|
|
114
|
+
// URL is cleared, instead of leaving the stale icon in place.
|
|
115
|
+
const faviconUrl = ctx.whiteLabeling?.faviconUrl || "/favicon.ico";
|
|
116
|
+
// The host owns the browser tab title as "{page} - {brand}". The page segment defaults to the
|
|
117
|
+
// active application's manifest title, but an embedded app can override it dynamically via its
|
|
118
|
+
// mount `onDocumentTitleChange` callback (surfaced here as `appPageTitle`). When white-labeling
|
|
119
|
+
// is enabled the brand is the organization name — preferring the user profile's name, then the
|
|
120
|
+
// resolved organization descriptor title (the profile field is optional) — and is omitted (so
|
|
121
|
+
// DocumentHeader drops the " - " separator) only when neither is set. The GoodData product name
|
|
122
|
+
// is used solely when white-labeling is disabled, so a branded org never falls back to it.
|
|
123
|
+
const activeApplication = getActiveInternalApplication(resolvedApplications, ctx, pathname);
|
|
124
|
+
// An app may report an empty page segment (e.g. no insight open); treat it the same as `undefined`
|
|
125
|
+
// (omitted) so the tab falls back to the active application's manifest title rather than going blank.
|
|
126
|
+
const documentPageTitle = appPageTitle ||
|
|
127
|
+
(activeApplication ? getLocalizedTitle(activeApplication, ctx.preferredLocale) : undefined);
|
|
128
|
+
const documentBrandTitle = ctx.whiteLabeling?.enabled
|
|
129
|
+
? ctx.user.organizationName || ctx.organization?.title || ""
|
|
130
|
+
: defaultLogoTitle;
|
|
106
131
|
const headerColor = ctx.theme?.header?.backgroundColor ?? defaultHeaderTheme.backgroundColor;
|
|
107
132
|
const headerTextColor = ctx.theme?.header?.color ?? defaultHeaderTheme.color;
|
|
108
133
|
const activeColor = ctx.theme?.header?.activeColor ?? defaultHeaderTheme.activeColor;
|
|
109
134
|
const isEmbedded = ctx.embeddingMode === "iframe";
|
|
110
|
-
return (_jsx(HostIntlProvider, { locale: locale, additionalMessages: appMessages, children: _jsx(BackendProvider, { backend: getBackend(), children: _jsx(ToastsCenterContextProvider, { children: _jsxs("div", { className: b(), children: [
|
|
135
|
+
return (_jsx(HostIntlProvider, { locale: locale, additionalMessages: appMessages, children: _jsx(BackendProvider, { backend: getBackend(), children: _jsx(ToastsCenterContextProvider, { children: _jsxs("div", { className: b(), children: [
|
|
136
|
+
_jsx(DocumentHeader, { pageTitle: documentPageTitle, brandTitle: documentBrandTitle, faviconUrl: faviconUrl, appleTouchIconUrl: ctx.whiteLabeling?.appleTouchIconUrl }), isEmbedded ? null : (_jsx("div", { className: e("header"), onMouseOver: handleHeaderMouseOver, children: _jsx(AppHeader, { logoUrl: ctx.whiteLabeling?.logoUrl || defaultLogoUrl, logoHref: "/organization" // switch the host scope to organization, the first org app will be chosen
|
|
111
137
|
, logoTitle: logoTitle, headerColor: headerColor, headerTextColor: headerTextColor, activeColor: activeColor, userName: userName, organizationName: ctx.organization?.title, isAccessibilityCompliant: true, workspacePicker: workspacePicker, menuItemsGroups: menuItemsGroups, helpMenuItems: helpMenuItems, accountMenuItems: accountMenuItems, onMenuItemClick: handleMenuItemClick, showUpsellButton: pricing.isTrial, onUpsellButtonClick: pricing.onUpsellButtonClick, expiredDate: pricing.isTrial ? pricing.expiredDate : undefined, search: search.element, showChatItem: chat.showChatItem, onChatItemClick: chat.open, notificationsPanel: ctx.userSettings.enableInPlatformNotifications
|
|
112
138
|
? ({ isMobile, closeNotificationsOverlay }) => (_jsx(AppHeaderNotifications, { locale: locale, isMobile: isMobile, closeNotificationsOverlay: closeNotificationsOverlay, useAsOfDateParam: ctx.userSettings.enableExecutionTimestamp ?? false, enableExportToDocumentStorage: ctx.userSettings.enableExportToDocumentStorage ??
|
|
113
139
|
false }))
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HostIntlProvider.d.ts","sourceRoot":"","sources":["../../src/ui/HostIntlProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAIhD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAKnD,UAAU,sBAAsB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CAehG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HostNotificationDispatcher.d.ts","sourceRoot":"","sources":["../../src/ui/HostNotificationDispatcher.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGrF,UAAU,gCAAgC;IACtC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,YAAY,EAAE,EAAE,gCAAgC,QAwC5F"}
|
|
@@ -6,5 +6,7 @@ export interface IPluggableApplicationRendererProps {
|
|
|
6
6
|
ctx: IPlatformContext;
|
|
7
7
|
pathname: string;
|
|
8
8
|
onHeaderChange?: (appId: string, header: IAppHeaderOptions) => void;
|
|
9
|
+
onDocumentTitleChange?: (appId: string, pageTitle: string | undefined) => void;
|
|
9
10
|
}
|
|
10
|
-
export declare function PluggableApplicationRenderer({ app, ctx, pathname, onHeaderChange }: IPluggableApplicationRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function PluggableApplicationRenderer({ app, ctx, pathname, onHeaderChange, onDocumentTitleChange }: IPluggableApplicationRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=PluggableApplicationRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluggableApplicationRenderer.d.ts","sourceRoot":"","sources":["../../src/ui/PluggableApplicationRenderer.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAIxB,MAAM,2CAA2C,CAAC;AASnD,OAAO,qCAAqC,CAAC;AAM7C,MAAM,WAAW,kCAAkC;IAC/C,GAAG,EAAE,gCAAgC,CAAC;IACtC,GAAG,EAAE,gBAAgB,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACpE,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAClF;AAED,wBAAgB,4BAA4B,CAAC,EACzC,GAAG,EACH,GAAG,EACH,QAAQ,EACR,cAAc,EACd,qBAAqB,EACxB,EAAE,kCAAkC,2CAqIpC"}
|
|
@@ -11,9 +11,10 @@ import { getApplicationHref } from "../loader/routing.js";
|
|
|
11
11
|
import { BackendPlatformContextProvider } from "../platformContext/useLoadPlatformContext.js";
|
|
12
12
|
import "./PluggableApplicationRenderer.scss";
|
|
13
13
|
const { b, e } = bemFactory("gd-pluggable-application-renderer");
|
|
14
|
-
export function PluggableApplicationRenderer({ app, ctx, pathname, onHeaderChange, }) {
|
|
14
|
+
export function PluggableApplicationRenderer({ app, ctx, pathname, onHeaderChange, onDocumentTitleChange, }) {
|
|
15
15
|
const ctxRef = useAutoupdateRef(ctx);
|
|
16
16
|
const onHeaderChangeRef = useAutoupdateRef(onHeaderChange);
|
|
17
|
+
const onDocumentTitleChangeRef = useAutoupdateRef(onDocumentTitleChange);
|
|
17
18
|
const containerRef = useRef(null);
|
|
18
19
|
const mountHandleRef = useRef(undefined);
|
|
19
20
|
const [viewState, setViewState] = useState({ state: "loading" });
|
|
@@ -62,6 +63,7 @@ export function PluggableApplicationRenderer({ app, ctx, pathname, onHeaderChang
|
|
|
62
63
|
onEvent,
|
|
63
64
|
onTelemetryEvent,
|
|
64
65
|
onHeaderChange: (header) => onHeaderChangeRef.current?.(app.id, header),
|
|
66
|
+
onDocumentTitleChange: (pageTitle) => onDocumentTitleChangeRef.current?.(app.id, pageTitle),
|
|
65
67
|
});
|
|
66
68
|
lifecycle?.onMountCompleted?.(app.id, now() - mountStart);
|
|
67
69
|
lifecycle?.onRendered?.(app.id, now() - totalStart);
|
|
@@ -90,7 +92,16 @@ export function PluggableApplicationRenderer({ app, ctx, pathname, onHeaderChang
|
|
|
90
92
|
});
|
|
91
93
|
}
|
|
92
94
|
};
|
|
93
|
-
}, [
|
|
95
|
+
}, [
|
|
96
|
+
app,
|
|
97
|
+
appBasePath,
|
|
98
|
+
ctxRef,
|
|
99
|
+
onHeaderChangeRef,
|
|
100
|
+
onDocumentTitleChangeRef,
|
|
101
|
+
onTelemetryEvent,
|
|
102
|
+
lifecycle,
|
|
103
|
+
onEvent,
|
|
104
|
+
]);
|
|
94
105
|
useEffect(() => {
|
|
95
106
|
mountHandleRef.current?.updateContext?.(ctx);
|
|
96
107
|
}, [ctx]);
|
|
@@ -23,3 +23,4 @@ export interface ISemanticSearchProps {
|
|
|
23
23
|
onEvent?: (event: SemanticSearchEvent) => void;
|
|
24
24
|
}
|
|
25
25
|
export declare function SemanticSearch({ backend, workspaceId, metadataTimeZone, canManage, canAnalyze, canFullControl, isTrial, enableUseGenAIChat, useHostedMetricEditor, useHostedAnalyticalDesigner, useHostedLdmModeler, onAskAiAssistant, onEvent }: ISemanticSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
//# sourceMappingURL=SemanticSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SemanticSearch.d.ts","sourceRoot":"","sources":["../../src/ui/SemanticSearch.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAEH,KAAK,cAAc,EAItB,MAAM,2CAA2C,CAAC;AAInD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAAC;AAExF,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,cAAc,CAAC,EAC3B,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,SAAiB,EACjB,UAAkB,EAClB,cAAsB,EACtB,OAAe,EACf,kBAA0B,EAC1B,qBAA6B,EAC7B,2BAAmC,EACnC,mBAA2B,EAC3B,gBAAgB,EAChB,OAAO,EACV,EAAE,oBAAoB,2CA6EtB"}
|
|
@@ -7,3 +7,4 @@ export interface IAppHeaderWorkspacePickerProps {
|
|
|
7
7
|
onWorkspaceSelect: (workspace: IHeaderWorkspace) => void;
|
|
8
8
|
}
|
|
9
9
|
export declare function AppHeaderWorkspacePicker({ backend, userId, workspaceId, onWorkspaceSelect }: IAppHeaderWorkspacePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=WorkspacePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspacePicker.d.ts","sourceRoot":"","sources":["../../src/ui/WorkspacePicker.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,WAAW,8BAA8B;IAC3C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC5D;AA8BD,wBAAgB,wBAAwB,CAAC,EACrC,OAAO,EACP,MAAM,EACN,WAAW,EACX,iBAAiB,EACpB,EAAE,8BAA8B,2CAWhC"}
|
package/esm/ui/appMenuItems.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ILocale, type PluggableApplicationRegistryItem } from "@gooddata/sdk-model";
|
|
2
2
|
import { type IPlatformContext } from "@gooddata/sdk-pluggable-application-model";
|
|
3
3
|
import { type IHeaderMenuItem } from "@gooddata/sdk-ui-kit";
|
|
4
|
+
export declare function getLocalizedTitle(app: PluggableApplicationRegistryItem, locale: ILocale | undefined): string;
|
|
4
5
|
export interface IAppMenuResult {
|
|
5
6
|
menuItemsGroups: IHeaderMenuItem[][];
|
|
6
7
|
messages: Record<string, string>;
|
|
@@ -15,3 +16,4 @@ export interface IAppMenuResult {
|
|
|
15
16
|
* workspace/organization-scoped URLs and active state detection.
|
|
16
17
|
*/
|
|
17
18
|
export declare function buildAppMenu(apps: PluggableApplicationRegistryItem[], ctx: IPlatformContext, pathname: string, locale: ILocale | undefined): IAppMenuResult;
|
|
19
|
+
//# sourceMappingURL=appMenuItems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appMenuItems.d.ts","sourceRoot":"","sources":["../../src/ui/appMenuItems.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,gCAAgC,EAExC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AACxG,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAkC5D,wBAAgB,iBAAiB,CAC7B,GAAG,EAAE,gCAAgC,EACrC,MAAM,EAAE,OAAO,GAAG,SAAS,GAC5B,MAAM,CAQR;AAED,MAAM,WAAW,cAAc;IAC3B,eAAe,EAAE,eAAe,EAAE,EAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAeD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CACxB,IAAI,EAAE,gCAAgC,EAAE,EACxC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,GAAG,SAAS,GAC5B,cAAc,CA4BhB"}
|
package/esm/ui/appMenuItems.js
CHANGED
|
@@ -27,7 +27,7 @@ const NAV_MSG_PREFIX = "shellApplication.menuItem.";
|
|
|
27
27
|
function navMessageKey(appId) {
|
|
28
28
|
return `${NAV_MSG_PREFIX}${appId}`;
|
|
29
29
|
}
|
|
30
|
-
function getLocalizedTitle(app, locale) {
|
|
30
|
+
export function getLocalizedTitle(app, locale) {
|
|
31
31
|
if (locale && app.localizedTitle) {
|
|
32
32
|
const localizedTitle = app.localizedTitle[locale];
|
|
33
33
|
if (localizedTitle) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromeHelpers.d.ts","sourceRoot":"","sources":["../../src/ui/chromeHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAStD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAGpF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostChromeBem.d.ts","sourceRoot":"","sources":["../../src/ui/hostChromeBem.ts"],"names":[],"mappings":"AAIA,eAAO,MAAQ,CAAC,6EAAE,CAAC,4FAAiC,CAAC"}
|
|
@@ -6,3 +6,4 @@ import { type IPlatformContext, type IHostUiModule } from "@gooddata/sdk-pluggab
|
|
|
6
6
|
* via module federation. Otherwise, the built-in default host UI is used.
|
|
7
7
|
*/
|
|
8
8
|
export declare function resolveHostUiModule(ctx: IPlatformContext): Promise<IHostUiModule>;
|
|
9
|
+
//# sourceMappingURL=resolveHostUiModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveHostUiModule.d.ts","sourceRoot":"","sources":["../../src/ui/resolveHostUiModule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAOtG;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAevF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHostChromeChat.d.ts","sourceRoot":"","sources":["../../src/ui/useHostChromeChat.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAyB,MAAM,OAAO,CAAC;AAE9D,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,+BAA+B,EACvC,MAAM,2CAA2C,CAAC;AAMnD,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAExF,MAAM,WAAW,eAAe;IAC5B,4EAA4E;IAC5E,OAAO,EAAE,SAAS,CAAC;IACnB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,4DAA4D;IAC5D,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,4BAA4B,CAAC;IACvC,GAAG,EAAE,gBAAgB,CAAC;IACtB,SAAS,EAAE,+BAA+B,GAAG,SAAS,CAAC;CAC1D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,sBAAsB,GAAG,eAAe,CAqDvG"}
|
|
@@ -50,3 +50,4 @@ export declare function setHostPricingExtension(extension: UseHostPricingExtensi
|
|
|
50
50
|
* back to a no-op shape when no pricing extension is registered.
|
|
51
51
|
*/
|
|
52
52
|
export declare function useHostChromePricing(ctx: IPlatformContext, locale: string): IHostChromePricing;
|
|
53
|
+
//# sourceMappingURL=useHostChromePricing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHostChromePricing.d.ts","sourceRoot":"","sources":["../../src/ui/useHostChromePricing.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAElF;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAC/B,oEAAoE;IACpE,OAAO,EAAE,SAAS,CAAC;IACnB,2FAA2F;IAC3F,OAAO,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,KAAK,kBAAkB,CAAC;AAIpG;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI,CAE5F;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAE9F"}
|
|
@@ -18,3 +18,4 @@ export interface IUseHostChromeSearchArgs {
|
|
|
18
18
|
* footer button so it can hand the user's question to the chat hook.
|
|
19
19
|
*/
|
|
20
20
|
export declare function useHostChromeSearch({ features, isTrial, onAskAiAssistant, telemetry }: IUseHostChromeSearchArgs): IHostChromeSearch;
|
|
21
|
+
//# sourceMappingURL=useHostChromeSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHostChromeSearch.d.ts","sourceRoot":"","sources":["../../src/ui/useHostChromeSearch.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAKjG,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAC9B,uFAAuF;IACvF,OAAO,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,4BAA4B,CAAC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,+BAA+B,GAAG,SAAS,CAAC;CAC1D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,SAAS,EACZ,EAAE,wBAAwB,GAAG,iBAAiB,CA8B9C"}
|
|
@@ -17,3 +17,4 @@ export interface IHostChromeWorkspaceFeatures {
|
|
|
17
17
|
* chrome needs to decide whether to render search, chat, etc.
|
|
18
18
|
*/
|
|
19
19
|
export declare function useHostChromeWorkspaceFeatures(resolvedApplications: PluggableApplicationRegistryItem[], ctx: IPlatformContext, pathname: string): IHostChromeWorkspaceFeatures;
|
|
20
|
+
//# sourceMappingURL=useHostChromeWorkspaceFeatures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHostChromeWorkspaceFeatures.d.ts","sourceRoot":"","sources":["../../src/ui/useHostChromeWorkspaceFeatures.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAI3G,MAAM,WAAW,4BAA4B;IACzC,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC1C,oBAAoB,EAAE,gCAAgC,EAAE,EACxD,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,GACjB,4BAA4B,CAmC9B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-pluggable-host",
|
|
3
|
-
"version": "11.41.0-alpha.
|
|
3
|
+
"version": "11.41.0-alpha.5",
|
|
4
4
|
"description": "GoodData SDK runtime for hosting pluggable applications — registry, loader, routing, platform context, default UI chrome",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData Corporation",
|
|
@@ -29,20 +29,20 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@module-federation/runtime": "2.3.1",
|
|
31
31
|
"lodash-es": "^4.17.23",
|
|
32
|
-
"@gooddata/sdk-backend-base": "11.41.0-alpha.
|
|
33
|
-
"@gooddata/sdk-backend-spi": "11.41.0-alpha.
|
|
34
|
-
"@gooddata/sdk-
|
|
35
|
-
"@gooddata/sdk-model": "11.41.0-alpha.
|
|
36
|
-
"@gooddata/sdk-
|
|
37
|
-
"@gooddata/sdk-pluggable-application-model": "11.41.0-alpha.
|
|
38
|
-
"@gooddata/sdk-ui": "11.41.0-alpha.
|
|
39
|
-
"@gooddata/sdk-ui-
|
|
40
|
-
"@gooddata/sdk-ui-
|
|
41
|
-
"@gooddata/sdk-ui-gen-ai": "11.41.0-alpha.
|
|
42
|
-
"@gooddata/sdk-ui-kit": "11.41.0-alpha.
|
|
43
|
-
"@gooddata/sdk-ui-semantic-search": "11.41.0-alpha.
|
|
44
|
-
"@gooddata/sdk-ui-theme-provider": "11.41.0-alpha.
|
|
45
|
-
"@gooddata/util": "11.41.0-alpha.
|
|
32
|
+
"@gooddata/sdk-backend-base": "11.41.0-alpha.5",
|
|
33
|
+
"@gooddata/sdk-backend-spi": "11.41.0-alpha.5",
|
|
34
|
+
"@gooddata/sdk-backend-tiger": "11.41.0-alpha.5",
|
|
35
|
+
"@gooddata/sdk-model": "11.41.0-alpha.5",
|
|
36
|
+
"@gooddata/sdk-embedding": "11.41.0-alpha.5",
|
|
37
|
+
"@gooddata/sdk-pluggable-application-model": "11.41.0-alpha.5",
|
|
38
|
+
"@gooddata/sdk-ui": "11.41.0-alpha.5",
|
|
39
|
+
"@gooddata/sdk-ui-ext": "11.41.0-alpha.5",
|
|
40
|
+
"@gooddata/sdk-ui-application-header": "11.41.0-alpha.5",
|
|
41
|
+
"@gooddata/sdk-ui-gen-ai": "11.41.0-alpha.5",
|
|
42
|
+
"@gooddata/sdk-ui-kit": "11.41.0-alpha.5",
|
|
43
|
+
"@gooddata/sdk-ui-semantic-search": "11.41.0-alpha.5",
|
|
44
|
+
"@gooddata/sdk-ui-theme-provider": "11.41.0-alpha.5",
|
|
45
|
+
"@gooddata/util": "11.41.0-alpha.5"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -85,8 +85,8 @@
|
|
|
85
85
|
"vite": "8.0.16",
|
|
86
86
|
"vitest": "4.1.8",
|
|
87
87
|
"vitest-dom": "0.1.1",
|
|
88
|
-
"@gooddata/eslint-config": "11.41.0-alpha.
|
|
89
|
-
"@gooddata/oxlint-config": "11.41.0-alpha.
|
|
88
|
+
"@gooddata/eslint-config": "11.41.0-alpha.5",
|
|
89
|
+
"@gooddata/oxlint-config": "11.41.0-alpha.5"
|
|
90
90
|
},
|
|
91
91
|
"peerDependencies": {
|
|
92
92
|
"react": ">=18.3.1",
|