@gooddata/sdk-ui-pluggable-host 11.60.0-alpha.1 → 11.60.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/loader/legacyRedirect.d.ts.map +1 -1
- package/esm/loader/legacyRedirect.js +45 -5
- package/esm/registry/pluggableApplicationsRegistry.d.ts.map +1 -1
- package/esm/registry/pluggableApplicationsRegistry.js +1 -2
- package/esm/ui/SemanticSearch.d.ts +1 -2
- package/esm/ui/SemanticSearch.d.ts.map +1 -1
- package/esm/ui/SemanticSearch.js +1 -2
- package/esm/ui/useHostChromeSearch.d.ts.map +1 -1
- package/esm/ui/useHostChromeSearch.js +1 -1
- package/package.json +17 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacyRedirect.d.ts","sourceRoot":"","sources":["../../src/loader/legacyRedirect.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"legacyRedirect.d.ts","sourceRoot":"","sources":["../../src/loader/legacyRedirect.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB;AA0FD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAiD3E;AAYD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtE"}
|
|
@@ -9,6 +9,50 @@ function toHashHostUrl(embedded, app, workspaceId, remainder, search) {
|
|
|
9
9
|
const hash = remainder ? `#${remainder}` : "";
|
|
10
10
|
return `${prefix}/workspace/${workspaceId}/${app}/${search}${hash}`;
|
|
11
11
|
}
|
|
12
|
+
const AI_BUILDER_PARAM_PREFIX = "aibuilder=";
|
|
13
|
+
// Hosted AD links carry `aibuilder` in the query string, not in the hash query.
|
|
14
|
+
function liftAiBuilderToSearch(remainder, search) {
|
|
15
|
+
const queryStart = remainder.indexOf("?");
|
|
16
|
+
if (queryStart === -1) {
|
|
17
|
+
return { remainder, search };
|
|
18
|
+
}
|
|
19
|
+
const params = remainder.slice(queryStart + 1).split("&");
|
|
20
|
+
const lifted = params.filter((param) => param.startsWith(AI_BUILDER_PARAM_PREFIX));
|
|
21
|
+
if (lifted.length === 0) {
|
|
22
|
+
return { remainder, search };
|
|
23
|
+
}
|
|
24
|
+
const kept = params.filter((param) => !param.startsWith(AI_BUILDER_PARAM_PREFIX));
|
|
25
|
+
const hashRest = `${remainder.slice(0, queryStart)}${kept.length ? `?${kept.join("&")}` : ""}`;
|
|
26
|
+
return {
|
|
27
|
+
remainder: hashRest === "/" ? "" : hashRest,
|
|
28
|
+
search: `${search ? `${search}&` : "?"}${lifted.join("&")}`,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
// The report and the literal edit action must follow <product>:<client>, so a `client` workspace
|
|
32
|
+
// with a colon in an insight id (#/client/<id>/edit[/reload]) does not match.
|
|
33
|
+
const CLIENT_HASH = /^#\/client\/[-\w]+:[-\w]+\/[^/?]+\/edit(?:\/reload)?(?:[?]|$)/;
|
|
34
|
+
// AD legacy hash: #/<ws>/<rest> — workspace is the bare first segment.
|
|
35
|
+
function mapLegacyAnalyzeUrl(pathname, hash, search) {
|
|
36
|
+
const embedded = isUnder(pathname, "/analyze/embedded");
|
|
37
|
+
// The standalone app sent users without BASE_UI_ACCESS here. The host root applies the same
|
|
38
|
+
// restriction and lands the user on an application they are permitted to use.
|
|
39
|
+
if (pathname === "/analyze/403.html") {
|
|
40
|
+
return "/";
|
|
41
|
+
}
|
|
42
|
+
// #/client/<product>:<client>/<report>/edit has no workspace id, and no backend the host
|
|
43
|
+
// supports can resolve a client to a workspace. Outside an embedding, fall back to the bare
|
|
44
|
+
// landing, which opens AD in the remembered or first workspace. Inside an embedding, leave the
|
|
45
|
+
// URL alone: a landing in some other workspace must not replace the embedded insight.
|
|
46
|
+
if (CLIENT_HASH.test(hash)) {
|
|
47
|
+
return embedded ? null : `/analyze${search}`;
|
|
48
|
+
}
|
|
49
|
+
const match = /^#\/([^/?]+)(.*)$/.exec(hash);
|
|
50
|
+
if (!match) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const lifted = liftAiBuilderToSearch(match[2], search);
|
|
54
|
+
return toHashHostUrl(embedded, "analyze", match[1], lifted.remainder, lifted.search);
|
|
55
|
+
}
|
|
12
56
|
// Where the standalone home-ui pages live inside the host: the gdc-home-ui module is mounted
|
|
13
57
|
// on the organization scope under this route base, and keeps the legacy path shape below it.
|
|
14
58
|
const HOME_UI_ROUTE_BASE = "/organization/settings";
|
|
@@ -42,12 +86,8 @@ export function mapLegacyUrlToHost(location) {
|
|
|
42
86
|
? toHashHostUrl(isUnder(pathname, "/dashboards/embedded"), "dashboards", match[1], match[2], search)
|
|
43
87
|
: null;
|
|
44
88
|
}
|
|
45
|
-
// AD legacy hash: #/<ws>/<rest> — workspace is the bare first segment.
|
|
46
89
|
if (isUnder(pathname, "/analyze")) {
|
|
47
|
-
|
|
48
|
-
return match
|
|
49
|
-
? toHashHostUrl(isUnder(pathname, "/analyze/embedded"), "analyze", match[1], match[2], search)
|
|
50
|
-
: null;
|
|
90
|
+
return mapLegacyAnalyzeUrl(pathname, hash, search);
|
|
51
91
|
}
|
|
52
92
|
// Metric editor (standalone only): hash #/<ws>[/rest] becomes the path /workspace/<ws>/metrics[/rest].
|
|
53
93
|
if (isUnder(pathname, "/metrics")) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluggableApplicationsRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/pluggableApplicationsRegistry.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,gBAAgB,EAErB,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,mCAAmC,EAG3C,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;
|
|
1
|
+
{"version":3,"file":"pluggableApplicationsRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/pluggableApplicationsRegistry.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,gBAAgB,EAErB,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,mCAAmC,EAG3C,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;AAqMD,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;IACpC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,SAAS,EACT,cAAc,EACd,GAAG,EACH,KAAK,EACL,wBAAgC,EAChC,YAAoB,GACvB,EAAE,2BAA2B,GAAG,gCAAgC,EAAE,CAiBlE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qCAAqC,CACjD,GAAG,EAAE,gBAAgB,GACtB,gCAAgC,EAAE,CASpC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,GAAG,gCAAgC,EAAE,CAWlG"}
|
|
@@ -96,7 +96,7 @@ function toPluggableApplicationOrganizationPermissions(permissions) {
|
|
|
96
96
|
hasBaseUiAccess: permissions.hasBaseUiAccess ?? false,
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
|
-
// Forces the
|
|
99
|
+
// Forces the dashboards shell flag on. A flag source that cannot be reached resolves it false, which
|
|
100
100
|
// leaves only the legacy external twin eligible; route matching skips external apps, so an embedded
|
|
101
101
|
// or export URL would then match nothing.
|
|
102
102
|
function settingsForRequirements(ctx) {
|
|
@@ -106,7 +106,6 @@ function settingsForRequirements(ctx) {
|
|
|
106
106
|
return {
|
|
107
107
|
...ctx.settings,
|
|
108
108
|
enableShellApplication_dashboards: true,
|
|
109
|
-
enableShellApplication_analyticalDesigner: true,
|
|
110
109
|
};
|
|
111
110
|
}
|
|
112
111
|
function appMeetsRequirements({ requiredSettings, requiredWorkspacePermissions, requiredOrganizationPermissions, requiredEntitlements, }, ctx, skipWorkspacePermissions, skipSettings) {
|
|
@@ -16,10 +16,9 @@ export interface ISemanticSearchProps {
|
|
|
16
16
|
metadataTimeZone?: string;
|
|
17
17
|
isTrial?: boolean;
|
|
18
18
|
enableUseGenAIChat?: boolean;
|
|
19
|
-
useHostedAnalyticalDesigner?: boolean;
|
|
20
19
|
useHostedDashboards?: boolean;
|
|
21
20
|
onAskAiAssistant?: (question: string) => void;
|
|
22
21
|
onEvent?: (event: SemanticSearchEvent) => void;
|
|
23
22
|
}
|
|
24
|
-
export declare function SemanticSearch({ backend, workspaceId, metadataTimeZone, canManage, canAnalyze, canFullControl, isTrial, enableUseGenAIChat,
|
|
23
|
+
export declare function SemanticSearch({ backend, workspaceId, metadataTimeZone, canManage, canAnalyze, canFullControl, isTrial, enableUseGenAIChat, useHostedDashboards, onAskAiAssistant, onEvent, }: ISemanticSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
25
24
|
//# sourceMappingURL=SemanticSearch.d.ts.map
|
|
@@ -1 +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,
|
|
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,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,mBAA2B,EAC3B,gBAAgB,EAChB,OAAO,GACV,EAAE,oBAAoB,2CAkFtB"}
|
package/esm/ui/SemanticSearch.js
CHANGED
|
@@ -4,7 +4,7 @@ import { useCallback, useEffect, useMemo } from "react";
|
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
5
|
import { FooterButtonAiAssistant, SearchOverlay, useSearchMetrics, } from "@gooddata/sdk-ui-semantic-search/internal";
|
|
6
6
|
const RESULTS_LIMIT = 10;
|
|
7
|
-
export function SemanticSearch({ backend, workspaceId, metadataTimeZone, canManage = false, canAnalyze = false, canFullControl = false, isTrial = false, enableUseGenAIChat = false,
|
|
7
|
+
export function SemanticSearch({ backend, workspaceId, metadataTimeZone, canManage = false, canAnalyze = false, canFullControl = false, isTrial = false, enableUseGenAIChat = false, useHostedDashboards = false, onAskAiAssistant, onEvent, }) {
|
|
8
8
|
const intl = useIntl();
|
|
9
9
|
const objectTypes = useMemo(() => {
|
|
10
10
|
const types = ["dashboard", "visualization"];
|
|
@@ -44,7 +44,6 @@ export function SemanticSearch({ backend, workspaceId, metadataTimeZone, canMana
|
|
|
44
44
|
};
|
|
45
45
|
return (_jsx(SearchOverlay, { limit: RESULTS_LIMIT, locale: intl.locale, onSelect: onSelect, onSearch: onSearchMetrics, deepSearch: false, objectTypes: objectTypes, workspace: workspaceId, backend: backend, canManage: canManage, canAnalyze: canAnalyze, canFullControl: canFullControl, metadataTimezone: metadataTimeZone, uiPathOptions: {
|
|
46
46
|
useHostedMetricEditor: true,
|
|
47
|
-
useHostedAnalyticalDesigner,
|
|
48
47
|
useHostedLdmModeler: true,
|
|
49
48
|
useHostedDashboards,
|
|
50
49
|
}, renderFooter: renderFooter }));
|
|
@@ -1 +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,GACZ,EAAE,wBAAwB,GAAG,iBAAiB,
|
|
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,GACZ,EAAE,wBAAwB,GAAG,iBAAiB,CA0B9C"}
|
|
@@ -13,6 +13,6 @@ export function useHostChromeSearch({ features, isTrial, onAskAiAssistant, telem
|
|
|
13
13
|
const handleSearchEvent = useCallback((event) => {
|
|
14
14
|
telemetry?.trackEvent(event.name, event.payload);
|
|
15
15
|
}, [telemetry]);
|
|
16
|
-
const element = features.showSearch && features.workspaceId ? (_jsx(SemanticSearch, { backend: getBackend(), workspaceId: features.workspaceId, canManage: features.canManageProject, canAnalyze: features.canAnalyzeWorkspace, canFullControl: features.canFullControl, metadataTimeZone: features.settings.metadataTimeZone, isTrial: isTrial, enableUseGenAIChat: features.showChat,
|
|
16
|
+
const element = features.showSearch && features.workspaceId ? (_jsx(SemanticSearch, { backend: getBackend(), workspaceId: features.workspaceId, canManage: features.canManageProject, canAnalyze: features.canAnalyzeWorkspace, canFullControl: features.canFullControl, metadataTimeZone: features.settings.metadataTimeZone, isTrial: isTrial, enableUseGenAIChat: features.showChat, useHostedDashboards: Boolean(features.settings.enableShellApplication_dashboards), onAskAiAssistant: onAskAiAssistant, onEvent: handleSearchEvent })) : null;
|
|
17
17
|
return { element };
|
|
18
18
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-pluggable-host",
|
|
3
|
-
"version": "11.60.0-alpha.
|
|
3
|
+
"version": "11.60.0-alpha.3",
|
|
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.6.0",
|
|
31
31
|
"lodash-es": "^4.17.23",
|
|
32
|
-
"@gooddata/sdk-backend-base": "11.60.0-alpha.
|
|
33
|
-
"@gooddata/sdk-backend-spi": "11.60.0-alpha.
|
|
34
|
-
"@gooddata/sdk-
|
|
35
|
-
"@gooddata/sdk-model": "11.60.0-alpha.
|
|
36
|
-
"@gooddata/sdk-
|
|
37
|
-
"@gooddata/sdk-
|
|
38
|
-
"@gooddata/sdk-
|
|
39
|
-
"@gooddata/sdk-ui-application-header": "11.60.0-alpha.
|
|
40
|
-
"@gooddata/sdk-ui-
|
|
41
|
-
"@gooddata/sdk-ui-
|
|
42
|
-
"@gooddata/sdk-ui-
|
|
43
|
-
"@gooddata/sdk-ui-
|
|
44
|
-
"@gooddata/sdk-ui-theme-provider": "11.60.0-alpha.
|
|
45
|
-
"@gooddata/util": "11.60.0-alpha.
|
|
32
|
+
"@gooddata/sdk-backend-base": "11.60.0-alpha.3",
|
|
33
|
+
"@gooddata/sdk-backend-spi": "11.60.0-alpha.3",
|
|
34
|
+
"@gooddata/sdk-embedding": "11.60.0-alpha.3",
|
|
35
|
+
"@gooddata/sdk-model": "11.60.0-alpha.3",
|
|
36
|
+
"@gooddata/sdk-pluggable-application-model": "11.60.0-alpha.3",
|
|
37
|
+
"@gooddata/sdk-backend-tiger": "11.60.0-alpha.3",
|
|
38
|
+
"@gooddata/sdk-ui": "11.60.0-alpha.3",
|
|
39
|
+
"@gooddata/sdk-ui-application-header": "11.60.0-alpha.3",
|
|
40
|
+
"@gooddata/sdk-ui-gen-ai": "11.60.0-alpha.3",
|
|
41
|
+
"@gooddata/sdk-ui-kit": "11.60.0-alpha.3",
|
|
42
|
+
"@gooddata/sdk-ui-semantic-search": "11.60.0-alpha.3",
|
|
43
|
+
"@gooddata/sdk-ui-ext": "11.60.0-alpha.3",
|
|
44
|
+
"@gooddata/sdk-ui-theme-provider": "11.60.0-alpha.3",
|
|
45
|
+
"@gooddata/util": "11.60.0-alpha.3"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@microsoft/api-documenter": "7.30.16",
|
|
@@ -81,8 +81,8 @@
|
|
|
81
81
|
"vite": "8.0.16",
|
|
82
82
|
"vitest": "4.1.11",
|
|
83
83
|
"vitest-dom": "0.1.1",
|
|
84
|
-
"@gooddata/
|
|
85
|
-
"@gooddata/
|
|
84
|
+
"@gooddata/eslint-config": "11.60.0-alpha.3",
|
|
85
|
+
"@gooddata/oxlint-config": "11.60.0-alpha.3"
|
|
86
86
|
},
|
|
87
87
|
"peerDependencies": {
|
|
88
88
|
"react": ">=18.3.1",
|