@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
@@ -54,6 +54,5 @@ export function AsCodeDeleteDialog({ descriptor, item, onClose, onDeleted }) {
54
54
  } }), referencingCount && referenceCounted ? (_jsx("div", { className: "gd-analytics-catalog__as-code-dialog__usage", children: _jsxs(Message, { type: "warning", children: [_jsx(FormattedMessage, { ...referenceCounted.usageWarning, values: {
55
55
  count: referencingCount,
56
56
  b: (chunks) => _jsx("b", { children: chunks }),
57
- } }), referenceCounted.listReferences ? (_jsxs(_Fragment, { children: [" ", _jsx(UiLink, { variant: "secondary", role: "button", tabIndex: 0, onClick: () => setAreReferencesShown(!areReferencesShown), "aria-expanded": areReferencesShown, children: intl.formatMessage(areReferencesShown ? messages.showLess : messages.showMore) })
58
- ] })) : null, referenceCounted.listReferences && areReferencesShown ? (_jsx("ul", { className: "gd-analytics-catalog__as-code-dialog__usage-list", children: references?.map((title) => (_jsx("li", { children: title }, title))) })) : null] }) })) : null] }));
57
+ } }), referenceCounted.listReferences ? (_jsxs(_Fragment, { children: [" ", _jsx(UiLink, { variant: "secondary", role: "button", tabIndex: 0, onClick: () => setAreReferencesShown(!areReferencesShown), "aria-expanded": areReferencesShown, children: intl.formatMessage(areReferencesShown ? messages.showLess : messages.showMore) })] })) : null, referenceCounted.listReferences && areReferencesShown ? (_jsx("ul", { className: "gd-analytics-catalog__as-code-dialog__usage-list", children: references?.map((title) => (_jsx("li", { children: title }, title))) })) : null] }) })) : null] }));
59
58
  }
@@ -14,5 +14,5 @@ export interface IAsCodeDetailActionsProps {
14
14
  onCatalogItemDelete?: (ref: ICatalogItemRef) => void;
15
15
  }
16
16
  /** @internal */
17
- export declare function AsCodeDetailActions({ descriptor, item, onOpen, canShare, onShare, onCatalogItemCreate, onCatalogItemUpdate, onCatalogItemDelete }: IAsCodeDetailActionsProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function AsCodeDetailActions({ descriptor, item, onOpen, canShare, onShare, onCatalogItemCreate, onCatalogItemUpdate, onCatalogItemDelete, }: IAsCodeDetailActionsProps): import("react/jsx-runtime").JSX.Element;
18
18
  //# sourceMappingURL=AsCodeDetailActions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsCodeDetailActions.d.ts","sourceRoot":"","sources":["../../src/asCode/AsCodeDetailActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,UAAU,EAAkC,MAAM,OAAO,CAAC;AAU5F,OAAO,KAAK,EAAwB,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAUzD,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACtC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CACxD;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,EAChC,UAAU,EACV,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACtB,EAAE,yBAAyB,2CAgG3B"}
1
+ {"version":3,"file":"AsCodeDetailActions.d.ts","sourceRoot":"","sources":["../../src/asCode/AsCodeDetailActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,UAAU,EAAkC,MAAM,OAAO,CAAC;AAU5F,OAAO,KAAK,EAAwB,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAUzD,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACtC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CACxD;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,EAChC,UAAU,EACV,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACtB,EAAE,yBAAyB,2CAgG3B"}
@@ -119,8 +119,7 @@ export function AsCodeDialog(props) {
119
119
  }
120
120
  onDuplicate(reconcileWithBase(result.definition));
121
121
  }, [editing, initialYaml, onDuplicate, reconcileWithBase]);
122
- const footerLeftRenderer = useCallback(() => (_jsxs("div", { className: "gd-ascode-dialog-footer-left", children: [isWhiteLabeled ? null : (_jsxs(UiLink, { variant: "secondary", href: descriptor.docsUrl, target: "_blank", rel: "noopener noreferrer", children: [
123
- _jsx(UiIcon, { type: "question", size: 14, color: "complementary-6" }), intl.formatMessage(descriptor.messages.help)] })), isEdit && onDuplicate ? (_jsx(UiButton, { label: intl.formatMessage(descriptor.messages.duplicate), variant: "tertiary", isDisabled: isSubmitting || loading || isBaseUnrepresentable, onClick: handleDuplicate })) : null] })), [
122
+ const footerLeftRenderer = useCallback(() => (_jsxs("div", { className: "gd-ascode-dialog-footer-left", children: [isWhiteLabeled ? null : (_jsxs(UiLink, { variant: "secondary", href: descriptor.docsUrl, target: "_blank", rel: "noopener noreferrer", children: [_jsx(UiIcon, { type: "question", size: 14, color: "complementary-6" }), intl.formatMessage(descriptor.messages.help)] })), isEdit && onDuplicate ? (_jsx(UiButton, { label: intl.formatMessage(descriptor.messages.duplicate), variant: "tertiary", isDisabled: isSubmitting || loading || isBaseUnrepresentable, onClick: handleDuplicate })) : null] })), [
124
123
  descriptor,
125
124
  handleDuplicate,
126
125
  intl,
@@ -132,8 +131,5 @@ export function AsCodeDialog(props) {
132
131
  onDuplicate,
133
132
  ]);
134
133
  const bodySpinner = (_jsx("div", { className: "gd-ascode-dialog-loading", children: _jsx(LoadingComponent, {}) }));
135
- return (_jsx(ConfirmDialog, { className: "gd-ascode-dialog", containerClassName: "gd-ascode-dialog-overlay", headline: headlineMessage, cancelButtonText: cancelMessage, submitButtonText: submitMessage, isPositive: true, isSubmitDisabled: isSubmitting || loading || isBaseUnrepresentable || (isEdit && !isDirty), isCancelDisabled: isSubmitting, shouldCloseOnEscape: !isSubmitting, onCancel: handleClose, onClose: handleClose, onSubmit: handleSubmit, displayCloseButton: !isSubmitting, footerLeftRenderer: footerLeftRenderer, children: _jsx("div", { className: "gd-ascode-dialog-content", children: _jsx(Suspense, { fallback: bodySpinner, children: loading ? (bodySpinner) : (_jsxs(_Fragment, { children: [
136
- _jsxs("div", { className: "gd-ascode-dialog-section-header", children: [intl.formatMessage(descriptor.messages.sectionHeader), _jsx(UiTooltip, { arrowPlacement: "top", optimalPlacement: true, triggerBy: ["hover", "click", "focus"], anchor: _jsx(UiIcon, { type: "question", size: 14, color: "complementary-6" }), content: intl.formatMessage(descriptor.messages.sectionHeaderTooltip) })
137
- ] }), isBaseUnrepresentable ? (_jsx("div", { className: "gd-ascode-dialog-notice", children: intl.formatMessage(messages.unrepresentable) })) : null, _jsx("div", { className: "gd-ascode-dialog-editor", children: _jsx(AsCodeEditorBody, { initialValue: initialYaml, label: intl.formatMessage(descriptor.messages.sectionHeader), onChange: handleChange, disabled: isSubmitting || isBaseUnrepresentable, completionSource: editing.completionSource, syntaxErrorMessage: editing.syntaxErrorMessage }) }), validationError || submitError ? (_jsxs("div", { className: "gd-ascode-dialog-error", children: [
138
- _jsx("span", { className: "gd-ascode-dialog-error-label", children: _jsx(FormattedMessage, { id: "analyticsCatalog.dialog.error.label" }) }), " ", validationError ?? submitError] })) : null] })) }) }) }));
134
+ return (_jsx(ConfirmDialog, { className: "gd-ascode-dialog", containerClassName: "gd-ascode-dialog-overlay", headline: headlineMessage, cancelButtonText: cancelMessage, submitButtonText: submitMessage, isPositive: true, isSubmitDisabled: isSubmitting || loading || isBaseUnrepresentable || (isEdit && !isDirty), isCancelDisabled: isSubmitting, shouldCloseOnEscape: !isSubmitting, onCancel: handleClose, onClose: handleClose, onSubmit: handleSubmit, displayCloseButton: !isSubmitting, footerLeftRenderer: footerLeftRenderer, children: _jsx("div", { className: "gd-ascode-dialog-content", children: _jsx(Suspense, { fallback: bodySpinner, children: loading ? (bodySpinner) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "gd-ascode-dialog-section-header", children: [intl.formatMessage(descriptor.messages.sectionHeader), _jsx(UiTooltip, { arrowPlacement: "top", optimalPlacement: true, triggerBy: ["hover", "click", "focus"], anchor: _jsx(UiIcon, { type: "question", size: 14, color: "complementary-6" }), content: intl.formatMessage(descriptor.messages.sectionHeaderTooltip) })] }), isBaseUnrepresentable ? (_jsx("div", { className: "gd-ascode-dialog-notice", children: intl.formatMessage(messages.unrepresentable) })) : null, _jsx("div", { className: "gd-ascode-dialog-editor", children: _jsx(AsCodeEditorBody, { initialValue: initialYaml, label: intl.formatMessage(descriptor.messages.sectionHeader), onChange: handleChange, disabled: isSubmitting || isBaseUnrepresentable, completionSource: editing.completionSource, syntaxErrorMessage: editing.syntaxErrorMessage }) }), validationError || submitError ? (_jsxs("div", { className: "gd-ascode-dialog-error", children: [_jsx("span", { className: "gd-ascode-dialog-error-label", children: _jsx(FormattedMessage, { id: "analyticsCatalog.dialog.error.label" }) }), " ", validationError ?? submitError] })) : null] })) }) }) }));
139
135
  }
