@memberjunction/ng-dashboards 5.35.0 → 5.37.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.
Files changed (159) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.js +3 -3
  2. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  3. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +22 -1
  4. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
  5. package/dist/AI/components/analytics/ai-analytics-resource.component.js +157 -137
  6. package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
  7. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +28 -0
  8. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  9. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +2075 -2068
  10. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  11. package/dist/AI/components/models/model-management.component.js +4 -4
  12. package/dist/AI/components/models/model-management.component.js.map +1 -1
  13. package/dist/AI/components/prompts/prompt-management.component.js +3 -3
  14. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  15. package/dist/AI/components/tags/tags-resource.component.d.ts +15 -0
  16. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  17. package/dist/AI/components/tags/tags-resource.component.js +1411 -1424
  18. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  19. package/dist/APIKeys/api-keys-resource.component.d.ts +12 -8
  20. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  21. package/dist/APIKeys/api-keys-resource.component.js +329 -371
  22. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  23. package/dist/Actions/components/actions-overview.component.js +137 -142
  24. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  25. package/dist/Actions/components/execution-monitoring.component.js +111 -116
  26. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  27. package/dist/Admin/admin-data-schema.component.js +13 -65
  28. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  29. package/dist/Admin/admin-dev-tools-resource.component.js +13 -65
  30. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  31. package/dist/Admin/admin-identity-access.component.js +13 -65
  32. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  33. package/dist/Admin/admin-monitoring.component.js +13 -65
  34. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  35. package/dist/Admin/base-admin-container.component.d.ts +9 -7
  36. package/dist/Admin/base-admin-container.component.d.ts.map +1 -1
  37. package/dist/Admin/base-admin-container.component.js +26 -17
  38. package/dist/Admin/base-admin-container.component.js.map +1 -1
  39. package/dist/ApplicationRoles/application-roles-resource.component.js +74 -67
  40. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  41. package/dist/Communication/communication-new-message-resource.component.d.ts +93 -0
  42. package/dist/Communication/communication-new-message-resource.component.d.ts.map +1 -0
  43. package/dist/Communication/communication-new-message-resource.component.js +661 -0
  44. package/dist/Communication/communication-new-message-resource.component.js.map +1 -0
  45. package/dist/Credentials/components/credentials-categories-resource.component.js +152 -159
  46. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  47. package/dist/Credentials/components/credentials-types-resource.component.js +151 -155
  48. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  49. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +20 -21
  50. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
  51. package/dist/DatabaseDesigner/components/entity-list.component.d.ts +2 -0
  52. package/dist/DatabaseDesigner/components/entity-list.component.d.ts.map +1 -1
  53. package/dist/DatabaseDesigner/components/entity-list.component.js +131 -125
  54. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  55. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
  56. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  57. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +7 -1
  58. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  59. package/dist/DevTools/app-state-inspector.component.d.ts +5 -0
  60. package/dist/DevTools/app-state-inspector.component.d.ts.map +1 -1
  61. package/dist/DevTools/app-state-inspector.component.js +46 -72
  62. package/dist/DevTools/app-state-inspector.component.js.map +1 -1
  63. package/dist/DevTools/class-registry.component.js +88 -100
  64. package/dist/DevTools/class-registry.component.js.map +1 -1
  65. package/dist/DevTools/event-monitor.component.js +158 -168
  66. package/dist/DevTools/event-monitor.component.js.map +1 -1
  67. package/dist/DevTools/graphql-console.component.js +257 -264
  68. package/dist/DevTools/graphql-console.component.js.map +1 -1
  69. package/dist/DevTools/layout-inspector.component.d.ts +5 -0
  70. package/dist/DevTools/layout-inspector.component.d.ts.map +1 -1
  71. package/dist/DevTools/layout-inspector.component.js +46 -64
  72. package/dist/DevTools/layout-inspector.component.js.map +1 -1
  73. package/dist/DevTools/lazy-module-status.component.js +75 -84
  74. package/dist/DevTools/lazy-module-status.component.js.map +1 -1
  75. package/dist/DevTools/settings-explorer.component.js +76 -85
  76. package/dist/DevTools/settings-explorer.component.js.map +1 -1
  77. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +2 -0
  78. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
  79. package/dist/EntityAdmin/entity-admin-dashboard.component.js +7 -3
  80. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  81. package/dist/Integration/components/activity/activity.component.js +97 -99
  82. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  83. package/dist/Integration/components/connections/connections.component.js +842 -855
  84. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  85. package/dist/Integration/components/pipelines/pipelines.component.js +502 -517
  86. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  87. package/dist/Integration/components/schedules/schedules.component.js +78 -89
  88. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  89. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts +5 -0
  90. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
  91. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +1120 -1128
  92. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  93. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +11 -0
  94. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
  95. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +606 -661
  96. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  97. package/dist/Lists/components/lists-browse-resource.component.d.ts +102 -0
  98. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  99. package/dist/Lists/components/lists-browse-resource.component.js +1179 -504
  100. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  101. package/dist/Lists/components/lists-operations-resource.component.d.ts +133 -3
  102. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  103. package/dist/Lists/components/lists-operations-resource.component.js +1527 -327
  104. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  105. package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts +29 -0
  106. package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts.map +1 -0
  107. package/dist/Lists/components/lists-shared-with-me-resource.component.js +77 -0
  108. package/dist/Lists/components/lists-shared-with-me-resource.component.js.map +1 -0
  109. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts +6 -0
  110. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
  111. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +35 -7
  112. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  113. package/dist/Lists/index.d.ts +1 -0
  114. package/dist/Lists/index.d.ts.map +1 -1
  115. package/dist/Lists/index.js +1 -0
  116. package/dist/Lists/index.js.map +1 -1
  117. package/dist/Lists/services/list-set-operations.service.d.ts +93 -2
  118. package/dist/Lists/services/list-set-operations.service.d.ts.map +1 -1
  119. package/dist/Lists/services/list-set-operations.service.js +236 -10
  120. package/dist/Lists/services/list-set-operations.service.js.map +1 -1
  121. package/dist/MCP/mcp-dashboard.component.js +19 -19
  122. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  123. package/dist/Scheduling/scheduling-dashboard.component.js +58 -60
  124. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  125. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +13 -3
  126. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  127. package/dist/SystemDiagnostics/system-diagnostics.component.js +1007 -1252
  128. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  129. package/dist/Testing/components/testing-explorer.component.d.ts +31 -6
  130. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  131. package/dist/Testing/components/testing-explorer.component.js +543 -629
  132. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  133. package/dist/Testing/testing-dashboard.component.js +50 -49
  134. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  135. package/dist/ai-dashboards.module.d.ts +1 -1
  136. package/dist/ai-dashboards.module.d.ts.map +1 -1
  137. package/dist/ai-dashboards.module.js +16 -1
  138. package/dist/ai-dashboards.module.js.map +1 -1
  139. package/dist/communication-dashboards.module.d.ts +9 -7
  140. package/dist/communication-dashboards.module.d.ts.map +1 -1
  141. package/dist/communication-dashboards.module.js +13 -4
  142. package/dist/communication-dashboards.module.js.map +1 -1
  143. package/dist/core-dashboards.module.d.ts +1 -1
  144. package/dist/core-dashboards.module.d.ts.map +1 -1
  145. package/dist/core-dashboards.module.js +16 -1
  146. package/dist/core-dashboards.module.js.map +1 -1
  147. package/dist/lists-dashboards.module.d.ts +10 -9
  148. package/dist/lists-dashboards.module.d.ts.map +1 -1
  149. package/dist/lists-dashboards.module.js +13 -2
  150. package/dist/lists-dashboards.module.js.map +1 -1
  151. package/dist/public-api.d.ts +1 -0
  152. package/dist/public-api.d.ts.map +1 -1
  153. package/dist/public-api.js +1 -0
  154. package/dist/public-api.js.map +1 -1
  155. package/dist/testing-dashboards.module.d.ts +1 -1
  156. package/dist/testing-dashboards.module.d.ts.map +1 -1
  157. package/dist/testing-dashboards.module.js +13 -1
  158. package/dist/testing-dashboards.module.js.map +1 -1
  159. 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-code-editor";
