@gooddata/sdk-ui-catalog 11.46.0-alpha.3 → 11.46.0-alpha.5

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 (110) hide show
  1. package/esm/AnalyticsCatalogDetail.d.ts.map +1 -1
  2. package/esm/AnalyticsCatalogDetail.js +2 -1
  3. package/esm/catalog/Catalog.d.ts.map +1 -1
  4. package/esm/catalog/Catalog.js +5 -2
  5. package/esm/catalogDetail/CatalogDetailActionBar.d.ts +6 -4
  6. package/esm/catalogDetail/CatalogDetailActionBar.d.ts.map +1 -1
  7. package/esm/catalogDetail/CatalogDetailActionBar.js +5 -6
  8. package/esm/catalogDetail/CatalogDetailActions.d.ts +2 -1
  9. package/esm/catalogDetail/CatalogDetailActions.d.ts.map +1 -1
  10. package/esm/catalogDetail/CatalogDetailActions.js +6 -2
  11. package/esm/catalogDetail/CatalogDetailContent.d.ts.map +1 -1
  12. package/esm/catalogDetail/CatalogDetailContent.js +3 -1
  13. package/esm/catalogItem/query.d.ts +7 -2
  14. package/esm/catalogItem/query.d.ts.map +1 -1
  15. package/esm/catalogItem/query.js +16 -1
  16. package/esm/header/CreateObjectButton.d.ts +2 -1
  17. package/esm/header/CreateObjectButton.d.ts.map +1 -1
  18. package/esm/header/CreateObjectButton.js +42 -38
  19. package/esm/localization/bundles/en-US.localization-bundle.d.ts +112 -0
  20. package/esm/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  21. package/esm/localization/bundles/en-US.localization-bundle.js +121 -9
  22. package/esm/main/Main.d.ts.map +1 -1
  23. package/esm/main/Main.js +2 -3
  24. package/esm/metric/MetricCreateDialog.d.ts +11 -0
  25. package/esm/metric/MetricCreateDialog.d.ts.map +1 -0
  26. package/esm/metric/MetricCreateDialog.js +55 -0
  27. package/esm/metric/MetricDeleteDialog.d.ts +9 -0
  28. package/esm/metric/MetricDeleteDialog.d.ts.map +1 -0
  29. package/esm/metric/MetricDeleteDialog.js +68 -0
  30. package/esm/metric/MetricDetailActions.d.ts +23 -0
  31. package/esm/metric/MetricDetailActions.d.ts.map +1 -0
  32. package/esm/metric/MetricDetailActions.js +101 -0
  33. package/esm/metric/MetricDialog.d.ts +14 -0
  34. package/esm/metric/MetricDialog.d.ts.map +1 -0
  35. package/esm/metric/MetricDialog.js +100 -0
  36. package/esm/metric/MetricEditDialog.d.ts +11 -0
  37. package/esm/metric/MetricEditDialog.d.ts.map +1 -0
  38. package/esm/metric/MetricEditDialog.js +51 -0
  39. package/esm/metric/MetricMutationContext.d.ts +16 -0
  40. package/esm/metric/MetricMutationContext.d.ts.map +1 -0
  41. package/esm/metric/MetricMutationContext.js +32 -0
  42. package/esm/metric/MetricYamlEditor.d.ts +8 -0
  43. package/esm/metric/MetricYamlEditor.d.ts.map +1 -0
  44. package/esm/metric/MetricYamlEditor.js +20 -0
  45. package/esm/metric/gate.d.ts +9 -0
  46. package/esm/metric/gate.d.ts.map +1 -0
  47. package/esm/metric/gate.js +16 -0
  48. package/esm/metric/metricCompletions.d.ts +7 -0
  49. package/esm/metric/metricCompletions.d.ts.map +1 -0
  50. package/esm/metric/metricCompletions.js +59 -0
  51. package/esm/metric/metricConverter.d.ts +49 -0
  52. package/esm/metric/metricConverter.d.ts.map +1 -0
  53. package/esm/metric/metricConverter.js +101 -0
  54. package/esm/metric/metricCopy.d.ts +4 -0
  55. package/esm/metric/metricCopy.d.ts.map +1 -0
  56. package/esm/metric/metricCopy.js +60 -0
  57. package/esm/metric/metricMutationPort.d.ts +18 -0
  58. package/esm/metric/metricMutationPort.d.ts.map +1 -0
  59. package/esm/metric/metricMutationPort.js +39 -0
  60. package/esm/metric/metricSchema.d.ts +29 -0
  61. package/esm/metric/metricSchema.d.ts.map +1 -0
  62. package/esm/metric/metricSchema.js +30 -0
  63. package/esm/metric/metricSerialization.d.ts +10 -0
  64. package/esm/metric/metricSerialization.d.ts.map +1 -0
  65. package/esm/metric/metricSerialization.js +33 -0
  66. package/esm/metric/metricValidation.d.ts +15 -0
  67. package/esm/metric/metricValidation.d.ts.map +1 -0
  68. package/esm/metric/metricValidation.js +47 -0
  69. package/esm/metric/metricYamlLinter.d.ts +7 -0
  70. package/esm/metric/metricYamlLinter.d.ts.map +1 -0
  71. package/esm/metric/metricYamlLinter.js +13 -0
  72. package/esm/metric/tests/metricMutationPort.test.utils.d.ts +7 -0
  73. package/esm/metric/tests/metricMutationPort.test.utils.d.ts.map +1 -0
  74. package/esm/metric/tests/metricMutationPort.test.utils.js +43 -0
  75. package/esm/parameter/ParameterDialog.d.ts.map +1 -1
  76. package/esm/parameter/ParameterDialog.js +19 -12
  77. package/esm/parameter/ParameterYamlEditor.d.ts +3 -1
  78. package/esm/parameter/ParameterYamlEditor.d.ts.map +1 -1
  79. package/esm/parameter/ParameterYamlEditor.js +4 -3
  80. package/esm/parameter/gate.d.ts +5 -0
  81. package/esm/parameter/gate.d.ts.map +1 -1
  82. package/esm/parameter/gate.js +8 -0
  83. package/esm/parameter/parameterCompletions.d.ts +9 -3
  84. package/esm/parameter/parameterCompletions.d.ts.map +1 -1
  85. package/esm/parameter/parameterCompletions.js +68 -43
  86. package/esm/parameter/parameterSchema.d.ts +23 -3
  87. package/esm/parameter/parameterSchema.d.ts.map +1 -1
  88. package/esm/parameter/parameterSchema.js +32 -10
  89. package/esm/parameter/parameterValidation.d.ts +4 -1
  90. package/esm/parameter/parameterValidation.d.ts.map +1 -1
  91. package/esm/parameter/parameterValidation.js +22 -9
  92. package/esm/parameter/yamlLinter.d.ts +1 -4
  93. package/esm/parameter/yamlLinter.d.ts.map +1 -1
  94. package/esm/parameter/yamlLinter.js +3 -24
  95. package/esm/utils/backendError.d.ts +11 -0
  96. package/esm/utils/backendError.d.ts.map +1 -0
  97. package/esm/utils/backendError.js +21 -0
  98. package/esm/utils/yamlSyntaxLinter.d.ts +11 -0
  99. package/esm/utils/yamlSyntaxLinter.d.ts.map +1 -0
  100. package/esm/utils/yamlSyntaxLinter.js +31 -0
  101. package/package.json +15 -14
  102. package/styles/css/{parameter.css → codeDialog.css} +26 -18
  103. package/styles/css/codeDialog.css.map +1 -0
  104. package/styles/css/detail.css +25 -17
  105. package/styles/css/detail.css.map +1 -1
  106. package/styles/css/main.css +25 -17
  107. package/styles/css/main.css.map +1 -1
  108. package/styles/scss/{parameter.scss → codeDialog.scss} +17 -8
  109. package/styles/scss/detail.scss +1 -1
  110. package/styles/css/parameter.css.map +0 -1