@@ -18,6 +18,6 @@ type Props = {
18
18
  * reports. The dialog reads the current value from `onChange` and never drives the value back in,
19
19
  * which the local state here preserves.
20
20
  */
21
- export declare function AsCodeEditorBody({ initialValue, onChange, disabled, completionSource, syntaxErrorMessage, label }: Props): import("react/jsx-runtime").JSX.Element;
21
+ export declare function AsCodeEditorBody({ initialValue, onChange, disabled, completionSource, syntaxErrorMessage, label, }: Props): import("react/jsx-runtime").JSX.Element;
22
22
  export {};
23
23
  //# sourceMappingURL=AsCodeEditorBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsCodeEditorBody.d.ts","sourceRoot":"","sources":["../../src/asCode/AsCodeEditorBody.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAMjF,KAAK,KAAK,GAAG;IACT,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAC7B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,EACR,EAAE,KAAK,2CAsBP"}
1
+ {"version":3,"file":"AsCodeEditorBody.d.ts","sourceRoot":"","sources":["../../src/asCode/AsCodeEditorBody.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAMjF,KAAK,KAAK,GAAG;IACT,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAC7B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,GACR,EAAE,KAAK,2CAsBP"}
@@ -13,7 +13,7 @@
13
13
  * Local state seeded from `initialValue` mirrors the real body: the dialog reads the current value
14
14
  * from `onChange` and never drives it back in.
15
15
  */
16
- export declare function AsCodeEditorBody({ initialValue, onChange, disabled }: {
16
+ export declare function AsCodeEditorBody({ initialValue, onChange, disabled, }: {
17
17
  initialValue: string;
18
18
  onChange: (value: string) => void;
19
19
  disabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"asCodeEditorBody.test.utils.d.ts","sourceRoot":"","sources":["../../src/asCode/asCodeEditorBody.test.utils.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,EAC7B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACX,EAAE;IACC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;CACrB,2CAcA"}
1
+ {"version":3,"file":"asCodeEditorBody.test.utils.d.ts","sourceRoot":"","sources":["../../src/asCode/asCodeEditorBody.test.utils.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,EAC7B,YAAY,EACZ,QAAQ,EACR,QAAQ,GACX,EAAE;IACC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;CACrB,2CAcA"}
@@ -1 +1 @@
1
- {"version":3,"file":"withMutationPort.d.ts","sourceRoot":"","sources":["../../src/asCode/withMutationPort.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,wGAAsG;AACtG,wBAAgB,gBAAgB,CAC5B,UAAU,EAAE,iBAAiB,EAC7B,IAAI,EAAE,mBAAmB,GAC1B,iBAAiB,CAEnB"}
1
+ {"version":3,"file":"withMutationPort.d.ts","sourceRoot":"","sources":["../../src/asCode/withMutationPort.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,sGAAsG;AACtG,wBAAgB,gBAAgB,CAC5B,UAAU,EAAE,iBAAiB,EAC7B,IAAI,EAAE,mBAAmB,GAC1B,iBAAiB,CAEnB"}
@@ -14,8 +14,9 @@ export declare const catalogDetailActionDuplicate = "analytics-catalog-detail-ac
14
14
  export declare const catalogDetailActionDelete = "analytics-catalog-detail-actions/delete";
15
15
  export declare const catalogDetailActionShare = "analytics-catalog-detail-actions/share";
16
16
  export declare const catalogDetailAccessRow = "analytics-catalog-detail-access-row";
17
- export declare const catalogDetailAccessRowState = "analytics-catalog-detail-access-row/state";
18
- export declare const catalogDetailAccessRowSharedLink = "analytics-catalog-detail-access-row/shared-link";
17
+ export declare const catalogDetailAccessRowWorkspace = "analytics-catalog-detail-access-row/workspace";
18
+ export declare const catalogDetailAccessRowShared = "analytics-catalog-detail-access-row/shared";
19
+ export declare const catalogDetailAccessRowPrivate = "analytics-catalog-detail-access-row/private";
19
20
  export declare const catalogDetailLabels = "analytics-catalog-detail-labels";
20
21
  export declare const catalogDetailLabelsTrigger = "analytics-catalog-detail-labels/trigger";
21
22
  export declare const catalogDetailLabelsList = "analytics-catalog-detail-labels/list";
@@ -1 +1 @@
1
- {"version":3,"file":"testIds.d.ts","sourceRoot":"","sources":["../../src/automation/testIds.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,sBAAsB,CAAC;AAC3C,eAAO,MAAM,UAAU,kCAA2B,CAAC;AACnD,eAAO,MAAM,MAAM,6BAAsB,CAAC;AAC1C,eAAO,MAAM,eAAe,wCAAyB,CAAC;AACtD,eAAO,MAAM,YAAY,oCAAqB,CAAC;AAC/C,eAAO,MAAM,gBAAgB,wCAAyB,CAAC;AACvD,eAAO,MAAM,mBAAmB,2CAA4B,CAAC;AAC7D,eAAO,MAAM,aAAa,qCAAsB,CAAC;AACjD,eAAO,MAAM,UAAU,kCAAmB,CAAC;AAC3C,eAAO,MAAM,WAAW,mCAAoB,CAAC;AAC7C,eAAO,MAAM,aAAa,6BAAsB,CAAC;AACjD,eAAO,MAAM,2BAA2B,6CAAqC,CAAC;AAC9E,eAAO,MAAM,4BAA4B,+CAAuC,CAAC;AACjF,eAAO,MAAM,yBAAyB,4CAAoC,CAAC;AAC3E,eAAO,MAAM,wBAAwB,2CAAmC,CAAC;AACzE,eAAO,MAAM,sBAAsB,wCAAgC,CAAC;AACpE,eAAO,MAAM,2BAA2B,8CAAsC,CAAC;AAC/E,eAAO,MAAM,gCAAgC,oDAA4C,CAAC;AAC1F,eAAO,MAAM,mBAAmB,oCAA4B,CAAC;AAC7D,eAAO,MAAM,0BAA0B,4CAAoC,CAAC;AAC5E,eAAO,MAAM,uBAAuB,yCAAiC,CAAC"}
1
+ {"version":3,"file":"testIds.d.ts","sourceRoot":"","sources":["../../src/automation/testIds.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,sBAAsB,CAAC;AAC3C,eAAO,MAAM,UAAU,kCAA2B,CAAC;AACnD,eAAO,MAAM,MAAM,6BAAsB,CAAC;AAC1C,eAAO,MAAM,eAAe,wCAAyB,CAAC;AACtD,eAAO,MAAM,YAAY,oCAAqB,CAAC;AAC/C,eAAO,MAAM,gBAAgB,wCAAyB,CAAC;AACvD,eAAO,MAAM,mBAAmB,2CAA4B,CAAC;AAC7D,eAAO,MAAM,aAAa,qCAAsB,CAAC;AACjD,eAAO,MAAM,UAAU,kCAAmB,CAAC;AAC3C,eAAO,MAAM,WAAW,mCAAoB,CAAC;AAC7C,eAAO,MAAM,aAAa,6BAAsB,CAAC;AACjD,eAAO,MAAM,2BAA2B,6CAAqC,CAAC;AAC9E,eAAO,MAAM,4BAA4B,+CAAuC,CAAC;AACjF,eAAO,MAAM,yBAAyB,4CAAoC,CAAC;AAC3E,eAAO,MAAM,wBAAwB,2CAAmC,CAAC;AACzE,eAAO,MAAM,sBAAsB,wCAAgC,CAAC;AACpE,eAAO,MAAM,+BAA+B,kDAA0C,CAAC;AACvF,eAAO,MAAM,4BAA4B,+CAAuC,CAAC;AACjF,eAAO,MAAM,6BAA6B,gDAAwC,CAAC;AACnF,eAAO,MAAM,mBAAmB,oCAA4B,CAAC;AAC7D,eAAO,MAAM,0BAA0B,4CAAoC,CAAC;AAC5E,eAAO,MAAM,uBAAuB,yCAAiC,CAAC"}
@@ -18,8 +18,9 @@ export const catalogDetailActionDuplicate = `${catalogDetail}-actions/duplicate`
18
18
  export const catalogDetailActionDelete = `${catalogDetail}-actions/delete`;
19
19
  export const catalogDetailActionShare = `${catalogDetail}-actions/share`;
20
20
  export const catalogDetailAccessRow = `${catalogDetail}-access-row`;
21
- export const catalogDetailAccessRowState = `${catalogDetail}-access-row/state`;
22
- export const catalogDetailAccessRowSharedLink = `${catalogDetail}-access-row/shared-link`;
21
+ export const catalogDetailAccessRowWorkspace = `${catalogDetail}-access-row/workspace`;
22
+ export const catalogDetailAccessRowShared = `${catalogDetail}-access-row/shared`;
23
+ export const catalogDetailAccessRowPrivate = `${catalogDetail}-access-row/private`;
23
24
  export const catalogDetailLabels = `${catalogDetail}-labels`;
24
25
  export const catalogDetailLabelsTrigger = `${catalogDetail}-labels/trigger`;
25
26
  export const catalogDetailLabelsList = `${catalogDetail}-labels/list`;
@@ -13,6 +13,6 @@ type Props = {
13
13
  onCatalogDetailClosed?: () => void;
14
14
  onCreateObject?: (objectType: CatalogCreateObjectType) => void;
15
15
  };
16
- export declare function Catalog({ openCatalogItemRef, backend, workspace, onCatalogItemOpenClick, onCatalogItemNavigation, onCatalogDetailOpened, onCatalogDetailClosed, onCreateObject }: Props): import("react/jsx-runtime").JSX.Element;
16
+ export declare function Catalog({ openCatalogItemRef, backend, workspace, onCatalogItemOpenClick, onCatalogItemNavigation, onCatalogDetailOpened, onCatalogDetailClosed, onCreateObject, }: Props): import("react/jsx-runtime").JSX.Element;
17
17
  export {};
18
18
  //# sourceMappingURL=Catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Catalog.d.ts","sourceRoot":"","sources":["../../src/catalog/Catalog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAUtE,KAAK,KAAK,GAAG;IACT,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACnF,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/E,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACpB,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACjB,EAAE,KAAK,2CA4DP"}
1
+ {"version":3,"file":"Catalog.d.ts","sourceRoot":"","sources":["../../src/catalog/Catalog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAUtE,KAAK,KAAK,GAAG;IACT,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACnF,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/E,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACpB,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,GACjB,EAAE,KAAK,2CA4DP"}
@@ -26,6 +26,5 @@ export function Catalog({ openCatalogItemRef, backend, workspace, onCatalogItemO
26
26
  id: "analyticsCatalog.error.unknown.description",
27
27
  }) }), unauthorizedNode: _jsx(ErrorComponent, { message: intl.formatMessage({ id: "analyticsCatalog.error.unauthorized.message" }), description: intl.formatMessage({
28
28
  id: "analyticsCatalog.error.unauthorized.description",
29
- }) }), children: _jsxs(CatalogFeedProvider, { backend: backend, workspace: workspace, children: [_jsx(Header, { searchNode: _jsx(FullTextSearchInput, {}), createNode: onCreateObject ? _jsx(CreateObjectButton, { onCreateObject: onCreateObject }) : null }), isTrendingEnabled ? (_jsx(CatalogTabs, { onItemClick: onOpenDetail })) : isQualityEnabled ? (_jsx(QualityScoreCard, {})) : null, _jsx(Main, { workspace: workspace, backend: backend, open: open, openedItem: openedItem, setItemOpened: setItemOpened, onOpenDetail: onOpenDetail, onCloseDetail: onCloseDetail, onOpenClick: onOpenClick, onCatalogItemNavigation: onCatalogItemNavigation })
30
- ] }) }) }));
29
+ }) }), children: _jsxs(CatalogFeedProvider, { backend: backend, workspace: workspace, children: [_jsx(Header, { searchNode: _jsx(FullTextSearchInput, {}), createNode: onCreateObject ? _jsx(CreateObjectButton, { onCreateObject: onCreateObject }) : null }), isTrendingEnabled ? (_jsx(CatalogTabs, { onItemClick: onOpenDetail })) : isQualityEnabled ? (_jsx(QualityScoreCard, {})) : null, _jsx(Main, { workspace: workspace, backend: backend, open: open, openedItem: openedItem, setItemOpened: setItemOpened, onOpenDetail: onOpenDetail, onCloseDetail: onCloseDetail, onOpenClick: onOpenClick, onCatalogItemNavigation: onCatalogItemNavigation })] }) }) }));
31
30
  }
