@gooddata/sdk-ui-ext 11.52.0-alpha.6 → 11.52.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/esm/dataLoaders/InsightDataLoader.d.ts +6 -0
  2. package/esm/dataLoaders/InsightDataLoader.d.ts.map +1 -1
  3. package/esm/dataLoaders/InsightDataLoader.js +4 -1
  4. package/esm/dataLoaders/index.d.ts +13 -0
  5. package/esm/dataLoaders/index.d.ts.map +1 -1
  6. package/esm/dataLoaders/index.js +14 -0
  7. package/esm/index.d.ts +1 -1
  8. package/esm/index.d.ts.map +1 -1
  9. package/esm/index.js +1 -1
  10. package/esm/insightView/InsightRenderer.d.ts +2 -5
  11. package/esm/insightView/InsightRenderer.d.ts.map +1 -1
  12. package/esm/insightView/InsightRenderer.js +1 -2
  13. package/esm/internal/components/pluggableVisualizations/mekko/PluggableMekko.d.ts +6 -1
  14. package/esm/internal/components/pluggableVisualizations/mekko/PluggableMekko.d.ts.map +1 -1
  15. package/esm/internal/components/pluggableVisualizations/mekko/PluggableMekko.js +25 -4
  16. package/esm/internal/components/pluggableVisualizations/pivotTable/PluggablePivotTable.d.ts.map +1 -1
  17. package/esm/internal/components/pluggableVisualizations/pivotTable/PluggablePivotTable.js +0 -1
  18. package/esm/internal/translations/en-US.localization-bundle.d.ts +4 -0
  19. package/esm/internal/translations/en-US.localization-bundle.d.ts.map +1 -1
  20. package/esm/internal/translations/en-US.localization-bundle.js +4 -0
  21. package/esm/notificationsPanel/Notification/Notification.d.ts.map +1 -1
  22. package/esm/notificationsPanel/Notification/Notification.js +6 -3
  23. package/esm/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetail.d.ts +3 -3
  24. package/esm/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetail.d.ts.map +1 -1
  25. package/esm/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetail.js +4 -4
  26. package/esm/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetailDialog.d.ts +9 -3
  27. package/esm/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetailDialog.d.ts.map +1 -1
  28. package/esm/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetailDialog.js +4 -4
  29. package/esm/sdk-ui-ext.d.ts +13 -0
  30. package/esm/share/ObjectShareDialog.js +22 -6
  31. package/esm/share/messages.d.ts +7 -0
  32. package/esm/share/messages.d.ts.map +1 -1
  33. package/esm/share/messages.js +5 -0
  34. package/esm/share/objectShareController.helpers.d.ts +117 -17
  35. package/esm/share/objectShareController.helpers.d.ts.map +1 -1
  36. package/esm/share/objectShareController.helpers.js +181 -44
  37. package/esm/share/objectShareController.types.d.ts +34 -10
  38. package/esm/share/objectShareController.types.d.ts.map +1 -1
  39. package/esm/share/useAccessList.d.ts +6 -0
  40. package/esm/share/useAccessList.d.ts.map +1 -1
  41. package/esm/share/useAccessList.js +26 -6
  42. package/esm/share/useLabelScope.d.ts +46 -1
  43. package/esm/share/useLabelScope.d.ts.map +1 -1
  44. package/esm/share/useLabelScope.js +98 -6
  45. package/esm/share/useObjectShareController.d.ts.map +1 -1
  46. package/esm/share/useObjectShareController.js +213 -45
  47. package/esm/share/useObjectShareDialog.d.ts +7 -0
  48. package/esm/share/useObjectShareDialog.d.ts.map +1 -1
  49. package/esm/share/useObjectShareDialog.js +22 -2
  50. package/package.json +21 -21
@@ -10,6 +10,12 @@ export interface IInsightDataLoader {
10
10
  * @param ref - the ref of the insight to obtain
11
11
  */
12
12
  getInsight(backend: IAnalyticalBackend, ref: ObjRef): Promise<IInsight>;
13
+ /**
14
+ * Removes the cached insight for the given ref, so that the next getInsight call
15
+ * fetches it from the backend again.
16
+ * @param ref - the ref of the insight to invalidate
17
+ */
18
+ invalidateInsight(ref: ObjRef): void;
13
19
  }
14
20
  /**
15
21
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"InsightDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataLoaders/InsightDataLoader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAkB,MAAM,qBAAqB,CAAC;AAKjF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3E;AA4BD;;GAEG;AACH,eAAO,MAAM,wBAAwB,6DAEpC,CAAC"}
1
+ {"version":3,"file":"InsightDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataLoaders/InsightDataLoader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAkB,MAAM,qBAAqB,CAAC;AAKjF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExE;;;;OAIG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAgCD;;GAEG;AACH,eAAO,MAAM,wBAAwB,6DAEpC,CAAC"}
@@ -1,4 +1,4 @@
1
- // (C) 2021-2025 GoodData Corporation
1
+ // (C) 2021-2026 GoodData Corporation
2
2
  import { LRUCache } from "lru-cache";
3
3
  import { objRefToString } from "@gooddata/sdk-model";
4
4
  import { INSIGHT_CACHE_SIZE } from "./constants.js";
@@ -25,6 +25,9 @@ class InsightDataLoader {
25
25
  }
26
26
  return insight;
27
27
  }
28
+ invalidateInsight(ref) {
29
+ this.insightCache.delete(objRefToString(ref));
30
+ }
28
31
  }
29
32
  /**
30
33
  * @internal
@@ -1,7 +1,20 @@
1
+ import { type ObjRef } from "@gooddata/sdk-model";
1
2
  /**
2
3
  * Clears all the caches used by the InsightView components.
3
4
  *
4
5
  * @public
5
6
  */
