@memberjunction/ng-dashboards 5.35.0 → 5.36.0
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.
- package/dist/AI/components/agents/agent-configuration.component.js +3 -3
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +22 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +157 -137
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +28 -0
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +2075 -2068
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.js +4 -4
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +3 -3
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.d.ts +15 -0
- package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +1411 -1424
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.d.ts +12 -8
- package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.js +329 -371
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +137 -142
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +111 -116
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +13 -65
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +13 -65
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +13 -65
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +13 -65
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/Admin/base-admin-container.component.d.ts +9 -7
- package/dist/Admin/base-admin-container.component.d.ts.map +1 -1
- package/dist/Admin/base-admin-container.component.js +26 -17
- package/dist/Admin/base-admin-container.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +74 -67
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Communication/communication-new-message-resource.component.d.ts +93 -0
- package/dist/Communication/communication-new-message-resource.component.d.ts.map +1 -0
- package/dist/Communication/communication-new-message-resource.component.js +661 -0
- package/dist/Communication/communication-new-message-resource.component.js.map +1 -0
- package/dist/Credentials/components/credentials-categories-resource.component.js +152 -159
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +151 -155
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +20 -21
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.d.ts +2 -0
- package/dist/DatabaseDesigner/components/entity-list.component.d.ts.map +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +131 -125
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +7 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/DevTools/app-state-inspector.component.d.ts +5 -0
- package/dist/DevTools/app-state-inspector.component.d.ts.map +1 -1
- package/dist/DevTools/app-state-inspector.component.js +46 -72
- package/dist/DevTools/app-state-inspector.component.js.map +1 -1
- package/dist/DevTools/class-registry.component.js +88 -100
- package/dist/DevTools/class-registry.component.js.map +1 -1
- package/dist/DevTools/event-monitor.component.js +158 -168
- package/dist/DevTools/event-monitor.component.js.map +1 -1
- package/dist/DevTools/graphql-console.component.js +257 -264
- package/dist/DevTools/graphql-console.component.js.map +1 -1
- package/dist/DevTools/layout-inspector.component.d.ts +5 -0
- package/dist/DevTools/layout-inspector.component.d.ts.map +1 -1
- package/dist/DevTools/layout-inspector.component.js +46 -64
- package/dist/DevTools/layout-inspector.component.js.map +1 -1
- package/dist/DevTools/lazy-module-status.component.js +75 -84
- package/dist/DevTools/lazy-module-status.component.js.map +1 -1
- package/dist/DevTools/settings-explorer.component.js +76 -85
- package/dist/DevTools/settings-explorer.component.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +2 -0
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +7 -3
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +97 -99
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +842 -855
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.js +502 -517
- package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
- package/dist/Integration/components/schedules/schedules.component.js +78 -89
- package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts +5 -0
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +1120 -1128
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +11 -0
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +606 -661
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +102 -0
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +1179 -504
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts +133 -3
- package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +1527 -327
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts +29 -0
- package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts.map +1 -0
- package/dist/Lists/components/lists-shared-with-me-resource.component.js +77 -0
- package/dist/Lists/components/lists-shared-with-me-resource.component.js.map +1 -0
- package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts +6 -0
- package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
- package/dist/Lists/components/venn-diagram/venn-diagram.component.js +35 -7
- package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
- package/dist/Lists/index.d.ts +1 -0
- package/dist/Lists/index.d.ts.map +1 -1
- package/dist/Lists/index.js +1 -0
- package/dist/Lists/index.js.map +1 -1
- package/dist/Lists/services/list-set-operations.service.d.ts +93 -2
- package/dist/Lists/services/list-set-operations.service.d.ts.map +1 -1
- package/dist/Lists/services/list-set-operations.service.js +236 -10
- package/dist/Lists/services/list-set-operations.service.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +19 -19
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +58 -60
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +13 -3
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +1007 -1252
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +31 -6
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +543 -629
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +50 -49
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +1 -1
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +16 -1
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +9 -7
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +13 -4
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/core-dashboards.module.d.ts +1 -1
- package/dist/core-dashboards.module.d.ts.map +1 -1
- package/dist/core-dashboards.module.js +16 -1
- package/dist/core-dashboards.module.js.map +1 -1
- package/dist/lists-dashboards.module.d.ts +10 -9
- package/dist/lists-dashboards.module.d.ts.map +1 -1
- package/dist/lists-dashboards.module.js +13 -2
- package/dist/lists-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -0
- package/dist/public-api.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +1 -1
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +13 -1
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +53 -52
|
@@ -12,31 +12,30 @@ import { GraphQLDataProvider, FieldMapper } from '@memberjunction/graphql-datapr
|
|
|
12
12
|
import { DevToolsPrefs } from './dev-tools-prefs';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "@angular/forms";
|
|
15
|
-
import * as i2 from "@memberjunction/ng-
|
|
16
|
-
import * as i3 from "@
|
|
15
|
+
import * as i2 from "@memberjunction/ng-ui-components";
|
|
16
|
+
import * as i3 from "@memberjunction/ng-code-editor";
|
|
17
|
+
import * as i4 from "@angular/common";
|
|
17
18
|
const _c0 = ["queryEditor"];
|
|
18
|
-
function
|
|
19
|
-
i0.ɵɵ
|
|
20
|
-
i0.ɵɵ
|
|
21
|
-
i0.ɵɵ
|
|
22
|
-
i0.ɵɵ
|
|
19
|
+
function GraphQLConsoleComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelementStart(0, "span", 3);
|
|
21
|
+
i0.ɵɵelement(1, "i", 35);
|
|
22
|
+
i0.ɵɵelementStart(2, "code", 36);
|
|
23
|
+
i0.ɵɵtext(3);
|
|
24
|
+
i0.ɵɵelementEnd()();
|
|
23
25
|
} if (rf & 2) {
|
|
24
26
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
25
|
-
i0.ɵɵadvance(
|
|
27
|
+
i0.ɵɵadvance(3);
|
|
26
28
|
i0.ɵɵtextInterpolate(ctx_r0.ApiUrl);
|
|
27
29
|
} }
|
|
28
|
-
function
|
|
29
|
-
i0.ɵɵ
|
|
30
|
-
|
|
31
|
-
function GraphQLConsoleComponent_Conditional_19_Conditional_11_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
-
i0.ɵɵelementStart(0, "div", 47);
|
|
33
|
-
i0.ɵɵelement(1, "i", 49);
|
|
30
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
+
i0.ɵɵelementStart(0, "div", 46);
|
|
32
|
+
i0.ɵɵelement(1, "i", 48);
|
|
34
33
|
i0.ɵɵtext(2, " Run a query to see it here. Star ");
|
|
35
|
-
i0.ɵɵelement(3, "i",
|
|
34
|
+
i0.ɵɵelement(3, "i", 49);
|
|
36
35
|
i0.ɵɵtext(4, " to keep it. ");
|
|
37
36
|
i0.ɵɵelementEnd();
|
|
38
37
|
} }
|
|
39
|
-
function
|
|
38
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
40
39
|
i0.ɵɵelementStart(0, "span");
|
|
41
40
|
i0.ɵɵtext(1, "\u00B7");
|
|
42
41
|
i0.ɵɵelementEnd();
|
|
@@ -48,28 +47,28 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_11_Conditional_6_For
|
|
|
48
47
|
i0.ɵɵadvance(3);
|
|
49
48
|
i0.ɵɵtextInterpolate1("", h_r5.durationMs, "ms");
|
|
50
49
|
} }
|
|
51
|
-
function
|
|
50
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
52
51
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
53
|
-
i0.ɵɵelementStart(0, "button",
|
|
54
|
-
i0.ɵɵlistener("click", function
|
|
55
|
-
i0.ɵɵelementStart(1, "div",
|
|
56
|
-
i0.ɵɵelement(2, "i",
|
|
57
|
-
i0.ɵɵelementStart(3, "span",
|
|
52
|
+
i0.ɵɵelementStart(0, "button", 51);
|
|
53
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_For_2_Template_button_click_0_listener() { const h_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.OnRestoreHistory(h_r5)); });
|
|
54
|
+
i0.ɵɵelementStart(1, "div", 52);
|
|
55
|
+
i0.ɵɵelement(2, "i", 53);
|
|
56
|
+
i0.ɵɵelementStart(3, "span", 54);
|
|
58
57
|
i0.ɵɵtext(4);
|
|
59
58
|
i0.ɵɵelementEnd();
|
|
60
|
-
i0.ɵɵelementStart(5, "button",
|
|
61
|
-
i0.ɵɵlistener("click", function
|
|
59
|
+
i0.ɵɵelementStart(5, "button", 55);
|
|
60
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_For_2_Template_button_click_5_listener($event) { const h_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.OnToggleFavorite(h_r5, $event)); });
|
|
62
61
|
i0.ɵɵelement(6, "i");
|
|
63
62
|
i0.ɵɵelementEnd();
|
|
64
|
-
i0.ɵɵelementStart(7, "button",
|
|
65
|
-
i0.ɵɵlistener("click", function
|
|
66
|
-
i0.ɵɵelement(8, "i",
|
|
63
|
+
i0.ɵɵelementStart(7, "button", 56);
|
|
64
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_For_2_Template_button_click_7_listener($event) { const h_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.OnDeleteHistory(h_r5, $event)); });
|
|
65
|
+
i0.ɵɵelement(8, "i", 57);
|
|
67
66
|
i0.ɵɵelementEnd()();
|
|
68
|
-
i0.ɵɵelementStart(9, "div",
|
|
67
|
+
i0.ɵɵelementStart(9, "div", 58)(10, "span");
|
|
69
68
|
i0.ɵɵtext(11);
|
|
70
69
|
i0.ɵɵpipe(12, "date");
|
|
71
70
|
i0.ɵɵelementEnd();
|
|
72
|
-
i0.ɵɵconditionalCreate(13,
|
|
71
|
+
i0.ɵɵconditionalCreate(13, GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_For_2_Conditional_13_Template, 4, 1);
|
|
73
72
|
i0.ɵɵelementEnd()();
|
|
74
73
|
} if (rf & 2) {
|
|
75
74
|
const h_r5 = ctx.$implicit;
|
|
@@ -87,25 +86,25 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_11_Conditional_6_For
|
|
|
87
86
|
i0.ɵɵadvance(2);
|
|
88
87
|
i0.ɵɵconditional(h_r5.durationMs != null ? 13 : -1);
|
|
89
88
|
} }
|
|
90
|
-
function
|
|
91
|
-
i0.ɵɵelementStart(0, "div",
|
|
92
|
-
i0.ɵɵrepeaterCreate(1,
|
|
89
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelementStart(0, "div", 47);
|
|
91
|
+
i0.ɵɵrepeaterCreate(1, GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_For_2_Template, 14, 23, "button", 50, i0.ɵɵcomponentInstance().TrackByHistory, true);
|
|
93
92
|
i0.ɵɵelementEnd();
|
|
94
93
|
} if (rf & 2) {
|
|
95
94
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
96
95
|
i0.ɵɵadvance();
|
|
97
96
|
i0.ɵɵrepeater(ctx_r0.History);
|
|
98
97
|
} }
|
|
99
|
-
function
|
|
98
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
100
99
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
101
|
-
i0.ɵɵelementStart(0, "div",
|
|
100
|
+
i0.ɵɵelementStart(0, "div", 44)(1, "span");
|
|
102
101
|
i0.ɵɵtext(2);
|
|
103
102
|
i0.ɵɵelementEnd();
|
|
104
|
-
i0.ɵɵelementStart(3, "button",
|
|
105
|
-
i0.ɵɵlistener("click", function
|
|
106
|
-
i0.ɵɵelement(4, "i",
|
|
103
|
+
i0.ɵɵelementStart(3, "button", 45);
|
|
104
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_11_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.OnClearHistory()); });
|
|
105
|
+
i0.ɵɵelement(4, "i", 16);
|
|
107
106
|
i0.ɵɵelementEnd()();
|
|
108
|
-
i0.ɵɵconditionalCreate(5,
|
|
107
|
+
i0.ɵɵconditionalCreate(5, GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_5_Template, 5, 0, "div", 46)(6, GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_Template, 3, 0, "div", 47);
|
|
109
108
|
} if (rf & 2) {
|
|
110
109
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
111
110
|
i0.ɵɵadvance(2);
|
|
@@ -113,8 +112,8 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_11_Template(rf, ctx)
|
|
|
113
112
|
i0.ɵɵadvance(3);
|
|
114
113
|
i0.ɵɵconditional(ctx_r0.History.length === 0 ? 5 : 6);
|
|
115
114
|
} }
|
|
116
|
-
function
|
|
117
|
-
i0.ɵɵelementStart(0, "option",
|
|
115
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_4_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
i0.ɵɵelementStart(0, "option", 71);
|
|
118
117
|
i0.ɵɵtext(1);
|
|
119
118
|
i0.ɵɵelementEnd();
|
|
120
119
|
} if (rf & 2) {
|
|
@@ -123,14 +122,14 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_12_Conditional_4_For
|
|
|
123
122
|
i0.ɵɵadvance();
|
|
124
123
|
i0.ɵɵtextInterpolate(s_r8);
|
|
125
124
|
} }
|
|
126
|
-
function
|
|
125
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
127
126
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
128
|
-
i0.ɵɵelementStart(0, "select",
|
|
129
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
130
|
-
i0.ɵɵelementStart(1, "option",
|
|
127
|
+
i0.ɵɵelementStart(0, "select", 69);
|
|
128
|
+
i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_4_Template_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r0.EntitySchemaFilter, $event) || (ctx_r0.EntitySchemaFilter = $event); return i0.ɵɵresetView($event); });
|
|
129
|
+
i0.ɵɵelementStart(1, "option", 70);
|
|
131
130
|
i0.ɵɵtext(2);
|
|
132
131
|
i0.ɵɵelementEnd();
|
|
133
|
-
i0.ɵɵrepeaterCreate(3,
|
|
132
|
+
i0.ɵɵrepeaterCreate(3, GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_4_For_4_Template, 2, 2, "option", 71, i0.ɵɵrepeaterTrackByIdentity);
|
|
134
133
|
i0.ɵɵelementEnd();
|
|
135
134
|
} if (rf & 2) {
|
|
136
135
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
@@ -140,32 +139,32 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_12_Conditional_4_Tem
|
|
|
140
139
|
i0.ɵɵadvance();
|
|
141
140
|
i0.ɵɵrepeater(ctx_r0.KnownSchemas);
|
|
142
141
|
} }
|
|
143
|
-
function
|
|
142
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
144
143
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
145
|
-
i0.ɵɵelementStart(0, "button",
|
|
146
|
-
i0.ɵɵlistener("click", function
|
|
147
|
-
i0.ɵɵelement(1, "i",
|
|
144
|
+
i0.ɵɵelementStart(0, "button", 89);
|
|
145
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_7_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r12); const item_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnEntityOp(item_r10, "create", $event)); });
|
|
146
|
+
i0.ɵɵelement(1, "i", 90);
|
|
148
147
|
i0.ɵɵtext(2, " Create ");
|
|
149
148
|
i0.ɵɵelementEnd();
|
|
150
149
|
} }
|
|
151
|
-
function
|
|
150
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
152
151
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
153
|
-
i0.ɵɵelementStart(0, "button",
|
|
154
|
-
i0.ɵɵlistener("click", function
|
|
155
|
-
i0.ɵɵelement(1, "i",
|
|
152
|
+
i0.ɵɵelementStart(0, "button", 91);
|
|
153
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_8_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r13); const item_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnEntityOp(item_r10, "update", $event)); });
|
|
154
|
+
i0.ɵɵelement(1, "i", 92);
|
|
156
155
|
i0.ɵɵtext(2, " Update ");
|
|
157
156
|
i0.ɵɵelementEnd();
|
|
158
157
|
} }
|
|
159
|
-
function
|
|
158
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
160
159
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
161
|
-
i0.ɵɵelementStart(0, "button",
|
|
162
|
-
i0.ɵɵlistener("click", function
|
|
163
|
-
i0.ɵɵelement(1, "i",
|
|
160
|
+
i0.ɵɵelementStart(0, "button", 93);
|
|
161
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_9_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r14); const item_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnEntityOp(item_r10, "delete", $event)); });
|
|
162
|
+
i0.ɵɵelement(1, "i", 94);
|
|
164
163
|
i0.ɵɵtext(2, " Delete ");
|
|
165
164
|
i0.ɵɵelementEnd();
|
|
166
165
|
} }
|
|
167
|
-
function
|
|
168
|
-
i0.ɵɵelementStart(0, "div",
|
|
166
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
+
i0.ɵɵelementStart(0, "div", 88);
|
|
169
168
|
i0.ɵɵtext(1);
|
|
170
169
|
i0.ɵɵelementEnd();
|
|
171
170
|
} if (rf & 2) {
|
|
@@ -173,23 +172,23 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditiona
|
|
|
173
172
|
i0.ɵɵadvance();
|
|
174
173
|
i0.ɵɵtextInterpolate(item_r10.info.Description);
|
|
175
174
|
} }
|
|
176
|
-
function
|
|
175
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
177
176
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
178
|
-
i0.ɵɵelementStart(0, "div",
|
|
179
|
-
i0.ɵɵlistener("click", function
|
|
180
|
-
i0.ɵɵelement(2, "i",
|
|
177
|
+
i0.ɵɵelementStart(0, "div", 80)(1, "button", 81);
|
|
178
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r11); const item_r10 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnEntityOp(item_r10, "view", $event)); });
|
|
179
|
+
i0.ɵɵelement(2, "i", 82);
|
|
181
180
|
i0.ɵɵtext(3, " Run view ");
|
|
182
181
|
i0.ɵɵelementEnd();
|
|
183
|
-
i0.ɵɵelementStart(4, "button",
|
|
184
|
-
i0.ɵɵlistener("click", function
|
|
185
|
-
i0.ɵɵelement(5, "i",
|
|
182
|
+
i0.ɵɵelementStart(4, "button", 83);
|
|
183
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Template_button_click_4_listener($event) { i0.ɵɵrestoreView(_r11); const item_r10 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnEntityOp(item_r10, "byId", $event)); });
|
|
184
|
+
i0.ɵɵelement(5, "i", 84);
|
|
186
185
|
i0.ɵɵtext(6, " Get by ID ");
|
|
187
186
|
i0.ɵɵelementEnd();
|
|
188
|
-
i0.ɵɵconditionalCreate(7,
|
|
189
|
-
i0.ɵɵconditionalCreate(8,
|
|
190
|
-
i0.ɵɵconditionalCreate(9,
|
|
187
|
+
i0.ɵɵconditionalCreate(7, GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_7_Template, 3, 0, "button", 85);
|
|
188
|
+
i0.ɵɵconditionalCreate(8, GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_8_Template, 3, 0, "button", 86);
|
|
189
|
+
i0.ɵɵconditionalCreate(9, GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_9_Template, 3, 0, "button", 87);
|
|
191
190
|
i0.ɵɵelementEnd();
|
|
192
|
-
i0.ɵɵconditionalCreate(10,
|
|
191
|
+
i0.ɵɵconditionalCreate(10, GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Conditional_10_Template, 2, 1, "div", 88);
|
|
193
192
|
} if (rf & 2) {
|
|
194
193
|
const item_r10 = i0.ɵɵnextContext().$implicit;
|
|
195
194
|
i0.ɵɵadvance(7);
|
|
@@ -201,21 +200,21 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditiona
|
|
|
201
200
|
i0.ɵɵadvance();
|
|
202
201
|
i0.ɵɵconditional(item_r10.info.Description ? 10 : -1);
|
|
203
202
|
} }
|
|
204
|
-
function
|
|
203
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Template(rf, ctx) { if (rf & 1) {
|
|
205
204
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
206
|
-
i0.ɵɵelementStart(0, "div",
|
|
207
|
-
i0.ɵɵlistener("click", function
|
|
208
|
-
i0.ɵɵelement(2, "i",
|
|
209
|
-
i0.ɵɵelementStart(3, "div",
|
|
205
|
+
i0.ɵɵelementStart(0, "div", 72)(1, "button", 73);
|
|
206
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Template_button_click_1_listener() { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.ToggleEntity(item_r10)); });
|
|
207
|
+
i0.ɵɵelement(2, "i", 74);
|
|
208
|
+
i0.ɵɵelementStart(3, "div", 75)(4, "div", 76);
|
|
210
209
|
i0.ɵɵtext(5);
|
|
211
210
|
i0.ɵɵelementEnd();
|
|
212
|
-
i0.ɵɵelementStart(6, "div",
|
|
211
|
+
i0.ɵɵelementStart(6, "div", 77)(7, "code", 78);
|
|
213
212
|
i0.ɵɵtext(8);
|
|
214
213
|
i0.ɵɵelementEnd();
|
|
215
|
-
i0.ɵɵelementStart(9, "span",
|
|
214
|
+
i0.ɵɵelementStart(9, "span", 79);
|
|
216
215
|
i0.ɵɵtext(10);
|
|
217
216
|
i0.ɵɵelementEnd()()()();
|
|
218
|
-
i0.ɵɵconditionalCreate(11,
|
|
217
|
+
i0.ɵɵconditionalCreate(11, GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditional_11_Template, 11, 4);
|
|
219
218
|
i0.ɵɵelementEnd();
|
|
220
219
|
} if (rf & 2) {
|
|
221
220
|
const item_r10 = ctx.$implicit;
|
|
@@ -231,44 +230,44 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Template(r
|
|
|
231
230
|
i0.ɵɵadvance();
|
|
232
231
|
i0.ɵɵconditional(item_r10.expanded ? 11 : -1);
|
|
233
232
|
} }
|
|
234
|
-
function
|
|
233
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_13_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
235
234
|
const _r15 = i0.ɵɵgetCurrentView();
|
|
236
|
-
i0.ɵɵelementStart(0, "button",
|
|
237
|
-
i0.ɵɵlistener("click", function
|
|
235
|
+
i0.ɵɵelementStart(0, "button", 97);
|
|
236
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_13_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.ClearEntityFilters()); });
|
|
238
237
|
i0.ɵɵtext(1, " Clear filters ");
|
|
239
238
|
i0.ɵɵelementEnd();
|
|
240
239
|
} }
|
|
241
|
-
function
|
|
242
|
-
i0.ɵɵelementStart(0, "div",
|
|
243
|
-
i0.ɵɵelement(1, "i",
|
|
240
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
241
|
+
i0.ɵɵelementStart(0, "div", 68);
|
|
242
|
+
i0.ɵɵelement(1, "i", 95);
|
|
244
243
|
i0.ɵɵelementStart(2, "span");
|
|
245
244
|
i0.ɵɵtext(3, "No entities match.");
|
|
246
245
|
i0.ɵɵelementEnd();
|
|
247
|
-
i0.ɵɵconditionalCreate(4,
|
|
246
|
+
i0.ɵɵconditionalCreate(4, GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_13_Conditional_4_Template, 2, 0, "button", 96);
|
|
248
247
|
i0.ɵɵelementEnd();
|
|
249
248
|
} if (rf & 2) {
|
|
250
249
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
251
250
|
i0.ɵɵadvance(4);
|
|
252
251
|
i0.ɵɵconditional(ctx_r0.EntitiesSearch || ctx_r0.EntitySchemaFilter ? 4 : -1);
|
|
253
252
|
} }
|
|
254
|
-
function
|
|
253
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
255
254
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
256
|
-
i0.ɵɵelementStart(0, "div",
|
|
257
|
-
i0.ɵɵelement(2, "i",
|
|
258
|
-
i0.ɵɵelementStart(3, "input",
|
|
259
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
255
|
+
i0.ɵɵelementStart(0, "div", 59)(1, "div", 60);
|
|
256
|
+
i0.ɵɵelement(2, "i", 61);
|
|
257
|
+
i0.ɵɵelementStart(3, "input", 62);
|
|
258
|
+
i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_12_Conditional_12_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.EntitiesSearch, $event) || (ctx_r0.EntitiesSearch = $event); return i0.ɵɵresetView($event); });
|
|
260
259
|
i0.ɵɵelementEnd()();
|
|
261
|
-
i0.ɵɵconditionalCreate(4,
|
|
260
|
+
i0.ɵɵconditionalCreate(4, GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_4_Template, 5, 2, "select", 63);
|
|
262
261
|
i0.ɵɵelementEnd();
|
|
263
|
-
i0.ɵɵelementStart(5, "div",
|
|
262
|
+
i0.ɵɵelementStart(5, "div", 64)(6, "span");
|
|
264
263
|
i0.ɵɵtext(7);
|
|
265
264
|
i0.ɵɵelementEnd();
|
|
266
|
-
i0.ɵɵelementStart(8, "span",
|
|
265
|
+
i0.ɵɵelementStart(8, "span", 65);
|
|
267
266
|
i0.ɵɵtext(9, "Click an entity to see operations");
|
|
268
267
|
i0.ɵɵelementEnd()();
|
|
269
|
-
i0.ɵɵelementStart(10, "div",
|
|
270
|
-
i0.ɵɵrepeaterCreate(11,
|
|
271
|
-
i0.ɵɵconditionalCreate(13,
|
|
268
|
+
i0.ɵɵelementStart(10, "div", 66);
|
|
269
|
+
i0.ɵɵrepeaterCreate(11, GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Template, 12, 8, "div", 67, i0.ɵɵcomponentInstance().TrackByEntity, true);
|
|
270
|
+
i0.ɵɵconditionalCreate(13, GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_13_Template, 5, 1, "div", 68);
|
|
272
271
|
i0.ɵɵelementEnd();
|
|
273
272
|
} if (rf & 2) {
|
|
274
273
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
@@ -283,24 +282,24 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_12_Template(rf, ctx)
|
|
|
283
282
|
i0.ɵɵadvance(2);
|
|
284
283
|
i0.ɵɵconditional(ctx_r0.FilteredEntities.length === 0 ? 13 : -1);
|
|
285
284
|
} }
|
|
286
|
-
function
|
|
285
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
287
286
|
const _r17 = i0.ɵɵgetCurrentView();
|
|
288
|
-
i0.ɵɵelementStart(0, "div",
|
|
289
|
-
i0.ɵɵlistener("click", function
|
|
287
|
+
i0.ɵɵelementStart(0, "div", 104)(1, "button", 109);
|
|
288
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_6_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r17); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.SchemaKindFilter = "all"); });
|
|
290
289
|
i0.ɵɵtext(2, " All ");
|
|
291
290
|
i0.ɵɵelementStart(3, "span");
|
|
292
291
|
i0.ɵɵtext(4);
|
|
293
292
|
i0.ɵɵelementEnd()();
|
|
294
|
-
i0.ɵɵelementStart(5, "button",
|
|
295
|
-
i0.ɵɵlistener("click", function
|
|
296
|
-
i0.ɵɵelement(6, "i",
|
|
293
|
+
i0.ɵɵelementStart(5, "button", 110);
|
|
294
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_6_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r17); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.SchemaKindFilter = "query"); });
|
|
295
|
+
i0.ɵɵelement(6, "i", 82);
|
|
297
296
|
i0.ɵɵtext(7, " Query ");
|
|
298
297
|
i0.ɵɵelementStart(8, "span");
|
|
299
298
|
i0.ɵɵtext(9);
|
|
300
299
|
i0.ɵɵelementEnd()();
|
|
301
|
-
i0.ɵɵelementStart(10, "button",
|
|
302
|
-
i0.ɵɵlistener("click", function
|
|
303
|
-
i0.ɵɵelement(11, "i",
|
|
300
|
+
i0.ɵɵelementStart(10, "button", 111);
|
|
301
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_6_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r17); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.SchemaKindFilter = "mutation"); });
|
|
302
|
+
i0.ɵɵelement(11, "i", 92);
|
|
304
303
|
i0.ɵɵtext(12, " Mutation ");
|
|
305
304
|
i0.ɵɵelementStart(13, "span");
|
|
306
305
|
i0.ɵɵtext(14);
|
|
@@ -320,30 +319,30 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_6_Tem
|
|
|
320
319
|
i0.ɵɵadvance(4);
|
|
321
320
|
i0.ɵɵtextInterpolate(ctx_r0.OperationCounts.mutation);
|
|
322
321
|
} }
|
|
323
|
-
function
|
|
324
|
-
i0.ɵɵelementStart(0, "div",
|
|
325
|
-
i0.ɵɵelement(1, "i",
|
|
322
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
323
|
+
i0.ɵɵelementStart(0, "div", 105);
|
|
324
|
+
i0.ɵɵelement(1, "i", 112);
|
|
326
325
|
i0.ɵɵelementStart(2, "span");
|
|
327
326
|
i0.ɵɵtext(3, "Introspecting schema\u2026");
|
|
328
327
|
i0.ɵɵelementEnd()();
|
|
329
328
|
} }
|
|
330
|
-
function
|
|
331
|
-
i0.ɵɵelementStart(0, "div",
|
|
332
|
-
i0.ɵɵelement(1, "i",
|
|
333
|
-
i0.ɵɵelementStart(2, "div",
|
|
329
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
330
|
+
i0.ɵɵelementStart(0, "div", 106);
|
|
331
|
+
i0.ɵɵelement(1, "i", 113);
|
|
332
|
+
i0.ɵɵelementStart(2, "div", 114);
|
|
334
333
|
i0.ɵɵtext(3, "Introspection disabled");
|
|
335
334
|
i0.ɵɵelementEnd();
|
|
336
|
-
i0.ɵɵelementStart(4, "div",
|
|
335
|
+
i0.ɵɵelementStart(4, "div", 115);
|
|
337
336
|
i0.ɵɵtext(5, " This server has GraphQL introspection turned off (typical in production). Schema browsing isn't available \u2014 write queries directly in the editor, or use the History tab to revisit previous queries. ");
|
|
338
337
|
i0.ɵɵelementEnd()();
|
|
339
338
|
} }
|
|
340
|
-
function
|
|
341
|
-
i0.ɵɵelementStart(0, "div",
|
|
342
|
-
i0.ɵɵelement(1, "i",
|
|
343
|
-
i0.ɵɵelementStart(2, "div",
|
|
339
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
340
|
+
i0.ɵɵelementStart(0, "div", 107);
|
|
341
|
+
i0.ɵɵelement(1, "i", 116);
|
|
342
|
+
i0.ɵɵelementStart(2, "div", 117);
|
|
344
343
|
i0.ɵɵtext(3, "Couldn't load schema");
|
|
345
344
|
i0.ɵɵelementEnd();
|
|
346
|
-
i0.ɵɵelementStart(4, "div",
|
|
345
|
+
i0.ɵɵelementStart(4, "div", 118);
|
|
347
346
|
i0.ɵɵtext(5);
|
|
348
347
|
i0.ɵɵelementEnd()();
|
|
349
348
|
} if (rf & 2) {
|
|
@@ -351,15 +350,15 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_9_Tem
|
|
|
351
350
|
i0.ɵɵadvance(5);
|
|
352
351
|
i0.ɵɵtextInterpolate(ctx_r0.SchemaError);
|
|
353
352
|
} }
|
|
354
|
-
function
|
|
355
|
-
i0.ɵɵelementStart(0, "div",
|
|
356
|
-
i0.ɵɵelement(1, "i",
|
|
353
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
354
|
+
i0.ɵɵelementStart(0, "div", 105);
|
|
355
|
+
i0.ɵɵelement(1, "i", 95);
|
|
357
356
|
i0.ɵɵelementStart(2, "span");
|
|
358
357
|
i0.ɵɵtext(3, "No operations match.");
|
|
359
358
|
i0.ɵɵelementEnd()();
|
|
360
359
|
} }
|
|
361
|
-
function
|
|
362
|
-
i0.ɵɵelementStart(0, "div",
|
|
360
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
361
|
+
i0.ɵɵelementStart(0, "div", 124);
|
|
363
362
|
i0.ɵɵtext(1);
|
|
364
363
|
i0.ɵɵelementEnd();
|
|
365
364
|
} if (rf & 2) {
|
|
@@ -367,8 +366,8 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_Fo
|
|
|
367
366
|
i0.ɵɵadvance();
|
|
368
367
|
i0.ɵɵtextInterpolate1("(", op_r19.argSummary, ")");
|
|
369
368
|
} }
|
|
370
|
-
function
|
|
371
|
-
i0.ɵɵelementStart(0, "div",
|
|
369
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
370
|
+
i0.ɵɵelementStart(0, "div", 127);
|
|
372
371
|
i0.ɵɵtext(1);
|
|
373
372
|
i0.ɵɵelementEnd();
|
|
374
373
|
} if (rf & 2) {
|
|
@@ -376,22 +375,22 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_Fo
|
|
|
376
375
|
i0.ɵɵadvance();
|
|
377
376
|
i0.ɵɵtextInterpolate(op_r19.description);
|
|
378
377
|
} }
|
|
379
|
-
function
|
|
378
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
380
379
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
381
|
-
i0.ɵɵelementStart(0, "button",
|
|
382
|
-
i0.ɵɵlistener("click", function
|
|
383
|
-
i0.ɵɵelementStart(1, "div",
|
|
380
|
+
i0.ɵɵelementStart(0, "button", 120);
|
|
381
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_For_2_Template_button_click_0_listener($event) { const op_r19 = i0.ɵɵrestoreView(_r18).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.OnInsertOperation(op_r19, $event)); });
|
|
382
|
+
i0.ɵɵelementStart(1, "div", 121)(2, "span", 122);
|
|
384
383
|
i0.ɵɵtext(3);
|
|
385
384
|
i0.ɵɵelementEnd();
|
|
386
|
-
i0.ɵɵelementStart(4, "span",
|
|
385
|
+
i0.ɵɵelementStart(4, "span", 123);
|
|
387
386
|
i0.ɵɵtext(5);
|
|
388
387
|
i0.ɵɵelementEnd()();
|
|
389
|
-
i0.ɵɵconditionalCreate(6,
|
|
390
|
-
i0.ɵɵelementStart(7, "div",
|
|
391
|
-
i0.ɵɵelement(8, "i",
|
|
388
|
+
i0.ɵɵconditionalCreate(6, GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_For_2_Conditional_6_Template, 2, 1, "div", 124);
|
|
389
|
+
i0.ɵɵelementStart(7, "div", 125);
|
|
390
|
+
i0.ɵɵelement(8, "i", 126);
|
|
392
391
|
i0.ɵɵtext(9);
|
|
393
392
|
i0.ɵɵelementEnd();
|
|
394
|
-
i0.ɵɵconditionalCreate(10,
|
|
393
|
+
i0.ɵɵconditionalCreate(10, GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_For_2_Conditional_10_Template, 2, 1, "div", 127);
|
|
395
394
|
i0.ɵɵelementEnd();
|
|
396
395
|
} if (rf & 2) {
|
|
397
396
|
const op_r19 = ctx.$implicit;
|
|
@@ -408,28 +407,28 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_Fo
|
|
|
408
407
|
i0.ɵɵadvance();
|
|
409
408
|
i0.ɵɵconditional(op_r19.description ? 10 : -1);
|
|
410
409
|
} }
|
|
411
|
-
function
|
|
412
|
-
i0.ɵɵelementStart(0, "div",
|
|
413
|
-
i0.ɵɵrepeaterCreate(1,
|
|
410
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
411
|
+
i0.ɵɵelementStart(0, "div", 108);
|
|
412
|
+
i0.ɵɵrepeaterCreate(1, GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_For_2_Template, 11, 8, "button", 119, i0.ɵɵcomponentInstance().TrackByOp, true);
|
|
414
413
|
i0.ɵɵelementEnd();
|
|
415
414
|
} if (rf & 2) {
|
|
416
415
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
417
416
|
i0.ɵɵadvance();
|
|
418
417
|
i0.ɵɵrepeater(ctx_r0.FilteredOperations);
|
|
419
418
|
} }
|
|
420
|
-
function
|
|
419
|
+
function GraphQLConsoleComponent_Conditional_12_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
421
420
|
const _r16 = i0.ɵɵgetCurrentView();
|
|
422
|
-
i0.ɵɵelementStart(0, "div",
|
|
423
|
-
i0.ɵɵelement(2, "i",
|
|
424
|
-
i0.ɵɵelementStart(3, "input",
|
|
425
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
421
|
+
i0.ɵɵelementStart(0, "div", 98)(1, "div", 99);
|
|
422
|
+
i0.ɵɵelement(2, "i", 100);
|
|
423
|
+
i0.ɵɵelementStart(3, "input", 101);
|
|
424
|
+
i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_12_Conditional_13_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.SchemaSearch, $event) || (ctx_r0.SchemaSearch = $event); return i0.ɵɵresetView($event); });
|
|
426
425
|
i0.ɵɵelementEnd()();
|
|
427
|
-
i0.ɵɵelementStart(4, "button",
|
|
428
|
-
i0.ɵɵlistener("click", function
|
|
429
|
-
i0.ɵɵelement(5, "i",
|
|
426
|
+
i0.ɵɵelementStart(4, "button", 102);
|
|
427
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Conditional_13_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r16); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.OnReloadSchema()); });
|
|
428
|
+
i0.ɵɵelement(5, "i", 103);
|
|
430
429
|
i0.ɵɵelementEnd()();
|
|
431
|
-
i0.ɵɵconditionalCreate(6,
|
|
432
|
-
i0.ɵɵconditionalCreate(7,
|
|
430
|
+
i0.ɵɵconditionalCreate(6, GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_6_Template, 15, 9, "div", 104);
|
|
431
|
+
i0.ɵɵconditionalCreate(7, GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_7_Template, 4, 0, "div", 105)(8, GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_8_Template, 6, 0, "div", 106)(9, GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_9_Template, 6, 1, "div", 107)(10, GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_10_Template, 4, 0, "div", 105)(11, GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_Template, 3, 0, "div", 108);
|
|
433
432
|
} if (rf & 2) {
|
|
434
433
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
435
434
|
i0.ɵɵadvance(3);
|
|
@@ -443,27 +442,27 @@ function GraphQLConsoleComponent_Conditional_19_Conditional_13_Template(rf, ctx)
|
|
|
443
442
|
i0.ɵɵadvance();
|
|
444
443
|
i0.ɵɵconditional(ctx_r0.SchemaLoading ? 7 : ctx_r0.SchemaIntrospectionDisabled ? 8 : ctx_r0.SchemaError ? 9 : ctx_r0.FilteredOperations.length === 0 ? 10 : 11);
|
|
445
444
|
} }
|
|
446
|
-
function
|
|
445
|
+
function GraphQLConsoleComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
447
446
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
448
|
-
i0.ɵɵelementStart(0, "aside",
|
|
449
|
-
i0.ɵɵlistener("click", function
|
|
450
|
-
i0.ɵɵelement(3, "i",
|
|
447
|
+
i0.ɵɵelementStart(0, "aside", 37)(1, "div", 38)(2, "button", 39);
|
|
448
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSidebarTabChange("history")); });
|
|
449
|
+
i0.ɵɵelement(3, "i", 40);
|
|
451
450
|
i0.ɵɵtext(4, " History ");
|
|
452
451
|
i0.ɵɵelementEnd();
|
|
453
|
-
i0.ɵɵelementStart(5, "button",
|
|
454
|
-
i0.ɵɵlistener("click", function
|
|
455
|
-
i0.ɵɵelement(6, "i",
|
|
452
|
+
i0.ɵɵelementStart(5, "button", 39);
|
|
453
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSidebarTabChange("entities")); });
|
|
454
|
+
i0.ɵɵelement(6, "i", 41);
|
|
456
455
|
i0.ɵɵtext(7, " Entities ");
|
|
457
456
|
i0.ɵɵelementEnd();
|
|
458
|
-
i0.ɵɵelementStart(8, "button",
|
|
459
|
-
i0.ɵɵlistener("click", function
|
|
460
|
-
i0.ɵɵelement(9, "i",
|
|
457
|
+
i0.ɵɵelementStart(8, "button", 39);
|
|
458
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_12_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSidebarTabChange("schema")); });
|
|
459
|
+
i0.ɵɵelement(9, "i", 42);
|
|
461
460
|
i0.ɵɵtext(10, " Schema ");
|
|
462
461
|
i0.ɵɵelementEnd()();
|
|
463
|
-
i0.ɵɵconditionalCreate(11,
|
|
462
|
+
i0.ɵɵconditionalCreate(11, GraphQLConsoleComponent_Conditional_12_Conditional_11_Template, 7, 3)(12, GraphQLConsoleComponent_Conditional_12_Conditional_12_Template, 14, 5)(13, GraphQLConsoleComponent_Conditional_12_Conditional_13_Template, 12, 10);
|
|
464
463
|
i0.ɵɵelementEnd();
|
|
465
|
-
i0.ɵɵelementStart(14, "div",
|
|
466
|
-
i0.ɵɵlistener("mousedown", function
|
|
464
|
+
i0.ɵɵelementStart(14, "div", 43);
|
|
465
|
+
i0.ɵɵlistener("mousedown", function GraphQLConsoleComponent_Conditional_12_Template_div_mousedown_14_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSplitterDown($event, "sidebar")); });
|
|
467
466
|
i0.ɵɵelementEnd();
|
|
468
467
|
} if (rf & 2) {
|
|
469
468
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -477,44 +476,44 @@ function GraphQLConsoleComponent_Conditional_19_Template(rf, ctx) { if (rf & 1)
|
|
|
477
476
|
i0.ɵɵadvance(3);
|
|
478
477
|
i0.ɵɵconditional(ctx_r0.SidebarTab === "history" ? 11 : ctx_r0.SidebarTab === "entities" ? 12 : 13);
|
|
479
478
|
} }
|
|
480
|
-
function
|
|
481
|
-
i0.ɵɵelementStart(0, "span",
|
|
479
|
+
function GraphQLConsoleComponent_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
480
|
+
i0.ɵɵelementStart(0, "span", 24);
|
|
482
481
|
i0.ɵɵtext(1, "configured");
|
|
483
482
|
i0.ɵɵelementEnd();
|
|
484
483
|
} }
|
|
485
|
-
function
|
|
484
|
+
function GraphQLConsoleComponent_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
486
485
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
487
|
-
i0.ɵɵelementStart(0, "mj-code-editor",
|
|
488
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
486
|
+
i0.ɵɵelementStart(0, "mj-code-editor", 128);
|
|
487
|
+
i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_33_Template_mj_code_editor_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.Variables, $event) || (ctx_r0.Variables = $event); return i0.ɵɵresetView($event); });
|
|
489
488
|
i0.ɵɵelementEnd();
|
|
490
489
|
} if (rf & 2) {
|
|
491
490
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
492
491
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Variables);
|
|
493
492
|
i0.ɵɵproperty("language", "json")("lineWrapping", true);
|
|
494
493
|
} }
|
|
495
|
-
function
|
|
496
|
-
i0.ɵɵelement(0, "i",
|
|
494
|
+
function GraphQLConsoleComponent_Conditional_36_Template(rf, ctx) { if (rf & 1) {
|
|
495
|
+
i0.ɵɵelement(0, "i", 112);
|
|
497
496
|
i0.ɵɵtext(1, " Running\u2026 ");
|
|
498
497
|
} }
|
|
499
|
-
function
|
|
500
|
-
i0.ɵɵelement(0, "i",
|
|
498
|
+
function GraphQLConsoleComponent_Conditional_37_Template(rf, ctx) { if (rf & 1) {
|
|
499
|
+
i0.ɵɵelement(0, "i", 129);
|
|
501
500
|
i0.ɵɵtext(1, " Run ");
|
|
502
501
|
} }
|
|
503
|
-
function
|
|
504
|
-
i0.ɵɵelementStart(0, "span",
|
|
505
|
-
i0.ɵɵelement(1, "i",
|
|
502
|
+
function GraphQLConsoleComponent_Conditional_38_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
503
|
+
i0.ɵɵelementStart(0, "span", 130);
|
|
504
|
+
i0.ɵɵelement(1, "i", 133);
|
|
506
505
|
i0.ɵɵtext(2, " 200 OK ");
|
|
507
506
|
i0.ɵɵelementEnd();
|
|
508
507
|
} }
|
|
509
|
-
function
|
|
510
|
-
i0.ɵɵelementStart(0, "span",
|
|
511
|
-
i0.ɵɵelement(1, "i",
|
|
508
|
+
function GraphQLConsoleComponent_Conditional_38_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
509
|
+
i0.ɵɵelementStart(0, "span", 131);
|
|
510
|
+
i0.ɵɵelement(1, "i", 116);
|
|
512
511
|
i0.ɵɵtext(2, " Error ");
|
|
513
512
|
i0.ɵɵelementEnd();
|
|
514
513
|
} }
|
|
515
|
-
function
|
|
516
|
-
i0.ɵɵelementStart(0, "span",
|
|
517
|
-
i0.ɵɵelement(1, "i",
|
|
514
|
+
function GraphQLConsoleComponent_Conditional_38_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
515
|
+
i0.ɵɵelementStart(0, "span", 132);
|
|
516
|
+
i0.ɵɵelement(1, "i", 134);
|
|
518
517
|
i0.ɵɵtext(2);
|
|
519
518
|
i0.ɵɵelementEnd();
|
|
520
519
|
} if (rf & 2) {
|
|
@@ -522,9 +521,9 @@ function GraphQLConsoleComponent_Conditional_45_Conditional_3_Template(rf, ctx)
|
|
|
522
521
|
i0.ɵɵadvance(2);
|
|
523
522
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.ResponseDurationMs, "ms");
|
|
524
523
|
} }
|
|
525
|
-
function
|
|
526
|
-
i0.ɵɵelementStart(0, "span",
|
|
527
|
-
i0.ɵɵelement(1, "i",
|
|
524
|
+
function GraphQLConsoleComponent_Conditional_38_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
525
|
+
i0.ɵɵelementStart(0, "span", 132);
|
|
526
|
+
i0.ɵɵelement(1, "i", 135);
|
|
528
527
|
i0.ɵɵtext(2);
|
|
529
528
|
i0.ɵɵelementEnd();
|
|
530
529
|
} if (rf & 2) {
|
|
@@ -532,11 +531,11 @@ function GraphQLConsoleComponent_Conditional_45_Conditional_4_Template(rf, ctx)
|
|
|
532
531
|
i0.ɵɵadvance(2);
|
|
533
532
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.FormattedSize);
|
|
534
533
|
} }
|
|
535
|
-
function
|
|
536
|
-
i0.ɵɵelementStart(0, "div",
|
|
537
|
-
i0.ɵɵconditionalCreate(1,
|
|
538
|
-
i0.ɵɵconditionalCreate(3,
|
|
539
|
-
i0.ɵɵconditionalCreate(4,
|
|
534
|
+
function GraphQLConsoleComponent_Conditional_38_Template(rf, ctx) { if (rf & 1) {
|
|
535
|
+
i0.ɵɵelementStart(0, "div", 28);
|
|
536
|
+
i0.ɵɵconditionalCreate(1, GraphQLConsoleComponent_Conditional_38_Conditional_1_Template, 3, 0, "span", 130)(2, GraphQLConsoleComponent_Conditional_38_Conditional_2_Template, 3, 0, "span", 131);
|
|
537
|
+
i0.ɵɵconditionalCreate(3, GraphQLConsoleComponent_Conditional_38_Conditional_3_Template, 3, 1, "span", 132);
|
|
538
|
+
i0.ɵɵconditionalCreate(4, GraphQLConsoleComponent_Conditional_38_Conditional_4_Template, 3, 1, "span", 132);
|
|
540
539
|
i0.ɵɵelementEnd();
|
|
541
540
|
} if (rf & 2) {
|
|
542
541
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -547,24 +546,24 @@ function GraphQLConsoleComponent_Conditional_45_Template(rf, ctx) { if (rf & 1)
|
|
|
547
546
|
i0.ɵɵadvance();
|
|
548
547
|
i0.ɵɵconditional(ctx_r0.ResponseSizeBytes != null ? 4 : -1);
|
|
549
548
|
} }
|
|
550
|
-
function
|
|
549
|
+
function GraphQLConsoleComponent_Conditional_40_Template(rf, ctx) { if (rf & 1) {
|
|
551
550
|
const _r21 = i0.ɵɵgetCurrentView();
|
|
552
|
-
i0.ɵɵelementStart(0, "button",
|
|
553
|
-
i0.ɵɵlistener("click", function
|
|
554
|
-
i0.ɵɵelement(1, "i",
|
|
551
|
+
i0.ɵɵelementStart(0, "button", 136);
|
|
552
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_40_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnCopyResponse()); });
|
|
553
|
+
i0.ɵɵelement(1, "i", 137);
|
|
555
554
|
i0.ɵɵtext(2);
|
|
556
555
|
i0.ɵɵelementEnd();
|
|
557
556
|
} if (rf & 2) {
|
|
558
557
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
559
|
-
i0.ɵɵ
|
|
558
|
+
i0.ɵɵproperty("variant", ctx_r0.CopyConfirmed ? "success" : "secondary");
|
|
560
559
|
i0.ɵɵadvance();
|
|
561
560
|
i0.ɵɵclassProp("fa-clipboard", !ctx_r0.CopyConfirmed)("fa-check", ctx_r0.CopyConfirmed);
|
|
562
561
|
i0.ɵɵadvance();
|
|
563
562
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.CopyConfirmed ? "Copied" : "Copy", " ");
|
|
564
563
|
} }
|
|
565
|
-
function
|
|
566
|
-
i0.ɵɵelementStart(0, "div",
|
|
567
|
-
i0.ɵɵelement(1, "i",
|
|
564
|
+
function GraphQLConsoleComponent_Conditional_45_Template(rf, ctx) { if (rf & 1) {
|
|
565
|
+
i0.ɵɵelementStart(0, "div", 33);
|
|
566
|
+
i0.ɵɵelement(1, "i", 116);
|
|
568
567
|
i0.ɵɵelementStart(2, "span");
|
|
569
568
|
i0.ɵɵtext(3);
|
|
570
569
|
i0.ɵɵelementEnd()();
|
|
@@ -573,9 +572,9 @@ function GraphQLConsoleComponent_Conditional_52_Template(rf, ctx) { if (rf & 1)
|
|
|
573
572
|
i0.ɵɵadvance(3);
|
|
574
573
|
i0.ɵɵtextInterpolate(ctx_r0.ErrorMessage);
|
|
575
574
|
} }
|
|
576
|
-
function
|
|
575
|
+
function GraphQLConsoleComponent_Conditional_46_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
577
576
|
i0.ɵɵelementStart(0, "div", 138);
|
|
578
|
-
i0.ɵɵelement(1, "i",
|
|
577
|
+
i0.ɵɵelement(1, "i", 116);
|
|
579
578
|
i0.ɵɵelementStart(2, "span");
|
|
580
579
|
i0.ɵɵtext(3);
|
|
581
580
|
i0.ɵɵelementEnd()();
|
|
@@ -584,8 +583,8 @@ function GraphQLConsoleComponent_Conditional_53_Conditional_0_Template(rf, ctx)
|
|
|
584
583
|
i0.ɵɵadvance(3);
|
|
585
584
|
i0.ɵɵtextInterpolate(ctx_r0.ErrorMessage);
|
|
586
585
|
} }
|
|
587
|
-
function
|
|
588
|
-
i0.ɵɵconditionalCreate(0,
|
|
586
|
+
function GraphQLConsoleComponent_Conditional_46_Template(rf, ctx) { if (rf & 1) {
|
|
587
|
+
i0.ɵɵconditionalCreate(0, GraphQLConsoleComponent_Conditional_46_Conditional_0_Template, 4, 1, "div", 138);
|
|
589
588
|
i0.ɵɵelementStart(1, "pre", 139)(2, "code");
|
|
590
589
|
i0.ɵɵtext(3);
|
|
591
590
|
i0.ɵɵelementEnd()();
|
|
@@ -595,8 +594,8 @@ function GraphQLConsoleComponent_Conditional_53_Template(rf, ctx) { if (rf & 1)
|
|
|
595
594
|
i0.ɵɵadvance(3);
|
|
596
595
|
i0.ɵɵtextInterpolate(ctx_r0.ResponseJson);
|
|
597
596
|
} }
|
|
598
|
-
function
|
|
599
|
-
i0.ɵɵelementStart(0, "div",
|
|
597
|
+
function GraphQLConsoleComponent_Conditional_47_Template(rf, ctx) { if (rf & 1) {
|
|
598
|
+
i0.ɵɵelementStart(0, "div", 34);
|
|
600
599
|
i0.ɵɵelement(1, "i", 140);
|
|
601
600
|
i0.ɵɵelementStart(2, "span");
|
|
602
601
|
i0.ɵɵtext(3, "Run a query to see results here.");
|
|
@@ -1320,79 +1319,73 @@ mutation Delete${typeName}($input: Delete${typeName}Input!) {
|
|
|
1320
1319
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.queryEditor = _t.first);
|
|
1321
1320
|
} }, hostBindings: function GraphQLConsoleComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
1322
1321
|
i0.ɵɵlistener("keydown", function GraphQLConsoleComponent_keydown_HostBindingHandler($event) { return ctx.OnHostKeydown($event); });
|
|
1323
|
-
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
1324
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "
|
|
1325
|
-
i0.ɵɵ
|
|
1326
|
-
i0.ɵɵelementEnd();
|
|
1327
|
-
i0.ɵɵelementStart(4, "div")(5, "h3", 4);
|
|
1328
|
-
i0.ɵɵtext(6, "GraphQL Console");
|
|
1322
|
+
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 48, vars: 18, consts: [[1, "mj-inspector", "mj-inspector--solo"], ["Role", "region", "AriaLabel", "GraphQL console", "Title", "GraphQL Console", "Subtitle", "Run queries against the connected MJ API"], ["meta", ""], [1, "gc-endpoint-meta"], ["actions", ""], ["mjButton", "", "variant", "secondary", "size", "sm", "title", "Toggle history sidebar", 3, "selectedChange", "toggleable", "selected"], ["aria-hidden", "true", 1, "fa-solid", "fa-clock-rotate-left"], ["mjButton", "", "variant", "secondary", "size", "sm", "title", "Copy as cURL command", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-terminal"], [1, "gc-body"], [1, "gc-main"], [1, "gc-editor-wrap"], [1, "gc-editor-head"], [1, "gc-editor-label"], [1, "gc-editor-hint"], ["type", "button", "title", "Tidy whitespace", 1, "gc-mini-btn", 3, "click"], [1, "fa-solid", "fa-broom"], ["type", "button", "title", "Clear editor", 1, "gc-mini-btn", "gc-mini-btn--danger", 3, "click"], [1, "fa-solid", "fa-eraser"], ["placeholder", "Enter your GraphQL query\u2026", 1, "gc-editor", 3, "ngModelChange", "ngModel", "language", "lineWrapping"], ["title", "Drag to resize editor / response", 1, "gc-splitter", "gc-splitter--horiz", 3, "mousedown"], [1, "gc-vars-wrap"], ["type", "button", 1, "gc-vars-toggle", 3, "click"], [1, "fa-solid", "fa-chevron-right", "gc-vars-chev"], [1, "gc-vars-pill"], ["placeholder", "{}", 1, "gc-editor", "gc-editor--vars", 3, "ngModel", "language", "lineWrapping"], [1, "gc-run-bar"], ["type", "button", 1, "gc-run-btn", 3, "click", "disabled"], [1, "gc-run-meta"], [1, "gc-spacer"], ["mjButton", "", "size", "sm", 3, "variant"], [1, "gc-response-wrap"], [1, "gc-response-head"], [1, "gc-error"], [1, "gc-empty"], ["aria-hidden", "true", 1, "fa-solid", "fa-plug"], [1, "gc-endpoint"], [1, "gc-sidebar"], [1, "gc-sidebar-tabs"], ["type", "button", 1, "gc-sidebar-tab", 3, "click"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "fa-solid", "fa-table-list"], [1, "fa-solid", "fa-sitemap"], ["title", "Drag to resize sidebar", 1, "gc-splitter", "gc-splitter--vert", 3, "mousedown"], [1, "gc-history-head"], ["type", "button", "title", "Clear non-favorite history", 1, "gc-history-clear", 3, "click"], [1, "gc-history-empty"], [1, "gc-history-list"], [1, "fa-regular", "fa-circle-question"], [1, "fa-solid", "fa-star"], ["type", "button", 1, "gc-history-item", 3, "gc-history-item--error", "gc-history-item--fav"], ["type", "button", 1, "gc-history-item", 3, "click"], [1, "gc-history-item-head"], [1, "gc-history-status"], [1, "gc-history-label"], ["type", "button", 1, "gc-history-fav", 3, "click", "title"], ["type", "button", "title", "Remove from history", 1, "gc-history-del", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "gc-history-meta"], [1, "gc-ent-toolbar"], [1, "gc-ent-search-wrap"], [1, "fa-solid", "fa-search", "gc-ent-search-icon"], ["type", "search", "placeholder", "Search entities\u2026", 1, "gc-ent-search", 3, "ngModelChange", "ngModel"], [1, "gc-ent-schema", 3, "ngModel"], [1, "gc-ent-meta"], [1, "gc-ent-hint"], [1, "gc-ent-list"], [1, "gc-ent-card", 3, "gc-ent-card--expanded"], [1, "gc-ent-empty"], [1, "gc-ent-schema", 3, "ngModelChange", "ngModel"], ["value", ""], [3, "value"], [1, "gc-ent-card"], ["type", "button", 1, "gc-ent-row", 3, "click"], [1, "fa-solid", "fa-chevron-right", "gc-ent-chev"], [1, "gc-ent-info"], [1, "gc-ent-name"], [1, "gc-ent-meta-row"], [1, "gc-ent-typename"], [1, "gc-ent-schema-badge"], [1, "gc-ent-actions"], ["type", "button", "title", "Insert a Run View template (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--read", 3, "click"], [1, "fa-solid", "fa-magnifying-glass"], ["type", "button", "title", "Fetch a single record by ID (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--read", 3, "click"], [1, "fa-solid", "fa-fingerprint"], ["type", "button", "title", "Create a new record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--write"], ["type", "button", "title", "Update an existing record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--write"], ["type", "button", "title", "Delete a record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--danger"], [1, "gc-ent-desc"], ["type", "button", "title", "Create a new record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--write", 3, "click"], [1, "fa-solid", "fa-plus"], ["type", "button", "title", "Update an existing record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--write", 3, "click"], [1, "fa-solid", "fa-pen"], ["type", "button", "title", "Delete a record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "fa-solid", "fa-search"], ["type", "button", 1, "gc-ent-clear"], ["type", "button", 1, "gc-ent-clear", 3, "click"], [1, "gc-schema-toolbar"], [1, "gc-schema-search-wrap"], [1, "fa-solid", "fa-search", "gc-schema-search-icon"], ["type", "search", "placeholder", "Search operations\u2026", 1, "gc-schema-search", 3, "ngModelChange", "ngModel"], ["type", "button", "title", "Reload schema", 1, "gc-schema-reload", 3, "click", "disabled"], [1, "fa-solid"], [1, "gc-schema-kinds"], [1, "gc-schema-state"], [1, "gc-schema-state", "gc-schema-disabled"], [1, "gc-schema-state", "gc-schema-state--err"], [1, "gc-schema-list"], ["type", "button", 1, "gc-schema-kind", 3, "click"], ["type", "button", 1, "gc-schema-kind", "gc-schema-kind--query", 3, "click"], ["type", "button", 1, "gc-schema-kind", "gc-schema-kind--mutation", 3, "click"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-lock"], [1, "gc-schema-disabled-title"], [1, "gc-schema-disabled-body"], [1, "fa-solid", "fa-triangle-exclamation"], [1, "gc-schema-err-title"], [1, "gc-schema-err-body"], ["type", "button", 1, "gc-schema-op", 3, "gc-schema-op--mutation", "title"], ["type", "button", 1, "gc-schema-op", 3, "click", "title"], [1, "gc-schema-op-head"], [1, "gc-schema-op-kind"], [1, "gc-schema-op-name"], [1, "gc-schema-op-args"], [1, "gc-schema-op-return"], [1, "fa-solid", "fa-arrow-right"], [1, "gc-schema-op-desc"], ["placeholder", "{}", 1, "gc-editor", "gc-editor--vars", 3, "ngModelChange", "ngModel", "language", "lineWrapping"], [1, "fa-solid", "fa-play"], [1, "gc-status-badge", "gc-status-badge--ok"], [1, "gc-status-badge", "gc-status-badge--err"], [1, "gc-meta-pill"], [1, "fa-solid", "fa-circle-check"], [1, "fa-regular", "fa-clock"], [1, "fa-solid", "fa-database"], ["mjButton", "", "size", "sm", 3, "click", "variant"], ["aria-hidden", "true", 1, "fa-solid"], [1, "gc-error", "gc-error--inline"], [1, "gc-response"], [1, "fa-solid", "fa-arrow-up-from-bracket"]], template: function GraphQLConsoleComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1323
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "mj-page-header-interior", 1)(2, "div", 2);
|
|
1324
|
+
i0.ɵɵconditionalCreate(3, GraphQLConsoleComponent_Conditional_3_Template, 4, 1, "span", 3);
|
|
1329
1325
|
i0.ɵɵelementEnd();
|
|
1330
|
-
i0.ɵɵelementStart(
|
|
1331
|
-
i0.ɵɵ
|
|
1332
|
-
i0.ɵɵ
|
|
1333
|
-
i0.ɵɵ
|
|
1334
|
-
i0.ɵɵelementStart(11, "div", 7)(12, "button", 8);
|
|
1335
|
-
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_12_listener() { return ctx.ToggleHistoryPanel(); });
|
|
1336
|
-
i0.ɵɵelement(13, "i", 9);
|
|
1337
|
-
i0.ɵɵtext(14, " History ");
|
|
1326
|
+
i0.ɵɵelementStart(4, "div", 4)(5, "button", 5);
|
|
1327
|
+
i0.ɵɵtwoWayListener("selectedChange", function GraphQLConsoleComponent_Template_button_selectedChange_5_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.ShowHistory, $event) || (ctx.ShowHistory = $event); return $event; });
|
|
1328
|
+
i0.ɵɵelement(6, "i", 6);
|
|
1329
|
+
i0.ɵɵtext(7, " History ");
|
|
1338
1330
|
i0.ɵɵelementEnd();
|
|
1339
|
-
i0.ɵɵelementStart(
|
|
1340
|
-
i0.ɵɵlistener("click", function
|
|
1341
|
-
i0.ɵɵelement(
|
|
1342
|
-
i0.ɵɵtext(
|
|
1331
|
+
i0.ɵɵelementStart(8, "button", 7);
|
|
1332
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_8_listener() { return ctx.OnCopyAsCurl(); });
|
|
1333
|
+
i0.ɵɵelement(9, "i", 8);
|
|
1334
|
+
i0.ɵɵtext(10, " Copy cURL ");
|
|
1343
1335
|
i0.ɵɵelementEnd()()();
|
|
1344
|
-
i0.ɵɵelementStart(
|
|
1345
|
-
i0.ɵɵconditionalCreate(
|
|
1346
|
-
i0.ɵɵelementStart(
|
|
1347
|
-
i0.ɵɵtext(
|
|
1336
|
+
i0.ɵɵelementStart(11, "div", 9);
|
|
1337
|
+
i0.ɵɵconditionalCreate(12, GraphQLConsoleComponent_Conditional_12_Template, 15, 9);
|
|
1338
|
+
i0.ɵɵelementStart(13, "div", 10)(14, "div", 11)(15, "div", 12)(16, "span", 13);
|
|
1339
|
+
i0.ɵɵtext(17, "Query");
|
|
1348
1340
|
i0.ɵɵelementEnd();
|
|
1349
|
-
i0.ɵɵelementStart(
|
|
1350
|
-
i0.ɵɵtext(
|
|
1341
|
+
i0.ɵɵelementStart(18, "span", 14);
|
|
1342
|
+
i0.ɵɵtext(19, "\u2318/Ctrl+Enter to run \u00B7 Shift+click an entity/op to append");
|
|
1351
1343
|
i0.ɵɵelementEnd();
|
|
1352
|
-
i0.ɵɵelementStart(
|
|
1353
|
-
i0.ɵɵlistener("click", function
|
|
1354
|
-
i0.ɵɵelement(
|
|
1355
|
-
i0.ɵɵtext(
|
|
1344
|
+
i0.ɵɵelementStart(20, "button", 15);
|
|
1345
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_20_listener() { return ctx.OnFormatQuery(); });
|
|
1346
|
+
i0.ɵɵelement(21, "i", 16);
|
|
1347
|
+
i0.ɵɵtext(22, " Tidy ");
|
|
1356
1348
|
i0.ɵɵelementEnd();
|
|
1357
|
-
i0.ɵɵelementStart(
|
|
1358
|
-
i0.ɵɵlistener("click", function
|
|
1359
|
-
i0.ɵɵelement(
|
|
1360
|
-
i0.ɵɵtext(
|
|
1349
|
+
i0.ɵɵelementStart(23, "button", 17);
|
|
1350
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_23_listener() { return ctx.OnClearQuery(); });
|
|
1351
|
+
i0.ɵɵelement(24, "i", 18);
|
|
1352
|
+
i0.ɵɵtext(25, " Clear ");
|
|
1361
1353
|
i0.ɵɵelementEnd()();
|
|
1362
|
-
i0.ɵɵelementStart(
|
|
1363
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
1354
|
+
i0.ɵɵelementStart(26, "mj-code-editor", 19);
|
|
1355
|
+
i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Template_mj_code_editor_ngModelChange_26_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.Query, $event) || (ctx.Query = $event); return $event; });
|
|
1364
1356
|
i0.ɵɵelementEnd()();
|
|
1365
|
-
i0.ɵɵelementStart(
|
|
1366
|
-
i0.ɵɵlistener("mousedown", function
|
|
1357
|
+
i0.ɵɵelementStart(27, "div", 20);
|
|
1358
|
+
i0.ɵɵlistener("mousedown", function GraphQLConsoleComponent_Template_div_mousedown_27_listener($event) { return ctx.OnSplitterDown($event, "editor"); });
|
|
1367
1359
|
i0.ɵɵelementEnd();
|
|
1368
|
-
i0.ɵɵelementStart(
|
|
1369
|
-
i0.ɵɵlistener("click", function
|
|
1370
|
-
i0.ɵɵelement(
|
|
1371
|
-
i0.ɵɵtext(
|
|
1372
|
-
i0.ɵɵconditionalCreate(
|
|
1360
|
+
i0.ɵɵelementStart(28, "div", 21)(29, "button", 22);
|
|
1361
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_29_listener() { return ctx.ToggleVariables(); });
|
|
1362
|
+
i0.ɵɵelement(30, "i", 23);
|
|
1363
|
+
i0.ɵɵtext(31, " Variables ");
|
|
1364
|
+
i0.ɵɵconditionalCreate(32, GraphQLConsoleComponent_Conditional_32_Template, 2, 0, "span", 24);
|
|
1373
1365
|
i0.ɵɵelementEnd();
|
|
1374
|
-
i0.ɵɵconditionalCreate(
|
|
1366
|
+
i0.ɵɵconditionalCreate(33, GraphQLConsoleComponent_Conditional_33_Template, 1, 3, "mj-code-editor", 25);
|
|
1375
1367
|
i0.ɵɵelementEnd();
|
|
1376
|
-
i0.ɵɵelementStart(
|
|
1377
|
-
i0.ɵɵlistener("click", function
|
|
1378
|
-
i0.ɵɵconditionalCreate(
|
|
1368
|
+
i0.ɵɵelementStart(34, "div", 26)(35, "button", 27);
|
|
1369
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_35_listener() { return ctx.OnRun(); });
|
|
1370
|
+
i0.ɵɵconditionalCreate(36, GraphQLConsoleComponent_Conditional_36_Template, 2, 0)(37, GraphQLConsoleComponent_Conditional_37_Template, 2, 0);
|
|
1379
1371
|
i0.ɵɵelementEnd();
|
|
1380
|
-
i0.ɵɵconditionalCreate(
|
|
1381
|
-
i0.ɵɵelement(
|
|
1382
|
-
i0.ɵɵconditionalCreate(
|
|
1372
|
+
i0.ɵɵconditionalCreate(38, GraphQLConsoleComponent_Conditional_38_Template, 5, 3, "div", 28);
|
|
1373
|
+
i0.ɵɵelement(39, "span", 29);
|
|
1374
|
+
i0.ɵɵconditionalCreate(40, GraphQLConsoleComponent_Conditional_40_Template, 3, 6, "button", 30);
|
|
1383
1375
|
i0.ɵɵelementEnd();
|
|
1384
|
-
i0.ɵɵelementStart(
|
|
1385
|
-
i0.ɵɵtext(
|
|
1376
|
+
i0.ɵɵelementStart(41, "div", 31)(42, "div", 32)(43, "span", 13);
|
|
1377
|
+
i0.ɵɵtext(44, "Response");
|
|
1386
1378
|
i0.ɵɵelementEnd()();
|
|
1387
|
-
i0.ɵɵconditionalCreate(
|
|
1379
|
+
i0.ɵɵconditionalCreate(45, GraphQLConsoleComponent_Conditional_45_Template, 4, 1, "div", 33)(46, GraphQLConsoleComponent_Conditional_46_Template, 4, 2)(47, GraphQLConsoleComponent_Conditional_47_Template, 4, 0, "div", 34);
|
|
1388
1380
|
i0.ɵɵelementEnd()()()();
|
|
1389
1381
|
} if (rf & 2) {
|
|
1390
|
-
i0.ɵɵadvance(
|
|
1391
|
-
i0.ɵɵconditional(ctx.ApiUrl ?
|
|
1392
|
-
i0.ɵɵadvance(
|
|
1393
|
-
i0.ɵɵ
|
|
1382
|
+
i0.ɵɵadvance(3);
|
|
1383
|
+
i0.ɵɵconditional(ctx.ApiUrl ? 3 : -1);
|
|
1384
|
+
i0.ɵɵadvance(2);
|
|
1385
|
+
i0.ɵɵproperty("toggleable", true);
|
|
1386
|
+
i0.ɵɵtwoWayProperty("selected", ctx.ShowHistory);
|
|
1394
1387
|
i0.ɵɵadvance(7);
|
|
1395
|
-
i0.ɵɵconditional(ctx.ShowHistory ?
|
|
1388
|
+
i0.ɵɵconditional(ctx.ShowHistory ? 12 : -1);
|
|
1396
1389
|
i0.ɵɵadvance(2);
|
|
1397
1390
|
i0.ɵɵstyleProp("flex", "0 0 " + ctx.EditorHeightPct + "%");
|
|
1398
1391
|
i0.ɵɵadvance(12);
|
|
@@ -1401,20 +1394,20 @@ mutation Delete${typeName}($input: Delete${typeName}Input!) {
|
|
|
1401
1394
|
i0.ɵɵadvance(4);
|
|
1402
1395
|
i0.ɵɵclassProp("gc-vars-chev--down", ctx.ShowVariables);
|
|
1403
1396
|
i0.ɵɵadvance(2);
|
|
1404
|
-
i0.ɵɵconditional(ctx.Variables && ctx.Variables.trim() !== "{}" && ctx.Variables.trim() !== "" ?
|
|
1397
|
+
i0.ɵɵconditional(ctx.Variables && ctx.Variables.trim() !== "{}" && ctx.Variables.trim() !== "" ? 32 : -1);
|
|
1405
1398
|
i0.ɵɵadvance();
|
|
1406
|
-
i0.ɵɵconditional(ctx.ShowVariables ?
|
|
1399
|
+
i0.ɵɵconditional(ctx.ShowVariables ? 33 : -1);
|
|
1407
1400
|
i0.ɵɵadvance(2);
|
|
1408
1401
|
i0.ɵɵproperty("disabled", ctx.Running);
|
|
1409
1402
|
i0.ɵɵadvance();
|
|
1410
|
-
i0.ɵɵconditional(ctx.Running ?
|
|
1403
|
+
i0.ɵɵconditional(ctx.Running ? 36 : 37);
|
|
1411
1404
|
i0.ɵɵadvance(2);
|
|
1412
|
-
i0.ɵɵconditional(ctx.ResponseStatus !== "idle" ?
|
|
1405
|
+
i0.ɵɵconditional(ctx.ResponseStatus !== "idle" ? 38 : -1);
|
|
1413
1406
|
i0.ɵɵadvance(2);
|
|
1414
|
-
i0.ɵɵconditional(ctx.ResponseJson ?
|
|
1407
|
+
i0.ɵɵconditional(ctx.ResponseJson ? 40 : -1);
|
|
1415
1408
|
i0.ɵɵadvance(5);
|
|
1416
|
-
i0.ɵɵconditional(ctx.ErrorMessage && !ctx.ResponseJson ?
|
|
1417
|
-
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.CodeEditorComponent, i3.DatePipe], styles: ["[_nghost-%COMP%] { display: block; height: 100%; }\n\n.mj-inspector[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n\n\n.mj-inspector__header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.mj-inspector__header-icon[_ngcontent-%COMP%] {\n width: 36px; height: 36px;\n border-radius: 9px;\n background: linear-gradient(135deg, #264FAF 0%, #0076b6 100%);\n color: white;\n display: flex; align-items: center; justify-content: center;\n font-size: 15px;\n flex-shrink: 0;\n}\n.mj-inspector__header-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n letter-spacing: -0.2px;\n}\n.mj-inspector__header-sub[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-muted);\n margin-top: 2px;\n}\n.mj-inspector__header-spacer[_ngcontent-%COMP%] { flex: 1; }\n.mj-inspector__header-actions[_ngcontent-%COMP%] {\n display: flex; gap: 6px;\n}\n.mj-inspector__btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 7px 12px;\n border-radius: 7px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.15s;\n}\n.mj-inspector__btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.mj-inspector__btn--success[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n border-color: color-mix(in srgb, var(--mj-status-success) 30%, var(--mj-border-default));\n}\n\n\n\n.mj-inspector__body[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n.mj-inspector__sidebar[_ngcontent-%COMP%] {\n width: 220px;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n overflow-y: auto;\n flex-shrink: 0;\n padding: 8px;\n}\n.mj-inspector__nav-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.12s;\n margin-bottom: 2px;\n font-family: inherit;\n border: none;\n background: transparent;\n color: var(--mj-text-secondary);\n text-align: left;\n width: 100%;\n}\n.mj-inspector__nav-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.mj-inspector__nav-item--active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n}\n.mj-inspector__nav-item--active[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 14%, transparent);\n}\n.mj-inspector__nav-icon[_ngcontent-%COMP%] {\n width: 18px;\n text-align: center;\n font-size: 13px;\n margin-top: 1px;\n flex-shrink: 0;\n color: inherit;\n}\n.mj-inspector__nav-text[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n.mj-inspector__nav-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.2;\n}\n.mj-inspector__nav-desc[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 3px;\n line-height: 1.3;\n}\n.mj-inspector__nav-item--active[_ngcontent-%COMP%] .mj-inspector__nav-desc[_ngcontent-%COMP%] {\n color: color-mix(in srgb, var(--mj-brand-primary) 70%, var(--mj-text-muted));\n}\n\n\n\n.mj-inspector__content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n\n\n.mj-inspector__empty[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n@media (max-width: 700px) {\n .mj-inspector__body[_ngcontent-%COMP%] { flex-direction: column; }\n .mj-inspector__sidebar[_ngcontent-%COMP%] {\n width: 100%;\n height: auto;\n max-height: 200px;\n border-right: none;\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n }\n .mj-inspector__nav-item[_ngcontent-%COMP%] { flex: 1 1 calc(50% - 8px); margin-bottom: 0; }\n .mj-inspector__nav-desc[_ngcontent-%COMP%] { display: none; }\n .mj-inspector__header[_ngcontent-%COMP%] { padding: 12px 14px; gap: 10px; }\n}", ".mj-inspector--solo[_ngcontent-%COMP%] { background: var(--mj-bg-page); }\n.gc-toggle--active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent) !important;\n color: var(--mj-brand-primary) !important;\n border-color: var(--mj-brand-primary) !important;\n}\n.gc-endpoint[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n color: var(--mj-text-secondary);\n}\n\n.gc-body[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n\n\n.gc-sidebar[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n min-width: 200px;\n max-width: 560px;\n}\n\n\n\n.gc-splitter[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background: var(--mj-border-subtle);\n transition: background 0.15s;\n position: relative;\n}\n.gc-splitter[_ngcontent-%COMP%]:hover { background: var(--mj-brand-primary); }\n.gc-splitter[_ngcontent-%COMP%]:active { background: color-mix(in srgb, var(--mj-brand-primary) 80%, black); }\n.gc-splitter--vert[_ngcontent-%COMP%] {\n width: 4px;\n cursor: col-resize;\n}\n.gc-splitter--horiz[_ngcontent-%COMP%] {\n height: 4px;\n cursor: row-resize;\n}\n\n\n.gc-splitter[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n inset: -3px;\n}\n.gc-sidebar-tabs[_ngcontent-%COMP%] {\n display: flex;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-sidebar-tab[_ngcontent-%COMP%] {\n flex: 1;\n padding: 10px 8px;\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n font-size: 11.5px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n border-bottom: 2px solid transparent;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.15s;\n}\n.gc-sidebar-tab[_ngcontent-%COMP%]:hover { color: var(--mj-text-primary); }\n.gc-sidebar-tab--active[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n border-bottom-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n}\n\n\n\n.gc-history[_ngcontent-%COMP%] {\n width: 280px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n}\n.gc-history-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-card);\n}\n.gc-history-clear[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 24px;\n height: 24px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.gc-history-clear[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n.gc-history-empty[_ngcontent-%COMP%] {\n padding: 20px 16px;\n color: var(--mj-text-muted);\n font-size: 12px;\n text-align: center;\n line-height: 1.5;\n}\n.gc-history-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { display: block; font-size: 22px; margin-bottom: 8px; opacity: 0.5; }\n\n.gc-history-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 4px;\n}\n.gc-history-item[_ngcontent-%COMP%] {\n width: 100%;\n text-align: left;\n background: transparent;\n border: 1px solid transparent;\n padding: 8px 10px;\n border-radius: 7px;\n cursor: pointer;\n margin-bottom: 2px;\n font-family: inherit;\n transition: background 0.12s, border-color 0.12s;\n}\n.gc-history-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-subtle);\n}\n.gc-history-item--fav[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n}\n\n.gc-history-item-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-history-status[_ngcontent-%COMP%] {\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-status--ok[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n.gc-status--err[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n.gc-history-label[_ngcontent-%COMP%] {\n flex: 1;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n font-weight: 500;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-history-fav[_ngcontent-%COMP%], \n.gc-history-del[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px;\n height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n opacity: 0;\n transition: all 0.12s;\n}\n.gc-history-item[_ngcontent-%COMP%]:hover .gc-history-fav[_ngcontent-%COMP%], \n.gc-history-item[_ngcontent-%COMP%]:hover .gc-history-del[_ngcontent-%COMP%] { opacity: 1; }\n.gc-history-item--fav[_ngcontent-%COMP%] .gc-history-fav[_ngcontent-%COMP%] { opacity: 1; color: var(--mj-status-warning); }\n.gc-history-fav[_ngcontent-%COMP%]:hover { color: var(--mj-status-warning); background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); }\n.gc-history-del[_ngcontent-%COMP%]:hover { color: var(--mj-status-error); background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); }\n\n.gc-history-meta[_ngcontent-%COMP%] {\n margin-top: 3px;\n margin-left: 18px;\n display: flex;\n gap: 4px;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n}\n\n\n\n.gc-ent-toolbar[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-ent-search-wrap[_ngcontent-%COMP%] {\n position: relative;\n flex: 1;\n min-width: 0;\n}\n.gc-ent-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-ent-search[_ngcontent-%COMP%] {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-ent-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-ent-schema[_ngcontent-%COMP%] {\n padding: 5px 8px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 11.5px;\n font-family: inherit;\n cursor: pointer;\n max-width: 130px;\n}\n\n.gc-ent-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-ent-hint[_ngcontent-%COMP%] { font-style: italic; }\n\n.gc-ent-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-ent-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n margin-bottom: 4px;\n overflow: hidden;\n transition: border-color 0.12s, box-shadow 0.15s;\n}\n.gc-ent-card[_ngcontent-%COMP%]:hover { border-color: var(--mj-border-default); }\n.gc-ent-card--expanded[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n}\n.gc-ent-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 10px;\n background: transparent;\n border: none;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n}\n.gc-ent-row[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); }\n.gc-ent-card--expanded[_ngcontent-%COMP%] .gc-ent-row[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent); }\n.gc-ent-chev[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n}\n.gc-ent-chev--down[_ngcontent-%COMP%] { transform: rotate(90deg); }\n.gc-ent-info[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n.gc-ent-name[_ngcontent-%COMP%] {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-meta-row[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n align-items: center;\n}\n.gc-ent-typename[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-schema-badge[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.4px;\n}\n\n.gc-ent-actions[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n padding: 6px 10px 8px 30px;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n.gc-ent-op[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 5px 9px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-ent-op[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n.gc-ent-op--read[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.gc-ent-op--write[_ngcontent-%COMP%]:hover {\n border-color: color-mix(in srgb, var(--mj-status-warning) 50%, var(--mj-border-strong));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-ent-op--danger[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-status-error);\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n.gc-ent-desc[_ngcontent-%COMP%] {\n padding: 4px 10px 8px 30px;\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.45;\n}\n\n.gc-ent-empty[_ngcontent-%COMP%] {\n padding: 30px 18px;\n color: var(--mj-text-muted);\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.gc-ent-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 18px; opacity: 0.5; }\n.gc-ent-clear[_ngcontent-%COMP%] {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n cursor: pointer;\n font-family: inherit;\n margin-top: 4px;\n}\n.gc-ent-clear[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-brand-primary);\n}\n\n\n\n.gc-schema-toolbar[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-schema-search-wrap[_ngcontent-%COMP%] {\n position: relative;\n flex: 1;\n}\n.gc-schema-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-schema-search[_ngcontent-%COMP%] {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-schema-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-schema-reload[_ngcontent-%COMP%] {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 30px;\n height: 30px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-schema-reload[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n.gc-schema-kinds[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-schema-kind[_ngcontent-%COMP%] {\n flex: 1;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 5px 6px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n transition: all 0.12s;\n}\n.gc-schema-kind[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.gc-schema-kind[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n padding: 0 6px;\n border-radius: 100px;\n font-size: 10px;\n color: var(--mj-text-muted);\n}\n.gc-schema-kind--active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: white;\n}\n.gc-schema-kind--active[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n background: rgba(255, 255, 255, 0.25);\n border-color: transparent;\n color: white;\n}\n\n.gc-schema-state[_ngcontent-%COMP%] {\n padding: 28px 18px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n line-height: 1.5;\n}\n.gc-schema-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 22px; opacity: 0.5; }\n\n.gc-schema-disabled[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n}\n.gc-schema-disabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n opacity: 0.85;\n font-size: 24px;\n margin-bottom: 4px;\n}\n.gc-schema-disabled-title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.gc-schema-disabled-body[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n max-width: 240px;\n}\n\n.gc-schema-state--err[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n align-items: stretch;\n text-align: left;\n}\n.gc-schema-state--err[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-status-error); opacity: 0.9; align-self: center; }\n.gc-schema-err-title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n text-align: center;\n color: var(--mj-status-error);\n}\n.gc-schema-err-body[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 8px 10px;\n border-radius: 6px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n word-break: break-word;\n max-height: 160px;\n overflow-y: auto;\n}\n\n.gc-schema-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-schema-op[_ngcontent-%COMP%] {\n width: 100%;\n text-align: left;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n padding: 8px 10px;\n margin-bottom: 4px;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-schema-op[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n.gc-schema-op-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: baseline;\n gap: 8px;\n margin-bottom: 3px;\n}\n.gc-schema-op-kind[_ngcontent-%COMP%] {\n font-size: 9.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n padding: 1px 6px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n.gc-schema-op--mutation[_ngcontent-%COMP%] .gc-schema-op-kind[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-schema-op-name[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n word-break: break-all;\n}\n.gc-schema-op-args[_ngcontent-%COMP%], \n.gc-schema-op-return[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n word-break: break-word;\n}\n.gc-schema-op-return[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n margin-top: 2px;\n}\n.gc-schema-op-return[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; margin-right: 3px; opacity: 0.6; }\n.gc-schema-op-desc[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 5px;\n line-height: 1.4;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n\n\n.gc-main[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n.gc-editor-wrap[_ngcontent-%COMP%], \n.gc-vars-wrap[_ngcontent-%COMP%], \n.gc-response-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n}\n.gc-editor-wrap[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex: 1;\n min-height: 200px;\n}\n.gc-response-wrap[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 200px;\n background: var(--mj-bg-page);\n}\n\n.gc-editor-head[_ngcontent-%COMP%], \n.gc-response-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.gc-editor-label[_ngcontent-%COMP%] { flex: 0 0 auto; }\n.gc-editor-hint[_ngcontent-%COMP%] {\n font-weight: 500;\n text-transform: none;\n letter-spacing: normal;\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n.gc-mini-btn[_ngcontent-%COMP%] {\n margin-left: auto;\n background: transparent;\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 4px 10px;\n border-radius: 5px;\n font-size: 11px;\n cursor: pointer;\n font-family: inherit;\n text-transform: none;\n letter-spacing: normal;\n font-weight: 500;\n}\n.gc-mini-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-default);\n}\n.gc-mini-btn--danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 40%, var(--mj-border-default));\n}\n\n\n\n\nmj-code-editor.gc-editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n width: 100%;\n display: block;\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\nmj-code-editor.gc-editor[_ngcontent-%COMP%] .cm-editor {\n height: 100%;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n}\nmj-code-editor.gc-editor[_ngcontent-%COMP%] .cm-scroller {\n line-height: 1.55;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\nmj-code-editor.gc-editor--vars[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n flex: 0 0 auto;\n min-height: 80px;\n max-height: 160px;\n}\nmj-code-editor.gc-editor--vars[_ngcontent-%COMP%] .cm-editor {\n background: var(--mj-bg-surface-sunken);\n}\n\n\n\n.gc-vars-wrap[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-vars-toggle[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n background: var(--mj-bg-surface-card);\n border: none;\n padding: 7px 16px;\n cursor: pointer;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-family: inherit;\n text-align: left;\n transition: background 0.12s;\n}\n.gc-vars-toggle[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n.gc-vars-chev[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 10px;\n transition: transform 0.15s;\n}\n.gc-vars-chev--down[_ngcontent-%COMP%] { transform: rotate(90deg); }\n.gc-vars-pill[_ngcontent-%COMP%] {\n margin-left: auto;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n font-size: 10px;\n padding: 1px 8px;\n border-radius: 100px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n}\n\n\n\n.gc-run-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-run-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: white;\n border: 1px solid var(--mj-brand-primary);\n padding: 8px 18px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n box-shadow: 0 2px 6px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n transition: background 0.15s, transform 0.1s;\n}\n.gc-run-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n}\n.gc-run-btn[_ngcontent-%COMP%]:active:not(:disabled) { transform: scale(0.98); }\n.gc-run-btn[_ngcontent-%COMP%]:disabled {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-default);\n color: var(--mj-text-muted);\n box-shadow: none;\n cursor: wait;\n}\n\n.gc-run-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-status-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 10px;\n border-radius: 100px;\n font-size: 11px;\n font-weight: 600;\n}\n.gc-status-badge--ok[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary));\n}\n.gc-status-badge--err[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n}\n.gc-meta-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 3px 9px;\n border-radius: 100px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\n.gc-spacer[_ngcontent-%COMP%] { flex: 1; }\n\n\n\n.gc-response[_ngcontent-%COMP%] {\n margin: 0;\n flex: 1;\n overflow: auto;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12px;\n line-height: 1.55;\n}\n.gc-response[_ngcontent-%COMP%] code[_ngcontent-%COMP%] { white-space: pre-wrap; word-break: break-word; }\n\n.gc-error[_ngcontent-%COMP%] {\n margin: 12px 16px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-border-subtle));\n border-radius: 8px;\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n font-size: 12.5px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n.gc-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { margin-top: 2px; flex-shrink: 0; }\n.gc-error--inline[_ngcontent-%COMP%] { margin-bottom: 0; }\n\n.gc-empty[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n.gc-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 24px; opacity: 0.4; }\n\n@media (max-width: 900px) {\n .gc-sidebar[_ngcontent-%COMP%], .gc-history[_ngcontent-%COMP%] { display: none; }\n}"] });
|
|
1409
|
+
i0.ɵɵconditional(ctx.ErrorMessage && !ctx.ResponseJson ? 45 : ctx.ResponseJson ? 46 : 47);
|
|
1410
|
+
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.MJButtonDirective, i2.MJPageHeaderInteriorComponent, i3.CodeEditorComponent, i4.DatePipe], styles: ["[_nghost-%COMP%] { display: block; height: 100%; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.mj-inspector[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n\n\n.mj-inspector__content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n\n\n.mj-inspector__empty[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}", ".mj-inspector--solo[_ngcontent-%COMP%] { background: var(--mj-bg-page); }\n.gc-endpoint[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n color: var(--mj-text-secondary);\n}\n.gc-endpoint-meta[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11.5px;\n color: var(--mj-text-muted);\n}\n\n.gc-body[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n\n\n.gc-sidebar[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n min-width: 200px;\n max-width: 560px;\n}\n\n\n\n.gc-splitter[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background: var(--mj-border-subtle);\n transition: background 0.15s;\n position: relative;\n}\n.gc-splitter[_ngcontent-%COMP%]:hover { background: var(--mj-brand-primary); }\n.gc-splitter[_ngcontent-%COMP%]:active { background: color-mix(in srgb, var(--mj-brand-primary) 80%, black); }\n.gc-splitter--vert[_ngcontent-%COMP%] {\n width: 4px;\n cursor: col-resize;\n}\n.gc-splitter--horiz[_ngcontent-%COMP%] {\n height: 4px;\n cursor: row-resize;\n}\n\n\n.gc-splitter[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n inset: -3px;\n}\n.gc-sidebar-tabs[_ngcontent-%COMP%] {\n display: flex;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-sidebar-tab[_ngcontent-%COMP%] {\n flex: 1;\n padding: 10px 8px;\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n font-size: 11.5px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n border-bottom: 2px solid transparent;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.15s;\n}\n.gc-sidebar-tab[_ngcontent-%COMP%]:hover { color: var(--mj-text-primary); }\n.gc-sidebar-tab--active[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n border-bottom-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n}\n\n\n\n.gc-history[_ngcontent-%COMP%] {\n width: 280px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n}\n.gc-history-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-card);\n}\n.gc-history-clear[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 24px;\n height: 24px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.gc-history-clear[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n.gc-history-empty[_ngcontent-%COMP%] {\n padding: 20px 16px;\n color: var(--mj-text-muted);\n font-size: 12px;\n text-align: center;\n line-height: 1.5;\n}\n.gc-history-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { display: block; font-size: 22px; margin-bottom: 8px; opacity: 0.5; }\n\n.gc-history-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 4px;\n}\n.gc-history-item[_ngcontent-%COMP%] {\n width: 100%;\n text-align: left;\n background: transparent;\n border: 1px solid transparent;\n padding: 8px 10px;\n border-radius: 7px;\n cursor: pointer;\n margin-bottom: 2px;\n font-family: inherit;\n transition: background 0.12s, border-color 0.12s;\n}\n.gc-history-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-subtle);\n}\n.gc-history-item--fav[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n}\n\n.gc-history-item-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-history-status[_ngcontent-%COMP%] {\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-status--ok[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n.gc-status--err[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n.gc-history-label[_ngcontent-%COMP%] {\n flex: 1;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n font-weight: 500;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-history-fav[_ngcontent-%COMP%], \n.gc-history-del[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px;\n height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n opacity: 0;\n transition: all 0.12s;\n}\n.gc-history-item[_ngcontent-%COMP%]:hover .gc-history-fav[_ngcontent-%COMP%], \n.gc-history-item[_ngcontent-%COMP%]:hover .gc-history-del[_ngcontent-%COMP%] { opacity: 1; }\n.gc-history-item--fav[_ngcontent-%COMP%] .gc-history-fav[_ngcontent-%COMP%] { opacity: 1; color: var(--mj-status-warning); }\n.gc-history-fav[_ngcontent-%COMP%]:hover { color: var(--mj-status-warning); background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); }\n.gc-history-del[_ngcontent-%COMP%]:hover { color: var(--mj-status-error); background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); }\n\n.gc-history-meta[_ngcontent-%COMP%] {\n margin-top: 3px;\n margin-left: 18px;\n display: flex;\n gap: 4px;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n}\n\n\n\n.gc-ent-toolbar[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-ent-search-wrap[_ngcontent-%COMP%] {\n position: relative;\n flex: 1;\n min-width: 0;\n}\n.gc-ent-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-ent-search[_ngcontent-%COMP%] {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-ent-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-ent-schema[_ngcontent-%COMP%] {\n padding: 5px 8px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 11.5px;\n font-family: inherit;\n cursor: pointer;\n max-width: 130px;\n}\n\n.gc-ent-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-ent-hint[_ngcontent-%COMP%] { font-style: italic; }\n\n.gc-ent-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-ent-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n margin-bottom: 4px;\n overflow: hidden;\n transition: border-color 0.12s, box-shadow 0.15s;\n}\n.gc-ent-card[_ngcontent-%COMP%]:hover { border-color: var(--mj-border-default); }\n.gc-ent-card--expanded[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n}\n.gc-ent-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 10px;\n background: transparent;\n border: none;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n}\n.gc-ent-row[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); }\n.gc-ent-card--expanded[_ngcontent-%COMP%] .gc-ent-row[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent); }\n.gc-ent-chev[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n}\n.gc-ent-chev--down[_ngcontent-%COMP%] { transform: rotate(90deg); }\n.gc-ent-info[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n.gc-ent-name[_ngcontent-%COMP%] {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-meta-row[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n align-items: center;\n}\n.gc-ent-typename[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-schema-badge[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.4px;\n}\n\n.gc-ent-actions[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n padding: 6px 10px 8px 30px;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n.gc-ent-op[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 5px 9px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-ent-op[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n.gc-ent-op--read[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.gc-ent-op--write[_ngcontent-%COMP%]:hover {\n border-color: color-mix(in srgb, var(--mj-status-warning) 50%, var(--mj-border-strong));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-ent-op--danger[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-status-error);\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n.gc-ent-desc[_ngcontent-%COMP%] {\n padding: 4px 10px 8px 30px;\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.45;\n}\n\n.gc-ent-empty[_ngcontent-%COMP%] {\n padding: 30px 18px;\n color: var(--mj-text-muted);\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.gc-ent-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 18px; opacity: 0.5; }\n.gc-ent-clear[_ngcontent-%COMP%] {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n cursor: pointer;\n font-family: inherit;\n margin-top: 4px;\n}\n.gc-ent-clear[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-brand-primary);\n}\n\n\n\n.gc-schema-toolbar[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-schema-search-wrap[_ngcontent-%COMP%] {\n position: relative;\n flex: 1;\n}\n.gc-schema-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-schema-search[_ngcontent-%COMP%] {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-schema-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-schema-reload[_ngcontent-%COMP%] {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 30px;\n height: 30px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-schema-reload[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n.gc-schema-kinds[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-schema-kind[_ngcontent-%COMP%] {\n flex: 1;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 5px 6px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n transition: all 0.12s;\n}\n.gc-schema-kind[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.gc-schema-kind[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n padding: 0 6px;\n border-radius: 100px;\n font-size: 10px;\n color: var(--mj-text-muted);\n}\n.gc-schema-kind--active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: white;\n}\n.gc-schema-kind--active[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n background: rgba(255, 255, 255, 0.25);\n border-color: transparent;\n color: white;\n}\n\n.gc-schema-state[_ngcontent-%COMP%] {\n padding: 28px 18px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n line-height: 1.5;\n}\n.gc-schema-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 22px; opacity: 0.5; }\n\n.gc-schema-disabled[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n}\n.gc-schema-disabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n opacity: 0.85;\n font-size: 24px;\n margin-bottom: 4px;\n}\n.gc-schema-disabled-title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.gc-schema-disabled-body[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n max-width: 240px;\n}\n\n.gc-schema-state--err[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n align-items: stretch;\n text-align: left;\n}\n.gc-schema-state--err[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-status-error); opacity: 0.9; align-self: center; }\n.gc-schema-err-title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n text-align: center;\n color: var(--mj-status-error);\n}\n.gc-schema-err-body[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 8px 10px;\n border-radius: 6px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n word-break: break-word;\n max-height: 160px;\n overflow-y: auto;\n}\n\n.gc-schema-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-schema-op[_ngcontent-%COMP%] {\n width: 100%;\n text-align: left;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n padding: 8px 10px;\n margin-bottom: 4px;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-schema-op[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n.gc-schema-op-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: baseline;\n gap: 8px;\n margin-bottom: 3px;\n}\n.gc-schema-op-kind[_ngcontent-%COMP%] {\n font-size: 9.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n padding: 1px 6px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n.gc-schema-op--mutation[_ngcontent-%COMP%] .gc-schema-op-kind[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-schema-op-name[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n word-break: break-all;\n}\n.gc-schema-op-args[_ngcontent-%COMP%], \n.gc-schema-op-return[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n word-break: break-word;\n}\n.gc-schema-op-return[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n margin-top: 2px;\n}\n.gc-schema-op-return[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; margin-right: 3px; opacity: 0.6; }\n.gc-schema-op-desc[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 5px;\n line-height: 1.4;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n\n\n.gc-main[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n.gc-editor-wrap[_ngcontent-%COMP%], \n.gc-vars-wrap[_ngcontent-%COMP%], \n.gc-response-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n}\n.gc-editor-wrap[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex: 1;\n min-height: 200px;\n}\n.gc-response-wrap[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 200px;\n background: var(--mj-bg-page);\n}\n\n.gc-editor-head[_ngcontent-%COMP%], \n.gc-response-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.gc-editor-label[_ngcontent-%COMP%] { flex: 0 0 auto; }\n.gc-editor-hint[_ngcontent-%COMP%] {\n font-weight: 500;\n text-transform: none;\n letter-spacing: normal;\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n.gc-mini-btn[_ngcontent-%COMP%] {\n margin-left: auto;\n background: transparent;\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 4px 10px;\n border-radius: 5px;\n font-size: 11px;\n cursor: pointer;\n font-family: inherit;\n text-transform: none;\n letter-spacing: normal;\n font-weight: 500;\n}\n.gc-mini-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-default);\n}\n.gc-mini-btn--danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 40%, var(--mj-border-default));\n}\n\n\n\n\nmj-code-editor.gc-editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n width: 100%;\n display: block;\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\nmj-code-editor.gc-editor[_ngcontent-%COMP%] .cm-editor {\n height: 100%;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n}\nmj-code-editor.gc-editor[_ngcontent-%COMP%] .cm-scroller {\n line-height: 1.55;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\nmj-code-editor.gc-editor--vars[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n flex: 0 0 auto;\n min-height: 80px;\n max-height: 160px;\n}\nmj-code-editor.gc-editor--vars[_ngcontent-%COMP%] .cm-editor {\n background: var(--mj-bg-surface-sunken);\n}\n\n\n\n.gc-vars-wrap[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-vars-toggle[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n background: var(--mj-bg-surface-card);\n border: none;\n padding: 7px 16px;\n cursor: pointer;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-family: inherit;\n text-align: left;\n transition: background 0.12s;\n}\n.gc-vars-toggle[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n.gc-vars-chev[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 10px;\n transition: transform 0.15s;\n}\n.gc-vars-chev--down[_ngcontent-%COMP%] { transform: rotate(90deg); }\n.gc-vars-pill[_ngcontent-%COMP%] {\n margin-left: auto;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n font-size: 10px;\n padding: 1px 8px;\n border-radius: 100px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n}\n\n\n\n.gc-run-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-run-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: white;\n border: 1px solid var(--mj-brand-primary);\n padding: 8px 18px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n box-shadow: 0 2px 6px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n transition: background 0.15s, transform 0.1s;\n}\n.gc-run-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n}\n.gc-run-btn[_ngcontent-%COMP%]:active:not(:disabled) { transform: scale(0.98); }\n.gc-run-btn[_ngcontent-%COMP%]:disabled {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-default);\n color: var(--mj-text-muted);\n box-shadow: none;\n cursor: wait;\n}\n\n.gc-run-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-status-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 10px;\n border-radius: 100px;\n font-size: 11px;\n font-weight: 600;\n}\n.gc-status-badge--ok[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary));\n}\n.gc-status-badge--err[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n}\n.gc-meta-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 3px 9px;\n border-radius: 100px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\n.gc-spacer[_ngcontent-%COMP%] { flex: 1; }\n\n\n\n.gc-response[_ngcontent-%COMP%] {\n margin: 0;\n flex: 1;\n overflow: auto;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12px;\n line-height: 1.55;\n}\n.gc-response[_ngcontent-%COMP%] code[_ngcontent-%COMP%] { white-space: pre-wrap; word-break: break-word; }\n\n.gc-error[_ngcontent-%COMP%] {\n margin: 12px 16px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-border-subtle));\n border-radius: 8px;\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n font-size: 12.5px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n.gc-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { margin-top: 2px; flex-shrink: 0; }\n.gc-error--inline[_ngcontent-%COMP%] { margin-bottom: 0; }\n\n.gc-empty[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n.gc-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 24px; opacity: 0.4; }\n\n@media (max-width: 900px) {\n .gc-sidebar[_ngcontent-%COMP%], .gc-history[_ngcontent-%COMP%] { display: none; }\n}"] });
|
|
1418
1411
|
};
|
|
1419
1412
|
GraphQLConsoleComponent = __decorate([
|
|
1420
1413
|
RegisterClass(BaseResourceComponent, 'GraphQLConsoleInspector')
|
|
@@ -1422,7 +1415,7 @@ GraphQLConsoleComponent = __decorate([
|
|
|
1422
1415
|
export { GraphQLConsoleComponent };
|
|
1423
1416
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GraphQLConsoleComponent, [{
|
|
1424
1417
|
type: Component,
|
|
1425
|
-
args: [{ standalone: false, selector: 'mj-graphql-console', template: "<div class=\"mj-inspector mj-inspector--solo\">\n <div class=\"mj-inspector__header\">\n <div class=\"mj-inspector__header-icon\"><i class=\"fa-solid fa-code\"></i></div>\n <div>\n <h3 class=\"mj-inspector__header-title\">GraphQL Console</h3>\n <div class=\"mj-inspector__header-sub\">\n @if (ApiUrl) {\n Connected to <code class=\"gc-endpoint\">{{ ApiUrl }}</code>\n } @else {\n Run queries against the connected MJ API\n }\n </div>\n </div>\n <span class=\"mj-inspector__header-spacer\"></span>\n <div class=\"mj-inspector__header-actions\">\n <button class=\"mj-inspector__btn\"\n [class.gc-toggle--active]=\"ShowHistory\"\n type=\"button\" (click)=\"ToggleHistoryPanel()\"\n title=\"Toggle history sidebar\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i> History\n </button>\n <button class=\"mj-inspector__btn\" type=\"button\" (click)=\"OnCopyAsCurl()\" title=\"Copy as cURL command\">\n <i class=\"fa-solid fa-terminal\"></i> Copy cURL\n </button>\n </div>\n </div>\n\n <div class=\"gc-body\">\n @if (ShowHistory) {\n <aside class=\"gc-sidebar\" [style.width.px]=\"SidebarWidthPx\">\n <div class=\"gc-sidebar-tabs\">\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'history'\"\n (click)=\"OnSidebarTabChange('history')\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i> History\n </button>\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'entities'\"\n (click)=\"OnSidebarTabChange('entities')\">\n <i class=\"fa-solid fa-table-list\"></i> Entities\n </button>\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'schema'\"\n (click)=\"OnSidebarTabChange('schema')\">\n <i class=\"fa-solid fa-sitemap\"></i> Schema\n </button>\n </div>\n\n @if (SidebarTab === 'history') {\n <div class=\"gc-history-head\">\n <span>{{ History.length }} {{ History.length === 1 ? 'entry' : 'entries' }}</span>\n <button class=\"gc-history-clear\"\n type=\"button\"\n (click)=\"OnClearHistory()\"\n title=\"Clear non-favorite history\">\n <i class=\"fa-solid fa-broom\"></i>\n </button>\n </div>\n @if (History.length === 0) {\n <div class=\"gc-history-empty\">\n <i class=\"fa-regular fa-circle-question\"></i>\n Run a query to see it here. Star <i class=\"fa-solid fa-star\"></i> to keep it.\n </div>\n } @else {\n <div class=\"gc-history-list\">\n @for (h of History; track TrackByHistory($index, h)) {\n <button type=\"button\"\n class=\"gc-history-item\"\n [class.gc-history-item--error]=\"h.status === 'error'\"\n [class.gc-history-item--fav]=\"h.favorite\"\n (click)=\"OnRestoreHistory(h)\">\n <div class=\"gc-history-item-head\">\n <i class=\"gc-history-status\"\n [class.fa-solid]=\"true\"\n [class.fa-circle-check]=\"h.status === 'ok'\"\n [class.fa-circle-xmark]=\"h.status === 'error'\"\n [class.gc-status--ok]=\"h.status === 'ok'\"\n [class.gc-status--err]=\"h.status === 'error'\"></i>\n <span class=\"gc-history-label\">{{ h.label || 'unnamed' }}</span>\n <button class=\"gc-history-fav\"\n type=\"button\"\n (click)=\"OnToggleFavorite(h, $event)\"\n [title]=\"h.favorite ? 'Unfavorite' : 'Favorite'\">\n <i [class]=\"h.favorite ? 'fa-solid fa-star' : 'fa-regular fa-star'\"></i>\n </button>\n <button class=\"gc-history-del\"\n type=\"button\"\n (click)=\"OnDeleteHistory(h, $event)\"\n title=\"Remove from history\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"gc-history-meta\">\n <span>{{ h.timestamp | date:'HH:mm:ss' }}</span>\n @if (h.durationMs != null) {\n <span>\u00B7</span>\n <span>{{ h.durationMs }}ms</span>\n }\n </div>\n </button>\n }\n </div>\n }\n } @else if (SidebarTab === 'entities') {\n <div class=\"gc-ent-toolbar\">\n <div class=\"gc-ent-search-wrap\">\n <i class=\"fa-solid fa-search gc-ent-search-icon\"></i>\n <input type=\"search\"\n class=\"gc-ent-search\"\n placeholder=\"Search entities\u2026\"\n [(ngModel)]=\"EntitiesSearch\" />\n </div>\n @if (KnownSchemas.length > 1) {\n <select class=\"gc-ent-schema\" [(ngModel)]=\"EntitySchemaFilter\">\n <option value=\"\">All schemas ({{ KnownSchemas.length }})</option>\n @for (s of KnownSchemas; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n }\n </div>\n <div class=\"gc-ent-meta\">\n <span>{{ FilteredEntities.length }} of {{ Entities.length }}</span>\n <span class=\"gc-ent-hint\">Click an entity to see operations</span>\n </div>\n <div class=\"gc-ent-list\">\n @for (item of FilteredEntities; track TrackByEntity($index, item)) {\n <div class=\"gc-ent-card\" [class.gc-ent-card--expanded]=\"item.expanded\">\n <button type=\"button\"\n class=\"gc-ent-row\"\n (click)=\"ToggleEntity(item)\">\n <i class=\"fa-solid fa-chevron-right gc-ent-chev\"\n [class.gc-ent-chev--down]=\"item.expanded\"></i>\n <div class=\"gc-ent-info\">\n <div class=\"gc-ent-name\">{{ item.info.Name }}</div>\n <div class=\"gc-ent-meta-row\">\n <code class=\"gc-ent-typename\">{{ item.typeName }}</code>\n <span class=\"gc-ent-schema-badge\">{{ item.schema }}</span>\n </div>\n </div>\n </button>\n @if (item.expanded) {\n <div class=\"gc-ent-actions\">\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--read\"\n (click)=\"OnEntityOp(item, 'view', $event)\"\n title=\"Insert a Run View template (Shift-click to append)\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n Run view\n </button>\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--read\"\n (click)=\"OnEntityOp(item, 'byId', $event)\"\n title=\"Fetch a single record by ID (Shift-click to append)\">\n <i class=\"fa-solid fa-fingerprint\"></i>\n Get by ID\n </button>\n @if (item.info.AllowCreateAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--write\"\n (click)=\"OnEntityOp(item, 'create', $event)\"\n title=\"Create a new record (Shift-click to append)\">\n <i class=\"fa-solid fa-plus\"></i>\n Create\n </button>\n }\n @if (item.info.AllowUpdateAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--write\"\n (click)=\"OnEntityOp(item, 'update', $event)\"\n title=\"Update an existing record (Shift-click to append)\">\n <i class=\"fa-solid fa-pen\"></i>\n Update\n </button>\n }\n @if (item.info.AllowDeleteAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--danger\"\n (click)=\"OnEntityOp(item, 'delete', $event)\"\n title=\"Delete a record (Shift-click to append)\">\n <i class=\"fa-solid fa-trash\"></i>\n Delete\n </button>\n }\n </div>\n @if (item.info.Description) {\n <div class=\"gc-ent-desc\">{{ item.info.Description }}</div>\n }\n }\n </div>\n }\n @if (FilteredEntities.length === 0) {\n <div class=\"gc-ent-empty\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No entities match.</span>\n @if (EntitiesSearch || EntitySchemaFilter) {\n <button class=\"gc-ent-clear\" type=\"button\" (click)=\"ClearEntityFilters()\">\n Clear filters\n </button>\n }\n </div>\n }\n </div>\n } @else {\n <div class=\"gc-schema-toolbar\">\n <div class=\"gc-schema-search-wrap\">\n <i class=\"fa-solid fa-search gc-schema-search-icon\"></i>\n <input type=\"search\"\n class=\"gc-schema-search\"\n placeholder=\"Search operations\u2026\"\n [(ngModel)]=\"SchemaSearch\" />\n </div>\n <button class=\"gc-schema-reload\"\n type=\"button\"\n (click)=\"OnReloadSchema()\"\n [disabled]=\"SchemaLoading\"\n title=\"Reload schema\">\n <i class=\"fa-solid\" [class.fa-rotate]=\"!SchemaLoading\" [class.fa-spinner]=\"SchemaLoading\" [class.fa-spin]=\"SchemaLoading\"></i>\n </button>\n </div>\n\n @if (Operations.length > 0) {\n <div class=\"gc-schema-kinds\">\n <button type=\"button\"\n class=\"gc-schema-kind\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'all'\"\n (click)=\"SchemaKindFilter = 'all'\">\n All <span>{{ OperationCounts.all }}</span>\n </button>\n <button type=\"button\"\n class=\"gc-schema-kind gc-schema-kind--query\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'query'\"\n (click)=\"SchemaKindFilter = 'query'\">\n <i class=\"fa-solid fa-magnifying-glass\"></i> Query <span>{{ OperationCounts.query }}</span>\n </button>\n <button type=\"button\"\n class=\"gc-schema-kind gc-schema-kind--mutation\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'mutation'\"\n (click)=\"SchemaKindFilter = 'mutation'\">\n <i class=\"fa-solid fa-pen\"></i> Mutation <span>{{ OperationCounts.mutation }}</span>\n </button>\n </div>\n }\n\n @if (SchemaLoading) {\n <div class=\"gc-schema-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Introspecting schema\u2026</span>\n </div>\n } @else if (SchemaIntrospectionDisabled) {\n <div class=\"gc-schema-state gc-schema-disabled\">\n <i class=\"fa-solid fa-lock\"></i>\n <div class=\"gc-schema-disabled-title\">Introspection disabled</div>\n <div class=\"gc-schema-disabled-body\">\n This server has GraphQL introspection turned off (typical in production). Schema browsing isn't available \u2014 write queries directly in the editor, or use the History tab to revisit previous queries.\n </div>\n </div>\n } @else if (SchemaError) {\n <div class=\"gc-schema-state gc-schema-state--err\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <div class=\"gc-schema-err-title\">Couldn't load schema</div>\n <div class=\"gc-schema-err-body\">{{ SchemaError }}</div>\n </div>\n } @else if (FilteredOperations.length === 0) {\n <div class=\"gc-schema-state\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No operations match.</span>\n </div>\n } @else {\n <div class=\"gc-schema-list\">\n @for (op of FilteredOperations; track TrackByOp($index, op)) {\n <button type=\"button\"\n class=\"gc-schema-op\"\n [class.gc-schema-op--mutation]=\"op.kind === 'mutation'\"\n (click)=\"OnInsertOperation(op, $event)\"\n [title]=\"(op.description || ('Insert ' + op.kind + ' template')) + ' \u00B7 Shift-click to append'\">\n <div class=\"gc-schema-op-head\">\n <span class=\"gc-schema-op-kind\">{{ op.kind }}</span>\n <span class=\"gc-schema-op-name\">{{ op.name }}</span>\n </div>\n @if (op.argSummary) {\n <div class=\"gc-schema-op-args\">({{ op.argSummary }})</div>\n }\n <div class=\"gc-schema-op-return\">\n <i class=\"fa-solid fa-arrow-right\"></i> {{ op.returnSummary }}\n </div>\n @if (op.description) {\n <div class=\"gc-schema-op-desc\">{{ op.description }}</div>\n }\n </button>\n }\n </div>\n }\n }\n </aside>\n <div class=\"gc-splitter gc-splitter--vert\"\n (mousedown)=\"OnSplitterDown($event, 'sidebar')\"\n title=\"Drag to resize sidebar\"></div>\n }\n\n <div class=\"gc-main\">\n <div class=\"gc-editor-wrap\" [style.flex]=\"'0 0 ' + EditorHeightPct + '%'\">\n <div class=\"gc-editor-head\">\n <span class=\"gc-editor-label\">Query</span>\n <span class=\"gc-editor-hint\">\u2318/Ctrl+Enter to run \u00B7 Shift+click an entity/op to append</span>\n <button class=\"gc-mini-btn\" type=\"button\" (click)=\"OnFormatQuery()\" title=\"Tidy whitespace\">\n <i class=\"fa-solid fa-broom\"></i> Tidy\n </button>\n <button class=\"gc-mini-btn gc-mini-btn--danger\" type=\"button\" (click)=\"OnClearQuery()\" title=\"Clear editor\">\n <i class=\"fa-solid fa-eraser\"></i> Clear\n </button>\n </div>\n <mj-code-editor\n class=\"gc-editor\"\n [(ngModel)]=\"Query\"\n [language]=\"'graphql'\"\n [lineWrapping]=\"true\"\n placeholder=\"Enter your GraphQL query\u2026\">\n </mj-code-editor>\n </div>\n\n <div class=\"gc-splitter gc-splitter--horiz\"\n (mousedown)=\"OnSplitterDown($event, 'editor')\"\n title=\"Drag to resize editor / response\"></div>\n\n <div class=\"gc-vars-wrap\">\n <button class=\"gc-vars-toggle\" type=\"button\" (click)=\"ToggleVariables()\">\n <i class=\"fa-solid fa-chevron-right gc-vars-chev\" [class.gc-vars-chev--down]=\"ShowVariables\"></i>\n Variables\n @if (Variables && Variables.trim() !== '{}' && Variables.trim() !== '') {\n <span class=\"gc-vars-pill\">configured</span>\n }\n </button>\n @if (ShowVariables) {\n <mj-code-editor\n class=\"gc-editor gc-editor--vars\"\n [(ngModel)]=\"Variables\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n placeholder=\"{}\">\n </mj-code-editor>\n }\n </div>\n\n <div class=\"gc-run-bar\">\n <button class=\"gc-run-btn\"\n type=\"button\"\n [disabled]=\"Running\"\n (click)=\"OnRun()\">\n @if (Running) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Running\u2026\n } @else {\n <i class=\"fa-solid fa-play\"></i> Run\n }\n </button>\n @if (ResponseStatus !== 'idle') {\n <div class=\"gc-run-meta\">\n @if (ResponseStatus === 'ok') {\n <span class=\"gc-status-badge gc-status-badge--ok\">\n <i class=\"fa-solid fa-circle-check\"></i> 200 OK\n </span>\n } @else {\n <span class=\"gc-status-badge gc-status-badge--err\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i> Error\n </span>\n }\n @if (ResponseDurationMs != null) {\n <span class=\"gc-meta-pill\"><i class=\"fa-regular fa-clock\"></i> {{ ResponseDurationMs }}ms</span>\n }\n @if (ResponseSizeBytes != null) {\n <span class=\"gc-meta-pill\"><i class=\"fa-solid fa-database\"></i> {{ FormattedSize }}</span>\n }\n </div>\n }\n <span class=\"gc-spacer\"></span>\n @if (ResponseJson) {\n <button class=\"mj-inspector__btn\"\n [class.mj-inspector__btn--success]=\"CopyConfirmed\"\n type=\"button\"\n (click)=\"OnCopyResponse()\">\n <i class=\"fa-solid\" [class.fa-clipboard]=\"!CopyConfirmed\" [class.fa-check]=\"CopyConfirmed\"></i>\n {{ CopyConfirmed ? 'Copied' : 'Copy' }}\n </button>\n }\n </div>\n\n <div class=\"gc-response-wrap\">\n <div class=\"gc-response-head\">\n <span class=\"gc-editor-label\">Response</span>\n </div>\n @if (ErrorMessage && !ResponseJson) {\n <div class=\"gc-error\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <span>{{ ErrorMessage }}</span>\n </div>\n } @else if (ResponseJson) {\n @if (ErrorMessage) {\n <div class=\"gc-error gc-error--inline\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <span>{{ ErrorMessage }}</span>\n </div>\n }\n <pre class=\"gc-response\"><code>{{ ResponseJson }}</code></pre>\n } @else {\n <div class=\"gc-empty\">\n <i class=\"fa-solid fa-arrow-up-from-bracket\"></i>\n <span>Run a query to see results here.</span>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: [":host { display: block; height: 100%; }\n\n.mj-inspector {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n/* Header */\n.mj-inspector__header {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.mj-inspector__header-icon {\n width: 36px; height: 36px;\n border-radius: 9px;\n background: linear-gradient(135deg, #264FAF 0%, #0076b6 100%);\n color: white;\n display: flex; align-items: center; justify-content: center;\n font-size: 15px;\n flex-shrink: 0;\n}\n.mj-inspector__header-title {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n letter-spacing: -0.2px;\n}\n.mj-inspector__header-sub {\n font-size: 11.5px;\n color: var(--mj-text-muted);\n margin-top: 2px;\n}\n.mj-inspector__header-spacer { flex: 1; }\n.mj-inspector__header-actions {\n display: flex; gap: 6px;\n}\n.mj-inspector__btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 7px 12px;\n border-radius: 7px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.15s;\n}\n.mj-inspector__btn:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.mj-inspector__btn--success {\n color: var(--mj-status-success);\n border-color: color-mix(in srgb, var(--mj-status-success) 30%, var(--mj-border-default));\n}\n\n/* Layout: sidebar + content */\n.mj-inspector__body {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n.mj-inspector__sidebar {\n width: 220px;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n overflow-y: auto;\n flex-shrink: 0;\n padding: 8px;\n}\n.mj-inspector__nav-item {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.12s;\n margin-bottom: 2px;\n font-family: inherit;\n border: none;\n background: transparent;\n color: var(--mj-text-secondary);\n text-align: left;\n width: 100%;\n}\n.mj-inspector__nav-item:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.mj-inspector__nav-item--active {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n}\n.mj-inspector__nav-item--active:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 14%, transparent);\n}\n.mj-inspector__nav-icon {\n width: 18px;\n text-align: center;\n font-size: 13px;\n margin-top: 1px;\n flex-shrink: 0;\n color: inherit;\n}\n.mj-inspector__nav-text { flex: 1; min-width: 0; }\n.mj-inspector__nav-label {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.2;\n}\n.mj-inspector__nav-desc {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 3px;\n line-height: 1.3;\n}\n.mj-inspector__nav-item--active .mj-inspector__nav-desc {\n color: color-mix(in srgb, var(--mj-brand-primary) 70%, var(--mj-text-muted));\n}\n\n/* Content area */\n.mj-inspector__content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor mj-code-editor {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n/* Empty state */\n.mj-inspector__empty {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n@media (max-width: 700px) {\n .mj-inspector__body { flex-direction: column; }\n .mj-inspector__sidebar {\n width: 100%;\n height: auto;\n max-height: 200px;\n border-right: none;\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n }\n .mj-inspector__nav-item { flex: 1 1 calc(50% - 8px); margin-bottom: 0; }\n .mj-inspector__nav-desc { display: none; }\n .mj-inspector__header { padding: 12px 14px; gap: 10px; }\n}\n", ".mj-inspector--solo { background: var(--mj-bg-page); }\n.gc-toggle--active {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent) !important;\n color: var(--mj-brand-primary) !important;\n border-color: var(--mj-brand-primary) !important;\n}\n.gc-endpoint {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n color: var(--mj-text-secondary);\n}\n\n.gc-body {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n/* Sidebar (history + entities + schema) \u2014 width is bound from component */\n.gc-sidebar {\n flex-shrink: 0;\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n min-width: 200px;\n max-width: 560px;\n}\n\n/* Resizable splitters */\n.gc-splitter {\n flex-shrink: 0;\n background: var(--mj-border-subtle);\n transition: background 0.15s;\n position: relative;\n}\n.gc-splitter:hover { background: var(--mj-brand-primary); }\n.gc-splitter:active { background: color-mix(in srgb, var(--mj-brand-primary) 80%, black); }\n.gc-splitter--vert {\n width: 4px;\n cursor: col-resize;\n}\n.gc-splitter--horiz {\n height: 4px;\n cursor: row-resize;\n}\n/* Bigger invisible hit area so the splitter is easier to grab */\n.gc-splitter::before {\n content: '';\n position: absolute;\n inset: -3px;\n}\n.gc-sidebar-tabs {\n display: flex;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-sidebar-tab {\n flex: 1;\n padding: 10px 8px;\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n font-size: 11.5px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n border-bottom: 2px solid transparent;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.15s;\n}\n.gc-sidebar-tab:hover { color: var(--mj-text-primary); }\n.gc-sidebar-tab--active {\n color: var(--mj-brand-primary);\n border-bottom-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n}\n\n/* History sidebar (legacy classname kept for the inner head row) */\n.gc-history {\n width: 280px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n}\n.gc-history-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-card);\n}\n.gc-history-clear {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 24px;\n height: 24px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.gc-history-clear:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n.gc-history-empty {\n padding: 20px 16px;\n color: var(--mj-text-muted);\n font-size: 12px;\n text-align: center;\n line-height: 1.5;\n}\n.gc-history-empty i { display: block; font-size: 22px; margin-bottom: 8px; opacity: 0.5; }\n\n.gc-history-list {\n flex: 1;\n overflow-y: auto;\n padding: 4px;\n}\n.gc-history-item {\n width: 100%;\n text-align: left;\n background: transparent;\n border: 1px solid transparent;\n padding: 8px 10px;\n border-radius: 7px;\n cursor: pointer;\n margin-bottom: 2px;\n font-family: inherit;\n transition: background 0.12s, border-color 0.12s;\n}\n.gc-history-item:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-subtle);\n}\n.gc-history-item--fav {\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n}\n\n.gc-history-item-head {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-history-status {\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-status--ok { color: var(--mj-status-success); }\n.gc-status--err { color: var(--mj-status-error); }\n\n.gc-history-label {\n flex: 1;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n font-weight: 500;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-history-fav,\n.gc-history-del {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px;\n height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n opacity: 0;\n transition: all 0.12s;\n}\n.gc-history-item:hover .gc-history-fav,\n.gc-history-item:hover .gc-history-del { opacity: 1; }\n.gc-history-item--fav .gc-history-fav { opacity: 1; color: var(--mj-status-warning); }\n.gc-history-fav:hover { color: var(--mj-status-warning); background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); }\n.gc-history-del:hover { color: var(--mj-status-error); background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); }\n\n.gc-history-meta {\n margin-top: 3px;\n margin-left: 18px;\n display: flex;\n gap: 4px;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n}\n\n/* ---------- Entities tab ---------- */\n.gc-ent-toolbar {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-ent-search-wrap {\n position: relative;\n flex: 1;\n min-width: 0;\n}\n.gc-ent-search-icon {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-ent-search {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-ent-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-ent-schema {\n padding: 5px 8px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 11.5px;\n font-family: inherit;\n cursor: pointer;\n max-width: 130px;\n}\n\n.gc-ent-meta {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-ent-hint { font-style: italic; }\n\n.gc-ent-list {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-ent-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n margin-bottom: 4px;\n overflow: hidden;\n transition: border-color 0.12s, box-shadow 0.15s;\n}\n.gc-ent-card:hover { border-color: var(--mj-border-default); }\n.gc-ent-card--expanded {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n}\n.gc-ent-row {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 10px;\n background: transparent;\n border: none;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n}\n.gc-ent-row:hover { background: var(--mj-bg-surface-hover); }\n.gc-ent-card--expanded .gc-ent-row { background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent); }\n.gc-ent-chev {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n}\n.gc-ent-chev--down { transform: rotate(90deg); }\n.gc-ent-info { flex: 1; min-width: 0; }\n.gc-ent-name {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-meta-row {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n align-items: center;\n}\n.gc-ent-typename {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-schema-badge {\n font-size: 10px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.4px;\n}\n\n.gc-ent-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n padding: 6px 10px 8px 30px;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n.gc-ent-op {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 5px 9px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-ent-op:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n.gc-ent-op--read:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.gc-ent-op--write:hover {\n border-color: color-mix(in srgb, var(--mj-status-warning) 50%, var(--mj-border-strong));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-ent-op--danger:hover {\n border-color: var(--mj-status-error);\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n.gc-ent-desc {\n padding: 4px 10px 8px 30px;\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.45;\n}\n\n.gc-ent-empty {\n padding: 30px 18px;\n color: var(--mj-text-muted);\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.gc-ent-empty i { font-size: 18px; opacity: 0.5; }\n.gc-ent-clear {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n cursor: pointer;\n font-family: inherit;\n margin-top: 4px;\n}\n.gc-ent-clear:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-brand-primary);\n}\n\n/* ---------- Schema explorer ---------- */\n.gc-schema-toolbar {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-schema-search-wrap {\n position: relative;\n flex: 1;\n}\n.gc-schema-search-icon {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-schema-search {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-schema-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-schema-reload {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 30px;\n height: 30px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-schema-reload:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n.gc-schema-kinds {\n display: flex;\n gap: 4px;\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-schema-kind {\n flex: 1;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 5px 6px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n transition: all 0.12s;\n}\n.gc-schema-kind:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.gc-schema-kind span {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n padding: 0 6px;\n border-radius: 100px;\n font-size: 10px;\n color: var(--mj-text-muted);\n}\n.gc-schema-kind--active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: white;\n}\n.gc-schema-kind--active span {\n background: rgba(255, 255, 255, 0.25);\n border-color: transparent;\n color: white;\n}\n\n.gc-schema-state {\n padding: 28px 18px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n line-height: 1.5;\n}\n.gc-schema-state i { font-size: 22px; opacity: 0.5; }\n\n.gc-schema-disabled {\n color: var(--mj-text-secondary);\n}\n.gc-schema-disabled i {\n color: var(--mj-status-warning);\n opacity: 0.85;\n font-size: 24px;\n margin-bottom: 4px;\n}\n.gc-schema-disabled-title {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.gc-schema-disabled-body {\n font-size: 12px;\n color: var(--mj-text-muted);\n max-width: 240px;\n}\n\n.gc-schema-state--err {\n color: var(--mj-status-error);\n align-items: stretch;\n text-align: left;\n}\n.gc-schema-state--err i { color: var(--mj-status-error); opacity: 0.9; align-self: center; }\n.gc-schema-err-title {\n font-size: 13px;\n font-weight: 600;\n text-align: center;\n color: var(--mj-status-error);\n}\n.gc-schema-err-body {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 8px 10px;\n border-radius: 6px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n word-break: break-word;\n max-height: 160px;\n overflow-y: auto;\n}\n\n.gc-schema-list {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-schema-op {\n width: 100%;\n text-align: left;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n padding: 8px 10px;\n margin-bottom: 4px;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-schema-op:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n.gc-schema-op-head {\n display: flex;\n align-items: baseline;\n gap: 8px;\n margin-bottom: 3px;\n}\n.gc-schema-op-kind {\n font-size: 9.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n padding: 1px 6px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n.gc-schema-op--mutation .gc-schema-op-kind {\n background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-schema-op-name {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n word-break: break-all;\n}\n.gc-schema-op-args,\n.gc-schema-op-return {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n word-break: break-word;\n}\n.gc-schema-op-return {\n color: var(--mj-text-secondary);\n margin-top: 2px;\n}\n.gc-schema-op-return i { font-size: 9px; margin-right: 3px; opacity: 0.6; }\n.gc-schema-op-desc {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 5px;\n line-height: 1.4;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n/* Main panel */\n.gc-main {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n.gc-editor-wrap,\n.gc-vars-wrap,\n.gc-response-wrap {\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n}\n.gc-editor-wrap {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex: 1;\n min-height: 200px;\n}\n.gc-response-wrap {\n flex: 1;\n min-height: 200px;\n background: var(--mj-bg-page);\n}\n\n.gc-editor-head,\n.gc-response-head {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.gc-editor-label { flex: 0 0 auto; }\n.gc-editor-hint {\n font-weight: 500;\n text-transform: none;\n letter-spacing: normal;\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n.gc-mini-btn {\n margin-left: auto;\n background: transparent;\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 4px 10px;\n border-radius: 5px;\n font-size: 11px;\n cursor: pointer;\n font-family: inherit;\n text-transform: none;\n letter-spacing: normal;\n font-weight: 500;\n}\n.gc-mini-btn:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-default);\n}\n.gc-mini-btn--danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 40%, var(--mj-border-default));\n}\n\n/* mj-code-editor host fill \u2014 the component renders CodeMirror internally\n and we want it to use the full available area of its flex parent. */\nmj-code-editor.gc-editor {\n flex: 1;\n min-height: 0;\n width: 100%;\n display: block;\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\nmj-code-editor.gc-editor ::ng-deep .cm-editor {\n height: 100%;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n}\nmj-code-editor.gc-editor ::ng-deep .cm-scroller {\n line-height: 1.55;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\nmj-code-editor.gc-editor--vars {\n background: var(--mj-bg-surface-sunken);\n flex: 0 0 auto;\n min-height: 80px;\n max-height: 160px;\n}\nmj-code-editor.gc-editor--vars ::ng-deep .cm-editor {\n background: var(--mj-bg-surface-sunken);\n}\n\n/* Variables collapsible */\n.gc-vars-wrap {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-vars-toggle {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n background: var(--mj-bg-surface-card);\n border: none;\n padding: 7px 16px;\n cursor: pointer;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-family: inherit;\n text-align: left;\n transition: background 0.12s;\n}\n.gc-vars-toggle:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n.gc-vars-chev {\n color: var(--mj-text-muted);\n font-size: 10px;\n transition: transform 0.15s;\n}\n.gc-vars-chev--down { transform: rotate(90deg); }\n.gc-vars-pill {\n margin-left: auto;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n font-size: 10px;\n padding: 1px 8px;\n border-radius: 100px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n}\n\n/* Run bar */\n.gc-run-bar {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-run-btn {\n background: var(--mj-brand-primary);\n color: white;\n border: 1px solid var(--mj-brand-primary);\n padding: 8px 18px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n box-shadow: 0 2px 6px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n transition: background 0.15s, transform 0.1s;\n}\n.gc-run-btn:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n}\n.gc-run-btn:active:not(:disabled) { transform: scale(0.98); }\n.gc-run-btn:disabled {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-default);\n color: var(--mj-text-muted);\n box-shadow: none;\n cursor: wait;\n}\n\n.gc-run-meta {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-status-badge {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 10px;\n border-radius: 100px;\n font-size: 11px;\n font-weight: 600;\n}\n.gc-status-badge--ok {\n background: color-mix(in srgb, var(--mj-status-success) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary));\n}\n.gc-status-badge--err {\n background: color-mix(in srgb, var(--mj-status-error) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n}\n.gc-meta-pill {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 3px 9px;\n border-radius: 100px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\n.gc-spacer { flex: 1; }\n\n/* Response */\n.gc-response {\n margin: 0;\n flex: 1;\n overflow: auto;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12px;\n line-height: 1.55;\n}\n.gc-response code { white-space: pre-wrap; word-break: break-word; }\n\n.gc-error {\n margin: 12px 16px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-border-subtle));\n border-radius: 8px;\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n font-size: 12.5px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n.gc-error i { margin-top: 2px; flex-shrink: 0; }\n.gc-error--inline { margin-bottom: 0; }\n\n.gc-empty {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n.gc-empty i { font-size: 24px; opacity: 0.4; }\n\n@media (max-width: 900px) {\n .gc-sidebar, .gc-history { display: none; }\n}\n"] }]
|
|
1418
|
+
args: [{ standalone: false, selector: 'mj-graphql-console', template: "<div class=\"mj-inspector mj-inspector--solo\">\n <mj-page-header-interior\n Role=\"region\"\n AriaLabel=\"GraphQL console\"\n Title=\"GraphQL Console\"\n Subtitle=\"Run queries against the connected MJ API\">\n <div meta>\n @if (ApiUrl) {\n <span class=\"gc-endpoint-meta\">\n <i class=\"fa-solid fa-plug\" aria-hidden=\"true\"></i>\n <code class=\"gc-endpoint\">{{ ApiUrl }}</code>\n </span>\n }\n </div>\n <div actions>\n <button mjButton\n variant=\"secondary\"\n size=\"sm\"\n [toggleable]=\"true\"\n [(selected)]=\"ShowHistory\"\n title=\"Toggle history sidebar\">\n <i class=\"fa-solid fa-clock-rotate-left\" aria-hidden=\"true\"></i> History\n </button>\n <button mjButton variant=\"secondary\" size=\"sm\" (click)=\"OnCopyAsCurl()\" title=\"Copy as cURL command\">\n <i class=\"fa-solid fa-terminal\" aria-hidden=\"true\"></i> Copy cURL\n </button>\n </div>\n </mj-page-header-interior>\n\n <div class=\"gc-body\">\n @if (ShowHistory) {\n <aside class=\"gc-sidebar\" [style.width.px]=\"SidebarWidthPx\">\n <div class=\"gc-sidebar-tabs\">\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'history'\"\n (click)=\"OnSidebarTabChange('history')\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i> History\n </button>\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'entities'\"\n (click)=\"OnSidebarTabChange('entities')\">\n <i class=\"fa-solid fa-table-list\"></i> Entities\n </button>\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'schema'\"\n (click)=\"OnSidebarTabChange('schema')\">\n <i class=\"fa-solid fa-sitemap\"></i> Schema\n </button>\n </div>\n\n @if (SidebarTab === 'history') {\n <div class=\"gc-history-head\">\n <span>{{ History.length }} {{ History.length === 1 ? 'entry' : 'entries' }}</span>\n <button class=\"gc-history-clear\"\n type=\"button\"\n (click)=\"OnClearHistory()\"\n title=\"Clear non-favorite history\">\n <i class=\"fa-solid fa-broom\"></i>\n </button>\n </div>\n @if (History.length === 0) {\n <div class=\"gc-history-empty\">\n <i class=\"fa-regular fa-circle-question\"></i>\n Run a query to see it here. Star <i class=\"fa-solid fa-star\"></i> to keep it.\n </div>\n } @else {\n <div class=\"gc-history-list\">\n @for (h of History; track TrackByHistory($index, h)) {\n <button type=\"button\"\n class=\"gc-history-item\"\n [class.gc-history-item--error]=\"h.status === 'error'\"\n [class.gc-history-item--fav]=\"h.favorite\"\n (click)=\"OnRestoreHistory(h)\">\n <div class=\"gc-history-item-head\">\n <i class=\"gc-history-status\"\n [class.fa-solid]=\"true\"\n [class.fa-circle-check]=\"h.status === 'ok'\"\n [class.fa-circle-xmark]=\"h.status === 'error'\"\n [class.gc-status--ok]=\"h.status === 'ok'\"\n [class.gc-status--err]=\"h.status === 'error'\"></i>\n <span class=\"gc-history-label\">{{ h.label || 'unnamed' }}</span>\n <button class=\"gc-history-fav\"\n type=\"button\"\n (click)=\"OnToggleFavorite(h, $event)\"\n [title]=\"h.favorite ? 'Unfavorite' : 'Favorite'\">\n <i [class]=\"h.favorite ? 'fa-solid fa-star' : 'fa-regular fa-star'\"></i>\n </button>\n <button class=\"gc-history-del\"\n type=\"button\"\n (click)=\"OnDeleteHistory(h, $event)\"\n title=\"Remove from history\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"gc-history-meta\">\n <span>{{ h.timestamp | date:'HH:mm:ss' }}</span>\n @if (h.durationMs != null) {\n <span>\u00B7</span>\n <span>{{ h.durationMs }}ms</span>\n }\n </div>\n </button>\n }\n </div>\n }\n } @else if (SidebarTab === 'entities') {\n <div class=\"gc-ent-toolbar\">\n <div class=\"gc-ent-search-wrap\">\n <i class=\"fa-solid fa-search gc-ent-search-icon\"></i>\n <input type=\"search\"\n class=\"gc-ent-search\"\n placeholder=\"Search entities\u2026\"\n [(ngModel)]=\"EntitiesSearch\" />\n </div>\n @if (KnownSchemas.length > 1) {\n <select class=\"gc-ent-schema\" [(ngModel)]=\"EntitySchemaFilter\">\n <option value=\"\">All schemas ({{ KnownSchemas.length }})</option>\n @for (s of KnownSchemas; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n }\n </div>\n <div class=\"gc-ent-meta\">\n <span>{{ FilteredEntities.length }} of {{ Entities.length }}</span>\n <span class=\"gc-ent-hint\">Click an entity to see operations</span>\n </div>\n <div class=\"gc-ent-list\">\n @for (item of FilteredEntities; track TrackByEntity($index, item)) {\n <div class=\"gc-ent-card\" [class.gc-ent-card--expanded]=\"item.expanded\">\n <button type=\"button\"\n class=\"gc-ent-row\"\n (click)=\"ToggleEntity(item)\">\n <i class=\"fa-solid fa-chevron-right gc-ent-chev\"\n [class.gc-ent-chev--down]=\"item.expanded\"></i>\n <div class=\"gc-ent-info\">\n <div class=\"gc-ent-name\">{{ item.info.Name }}</div>\n <div class=\"gc-ent-meta-row\">\n <code class=\"gc-ent-typename\">{{ item.typeName }}</code>\n <span class=\"gc-ent-schema-badge\">{{ item.schema }}</span>\n </div>\n </div>\n </button>\n @if (item.expanded) {\n <div class=\"gc-ent-actions\">\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--read\"\n (click)=\"OnEntityOp(item, 'view', $event)\"\n title=\"Insert a Run View template (Shift-click to append)\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n Run view\n </button>\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--read\"\n (click)=\"OnEntityOp(item, 'byId', $event)\"\n title=\"Fetch a single record by ID (Shift-click to append)\">\n <i class=\"fa-solid fa-fingerprint\"></i>\n Get by ID\n </button>\n @if (item.info.AllowCreateAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--write\"\n (click)=\"OnEntityOp(item, 'create', $event)\"\n title=\"Create a new record (Shift-click to append)\">\n <i class=\"fa-solid fa-plus\"></i>\n Create\n </button>\n }\n @if (item.info.AllowUpdateAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--write\"\n (click)=\"OnEntityOp(item, 'update', $event)\"\n title=\"Update an existing record (Shift-click to append)\">\n <i class=\"fa-solid fa-pen\"></i>\n Update\n </button>\n }\n @if (item.info.AllowDeleteAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--danger\"\n (click)=\"OnEntityOp(item, 'delete', $event)\"\n title=\"Delete a record (Shift-click to append)\">\n <i class=\"fa-solid fa-trash\"></i>\n Delete\n </button>\n }\n </div>\n @if (item.info.Description) {\n <div class=\"gc-ent-desc\">{{ item.info.Description }}</div>\n }\n }\n </div>\n }\n @if (FilteredEntities.length === 0) {\n <div class=\"gc-ent-empty\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No entities match.</span>\n @if (EntitiesSearch || EntitySchemaFilter) {\n <button class=\"gc-ent-clear\" type=\"button\" (click)=\"ClearEntityFilters()\">\n Clear filters\n </button>\n }\n </div>\n }\n </div>\n } @else {\n <div class=\"gc-schema-toolbar\">\n <div class=\"gc-schema-search-wrap\">\n <i class=\"fa-solid fa-search gc-schema-search-icon\"></i>\n <input type=\"search\"\n class=\"gc-schema-search\"\n placeholder=\"Search operations\u2026\"\n [(ngModel)]=\"SchemaSearch\" />\n </div>\n <button class=\"gc-schema-reload\"\n type=\"button\"\n (click)=\"OnReloadSchema()\"\n [disabled]=\"SchemaLoading\"\n title=\"Reload schema\">\n <i class=\"fa-solid\" [class.fa-rotate]=\"!SchemaLoading\" [class.fa-spinner]=\"SchemaLoading\" [class.fa-spin]=\"SchemaLoading\"></i>\n </button>\n </div>\n\n @if (Operations.length > 0) {\n <div class=\"gc-schema-kinds\">\n <button type=\"button\"\n class=\"gc-schema-kind\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'all'\"\n (click)=\"SchemaKindFilter = 'all'\">\n All <span>{{ OperationCounts.all }}</span>\n </button>\n <button type=\"button\"\n class=\"gc-schema-kind gc-schema-kind--query\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'query'\"\n (click)=\"SchemaKindFilter = 'query'\">\n <i class=\"fa-solid fa-magnifying-glass\"></i> Query <span>{{ OperationCounts.query }}</span>\n </button>\n <button type=\"button\"\n class=\"gc-schema-kind gc-schema-kind--mutation\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'mutation'\"\n (click)=\"SchemaKindFilter = 'mutation'\">\n <i class=\"fa-solid fa-pen\"></i> Mutation <span>{{ OperationCounts.mutation }}</span>\n </button>\n </div>\n }\n\n @if (SchemaLoading) {\n <div class=\"gc-schema-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Introspecting schema\u2026</span>\n </div>\n } @else if (SchemaIntrospectionDisabled) {\n <div class=\"gc-schema-state gc-schema-disabled\">\n <i class=\"fa-solid fa-lock\"></i>\n <div class=\"gc-schema-disabled-title\">Introspection disabled</div>\n <div class=\"gc-schema-disabled-body\">\n This server has GraphQL introspection turned off (typical in production). Schema browsing isn't available \u2014 write queries directly in the editor, or use the History tab to revisit previous queries.\n </div>\n </div>\n } @else if (SchemaError) {\n <div class=\"gc-schema-state gc-schema-state--err\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <div class=\"gc-schema-err-title\">Couldn't load schema</div>\n <div class=\"gc-schema-err-body\">{{ SchemaError }}</div>\n </div>\n } @else if (FilteredOperations.length === 0) {\n <div class=\"gc-schema-state\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No operations match.</span>\n </div>\n } @else {\n <div class=\"gc-schema-list\">\n @for (op of FilteredOperations; track TrackByOp($index, op)) {\n <button type=\"button\"\n class=\"gc-schema-op\"\n [class.gc-schema-op--mutation]=\"op.kind === 'mutation'\"\n (click)=\"OnInsertOperation(op, $event)\"\n [title]=\"(op.description || ('Insert ' + op.kind + ' template')) + ' \u00B7 Shift-click to append'\">\n <div class=\"gc-schema-op-head\">\n <span class=\"gc-schema-op-kind\">{{ op.kind }}</span>\n <span class=\"gc-schema-op-name\">{{ op.name }}</span>\n </div>\n @if (op.argSummary) {\n <div class=\"gc-schema-op-args\">({{ op.argSummary }})</div>\n }\n <div class=\"gc-schema-op-return\">\n <i class=\"fa-solid fa-arrow-right\"></i> {{ op.returnSummary }}\n </div>\n @if (op.description) {\n <div class=\"gc-schema-op-desc\">{{ op.description }}</div>\n }\n </button>\n }\n </div>\n }\n }\n </aside>\n <div class=\"gc-splitter gc-splitter--vert\"\n (mousedown)=\"OnSplitterDown($event, 'sidebar')\"\n title=\"Drag to resize sidebar\"></div>\n }\n\n <div class=\"gc-main\">\n <div class=\"gc-editor-wrap\" [style.flex]=\"'0 0 ' + EditorHeightPct + '%'\">\n <div class=\"gc-editor-head\">\n <span class=\"gc-editor-label\">Query</span>\n <span class=\"gc-editor-hint\">\u2318/Ctrl+Enter to run \u00B7 Shift+click an entity/op to append</span>\n <button class=\"gc-mini-btn\" type=\"button\" (click)=\"OnFormatQuery()\" title=\"Tidy whitespace\">\n <i class=\"fa-solid fa-broom\"></i> Tidy\n </button>\n <button class=\"gc-mini-btn gc-mini-btn--danger\" type=\"button\" (click)=\"OnClearQuery()\" title=\"Clear editor\">\n <i class=\"fa-solid fa-eraser\"></i> Clear\n </button>\n </div>\n <mj-code-editor\n class=\"gc-editor\"\n [(ngModel)]=\"Query\"\n [language]=\"'graphql'\"\n [lineWrapping]=\"true\"\n placeholder=\"Enter your GraphQL query\u2026\">\n </mj-code-editor>\n </div>\n\n <div class=\"gc-splitter gc-splitter--horiz\"\n (mousedown)=\"OnSplitterDown($event, 'editor')\"\n title=\"Drag to resize editor / response\"></div>\n\n <div class=\"gc-vars-wrap\">\n <button class=\"gc-vars-toggle\" type=\"button\" (click)=\"ToggleVariables()\">\n <i class=\"fa-solid fa-chevron-right gc-vars-chev\" [class.gc-vars-chev--down]=\"ShowVariables\"></i>\n Variables\n @if (Variables && Variables.trim() !== '{}' && Variables.trim() !== '') {\n <span class=\"gc-vars-pill\">configured</span>\n }\n </button>\n @if (ShowVariables) {\n <mj-code-editor\n class=\"gc-editor gc-editor--vars\"\n [(ngModel)]=\"Variables\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n placeholder=\"{}\">\n </mj-code-editor>\n }\n </div>\n\n <div class=\"gc-run-bar\">\n <button class=\"gc-run-btn\"\n type=\"button\"\n [disabled]=\"Running\"\n (click)=\"OnRun()\">\n @if (Running) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Running\u2026\n } @else {\n <i class=\"fa-solid fa-play\"></i> Run\n }\n </button>\n @if (ResponseStatus !== 'idle') {\n <div class=\"gc-run-meta\">\n @if (ResponseStatus === 'ok') {\n <span class=\"gc-status-badge gc-status-badge--ok\">\n <i class=\"fa-solid fa-circle-check\"></i> 200 OK\n </span>\n } @else {\n <span class=\"gc-status-badge gc-status-badge--err\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i> Error\n </span>\n }\n @if (ResponseDurationMs != null) {\n <span class=\"gc-meta-pill\"><i class=\"fa-regular fa-clock\"></i> {{ ResponseDurationMs }}ms</span>\n }\n @if (ResponseSizeBytes != null) {\n <span class=\"gc-meta-pill\"><i class=\"fa-solid fa-database\"></i> {{ FormattedSize }}</span>\n }\n </div>\n }\n <span class=\"gc-spacer\"></span>\n @if (ResponseJson) {\n <button mjButton\n [variant]=\"CopyConfirmed ? 'success' : 'secondary'\"\n size=\"sm\"\n (click)=\"OnCopyResponse()\">\n <i class=\"fa-solid\" [class.fa-clipboard]=\"!CopyConfirmed\" [class.fa-check]=\"CopyConfirmed\" aria-hidden=\"true\"></i>\n {{ CopyConfirmed ? 'Copied' : 'Copy' }}\n </button>\n }\n </div>\n\n <div class=\"gc-response-wrap\">\n <div class=\"gc-response-head\">\n <span class=\"gc-editor-label\">Response</span>\n </div>\n @if (ErrorMessage && !ResponseJson) {\n <div class=\"gc-error\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <span>{{ ErrorMessage }}</span>\n </div>\n } @else if (ResponseJson) {\n @if (ErrorMessage) {\n <div class=\"gc-error gc-error--inline\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <span>{{ ErrorMessage }}</span>\n </div>\n }\n <pre class=\"gc-response\"><code>{{ ResponseJson }}</code></pre>\n } @else {\n <div class=\"gc-empty\">\n <i class=\"fa-solid fa-arrow-up-from-bracket\"></i>\n <span>Run a query to see results here.</span>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: [":host { display: block; height: 100%; }\n\n/*\n Inspector shell \u2014 each Dev Tools sub-page wraps its body in .mj-inspector. The\n chrome (title icon, title, subtitle, action buttons) was previously rendered\n via .mj-inspector__header*, but that's been replaced by <mj-page-header-interior>\n in every inspector template. Action buttons now use the mjButton directive\n (variant=\"secondary\" / \"success\") so they inherit global button styling. App\n State + Layout inspectors used to carry an inner left rail (.mj-inspector__body\n + __sidebar + __nav-item) for L2 sections; that rail was retired 2026-05-19 in\n favor of <mj-tab-nav> projected into the chrome's [toolbar] slot, matching\n SystemDiagnostics and the API Keys tab strip. All inspectors are now \"solo\"\n mode (no sidebar).\n*/\n.mj-inspector {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n/* Content area */\n.mj-inspector__content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor mj-code-editor {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n/* Empty state */\n.mj-inspector__empty {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n", ".mj-inspector--solo { background: var(--mj-bg-page); }\n.gc-endpoint {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n color: var(--mj-text-secondary);\n}\n.gc-endpoint-meta {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11.5px;\n color: var(--mj-text-muted);\n}\n\n.gc-body {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n/* Sidebar (history + entities + schema) \u2014 width is bound from component */\n.gc-sidebar {\n flex-shrink: 0;\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n min-width: 200px;\n max-width: 560px;\n}\n\n/* Resizable splitters */\n.gc-splitter {\n flex-shrink: 0;\n background: var(--mj-border-subtle);\n transition: background 0.15s;\n position: relative;\n}\n.gc-splitter:hover { background: var(--mj-brand-primary); }\n.gc-splitter:active { background: color-mix(in srgb, var(--mj-brand-primary) 80%, black); }\n.gc-splitter--vert {\n width: 4px;\n cursor: col-resize;\n}\n.gc-splitter--horiz {\n height: 4px;\n cursor: row-resize;\n}\n/* Bigger invisible hit area so the splitter is easier to grab */\n.gc-splitter::before {\n content: '';\n position: absolute;\n inset: -3px;\n}\n.gc-sidebar-tabs {\n display: flex;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-sidebar-tab {\n flex: 1;\n padding: 10px 8px;\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n font-size: 11.5px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n border-bottom: 2px solid transparent;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.15s;\n}\n.gc-sidebar-tab:hover { color: var(--mj-text-primary); }\n.gc-sidebar-tab--active {\n color: var(--mj-brand-primary);\n border-bottom-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n}\n\n/* History sidebar (legacy classname kept for the inner head row) */\n.gc-history {\n width: 280px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n}\n.gc-history-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-card);\n}\n.gc-history-clear {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 24px;\n height: 24px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.gc-history-clear:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n.gc-history-empty {\n padding: 20px 16px;\n color: var(--mj-text-muted);\n font-size: 12px;\n text-align: center;\n line-height: 1.5;\n}\n.gc-history-empty i { display: block; font-size: 22px; margin-bottom: 8px; opacity: 0.5; }\n\n.gc-history-list {\n flex: 1;\n overflow-y: auto;\n padding: 4px;\n}\n.gc-history-item {\n width: 100%;\n text-align: left;\n background: transparent;\n border: 1px solid transparent;\n padding: 8px 10px;\n border-radius: 7px;\n cursor: pointer;\n margin-bottom: 2px;\n font-family: inherit;\n transition: background 0.12s, border-color 0.12s;\n}\n.gc-history-item:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-subtle);\n}\n.gc-history-item--fav {\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n}\n\n.gc-history-item-head {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-history-status {\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-status--ok { color: var(--mj-status-success); }\n.gc-status--err { color: var(--mj-status-error); }\n\n.gc-history-label {\n flex: 1;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n font-weight: 500;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-history-fav,\n.gc-history-del {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px;\n height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n opacity: 0;\n transition: all 0.12s;\n}\n.gc-history-item:hover .gc-history-fav,\n.gc-history-item:hover .gc-history-del { opacity: 1; }\n.gc-history-item--fav .gc-history-fav { opacity: 1; color: var(--mj-status-warning); }\n.gc-history-fav:hover { color: var(--mj-status-warning); background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); }\n.gc-history-del:hover { color: var(--mj-status-error); background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); }\n\n.gc-history-meta {\n margin-top: 3px;\n margin-left: 18px;\n display: flex;\n gap: 4px;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n}\n\n/* ---------- Entities tab ---------- */\n.gc-ent-toolbar {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-ent-search-wrap {\n position: relative;\n flex: 1;\n min-width: 0;\n}\n.gc-ent-search-icon {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-ent-search {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-ent-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-ent-schema {\n padding: 5px 8px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 11.5px;\n font-family: inherit;\n cursor: pointer;\n max-width: 130px;\n}\n\n.gc-ent-meta {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-ent-hint { font-style: italic; }\n\n.gc-ent-list {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-ent-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n margin-bottom: 4px;\n overflow: hidden;\n transition: border-color 0.12s, box-shadow 0.15s;\n}\n.gc-ent-card:hover { border-color: var(--mj-border-default); }\n.gc-ent-card--expanded {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n}\n.gc-ent-row {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 10px;\n background: transparent;\n border: none;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n}\n.gc-ent-row:hover { background: var(--mj-bg-surface-hover); }\n.gc-ent-card--expanded .gc-ent-row { background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent); }\n.gc-ent-chev {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n}\n.gc-ent-chev--down { transform: rotate(90deg); }\n.gc-ent-info { flex: 1; min-width: 0; }\n.gc-ent-name {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-meta-row {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n align-items: center;\n}\n.gc-ent-typename {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-schema-badge {\n font-size: 10px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.4px;\n}\n\n.gc-ent-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n padding: 6px 10px 8px 30px;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n.gc-ent-op {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 5px 9px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-ent-op:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n.gc-ent-op--read:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.gc-ent-op--write:hover {\n border-color: color-mix(in srgb, var(--mj-status-warning) 50%, var(--mj-border-strong));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-ent-op--danger:hover {\n border-color: var(--mj-status-error);\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n.gc-ent-desc {\n padding: 4px 10px 8px 30px;\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.45;\n}\n\n.gc-ent-empty {\n padding: 30px 18px;\n color: var(--mj-text-muted);\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.gc-ent-empty i { font-size: 18px; opacity: 0.5; }\n.gc-ent-clear {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n cursor: pointer;\n font-family: inherit;\n margin-top: 4px;\n}\n.gc-ent-clear:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-brand-primary);\n}\n\n/* ---------- Schema explorer ---------- */\n.gc-schema-toolbar {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-schema-search-wrap {\n position: relative;\n flex: 1;\n}\n.gc-schema-search-icon {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-schema-search {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-schema-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-schema-reload {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 30px;\n height: 30px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-schema-reload:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n.gc-schema-kinds {\n display: flex;\n gap: 4px;\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-schema-kind {\n flex: 1;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 5px 6px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n transition: all 0.12s;\n}\n.gc-schema-kind:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.gc-schema-kind span {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n padding: 0 6px;\n border-radius: 100px;\n font-size: 10px;\n color: var(--mj-text-muted);\n}\n.gc-schema-kind--active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: white;\n}\n.gc-schema-kind--active span {\n background: rgba(255, 255, 255, 0.25);\n border-color: transparent;\n color: white;\n}\n\n.gc-schema-state {\n padding: 28px 18px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n line-height: 1.5;\n}\n.gc-schema-state i { font-size: 22px; opacity: 0.5; }\n\n.gc-schema-disabled {\n color: var(--mj-text-secondary);\n}\n.gc-schema-disabled i {\n color: var(--mj-status-warning);\n opacity: 0.85;\n font-size: 24px;\n margin-bottom: 4px;\n}\n.gc-schema-disabled-title {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.gc-schema-disabled-body {\n font-size: 12px;\n color: var(--mj-text-muted);\n max-width: 240px;\n}\n\n.gc-schema-state--err {\n color: var(--mj-status-error);\n align-items: stretch;\n text-align: left;\n}\n.gc-schema-state--err i { color: var(--mj-status-error); opacity: 0.9; align-self: center; }\n.gc-schema-err-title {\n font-size: 13px;\n font-weight: 600;\n text-align: center;\n color: var(--mj-status-error);\n}\n.gc-schema-err-body {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 8px 10px;\n border-radius: 6px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n word-break: break-word;\n max-height: 160px;\n overflow-y: auto;\n}\n\n.gc-schema-list {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-schema-op {\n width: 100%;\n text-align: left;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n padding: 8px 10px;\n margin-bottom: 4px;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-schema-op:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n.gc-schema-op-head {\n display: flex;\n align-items: baseline;\n gap: 8px;\n margin-bottom: 3px;\n}\n.gc-schema-op-kind {\n font-size: 9.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n padding: 1px 6px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n.gc-schema-op--mutation .gc-schema-op-kind {\n background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-schema-op-name {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n word-break: break-all;\n}\n.gc-schema-op-args,\n.gc-schema-op-return {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n word-break: break-word;\n}\n.gc-schema-op-return {\n color: var(--mj-text-secondary);\n margin-top: 2px;\n}\n.gc-schema-op-return i { font-size: 9px; margin-right: 3px; opacity: 0.6; }\n.gc-schema-op-desc {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 5px;\n line-height: 1.4;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n/* Main panel */\n.gc-main {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n.gc-editor-wrap,\n.gc-vars-wrap,\n.gc-response-wrap {\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n}\n.gc-editor-wrap {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex: 1;\n min-height: 200px;\n}\n.gc-response-wrap {\n flex: 1;\n min-height: 200px;\n background: var(--mj-bg-page);\n}\n\n.gc-editor-head,\n.gc-response-head {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.gc-editor-label { flex: 0 0 auto; }\n.gc-editor-hint {\n font-weight: 500;\n text-transform: none;\n letter-spacing: normal;\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n.gc-mini-btn {\n margin-left: auto;\n background: transparent;\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 4px 10px;\n border-radius: 5px;\n font-size: 11px;\n cursor: pointer;\n font-family: inherit;\n text-transform: none;\n letter-spacing: normal;\n font-weight: 500;\n}\n.gc-mini-btn:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-default);\n}\n.gc-mini-btn--danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 40%, var(--mj-border-default));\n}\n\n/* mj-code-editor host fill \u2014 the component renders CodeMirror internally\n and we want it to use the full available area of its flex parent. */\nmj-code-editor.gc-editor {\n flex: 1;\n min-height: 0;\n width: 100%;\n display: block;\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\nmj-code-editor.gc-editor ::ng-deep .cm-editor {\n height: 100%;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n}\nmj-code-editor.gc-editor ::ng-deep .cm-scroller {\n line-height: 1.55;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\nmj-code-editor.gc-editor--vars {\n background: var(--mj-bg-surface-sunken);\n flex: 0 0 auto;\n min-height: 80px;\n max-height: 160px;\n}\nmj-code-editor.gc-editor--vars ::ng-deep .cm-editor {\n background: var(--mj-bg-surface-sunken);\n}\n\n/* Variables collapsible */\n.gc-vars-wrap {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-vars-toggle {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n background: var(--mj-bg-surface-card);\n border: none;\n padding: 7px 16px;\n cursor: pointer;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-family: inherit;\n text-align: left;\n transition: background 0.12s;\n}\n.gc-vars-toggle:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n.gc-vars-chev {\n color: var(--mj-text-muted);\n font-size: 10px;\n transition: transform 0.15s;\n}\n.gc-vars-chev--down { transform: rotate(90deg); }\n.gc-vars-pill {\n margin-left: auto;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n font-size: 10px;\n padding: 1px 8px;\n border-radius: 100px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n}\n\n/* Run bar */\n.gc-run-bar {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-run-btn {\n background: var(--mj-brand-primary);\n color: white;\n border: 1px solid var(--mj-brand-primary);\n padding: 8px 18px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n box-shadow: 0 2px 6px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n transition: background 0.15s, transform 0.1s;\n}\n.gc-run-btn:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n}\n.gc-run-btn:active:not(:disabled) { transform: scale(0.98); }\n.gc-run-btn:disabled {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-default);\n color: var(--mj-text-muted);\n box-shadow: none;\n cursor: wait;\n}\n\n.gc-run-meta {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-status-badge {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 10px;\n border-radius: 100px;\n font-size: 11px;\n font-weight: 600;\n}\n.gc-status-badge--ok {\n background: color-mix(in srgb, var(--mj-status-success) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary));\n}\n.gc-status-badge--err {\n background: color-mix(in srgb, var(--mj-status-error) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n}\n.gc-meta-pill {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 3px 9px;\n border-radius: 100px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\n.gc-spacer { flex: 1; }\n\n/* Response */\n.gc-response {\n margin: 0;\n flex: 1;\n overflow: auto;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12px;\n line-height: 1.55;\n}\n.gc-response code { white-space: pre-wrap; word-break: break-word; }\n\n.gc-error {\n margin: 12px 16px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-border-subtle));\n border-radius: 8px;\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n font-size: 12.5px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n.gc-error i { margin-top: 2px; flex-shrink: 0; }\n.gc-error--inline { margin-bottom: 0; }\n\n.gc-empty {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n.gc-empty i { font-size: 24px; opacity: 0.4; }\n\n@media (max-width: 900px) {\n .gc-sidebar, .gc-history { display: none; }\n}\n"] }]
|
|
1426
1419
|
}], () => [{ type: i0.ChangeDetectorRef }], { queryEditor: [{
|
|
1427
1420
|
type: ViewChild,
|
|
1428
1421
|
args: ['queryEditor']
|