@gooddata/sdk-ui-catalog 11.56.0-alpha.0 → 11.56.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.
Files changed (146) hide show
  1. package/esm/asCode/AsCodeDeleteDialog.js +1 -2
  2. package/esm/asCode/AsCodeDetailActions.d.ts +1 -1
  3. package/esm/asCode/AsCodeDetailActions.d.ts.map +1 -1
  4. package/esm/asCode/AsCodeDialog.js +2 -6
  5. package/esm/asCode/AsCodeEditorBody.d.ts +1 -1
  6. package/esm/asCode/AsCodeEditorBody.d.ts.map +1 -1
  7. package/esm/asCode/asCodeEditorBody.test.utils.d.ts +1 -1
  8. package/esm/asCode/asCodeEditorBody.test.utils.d.ts.map +1 -1
  9. package/esm/asCode/withMutationPort.d.ts.map +1 -1
  10. package/esm/automation/testIds.d.ts +3 -2
  11. package/esm/automation/testIds.d.ts.map +1 -1
  12. package/esm/automation/testIds.js +3 -2
  13. package/esm/catalog/Catalog.d.ts +1 -1
  14. package/esm/catalog/Catalog.d.ts.map +1 -1
  15. package/esm/catalog/Catalog.js +1 -2
  16. package/esm/catalogDetail/CatalogDetailActionBar.d.ts +1 -1
  17. package/esm/catalogDetail/CatalogDetailActionBar.d.ts.map +1 -1
  18. package/esm/catalogDetail/CatalogDetailActions.d.ts +1 -1
  19. package/esm/catalogDetail/CatalogDetailActions.d.ts.map +1 -1
  20. package/esm/catalogDetail/CatalogDetailActions.js +2 -6
  21. package/esm/catalogDetail/CatalogDetailConditionalFormatting.d.ts +12 -0
  22. package/esm/catalogDetail/CatalogDetailConditionalFormatting.d.ts.map +1 -0
  23. package/esm/catalogDetail/CatalogDetailConditionalFormatting.js +52 -0
  24. package/esm/catalogDetail/CatalogDetailContent.d.ts +1 -1
  25. package/esm/catalogDetail/CatalogDetailContent.d.ts.map +1 -1
  26. package/esm/catalogDetail/CatalogDetailContent.js +6 -7
  27. package/esm/catalogDetail/CatalogDetailContentRow.d.ts +2 -1
  28. package/esm/catalogDetail/CatalogDetailContentRow.d.ts.map +1 -1
  29. package/esm/catalogDetail/CatalogDetailContentRow.js +7 -4
  30. package/esm/catalogDetail/CatalogDetailGenerateDescription.js +1 -2
  31. package/esm/catalogDetail/CatalogDetailGenerateTitle.js +1 -2
  32. package/esm/catalogDetail/CatalogDetailHeader.d.ts +1 -1
  33. package/esm/catalogDetail/CatalogDetailHeader.d.ts.map +1 -1
  34. package/esm/catalogDetail/CatalogDetailHeader.js +3 -27
  35. package/esm/catalogDetail/CatalogDetailMetricSettings.d.ts +1 -1
  36. package/esm/catalogDetail/CatalogDetailMetricSettings.d.ts.map +1 -1
  37. package/esm/catalogDetail/CatalogDetailMetricSettings.js +1 -2
  38. package/esm/catalogDetail/CatalogDetailTabCertification.js +2 -4
  39. package/esm/catalogDetail/CatalogDetailTabMetadata.d.ts +5 -4
  40. package/esm/catalogDetail/CatalogDetailTabMetadata.d.ts.map +1 -1
  41. package/esm/catalogDetail/CatalogDetailTabMetadata.js +7 -13
  42. package/esm/catalogDetail/CatalogDetailTabQuality.d.ts +1 -1
  43. package/esm/catalogDetail/CatalogDetailTabQuality.d.ts.map +1 -1
  44. package/esm/catalogDetail/CatalogDetailTabQuality.js +1 -3
  45. package/esm/catalogDetail/hooks/useCatalogItemUpdate.d.ts +5 -9
  46. package/esm/catalogDetail/hooks/useCatalogItemUpdate.d.ts.map +1 -1
  47. package/esm/catalogDetail/hooks/useCatalogItemUpdate.js +26 -1
  48. package/esm/catalogDetail/share/CatalogDetailAccessRow.d.ts +6 -7
  49. package/esm/catalogDetail/share/CatalogDetailAccessRow.d.ts.map +1 -1
  50. package/esm/catalogDetail/share/CatalogDetailAccessRow.js +15 -23
  51. package/esm/catalogDetail/share/CatalogItemAccessRow.js +3 -7
  52. package/esm/catalogDetail/share/CatalogItemShareProvider.d.ts +1 -1
  53. package/esm/catalogDetail/share/CatalogItemShareProvider.d.ts.map +1 -1
  54. package/esm/catalogDetail/share/CatalogItemShareProvider.js +10 -2
  55. package/esm/catalogDetail/share/messages.d.ts +1 -1
  56. package/esm/catalogDetail/share/messages.d.ts.map +1 -1
  57. package/esm/catalogDetail/share/messages.js +1 -1
  58. package/esm/catalogItem/__mocks__/useCatalogItemFeed.d.ts.map +1 -1
  59. package/esm/catalogItem/catalogBackend.test.utils.d.ts.map +1 -1
  60. package/esm/catalogItem/converter.d.ts.map +1 -1
  61. package/esm/catalogItem/converter.js +1 -0
  62. package/esm/catalogItem/query.d.ts +10 -9
  63. package/esm/catalogItem/query.d.ts.map +1 -1
  64. package/esm/catalogItem/query.js +13 -0
  65. package/esm/catalogItem/types.d.ts +6 -1
  66. package/esm/catalogItem/types.d.ts.map +1 -1
  67. package/esm/catalogItem/useCatalogItemFeed.d.ts.map +1 -1
  68. package/esm/catalogItem/useCatalogItemSemanticSearch.d.ts +1 -1
  69. package/esm/catalogItem/useCatalogItemSemanticSearch.d.ts.map +1 -1
  70. package/esm/filter/FilterGroupLayout.js +1 -2
  71. package/esm/filter/StaticFilter.js +4 -10
  72. package/esm/header/Header.js +1 -2
  73. package/esm/insight/insightCodecContext.d.ts +1 -1
  74. package/esm/insight/insightCodecContext.d.ts.map +1 -1
  75. package/esm/insight/insightCopy.d.ts.map +1 -1
  76. package/esm/lineage/Lineage.js +2 -4
  77. package/esm/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  78. package/esm/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  79. package/esm/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  80. package/esm/localization/bundles/en-US.localization-bundle.d.ts +17 -1
  81. package/esm/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  82. package/esm/localization/bundles/en-US.localization-bundle.js +23 -7
  83. package/esm/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  84. package/esm/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  85. package/esm/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  86. package/esm/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  87. package/esm/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  88. package/esm/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  89. package/esm/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  90. package/esm/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  91. package/esm/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  92. package/esm/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  93. package/esm/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  94. package/esm/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  95. package/esm/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  96. package/esm/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  97. package/esm/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  98. package/esm/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  99. package/esm/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  100. package/esm/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  101. package/esm/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  102. package/esm/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  103. package/esm/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  104. package/esm/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  105. package/esm/main/Main.d.ts +3 -3
  106. package/esm/main/Main.d.ts.map +1 -1
  107. package/esm/main/Main.js +2 -9
  108. package/esm/main/hooks/useCatalogItemOpen.d.ts +2 -2
  109. package/esm/main/hooks/useCatalogItemOpen.d.ts.map +1 -1
  110. package/esm/objectType/ObjectTypeSelect.d.ts +1 -1
  111. package/esm/objectType/ObjectTypeSelect.d.ts.map +1 -1
  112. package/esm/objectType/constants.d.ts.map +1 -1
  113. package/esm/parameter/parameterCompletions.d.ts.map +1 -1
  114. package/esm/parameter/parameterSchema.d.ts.map +1 -1
  115. package/esm/permission/TestPermissionsProvider.d.ts +1 -1
  116. package/esm/permission/TestPermissionsProvider.d.ts.map +1 -1
  117. package/esm/quality/QualityIcon.js +2 -4
  118. package/esm/quality/QualityIssue.js +1 -2
  119. package/esm/quality/QualityIssueObjectDetail.js +1 -7
  120. package/esm/quality/QualityIssueObjects.js +1 -2
  121. package/esm/quality/QualityScoreCard.js +1 -2
  122. package/esm/quality/QualityScoreCardAction.d.ts +1 -1
  123. package/esm/quality/QualityScoreCardAction.d.ts.map +1 -1
  124. package/esm/quality/QualityScoreCardScore.js +4 -8
  125. package/esm/sdk-ui-catalog.d.ts +7 -1
  126. package/esm/table/Table.d.ts +1 -1
  127. package/esm/table/Table.d.ts.map +1 -1
  128. package/esm/table/Table.js +1 -2
  129. package/esm/table/columns/TitleColumn.js +1 -3
  130. package/esm/tabs/CatalogItemCard.d.ts +2 -2
  131. package/esm/tabs/CatalogItemCard.d.ts.map +1 -1
  132. package/esm/tabs/CatalogItemCard.js +2 -5
  133. package/esm/tabs/CatalogItemCardGrid.d.ts +2 -2
  134. package/esm/tabs/CatalogItemCardGrid.d.ts.map +1 -1
  135. package/esm/tabs/CatalogTabPanel.d.ts +2 -2
  136. package/esm/tabs/CatalogTabPanel.d.ts.map +1 -1
  137. package/esm/tabs/CatalogTabs.d.ts +2 -2
  138. package/esm/tabs/CatalogTabs.d.ts.map +1 -1
  139. package/esm/tabs/CatalogTabs.js +1 -3
  140. package/package.json +18 -18
  141. package/styles/css/detail.css +14 -16
  142. package/styles/css/detail.css.map +1 -1
  143. package/styles/css/main.css +439 -17
  144. package/styles/css/main.css.map +1 -1
  145. package/styles/scss/detail.scss +16 -18
  146. package/styles/scss/main.scss +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogDetailTabMetadata.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailTabMetadata.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,KAAK,SAAS,EAA6B,MAAM,sBAAsB,CAAC;AASjF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAO5D,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,uBAAuB,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;IAClE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EACrC,IAAI,EACJ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,SAAS,EACT,cAAc,EACjB,EAAE,KAAK,2CAiJP"}