16
- import * as i3 from "@angular/common";
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 GraphQLConsoleComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵtext(0, " Connected to ");
20
- i0.ɵɵelementStart(1, "code", 38);
21
- i0.ɵɵtext(2);
22
- i0.ɵɵelementEnd();
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(2);
27
+ i0.ɵɵadvance(3);
26
28
  i0.ɵɵtextInterpolate(ctx_r0.ApiUrl);
27
29
  } }
28
- function GraphQLConsoleComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵtext(0, " Run queries against the connected MJ API ");
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", 50);
34
+ i0.ɵɵelement(3, "i", 49);
36
35
  i0.ɵɵtext(4, " to keep it. ");
37
36
  i0.ɵɵelementEnd();
38
37
  } }
39
- function GraphQLConsoleComponent_Conditional_19_Conditional_11_Conditional_6_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
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 GraphQLConsoleComponent_Conditional_19_Conditional_11_Conditional_6_For_2_Template(rf, ctx) { if (rf & 1) {
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", 52);
54
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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)); });
55
- i0.ɵɵelementStart(1, "div", 53);
56
- i0.ɵɵelement(2, "i", 54);
57
- i0.ɵɵelementStart(3, "span", 55);
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", 56);
61
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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)); });
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", 57);
65
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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)); });
66
- i0.ɵɵelement(8, "i", 58);
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", 59)(10, "span");
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, GraphQLConsoleComponent_Conditional_19_Conditional_11_Conditional_6_For_2_Conditional_13_Template, 4, 1);
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 GraphQLConsoleComponent_Conditional_19_Conditional_11_Conditional_6_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵelementStart(0, "div", 48);
92
- i0.ɵɵrepeaterCreate(1, GraphQLConsoleComponent_Conditional_19_Conditional_11_Conditional_6_For_2_Template, 14, 23, "button", 51, i0.ɵɵcomponentInstance().TrackByHistory, true);
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 GraphQLConsoleComponent_Conditional_19_Conditional_11_Template(rf, ctx) { if (rf & 1) {
98
+ function GraphQLConsoleComponent_Conditional_12_Conditional_11_Template(rf, ctx) { if (rf & 1) {
100
99
  const _r3 = i0.ɵɵgetCurrentView();
101
- i0.ɵɵelementStart(0, "div", 45)(1, "span");
100
+ i0.ɵɵelementStart(0, "div", 44)(1, "span");
102
101
  i0.ɵɵtext(2);
103
102
  i0.ɵɵelementEnd();
104
- i0.ɵɵelementStart(3, "button", 46);
105
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_Conditional_11_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.OnClearHistory()); });
106
- i0.ɵɵelement(4, "i", 19);
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, GraphQLConsoleComponent_Conditional_19_Conditional_11_Conditional_5_Template, 5, 0, "div", 47)(6, GraphQLConsoleComponent_Conditional_19_Conditional_11_Conditional_6_Template, 3, 0, "div", 48);
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_Conditional_4_For_4_Template(rf, ctx) { if (rf & 1) {
117
- i0.ɵɵelementStart(0, "option", 72);
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_Conditional_4_Template(rf, ctx) { if (rf & 1) {
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", 70);
129
- i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_19_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); });
130
- i0.ɵɵelementStart(1, "option", 71);
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, GraphQLConsoleComponent_Conditional_19_Conditional_12_Conditional_4_For_4_Template, 2, 2, "option", 72, i0.ɵɵrepeaterTrackByIdentity);
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditional_11_Conditional_7_Template(rf, ctx) { if (rf & 1) {
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", 90);
146
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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)); });
147
- i0.ɵɵelement(1, "i", 91);
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditional_11_Conditional_8_Template(rf, ctx) { if (rf & 1) {
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", 92);
154
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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)); });
155
- i0.ɵɵelement(1, "i", 93);
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditional_11_Conditional_9_Template(rf, ctx) { if (rf & 1) {
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", 94);
162
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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)); });
163
- i0.ɵɵelement(1, "i", 95);
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditional_11_Conditional_10_Template(rf, ctx) { if (rf & 1) {
168
- i0.ɵɵelementStart(0, "div", 89);
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditional_11_Template(rf, ctx) { if (rf & 1) {
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", 81)(1, "button", 82);
179
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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)); });
180
- i0.ɵɵelement(2, "i", 83);
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", 84);
184
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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)); });
185
- i0.ɵɵelement(5, "i", 85);
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, GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditional_11_Conditional_7_Template, 3, 0, "button", 86);
189
- i0.ɵɵconditionalCreate(8, GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditional_11_Conditional_8_Template, 3, 0, "button", 87);
190
- i0.ɵɵconditionalCreate(9, GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditional_11_Conditional_9_Template, 3, 0, "button", 88);
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, GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditional_11_Conditional_10_Template, 2, 1, "div", 89);
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Template(rf, ctx) { if (rf & 1) {
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", 73)(1, "button", 74);
207
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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)); });
208
- i0.ɵɵelement(2, "i", 75);
209
- i0.ɵɵelementStart(3, "div", 76)(4, "div", 77);
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", 78)(7, "code", 79);
211
+ i0.ɵɵelementStart(6, "div", 77)(7, "code", 78);
213
212
  i0.ɵɵtext(8);