6
7
  export declare function clearInsightViewCaches(): void;
8
+ /**
9
+ * Clears the cached definition of a single insight used by the InsightView components.
10
+ *
11
+ * @remarks
12
+ * Use this after an insight has been edited, so that the next render fetches the new
13
+ * definition. To clear every cache at once, use {@link clearInsightViewCaches}.
14
+ *
15
+ * @param workspace - the workspace the insight belongs to
16
+ * @param ref - the ref of the insight whose cached definition should be dropped
17
+ * @public
18
+ */
19
+ export declare function clearInsightViewCacheForInsight(workspace: string, ref: ObjRef): void;
7
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dataLoaders/index.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAO7C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dataLoaders/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAO7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAEpF"}
@@ -15,3 +15,17 @@ export function clearInsightViewCaches() {
15
15
  ];
16
16
  relevantFactories.forEach((factory) => factory.reset());
17
17
  }
18
+ /**
19
+ * Clears the cached definition of a single insight used by the InsightView components.
20
+ *
21
+ * @remarks
22
+ * Use this after an insight has been edited, so that the next render fetches the new
23
+ * definition. To clear every cache at once, use {@link clearInsightViewCaches}.
24
+ *
25
+ * @param workspace - the workspace the insight belongs to
26
+ * @param ref - the ref of the insight whose cached definition should be dropped
27
+ * @public
28
+ */
29
+ export function clearInsightViewCacheForInsight(workspace, ref) {
30
+ insightDataLoaderFactory.forWorkspace(workspace).invalidateInsight(ref);
31
+ }
package/esm/index.d.ts CHANGED
@@ -13,7 +13,7 @@ import { type IInsight, type IInsightDefinition, type ISettings } from "@gooddat
13
13
  import { type IDrillEvent } from "@gooddata/sdk-ui";
14
14
  export type { ChartInlineVisualizationType } from "@gooddata/sdk-ui-charts";
15
15
  import { DASHBOARD_LAYOUT_DEFAULT_VIS_HEIGHT_PX, DASHBOARD_LAYOUT_WIDGET_SIZE_INFO_DEFAULT, EmbedInsightDialog, EmptyAfmSdkError, FluidLayoutDescriptor, type IDrillDownDefinition, type IEmbedInsightDialogProps, type IFluidLayoutDescriptor, type IInsightTitleProps, type IInsightViewProps, type ILayoutDescriptor, INSIGHT_WIDGET_SIZE_INFO_DEFAULT, INSIGHT_WIDGET_SIZE_INFO_NEW_DEFAULT, type ISizeInfo, type ISizeInfoDefault, type IVisualizationDefaultSizeInfo, type IVisualizationMeta, type IVisualizationSizeInfo, KPI_WIDGET_SIZE_INFO_DEFAULT, type LayoutType, MIN_VISUALIZATION_WIDTH, PluggableVisualizationErrorCodes, type PluggableVisualizationErrorType, RICH_TEXT_WIDGET_SIZE_INFO_DEFAULT, RICH_TEXT_WIDGET_SIZE_INFO_NEW_DEFAULT, VISUALIZATION_SWITCHER_WIDGET_SIZE_INFO_DEFAULT, VISUALIZATION_SWITCHER_WIDGET_SIZE_INFO_NEW_DEFAULT, WIDGET_DROPZONE_SIZE_INFO_DEFAULT, addIntersectionFiltersToInsight, fluidLayoutDescriptor, isDrillDownDefinition, isEmptyAfm, isSizeInfo, isSizeInfoDefault, isVisualizationDefaultSizeInfo } from "./internal/index.js";
16
- export { clearInsightViewCaches } from "./dataLoaders/index.js";
16
+ export { clearInsightViewCaches, clearInsightViewCacheForInsight } from "./dataLoaders/index.js";
17
17
  export { InsightView } from "./insightView/InsightView.js";
18
18
  export { InsightError, type IInsightErrorProps } from "./insightView/InsightError.js";
19
19
  export { InsightRenderer, type IInsightRendererProps } from "./insightView/InsightRenderer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // (C) 2007-2026 GoodData Corporation
2
2
  import { DASHBOARD_LAYOUT_DEFAULT_VIS_HEIGHT_PX, DASHBOARD_LAYOUT_WIDGET_SIZE_INFO_DEFAULT, EmbedInsightDialog, EmptyAfmSdkError, FluidLayoutDescriptor, FullVisualizationCatalog, INSIGHT_WIDGET_SIZE_INFO_DEFAULT, INSIGHT_WIDGET_SIZE_INFO_NEW_DEFAULT, KPI_WIDGET_SIZE_INFO_DEFAULT, MIN_VISUALIZATION_WIDTH, PluggableVisualizationErrorCodes, RICH_TEXT_WIDGET_SIZE_INFO_DEFAULT, RICH_TEXT_WIDGET_SIZE_INFO_NEW_DEFAULT, VISUALIZATION_SWITCHER_WIDGET_SIZE_INFO_DEFAULT, VISUALIZATION_SWITCHER_WIDGET_SIZE_INFO_NEW_DEFAULT, WIDGET_DROPZONE_SIZE_INFO_DEFAULT, addIntersectionFiltersToInsight, fluidLayoutDescriptor, isDrillDownDefinition, isEmptyAfm, isSizeInfo, isSizeInfoDefault, isVisualizationDefaultSizeInfo, } from "./internal/index.js";
3
- export { clearInsightViewCaches } from "./dataLoaders/index.js";
3
+ export { clearInsightViewCaches, clearInsightViewCacheForInsight } from "./dataLoaders/index.js";
4
4
  export { InsightView } from "./insightView/InsightView.js";
5
5
  export { InsightError } from "./insightView/InsightError.js";