1
+ {"version":3,"file":"CatalogDetailTabMetadata.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailTabMetadata.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,8BAA8B,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,KAAK,SAAS,EAA6B,MAAM,sBAAsB,CAAC;AASjF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAS5D,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,uBAAuB,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;IAClE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,6BAA6B,CAAC,EAAE,CAC5B,qBAAqB,EAAE,8BAA8B,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EACrC,IAAI,EACJ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,6BAA6B,EAC7B,UAAU,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,SAAS,EACT,cAAc,GACjB,EAAE,KAAK,2CA6JP"}
@@ -5,32 +5,26 @@ import { FormattedMessage, useIntl } from "react-intl";
5
5
  import { UiDate, UiIcon, UiTooltip } from "@gooddata/sdk-ui-kit";
6
6
  import { isCatalogItemAttribute, isCatalogItemDataSet, isCatalogItemFact, isCatalogItemHidable, isCatalogItemMeasure, } from "../catalogItem/guards.js";
7
7
  import {} from "../catalogItem/types.js";
8
+ import { useFeatureFlag } from "../permission/PermissionsContext.js";
9
+ import { CatalogDetailConditionalFormatting } from "./CatalogDetailConditionalFormatting.js";
8
10
  import { CatalogDetailContentRow } from "./CatalogDetailContentRow.js";
9
11
  import { CatalogDetailGranularities } from "./CatalogDetailGranularities.js";
10
12
  import { CatalogDetailMetricSettings } from "./CatalogDetailMetricSettings.js";
11
13
  import { CatalogDetailTags } from "./CatalogDetailTags.js";