@@ -14,5 +14,5 @@ export type ICatalogDetailActionBarProps = {
14
14
  /**
15
15
  * Detail action bar: optional leading actions, a primary Edit button, and an item actions menu.
16
16
  */
17
- export declare function CatalogDetailActionBar({ item, workspaceId, actionGroups, leadingActions, onEditClick, onActionsMenuSelect }: ICatalogDetailActionBarProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function CatalogDetailActionBar({ item, workspaceId, actionGroups, leadingActions, onEditClick, onActionsMenuSelect, }: ICatalogDetailActionBarProps): import("react/jsx-runtime").JSX.Element;
18
18
  //# sourceMappingURL=CatalogDetailActionBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogDetailActionBar.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailActionBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAOrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAUzE,MAAM,MAAM,4BAA4B,GAAG;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,YAAY,EAAE,oBAAoB,EAAE,EAAE,CAAC;IACvC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5E,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;CACtF,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EACnC,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,mBAAmB,EACtB,EAAE,4BAA4B,2CA4E9B"}
1
+ {"version":3,"file":"CatalogDetailActionBar.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailActionBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAOrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAUzE,MAAM,MAAM,4BAA4B,GAAG;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,YAAY,EAAE,oBAAoB,EAAE,EAAE,CAAC;IACvC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5E,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;CACtF,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EACnC,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,mBAAmB,GACtB,EAAE,4BAA4B,2CA4E9B"}
@@ -18,5 +18,5 @@ export interface ICatalogDetailActionsProps {
18
18
  * {@link AsCodeDetailActions}; every other type gets the Open (+ Share) fallback.
19
19
  * @internal
20
20
  */
21
- export declare function CatalogDetailActions({ item, canEdit, onOpen, onCatalogItemCreate, onCatalogItemUpdate, onCatalogItemDelete }: ICatalogDetailActionsProps): import("react/jsx-runtime").JSX.Element | null;
21
+ export declare function CatalogDetailActions({ item, canEdit, onOpen, onCatalogItemCreate, onCatalogItemUpdate, onCatalogItemDelete, }: ICatalogDetailActionsProps): import("react/jsx-runtime").JSX.Element | null;
22
22
  //# sourceMappingURL=CatalogDetailActions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogDetailActions.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AASxC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CACxD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACtB,EAAE,0BAA0B,kDAgD5B"}
1
+ {"version":3,"file":"CatalogDetailActions.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AASxC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CACxD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACtB,EAAE,0BAA0B,kDAgD5B"}
@@ -24,10 +24,7 @@ export function CatalogDetailActions({ item, canEdit, onOpen, onCatalogItemCreat
24
24
  const descriptor = getAsCodeDescriptor(item.type);
25
25
  const isTypeEditable = useIsAsCodeTypeEditable(descriptor);
26
26
  if (descriptor && canEdit && isTypeEditable) {
27
- return (
28
- // Keyed by type so the descriptor a mount uses never changes under it (its hooks must stay
29
- // stable); switching to a different as-code type remounts with the correct descriptor.
30
- _jsx(AsCodeDetailActions, { descriptor: descriptor, item: item, onOpen: onOpen, canShare: share.active, onShare: share.open, onCatalogItemCreate: onCatalogItemCreate, onCatalogItemUpdate: onCatalogItemUpdate, onCatalogItemDelete: onCatalogItemDelete }, descriptor.objectType));
27
+ return (_jsx(AsCodeDetailActions, { descriptor: descriptor, item: item, onOpen: onOpen, canShare: share.active, onShare: share.open, onCatalogItemCreate: onCatalogItemCreate, onCatalogItemUpdate: onCatalogItemUpdate, onCatalogItemDelete: onCatalogItemDelete }, descriptor.objectType));
31
28
  }
32
29
  // Not inline-editable here. The Open button opens the item in its native editor/view, offered only
33
30
  // for a type that has one: any non-as-code type, or an as-code type that declares an open action
@@ -38,6 +35,5 @@ export function CatalogDetailActions({ item, canEdit, onOpen, onCatalogItemCreat
38
35
  }
39
36
  return (_jsxs("div", { className: "gd-analytics-catalog-detail__header-actions", children: [share.active ? _jsx(ShareButton, { onClick: share.open }) : null, _jsx(UiButton, { label: intl.formatMessage({ id: "analyticsCatalog.catalogItem.open" }), variant: "primary", accessibilityConfig: { role: "link" }, onClick: (event) => {
40
37
  onOpen?.(event, toOpenHandlerEvent(event, item, workspaceId));
41
- } })
42
- ] }));
38
+ } })] }));
43
39
  }