6
6
  export { InsightRenderer } from "./insightView/InsightRenderer.js";
@@ -1,4 +1,3 @@
1
- import { type WrappedComponentProps } from "react-intl";
2
1
  import { type IUserWorkspaceSettings } from "@gooddata/sdk-backend-spi";
3
2
  import { type IColorPalette, type IInsightDefinition, type IInsightWidget, type ITheme, type IWorkspacePermissions } from "@gooddata/sdk-model";
4
3
  import { type ILocale, type ITranslations, type OnError } from "@gooddata/sdk-ui";
@@ -21,12 +20,10 @@ export interface IInsightRendererProps extends Omit<IInsightViewProps, "insight"
21
20
  */
22
21
  widget?: IInsightWidget;
23
22
  }
24
- type InsightRendererCoreProps = IInsightRendererProps & WrappedComponentProps & {
23
+ type InsightRendererCoreProps = IInsightRendererProps & {
25
24
  messages: ITranslations;
26
25
  };
27
- export declare const IntlInsightRenderer: import("react").FC<import("react-intl").WithIntlProps<Omit<InsightRendererCoreProps, "theme" | "themeIsLoading" | "themeStatus">>> & {
28
- WrappedComponent: import("react").ComponentType<Omit<InsightRendererCoreProps, "theme" | "themeIsLoading" | "themeStatus">>;
29
- };
26
+ export declare const IntlInsightRenderer: import("react").ComponentType<Omit<InsightRendererCoreProps, "theme" | "themeIsLoading" | "themeStatus">>;
30
27
  /**
31
28
  * Renders insight passed as a parameter.
32
29
  *
@@ -1 +1 @@
1
- {"version":3,"file":"InsightRenderer.d.ts","sourceRoot":"","sources":["../../src/insightView/InsightRenderer.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,qBAAqB,EAAc,MAAM,YAAY,CAAC;AAOpE,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,qBAAqB,EAM7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKH,KAAK,OAAO,EACZ,KAAK,aAAa,EAGlB,KAAK,OAAO,EAMf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAGH,KAAK,iBAAiB,EAKzB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAC/C,iBAAiB,EACjB,SAAS,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,CACjE;IACG,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC7C,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,YAAY,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,KAAK,wBAAwB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC;AAuV5G,eAAO,MAAM,mBAAmB;;CAA2D,CAAC;AAwB5F;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,qBAAqB,kDAuC3D"}
1
+ {"version":3,"file":"InsightRenderer.d.ts","sourceRoot":"","sources":["../../src/insightView/InsightRenderer.tsx"],"names":[],"mappings":"AAYA,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,qBAAqB,EAM7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKH,KAAK,OAAO,EACZ,KAAK,aAAa,EAGlB,KAAK,OAAO,EAMf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAGH,KAAK,iBAAiB,EAKzB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAC/C,iBAAiB,EACjB,SAAS,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,CACjE;IACG,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC7C,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,YAAY,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,KAAK,wBAAwB,GAAG,qBAAqB,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC;AAuVpF,eAAO,MAAM,mBAAmB,2GAA+C,CAAC;AAwBhF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,qBAAqB,kDAuC3D"}
@@ -3,7 +3,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { memo, useCallback, useEffect, useRef, useState } from "react";
4
4
  import { isEqual } from "lodash-es";
5
5
  import { createRoot } from "react-dom/client";
6
- import { injectIntl } from "react-intl";
7
6
  import { v4 as uuidv4 } from "uuid";
8
7
  import { ExecutionFactoryUpgradingToExecByReference, ExecutionFactoryWithFixedFilters, } from "@gooddata/sdk-backend-base";
9
8
  import { insightProperties, insightSetProperties, insightTitle, insightVisualizationType, insightVisualizationUrl, } from "@gooddata/sdk-model";
@@ -254,7 +253,7 @@ const InsightRendererCore = memo(function InsightRendererCore(props) {
254
253
  // e.g. visualization being rendered multiple times, etc.
255
254
  _jsx("div", { className: "visualization-uri-root", id: elementId, ref: containerRef, style: visualizationUriRootStyle }));
256
255
  });
257
- export const IntlInsightRenderer = injectIntl(withTheme(withContexts(InsightRendererCore)));
256
+ export const IntlInsightRenderer = withTheme(withContexts(InsightRendererCore));
258
257
  /**
259
258
  * Updated callback (callback with a different reference) is not properly propagated to the "visualization" instance
260
259
  * (because it only takes the callbacks provided on the first render)
@@ -1,5 +1,8 @@
1
+ import { type IExecutionFactory } from "@gooddata/sdk-backend-spi";
2
+ import { type IInsightDefinition } from "@gooddata/sdk-model";
3
+ import { type IChartConfig } from "@gooddata/sdk-ui-charts";
1
4
  import { type ISortConfig } from "../../../interfaces/SortConfig.js";
2
- import { type IExtendedReferencePoint, type IReferencePoint, type IVisConstruct } from "../../../interfaces/Visualization.js";
5
+ import { type IExtendedReferencePoint, type IReferencePoint, type IVisConstruct, type IVisProps, type IVisualizationProperties } from "../../../interfaces/Visualization.js";
3
6
  import { PluggableBaseChart } from "../baseChart/PluggableBaseChart.js";
4
7
  /**
5
8
  * PluggableMekko
@@ -28,6 +31,8 @@ import { PluggableBaseChart } from "../baseChart/PluggableBaseChart.js";
28
31
  */
29
32
  export declare class PluggableMekko extends PluggableBaseChart {
30
33
  constructor(props: IVisConstruct);
34
+ getExecution(options: IVisProps, insight: IInsightDefinition, executionFactory: IExecutionFactory): import("@gooddata/sdk-backend-spi").IPreparedExecution;
35
+ protected buildVisualizationConfig(options: IVisProps, supportedControls?: IVisualizationProperties): IChartConfig;
31
36
  getExtendedReferencePoint(referencePoint: IReferencePoint): Promise<IExtendedReferencePoint>;
32
37
  getSortConfig(referencePoint: IReferencePoint): Promise<ISortConfig>;
33
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PluggableMekko.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/pluggableVisualizations/mekko/PluggableMekko.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,WAAW,EAA0B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,aAAa,EACrB,MAAM,sCAAsC,CAAC;AAU9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAoBxE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IAClD,YAAY,KAAK,EAAE,aAAa,EAK/B;IAEe,yBAAyB,CACrC,cAAc,EAAE,eAAe,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAyBlC;IAEe,aAAa,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CA6CnF;CACJ"}
1
+ {"version":3,"file":"PluggableMekko.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/pluggableVisualizations/mekko/PluggableMekko.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACH,KAAK,kBAAkB,EAO1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,EAAE,KAAK,WAAW,EAA0B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,wBAAwB,EAChC,MAAM,sCAAsC,CAAC;AAU9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAoBxE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IAClD,YAAY,KAAK,EAAE,aAAa,EAK/B;IAEe,YAAY,CACxB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,0DActC;IAGD,UAAmB,wBAAwB,CACvC,OAAO,EAAE,SAAS,EAClB,iBAAiB,CAAC,EAAE,wBAAwB,GAC7C,YAAY,CAMd;IAEe,yBAAyB,CACrC,cAAc,EAAE,eAAe,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAyBlC;IAEe,aAAa,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CA4CnF;CACJ"}
@@ -1,6 +1,6 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  import { cloneDeep, isEmpty, set } from "lodash-es";
3
- import { newAttributeSort } from "@gooddata/sdk-model";
3
+ import { bucketIsEmpty, insightBucket, insightSorts, isMeasureSort, newAttributeSort, } from "@gooddata/sdk-model";
4
4
  import { BucketNames, VisualizationTypes } from "@gooddata/sdk-ui";
5
5
  import { BUCKETS } from "../../../constants/bucket.js";
6
6
  import { MEKKO_SUPPORTED_PROPERTIES } from "../../../constants/supportedProperties.js";
@@ -56,6 +56,28 @@ export class PluggableMekko extends PluggableBaseChart {
56
56
  this.supportedPropertiesList = MEKKO_SUPPORTED_PROPERTIES;
57
57
  this.initializeProperties(props.visualizationProperties);
58
58
  }
59
+ getExecution(options, insight, executionFactory) {
60
+ const execution = super.getExecution(options, insight, executionFactory);
61
+ const stackBucket = insightBucket(insight, BucketNames.STACK);
62
+ const isStacked = stackBucket && !bucketIsEmpty(stackBucket);
63
+ if (!isStacked) {
64
+ return execution;
65
+ }
66
+ // the stacked execution cannot express a measure sort of the columns — it applies
67
+ // client-side via config.sortBy (sortMekkoColumnsByMeasure in sdk-ui-charts)
68
+ const executionSorts = execution.definition.sortBy.filter((sort) => !isMeasureSort(sort));
69
+ return executionSorts.length === execution.definition.sortBy.length
70
+ ? execution
71
+ : execution.withSorting(...executionSorts);
72
+ }
73
+ // config.sortBy feeds the client-side column ordering (measure sorts stay out of the execution)
74
+ buildVisualizationConfig(options, supportedControls) {
75
+ const sortBy = insightSorts(this.currentInsight) ?? [];
76
+ return {
77
+ ...super.buildVisualizationConfig(options, supportedControls),
78
+ ...(sortBy.length ? { sortBy } : {}),
79
+ };
80
+ }
59
81
  getExtendedReferencePoint(referencePoint) {
60
82
  const clonedReferencePoint = cloneDeep(referencePoint);
61
83
  const uiConfig = cloneDeep(DEFAULT_MEKKO_UICONFIG);
@@ -93,9 +115,8 @@ export class PluggableMekko extends PluggableBaseChart {
93
115
  ? []
94
116
  : [
95
117
  newAvailableSortsGroup(viewBy[0].localIdentifier,
96
- // with stacked segments a measure sort locator no longer matches the execution
97
- // dimensions and the backend rejects it — only area sort applies then
98
- isEmpty(stackBy) ? measures.map((m) => m.localIdentifier) : [], true,
118
+ // when stacked these apply client-side see getExecution above
119
+ measures.map((m) => m.localIdentifier), true,
99
120
  // area sort (by the stacked total) only makes sense with stacked segments
100
121
  !isEmpty(stackBy)),
101
122
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"PluggablePivotTable.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/pluggableVisualizations/pivotTable/PluggablePivotTable.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EACH,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,SAAS,EAWjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,KAAK,wBAAwB,EAAsB,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAEH,KAAK,eAAe,EAIpB,KAAK,iBAAiB,EAGzB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EAEH,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,wBAAwB,EAGhC,MAAM,sCAAsC,CAAC;AA0B9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAwBtF,eAAO,MAAM,mBAAmB,4CAM/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,4CAe5B,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,mBAAoB,SAAQ,8BAA8B;IACnE,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,mBAAmB,CAAuB;IAElD,YAAY,KAAK,EAAE,aAAa,EAa/B;IAEM,OAAO,IAAI,IAAI,CAErB;IAEM,yBAAyB,CAC5B,cAAc,EAAE,eAAe,EAC/B,sBAAsB,CAAC,EAAE,eAAe,GACzC,OAAO,CAAC,uBAAuB,CAAC,CAqIlC;IAEe,8BAA8B,CAC1C,mBAAmB,EAAE,QAAQ,EAC7B,gBAAgB,EAAE,iBAAiB,EACnC,0BAA0B,EAAE,OAAO,GACpC,QAAQ,CAWV;IAEM,YAAY,CACf,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,0DAUtC;IAED,SAAS,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,IAAI,CAWtF;IAED,OAAO,CAAC,yBAAyB,CAe/B;IAEF,UAAmB,wBAAwB,CACvC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,qBAAqB,EAAE,GAAG,GAC3B,IAAI,CASN;IAED,SAAS,CAAC,mBAAmB,CACzB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,GACpC,IAAI,CA0FN;IAED,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CAuCxF;IAED,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,CAAC,EAAE,GAAG,GAAG,UAAU,EAAE,CAElG;IAED,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;CAmBzB;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,wBAAwB,EACrC,QAAQ,EAAE,SAAS,EACnB,YAAY,EAAE,oBAAoB,EAClC,YAAY,CAAC,EAAE,eAAe,EAAE,GACjC,iBAAiB,CAsDnB"}
1
+ {"version":3,"file":"PluggablePivotTable.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/pluggableVisualizations/pivotTable/PluggablePivotTable.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EACH,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,SAAS,EAWjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,KAAK,wBAAwB,EAAsB,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAEH,KAAK,eAAe,EAIpB,KAAK,iBAAiB,EAGzB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EAEH,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,wBAAwB,EAGhC,MAAM,sCAAsC,CAAC;AA0B9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAwBtF,eAAO,MAAM,mBAAmB,4CAM/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,4CAe5B,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,mBAAoB,SAAQ,8BAA8B;IACnE,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,mBAAmB,CAAuB;IAElD,YAAY,KAAK,EAAE,aAAa,EAa/B;IAEM,OAAO,IAAI,IAAI,CAErB;IAEM,yBAAyB,CAC5B,cAAc,EAAE,eAAe,EAC/B,sBAAsB,CAAC,EAAE,eAAe,GACzC,OAAO,CAAC,uBAAuB,CAAC,CAqIlC;IAEe,8BAA8B,CAC1C,mBAAmB,EAAE,QAAQ,EAC7B,gBAAgB,EAAE,iBAAiB,EACnC,0BAA0B,EAAE,OAAO,GACpC,QAAQ,CAWV;IAEM,YAAY,CACf,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,0DAUtC;IAED,SAAS,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,IAAI,CAWtF;IAED,OAAO,CAAC,yBAAyB,CAc/B;IAEF,UAAmB,wBAAwB,CACvC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,qBAAqB,EAAE,GAAG,GAC3B,IAAI,CASN;IAED,SAAS,CAAC,mBAAmB,CACzB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,GACpC,IAAI,CA0FN;IAED,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CAuCxF;IAED,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,CAAC,EAAE,GAAG,GAAG,UAAU,EAAE,CAElG;IAED,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;CAmBzB;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,wBAAwB,EACrC,QAAQ,EAAE,SAAS,EACnB,YAAY,EAAE,oBAAoB,EAClC,YAAY,CAAC,EAAE,eAAe,EAAE,GACjC,iBAAiB,CAsDnB"}
@@ -203,7 +203,6 @@ export class PluggablePivotTable extends AbstractPluggableVisualization {
203
203
  }
204
204
  createCorePivotTableProps = () => {
205
205
  return {
206
- intl: this.intl,
207
206
  ErrorComponent: null,
208
207
  LoadingComponent: null,
209
208
  onDrill: this.onDrill,
@@ -2515,6 +2515,10 @@ export declare const en_US: {
2515
2515
  text: string;
2516
2516
  crowdinContext: string;
2517
2517
  };
2518
+ "objectShare.granteeRemove.inherited": {
2519
+ text: string;
2520
+ crowdinContext: string;
2521
+ };
2518
2522
  "objectShare.grantee.you": {
2519
2523
  text: string;
2520
2524
  crowdinContext: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/internal/translations/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAytFjB,CAAC"}
1
+ {"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/internal/translations/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6tFjB,CAAC"}
@@ -2517,6 +2517,10 @@ export const en_US = {
2517
2517
  "text": "This permission is granted from a parent workspace and cannot be lowered here.",
2518
2518
  "crowdinContext": "Tooltip on permission options in the all-workspace-members permission menu that are disabled because a parent workspace already grants a higher workspace-wide level, so picking a lower level here could not take effect."
2519
2519
  },
2520
+ "objectShare.granteeRemove.inherited": {
2521
+ "text": "This access is inherited from a group or a parent workspace and cannot be removed here.",
2522
+ "crowdinContext": "Tooltip on the disabled Remove access action in a grantee row's permission menu, shown when the grantee has no permission granted in this workspace, so there is nothing here to remove."
2523
+ },
2520
2524
  "objectShare.grantee.you": {
2521
2525
  "text": "{name} (you)",
2522
2526
  "crowdinContext": "Display name of the signed-in user's own row in the share dialog grantee list. {name} is the user's full name."
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/Notification/Notification.tsx"],"names":[],"mappings":"AAOA,OAAO,EAEH,KAAK,kBAAkB,EAGvB,KAAK,qBAAqB,EAC7B,MAAM,qBAAqB,CAAC;AAoB7B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,YAAY,EAAE,kBAAkB,GAAG,qBAAqB,CAAC;IACzD,sBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,GAAG,qBAAqB,KAAK,IAAI,CAAC;IACzF,uBAAuB,EAAE,MAAM,IAAI,CAAC;CACvC;AA4BD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EACzB,YAAY,EACZ,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EAC1B,EAAE,mBAAmB,2CA2HrB"}
1
+ {"version":3,"file":"Notification.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/Notification/Notification.tsx"],"names":[],"mappings":"AAOA,OAAO,EAEH,KAAK,kBAAkB,EAGvB,KAAK,qBAAqB,EAC7B,MAAM,qBAAqB,CAAC;AAoB7B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,YAAY,EAAE,kBAAkB,GAAG,qBAAqB,CAAC;IACzD,sBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,GAAG,qBAAqB,KAAK,IAAI,CAAC;IACzF,uBAAuB,EAAE,MAAM,IAAI,CAAC;CACvC;AA4BD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EACzB,YAAY,EACZ,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EAC1B,EAAE,mBAAmB,2CA8HrB"}
@@ -32,8 +32,11 @@ export function Notification({ notification, markNotificationAsRead, onNotificat
32
32
  const intl = useIntl();
33
33
  const { addWarning } = useToastMessage();
34
34
  const notificationTitle = getNotificationTitle(notification);
35
- const filters = notification.details.data.filters;
36
- const hasFilters = !!filters?.length;
35
+ const filterItems = [
36
+ ...(notification.details.data.filters ?? []).map(({ title, filter }) => ({ title, value: filter })),
37
+ ...(notification.details.data.parameters ?? []),
38
+ ];
39
+ const hasFiltersOrParameters = filterItems.length > 0;
37
40
  const isAlertNotification = notification.notificationType === "alertNotification";
38
41
  const isScheduleNotification = notification.notificationType === "scheduleNotification";
39
42
  const isSliced = isAlertNotification && !!notification.details.data.alert.attribute;
@@ -51,7 +54,7 @@ export function Notification({ notification, markNotificationAsRead, onNotificat
51
54
  const isExpired = fileExpiresAt != null && new Date(fileExpiresAt) < new Date();
52
55
  const { isError, errorTitle, errorMessage, traceId } = getNotificationErrorInfo(notification, exports);
53
56
  const actions = compact([
54
- hasFilters && isAlertNotification && _jsx(NotificationFiltersDetail, { filters: filters }),
57
+ hasFiltersOrParameters && isAlertNotification && _jsx(NotificationFiltersDetail, { items: filterItems }),
55
58
  hasTriggers && isSliced && _jsx(NotificationTriggerDetail, { notification: notification }),
56
59
  hasExports && _jsx(FileLink, { notification: notification }),
57
60
  hasExports && fileExpiresAt && _jsx(FileExpiration, { fileExpiresAt: fileExpiresAt, isExpired: isExpired }),
@@ -1,12 +1,12 @@
1
- import { type AlertFilters } from "@gooddata/sdk-model";
1
+ import { type AlertItem } from "./NotificationFiltersDetailDialog.js";
2
2
  /**
3
3
  * @internal
4
4
  */
5
5
  export interface INotificationFiltersDetailProps {
6
- filters: AlertFilters[];
6
+ items: AlertItem[];
7
7
  }
8
8
  /**
9
9
  * @internal
10
10
  */
11
- export declare function NotificationFiltersDetail({ filters }: INotificationFiltersDetailProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function NotificationFiltersDetail({ items }: INotificationFiltersDetailProps): import("react/jsx-runtime").JSX.Element;
12
12
  //# sourceMappingURL=NotificationFiltersDetail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationFiltersDetail.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetail.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAaxD;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B;AAQD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,OAAO,EAAE,EAAE,+BAA+B,2CAyCrF"}
1
+ {"version":3,"file":"NotificationFiltersDetail.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetail.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,sCAAsC,CAAC;AAUvG;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AAQD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,KAAK,EAAE,EAAE,+BAA+B,2CAyCnF"}
@@ -1,5 +1,5 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // (C) 2024-2025 GoodData Corporation
2
+ // (C) 2024-2026 GoodData Corporation
3
3
  import { useRef, useState } from "react";
4
4
  import { defineMessages, useIntl } from "react-intl";
5
5
  import { Overlay, UiButton, alignConfigToAlignPoint } from "@gooddata/sdk-ui-kit";
@@ -19,16 +19,16 @@ const messages = defineMessages({
19
19
  /**
20
20
  * @internal
21
21
  */
22
- export function NotificationFiltersDetail({ filters }) {
22
+ export function NotificationFiltersDetail({ items }) {
23
23
  const [isFiltersDialogOpen, setIsFiltersDialogOpen] = useState(false);
24
24
  const intl = useIntl();
25
25
  const ref = useRef(null);
26
26
  const closeFiltersDialog = () => setIsFiltersDialogOpen(false);
27
27
  const toggleFiltersDialog = () => setIsFiltersDialogOpen((x) => !x);
28
- return (_jsxs(_Fragment, { children: [filters.length ? (_jsx(UiButton, { ref: ref, onClick: (e) => {
28
+ return (_jsxs(_Fragment, { children: [items.length > 0 ? (_jsx(UiButton, { ref: ref, onClick: (e) => {
29
29
  e.stopPropagation();
30
30
  toggleFiltersDialog();
31
31
  }, onKeyDown: (e) => {
32
32
  e.stopPropagation();
33
- }, variant: "tertiary", size: "small", label: intl.formatMessage(messages.buttonLabel, { count: filters.length }) })) : null, isFiltersDialogOpen ? (_jsx(Overlay, { isModal: false, alignTo: ref.current, alignPoints: ALIGN_POINTS, closeOnEscape: true, closeOnOutsideClick: true, closeOnParentScroll: true, closeOnMouseDrag: false, onClose: closeFiltersDialog, children: _jsx(NotificationFiltersDetailDialog, { filters: filters, onClose: closeFiltersDialog }) })) : null] }));
33
+ }, variant: "tertiary", size: "small", label: intl.formatMessage(messages.buttonLabel, { count: items.length }) })) : null, isFiltersDialogOpen ? (_jsx(Overlay, { isModal: false, alignTo: ref.current, alignPoints: ALIGN_POINTS, closeOnEscape: true, closeOnOutsideClick: true, closeOnParentScroll: true, closeOnMouseDrag: false, onClose: closeFiltersDialog, children: _jsx(NotificationFiltersDetailDialog, { items: items, onClose: closeFiltersDialog }) })) : null] }));
34
34
  }
@@ -1,13 +1,19 @@
1
- import { type AlertFilters } from "@gooddata/sdk-model";
1
+ /**
2
+ * @internal
3
+ */
4
+ export type AlertItem = {
5
+ title?: string;
6
+ value: string;
7
+ };
2
8
  /**
3
9
  * @internal
4
10
  */
5
11
  export interface INotificationFiltersDetailDialogProps {
6
- filters: AlertFilters[];
12
+ items: AlertItem[];
7
13
  onClose: () => void;
8
14
  }
9
15
  /**
10
16
  * @internal
11
17
  */
12
- export declare function NotificationFiltersDetailDialog({ filters, onClose }: INotificationFiltersDetailDialogProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function NotificationFiltersDetailDialog({ items, onClose }: INotificationFiltersDetailDialogProps): import("react/jsx-runtime").JSX.Element;
13
19
  //# sourceMappingURL=NotificationFiltersDetailDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationFiltersDetailDialog.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetailDialog.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAaxD;;GAEG;AACH,MAAM,WAAW,qCAAqC;IAClD,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,qCAAqC,2CAmB1G"}
1
+ {"version":3,"file":"NotificationFiltersDetailDialog.d.ts","sourceRoot":"","sources":["../../../src/notificationsPanel/NotificationFiltersDetail/NotificationFiltersDetailDialog.tsx"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qCAAqC;IAClD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,qCAAqC,2CAmBxG"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // (C) 2024-2025 GoodData Corporation
2
+ // (C) 2024-2026 GoodData Corporation
3
3
  import { defineMessages, useIntl } from "react-intl";
4
4
  import { bem } from "../bem.js";
5
5
  import { DetailsDialog } from "../components/DetailsDialog.js";
@@ -12,9 +12,9 @@ const messages = defineMessages({
12
12
  /**
13
13
  * @internal
14
14
  */
15
- export function NotificationFiltersDetailDialog({ filters, onClose }) {
15
+ export function NotificationFiltersDetailDialog({ items, onClose }) {
16
16
  const intl = useIntl();
17
- return (_jsx(DetailsDialog, { title: `${intl.formatMessage(messages.title)} (${filters.length})`, content: _jsx("div", { className: b(), children: filters.map(({ title, filter }, idx) => (_jsxs("div", { className: e("item"), children: [
18
- _jsx("div", { className: e("label"), children: title }), _jsx("div", { className: e("values"), children: filter })
17
+ return (_jsx(DetailsDialog, { title: `${intl.formatMessage(messages.title)} (${items.length})`, content: _jsx("div", { className: b(), children: items.map(({ title, value }, idx) => (_jsxs("div", { className: e("item"), children: [
18
+ _jsx("div", { className: e("label"), children: title }), _jsx("div", { className: e("values"), children: value })
19
19
  ] }, idx))) }), onClose: onClose }));
20
20
  }
@@ -231,6 +231,19 @@ export declare type AutomationsType = Extract<AutomationType, "alert" | "schedul
231
231
 
232
232
  export { ChartInlineVisualizationType }
233
233
 
234
+ /**
235
+ * Clears the cached definition of a single insight used by the InsightView components.
236
+ *
237
+ * @remarks
238
+ * Use this after an insight has been edited, so that the next render fetches the new
239
+ * definition. To clear every cache at once, use {@link clearInsightViewCaches}.
240
+ *
241
+ * @param workspace - the workspace the insight belongs to
242
+ * @param ref - the ref of the insight whose cached definition should be dropped
243
+ * @public
244
+ */
245
+ export declare function clearInsightViewCacheForInsight(workspace: string, ref: ObjRef): void;
246
+
234
247
  /**
235
248
  * Clears all the caches used by the InsightView components.
236
249
  *
@@ -40,7 +40,7 @@ export function ObjectShareDialog(props) {
40
40
  /** The dialog session — mounted only while open, so its state cannot outlive a close. */
41
41
  function ObjectShareDialogSession({ target, objectTitle, onClose, onSummaryChange, labels, labelsLoading, labelsError, }) {
42
42
  const intl = useIntl();
43
- const { state, actions, isShareViewOpen, isAddGranteeOpen, isGeneralAccessConfirmOpen, isSelfRestrictConfirmOpen, isMutable, isLoading, workspaceDisabledLevels, rowDisabledLevels, onClose: closeDialog, onRowPermissionChange, onRowRemove, onSelfRestrictCancel, onSelfRestrictConfirm, } = useObjectShareDialog({
43
+ const { state, actions, isShareViewOpen, isAddGranteeOpen, isGeneralAccessConfirmOpen, isSelfRestrictConfirmOpen, isMutable, isLoading, workspaceDisabledLevels, rowDisabledLevels, isRowRemoveDisabled, rowRemoveDisabledTooltip, onClose: closeDialog, onRowPermissionChange, onRowRemove, onSelfRestrictCancel, onSelfRestrictConfirm, } = useObjectShareDialog({
44
44
  target,
45
45
  onClose,
46
46
  onSummaryChange,
@@ -55,10 +55,23 @@ function ObjectShareDialogSession({ target, objectTitle, onClose, onSummaryChang
55
55
  kind: l.isPrimary ? "primary" : undefined,
56
56
  locked: l.isPrimary,
57
57
  }));
58
+ // Per row: a label the grantee only inherits is locked too. It is in their scope
59
+ // (so it shows checked, as the granting workspace shows it) but this workspace
60
+ // holds no grant on it to revoke — the same rule that disables Remove access for a
61
+ // grantee whose object access is inherited-only.
62
+ const rowLabelItems = (granteeId) => {
63
+ const inherited = state.inheritedLabelIdsByGrantee[granteeId];
64
+ if (!inherited?.length) {
65
+ return labelItems;
66
+ }
67
+ return labelItems.map((item) => item.locked || !inherited.includes(item.id) ? item : { ...item, locked: true });
68
+ };
58
69
  const toGranteeRow = (g) => {
59
70
  const display = granteeDisplayPair(g);
60
- // Levels come back only for the signed-in user's own sole grant (you can't
61
- // raise yourself); the confirm-vs-direct routing lives in the hook too.
71
+ // Row policy levels the caller may not pick (their own sole grant, or a
72
+ // level an inherited grant already exceeds) and whether there is a grant in
73
+ // this workspace to remove — is decided in the hook, with the matching
74
+ // tooltips; this only renders it.
62
75
  const disabledLevels = rowDisabledLevels(g);
63
76
  return {
64
77
  id: g.id,
@@ -68,9 +81,9 @@ function ObjectShareDialogSession({ target, objectTitle, onClose, onSummaryChang
68
81
  : display.name,
69
82
  email: display.email,
70
83
  isPending: g.pending !== undefined,
71
- controls: (_jsx(UiGranteeRowControls, { labels: labelItems, selectedLabelIds: state.selectedLabelIdsByGrantee[g.id] ?? state.labels.map((l) => l.id), permissionLevel: g.level, effectivePermission: g.effectivePermission, disabledLevels: disabledLevels, disabledTooltip: disabledLevels
84
+ controls: (_jsx(UiGranteeRowControls, { labels: rowLabelItems(g.id), selectedLabelIds: state.selectedLabelIdsByGrantee[g.id] ?? state.labels.map((l) => l.id), permissionLevel: g.level, effectivePermission: g.effectivePermission, disabledLevels: disabledLevels, disabledTooltip: disabledLevels
72
85
  ? intl.formatMessage(objectShareMessages.selfRestrictWarning)
73
- : undefined,
86
+ : undefined, isRemoveDisabled: isRowRemoveDisabled(g), removeDisabledTooltip: rowRemoveDisabledTooltip,
74
87
  // Disabled while the row's own write is saving, while mutations are
75
88
  // gated (unresolved label scope would orphan real per-label grants),
76
89
  // and while a sole row's self identity is unknown.
@@ -125,7 +138,10 @@ function ObjectShareDialogSession({ target, objectTitle, onClose, onSummaryChang
125
138
  // On a failed load the empty grantee list + RESTRICTED radio are a
126
139
  // placeholder, not the real policy — show why instead of letting it
127
140
  // read as "no one has access".
128
- error: state.status === "error" ? intl.formatMessage(objectShareMessages.loadError) : undefined }), _jsx(UiAddGranteeDialog, { isOpen: isAddGranteeOpen, objectTitle: objectTitle, loadOptions: actions.loadOptions, selectedGrantees: state.pendingGrantees, onSelectedGranteesChange: actions.setPendingGrantees, onBack: actions.closeAddGrantee, onClose: closeDialog, onCancel: actions.closeAddGrantee, onShare: () => {
141
+ error: state.status === "error" ? intl.formatMessage(objectShareMessages.loadError) : undefined }), _jsx(UiAddGranteeDialog, { isOpen: isAddGranteeOpen, objectTitle: objectTitle, loadOptions: actions.loadOptions, selectedGrantees: state.pendingGrantees, onSelectedGranteesChange: actions.setPendingGrantees,
142
+ // Same checklist the grantee rows use, so a label scope can be narrowed
143
+ // while adding instead of only after the grant landed.
144
+ labels: labelItems, onBack: actions.closeAddGrantee, onClose: closeDialog, onCancel: actions.closeAddGrantee, onShare: () => {
129
145
  void actions.confirmAddGrantees();
130
146
  } }), _jsx(UiConfirmDialog, { isOpen: isGeneralAccessConfirmOpen, title: intl.formatMessage(state.pendingGeneralAccess === "RESTRICTED"
131
147
  ? objectShareMessages.confirmRestrictTitle
@@ -40,6 +40,13 @@ export declare const objectShareMessages: {
40
40
  workspaceLevelInherited: {
41
41
  id: string;
42
42
  };
43
+ /**
44
+ * Disabled-action tooltip on a grantee row's Remove access, for a grantee whose
45
+ * access is inherited only — there is no grant in this workspace to revoke.
46
+ */
47
+ granteeRemoveInherited: {
48
+ id: string;
49
+ };
43
50
  granteeYou: {
44
51
  id: string;
45
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/share/messages.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;IAO5B;;;;OAIG;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWL,CAAC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/share/messages.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;IAO5B;;;;OAIG;;;;IAEH;;;OAGG;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWL,CAAC"}
@@ -26,6 +26,11 @@ export const objectShareMessages = defineMessages({
26
26
  * below an inherited workspace-wide grant, which they could never lower.
27
27
  */
28
28
  workspaceLevelInherited: { id: "objectShare.workspaceLevel.inherited" },
29
+ /**
30
+ * Disabled-action tooltip on a grantee row's Remove access, for a grantee whose
31
+ * access is inherited only — there is no grant in this workspace to revoke.
32
+ */
33
+ granteeRemoveInherited: { id: "objectShare.granteeRemove.inherited" },
29
34
  granteeYou: { id: "objectShare.grantee.you" },
30
35
  adminTagLabel: { id: "objectShare.adminTag.label" },
31
36
  adminTagTooltip: { id: "objectShare.adminTag.tooltip" },