12
- export function CatalogDetailTabMetadata({ item, canEdit, onTagClick, onTagAdd, onTagRemove, onIsHiddenChange, onIsHiddenFromKdaChange, onMetricTypeChange, onFormatChange, separators, currencyFormatOverride, enableMetricFormatOverrides, accessRow, showDatasetRow, }) {
14
+ export function CatalogDetailTabMetadata({ item, canEdit, onTagClick, onTagAdd, onTagRemove, onIsHiddenChange, onIsHiddenFromKdaChange, onMetricTypeChange, onFormatChange, onConditionalFormattingChange, separators, currencyFormatOverride, enableMetricFormatOverrides, accessRow, showDatasetRow, }) {
15
+ const enableSemanticConditionalFormatting = useFeatureFlag("enableSemanticConditionalFormatting");
13
16
  const intl = useIntl();
14
17
  const isMeasure = isCatalogItemMeasure(item);
15
18
  const isDataSet = isCatalogItemDataSet(item);
16
19
  const granularities = isDataSet ? (item.dataSet.attributes ?? []) : [];
17
20
  const datasetTitle = isCatalogItemAttribute(item) || isCatalogItemFact(item) ? item.dataSet?.title : undefined;
18
- return (_jsxs("dl", { className: "gd-analytics-catalog-detail__tab-content", children: [accessRow, showDatasetRow && datasetTitle ? (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.dataSet" }), content: datasetTitle })) : null, isDataSet && granularities.length > 0 ? (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.granularities" }), content: _jsx(CatalogDetailGranularities, { granularities: granularities }) })) : null, _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.createdBy" }), content: item.createdBy ?? undefined }), _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.createdAt" }), content: item.createdAt ? _jsx(UiDate, { date: item.createdAt, locale: intl.locale }) : undefined }), item.createdBy === item.updatedBy && !item.updatedBy ? null : (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.updatedBy" }), content: item.updatedBy ?? undefined })), item.createdAt?.getTime() === item.updatedAt?.getTime() ? null : (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.updatedAt" }), content: item.updatedAt ? _jsx(UiDate, { date: item.updatedAt, locale: intl.locale }) : undefined })), isCatalogItemHidable(item) ? (_jsx(CatalogDetailContentRow, { title: _jsxs(_Fragment, { children: [
19
- _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.isHidden" }), _jsx(UiTooltip, { anchor: _jsx(UiIcon, { type: "question", size: 12, color: "complementary-6" }), content: _jsx(FormattedMessage, { id: "analyticsCatalog.column.isHidden.field.tooltip" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 280, triggerBy: ["hover", "click"] })
20
- ] }), content: _jsxs("label", { className: "input-checkbox-toggle", children: [
21
- _jsx("input", { type: "checkbox", checked: item.isHidden !== true, disabled: !canEdit, "aria-label": intl.formatMessage({
21
+ return (_jsxs("dl", { className: "gd-analytics-catalog-detail__tab-content", children: [showDatasetRow && datasetTitle ? (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.dataSet" }), content: datasetTitle })) : null, isDataSet && granularities.length > 0 ? (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.granularities" }), content: _jsx(CatalogDetailGranularities, { granularities: granularities }) })) : null, _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.createdBy" }), content: item.createdBy ?? undefined }), _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.createdAt" }), content: item.createdAt ? _jsx(UiDate, { date: item.createdAt, locale: intl.locale }) : undefined }), item.createdBy === item.updatedBy && !item.updatedBy ? null : (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.updatedBy" }), content: item.updatedBy ?? undefined })), item.createdAt?.getTime() === item.updatedAt?.getTime() ? null : (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.updatedAt" }), content: item.updatedAt ? _jsx(UiDate, { date: item.updatedAt, locale: intl.locale }) : undefined })), isCatalogItemHidable(item) ? (_jsx(CatalogDetailContentRow, { title: _jsxs(_Fragment, { children: [_jsx(FormattedMessage, { id: "analyticsCatalog.column.title.isHidden" }), _jsx(UiTooltip, { anchor: _jsx(UiIcon, { type: "question", size: 12, color: "complementary-6" }), content: _jsx(FormattedMessage, { id: "analyticsCatalog.column.isHidden.field.tooltip" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 280, triggerBy: ["hover", "click"] })] }), content: _jsxs("label", { className: "input-checkbox-toggle", children: [_jsx("input", { type: "checkbox", checked: item.isHidden !== true, disabled: !canEdit, "aria-label": intl.formatMessage({
22
22
  id: "analyticsCatalog.column.title.isHidden",
23
23
  }), onChange: (event) => {
24
24
  onIsHiddenChange(!event.target.checked);
25
- }, className: cx("s-checkbox-toggle", canEdit ? "s-enabled" : "s-disabled") }), _jsx("span", { className: "input-label-text" })
26
- ] }) })) : null, isMeasure ? (_jsx(CatalogDetailContentRow, { title: _jsxs(_Fragment, { children: [
27
- _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.isHiddenFromKda" }), _jsx(UiTooltip, { anchor: _jsx(UiIcon, { type: "question", size: 12, color: "complementary-6" }), content: _jsx(FormattedMessage, { id: "analyticsCatalog.column.isHiddenFromKda.field.tooltip" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 280, triggerBy: ["hover", "click"] })
28
- ] }), content: _jsxs("label", { className: "input-checkbox-toggle", children: [
29
- _jsx("input", { type: "checkbox", checked: item.isHiddenFromKda !== true, disabled: !canEdit, "aria-label": intl.formatMessage({
25
+ }, className: cx("s-checkbox-toggle", canEdit ? "s-enabled" : "s-disabled") }), _jsx("span", { className: "input-label-text" })] }) })) : null, isMeasure ? (_jsx(CatalogDetailContentRow, { title: _jsxs(_Fragment, { children: [_jsx(FormattedMessage, { id: "analyticsCatalog.column.title.isHiddenFromKda" }), _jsx(UiTooltip, { anchor: _jsx(UiIcon, { type: "question", size: 12, color: "complementary-6" }), content: _jsx(FormattedMessage, { id: "analyticsCatalog.column.isHiddenFromKda.field.tooltip" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 280, triggerBy: ["hover", "click"] })] }), content: _jsxs("label", { className: "input-checkbox-toggle", children: [_jsx("input", { type: "checkbox", checked: item.isHiddenFromKda !== true, disabled: !canEdit, "aria-label": intl.formatMessage({
30
26
  id: "analyticsCatalog.column.title.isHiddenFromKda",
31
27
  }), onChange: (event) => {
32
28
  onIsHiddenFromKdaChange(!event.target.checked);
33
- }, className: cx("s-checkbox-toggle", canEdit ? "s-enabled" : "s-disabled") }), _jsx("span", { className: "input-label-text" })
34
- ] }) })) : null, isMeasure && enableMetricFormatOverrides ? (_jsx(CatalogDetailMetricSettings, { metricType: item.metricType, format: item.format, canEdit: canEdit, separators: separators, currencyFormatOverride: currencyFormatOverride, onMetricTypeChange: onMetricTypeChange, onFormatChange: onFormatChange, enableMetricFormatOverrides: enableMetricFormatOverrides })) : null, _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.tags" }), content: _jsx(CatalogDetailTags, { tags: item.tags, canEdit: canEdit, onTagClick: onTagClick, onTagAdd: onTagAdd, onTagRemove: onTagRemove }) })
35
- ] }));
29
+ }, className: cx("s-checkbox-toggle", canEdit ? "s-enabled" : "s-disabled") }), _jsx("span", { className: "input-label-text" })] }) })) : null, isMeasure && enableMetricFormatOverrides ? (_jsx(CatalogDetailMetricSettings, { metricType: item.metricType, format: item.format, canEdit: canEdit, separators: separators, currencyFormatOverride: currencyFormatOverride, onMetricTypeChange: onMetricTypeChange, onFormatChange: onFormatChange, enableMetricFormatOverrides: enableMetricFormatOverrides })) : null, isMeasure && enableSemanticConditionalFormatting && onConditionalFormattingChange ? (_jsx(CatalogDetailConditionalFormatting, { identifier: item.identifier, title: item.title, format: item.format, conditionalFormatting: item.conditionalFormatting, canEdit: canEdit, onConditionalFormattingChange: onConditionalFormattingChange, separators: separators })) : null, accessRow, _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.tags" }), content: _jsx(CatalogDetailTags, { tags: item.tags, canEdit: canEdit, onTagClick: onTagClick, onTagAdd: onTagAdd, onTagRemove: onTagRemove }) })] }));
36
30
  }
@@ -8,6 +8,6 @@ type Props = {
8
8
  onEditClick?: (attributeName: SemanticQualityIssueAttributeName) => void;
9
9
  onCatalogItemNavigation?: (event: MouseEvent, ref: ICatalogItemRef) => void;
10
10
  };