@@ -0,0 +1,12 @@
1
+ import { type ISemanticConditionalFormatting, type ISeparators } from "@gooddata/sdk-model";
2
+ export interface ICatalogDetailConditionalFormattingProps {
3
+ identifier: string;
4
+ title: string;
5
+ format?: string | null;
6
+ conditionalFormatting?: ISemanticConditionalFormatting;
7
+ canEdit: boolean;
8
+ onConditionalFormattingChange: (conditionalFormatting: ISemanticConditionalFormatting | undefined) => void;
9
+ separators?: ISeparators;
10
+ }
11
+ export declare function CatalogDetailConditionalFormatting({ identifier, title, format, conditionalFormatting, canEdit, onConditionalFormattingChange, separators, }: ICatalogDetailConditionalFormattingProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=CatalogDetailConditionalFormatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CatalogDetailConditionalFormatting.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailConditionalFormatting.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,WAAW,EAEnB,MAAM,qBAAqB,CAAC;AAkB7B,MAAM,WAAW,wCAAwC;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,qBAAqB,CAAC,EAAE,8BAA8B,CAAC;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B,EAAE,CAC3B,qBAAqB,EAAE,8BAA8B,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,wBAAgB,kCAAkC,CAAC,EAC/C,UAAU,EACV,KAAK,EACL,MAAM,EACN,qBAAqB,EACrB,OAAO,EACP,6BAA6B,EAC7B,UAAU,GACb,EAAE,wCAAwC,2CAqF1C"}
@@ -0,0 +1,52 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2026 GoodData Corporation
3
+ import { useState } from "react";
4
+ import cx from "classnames";
5
+ import { FormattedMessage, defineMessages, useIntl } from "react-intl";
6
+ import { isSemanticConditionalFormattingEnabled, } from "@gooddata/sdk-model";
7
+ import { ConditionalFormattingDialog, isPercentFormat, newRule, semanticRuleFor, } from "@gooddata/sdk-ui-ext";
8
+ import { UiButton } from "@gooddata/sdk-ui-kit";
9
+ import { CatalogDetailContentRow } from "./CatalogDetailContentRow.js";
10
+ const messages = defineMessages({
11
+ toggleAriaLabel: { id: "analyticsCatalog.conditionalFormatting.toggleAriaLabel" },
12
+ edit: { id: "analyticsCatalog.conditionalFormatting.edit" },
13
+ add: { id: "analyticsCatalog.conditionalFormatting.add" },
14
+ });
15
+ export function CatalogDetailConditionalFormatting({ identifier, title, format, conditionalFormatting, canEdit, onConditionalFormattingChange, separators, }) {
16
+ const intl = useIntl();
17
+ const [isOpen, setIsOpen] = useState(false);
18
+ const targetOption = {
19
+ value: `measure:${identifier}`,
20
+ title,
21
+ target: { kind: "measure", measureIdentifier: identifier },
22
+ isPercent: isPercentFormat(format ?? undefined),
23
+ };
24
+ // A stored value with no conditions counts as no rule.
25
+ const authored = conditionalFormatting?.conditions.length ? conditionalFormatting : undefined;
26
+ const isEnabled = authored !== undefined && isSemanticConditionalFormattingEnabled(authored);
27
+ const rule = authored ? semanticRuleFor(targetOption, authored) : newRule(targetOption);
28
+ return (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.conditionalFormatting" }), content: _jsxs(_Fragment, { children: [authored ? (_jsxs("label", { className: "input-checkbox-toggle s-cf-catalog-toggle-label", children: [_jsx("input", { type: "checkbox", checked: isEnabled, disabled: !canEdit, "aria-label": intl.formatMessage(messages.toggleAriaLabel, { title }), onChange: (event) => {
29
+ onConditionalFormattingChange({
30
+ ...authored,
31
+ enabled: event.target.checked,
32
+ });
33
+ }, className: cx("s-checkbox-toggle", canEdit ? "s-enabled" : "s-disabled") }), _jsx("span", { className: "input-label-text" })] })) : null, _jsx(UiButton, { dataTestId: "cf-catalog-open", size: "small", variant: "tertiary", iconBefore: authored ? undefined : "plus", label: intl.formatMessage(authored ? messages.edit : messages.add), isDisabled: !canEdit, onClick: () => setIsOpen(true) }), _jsx("span", { className: "s-cf-catalog-popover-anchor" }), isOpen ? (_jsx(ConditionalFormattingDialog, { rule: rule, isNew: !authored, fixedTarget: true, targetOptions: [targetOption], separators: separators, alignTo: ".s-cf-catalog-popover-anchor", onDelete: authored
34
+ ? () => {
35
+ onConditionalFormattingChange(undefined);
36
+ setIsOpen(false);
37
+ }
38
+ : undefined, onSubmit: (intent) => {
39
+ // "inherited" needs the semanticByTarget fallback, which this usage never passes.
40
+ if (intent.mode !== "custom") {
41
+ return;
42
+ }
43
+ onConditionalFormattingChange({
44
+ ...(conditionalFormatting?.version
45
+ ? { version: conditionalFormatting.version }
46
+ : {}),
47
+ conditions: intent.rule.conditions,
48
+ // A new rule takes effect immediately; an edit keeps the row's toggle state.
49
+ enabled: authored ? isEnabled : true,
50
+ });
51
+ }, onClose: () => setIsOpen(false) })) : null] }) }));
52
+ }
@@ -50,5 +50,5 @@ export interface ICatalogDetailContentProps {
50
50
  /**
51
51
  * @internal
52
52
  */
53
- export declare function CatalogDetailContent({ objectId, objectType, objectDefinition, onOpenClick, onTagClick, onCatalogItemCreate, onCatalogItemUpdate, onCatalogItemDelete, onCatalogItemUpdateError, onCatalogItemNavigation }: ICatalogDetailContentProps): import("react/jsx-runtime").JSX.Element;
53
+ export declare function CatalogDetailContent({ objectId, objectType, objectDefinition, onOpenClick, onTagClick, onCatalogItemCreate, onCatalogItemUpdate, onCatalogItemDelete, onCatalogItemUpdateError, onCatalogItemNavigation, }: ICatalogDetailContentProps): import("react/jsx-runtime").JSX.Element;
54
54
  //# sourceMappingURL=CatalogDetailContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogDetailContent.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAgC,MAAM,OAAO,CAAC;AAUtE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAkBzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASnD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAAC;IACzD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5E;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5E;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD;;OAEG;IACH,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EAC1B,EAAE,0BAA0B,2CAoN5B"}
1
+ {"version":3,"file":"CatalogDetailContent.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAgC,MAAM,OAAO,CAAC;AAUtE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAkBzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASnD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAAC;IACzD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5E;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5E;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD;;OAEG;IACH,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,GAC1B,EAAE,0BAA0B,2CAwN5B"}
@@ -39,7 +39,7 @@ const Tabs = {
39
39
  export function CatalogDetailContent({ objectId, objectType, objectDefinition, onOpenClick, onTagClick, onCatalogItemCreate, onCatalogItemUpdate, onCatalogItemDelete, onCatalogItemUpdateError, onCatalogItemNavigation, }) {
40
40
  const intl = useIntl();
41
41
  const { result: { user: currentUser, permissions, settings } = {} } = usePermissionsState();
42
- const { item, status, error, updateItemTitle, updateItemDescription, updateItemTags, updateItemIsHidden, updateItemIsHiddenFromKda, updateItemMetricType, updateItemFormat, updateItemCertification, applyItemUpdate, applyItemDelete, } = useCatalogItemUpdate({
42
+ const { item, status, error, updateItemTitle, updateItemDescription, updateItemTags, updateItemIsHidden, updateItemIsHiddenFromKda, updateItemMetricType, updateItemFormat, updateItemConditionalFormatting, updateItemCertification, applyItemUpdate, applyItemDelete, } = useCatalogItemUpdate({
43
43
  currentUser,
44
44
  objectId,
45
45
  objectType,
@@ -110,11 +110,9 @@ export function CatalogDetailContent({ objectId, objectType, objectDefinition, o
110
110
  return tabs;
111
111
  }, [intl, isCertificationVisible, isQualityVisible, isLineageVisible, issueCount]);
112
112
  const [selectedTabId, setSelectedTabId] = useSelectedTabId(tabs);
113
- return (_jsx(CatalogItemShareProvider, { shareableItem: shareableItem, target: shareTarget, labels: shareLabels, children: _jsxs("div", { className: "gd-analytics-catalog-detail", children: [
114
- _jsx(CatalogDetailStatus, { status: status, error: error, children: item ? (_jsxs("div", { className: cx("gd-analytics-catalog-detail__content", {
113
+ return (_jsx(CatalogItemShareProvider, { shareableItem: shareableItem, target: shareTarget, labels: shareLabels, children: _jsxs("div", { className: "gd-analytics-catalog-detail", children: [_jsx(CatalogDetailStatus, { status: status, error: error, children: item ? (_jsxs("div", { className: cx("gd-analytics-catalog-detail__content", {
115
114
  lineage: selectedTabId === Tabs.LINEAGE,
116
- }), children: [
117
- _jsx(CatalogDetailHeader, { item: item, canEdit: canEdit, updateItemTitle: updateItemTitle, updateItemDescription: updateItemDescription, isDescriptionGenerationEnabled: isDescriptionGenerationEnabled, headerRef: headerRef, labels: shareableItem ? shareLabels.labels : undefined, labelsLoading: shareableItem ? shareLabels.loading : false, showInfoRow: enableColumnLevelPermissions, actions: _jsx(CatalogDetailActions, { item: item, canEdit: canEdit, onOpen: onOpenClick, onCatalogItemCreate: onCatalogItemCreate, onCatalogItemUpdate: applyItemUpdate, onCatalogItemDelete: applyItemDelete }) }), _jsx(UiTabs, { size: "large", tabs: tabs, onTabSelect: (tab) => setSelectedTabId(tab.id), selectedTabId: selectedTabId }), selectedTabId === Tabs.METADATA && (_jsx(CatalogDetailTabMetadata, { item: item, canEdit: canEdit,
115
+ }), children: [_jsx(CatalogDetailHeader, { item: item, canEdit: canEdit, updateItemTitle: updateItemTitle, updateItemDescription: updateItemDescription, isDescriptionGenerationEnabled: isDescriptionGenerationEnabled, headerRef: headerRef, labels: shareableItem ? shareLabels.labels : undefined, labelsLoading: shareableItem ? shareLabels.loading : false, showInfoRow: enableColumnLevelPermissions, actions: _jsx(CatalogDetailActions, { item: item, canEdit: canEdit, onOpen: onOpenClick, onCatalogItemCreate: onCatalogItemCreate, onCatalogItemUpdate: applyItemUpdate, onCatalogItemDelete: applyItemDelete }) }), _jsx(UiTabs, { size: "large", tabs: tabs, onTabSelect: (tab) => setSelectedTabId(tab.id), selectedTabId: selectedTabId }), selectedTabId === Tabs.METADATA && (_jsx(CatalogDetailTabMetadata, { item: item, canEdit: canEdit,
118
116
  // With OLP off the dataset isn't relocated to the header,
119
117
  // so keep the Dataset row in the metadata tab.
120
118
  showDatasetRow: !enableColumnLevelPermissions, onTagClick: (tag) => {
@@ -132,11 +130,12 @@ export function CatalogDetailContent({ objectId, objectType, objectDefinition, o
132
130
  updateItemMetricType(metricType);
133
131
  }, onFormatChange: (format) => {
134
132
  updateItemFormat(format);
133
+ }, onConditionalFormattingChange: (conditionalFormatting) => {
134
+ updateItemConditionalFormatting(conditionalFormatting);
135
135
  }, separators: separators, currencyFormatOverride: enableMetricFormatOverrides ? currencyFormatOverride : undefined, enableMetricFormatOverrides: enableMetricFormatOverrides, accessRow: _jsx(CatalogItemAccessRow, {}) })), selectedTabId === Tabs.CERTIFICATION && isCertificationVisible ? (_jsx(CatalogDetailTabCertification, { item: item, canEdit: canEdit, onCertificationChange: (certification) => {
136
136
  updateItemCertification(certification);
137
137
  } })) : null, selectedTabId === Tabs.QUALITY &&
138
- (isQualityLoading ? (_jsx(UiSkeleton, { itemsCount: 2, itemHeight: 65, itemsGap: 10 })) : (_jsx(CatalogDetailTabQuality, { item: item, issues: issues, canEdit: canEdit, onEditClick: handleEditClick, onCatalogItemNavigation: onCatalogItemNavigation }))), selectedTabId === Tabs.LINEAGE && _jsx(CatalogDetailTabLineage, { item: item })] })) : null }), _jsx(CatalogItemShareDialog, {})
139
- ] }) }));
138
+ (isQualityLoading ? (_jsx(UiSkeleton, { itemsCount: 2, itemHeight: 65, itemsGap: 10 })) : (_jsx(CatalogDetailTabQuality, { item: item, issues: issues, canEdit: canEdit, onEditClick: handleEditClick, onCatalogItemNavigation: onCatalogItemNavigation }))), selectedTabId === Tabs.LINEAGE && _jsx(CatalogDetailTabLineage, { item: item })] })) : null }), _jsx(CatalogItemShareDialog, {})] }) }));
140
139
  }
141
140
  /**
142
141
  * Hook for managing the currently selected tab ID with persistent storage.
@@ -2,6 +2,7 @@ import type { ReactNode } from "react";
2
2
  export interface ICatalogDetailContentRowProps {
3
3
  title: ReactNode;
4
4
  content?: ReactNode;
5
+ alignTop?: boolean;
5
6
  }
6
- export declare function CatalogDetailContentRow({ title, content }: ICatalogDetailContentRowProps): import("react/jsx-runtime").JSX.Element | null;
7
+ export declare function CatalogDetailContentRow({ title, content, alignTop }: ICatalogDetailContentRowProps): import("react/jsx-runtime").JSX.Element | null;
7
8
  //# sourceMappingURL=CatalogDetailContentRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogDetailContentRow.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailContentRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,6BAA6B;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,wBAAgB,uBAAuB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,6BAA6B,kDAcxF"}
1
+ {"version":3,"file":"CatalogDetailContentRow.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailContentRow.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,6BAA6B;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,uBAAuB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,6BAA6B,kDAalG"}
@@ -1,9 +1,12 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function CatalogDetailContentRow({ title, content }) {
2
+ // (C) 2025-2026 GoodData Corporation
3
+ import cx from "classnames";
4
+ export function CatalogDetailContentRow({ title, content, alignTop }) {
3
5
  if (!content) {
4
6
  return null;
5
7
  }
6
- return (_jsxs(_Fragment, { children: [
7
- _jsx("dt", { className: "gd-analytics-catalog-detail__tab-content__cell gd-analytics-catalog-detail__title-cell", children: title }), _jsx("dd", { className: "gd-analytics-catalog-detail__tab-content__cell gd-analytics-catalog-detail__detail-cell", children: content })
8
- ] }));
8
+ const cell = cx("gd-analytics-catalog-detail__tab-content__cell", {
9
+ "gd-analytics-catalog-detail__tab-content__cell--align-top": alignTop,
10
+ });
11
+ return (_jsxs(_Fragment, { children: [_jsx("dt", { className: cx(cell, "gd-analytics-catalog-detail__title-cell"), children: title }), _jsx("dd", { className: cx(cell, "gd-analytics-catalog-detail__detail-cell"), children: content })] }));
9
12
  }
@@ -47,7 +47,6 @@ export const CatalogDetailGenerateDescription = forwardRef(({ item, onApplyDescr
47
47
  const descriptionPlaceholder = intl.formatMessage({
48
48
  id: "analyticsCatalog.catalogItem.description.add",
49
49
  });
50
- return (_jsxs(UiInlineTextGenerator, { ref: ref, value: item.description, onSubmit: onApplyDescription, maxRows: 9999, ariaLabel: descriptionLabel, placeholder: descriptionPlaceholder, isEditableLabelWidthBasedOnText: true, onGenerate: generateItemDescription, onGenerateError: handleGenerateError, generateButtonLabel: intl.formatMessage(messages.generateDescriptionButton), generatingLabel: intl.formatMessage(messages.generatingDescription), undoButtonLabel: intl.formatMessage(messages.undoGeneratedDescription), generateButtonDataTestId: "analytics-catalog-generate-description-button", undoButtonDataTestId: "analytics-catalog-undo-description-button", children: [item.description || descriptionPlaceholder, _jsx("i", { className: "gd-icon-pencil" })
51
- ] }));
50
+ return (_jsxs(UiInlineTextGenerator, { ref: ref, value: item.description, onSubmit: onApplyDescription, maxRows: 9999, ariaLabel: descriptionLabel, placeholder: descriptionPlaceholder, isEditableLabelWidthBasedOnText: true, onGenerate: generateItemDescription, onGenerateError: handleGenerateError, generateButtonLabel: intl.formatMessage(messages.generateDescriptionButton), generatingLabel: intl.formatMessage(messages.generatingDescription), undoButtonLabel: intl.formatMessage(messages.undoGeneratedDescription), generateButtonDataTestId: "analytics-catalog-generate-description-button", undoButtonDataTestId: "analytics-catalog-undo-description-button", children: [item.description || descriptionPlaceholder, _jsx("i", { className: "gd-icon-pencil" })] }));
52
51
  });
53
52
  CatalogDetailGenerateDescription.displayName = "CatalogDetailGenerateDescription";
@@ -47,7 +47,6 @@ export const CatalogDetailGenerateTitle = forwardRef(({ item, onApplyTitle }, re
47
47
  const titlePlaceholder = intl.formatMessage({
48
48
  id: "analyticsCatalog.catalogItem.title.add",
49
49
  });
50
- return (_jsxs(UiInlineTextGenerator, { ref: ref, value: item.title, onSubmit: onApplyTitle, maxRows: 9999, ariaLabel: titleLabel, placeholder: titlePlaceholder, isEditableLabelWidthBasedOnText: true, onGenerate: generateItemTitle, onGenerateError: handleGenerateError, generateButtonLabel: intl.formatMessage(messages.generateTitleButton), generatingLabel: intl.formatMessage(messages.generatingTitle), undoButtonLabel: intl.formatMessage(messages.undoGeneratedTitle), generateButtonDataTestId: "analytics-catalog-generate-title-button", undoButtonDataTestId: "analytics-catalog-undo-title-button", children: [item.title || titlePlaceholder, _jsx("i", { className: "gd-icon-pencil" })
51
- ] }));
50
+ return (_jsxs(UiInlineTextGenerator, { ref: ref, value: item.title, onSubmit: onApplyTitle, maxRows: 9999, ariaLabel: titleLabel, placeholder: titlePlaceholder, isEditableLabelWidthBasedOnText: true, onGenerate: generateItemTitle, onGenerateError: handleGenerateError, generateButtonLabel: intl.formatMessage(messages.generateTitleButton), generatingLabel: intl.formatMessage(messages.generatingTitle), undoButtonLabel: intl.formatMessage(messages.undoGeneratedTitle), generateButtonDataTestId: "analytics-catalog-generate-title-button", undoButtonDataTestId: "analytics-catalog-undo-title-button", children: [item.title || titlePlaceholder, _jsx("i", { className: "gd-icon-pencil" })] }));
52
51
  });
53
52
  CatalogDetailGenerateTitle.displayName = "CatalogDetailGenerateTitle";
@@ -25,6 +25,6 @@ interface IProps {
25
25
  */
26
26
  showInfoRow?: boolean;
27
27
  }
28
- export declare function CatalogDetailHeader({ item, canEdit, actions, updateItemTitle, updateItemDescription, isDescriptionGenerationEnabled, headerRef, labels, labelsLoading, showInfoRow }: IProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function CatalogDetailHeader({ item, canEdit, actions, updateItemTitle, updateItemDescription, isDescriptionGenerationEnabled, headerRef, labels, labelsLoading, showInfoRow, }: IProps): import("react/jsx-runtime").JSX.Element;
29
29
  export {};
30
30
  //# sourceMappingURL=CatalogDetailHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogDetailHeader.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AAIpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAU9D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAS5D,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,UAAU,MAAM;IACZ,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC;IACnB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,8BAA8B,EAAE,OAAO,CAAC;IACxC,SAAS,EAAE,SAAS,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;IACrD,mGAAmG;IACnG,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,4FAA4F;IAC5F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,OAAO,EACP,eAAe,EACf,qBAAqB,EACrB,8BAA8B,EAC9B,SAAS,EACT,MAAM,EACN,aAAa,EACb,WAAW,EACd,EAAE,MAAM,2CAqMR"}
1
+ {"version":3,"file":"CatalogDetailHeader.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AAIpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAU9D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAS5D,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,UAAU,MAAM;IACZ,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC;IACnB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,8BAA8B,EAAE,OAAO,CAAC;IACxC,SAAS,EAAE,SAAS,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;IACrD,mGAAmG;IACnG,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,4FAA4F;IAC5F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,OAAO,EACP,eAAe,EACf,qBAAqB,EACrB,8BAA8B,EAC9B,SAAS,EACT,MAAM,EACN,aAAa,EACb,WAAW,GACd,EAAE,MAAM,2CAqMR"}
@@ -34,43 +34,19 @@ export function CatalogDetailHeader({ item, canEdit, actions, updateItemTitle, u
34
34
  descriptionRef.current?.click();
35
35
  },
36
36
  }), []);
37
- return (_jsx(UiCard, { elevation: "1", children: _jsxs("div", { className: "gd-analytics-catalog-detail__card", children: [
38
- _jsxs("div", { className: "gd-analytics-catalog-detail__card__top", children: [
39
- _jsxs("div", { className: "gd-analytics-catalog-detail__card__header", children: [
40
- _jsxs("div", { className: "gd-analytics-catalog-detail__card__header__title", children: [
41
- _jsx(ObjectTypeTooltip, { intl: intl, type: type, visualizationType: visualizationType, anchor: _jsx(ObjectTypeIconMemo, { intl: intl, type: type, visualizationType: visualizationType, backgroundSize: 32 }) }), item?.isLocked ? _jsx(CatalogItemLockMemo, { intl: intl }) : null, _jsxs("div", { className: "gd-analytics-catalog-detail__card__header__title__name", children: [canEdit ? (canGenerateText ? (_jsx(CatalogDetailGenerateTitle, { ref: titleRef, item: item, onApplyTitle: updateItemTitle }, item.identifier)) : (_jsxs(EditableLabel, { ref: titleRef, isEditableLabelWidthBasedOnText: true, ariaLabel: intl.formatMessage({
37
+ return (_jsx(UiCard, { elevation: "1", children: _jsxs("div", { className: "gd-analytics-catalog-detail__card", children: [_jsxs("div", { className: "gd-analytics-catalog-detail__card__top", children: [_jsxs("div", { className: "gd-analytics-catalog-detail__card__header", children: [_jsxs("div", { className: "gd-analytics-catalog-detail__card__header__title", children: [_jsx(ObjectTypeTooltip, { intl: intl, type: type, visualizationType: visualizationType, anchor: _jsx(ObjectTypeIconMemo, { intl: intl, type: type, visualizationType: visualizationType, backgroundSize: 32 }) }), item?.isLocked ? _jsx(CatalogItemLockMemo, { intl: intl }) : null, _jsxs("div", { className: "gd-analytics-catalog-detail__card__header__title__name", children: [canEdit ? (canGenerateText ? (_jsx(CatalogDetailGenerateTitle, { ref: titleRef, item: item, onApplyTitle: updateItemTitle }, item.identifier)) : (_jsxs(EditableLabel, { ref: titleRef, isEditableLabelWidthBasedOnText: true, ariaLabel: intl.formatMessage({
42
38
  id: "analyticsCatalog.column.title.label",
43
39
  }), placeholder: intl.formatMessage({
44
40
  id: "analyticsCatalog.catalogItem.title.add",
45
41
  }), onSubmit: updateItemTitle, value: item.title, maxRows: 9999, children: [item.title ||
46
42
  intl.formatMessage({
47
43
  id: "analyticsCatalog.catalogItem.title.add",
48
- }), _jsx("i", { className: "gd-icon-pencil" })
49
- ] }))) : (_jsx("span", { className: "gd-analytics-catalog-detail__card__header__title__name__text", children: item.title })), _jsx(CatalogCertificationIconMemo, { className: "gd-analytics-catalog-detail__card__header__title__certified", certification: item.certification })
50
- ] })
51
- ] }), canEdit ? (_jsxs("div", { className: "gd-analytics-catalog-detail__card__header__row", children: [
52
- _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.description" }) }), _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: canGenerateText ? (_jsx(CatalogDetailGenerateDescription, { ref: descriptionRef, item: item, onApplyDescription: updateItemDescription }, item.identifier)) : (_jsxs(EditableLabel, { ref: descriptionRef, maxRows: 9999, ariaLabel: intl.formatMessage({
44
+ }), _jsx("i", { className: "gd-icon-pencil" })] }))) : (_jsx("span", { className: "gd-analytics-catalog-detail__card__header__title__name__text", children: item.title })), _jsx(CatalogCertificationIconMemo, { className: "gd-analytics-catalog-detail__card__header__title__certified", certification: item.certification })] })] }), canEdit ? (_jsxs("div", { className: "gd-analytics-catalog-detail__card__header__row", children: [_jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.description" }) }), _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: canGenerateText ? (_jsx(CatalogDetailGenerateDescription, { ref: descriptionRef, item: item, onApplyDescription: updateItemDescription }, item.identifier)) : (_jsxs(EditableLabel, { ref: descriptionRef, maxRows: 9999, ariaLabel: intl.formatMessage({
53
45
  id: "analyticsCatalog.catalogItem.description",
54
46
  }), placeholder: intl.formatMessage({
55
47
  id: "analyticsCatalog.catalogItem.description.add",
56
48
  }), isEditableLabelWidthBasedOnText: true, onSubmit: updateItemDescription, value: item.description, children: [item.description ||
57
49
  intl.formatMessage({
58
50
  id: "analyticsCatalog.catalogItem.description.add",
59
- }), _jsx("i", { className: "gd-icon-pencil" })
60
- ] })) })
61
- ] })) : (_jsx(_Fragment, { children: item.description ? (_jsxs("div", { className: "gd-analytics-catalog-detail__card__header__row", children: [
62
- _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.description" }) }), _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: item.description })
63
- ] })) : null })), showInfoRow ? null : (_jsxs("div", { className: "gd-analytics-catalog-detail__card__header__row", children: [
64
- _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.id" }) }), _jsxs("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: [item.identifier, _jsx(UiCopyButton, { clipboardContent: item.identifier })
65
- ] })
66
- ] }))] }), _jsx("div", { className: "gd-analytics-catalog-detail__card__actions", children: actions })
67
- ] }), showInfoRow ? (_jsxs("div", { className: "gd-analytics-catalog-detail__card__info", children: [
68
- _jsxs("div", { className: "gd-analytics-catalog-detail__card__info__cell", children: [
69
- _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.id" }) }), _jsxs("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: [item.identifier, _jsx(UiCopyButton, { clipboardContent: item.identifier })
70
- ] })
71
- ] }), datasetTitle ? (_jsxs("div", { className: "gd-analytics-catalog-detail__card__info__cell", children: [
72
- _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.dataSet" }) }), _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: datasetTitle })
73
- ] })) : null, showLabelsColumn ? (_jsxs("div", { className: "gd-analytics-catalog-detail__card__info__cell", children: [
74
- _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.labels" }) }), _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: labelsLoading ? (_jsx(UiSkeleton, { itemWidth: 120, itemHeight: 20 })) : (_jsx(CatalogDetailLabels, { labels: labels ?? [] })) })
75
- ] })) : null] })) : null] }) }));
51
+ }), _jsx("i", { className: "gd-icon-pencil" })] })) })] })) : (_jsx(_Fragment, { children: item.description ? (_jsxs("div", { className: "gd-analytics-catalog-detail__card__header__row", children: [_jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.description" }) }), _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: item.description })] })) : null })), showInfoRow ? null : (_jsxs("div", { className: "gd-analytics-catalog-detail__card__header__row", children: [_jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.id" }) }), _jsxs("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: [item.identifier, _jsx(UiCopyButton, { clipboardContent: item.identifier })] })] }))] }), _jsx("div", { className: "gd-analytics-catalog-detail__card__actions", children: actions })] }), showInfoRow ? (_jsxs("div", { className: "gd-analytics-catalog-detail__card__info", children: [_jsxs("div", { className: "gd-analytics-catalog-detail__card__info__cell", children: [_jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.id" }) }), _jsxs("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: [item.identifier, _jsx(UiCopyButton, { clipboardContent: item.identifier })] })] }), datasetTitle ? (_jsxs("div", { className: "gd-analytics-catalog-detail__card__info__cell", children: [_jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.dataSet" }) }), _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: datasetTitle })] })) : null, showLabelsColumn ? (_jsxs("div", { className: "gd-analytics-catalog-detail__card__info__cell", children: [_jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__subtitle", children: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.labels" }) }), _jsx("div", { className: "gd-analytics-catalog-detail__card__header__row__content", children: labelsLoading ? (_jsx(UiSkeleton, { itemWidth: 120, itemHeight: 20 })) : (_jsx(CatalogDetailLabels, { labels: labels ?? [] })) })] })) : null] })) : null] }) }));
76
52
  }