@@ -1,7 +1,7 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  import { parse as parseYaml } from "yaml";
3
- import { parameterSchema } from "./parameterSchema.js";
4
- export function validateParameterYaml(value, options = {}) {
3
+ import { buildParameterSchema } from "./parameterSchema.js";
4
+ export function validateParameterYaml(value, options) {
5
5
  if (value.trim() === "") {
6
6
  return invalid("empty");
7
7
  }
@@ -12,9 +12,9 @@ export function validateParameterYaml(value, options = {}) {
12
12
  catch {
13
13
  return invalid("syntax");
14
14
  }
15
- const result = parameterSchema.safeParse(parsed);
15
+ const result = buildParameterSchema(options.enabledTypes).safeParse(parsed);
16
16
  if (!result.success) {
17
- return classifySchemaError(result.error);
17
+ return classifySchemaError(result.error, readDeclaredType(parsed));
18
18
  }
19
19
  if (options.fixedIdentifier !== undefined && result.data.id !== options.fixedIdentifier) {
20
20
  return invalid("idImmutable");
@@ -24,22 +24,22 @@ export function validateParameterYaml(value, options = {}) {
24
24
  parameter: result.data,
25
25
  };
26
26
  }
27
- function classifySchemaError(error) {
27
+ function classifySchemaError(error, declaredType) {
28
28
  for (const issue of error.issues) {
29
29
  const path = issue.path.map(String).join(".");
30
30
  if (issue.code === "custom") {
31
31
  if (issue.message === "invalidConstraintRange") {
32
- return invalid("invalidConstraintRange");
32
+ return invalid("invalidConstraintRange", declaredType);
33
33
  }
34
34
  }
35
35
  if (path === "definition.type") {
36
36
  return invalid("unsupportedType");
37
37
  }
38
38
  if (path === "definition.defaultValue") {
39
- return invalid("invalidDefaultValue");
39
+ return invalid("invalidDefaultValue", declaredType);
40
40
  }
41
41
  if (path.startsWith("definition.constraints")) {
42
- return invalid("invalidConstraints");
42
+ return invalid("invalidConstraints", declaredType);
43
43
  }
44
44
  if (path === "tags" || path.startsWith("tags.")) {
45
45
  return invalid("invalidTags");
@@ -47,9 +47,22 @@ function classifySchemaError(error) {
47
47
  }
48
48
  return invalid("invalidStructure");
49
49
  }
50
- function invalid(code) {
50
+ /** The declared `definition.type`, when it names a known model type; drives the type-specific error copy. */
51
+ function readDeclaredType(parsed) {
52
+ if (!parsed || typeof parsed !== "object") {
53
+ return undefined;
54
+ }
55
+ const { definition } = parsed;
56
+ if (!definition || typeof definition !== "object") {
57
+ return undefined;
58
+ }
59
+ const { type } = definition;
60
+ return type === "NUMBER" || type === "STRING" ? type : undefined;
61
+ }
62
+ function invalid(code, type) {
51
63
  return {
52
64
  isValid: false,
53
65
  errorCode: code,
66
+ type,
54
67
  };
55
68
  }
@@ -1,10 +1,7 @@
1
1
  import { type IntlShape } from "react-intl";
2
2
  /**
3
3
  * Creates a CodeMirror linter extension that reports YAML syntax errors
4
- * by walking the parse tree for error nodes.
5
- *
6
- * This reuses the tree already built by `@codemirror/lang-yaml` for
7
- * highlighting — no extra parsing or dependencies required.
4
+ * using the parameter-specific syntax error message.
8
5
  */
9
6
  export declare function createYamlLinter(intl: IntlShape): import("@codemirror/state").Extension;
10
7
  //# sourceMappingURL=yamlLinter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yamlLinter.d.ts","sourceRoot":"","sources":["../../src/parameter/yamlLinter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,YAAY,CAAC;AAM5D;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,yCAsB/C"}
1
+ {"version":3,"file":"yamlLinter.d.ts","sourceRoot":"","sources":["../../src/parameter/yamlLinter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,YAAY,CAAC;AAQ5D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,yCAE/C"}
@@ -1,34 +1,13 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { syntaxTree } from "@codemirror/language";
3
- import { linter } from "@codemirror/lint";
4
2
  import { defineMessages } from "react-intl";
3
+ import { createYamlSyntaxLinter } from "../utils/yamlSyntaxLinter.js";
5
4
  const messages = defineMessages({
6
5
  syntaxError: { id: "analyticsCatalog.parameter.validation.syntax" },
7
6
  });
8
7
  /**
9
8
  * Creates a CodeMirror linter extension that reports YAML syntax errors
10
- * by walking the parse tree for error nodes.
11
- *
12
- * This reuses the tree already built by `@codemirror/lang-yaml` for
13
- * highlighting — no extra parsing or dependencies required.
9
+ * using the parameter-specific syntax error message.
14
10
  */
15
11
  export function createYamlLinter(intl) {
16
- const message = intl.formatMessage(messages.syntaxError);
17
- return linter((view) => {
18
- const diagnostics = [];
19
- const tree = syntaxTree(view.state);
20
- tree.iterate({
21
- enter(node) {
22
- if (node.type.isError) {
23
- diagnostics.push({
24
- from: node.from,
25
- to: Math.max(node.to, node.from + 1),
26
- severity: "error",
27
- message,
28
- });
29
- }
30
- },
31
- });
32
- return diagnostics;
33
- });
12
+ return createYamlSyntaxLinter(intl.formatMessage(messages.syntaxError));
34
13
  }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Extracts the human-readable reason from a backend error, if present.
3
+ *
4
+ * For a generic `UnexpectedResponseError` the meaningful reason lives in Tiger's RFC 7807
5
+ * `responseBody.detail`, while `error.message` carries only the transport-level "Request failed
6
+ * with status code NNN" — so that message is intentionally ignored. Other typed backend errors
7
+ * (e.g. `LimitReached` → "Upgrade your plan to create more objects.") carry a curated, user-facing
8
+ * message, which is preserved. Callers fall back to a localized generic message otherwise.
9
+ */
10
+ export declare function extractBackendErrorDetail(error: unknown): string | undefined;
11
+ //# sourceMappingURL=backendError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backendError.d.ts","sourceRoot":"","sources":["../../src/utils/backendError.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAS5E"}
@@ -0,0 +1,21 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { isAnalyticalBackendError, isUnexpectedResponseError } from "@gooddata/sdk-backend-spi";
3
+ /**
4
+ * Extracts the human-readable reason from a backend error, if present.
5
+ *
6
+ * For a generic `UnexpectedResponseError` the meaningful reason lives in Tiger's RFC 7807
7
+ * `responseBody.detail`, while `error.message` carries only the transport-level "Request failed
8
+ * with status code NNN" — so that message is intentionally ignored. Other typed backend errors
9
+ * (e.g. `LimitReached` → "Upgrade your plan to create more objects.") carry a curated, user-facing
10
+ * message, which is preserved. Callers fall back to a localized generic message otherwise.
11
+ */
12
+ export function extractBackendErrorDetail(error) {
13
+ if (isUnexpectedResponseError(error)) {
14
+ const detail = error.responseBody?.detail;
15
+ return typeof detail === "string" && detail.trim() !== "" ? detail : undefined;
16
+ }
17
+ if (isAnalyticalBackendError(error) && error.message.trim() !== "") {
18
+ return error.message;
19
+ }
20
+ return undefined;
21
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Creates a CodeMirror linter extension that reports YAML syntax errors
3
+ * by walking the parse tree for error nodes.
4
+ *
5
+ * This reuses the tree already built by `@codemirror/lang-yaml` for
6
+ * highlighting — no extra parsing or dependencies required.
7
+ *
8
+ * @param message - localized message shown on each syntax error diagnostic
9
+ */
10
+ export declare function createYamlSyntaxLinter(message: string): import("@codemirror/state").Extension;
11
+ //# sourceMappingURL=yamlSyntaxLinter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yamlSyntaxLinter.d.ts","sourceRoot":"","sources":["../../src/utils/yamlSyntaxLinter.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,yCAoBrD"}
@@ -0,0 +1,31 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { syntaxTree } from "@codemirror/language";
3
+ import { linter } from "@codemirror/lint";
4
+ /**
5
+ * Creates a CodeMirror linter extension that reports YAML syntax errors
6
+ * by walking the parse tree for error nodes.
7
+ *
8
+ * This reuses the tree already built by `@codemirror/lang-yaml` for
9
+ * highlighting — no extra parsing or dependencies required.
10
+ *
11
+ * @param message - localized message shown on each syntax error diagnostic
12
+ */
13
+ export function createYamlSyntaxLinter(message) {
14
+ return linter((view) => {
15
+ const diagnostics = [];
16
+ const tree = syntaxTree(view.state);
17
+ tree.iterate({
18
+ enter(node) {
19
+ if (node.type.isError) {
20
+ diagnostics.push({
21
+ from: node.from,
22
+ to: Math.max(node.to, node.from + 1),
23
+ severity: "error",
24
+ message,
25
+ });
26
+ }
27
+ },
28
+ });
29
+ return diagnostics;
30
+ });
31
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-catalog",
3
- "version": "11.46.0-alpha.3",
3
+ "version": "11.46.0-alpha.5",
4
4
  "description": "GoodData SDK - Analytics Catalog",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -45,14 +45,15 @@
45
45
  "tslib": "2.8.1",
46
46
  "yaml": "2.8.3",
47
47
  "zod": "4.3.6",
48
- "@gooddata/sdk-backend-spi": "11.46.0-alpha.3",
49
- "@gooddata/sdk-model": "11.46.0-alpha.3",
50
- "@gooddata/sdk-ui-ext": "11.46.0-alpha.3",
51
- "@gooddata/sdk-ui-kit": "11.46.0-alpha.3",
52
- "@gooddata/sdk-ui": "11.46.0-alpha.3",
53
- "@gooddata/sdk-ui-semantic-search": "11.46.0-alpha.3",
54
- "@gooddata/sdk-ui-theme-provider": "11.46.0-alpha.3",
55
- "@gooddata/util": "11.46.0-alpha.3"
48
+ "@gooddata/sdk-backend-spi": "11.46.0-alpha.5",
49
+ "@gooddata/sdk-code-schemas": "11.46.0-alpha.5",
50
+ "@gooddata/sdk-model": "11.46.0-alpha.5",
51
+ "@gooddata/sdk-ui": "11.46.0-alpha.5",
52
+ "@gooddata/sdk-ui-ext": "11.46.0-alpha.5",
53
+ "@gooddata/sdk-ui-kit": "11.46.0-alpha.5",
54
+ "@gooddata/sdk-ui-semantic-search": "11.46.0-alpha.5",
55
+ "@gooddata/sdk-ui-theme-provider": "11.46.0-alpha.5",
56
+ "@gooddata/util": "11.46.0-alpha.5"
56
57
  },
57
58
  "devDependencies": {
58
59
  "@microsoft/api-documenter": "^7.17.0",
@@ -92,11 +93,11 @@
92
93
  "typescript": "5.9.3",
93
94
  "vitest": "4.1.8",
94
95
  "vitest-dom": "0.1.1",
95
- "@gooddata/eslint-config": "11.46.0-alpha.3",
96
- "@gooddata/i18n-toolkit": "11.46.0-alpha.3",
97
- "@gooddata/oxlint-config": "11.46.0-alpha.3",
98
- "@gooddata/sdk-backend-mockingbird": "11.46.0-alpha.3",
99
- "@gooddata/stylelint-config": "11.46.0-alpha.3"
96
+ "@gooddata/eslint-config": "11.46.0-alpha.5",
97
+ "@gooddata/i18n-toolkit": "11.46.0-alpha.5",
98
+ "@gooddata/stylelint-config": "11.46.0-alpha.5",
99
+ "@gooddata/sdk-backend-mockingbird": "11.46.0-alpha.5",
100
+ "@gooddata/oxlint-config": "11.46.0-alpha.5"
100
101
  },
101
102
  "peerDependencies": {
102
103
  "react": "^18.0.0 || ^19.0.0",
@@ -1,23 +1,23 @@
1
- .gd-parameter-dialog {
1
+ .gd-ascode-dialog {
2
2
  width: 640px;
3
3
  height: 560px;
4
4
  flex-direction: column;
5
5
  display: flex;
6
6
  overflow: hidden;
7
7
  }
8
- .gd-parameter-dialog.overlay.gd-dialog:not(.gd-dropdown) {
8
+ .gd-ascode-dialog.overlay.gd-dialog:not(.gd-dropdown) {
9
9
  max-width: calc(100vw - 40px);
10
10
  padding: 0;
11
11
  }
12
- .gd-parameter-dialog .gd-dialog-header-wrapper {
12
+ .gd-ascode-dialog .gd-dialog-header-wrapper {
13
13
  padding: 20px 20px 0;
14
14
  }
15
- .gd-parameter-dialog .gd-dialog-content {
15
+ .gd-ascode-dialog .gd-dialog-content {
16
16
  flex: auto;
17
17
  padding: 0;
18
18
  overflow: hidden;
19
19
  }
20
- .gd-parameter-dialog .gd-dialog-footer {
20
+ .gd-ascode-dialog .gd-dialog-footer {
21
21
  display: flex;
22
22
  align-items: center;
23
23
  margin-top: 0;
@@ -25,15 +25,23 @@
25
25
  border-top: 1px solid var(--gd-palette-complementary-3);
26
26
  }
27
27
 
28
- .gd-parameter-dialog-content {
28
+ .gd-ascode-dialog-content {
29
29
  display: grid;
30
30
  grid-template-rows: auto 1fr;
31
31
  height: 100%;
32
- background-color: #fcfcfd;
32
+ background-color: var(--gd-palette-complementary-0-from-theme, #fcfcfd);
33
33
  border-top: 1px solid var(--gd-palette-complementary-3);
34
34
  }
35
35
 
36
- .gd-parameter-dialog-section-header {
36
+ .gd-ascode-dialog-loading {
37
+ grid-row: 1/-1;
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ height: 100%;
42
+ }
43
+
44
+ .gd-ascode-dialog-section-header {
37
45
  display: flex;
38
46
  align-items: center;
39
47
  gap: 5px;
@@ -45,38 +53,38 @@
45
53
  color: var(--gd-palette-complementary-6);
46
54
  }
47
55
 
48
- .gd-parameter-dialog-editor {
56
+ .gd-ascode-dialog-editor {
49
57
  height: 100%;
50
58
  overflow: hidden;
51
59
  padding: 10px 20px 20px;
52
60
  }
53
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input {
61
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input {
54
62
  height: 100%;
55
63
  font-family: "Andale Mono", monospace;
56
64
  font-size: 14px;
57
65
  line-height: 22px;
58
66
  }
59
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-editor {
67
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-editor {
60
68
  height: 100%;
61
69
  border-color: transparent;
62
70
  background-color: transparent;
63
71
  box-shadow: none;
64
72
  transition: none;
65
73
  }
66
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-editor.cm-focused {
74
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-editor.cm-focused {
67
75
  border-color: var(--gd-palette-primary-base, #14b2e2);
68
76
  }
69
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-content {
77
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-content {
70
78
  font-family: "Andale Mono", monospace;
71
79
  }
72
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-gutters {
80
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-gutters {
73
81
  background-color: transparent;
74
82
  border-right: none;
75
83
  color: var(--gd-palette-complementary-6);
76
84
  padding-right: 10px;
77
85
  }
78
86
 
79
- .gd-parameter-dialog-error {
87
+ .gd-ascode-dialog-error {
80
88
  background-color: var(--gd-palette-error-lightest, #fff2f1);
81
89
  color: var(--gd-palette-error-base, #e54d42);
82
90
  font-size: 14px;
@@ -85,11 +93,11 @@
85
93
  margin: 0 20px 10px;
86
94
  border-radius: 3px;
87
95
  }
88
- .gd-parameter-dialog-error .gd-parameter-dialog-error-label {
96
+ .gd-ascode-dialog-error .gd-ascode-dialog-error-label {
89
97
  font-weight: 700;
90
98
  }
91
99
 
92
- .gd-parameter-dialog-footer-left {
100
+ .gd-ascode-dialog-footer-left {
93
101
  display: flex;
94
102
  align-items: center;
95
103
  justify-content: space-between;
@@ -98,4 +106,4 @@
98
106
  margin-right: 10px;
99
107
  }
100
108
 
101
- /*# sourceMappingURL=parameter.css.map */
109
+ /*# sourceMappingURL=codeDialog.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../scss/codeDialog.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AAIA;EACI;EACA;EACA;EACA;EACA;;AAGA;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI,cCpCU;;ADwClB;EACI;;AAGJ;EACI;EACA;EACA;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA","file":"codeDialog.css"}
@@ -14,26 +14,26 @@
14
14
  --catalog-object-type-icon-color: #f18600;
15
15
  }
16
16
 
17
- .gd-parameter-dialog {
17
+ .gd-ascode-dialog {
18
18
  width: 640px;
19
19
  height: 560px;
20
20
  flex-direction: column;
21
21
  display: flex;
22
22
  overflow: hidden;
23
23
  }
24
- .gd-parameter-dialog.overlay.gd-dialog:not(.gd-dropdown) {
24
+ .gd-ascode-dialog.overlay.gd-dialog:not(.gd-dropdown) {
25
25
  max-width: calc(100vw - 40px);
26
26
  padding: 0;
27
27
  }
28
- .gd-parameter-dialog .gd-dialog-header-wrapper {
28
+ .gd-ascode-dialog .gd-dialog-header-wrapper {
29
29
  padding: 20px 20px 0;
30
30
  }
31
- .gd-parameter-dialog .gd-dialog-content {
31
+ .gd-ascode-dialog .gd-dialog-content {
32
32
  flex: auto;
33
33
  padding: 0;
34
34
  overflow: hidden;
35
35
  }
36
- .gd-parameter-dialog .gd-dialog-footer {
36
+ .gd-ascode-dialog .gd-dialog-footer {
37
37
  display: flex;
38
38
  align-items: center;
39
39
  margin-top: 0;
@@ -41,15 +41,23 @@
41
41
  border-top: 1px solid var(--gd-palette-complementary-3);
42
42
  }
43
43
 
44
- .gd-parameter-dialog-content {
44
+ .gd-ascode-dialog-content {
45
45
  display: grid;
46
46
  grid-template-rows: auto 1fr;
47
47
  height: 100%;
48
- background-color: #fcfcfd;
48
+ background-color: var(--gd-palette-complementary-0-from-theme, #fcfcfd);
49
49
  border-top: 1px solid var(--gd-palette-complementary-3);
50
50
  }
51
51
 
52
- .gd-parameter-dialog-section-header {
52
+ .gd-ascode-dialog-loading {
53
+ grid-row: 1/-1;
54
+ display: flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ height: 100%;
58
+ }
59
+
60
+ .gd-ascode-dialog-section-header {
53
61
  display: flex;
54
62
  align-items: center;
55
63
  gap: 5px;
@@ -61,38 +69,38 @@
61
69
  color: var(--gd-palette-complementary-6);
62
70
  }
63
71
 
64
- .gd-parameter-dialog-editor {
72
+ .gd-ascode-dialog-editor {
65
73
  height: 100%;
66
74
  overflow: hidden;
67
75
  padding: 10px 20px 20px;
68
76
  }
69
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input {
77
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input {
70
78
  height: 100%;
71
79
  font-family: "Andale Mono", monospace;
72
80
  font-size: 14px;
73
81
  line-height: 22px;
74
82
  }
75
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-editor {
83
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-editor {
76
84
  height: 100%;
77
85
  border-color: transparent;
78
86
  background-color: transparent;
79
87
  box-shadow: none;
80
88
  transition: none;
81
89
  }
82
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-editor.cm-focused {
90
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-editor.cm-focused {
83
91
  border-color: var(--gd-palette-primary-base, #14b2e2);
84
92
  }
85
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-content {
93
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-content {
86
94
  font-family: "Andale Mono", monospace;
87
95
  }
88
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-gutters {
96
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-gutters {
89
97
  background-color: transparent;
90
98
  border-right: none;
91
99
  color: var(--gd-palette-complementary-6);
92
100
  padding-right: 10px;
93
101
  }
94
102
 
95
- .gd-parameter-dialog-error {
103
+ .gd-ascode-dialog-error {
96
104
  background-color: var(--gd-palette-error-lightest, #fff2f1);
97
105
  color: var(--gd-palette-error-base, #e54d42);
98
106
  font-size: 14px;
@@ -101,11 +109,11 @@
101
109
  margin: 0 20px 10px;
102
110
  border-radius: 3px;
103
111
  }
104
- .gd-parameter-dialog-error .gd-parameter-dialog-error-label {
112
+ .gd-ascode-dialog-error .gd-ascode-dialog-error-label {
105
113
  font-weight: 700;
106
114
  }
107
115
 
108
- .gd-parameter-dialog-footer-left {
116
+ .gd-ascode-dialog-footer-left {
109
117
  display: flex;
110
118
  align-items: center;
111
119
  justify-content: space-between;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../scss/objectType.scss","../scss/parameter.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../scss/detail.scss"],"names":[],"mappings":"AAKI;EAEI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EAEI;;AAGJ;EACI;;;ACrBR;EACI;EACA;EACA;EACA;EACA;;AAGA;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI,cC3BU;;AD+BlB;EACI;;AAGJ;EACI;EACA;EACA;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;AEjGJ;EACI,aDwFc;ECvFd,WAJgB;EAKhB,OAVI;EAWJ;;AAEA;EANJ;IAOQ;;;AAGJ;EAEI;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;;AAGA;EACI;EACA;EACA;;AAIJ;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA,ODzCA;EC0CA,WAtEE;EAuEF,aAtES;EAuET;EACA;;AAEA;EACI;;AAOJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI,OD3EG;;AC8EP;EACI;EACA,OD7EJ;EC8EI;EACA;;AAGJ;EAEI;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EACI;;AAEA;EACI,ODnGJ;ECoGI,aAzHQ;EA0HR,WA3HC;EA4HD;EACA;EACA;;AAGJ;EACI,ODxGJ;ECyGI,WAjIA;EAkIA;EACA;EACA;EACA;EACA;;AAGJ;EACI,ODzHG;;AC4HP;EACI;EACA,OD3HJ;;AC+HJ;EACI;;AAEA;EACI;;AAKZ;EACI;EACA;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;AAKR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAMR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA,ODhQQ;ECiQR;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAKJ;EACI;;AAGJ;EACI;EACA;;AAKJ;EACI;EACA;;AAGJ;EACI,ODjSW;;ACoSf;EACI;EACA,ODnSI;;ACuSZ;EACI,ODpSQ;ECqSR;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI,ODvTW;ECwTX;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAIR;EACI,MD7XS;;AC+Xb;AAAA;EAEI,MDhYQ;;ACkYZ;AAAA;EAEI,MDlYO;;ACoYX;EACI;;AAEJ;EACI;;AAGJ;EACI,QD3XW;;;ACiYnB;EACI;EACA;EACA;EACA;EACA;EACA;EACA,kBD9YS;EC+YT;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGI;EACI;EACA;;AAIR;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA,kBD/bK;ECgcL;EACA;EACA,ODrbI;;ACubJ;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI","file":"detail.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../scss/objectType.scss","../scss/codeDialog.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../scss/detail.scss"],"names":[],"mappings":"AAKI;EAEI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EAEI;;AAGJ;EACI;;;ACpBR;EACI;EACA;EACA;EACA;EACA;;AAGA;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI,cCpCU;;ADwClB;EACI;;AAGJ;EACI;EACA;EACA;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;AE1GJ;EACI,aDwFc;ECvFd,WAJgB;EAKhB,OAVI;EAWJ;;AAEA;EANJ;IAOQ;;;AAGJ;EAEI;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;;AAGA;EACI;EACA;EACA;;AAIJ;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA,ODzCA;EC0CA,WAtEE;EAuEF,aAtES;EAuET;EACA;;AAEA;EACI;;AAOJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI,OD3EG;;AC8EP;EACI;EACA,OD7EJ;EC8EI;EACA;;AAGJ;EAEI;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EACI;;AAEA;EACI,ODnGJ;ECoGI,aAzHQ;EA0HR,WA3HC;EA4HD;EACA;EACA;;AAGJ;EACI,ODxGJ;ECyGI,WAjIA;EAkIA;EACA;EACA;EACA;EACA;;AAGJ;EACI,ODzHG;;AC4HP;EACI;EACA,OD3HJ;;AC+HJ;EACI;;AAEA;EACI;;AAKZ;EACI;EACA;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;AAKR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAMR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA,ODhQQ;ECiQR;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAKJ;EACI;;AAGJ;EACI;EACA;;AAKJ;EACI;EACA;;AAGJ;EACI,ODjSW;;ACoSf;EACI;EACA,ODnSI;;ACuSZ;EACI,ODpSQ;ECqSR;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI,ODvTW;ECwTX;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAIR;EACI,MD7XS;;AC+Xb;AAAA;EAEI,MDhYQ;;ACkYZ;AAAA;EAEI,MDlYO;;ACoYX;EACI;;AAEJ;EACI;;AAGJ;EACI,QD3XW;;;ACiYnB;EACI;EACA;EACA;EACA;EACA;EACA;EACA,kBD9YS;EC+YT;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGI;EACI;EACA;;AAIR;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA,kBD/bK;ECgcL;EACA;EACA,ODrbI;;ACubJ;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI","file":"detail.css"}
@@ -330,26 +330,26 @@
330
330
  --catalog-object-type-icon-color: #f18600;
331
331
  }
332
332
 
333
- .gd-parameter-dialog {
333
+ .gd-ascode-dialog {
334
334
  width: 640px;
335
335
  height: 560px;
336
336
  flex-direction: column;
337
337
  display: flex;
338
338
  overflow: hidden;
339
339
  }
340
- .gd-parameter-dialog.overlay.gd-dialog:not(.gd-dropdown) {
340
+ .gd-ascode-dialog.overlay.gd-dialog:not(.gd-dropdown) {
341
341
  max-width: calc(100vw - 40px);
342
342
  padding: 0;
343
343
  }
344
- .gd-parameter-dialog .gd-dialog-header-wrapper {
344
+ .gd-ascode-dialog .gd-dialog-header-wrapper {
345
345
  padding: 20px 20px 0;
346
346
  }
347
- .gd-parameter-dialog .gd-dialog-content {
347
+ .gd-ascode-dialog .gd-dialog-content {
348
348
  flex: auto;
349
349
  padding: 0;
350
350
  overflow: hidden;
351
351
  }
352
- .gd-parameter-dialog .gd-dialog-footer {
352
+ .gd-ascode-dialog .gd-dialog-footer {
353
353
  display: flex;
354
354
  align-items: center;
355
355
  margin-top: 0;
@@ -357,15 +357,23 @@
357
357
  border-top: 1px solid var(--gd-palette-complementary-3);
358
358
  }
359
359
 
360
- .gd-parameter-dialog-content {
360
+ .gd-ascode-dialog-content {
361
361
  display: grid;
362
362
  grid-template-rows: auto 1fr;
363
363
  height: 100%;
364
- background-color: #fcfcfd;
364
+ background-color: var(--gd-palette-complementary-0-from-theme, #fcfcfd);
365
365
  border-top: 1px solid var(--gd-palette-complementary-3);
366
366
  }
367
367
 
368
- .gd-parameter-dialog-section-header {
368
+ .gd-ascode-dialog-loading {
369
+ grid-row: 1/-1;
370
+ display: flex;
371
+ align-items: center;
372
+ justify-content: center;
373
+ height: 100%;
374
+ }
375
+
376
+ .gd-ascode-dialog-section-header {
369
377
  display: flex;
370
378
  align-items: center;
371
379
  gap: 5px;
@@ -377,38 +385,38 @@
377
385
  color: var(--gd-palette-complementary-6);
378
386
  }
379
387
 
380
- .gd-parameter-dialog-editor {
388
+ .gd-ascode-dialog-editor {
381
389
  height: 100%;
382
390
  overflow: hidden;
383
391
  padding: 10px 20px 20px;
384
392
  }
385
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input {
393
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input {
386
394
  height: 100%;
387
395
  font-family: "Andale Mono", monospace;
388
396
  font-size: 14px;
389
397
  line-height: 22px;
390
398
  }
391
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-editor {
399
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-editor {
392
400
  height: 100%;
393
401
  border-color: transparent;
394
402
  background-color: transparent;
395
403
  box-shadow: none;
396
404
  transition: none;
397
405
  }
398
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-editor.cm-focused {
406
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-editor.cm-focused {
399
407
  border-color: var(--gd-palette-primary-base, #14b2e2);
400
408
  }
401
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-content {
409
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-content {
402
410
  font-family: "Andale Mono", monospace;
403
411
  }
404
- .gd-parameter-dialog-editor .gd-input-syntax-highlighting-input .cm-gutters {
412
+ .gd-ascode-dialog-editor .gd-input-syntax-highlighting-input .cm-gutters {
405
413
  background-color: transparent;
406
414
  border-right: none;
407
415
  color: var(--gd-palette-complementary-6);
408
416
  padding-right: 10px;
409
417
  }
410
418
 
411
- .gd-parameter-dialog-error {
419
+ .gd-ascode-dialog-error {
412
420
  background-color: var(--gd-palette-error-lightest, #fff2f1);
413
421
  color: var(--gd-palette-error-base, #e54d42);
414
422
  font-size: 14px;
@@ -417,11 +425,11 @@
417
425
  margin: 0 20px 10px;
418
426
  border-radius: 3px;
419
427
  }
420
- .gd-parameter-dialog-error .gd-parameter-dialog-error-label {
428
+ .gd-ascode-dialog-error .gd-ascode-dialog-error-label {
421
429
  font-weight: 700;
422
430
  }
423
431
 
424
- .gd-parameter-dialog-footer-left {
432
+ .gd-ascode-dialog-footer-left {
425
433
  display: flex;
426
434
  align-items: center;
427
435
  justify-content: space-between;