11
- export declare function CatalogDetailTabQuality({ item, issues, canEdit, onEditClick, onCatalogItemNavigation }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export declare function CatalogDetailTabQuality({ item, issues, canEdit, onEditClick, onCatalogItemNavigation, }: Props): import("react/jsx-runtime").JSX.Element;
12
12
  export {};
13
13
  //# sourceMappingURL=CatalogDetailTabQuality.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogDetailTabQuality.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailTabQuality.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAGzG,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlF,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,iCAAiC,KAAK,IAAI,CAAC;IACzE,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACpC,IAAI,EACJ,MAAM,EACN,OAAO,EACP,WAAW,EACX,uBAAuB,EAC1B,EAAE,KAAK,2CAsBP"}
1
+ {"version":3,"file":"CatalogDetailTabQuality.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailTabQuality.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAGzG,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlF,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,iCAAiC,KAAK,IAAI,CAAC;IACzE,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACpC,IAAI,EACJ,MAAM,EACN,OAAO,EACP,WAAW,EACX,uBAAuB,GAC1B,EAAE,KAAK,2CAsBP"}
@@ -7,7 +7,5 @@ import { UiIcon } from "@gooddata/sdk-ui-kit";
7
7
  import {} from "../catalogItem/types.js";
8
8
  import { QualityIssue } from "../quality/QualityIssue.js";
9
9
  export function CatalogDetailTabQuality({ item, issues, canEdit, onEditClick, onCatalogItemNavigation, }) {
10
- return (_jsx("div", { className: "gd-analytics-catalog-detail__tab-quality", children: issues.length > 0 ? (issues.map((issue) => (_jsx(QualityIssue, { objectId: item.identifier, issue: issue, canEdit: canEdit, onEditClick: onEditClick, onObjectClick: onCatalogItemNavigation }, issue.id)))) : (_jsxs("div", { className: "gd-analytics-catalog-detail__tab-quality__empty", children: [
11
- _jsx(UiIcon, { type: "checkCircle", size: 26, color: "currentColor" }), _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.tab.quality.empty" })
12
- ] })) }));
10
+ return (_jsx("div", { className: "gd-analytics-catalog-detail__tab-quality", children: issues.length > 0 ? (issues.map((issue) => (_jsx(QualityIssue, { objectId: item.identifier, issue: issue, canEdit: canEdit, onEditClick: onEditClick, onObjectClick: onCatalogItemNavigation }, issue.id)))) : (_jsxs("div", { className: "gd-analytics-catalog-detail__tab-quality__empty", children: [_jsx(UiIcon, { type: "checkCircle", size: 26, color: "currentColor" }), _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.tab.quality.empty" })] })) }));
13
11
  }
@@ -1,5 +1,5 @@
1
- import type { IUser, MetricType } from "@gooddata/sdk-model";
2
- import { type ICatalogItem, type ICatalogItemRef } from "../../catalogItem/types.js";
1
+ import { type IUser, type MetricType } from "@gooddata/sdk-model";
2
+ import { type ICatalogItem, type ICatalogItemMeasure, type ICatalogItemRef } from "../../catalogItem/types.js";
3
3
  import { type ObjectType } from "../../objectType/types.js";
4
4
  export interface IUseCatalogItemUpdate {
5
5
  currentUser: IUser | null | undefined;
@@ -10,7 +10,7 @@ export interface IUseCatalogItemUpdate {
10
10
  onDelete?: (ref: ICatalogItemRef) => void;
11
11
  onError?: (error: Error) => void;
12
12
  }
13
- export declare function useCatalogItemUpdate({ currentUser, objectId, objectType, objectDefinition, onUpdate, onDelete, onError }: IUseCatalogItemUpdate): {
13
+ export declare function useCatalogItemUpdate({ currentUser, objectId, objectType, objectDefinition, onUpdate, onDelete, onError, }: IUseCatalogItemUpdate): {
14
14
  item: ICatalogItem | null | undefined;
15
15
  status: "error" | "loading" | "pending" | "success";
16
16
  error: Error | undefined;
@@ -21,12 +21,8 @@ export declare function useCatalogItemUpdate({ currentUser, objectId, objectType
21
21
  updateItemIsHiddenFromKda: (isHiddenFromKda: boolean) => void;
22
22
  updateItemMetricType: (metricType: MetricType | undefined) => void;
23
23
  updateItemFormat: (format: string | null) => void;
24
- updateItemCertification: (certification: {
25
- status: "CERTIFIED";
26
- message?: string | undefined;
27
- certifiedAt?: Date | null | undefined;
28
- certifiedBy?: string | undefined;
29
- } | undefined) => void;
24
+ updateItemConditionalFormatting: (conditionalFormatting: ICatalogItemMeasure["conditionalFormatting"]) => void;
25
+ updateItemCertification: (certification: ICatalogItem["certification"]) => void;
30
26
  applyItemUpdate: (updated: ICatalogItem) => void;
31
27
  applyItemDelete: (ref: ICatalogItemRef) => void;
32
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useCatalogItemUpdate.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/hooks/useCatalogItemUpdate.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAM7D,OAAO,EACH,KAAK,YAAY,EAEjB,KAAK,eAAe,EACvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,MAAM,WAAW,qBAAqB;IAClC,WAAW,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACpC;AAID,wBAAgB,oBAAoB,CAAC,EACjC,WAAW,EACX,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,OAAO,EACV,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;EAySvB"}
1
+ {"version":3,"file":"useCatalogItemUpdate.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/hooks/useCatalogItemUpdate.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAUlE,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,MAAM,WAAW,qBAAqB;IAClC,WAAW,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACpC;AAID,wBAAgB,oBAAoB,CAAC,EACjC,WAAW,EACX,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,OAAO,GACV,EAAE,qBAAqB;;;;6BA4DR,MAAM;yCAsBA,MAAM;2BAsBb,MAAM,EAAE;mCAsBJ,OAAO;iDA0BA,OAAO;uCA8BZ,UAAU,GAAG,SAAS;+BA2B1B,MAAM,GAAG,IAAI;6DA+BE,mBAAmB,CAAC,uBAAuB,CAAC;6CAwCpD,YAAY,CAAC,eAAe,CAAC;+BA9OnC,YAAY;2BAUhB,eAAe;EA8R5B"}
@@ -1,10 +1,11 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { useCallback, useEffect, useState } from "react";
3
3
  import { isEqual } from "lodash-es";
4
+ import {} from "@gooddata/sdk-model";
4
5
  import { useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
5
6
  import { getDisplayName } from "../../catalogItem/converter.js";
6
7
  import { isCatalogItemHidable, isCatalogItemLoaded, isCatalogItemMeasure } from "../../catalogItem/guards.js";
7
- import { updateCatalogItem, updateCatalogItemCertification } from "../../catalogItem/query.js";
8
+ import { persistMeasureConditionalFormatting, updateCatalogItem, updateCatalogItemCertification, } from "../../catalogItem/query.js";
8
9
  import {} from "../../catalogItem/types.js";
9
10
  import { useMounted } from "../../hooks/useMounted.js";
10
11
  import {} from "../../objectType/types.js";
@@ -130,6 +131,29 @@ export function useCatalogItemUpdate({ currentUser, objectId, objectType, object
130
131
  revertItemUpdate(err, item);
131
132
  }, persistMeasureChanges);
132
133
  }, [backend, currentUser, item, onUpdate, persistMeasureChanges, revertItemUpdate, status, workspace]);
134
+ const persistMeasureConditionalFormattingChanges = useCallback((nextItem) => persistMeasureConditionalFormatting(backend, workspace, nextItem), [backend, workspace]);
135
+ const updateItemConditionalFormatting = useCallback((conditionalFormatting) => {
136
+ if (!isCatalogItemMeasure(item)) {
137
+ return;
138
+ }
139
+ updateItem(backend, workspace, currentUser, item, status !== "success", () => ({
140
+ conditionalFormatting,
141
+ }), (newItem) => {
142
+ setItem(newItem);
143
+ onUpdate?.(newItem);
144
+ }, (err) => {
145
+ revertItemUpdate(err, item);
146
+ }, persistMeasureConditionalFormattingChanges);
147
+ }, [
148
+ backend,
149
+ currentUser,
150
+ item,
151
+ onUpdate,
152
+ persistMeasureConditionalFormattingChanges,
153
+ revertItemUpdate,
154
+ status,
155
+ workspace,
156
+ ]);
133
157
  const persistCertificationChanges = useCallback((newItem) => updateCatalogItemCertification(backend, workspace, newItem), [backend, workspace]);
134
158
  const updateItemCertification = useCallback((certification) => {
135
159
  updateItem(backend, workspace, currentUser, item, status !== "success", () => ({
@@ -171,6 +195,7 @@ export function useCatalogItemUpdate({ currentUser, objectId, objectType, object
171
195
  updateItemIsHiddenFromKda,
172
196
  updateItemMetricType,
173
197
  updateItemFormat,
198
+ updateItemConditionalFormatting,
174
199
  updateItemCertification,
175
200
  applyItemUpdate,
176
201
  applyItemDelete,
@@ -1,19 +1,18 @@
1
- import type { IObjectAccessSummary } from "@gooddata/sdk-ui-ext";
1
+ import { type IObjectAccessSummary } from "@gooddata/sdk-ui-ext";
2
2
  /**
3
3
  * @internal
4
4
  */
5
5
  export interface ICatalogDetailAccessRowProps {
6
6
  summary: IObjectAccessSummary;
7
- onOpen: () => void;
8
7
  }
9
8
  /**
10
- * Inline metadata row showing the current access state. Composed of two chips:
9
+ * Static description of who can reach the object, for the metadata grid. Workspace-wide
10
+ * access and named grantees are independent, so both lines can show at once; neither one
11
+ * showing means nobody but the caller has access.
11
12
  *
12
- * - State chip: lock (restricted) or earth (workspace-wide), with text describing
13
- * the permission level.
14
- * - Grantee count chip: users icon + "Shared with N" link that opens the dialog.
13
+ * Read-only by design — the header's Share button is the way in to editing access.
15
14
  *
16
15
  * @internal
17
16
  */
18
- export declare function CatalogDetailAccessRow({ summary, onOpen }: ICatalogDetailAccessRowProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function CatalogDetailAccessRow({ summary }: ICatalogDetailAccessRowProps): import("react/jsx-runtime").JSX.Element;
19
18
  //# sourceMappingURL=CatalogDetailAccessRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogDetailAccessRow.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/CatalogDetailAccessRow.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAYjE;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AASD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,4BAA4B,2CA8CvF"}
1
+ {"version":3,"file":"CatalogDetailAccessRow.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/CatalogDetailAccessRow.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,oBAAoB,EAA4B,MAAM,sBAAsB,CAAC;AAa3F;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,OAAO,EAAE,oBAAoB,CAAC;CACjC;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,EAAE,4BAA4B,2CAgC/E"}
@@ -1,37 +1,29 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // (C) 2026 GoodData Corporation
3
- import { FormattedMessage, useIntl } from "react-intl";
2
+ import { FormattedMessage } from "react-intl";
3
+ import { summaryOtherGranteeCount } from "@gooddata/sdk-ui-ext";
4
4
  import { UiIcon } from "@gooddata/sdk-ui-kit";
5
- import { catalogDetailAccessRow, catalogDetailAccessRowSharedLink, catalogDetailAccessRowState, } from "../../automation/testIds.js";
5
+ import { catalogDetailAccessRow, catalogDetailAccessRowPrivate, catalogDetailAccessRowShared, catalogDetailAccessRowWorkspace, } from "../../automation/testIds.js";
6
6
  import { CatalogDetailContentRow } from "../CatalogDetailContentRow.js";
7
7
  import { shareMessages } from "./messages.js";
8
- // Chip copy for each workspace-wide access level.
9
- const WORKSPACE_ACCESS_ROW_MESSAGE = {
8
+ const WORKSPACE_MESSAGE = {
10
9
  EDIT: shareMessages.accessRowWorkspaceEdit,
11
10
  SHARE: shareMessages.accessRowWorkspaceShare,
12
11
  VIEW: shareMessages.accessRowWorkspaceView,
13
12
  };
13
+ function AccessLine({ icon, testId, children }) {
14
+ return (_jsxs("li", { className: "gd-analytics-catalog-detail__access-row__line", "data-testid": testId, children: [_jsx("span", { className: "gd-analytics-catalog-detail__access-row__icon", children: _jsx(UiIcon, { type: icon, size: 14, color: "complementary-7" }) }), _jsx("span", { children: children })] }));
15
+ }
14
16
  /**
15
- * Inline metadata row showing the current access state. Composed of two chips:
17
+ * Static description of who can reach the object, for the metadata grid. Workspace-wide
18
+ * access and named grantees are independent, so both lines can show at once; neither one
19
+ * showing means nobody but the caller has access.
16
20
  *
17
- * - State chip: lock (restricted) or earth (workspace-wide), with text describing
18
- * the permission level.
19
- * - Grantee count chip: users icon + "Shared with N" link that opens the dialog.
21
+ * Read-only by design — the header's Share button is the way in to editing access.
20
22
  *
21
23
  * @internal
22
24
  */
23
- export function CatalogDetailAccessRow({ summary, onOpen }) {
24
- const intl = useIntl();
25
- const { generalAccess, workspaceLevel, granteeCount } = summary;
26
- const stateText = intl.formatMessage(generalAccess === "RESTRICTED"
27
- ? shareMessages.accessRowRestricted
28
- : WORKSPACE_ACCESS_ROW_MESSAGE[workspaceLevel]);
29
- const stateIcon = generalAccess === "RESTRICTED" ? "lock" : "building";
30
- return (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { ...shareMessages.accessRowLabel }), content: _jsxs("div", { className: "gd-analytics-catalog-detail__access-row", "data-testid": catalogDetailAccessRow, children: [
31
- _jsxs("span", { className: "gd-analytics-catalog-detail__access-row__chip", "data-testid": catalogDetailAccessRowState, children: [
32
- _jsx("span", { className: "gd-analytics-catalog-detail__access-row__chip-icon", children: _jsx(UiIcon, { type: stateIcon, size: 14, color: "complementary-7" }) }), _jsx("span", { children: stateText })
33
- ] }), _jsxs("button", { type: "button", className: "gd-analytics-catalog-detail__access-row__chip gd-analytics-catalog-detail__access-row__shared-link", onClick: onOpen, "data-testid": catalogDetailAccessRowSharedLink, children: [
34
- _jsx("span", { className: "gd-analytics-catalog-detail__access-row__chip-icon", children: _jsx(UiIcon, { type: "users", size: 14, color: "complementary-7" }) }), _jsx("span", { children: _jsx(FormattedMessage, { ...shareMessages.accessRowSharedWith, values: { count: granteeCount } }) })
35
- ] })
36
- ] }) }));
25
+ export function CatalogDetailAccessRow({ summary }) {
26
+ const isWorkspaceWide = summary.generalAccess === "WORKSPACE";
27
+ const otherGrantees = summaryOtherGranteeCount(summary);
28
+ return (_jsx(CatalogDetailContentRow, { alignTop: true, title: _jsx(FormattedMessage, { ...shareMessages.accessRowLabel }), content: _jsxs("ul", { className: "gd-analytics-catalog-detail__access-row", "data-testid": catalogDetailAccessRow, children: [isWorkspaceWide ? (_jsx(AccessLine, { icon: "building", testId: catalogDetailAccessRowWorkspace, children: _jsx(FormattedMessage, { ...WORKSPACE_MESSAGE[summary.workspaceLevel] }) })) : null, otherGrantees > 0 ? (_jsx(AccessLine, { icon: "users", testId: catalogDetailAccessRowShared, children: _jsx(FormattedMessage, { ...shareMessages.accessRowSharedWith, values: { count: otherGrantees } }) })) : null, !isWorkspaceWide && otherGrantees === 0 ? (_jsx(AccessLine, { icon: "invisible", testId: catalogDetailAccessRowPrivate, children: _jsx(FormattedMessage, { ...shareMessages.accessRowPrivate }) })) : null] }) }));
37
29
  }
@@ -4,7 +4,7 @@ import { FormattedMessage } from "react-intl";
4
4
  import { UiSkeleton } from "@gooddata/sdk-ui-kit";
5
5
  import { CatalogDetailContentRow } from "../CatalogDetailContentRow.js";
6
6
  import { CatalogDetailAccessRow } from "./CatalogDetailAccessRow.js";
7
- import { useCatalogItemShareActions, useCatalogItemShareState } from "./CatalogItemShareProvider.js";
7
+ import { useCatalogItemShareState } from "./CatalogItemShareProvider.js";
8
8
  import { shareMessages } from "./messages.js";
9
9
  /**
10
10
  * Inline access row for the metadata tab, wired to the share context. Renders the
@@ -18,15 +18,11 @@ import { shareMessages } from "./messages.js";
18
18
  */
19
19
  export function CatalogItemAccessRow() {
20
20
  const { active, summary, summaryError } = useCatalogItemShareState();
21
- const { open } = useCatalogItemShareActions();
22
21
  if (!active) {
23
22
  return null;
24
23
  }
25
24
  if (summary) {
26
- return _jsx(CatalogDetailAccessRow, { summary: summary, onOpen: open });
25
+ return _jsx(CatalogDetailAccessRow, { summary: summary });
27
26
  }
28
- return (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { ...shareMessages.accessRowLabel }), content: summaryError ? (
29
- // role="alert": the error replaces the skeleton after an async
30
- // failure — it must be announced, not just inserted.
31
- _jsx("span", { role: "alert", children: _jsx(FormattedMessage, { ...shareMessages.accessRowError }) })) : (_jsx(UiSkeleton, { itemWidth: 200, itemHeight: 20 })) }));
27
+ return (_jsx(CatalogDetailContentRow, { alignTop: true, title: _jsx(FormattedMessage, { ...shareMessages.accessRowLabel }), content: summaryError ? (_jsx("span", { role: "alert", children: _jsx(FormattedMessage, { ...shareMessages.accessRowError }) })) : (_jsx(UiSkeleton, { direction: "row", itemWidth: 200, itemHeight: 20 })) }));
32
28
  }
@@ -66,7 +66,7 @@ export interface ICatalogItemShareProviderProps {
66
66
  *
67
67
  * @internal
68
68
  */
69
- export declare function CatalogItemShareProvider({ shareableItem, target, labels, children }: ICatalogItemShareProviderProps): import("react/jsx-runtime").JSX.Element;
69
+ export declare function CatalogItemShareProvider({ shareableItem, target, labels, children, }: ICatalogItemShareProviderProps): import("react/jsx-runtime").JSX.Element;
70
70
  /**
71
71
  * Page share state (summary, open flag, dialog inputs) for the current catalog item.
72
72
  * Reports `active: false` when sharing is unavailable.
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogItemShareProvider.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/CatalogItemShareProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA6D,MAAM,OAAO,CAAC;AAElG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,OAAO,EACH,KAAK,oBAAoB,EAG5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;GAKG;AACH,UAAU,sBAAsB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC1C;;;;;OAKG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,MAAM,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,MAAM,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;GAGG;AACH,UAAU,wBAAwB;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,kGAAkG;IAClG,eAAe,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC5D;AAyBD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,+FAA+F;IAC/F,aAAa,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChD,sDAAsD;IACtD,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7C,mFAAmF;IACnF,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,EACrC,aAAa,EACb,MAAM,EACN,MAAM,EACN,QAAQ,EACX,EAAE,8BAA8B,2CAiHhC;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,sBAAsB,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,wBAAwB,CAErE"}
1
+ {"version":3,"file":"CatalogItemShareProvider.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/CatalogItemShareProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA6D,MAAM,OAAO,CAAC;AAElG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,EACH,KAAK,oBAAoB,EAG5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;GAKG;AACH,UAAU,sBAAsB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC1C;;;;;OAKG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,MAAM,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,MAAM,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;GAGG;AACH,UAAU,wBAAwB;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,kGAAkG;IAClG,eAAe,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC5D;AAyBD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,+FAA+F;IAC/F,aAAa,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChD,sDAAsD;IACtD,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7C,mFAAmF;IACnF,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,EACrC,aAAa,EACb,MAAM,EACN,MAAM,EACN,QAAQ,GACX,EAAE,8BAA8B,2CAyHhC;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,sBAAsB,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,wBAAwB,CAErE"}
@@ -73,9 +73,17 @@ export function CatalogItemShareProvider({ shareableItem, target, labels, childr
73
73
  const summaryUnknown = summary === undefined;
74
74
  const { status, error } = useCancelablePromise({
75
75
  promise: target && summaryUnknown
76
- ? () => backend.workspace(workspace).objectPermissions().getAccessList(target)
76
+ ? async () => {
77
+ // The profile tells the caller's own grant from everyone else's. Without
78
+ // it no count can be trusted, so a failure here fails the whole read.
79
+ const [list, self] = await Promise.all([
80
+ backend.workspace(workspace).objectPermissions().getAccessList(target),
81
+ backend.currentUser().getUser(),
82
+ ]);
83
+ return accessListToSummary(list, self);
84
+ }
77
85
  : undefined,
78
- onSuccess: (list) => setSummary((prev) => prev ?? accessListToSummary(list)),
86
+ onSuccess: (next) => setSummary((prev) => prev ?? next),
79
87
  onError: () => { },
80
88
  }, [backend, workspace, itemKey, summaryUnknown]);
81
89
  // Sharing is offered only while the access list is reachable. The permissions
@@ -13,7 +13,7 @@ export declare const shareMessages: {
13
13
  accessRowError: {
14
14
  id: string;
15
15
  };
16
- accessRowRestricted: {
16
+ accessRowPrivate: {
17
17
  id: string;
18
18
  };
19
19
  accessRowWorkspaceView: {
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/messages.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;CASxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAKzB,CAAC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/messages.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,aAAa;;QACP,EAAE;;;QACC,EAAE;;;QACF,EAAE;;;QACA,EAAE;;;QACI,EAAE;;;QACD,EAAE;;;QACH,EAAE;;;QACL,EAAE;;CAC3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;QACf,EAAE;;;QACU,EAAE;;;QACR,EAAE;;;QACF,EAAE;;CAClB,CAAC"}
@@ -9,7 +9,7 @@ export const shareMessages = defineMessages({
9
9
  shareButton: { id: "analyticsCatalog.share.button" },
10
10
  accessRowLabel: { id: "analyticsCatalog.share.access.row.label" },
11
11
  accessRowError: { id: "analyticsCatalog.share.access.row.error" },
12
- accessRowRestricted: { id: "analyticsCatalog.share.access.row.restricted" },
12
+ accessRowPrivate: { id: "analyticsCatalog.share.access.row.private" },
13
13
  accessRowWorkspaceView: { id: "analyticsCatalog.share.access.row.workspace.view" },
14
14
  accessRowWorkspaceShare: { id: "analyticsCatalog.share.access.row.workspace.share" },
15
15
  accessRowWorkspaceEdit: { id: "analyticsCatalog.share.access.row.workspace.edit" },
@@ -1 +1 @@
1
- {"version":3,"file":"useCatalogItemFeed.d.ts","sourceRoot":"","sources":["../../../src/catalogItem/__mocks__/useCatalogItemFeed.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;EAqBjC"}
1
+ {"version":3,"file":"useCatalogItemFeed.d.ts","sourceRoot":"","sources":["../../../src/catalogItem/__mocks__/useCatalogItemFeed.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB;IAE1B,KAAK;IACL,KAAK;IACL,MAAM,EAAE,SAAS;IACjB,UAAU;IACV,gBAAgB;QACZ,mBAAmB;QACnB,OAAO;QACP,OAAO;QACP,SAAS;QACT,SAAS;QACT,IAAI;QACJ,OAAO;;IAEX,OAAO;IACP,IAAI;IACJ,UAAU;IACV,UAAU;IACV,iBAAiB;EAExB"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalogBackend.test.utils.d.ts","sourceRoot":"","sources":["../../src/catalogItem/catalogBackend.test.utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAM,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;;GASG;AAEH,8FAA8F;AAC9F,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACd;AAED,UAAU,aAAa;IACnB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,kGAAkG;AAClG,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,SAAS,CAgB5D;AAED,yFAAuF;AACvF,wBAAgB,SAAS,IAAI,SAAS,CAErC;AA6CD,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,6FAA6F;AAC7F,QAAA,MAAM,uBAAuB,8HASnB,CAAC;AAEX,2FAA2F;AAC3F,QAAA,MAAM,wBAAwB,mJAQpB,CAAC;AAEX,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAE/F,KAAK,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACrF,KAAK,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AA0BvF,gEAAgE;AAChE,UAAU,2BAA2B;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/B,aAAa,EAAE,OAAO,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,0FAAwF;IACxF,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAClC,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACjD,sFAAsF;IACtF,mBAAmB,EAAE,IAAI,CAAC;IAC1B,qBAAqB,EAAE,mBAAmB,CAAC;IAC3C,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACnE,oFAAoF;IACpF,yBAAyB,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;CACvF;AAED,wBAAgB,wBAAwB,IAAI,mBAAmB,CA4C9D"}
1
+ {"version":3,"file":"catalogBackend.test.utils.d.ts","sourceRoot":"","sources":["../../src/catalogItem/catalogBackend.test.utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAM,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;;GASG;AAEH,8FAA8F;AAC9F,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACd;AAED,UAAU,aAAa;IACnB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,kGAAkG;AAClG,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,SAAS,CAgB5D;AAED,uFAAuF;AACvF,wBAAgB,SAAS,IAAI,SAAS,CAErC;AA6CD,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,6FAA6F;AAC7F,QAAA,MAAM,uBAAuB,YACzB,UAAU,EACV,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,CACN,CAAC;AAEX,2FAA2F;AAC3F,QAAA,MAAM,wBAAwB,YAC1B,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,CACX,CAAC;AAEX,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAE/F,KAAK,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACrF,KAAK,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AA0BvF,gEAAgE;AAChE,UAAU,2BAA2B;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/B,aAAa,EAAE,OAAO,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAClC,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACjD,sFAAsF;IACtF,mBAAmB,EAAE,IAAI,CAAC;IAC1B,qBAAqB,EAAE,mBAAmB,CAAC;IAC3C,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACnE,oFAAoF;IACpF,yBAAyB,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;CACvF;AAED,wBAAgB,wBAAwB,IAAI,mBAAmB,CA4C9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/catalogItem/converter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAE3B,KAAK,wBAAwB,EAC7B,KAAK,KAAK,EAUb,MAAM,qBAAqB,CAAC;AAK7B,OAAO,KAAK,EACR,YAAY,EACZ,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EAExB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,0BAA0B,CACtC,MAAM,EACA,QAAQ,GACR,gBAAgB,GAChB,sBAAsB,GACtB,wBAAwB,GACxB,gCAAgC,GAChC,mBAAmB,GACnB,wBAAwB,GACxB,sBAAsB,GACtB,SAAS,GAChB,YAAY,CA0Bd;AAED,wBAAgB,6BAA6B,CACzC,SAAS,EAAE,UAAU,GAAG,gBAAgB,GACzC,qBAAqB,CAiBvB;AAED,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,GAAG,mBAAmB,CAkBtF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,mBAAmB,CAuBhG;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,GAAG,gBAAgB,CAgBpF;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,wBAAwB,GAAG,qBAAqB,CAiBxG;AAED,wBAAgB,qCAAqC,CACjD,iBAAiB,EAAE,gCAAgC,GACpD,6BAA6B,CAgB/B;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,wBAAwB,GAAG,qBAAqB,CAgBxG;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,mBAAmB,CAehG;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,CAW1D;AAcD,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,+BAA+B,GAAG,YAAY,CAuBrG"}
1
+ {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/catalogItem/converter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAE3B,KAAK,wBAAwB,EAC7B,KAAK,KAAK,EAUb,MAAM,qBAAqB,CAAC;AAK7B,OAAO,KAAK,EACR,YAAY,EACZ,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EAExB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,0BAA0B,CACtC,MAAM,EACA,QAAQ,GACR,gBAAgB,GAChB,sBAAsB,GACtB,wBAAwB,GACxB,gCAAgC,GAChC,mBAAmB,GACnB,wBAAwB,GACxB,sBAAsB,GACtB,SAAS,GAChB,YAAY,CA0Bd;AAED,wBAAgB,6BAA6B,CACzC,SAAS,EAAE,UAAU,GAAG,gBAAgB,GACzC,qBAAqB,CAiBvB;AAED,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,GAAG,mBAAmB,CAkBtF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,mBAAmB,CAwBhG;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,GAAG,gBAAgB,CAgBpF;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,wBAAwB,GAAG,qBAAqB,CAiBxG;AAED,wBAAgB,qCAAqC,CACjD,iBAAiB,EAAE,gCAAgC,GACpD,6BAA6B,CAgB/B;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,wBAAwB,GAAG,qBAAqB,CAgBxG;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,mBAAmB,CAehG;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,CAW1D;AAcD,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,+BAA+B,GAAG,YAAY,CAuBrG"}
@@ -86,6 +86,7 @@ export function convertMeasureToCatalogItem(measure) {
86
86
  isHiddenFromKda: measure.isHiddenFromKda,
87
87
  format,
88
88
  metricType: measure.metricType,
89
+ conditionalFormatting: measure.conditionalFormatting,
89
90
  };
90
91
  }
91
92
  export function convertFactToCatalogItem(fact) {
@@ -1,15 +1,16 @@
1
1
  import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
2
2
  import { type IMeasureMetadataObject, type IMeasureMetadataObjectDefinition, type IParameterMetadataObjectDefinition, type ObjRef } from "@gooddata/sdk-model";
3
- import type { ICatalogItem, ICatalogItemQueryOptions } from "./types.js";
4
- export declare function getDashboardsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IDashboardsQuery;
5
- export declare function getInsightsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IInsightsQuery;
6
- export declare function getMetricsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize, loadPermissions }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IMeasuresQuery;
7
- export declare function getParametersQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IParametersQuery;
8
- export declare function getComputedAttributesQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IComputedAttributesQuery;
9
- export declare function getAttributesQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IAttributesQuery;
10
- export declare function getFactsQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IFactsQuery;
11
- export declare function getDateDatasetsQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IDatasetsQuery;
3
+ import type { ICatalogItem, ICatalogItemMeasure, ICatalogItemQueryOptions } from "./types.js";
4
+ export declare function getDashboardsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IDashboardsQuery;
5
+ export declare function getInsightsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IInsightsQuery;
6
+ export declare function getMetricsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize, loadPermissions, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IMeasuresQuery;
7
+ export declare function getParametersQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IParametersQuery;
8
+ export declare function getComputedAttributesQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IComputedAttributesQuery;
9
+ export declare function getAttributesQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IAttributesQuery;
10
+ export declare function getFactsQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IFactsQuery;
11
+ export declare function getDateDatasetsQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IDatasetsQuery;
12
12
  export declare function updateCatalogItem(backend: IAnalyticalBackend, workspace: string, item: ICatalogItem): Promise<import("@gooddata/sdk-model").IAttributeMetadataObject> | Promise<import("@gooddata/sdk-model").IDashboard<import("@gooddata/sdk-model").IDashboardWidget>> | Promise<import("@gooddata/sdk-model").IDataSetMetadataObject> | Promise<import("@gooddata/sdk-model").IFactMetadataObject> | Promise<import("@gooddata/sdk-model").IParameterMetadataObject> | Promise<import("@gooddata/sdk-model").IComputedAttributeMetadataObject> | Promise<import("@gooddata/sdk-model").IInsight> | Promise<IMeasureMetadataObject>;
13
+ export declare function persistMeasureConditionalFormatting(backend: IAnalyticalBackend, workspace: string, item: ICatalogItemMeasure): Promise<undefined>;
13
14
  export declare function createParameterCatalogItem(backend: IAnalyticalBackend, workspace: string, parameter: IParameterMetadataObjectDefinition): Promise<import("@gooddata/sdk-model").IParameterMetadataObject>;
14
15
  export declare function updateParameterCatalogItem(backend: IAnalyticalBackend, workspace: string, definition: IParameterMetadataObjectDefinition & {
15
16
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/catalogItem/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/catalogItem/query.ts"],"names":[],"mappings":"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"}
@@ -228,6 +228,19 @@ function updateMeasureCatalogItemMeta(backend, workspace, item) {
228
228
  isHiddenFromKda: item.isHiddenFromKda,
229
229
  });
230
230
  }
231
+ // updateMeasureMeta is a true partial patch, so this call touches conditionalFormatting and nothing
232
+ // else, instead of resending a locally-cached copy of the whole measure that may be stale by the
233
+ // time this write lands (see IWorkspaceMeasuresService.updateMeasureMeta's doc comment).
234
+ export function persistMeasureConditionalFormatting(backend, workspace, item) {
235
+ return backend
236
+ .workspace(workspace)
237
+ .measures()
238
+ .updateMeasureMeta({
239
+ ...buildIdentity(item),
240
+ conditionalFormatting: item.conditionalFormatting ?? null,
241
+ })
242
+ .then(() => undefined);
243
+ }
231
244
  function updateInsightCatalogItemMeta(backend, workspace, item) {
232
245
  return backend
233
246
  .workspace(workspace)
@@ -1,5 +1,5 @@
1
1
  import type { AnalyticsCatalogGenerateDescriptionObjectType, IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
2
- import type { AccessGranularPermission, CertificationStatus, IDataSetMetadataObject, IParameterDefinition, IdentifierRef, MetricType, ObjectOrigin } from "@gooddata/sdk-model";
2
+ import type { AccessGranularPermission, CertificationStatus, IDataSetMetadataObject, IParameterDefinition, ISemanticConditionalFormatting, IdentifierRef, MetricType, ObjectOrigin } from "@gooddata/sdk-model";
3
3
  import { type AsyncStatus } from "../async/types.js";
4
4
  import type { ObjectType } from "../objectType/types.js";
5
5
  /**
@@ -70,6 +70,11 @@ export interface ICatalogItemMeasure extends ICatalogItemBase {
70
70
  metricType?: MetricType;
71
71
  /** Object-level permissions, only when the query asked for them. Undefined otherwise. */
72
72
  permissions?: AccessGranularPermission[];
73
+ /**
74
+ * Semantic-layer conditional formatting authored on this metric.
75
+ * @alpha
76
+ */
77
+ conditionalFormatting?: ISemanticConditionalFormatting;
73
78
  }
74
79
  /**
75
80
  * Catalog item for parameters.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/catalogItem/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/catalogItem/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCatalogItemFeed.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemFeed.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKzF,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;;;;EA8EtE"}
1
+ {"version":3,"file":"useCatalogItemFeed.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemFeed.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKzF,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;uBAwDxD,YAAY;uBAIZ,eAAe;8BAZf,UAAU;EA8BxB"}
@@ -1,6 +1,6 @@
1
1
  import { type AsyncStatus } from "../async/types.js";
2
2
  import { type ICatalogItem, type ICatalogItemSemanticSearchOptions } from "./types.js";
3
- export declare function useCatalogItemSemanticSearch({ queryOptions, items, status, types, search }: ICatalogItemSemanticSearchOptions): {
3
+ export declare function useCatalogItemSemanticSearch({ queryOptions, items, status, types, search, }: ICatalogItemSemanticSearchOptions): {
4
4
  relatedItems: ICatalogItem[];
5
5
  relatedItemsStatus: AsyncStatus;
6
6
  relatedHasNext: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useCatalogItemSemanticSearch.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemSemanticSearch.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAGvF,wBAAgB,4BAA4B,CAAC,EACzC,YAAY,EACZ,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACT,EAAE,iCAAiC;;;;EAkEnC"}
1
+ {"version":3,"file":"useCatalogItemSemanticSearch.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemSemanticSearch.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAGvF,wBAAgB,4BAA4B,CAAC,EACzC,YAAY,EACZ,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,GACT,EAAE,iCAAiC;;;;EAkEnC"}
@@ -2,6 +2,5 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // (C) 2025-2026 GoodData Corporation
3
3
  import cx from "classnames";
4
4
  export function FilterGroupLayout({ title, titleId, className, children, ...htmlProps }) {
5
- return (_jsxs("div", { ...htmlProps, className: cx("gd-analytics-catalog__filter__group", className), children: [
6
- _jsx("span", { id: titleId, className: "gd-analytics-catalog__filter__group__title", children: title }), children] }));
5
+ return (_jsxs("div", { ...htmlProps, className: cx("gd-analytics-catalog__filter__group", className), children: [_jsx("span", { id: titleId, className: "gd-analytics-catalog__filter__group__title", children: title }), children] }));
7
6
  }
@@ -60,25 +60,19 @@ export function StaticFilter(props) {
60
60
  ariaControls: ariaAttributes["aria-controls"],
61
61
  iconAriaHidden: true,
62
62
  } })), renderBody: ({ closeDropdown, ariaAttributes }) => {
63
- return (_jsxs("div", { ...ariaAttributes, "aria-labelledby": popupTitleId, className: "gd-analytics-catalog__filter__body", children: [
64
- _jsx(Header, { id: popupTitleId, children: label }), _jsx(InvertableSelect, { className: "gd-analytics-catalog__filter__select-list", width: 240, items: filteredOptions, selectedItems: localSelection, isInverted: localIsInverted, getItemTitle: getItemTitle, getItemKey: getItemKey, searchString: searchString, onSearch: setSearchString, onSelect: handleSelectionChange, renderSearchBar: isSearchBarVisible
63
+ return (_jsxs("div", { ...ariaAttributes, "aria-labelledby": popupTitleId, className: "gd-analytics-catalog__filter__body", children: [_jsx(Header, { id: popupTitleId, children: label }), _jsx(InvertableSelect, { className: "gd-analytics-catalog__filter__select-list", width: 240, items: filteredOptions, selectedItems: localSelection, isInverted: localIsInverted, getItemTitle: getItemTitle, getItemKey: getItemKey, searchString: searchString, onSearch: setSearchString, onSelect: handleSelectionChange, renderSearchBar: isSearchBarVisible
65
64
  ? undefined
66
- : () => _jsx("div", { className: "gd-analytics-catalog__filter__search-bar" }), renderNoData: () => _jsx("div", { className: "gd-list-noResults", children: noDataMessage }), renderStatusBar: statusBar ? () => _jsx(_Fragment, { children: statusBar }) : undefined, totalItemsCount: options.length }), _jsx(Actions, { children: actions ?? (_jsxs(_Fragment, { children: [
67
- _jsx(UiButton, { variant: "secondary", size: "small", onClick: closeDropdown, label: intl.formatMessage(messages.cancel) }), _jsx(UiButton, { variant: "primary", size: "small", onClick: () => {
65
+ : () => _jsx("div", { className: "gd-analytics-catalog__filter__search-bar" }), renderNoData: () => _jsx("div", { className: "gd-list-noResults", children: noDataMessage }), renderStatusBar: statusBar ? () => _jsx(_Fragment, { children: statusBar }) : undefined, totalItemsCount: options.length }), _jsx(Actions, { children: actions ?? (_jsxs(_Fragment, { children: [_jsx(UiButton, { variant: "secondary", size: "small", onClick: closeDropdown, label: intl.formatMessage(messages.cancel) }), _jsx(UiButton, { variant: "primary", size: "small", onClick: () => {
68
66
  handleApply();
69
67
  closeDropdown();
70
- }, label: intl.formatMessage(messages.apply), isDisabled: isSelectionEmpty || isSelectionEqual })
71
- ] })) })
72
- ] }));
68
+ }, label: intl.formatMessage(messages.apply), isDisabled: isSelectionEmpty || isSelectionEqual })] })) })] }));
73
69
  } }) }));
74
70
  }
75
71
  function Header({ children, className, ...htmlProps }) {
76
72
  return (_jsx("div", { ...htmlProps, className: cx("gd-list-title gd-analytics-catalog__filter__header", className), children: children }));
77
73
  }
78
74
  function Actions({ children }) {
79
- return (_jsxs("div", { className: "gd-invertable-select-actions", children: [
80
- _jsx(SeparatorLine, {}), _jsx("div", { className: "gd-invertable-select-actions-buttons", children: children })
81
- ] }));
75
+ return (_jsxs("div", { className: "gd-invertable-select-actions", children: [_jsx(SeparatorLine, {}), _jsx("div", { className: "gd-invertable-select-actions-buttons", children: children })] }));
82
76
  }
83
77
  function identity(item) {
84
78
  return String(item);