@@ -9,5 +9,5 @@ export interface ICatalogDetailMetricSettingsProps {
9
9
  onFormatChange?: (format: string | null) => void;
10
10
  enableMetricFormatOverrides?: boolean;
11
11
  }
12
- export declare const CatalogDetailMetricSettings: import("react").NamedExoticComponent<ICatalogDetailMetricSettingsProps>;
12
+ export declare const CatalogDetailMetricSettings: import("react").MemoExoticComponent<({ metricType, format, canEdit, separators, currencyFormatOverride, onMetricTypeChange, onFormatChange, enableMetricFormatOverrides, }: ICatalogDetailMetricSettingsProps) => import("react/jsx-runtime").JSX.Element>;
13
13
  //# sourceMappingURL=CatalogDetailMetricSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogDetailMetricSettings.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailMetricSettings.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA+BnE,MAAM,WAAW,iCAAiC;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,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,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,eAAO,MAAM,2BAA2B,yEA8EtC,CAAC"}
1
+ {"version":3,"file":"CatalogDetailMetricSettings.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailMetricSettings.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA+BnE,MAAM,WAAW,iCAAiC;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,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,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,eAAO,MAAM,2BAA2B,8KASrC,iCAAiC,6CAqElC,CAAC"}
@@ -43,8 +43,7 @@ export const CatalogDetailMetricSettings = memo(function CatalogDetailMetricSett
43
43
  shouldBootstrap: shouldBootstrapCurrencyFormat,
44
44
  });