214
213
  i0.ɵɵelementEnd();
215
- i0.ɵɵelementStart(9, "span", 80);
214
+ i0.ɵɵelementStart(9, "span", 79);
216
215
  i0.ɵɵtext(10);
217
216
  i0.ɵɵelementEnd()()()();
218
- i0.ɵɵconditionalCreate(11, GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Conditional_11_Template, 11, 4);
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_Conditional_13_Conditional_4_Template(rf, ctx) { if (rf & 1) {
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", 98);
237
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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()); });
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_Conditional_13_Template(rf, ctx) { if (rf & 1) {
242
- i0.ɵɵelementStart(0, "div", 69);
243
- i0.ɵɵelement(1, "i", 96);
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, GraphQLConsoleComponent_Conditional_19_Conditional_12_Conditional_13_Conditional_4_Template, 2, 0, "button", 97);
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 GraphQLConsoleComponent_Conditional_19_Conditional_12_Template(rf, ctx) { if (rf & 1) {
253
+ function GraphQLConsoleComponent_Conditional_12_Conditional_12_Template(rf, ctx) { if (rf & 1) {
255
254
  const _r6 = i0.ɵɵgetCurrentView();
256
- i0.ɵɵelementStart(0, "div", 60)(1, "div", 61);
257
- i0.ɵɵelement(2, "i", 62);
258
- i0.ɵɵelementStart(3, "input", 63);
259
- i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_19_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); });
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, GraphQLConsoleComponent_Conditional_19_Conditional_12_Conditional_4_Template, 5, 2, "select", 64);
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", 65)(6, "span");
262
+ i0.ɵɵelementStart(5, "div", 64)(6, "span");
264
263
  i0.ɵɵtext(7);
265
264
  i0.ɵɵelementEnd();
266
- i0.ɵɵelementStart(8, "span", 66);
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", 67);
270
- i0.ɵɵrepeaterCreate(11, GraphQLConsoleComponent_Conditional_19_Conditional_12_For_12_Template, 12, 8, "div", 68, i0.ɵɵcomponentInstance().TrackByEntity, true);
271
- i0.ɵɵconditionalCreate(13, GraphQLConsoleComponent_Conditional_19_Conditional_12_Conditional_13_Template, 5, 1, "div", 69);
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 GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_6_Template(rf, ctx) { if (rf & 1) {
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", 105)(1, "button", 110);
289
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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"); });
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", 111);
295
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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"); });
296
- i0.ɵɵelement(6, "i", 83);
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", 112);
302
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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"); });
303
- i0.ɵɵelement(11, "i", 93);
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 GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_7_Template(rf, ctx) { if (rf & 1) {
324
- i0.ɵɵelementStart(0, "div", 106);
325
- i0.ɵɵelement(1, "i", 113);
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 GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_8_Template(rf, ctx) { if (rf & 1) {
331
- i0.ɵɵelementStart(0, "div", 107);
332
- i0.ɵɵelement(1, "i", 114);
333
- i0.ɵɵelementStart(2, "div", 115);
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", 116);
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 GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_9_Template(rf, ctx) { if (rf & 1) {
341
- i0.ɵɵelementStart(0, "div", 108);
342
- i0.ɵɵelement(1, "i", 117);
343
- i0.ɵɵelementStart(2, "div", 118);
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", 119);
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 GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_10_Template(rf, ctx) { if (rf & 1) {
355
- i0.ɵɵelementStart(0, "div", 106);
356
- i0.ɵɵelement(1, "i", 96);
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 GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
362
- i0.ɵɵelementStart(0, "div", 125);
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 GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
371
- i0.ɵɵelementStart(0, "div", 128);
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 GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_For_2_Template(rf, ctx) { if (rf & 1) {
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", 121);
382
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_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)); });
383
- i0.ɵɵelementStart(1, "div", 122)(2, "span", 123);
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", 124);
385
+ i0.ɵɵelementStart(4, "span", 123);
387
386
  i0.ɵɵtext(5);
388
387
  i0.ɵɵelementEnd()();
389
- i0.ɵɵconditionalCreate(6, GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_For_2_Conditional_6_Template, 2, 1, "div", 125);
390
- i0.ɵɵelementStart(7, "div", 126);
391
- i0.ɵɵelement(8, "i", 127);
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, GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_For_2_Conditional_10_Template, 2, 1, "div", 128);
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 GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_Template(rf, ctx) { if (rf & 1) {
412
- i0.ɵɵelementStart(0, "div", 109);
413
- i0.ɵɵrepeaterCreate(1, GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_For_2_Template, 11, 8, "button", 120, i0.ɵɵcomponentInstance().TrackByOp, true);
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 GraphQLConsoleComponent_Conditional_19_Conditional_13_Template(rf, ctx) { if (rf & 1) {
419
+ function GraphQLConsoleComponent_Conditional_12_Conditional_13_Template(rf, ctx) { if (rf & 1) {
421
420
  const _r16 = i0.ɵɵgetCurrentView();
422
- i0.ɵɵelementStart(0, "div", 99)(1, "div", 100);
423
- i0.ɵɵelement(2, "i", 101);
424
- i0.ɵɵelementStart(3, "input", 102);
425
- i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_19_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); });
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", 103);
428
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_Conditional_13_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r16); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.OnReloadSchema()); });
429
- i0.ɵɵelement(5, "i", 104);
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, GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_6_Template, 15, 9, "div", 105);
432
- i0.ɵɵconditionalCreate(7, GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_7_Template, 4, 0, "div", 106)(8, GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_8_Template, 6, 0, "div", 107)(9, GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_9_Template, 6, 1, "div", 108)(10, GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_10_Template, 4, 0, "div", 106)(11, GraphQLConsoleComponent_Conditional_19_Conditional_13_Conditional_11_Template, 3, 0, "div", 109);
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 GraphQLConsoleComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
445
+ function GraphQLConsoleComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
447
446
  const _r2 = i0.ɵɵgetCurrentView();
448
- i0.ɵɵelementStart(0, "aside", 39)(1, "div", 40)(2, "button", 41);
449
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSidebarTabChange("history")); });
450
- i0.ɵɵelement(3, "i", 9);
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", 41);
454
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSidebarTabChange("entities")); });
455
- i0.ɵɵelement(6, "i", 42);
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", 41);
459
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_19_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSidebarTabChange("schema")); });
460
- i0.ɵɵelement(9, "i", 43);
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, GraphQLConsoleComponent_Conditional_19_Conditional_11_Template, 7, 3)(12, GraphQLConsoleComponent_Conditional_19_Conditional_12_Template, 14, 5)(13, GraphQLConsoleComponent_Conditional_19_Conditional_13_Template, 12, 10);
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", 44);
466
- i0.ɵɵlistener("mousedown", function GraphQLConsoleComponent_Conditional_19_Template_div_mousedown_14_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSplitterDown($event, "sidebar")); });
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 GraphQLConsoleComponent_Conditional_39_Template(rf, ctx) { if (rf & 1) {
481
- i0.ɵɵelementStart(0, "span", 27);
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 GraphQLConsoleComponent_Conditional_40_Template(rf, ctx) { if (rf & 1) {
484
+ function GraphQLConsoleComponent_Conditional_33_Template(rf, ctx) { if (rf & 1) {
486
485
  const _r20 = i0.ɵɵgetCurrentView();
487
- i0.ɵɵelementStart(0, "mj-code-editor", 129);
488
- i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_40_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); });
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 GraphQLConsoleComponent_Conditional_43_Template(rf, ctx) { if (rf & 1) {
496
- i0.ɵɵelement(0, "i", 113);
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 GraphQLConsoleComponent_Conditional_44_Template(rf, ctx) { if (rf & 1) {
500
- i0.ɵɵelement(0, "i", 130);
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 GraphQLConsoleComponent_Conditional_45_Conditional_1_Template(rf, ctx) { if (rf & 1) {
504
- i0.ɵɵelementStart(0, "span", 131);
505
- i0.ɵɵelement(1, "i", 134);
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 GraphQLConsoleComponent_Conditional_45_Conditional_2_Template(rf, ctx) { if (rf & 1) {
510
- i0.ɵɵelementStart(0, "span", 132);
511
- i0.ɵɵelement(1, "i", 117);
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 GraphQLConsoleComponent_Conditional_45_Conditional_3_Template(rf, ctx) { if (rf & 1) {
516
- i0.ɵɵelementStart(0, "span", 133);
517
- i0.ɵɵelement(1, "i", 135);
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 GraphQLConsoleComponent_Conditional_45_Conditional_4_Template(rf, ctx) { if (rf & 1) {
526
- i0.ɵɵelementStart(0, "span", 133);
527
- i0.ɵɵelement(1, "i", 136);
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 GraphQLConsoleComponent_Conditional_45_Template(rf, ctx) { if (rf & 1) {
536
- i0.ɵɵelementStart(0, "div", 31);
537
- i0.ɵɵconditionalCreate(1, GraphQLConsoleComponent_Conditional_45_Conditional_1_Template, 3, 0, "span", 131)(2, GraphQLConsoleComponent_Conditional_45_Conditional_2_Template, 3, 0, "span", 132);
538
- i0.ɵɵconditionalCreate(3, GraphQLConsoleComponent_Conditional_45_Conditional_3_Template, 3, 1, "span", 133);
539
- i0.ɵɵconditionalCreate(4, GraphQLConsoleComponent_Conditional_45_Conditional_4_Template, 3, 1, "span", 133);
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 GraphQLConsoleComponent_Conditional_47_Template(rf, ctx) { if (rf & 1) {
549
+ function GraphQLConsoleComponent_Conditional_40_Template(rf, ctx) { if (rf & 1) {
551
550
  const _r21 = i0.ɵɵgetCurrentView();
552
- i0.ɵɵelementStart(0, "button", 137);
553
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_47_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnCopyResponse()); });
554
- i0.ɵɵelement(1, "i", 104);
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.ɵɵclassProp("mj-inspector__btn--success", ctx_r0.CopyConfirmed);
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 GraphQLConsoleComponent_Conditional_52_Template(rf, ctx) { if (rf & 1) {
566
- i0.ɵɵelementStart(0, "div", 36);
567
- i0.ɵɵelement(1, "i", 117);
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 GraphQLConsoleComponent_Conditional_53_Conditional_0_Template(rf, ctx) { if (rf & 1) {
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", 117);
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 GraphQLConsoleComponent_Conditional_53_Template(rf, ctx) { if (rf & 1) {
588
- i0.ɵɵconditionalCreate(0, GraphQLConsoleComponent_Conditional_53_Conditional_0_Template, 4, 1, "div", 138);
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 GraphQLConsoleComponent_Conditional_54_Template(rf, ctx) { if (rf & 1) {
599
- i0.ɵɵelementStart(0, "div", 37);
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: 55, vars: 18, consts: [[1, "mj-inspector", "mj-inspector--solo"], [1, "mj-inspector__header"], [1, "mj-inspector__header-icon"], [1, "fa-solid", "fa-code"], [1, "mj-inspector__header-title"], [1, "mj-inspector__header-sub"], [1, "mj-inspector__header-spacer"], [1, "mj-inspector__header-actions"], ["type", "button", "title", "Toggle history sidebar", 1, "mj-inspector__btn", 3, "click"], [1, "fa-solid", "fa-clock-rotate-left"], ["type", "button", "title", "Copy as cURL command", 1, "mj-inspector__btn", 3, "click"], [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"], ["type", "button", 1, "mj-inspector__btn", 3, "mj-inspector__btn--success"], [1, "gc-response-wrap"], [1, "gc-response-head"], [1, "gc-error"], [1, "gc-empty"], [1, "gc-endpoint"], [1, "gc-sidebar"], [1, "gc-sidebar-tabs"], ["type", "button", 1, "gc-sidebar-tab", 3, "click"], [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"], ["type", "button", 1, "mj-inspector__btn", 3, "click"], [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) {
1324
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
1325
- i0.ɵɵelement(3, "i", 3);
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(7, "div", 5);
1331
- i0.ɵɵconditionalCreate(8, GraphQLConsoleComponent_Conditional_8_Template, 3, 1)(9, GraphQLConsoleComponent_Conditional_9_Template, 1, 0);
1332
- i0.ɵɵelementEnd()();
1333
- i0.ɵɵelement(10, "span", 6);
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(15, "button", 10);
1340
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_15_listener() { return ctx.OnCopyAsCurl(); });
1341
- i0.ɵɵelement(16, "i", 11);
1342
- i0.ɵɵtext(17, " Copy cURL ");
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(18, "div", 12);
1345
- i0.ɵɵconditionalCreate(19, GraphQLConsoleComponent_Conditional_19_Template, 15, 9);
1346
- i0.ɵɵelementStart(20, "div", 13)(21, "div", 14)(22, "div", 15)(23, "span", 16);
1347
- i0.ɵɵtext(24, "Query");
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(25, "span", 17);
1350
- i0.ɵɵtext(26, "\u2318/Ctrl+Enter to run \u00B7 Shift+click an entity/op to append");
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(27, "button", 18);
1353
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_27_listener() { return ctx.OnFormatQuery(); });
1354
- i0.ɵɵelement(28, "i", 19);
1355
- i0.ɵɵtext(29, " Tidy ");
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(30, "button", 20);
1358
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_30_listener() { return ctx.OnClearQuery(); });
1359
- i0.ɵɵelement(31, "i", 21);
1360
- i0.ɵɵtext(32, " Clear ");
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(33, "mj-code-editor", 22);
1363
- i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Template_mj_code_editor_ngModelChange_33_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.Query, $event) || (ctx.Query = $event); return $event; });
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(34, "div", 23);
1366
- i0.ɵɵlistener("mousedown", function GraphQLConsoleComponent_Template_div_mousedown_34_listener($event) { return ctx.OnSplitterDown($event, "editor"); });
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(35, "div", 24)(36, "button", 25);
1369
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_36_listener() { return ctx.ToggleVariables(); });
1370
- i0.ɵɵelement(37, "i", 26);
1371
- i0.ɵɵtext(38, " Variables ");
1372
- i0.ɵɵconditionalCreate(39, GraphQLConsoleComponent_Conditional_39_Template, 2, 0, "span", 27);
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(40, GraphQLConsoleComponent_Conditional_40_Template, 1, 3, "mj-code-editor", 28);
1366
+ i0.ɵɵconditionalCreate(33, GraphQLConsoleComponent_Conditional_33_Template, 1, 3, "mj-code-editor", 25);
1375
1367
  i0.ɵɵelementEnd();
1376
- i0.ɵɵelementStart(41, "div", 29)(42, "button", 30);
1377
- i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_42_listener() { return ctx.OnRun(); });
1378
- i0.ɵɵconditionalCreate(43, GraphQLConsoleComponent_Conditional_43_Template, 2, 0)(44, GraphQLConsoleComponent_Conditional_44_Template, 2, 0);
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(45, GraphQLConsoleComponent_Conditional_45_Template, 5, 3, "div", 31);
1381
- i0.ɵɵelement(46, "span", 32);
1382
- i0.ɵɵconditionalCreate(47, GraphQLConsoleComponent_Conditional_47_Template, 3, 7, "button", 33);
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(48, "div", 34)(49, "div", 35)(50, "span", 16);
1385
- i0.ɵɵtext(51, "Response");
1376
+ i0.ɵɵelementStart(41, "div", 31)(42, "div", 32)(43, "span", 13);
1377
+ i0.ɵɵtext(44, "Response");
1386
1378
  i0.ɵɵelementEnd()();
1387
- i0.ɵɵconditionalCreate(52, GraphQLConsoleComponent_Conditional_52_Template, 4, 1, "div", 36)(53, GraphQLConsoleComponent_Conditional_53_Template, 4, 2)(54, GraphQLConsoleComponent_Conditional_54_Template, 4, 0, "div", 37);
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(8);
1391
- i0.ɵɵconditional(ctx.ApiUrl ? 8 : 9);
1392
- i0.ɵɵadvance(4);
1393
- i0.ɵɵclassProp("gc-toggle--active", ctx.ShowHistory);
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 ? 19 : -1);
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() !== "" ? 39 : -1);
1397
+ i0.ɵɵconditional(ctx.Variables && ctx.Variables.trim() !== "{}" && ctx.Variables.trim() !== "" ? 32 : -1);
1405
1398
  i0.ɵɵadvance();
1406
- i0.ɵɵconditional(ctx.ShowVariables ? 40 : -1);
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 ? 43 : 44);
1403
+ i0.ɵɵconditional(ctx.Running ? 36 : 37);
1411
1404
  i0.ɵɵadvance(2);
1412
- i0.ɵɵconditional(ctx.ResponseStatus !== "idle" ? 45 : -1);
1405
+ i0.ɵɵconditional(ctx.ResponseStatus !== "idle" ? 38 : -1);
1413
1406
  i0.ɵɵadvance(2);
1414
- i0.ɵɵconditional(ctx.ResponseJson ? 47 : -1);
1407
+ i0.ɵɵconditional(ctx.ResponseJson ? 40 : -1);
1415
1408
  i0.ɵɵadvance(5);
1416
- i0.ɵɵconditional(ctx.ErrorMessage && !ctx.ResponseJson ? 52 : ctx.ResponseJson ? 53 : 54);
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']