@gooddata/sdk-ui-pluggable-host 11.64.0-alpha.0 → 11.64.0-alpha.2

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.
@@ -44,7 +44,7 @@ interface IResolveApplicationsOptions {
44
44
  *
45
45
  * Processing steps (in order):
46
46
  * 1. Filter local apps by allowedStandardApplications list (if provided in remote registry)
47
- * 2. Filter local apps by BASE_UI_ACCESS organization permission (if restrictBaseUi is set)
47
+ * 2. Filter local apps by BASE_UI_ACCESS organization permission (if restrictBaseUi is set; export mode keeps the exporting apps)
48
48
  * 3. Merge local and remote applications - local apps are added first, duplicates (by ID) are skipped with console.error
49
49
  * 4. Apply overrides from the remote registry to the merged list
50
50
  * 5. Filter out disabled applications (isEnabled: false)
@@ -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;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"}
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,EAGH,KAAK,gBAAgB,EACxB,MAAM,2CAA2C,CAAC;AAWnD;;;;;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;AA+MD,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"}
@@ -1,7 +1,12 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  import { useMemo } from "react";
3
3
  import { evaluateCondition, toPluggableApplicationWorkspacePermissions, } from "@gooddata/sdk-model";
4
+ import { DefaultApplicationId, } from "@gooddata/sdk-pluggable-application-model";
4
5
  const SUPPORTED_API_VERSION = "1.0";
6
+ const EXPORTING_APPLICATION_IDS = new Set([
7
+ DefaultApplicationId.DASHBOARDS,
8
+ "gdc-publisher",
9
+ ]);
5
10
  let registeredLocalApplications;
6
11
  /**
7
12
  * Registers the local pluggable applications manifest. Called by the host or harness
@@ -150,19 +155,29 @@ function filterByScope(apps, scope) {
150
155
  * BASE_UI_ACCESS is a platform-wide organization permission that gates visibility of all
151
156
  * standard (local) applications. Remote applications are not subject to this check because
152
157
  * they are registered explicitly by the tenant and are expected to manage their own access.
158
+ *
159
+ * In export mode the applications that render exports stay available: the export browser renders as
160
+ * the user who requested the export, who may lack BASE_UI_ACCESS, and the export URL would otherwise
161
+ * match nothing.
153
162
  */
154
163
  function filterLocalByBaseUiAccess(localApps, ctx) {
155
164
  if (!ctx.userSettings.restrictBaseUi) {
156
165
  return localApps;
157
166
  }
158
- return ctx.organizationPermissions?.hasBaseUiAccess ? localApps : [];
167
+ if (ctx.organizationPermissions?.hasBaseUiAccess) {
168
+ return localApps;
169
+ }
170
+ if (ctx.isExportMode === true) {
171
+ return localApps.filter((app) => EXPORTING_APPLICATION_IDS.has(app.id));
172
+ }
173
+ return [];
159
174
  }
160
175
  /**
161
176
  * Resolves the final list of pluggable applications from the local and remote registries.
162
177
  *
163
178
  * Processing steps (in order):
164
179
  * 1. Filter local apps by allowedStandardApplications list (if provided in remote registry)
165
- * 2. Filter local apps by BASE_UI_ACCESS organization permission (if restrictBaseUi is set)
180
+ * 2. Filter local apps by BASE_UI_ACCESS organization permission (if restrictBaseUi is set; export mode keeps the exporting apps)
166
181
  * 3. Merge local and remote applications - local apps are added first, duplicates (by ID) are skipped with console.error
167
182
  * 4. Apply overrides from the remote registry to the merged list
168
183
  * 5. Filter out disabled applications (isEnabled: false)
@@ -14,3 +14,9 @@ body {
14
14
  margin: 0;
15
15
  padding: 0;
16
16
  }
17
+
18
+ /* Browsers give form controls their own font. :where() keeps component rules winning. */
19
+ :where(button, input, optgroup, select, textarea) {
20
+ font: inherit;
21
+ color: inherit;
22
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-pluggable-host",
3
- "version": "11.64.0-alpha.0",
3
+ "version": "11.64.0-alpha.2",
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.64.0-alpha.0",
33
- "@gooddata/sdk-backend-spi": "11.64.0-alpha.0",
34
- "@gooddata/sdk-embedding": "11.64.0-alpha.0",
35
- "@gooddata/sdk-backend-tiger": "11.64.0-alpha.0",
36
- "@gooddata/sdk-model": "11.64.0-alpha.0",
37
- "@gooddata/sdk-pluggable-application-model": "11.64.0-alpha.0",
38
- "@gooddata/sdk-ui": "11.64.0-alpha.0",
39
- "@gooddata/sdk-ui-application-header": "11.64.0-alpha.0",
40
- "@gooddata/sdk-ui-ext": "11.64.0-alpha.0",
41
- "@gooddata/sdk-ui-gen-ai": "11.64.0-alpha.0",
42
- "@gooddata/sdk-ui-kit": "11.64.0-alpha.0",
43
- "@gooddata/sdk-ui-semantic-search": "11.64.0-alpha.0",
44
- "@gooddata/sdk-ui-theme-provider": "11.64.0-alpha.0",
45
- "@gooddata/util": "11.64.0-alpha.0"
32
+ "@gooddata/sdk-backend-base": "11.64.0-alpha.2",
33
+ "@gooddata/sdk-backend-spi": "11.64.0-alpha.2",
34
+ "@gooddata/sdk-backend-tiger": "11.64.0-alpha.2",
35
+ "@gooddata/sdk-embedding": "11.64.0-alpha.2",
36
+ "@gooddata/sdk-model": "11.64.0-alpha.2",
37
+ "@gooddata/sdk-pluggable-application-model": "11.64.0-alpha.2",
38
+ "@gooddata/sdk-ui": "11.64.0-alpha.2",
39
+ "@gooddata/sdk-ui-ext": "11.64.0-alpha.2",
40
+ "@gooddata/sdk-ui-gen-ai": "11.64.0-alpha.2",
41
+ "@gooddata/sdk-ui-application-header": "11.64.0-alpha.2",
42
+ "@gooddata/sdk-ui-kit": "11.64.0-alpha.2",
43
+ "@gooddata/sdk-ui-semantic-search": "11.64.0-alpha.2",
44
+ "@gooddata/sdk-ui-theme-provider": "11.64.0-alpha.2",
45
+ "@gooddata/util": "11.64.0-alpha.2"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@microsoft/api-documenter": "7.30.16",
@@ -81,8 +81,8 @@
81
81
  "typescript": "7.0.2",
82
82
  "vite": "8.0.16",
83
83
  "vitest": "5.0.4",
84
- "@gooddata/eslint-config": "11.64.0-alpha.0",
85
- "@gooddata/oxlint-config": "11.64.0-alpha.0"
84
+ "@gooddata/oxlint-config": "11.64.0-alpha.2",
85
+ "@gooddata/eslint-config": "11.64.0-alpha.2"
86
86
  },
87
87
  "peerDependencies": {
88
88
  "react": ">=18.3.1",