45
45
  const Toggle = useCallback((props) => (_jsx(NumberFormatToggleButton, { ...props, isReadOnly: !canEdit || props.isReadOnly })), [canEdit]);
46
- return (_jsxs(_Fragment, { children: [metricOverridesEnabled ? (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "metricComponent.metricType.label" }), content: _jsx(MetricTypeDropdown, { canEdit: canEdit, metricType: metricType, onMetricTypeChange: onMetricTypeChange }) })) : null, _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "metricComponent.numberFormat.label" }), content: _jsx(MeasureNumberFormat, { locale: intl.locale, toggleButton: Toggle, presets: presets, templates: templates, separators: separators ?? DEFAULT_SEPARATORS, selectedFormat: selectedFormat, setFormat: handleFormatChange }) })
47
- ] }));
46
+ return (_jsxs(_Fragment, { children: [metricOverridesEnabled ? (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "metricComponent.metricType.label" }), content: _jsx(MetricTypeDropdown, { canEdit: canEdit, metricType: metricType, onMetricTypeChange: onMetricTypeChange }) })) : null, _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "metricComponent.numberFormat.label" }), content: _jsx(MeasureNumberFormat, { locale: intl.locale, toggleButton: Toggle, presets: presets, templates: templates, separators: separators ?? DEFAULT_SEPARATORS, selectedFormat: selectedFormat, setFormat: handleFormatChange }) })] }));
48
47
  });
49
48
  const MetricTypeDropdown = memo(function MetricTypeDropdown({ canEdit, metricType, onMetricTypeChange, }) {
50
49
  const intl = useIntl();
@@ -57,16 +57,14 @@ export function CatalogDetailTabCertification({ item, canEdit, onCertificationCh
57
57
  handleStatusSelect(item.id);
58
58
  closeDropdown();
59
59
  }, onClose: closeDropdown, ariaAttributes: ariaAttributes }));
60
- } }) }), isCertified ? (_jsxs(_Fragment, { children: [
61
- _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.certification.field.message" }), content: _jsx("div", { className: "gd-analytics-catalog-detail__tab-certification__message", children: canEdit ? (_jsxs(EditableLabel, { ariaLabel: intl.formatMessage({
60
+ } }) }), isCertified ? (_jsxs(_Fragment, { children: [_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.certification.field.message" }), content: _jsx("div", { className: "gd-analytics-catalog-detail__tab-certification__message", children: canEdit ? (_jsxs(EditableLabel, { ariaLabel: intl.formatMessage({
62
61
  id: "analyticsCatalog.certification.field.message",
63
62
  }), placeholder: intl.formatMessage({
64
63
  id: "analyticsCatalog.certification.field.message.placeholder",
65
64
  }), isEditableLabelWidthBasedOnText: true, onSubmit: handleMessageSubmit, value: message, maxRows: 15, children: [message ||
66
65
  intl.formatMessage({
67
66
  id: "analyticsCatalog.certification.field.message.placeholder",
68
- }), _jsx("i", { className: "gd-icon-pencil" })
69
- ] })) : (_jsx(_Fragment, { children: message ||
67
+ }), _jsx("i", { className: "gd-icon-pencil" })] })) : (_jsx(_Fragment, { children: message ||
70
68
  intl.formatMessage({
71
69
  id: "analyticsCatalog.certification.field.message.placeholder",
72
70
  }) })) }) }), item.certification?.certifiedBy ? (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.certification.field.certifiedBy" }), content: item.certification.certifiedBy })) : null, item.certification?.certifiedAt ? (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.certification.field.certifiedAt" }), content: _jsx(UiDate, { date: item.certification?.certifiedAt, allowRelative: false, locale: intl.locale }) })) : null] })) : null] }));
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from "react";
2
- import type { ISeparators, MetricType } from "@gooddata/sdk-model";
2
+ import type { ISemanticConditionalFormatting, ISeparators, MetricType } from "@gooddata/sdk-model";
3
3
  import { type IUiTagDef } from "@gooddata/sdk-ui-kit";
4
4
  import { type ICatalogItem } from "../catalogItem/types.js";
5
5
  type Props = {
@@ -12,12 +12,13 @@ type Props = {
12
12
  onIsHiddenFromKdaChange: (isHiddenFromKda: boolean) => void;
13
13
  onMetricTypeChange?: (metricType: MetricType | undefined) => void;
14
14
  onFormatChange?: (format: string | null) => void;
15
+ onConditionalFormattingChange?: (conditionalFormatting: ISemanticConditionalFormatting | undefined) => void;
15
16
  separators?: ISeparators;
16
17
  currencyFormatOverride?: string | null;
17
18
  enableMetricFormatOverrides?: boolean;
18
19
  /**
19
- * Inline access row rendered at the top of the list. Self-contained (reads the
20
- * share context); undefined / nothing rendered when sharing is unavailable.
20
+ * Inline access row, rendered last before Tags. Self-contained (reads the share
21
+ * context); undefined / nothing rendered when sharing is unavailable.
21
22
  */
22
23
  accessRow?: ReactNode;
23
24
  /**
@@ -26,6 +27,6 @@ type Props = {
26
27
  */
27
28
  showDatasetRow?: boolean;
28
29
  };
29
- export declare function CatalogDetailTabMetadata({ item, canEdit, onTagClick, onTagAdd, onTagRemove, onIsHiddenChange, onIsHiddenFromKdaChange, onMetricTypeChange, onFormatChange, separators, currencyFormatOverride, enableMetricFormatOverrides, accessRow, showDatasetRow }: Props): import("react/jsx-runtime").JSX.Element;
30
+ export declare function CatalogDetailTabMetadata({ item, canEdit, onTagClick, onTagAdd, onTagRemove, onIsHiddenChange, onIsHiddenFromKdaChange, onMetricTypeChange, onFormatChange, onConditionalFormattingChange, separators, currencyFormatOverride, enableMetricFormatOverrides, accessRow, showDatasetRow, }: Props): import("react/jsx-runtime").JSX.Element;
30
31
  export {};
31
32
  //# sourceMappingURL=CatalogDetailTabMetadata.d.ts.map