@memberjunction/ng-dashboards 5.22.0 → 5.23.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 (204) hide show
  1. package/README.md +51 -0
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +364 -362
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/agents/agent-editor.component.js +2 -2
  6. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +275 -64
  7. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  8. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +2645 -436
  9. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  10. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +240 -6
  11. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  12. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +2166 -256
  13. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  14. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
  15. package/dist/AI/components/execution-monitoring.component.js +191 -197
  16. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  17. package/dist/AI/components/models/model-management.component.js +9 -8
  18. package/dist/AI/components/models/model-management.component.js.map +1 -1
  19. package/dist/AI/components/prompts/prompt-management.component.js +305 -299
  20. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  21. package/dist/AI/components/system/system-configuration.component.js +319 -313
  22. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  23. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +1 -2
  24. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  25. package/dist/AI/components/vectors/vector-management-resource.component.js +12 -27
  26. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  27. package/dist/APIKeys/api-applications-panel.component.js +10 -12
  28. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  29. package/dist/APIKeys/api-key-create-dialog.component.js +13 -19
  30. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  31. package/dist/APIKeys/api-key-edit-panel.component.js +12 -14
  32. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  33. package/dist/APIKeys/api-scopes-panel.component.js +61 -68
  34. package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
  35. package/dist/APIKeys/api-usage-panel.component.js +10 -11
  36. package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
  37. package/dist/Actions/components/actions-list-view.component.js +82 -96
  38. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  39. package/dist/Actions/components/actions-overview.component.js +130 -134
  40. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  41. package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
  42. package/dist/Actions/components/categories-list-view.component.js +40 -46
  43. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  44. package/dist/Actions/components/code-management.component.js +2 -2
  45. package/dist/Actions/components/code-management.component.js.map +1 -1
  46. package/dist/Actions/components/entity-integration.component.js +2 -2
  47. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  48. package/dist/Actions/components/execution-monitoring.component.js +127 -132
  49. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  50. package/dist/Actions/components/executions-list-view.component.js +2 -2
  51. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  52. package/dist/Actions/components/explorer/action-card.component.js +11 -17
  53. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  54. package/dist/Actions/components/explorer/action-explorer.component.js +5 -11
  55. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  56. package/dist/Actions/components/explorer/action-list-item.component.js +8 -10
  57. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
  58. package/dist/Actions/components/explorer/action-toolbar.component.js +112 -133
  59. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
  60. package/dist/Actions/components/explorer/action-tree-panel.component.js +63 -83
  61. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
  62. package/dist/Actions/components/explorer/new-action-panel.component.js +17 -21
  63. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
  64. package/dist/Actions/components/explorer/new-category-panel.component.js +17 -21
  65. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
  66. package/dist/Actions/components/scheduled-actions.component.js +2 -2
  67. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  68. package/dist/Actions/components/security-permissions.component.js +2 -2
  69. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  70. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +13 -5
  71. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  72. package/dist/ComponentStudio/component-studio-dashboard.component.js +168 -145
  73. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  74. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts +4 -5
  75. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
  76. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +197 -200
  77. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  78. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts +5 -7
  79. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  80. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +142 -148
  81. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  82. package/dist/ComponentStudio/components/browser/component-browser.component.js +153 -166
  83. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
  84. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +15 -20
  85. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
  86. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +16 -21
  87. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
  88. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +18 -23
  89. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
  90. package/dist/ComponentStudio/components/editors/spec-editor.component.js +25 -30
  91. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
  92. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +10 -11
  93. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
  94. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -1
  95. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +24 -35
  96. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
  97. package/dist/ComponentStudio/components/text-import-dialog.component.js +15 -17
  98. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  99. package/dist/Credentials/components/credentials-categories-resource.component.js +7 -6
  100. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  101. package/dist/Credentials/components/credentials-list-resource.component.js +6 -5
  102. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  103. package/dist/Credentials/components/credentials-types-resource.component.js +7 -6
  104. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  105. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +9 -9
  106. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
  107. package/dist/Home/home-dashboard.component.js +4 -4
  108. package/dist/Home/home-dashboard.component.js.map +1 -1
  109. package/dist/Integration/components/connections/connections.component.js +4 -4
  110. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  111. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +246 -259
  112. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  113. package/dist/Integration/components/widgets/integration-card.component.js +7 -9
  114. package/dist/Integration/components/widgets/integration-card.component.js.map +1 -1
  115. package/dist/Integration/integration.module.d.ts +6 -10
  116. package/dist/Integration/integration.module.d.ts.map +1 -1
  117. package/dist/Integration/integration.module.js +12 -20
  118. package/dist/Integration/integration.module.js.map +1 -1
  119. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +106 -0
  120. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -0
  121. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +607 -0
  122. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -0
  123. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +7 -2
  124. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
  125. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +59 -31
  126. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  127. package/dist/KnowledgeHub/index.d.ts +1 -0
  128. package/dist/KnowledgeHub/index.d.ts.map +1 -1
  129. package/dist/KnowledgeHub/index.js +1 -0
  130. package/dist/KnowledgeHub/index.js.map +1 -1
  131. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  132. package/dist/Lists/components/lists-browse-resource.component.js +9 -7
  133. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  134. package/dist/Lists/components/lists-my-lists-resource.component.js +5 -4
  135. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  136. package/dist/Lists/components/lists-operations-resource.component.js +10 -9
  137. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  138. package/dist/MCP/components/mcp-connection-dialog.component.js +141 -132
  139. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
  140. package/dist/MCP/components/mcp-log-detail-panel.component.js +4 -4
  141. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
  142. package/dist/MCP/components/mcp-server-dialog.component.js +141 -128
  143. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
  144. package/dist/MCP/components/mcp-test-tool-dialog.component.js +210 -218
  145. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
  146. package/dist/MCP/mcp-dashboard.component.js +2 -2
  147. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  148. package/dist/MCP/mcp.module.d.ts +6 -9
  149. package/dist/MCP/mcp.module.d.ts.map +1 -1
  150. package/dist/MCP/mcp.module.js +20 -22
  151. package/dist/MCP/mcp.module.js.map +1 -1
  152. package/dist/Scheduling/components/scheduling-activity.component.js +5 -4
  153. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  154. package/dist/Scheduling/components/scheduling-jobs.component.js +6 -5
  155. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  156. package/dist/Scheduling/components/scheduling-overview.component.js +93 -92
  157. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  158. package/dist/Testing/testing-dashboard.component.js +9 -10
  159. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  160. package/dist/actions-dashboards.module.d.ts +8 -13
  161. package/dist/actions-dashboards.module.d.ts.map +1 -1
  162. package/dist/actions-dashboards.module.js +6 -27
  163. package/dist/actions-dashboards.module.js.map +1 -1
  164. package/dist/ai-dashboards.module.d.ts +16 -20
  165. package/dist/ai-dashboards.module.d.ts.map +1 -1
  166. package/dist/ai-dashboards.module.js +23 -44
  167. package/dist/ai-dashboards.module.js.map +1 -1
  168. package/dist/communication-dashboards.module.d.ts +4 -8
  169. package/dist/communication-dashboards.module.d.ts.map +1 -1
  170. package/dist/communication-dashboards.module.js +0 -19
  171. package/dist/communication-dashboards.module.js.map +1 -1
  172. package/dist/component-studio-dashboards.module.d.ts +7 -11
  173. package/dist/component-studio-dashboards.module.d.ts.map +1 -1
  174. package/dist/component-studio-dashboards.module.js +22 -34
  175. package/dist/component-studio-dashboards.module.js.map +1 -1
  176. package/dist/core-dashboards.module.d.ts +12 -18
  177. package/dist/core-dashboards.module.d.ts.map +1 -1
  178. package/dist/core-dashboards.module.js +15 -31
  179. package/dist/core-dashboards.module.js.map +1 -1
  180. package/dist/credentials-dashboards.module.d.ts +5 -8
  181. package/dist/credentials-dashboards.module.d.ts.map +1 -1
  182. package/dist/credentials-dashboards.module.js +3 -19
  183. package/dist/credentials-dashboards.module.js.map +1 -1
  184. package/dist/data-explorer-dashboards.module.d.ts +7 -13
  185. package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
  186. package/dist/data-explorer-dashboards.module.js +0 -27
  187. package/dist/data-explorer-dashboards.module.js.map +1 -1
  188. package/dist/lists-dashboards.module.d.ts +5 -8
  189. package/dist/lists-dashboards.module.d.ts.map +1 -1
  190. package/dist/lists-dashboards.module.js +3 -19
  191. package/dist/lists-dashboards.module.js.map +1 -1
  192. package/dist/public-api.d.ts +1 -0
  193. package/dist/public-api.d.ts.map +1 -1
  194. package/dist/public-api.js +1 -0
  195. package/dist/public-api.js.map +1 -1
  196. package/dist/scheduling-dashboards.module.d.ts +6 -10
  197. package/dist/scheduling-dashboards.module.d.ts.map +1 -1
  198. package/dist/scheduling-dashboards.module.js +3 -23
  199. package/dist/scheduling-dashboards.module.js.map +1 -1
  200. package/dist/testing-dashboards.module.d.ts +7 -13
  201. package/dist/testing-dashboards.module.d.ts.map +1 -1
  202. package/dist/testing-dashboards.module.js +0 -27
  203. package/dist/testing-dashboards.module.js.map +1 -1
  204. package/package.json +47 -55
@@ -1,23 +1,22 @@
1
- import { Component } from '@angular/core';
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
2
  import { RunView, Metadata } from '@memberjunction/core';
3
3
  import { UUIDsEqual } from '@memberjunction/global';
4
4
  import { Subject, debounceTime, distinctUntilChanged } from 'rxjs';
5
5
  import { takeUntil } from 'rxjs/operators';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@progress/kendo-angular-dialog";
8
- import * as i2 from "@angular/forms";
9
- import * as i3 from "@progress/kendo-angular-buttons";
10
- import * as i4 from "@memberjunction/ng-code-editor";
11
- import * as i5 from "@memberjunction/ng-shared-generic";
12
- import * as i6 from "@angular/common";
7
+ import * as i1 from "@angular/forms";
8
+ import * as i2 from "@memberjunction/ng-code-editor";
9
+ import * as i3 from "@memberjunction/ng-shared-generic";
10
+ import * as i4 from "@memberjunction/ng-ui-components";
11
+ import * as i5 from "@angular/common";
13
12
  const _forTrack0 = ($index, $item) => $item.ID;
14
- function ArtifactLoadDialogComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
13
+ function ArtifactLoadDialogComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
15
14
  i0.ɵɵelementStart(0, "span");
16
15
  i0.ɵɵtext(1, "Filters");
17
16
  i0.ɵɵelementEnd();
18
17
  } }
19
- function ArtifactLoadDialogComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelementStart(0, "span", 8);
18
+ function ArtifactLoadDialogComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
19
+ i0.ɵɵelementStart(0, "span", 6);
21
20
  i0.ɵɵtext(1);
22
21
  i0.ɵɵelementEnd();
23
22
  } if (rf & 2) {
@@ -25,39 +24,39 @@ function ArtifactLoadDialogComponent_Conditional_11_Template(rf, ctx) { if (rf &
25
24
  i0.ɵɵadvance();
26
25
  i0.ɵɵtextInterpolate(ctx_r0.getActiveFilterCount());
27
26
  } }
28
- function ArtifactLoadDialogComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
27
+ function ArtifactLoadDialogComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
29
28
  const _r2 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵelementStart(0, "div", 9)(1, "div", 22)(2, "label");
29
+ i0.ɵɵelementStart(0, "div", 7)(1, "div", 20)(2, "label");
31
30
  i0.ɵɵtext(3, "Search");
32
31
  i0.ɵɵelementEnd();
33
- i0.ɵɵelementStart(4, "input", 23);
34
- i0.ɵɵtwoWayListener("ngModelChange", function ArtifactLoadDialogComponent_Conditional_12_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.searchTerm, $event) || (ctx_r0.searchTerm = $event); return i0.ɵɵresetView($event); });
35
- i0.ɵɵlistener("input", function ArtifactLoadDialogComponent_Conditional_12_Template_input_input_4_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onSearchInput()); });
32
+ i0.ɵɵelementStart(4, "input", 21);
33
+ i0.ɵɵtwoWayListener("ngModelChange", function ArtifactLoadDialogComponent_Conditional_8_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.searchTerm, $event) || (ctx_r0.searchTerm = $event); return i0.ɵɵresetView($event); });
34
+ i0.ɵɵlistener("input", function ArtifactLoadDialogComponent_Conditional_8_Template_input_input_4_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onSearchInput()); });
36
35
  i0.ɵɵelementEnd()();
37
- i0.ɵɵelementStart(5, "div", 22)(6, "label");
36
+ i0.ɵɵelementStart(5, "div", 20)(6, "label");
38
37
  i0.ɵɵtext(7, "Artifact Type");
39
38
  i0.ɵɵelementEnd();
40
- i0.ɵɵelementStart(8, "select", 24);
41
- i0.ɵɵtwoWayListener("ngModelChange", function ArtifactLoadDialogComponent_Conditional_12_Template_select_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.selectedArtifactType, $event) || (ctx_r0.selectedArtifactType = $event); return i0.ɵɵresetView($event); });
42
- i0.ɵɵlistener("change", function ArtifactLoadDialogComponent_Conditional_12_Template_select_change_8_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onArtifactTypeChange()); });
43
- i0.ɵɵelementStart(9, "option", 25);
39
+ i0.ɵɵelementStart(8, "select", 22);
40
+ i0.ɵɵtwoWayListener("ngModelChange", function ArtifactLoadDialogComponent_Conditional_8_Template_select_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.selectedArtifactType, $event) || (ctx_r0.selectedArtifactType = $event); return i0.ɵɵresetView($event); });
41
+ i0.ɵɵlistener("change", function ArtifactLoadDialogComponent_Conditional_8_Template_select_change_8_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onArtifactTypeChange()); });
42
+ i0.ɵɵelementStart(9, "option", 23);
44
43
  i0.ɵɵtext(10, "Component (default)");
45
44
  i0.ɵɵelementEnd();
46
- i0.ɵɵelementStart(11, "option", 26);
45
+ i0.ɵɵelementStart(11, "option", 24);
47
46
  i0.ɵɵtext(12, "Component");
48
47
  i0.ɵɵelementEnd();
49
- i0.ɵɵelementStart(13, "option", 27);
48
+ i0.ɵɵelementStart(13, "option", 25);
50
49
  i0.ɵɵtext(14, "Report");
51
50
  i0.ɵɵelementEnd();
52
- i0.ɵɵelementStart(15, "option", 28);
51
+ i0.ɵɵelementStart(15, "option", 26);
53
52
  i0.ɵɵtext(16, "Dashboard");
54
53
  i0.ɵɵelementEnd()()();
55
- i0.ɵɵelementStart(17, "div", 22)(18, "label");
54
+ i0.ɵɵelementStart(17, "div", 20)(18, "label");
56
55
  i0.ɵɵtext(19, "Filter by User");
57
56
  i0.ɵɵelementEnd();
58
- i0.ɵɵelementStart(20, "input", 29);
59
- i0.ɵɵtwoWayListener("ngModelChange", function ArtifactLoadDialogComponent_Conditional_12_Template_input_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.userEmail, $event) || (ctx_r0.userEmail = $event); return i0.ɵɵresetView($event); });
60
- i0.ɵɵlistener("input", function ArtifactLoadDialogComponent_Conditional_12_Template_input_input_20_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.filterArtifacts()); });
57
+ i0.ɵɵelementStart(20, "input", 27);
58
+ i0.ɵɵtwoWayListener("ngModelChange", function ArtifactLoadDialogComponent_Conditional_8_Template_input_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.userEmail, $event) || (ctx_r0.userEmail = $event); return i0.ɵɵresetView($event); });
59
+ i0.ɵɵlistener("input", function ArtifactLoadDialogComponent_Conditional_8_Template_input_input_20_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.filterArtifacts()); });
61
60
  i0.ɵɵelementEnd()()();
62
61
  } if (rf & 2) {
63
62
  const ctx_r0 = i0.ɵɵnextContext();
@@ -68,20 +67,20 @@ function ArtifactLoadDialogComponent_Conditional_12_Template(rf, ctx) { if (rf &
68
67
  i0.ɵɵadvance(12);
69
68
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.userEmail);
70
69
  } }
71
- function ArtifactLoadDialogComponent_Conditional_22_Conditional_11_Template(rf, ctx) { if (rf & 1) {
72
- i0.ɵɵelementStart(0, "div", 36);
73
- i0.ɵɵelement(1, "mj-loading", 38);
70
+ function ArtifactLoadDialogComponent_Conditional_18_Conditional_11_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelementStart(0, "div", 34);
72
+ i0.ɵɵelement(1, "mj-loading", 36);
74
73
  i0.ɵɵelementEnd();
75
74
  } }
76
- function ArtifactLoadDialogComponent_Conditional_22_Conditional_12_Template(rf, ctx) { if (rf & 1) {
77
- i0.ɵɵelementStart(0, "div", 37);
78
- i0.ɵɵelement(1, "i", 39);
75
+ function ArtifactLoadDialogComponent_Conditional_18_Conditional_12_Template(rf, ctx) { if (rf & 1) {
76
+ i0.ɵɵelementStart(0, "div", 35);
77
+ i0.ɵɵelement(1, "i", 37);
79
78
  i0.ɵɵelementStart(2, "p");
80
79
  i0.ɵɵtext(3, "No artifacts found");
81
80
  i0.ɵɵelementEnd()();
82
81
  } }
83
- function ArtifactLoadDialogComponent_Conditional_22_Conditional_13_For_1_Conditional_7_Template(rf, ctx) { if (rf & 1) {
84
- i0.ɵɵelementStart(0, "div", 45);
82
+ function ArtifactLoadDialogComponent_Conditional_18_Conditional_13_For_1_Conditional_7_Template(rf, ctx) { if (rf & 1) {
83
+ i0.ɵɵelementStart(0, "div", 43);
85
84
  i0.ɵɵtext(1);
86
85
  i0.ɵɵelementEnd();
87
86
  } if (rf & 2) {
@@ -89,18 +88,18 @@ function ArtifactLoadDialogComponent_Conditional_22_Conditional_13_For_1_Conditi
89
88
  i0.ɵɵadvance();
90
89
  i0.ɵɵtextInterpolate1(" ", artifact_r5.Description, " ");
91
90
  } }
92
- function ArtifactLoadDialogComponent_Conditional_22_Conditional_13_For_1_Template(rf, ctx) { if (rf & 1) {
91
+ function ArtifactLoadDialogComponent_Conditional_18_Conditional_13_For_1_Template(rf, ctx) { if (rf & 1) {
93
92
  const _r4 = i0.ɵɵgetCurrentView();
94
- i0.ɵɵelementStart(0, "div", 41);
95
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_22_Conditional_13_For_1_Template_div_click_0_listener() { const artifact_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectArtifact(artifact_r5)); });
96
- i0.ɵɵelementStart(1, "div", 42)(2, "div", 43)(3, "div", 44);
97
- i0.ɵɵelement(4, "i", 13);
93
+ i0.ɵɵelementStart(0, "div", 39);
94
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_18_Conditional_13_For_1_Template_div_click_0_listener() { const artifact_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectArtifact(artifact_r5)); });
95
+ i0.ɵɵelementStart(1, "div", 40)(2, "div", 41)(3, "div", 42);
96
+ i0.ɵɵelement(4, "i", 11);
98
97
  i0.ɵɵelementStart(5, "span");
99
98
  i0.ɵɵtext(6);
100
99
  i0.ɵɵelementEnd()();
101
- i0.ɵɵconditionalCreate(7, ArtifactLoadDialogComponent_Conditional_22_Conditional_13_For_1_Conditional_7_Template, 2, 1, "div", 45);
100
+ i0.ɵɵconditionalCreate(7, ArtifactLoadDialogComponent_Conditional_18_Conditional_13_For_1_Conditional_7_Template, 2, 1, "div", 43);
102
101
  i0.ɵɵelementEnd();
103
- i0.ɵɵelementStart(8, "div", 46)(9, "div");
102
+ i0.ɵɵelementStart(8, "div", 44)(9, "div");
104
103
  i0.ɵɵtext(10);
105
104
  i0.ɵɵelementEnd();
106
105
  i0.ɵɵelementStart(11, "div");
@@ -120,55 +119,55 @@ function ArtifactLoadDialogComponent_Conditional_22_Conditional_13_For_1_Templat
120
119
  i0.ɵɵadvance(2);
121
120
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(13, 6, artifact_r5.__mj_UpdatedAt, "short"));
122
121
  } }
123
- function ArtifactLoadDialogComponent_Conditional_22_Conditional_13_Template(rf, ctx) { if (rf & 1) {
124
- i0.ɵɵrepeaterCreate(0, ArtifactLoadDialogComponent_Conditional_22_Conditional_13_For_1_Template, 14, 9, "div", 40, _forTrack0);
122
+ function ArtifactLoadDialogComponent_Conditional_18_Conditional_13_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵrepeaterCreate(0, ArtifactLoadDialogComponent_Conditional_18_Conditional_13_For_1_Template, 14, 9, "div", 38, _forTrack0);
125
124
  } if (rf & 2) {
126
125
  const ctx_r0 = i0.ɵɵnextContext(2);
127
126
  i0.ɵɵrepeater(ctx_r0.artifacts);
128
127
  } }
129
- function ArtifactLoadDialogComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
128
+ function ArtifactLoadDialogComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
130
129
  const _r3 = i0.ɵɵgetCurrentView();
131
- i0.ɵɵelementStart(0, "div", 16)(1, "div", 30)(2, "button", 31);
132
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_22_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.previousPage()); });
133
- i0.ɵɵelement(3, "i", 32);
130
+ i0.ɵɵelementStart(0, "div", 14)(1, "div", 28)(2, "button", 29);
131
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_18_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.previousPage()); });
132
+ i0.ɵɵelement(3, "i", 30);
134
133
  i0.ɵɵtext(4, " Previous ");
135
134
  i0.ɵɵelementEnd();
136
- i0.ɵɵelementStart(5, "span", 33);
135
+ i0.ɵɵelementStart(5, "span", 31);
137
136
  i0.ɵɵtext(6);
138
137
  i0.ɵɵelementEnd();
139
- i0.ɵɵelementStart(7, "button", 31);
140
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_22_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.nextPage()); });
138
+ i0.ɵɵelementStart(7, "button", 29);
139
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_18_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.nextPage()); });
141
140
  i0.ɵɵtext(8, " Next ");
142
- i0.ɵɵelement(9, "i", 34);
141
+ i0.ɵɵelement(9, "i", 32);
143
142
  i0.ɵɵelementEnd()();
144
- i0.ɵɵelementStart(10, "div", 35);
145
- i0.ɵɵconditionalCreate(11, ArtifactLoadDialogComponent_Conditional_22_Conditional_11_Template, 2, 0, "div", 36)(12, ArtifactLoadDialogComponent_Conditional_22_Conditional_12_Template, 4, 0, "div", 37)(13, ArtifactLoadDialogComponent_Conditional_22_Conditional_13_Template, 2, 0);
143
+ i0.ɵɵelementStart(10, "div", 33);
144
+ i0.ɵɵconditionalCreate(11, ArtifactLoadDialogComponent_Conditional_18_Conditional_11_Template, 2, 0, "div", 34)(12, ArtifactLoadDialogComponent_Conditional_18_Conditional_12_Template, 4, 0, "div", 35)(13, ArtifactLoadDialogComponent_Conditional_18_Conditional_13_Template, 2, 0);
146
145
  i0.ɵɵelementEnd()();
147
146
  } if (rf & 2) {
148
147
  const ctx_r0 = i0.ɵɵnextContext();
149
148
  i0.ɵɵadvance(2);
150
- i0.ɵɵproperty("disabled", !ctx_r0.canGoPrevious())("themeColor", "base");
149
+ i0.ɵɵproperty("disabled", !ctx_r0.canGoPrevious());
151
150
  i0.ɵɵadvance(4);
152
151
  i0.ɵɵtextInterpolate3(" Page ", ctx_r0.currentPage + 1, " of ", ctx_r0.getTotalPages(), " (", ctx_r0.totalArtifacts, " total) ");
153
152
  i0.ɵɵadvance();
154
- i0.ɵɵproperty("disabled", !ctx_r0.canGoNext())("themeColor", "base");
153
+ i0.ɵɵproperty("disabled", !ctx_r0.canGoNext());
155
154
  i0.ɵɵadvance(4);
156
155
  i0.ɵɵconditional(ctx_r0.isLoading ? 11 : ctx_r0.artifacts.length === 0 ? 12 : 13);
157
156
  } }
158
- function ArtifactLoadDialogComponent_Conditional_23_Conditional_2_Template(rf, ctx) { if (rf & 1) {
159
- i0.ɵɵelementStart(0, "div", 36);
160
- i0.ɵɵelement(1, "mj-loading", 49);
157
+ function ArtifactLoadDialogComponent_Conditional_19_Conditional_2_Template(rf, ctx) { if (rf & 1) {
158
+ i0.ɵɵelementStart(0, "div", 34);
159
+ i0.ɵɵelement(1, "mj-loading", 47);
161
160
  i0.ɵɵelementEnd();
162
161
  } }
163
- function ArtifactLoadDialogComponent_Conditional_23_Conditional_3_Template(rf, ctx) { if (rf & 1) {
164
- i0.ɵɵelementStart(0, "div", 37);
165
- i0.ɵɵelement(1, "i", 50);
162
+ function ArtifactLoadDialogComponent_Conditional_19_Conditional_3_Template(rf, ctx) { if (rf & 1) {
163
+ i0.ɵɵelementStart(0, "div", 35);
164
+ i0.ɵɵelement(1, "i", 48);
166
165
  i0.ɵɵelementStart(2, "p");
167
166
  i0.ɵɵtext(3, "No collections found");
168
167
  i0.ɵɵelementEnd()();
169
168
  } }
170
- function ArtifactLoadDialogComponent_Conditional_23_Conditional_4_For_1_Conditional_6_Template(rf, ctx) { if (rf & 1) {
171
- i0.ɵɵelementStart(0, "div", 56);
169
+ function ArtifactLoadDialogComponent_Conditional_19_Conditional_4_For_1_Conditional_6_Template(rf, ctx) { if (rf & 1) {
170
+ i0.ɵɵelementStart(0, "div", 54);
172
171
  i0.ɵɵtext(1);
173
172
  i0.ɵɵelementEnd();
174
173
  } if (rf & 2) {
@@ -176,17 +175,17 @@ function ArtifactLoadDialogComponent_Conditional_23_Conditional_4_For_1_Conditio
176
175
  i0.ɵɵadvance();
177
176
  i0.ɵɵtextInterpolate(collection_r7.Description);
178
177
  } }
179
- function ArtifactLoadDialogComponent_Conditional_23_Conditional_4_For_1_Template(rf, ctx) { if (rf & 1) {
178
+ function ArtifactLoadDialogComponent_Conditional_19_Conditional_4_For_1_Template(rf, ctx) { if (rf & 1) {
180
179
  const _r6 = i0.ɵɵgetCurrentView();
181
- i0.ɵɵelementStart(0, "div", 52);
182
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_23_Conditional_4_For_1_Template_div_click_0_listener() { const collection_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectCollection(collection_r7)); });
183
- i0.ɵɵelementStart(1, "div", 53);
184
- i0.ɵɵelement(2, "i", 14);
180
+ i0.ɵɵelementStart(0, "div", 50);
181
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_19_Conditional_4_For_1_Template_div_click_0_listener() { const collection_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectCollection(collection_r7)); });
182
+ i0.ɵɵelementStart(1, "div", 51);
183
+ i0.ɵɵelement(2, "i", 12);
185
184
  i0.ɵɵelementEnd();
186
- i0.ɵɵelementStart(3, "div", 54)(4, "div", 55);
185
+ i0.ɵɵelementStart(3, "div", 52)(4, "div", 53);
187
186
  i0.ɵɵtext(5);
188
187
  i0.ɵɵelementEnd();
189
- i0.ɵɵconditionalCreate(6, ArtifactLoadDialogComponent_Conditional_23_Conditional_4_For_1_Conditional_6_Template, 2, 1, "div", 56);
188
+ i0.ɵɵconditionalCreate(6, ArtifactLoadDialogComponent_Conditional_19_Conditional_4_For_1_Conditional_6_Template, 2, 1, "div", 54);
190
189
  i0.ɵɵelementEnd()();
191
190
  } if (rf & 2) {
192
191
  const collection_r7 = ctx.$implicit;
@@ -197,21 +196,21 @@ function ArtifactLoadDialogComponent_Conditional_23_Conditional_4_For_1_Template
197
196
  i0.ɵɵadvance();
198
197
  i0.ɵɵconditional(collection_r7.Description ? 6 : -1);
199
198
  } }
200
- function ArtifactLoadDialogComponent_Conditional_23_Conditional_4_Template(rf, ctx) { if (rf & 1) {
201
- i0.ɵɵrepeaterCreate(0, ArtifactLoadDialogComponent_Conditional_23_Conditional_4_For_1_Template, 7, 4, "div", 51, _forTrack0);
199
+ function ArtifactLoadDialogComponent_Conditional_19_Conditional_4_Template(rf, ctx) { if (rf & 1) {
200
+ i0.ɵɵrepeaterCreate(0, ArtifactLoadDialogComponent_Conditional_19_Conditional_4_For_1_Template, 7, 4, "div", 49, _forTrack0);
202
201
  } if (rf & 2) {
203
202
  const ctx_r0 = i0.ɵɵnextContext(2);
204
203
  i0.ɵɵrepeater(ctx_r0.collections);
205
204
  } }
206
- function ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
207
- i0.ɵɵelementStart(0, "div", 37);
208
- i0.ɵɵelement(1, "i", 39);
205
+ function ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
206
+ i0.ɵɵelementStart(0, "div", 35);
207
+ i0.ɵɵelement(1, "i", 37);
209
208
  i0.ɵɵelementStart(2, "p");
210
209
  i0.ɵɵtext(3, "No artifacts in this collection");
211
210
  i0.ɵɵelementEnd()();
212
211
  } }
213
- function ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_5_For_1_Conditional_7_Template(rf, ctx) { if (rf & 1) {
214
- i0.ɵɵelementStart(0, "div", 45);
212
+ function ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Conditional_5_For_1_Conditional_7_Template(rf, ctx) { if (rf & 1) {
213
+ i0.ɵɵelementStart(0, "div", 43);
215
214
  i0.ɵɵtext(1);
216
215
  i0.ɵɵelementEnd();
217
216
  } if (rf & 2) {
@@ -219,16 +218,16 @@ function ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_5_
219
218
  i0.ɵɵadvance();
220
219
  i0.ɵɵtextInterpolate1(" ", artifact_r9.Description, " ");
221
220
  } }
222
- function ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_5_For_1_Template(rf, ctx) { if (rf & 1) {
221
+ function ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Conditional_5_For_1_Template(rf, ctx) { if (rf & 1) {
223
222
  const _r8 = i0.ɵɵgetCurrentView();
224
- i0.ɵɵelementStart(0, "div", 41);
225
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_5_For_1_Template_div_click_0_listener() { const artifact_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.selectArtifact(artifact_r9)); });
226
- i0.ɵɵelementStart(1, "div", 42)(2, "div", 43)(3, "div", 44);
227
- i0.ɵɵelement(4, "i", 13);
223
+ i0.ɵɵelementStart(0, "div", 39);
224
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Conditional_5_For_1_Template_div_click_0_listener() { const artifact_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.selectArtifact(artifact_r9)); });
225
+ i0.ɵɵelementStart(1, "div", 40)(2, "div", 41)(3, "div", 42);
226
+ i0.ɵɵelement(4, "i", 11);
228
227
  i0.ɵɵelementStart(5, "span");
229
228
  i0.ɵɵtext(6);
230
229
  i0.ɵɵelementEnd()();
231
- i0.ɵɵconditionalCreate(7, ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_5_For_1_Conditional_7_Template, 2, 1, "div", 45);
230
+ i0.ɵɵconditionalCreate(7, ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Conditional_5_For_1_Conditional_7_Template, 2, 1, "div", 43);
232
231
  i0.ɵɵelementEnd()()();
233
232
  } if (rf & 2) {
234
233
  const artifact_r9 = ctx.$implicit;
@@ -239,18 +238,18 @@ function ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_5_
239
238
  i0.ɵɵadvance();
240
239
  i0.ɵɵconditional(artifact_r9.Description ? 7 : -1);
241
240
  } }
242
- function ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
243
- i0.ɵɵrepeaterCreate(0, ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_5_For_1_Template, 8, 4, "div", 40, _forTrack0);
241
+ function ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
242
+ i0.ɵɵrepeaterCreate(0, ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Conditional_5_For_1_Template, 8, 4, "div", 38, _forTrack0);
244
243
  } if (rf & 2) {
245
244
  const ctx_r0 = i0.ɵɵnextContext(3);
246
245
  i0.ɵɵrepeater(ctx_r0.collectionArtifacts);
247
246
  } }
248
- function ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Template(rf, ctx) { if (rf & 1) {
249
- i0.ɵɵelementStart(0, "div", 48)(1, "div", 57);
250
- i0.ɵɵelement(2, "i", 13);
247
+ function ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Template(rf, ctx) { if (rf & 1) {
248
+ i0.ɵɵelementStart(0, "div", 46)(1, "div", 55);
249
+ i0.ɵɵelement(2, "i", 11);
251
250
  i0.ɵɵtext(3);
252
251
  i0.ɵɵelementEnd();
253
- i0.ɵɵconditionalCreate(4, ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_4_Template, 4, 0, "div", 37)(5, ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Conditional_5_Template, 2, 0);
252
+ i0.ɵɵconditionalCreate(4, ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Conditional_4_Template, 4, 0, "div", 35)(5, ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Conditional_5_Template, 2, 0);
254
253
  i0.ɵɵelementEnd();
255
254
  } if (rf & 2) {
256
255
  const ctx_r0 = i0.ɵɵnextContext(2);
@@ -259,11 +258,11 @@ function ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Template(rf, c
259
258
  i0.ɵɵadvance();
260
259
  i0.ɵɵconditional(ctx_r0.collectionArtifacts.length === 0 ? 4 : 5);
261
260
  } }
262
- function ArtifactLoadDialogComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
263
- i0.ɵɵelementStart(0, "div", 17)(1, "div", 47);
264
- i0.ɵɵconditionalCreate(2, ArtifactLoadDialogComponent_Conditional_23_Conditional_2_Template, 2, 0, "div", 36)(3, ArtifactLoadDialogComponent_Conditional_23_Conditional_3_Template, 4, 0, "div", 37)(4, ArtifactLoadDialogComponent_Conditional_23_Conditional_4_Template, 2, 0);
261
+ function ArtifactLoadDialogComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
262
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 45);
263
+ i0.ɵɵconditionalCreate(2, ArtifactLoadDialogComponent_Conditional_19_Conditional_2_Template, 2, 0, "div", 34)(3, ArtifactLoadDialogComponent_Conditional_19_Conditional_3_Template, 4, 0, "div", 35)(4, ArtifactLoadDialogComponent_Conditional_19_Conditional_4_Template, 2, 0);
265
264
  i0.ɵɵelementEnd();
266
- i0.ɵɵconditionalCreate(5, ArtifactLoadDialogComponent_Conditional_23_Conditional_5_Template, 6, 2, "div", 48);
265
+ i0.ɵɵconditionalCreate(5, ArtifactLoadDialogComponent_Conditional_19_Conditional_5_Template, 6, 2, "div", 46);
267
266
  i0.ɵɵelementEnd();
268
267
  } if (rf & 2) {
269
268
  const ctx_r0 = i0.ɵɵnextContext();
@@ -272,20 +271,20 @@ function ArtifactLoadDialogComponent_Conditional_23_Template(rf, ctx) { if (rf &
272
271
  i0.ɵɵadvance(3);
273
272
  i0.ɵɵconditional(ctx_r0.selectedCollection ? 5 : -1);
274
273
  } }
275
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_6_Template(rf, ctx) { if (rf & 1) {
276
- i0.ɵɵelementStart(0, "div", 36);
277
- i0.ɵɵelement(1, "mj-loading", 60);
274
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_6_Template(rf, ctx) { if (rf & 1) {
275
+ i0.ɵɵelementStart(0, "div", 34);
276
+ i0.ɵɵelement(1, "mj-loading", 58);
278
277
  i0.ɵɵelementEnd();
279
278
  } }
280
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_7_Template(rf, ctx) { if (rf & 1) {
281
- i0.ɵɵelementStart(0, "div", 37);
282
- i0.ɵɵelement(1, "i", 61);
279
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_7_Template(rf, ctx) { if (rf & 1) {
280
+ i0.ɵɵelementStart(0, "div", 35);
281
+ i0.ɵɵelement(1, "i", 59);
283
282
  i0.ɵɵelementStart(2, "p");
284
283
  i0.ɵɵtext(3, "No versions available");
285
284
  i0.ɵɵelementEnd()();
286
285
  } }
287
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
288
- i0.ɵɵelementStart(0, "div", 68);
286
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
287
+ i0.ɵɵelementStart(0, "div", 66);
289
288
  i0.ɵɵtext(1);
290
289
  i0.ɵɵelementEnd();
291
290
  } if (rf & 2) {
@@ -293,19 +292,19 @@ function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_For_2_Conditio
293
292
  i0.ɵɵadvance();
294
293
  i0.ɵɵtextInterpolate(version_r11.Comments);
295
294
  } }
296
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
295
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
297
296
  const _r10 = i0.ɵɵgetCurrentView();
298
- i0.ɵɵelementStart(0, "div", 65);
299
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_For_2_Template_div_click_0_listener() { const version_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectVersion(version_r11)); });
300
- i0.ɵɵelementStart(1, "div", 66);
301
- i0.ɵɵelement(2, "i", 58);
297
+ i0.ɵɵelementStart(0, "div", 63);
298
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_For_2_Template_div_click_0_listener() { const version_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectVersion(version_r11)); });
299
+ i0.ɵɵelementStart(1, "div", 64);
300
+ i0.ɵɵelement(2, "i", 56);
302
301
  i0.ɵɵtext(3);
303
302
  i0.ɵɵelementEnd();
304
- i0.ɵɵelementStart(4, "div", 67)(5, "div");
303
+ i0.ɵɵelementStart(4, "div", 65)(5, "div");
305
304
  i0.ɵɵtext(6);
306
305
  i0.ɵɵpipe(7, "date");
307
306
  i0.ɵɵelementEnd();
308
- i0.ɵɵconditionalCreate(8, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_For_2_Conditional_8_Template, 2, 1, "div", 68);
307
+ i0.ɵɵconditionalCreate(8, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_For_2_Conditional_8_Template, 2, 1, "div", 66);
309
308
  i0.ɵɵelementEnd()();
310
309
  } if (rf & 2) {
311
310
  const version_r11 = ctx.$implicit;
@@ -318,9 +317,9 @@ function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_For_2_Template
318
317
  i0.ɵɵadvance(2);
319
318
  i0.ɵɵconditional(version_r11.Comments ? 8 : -1);
320
319
  } }
321
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
322
- i0.ɵɵelementStart(0, "div", 71);
323
- i0.ɵɵelement(1, "i", 73);
320
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
321
+ i0.ɵɵelementStart(0, "div", 69);
322
+ i0.ɵɵelement(1, "i", 71);
324
323
  i0.ɵɵtext(2);
325
324
  i0.ɵɵelementEnd();
326
325
  } if (rf & 2) {
@@ -328,8 +327,8 @@ function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_
328
327
  i0.ɵɵadvance(2);
329
328
  i0.ɵɵtextInterpolate1(" ", ctx_r0.previewError, " ");
330
329
  } }
331
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
332
- i0.ɵɵelementStart(0, "div", 74)(1, "strong");
330
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
331
+ i0.ɵɵelementStart(0, "div", 72)(1, "strong");
333
332
  i0.ɵɵtext(2, "Description:");
334
333
  i0.ɵɵelementEnd();
335
334
  i0.ɵɵtext(3);
@@ -339,8 +338,8 @@ function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_
339
338
  i0.ɵɵadvance(3);
340
339
  i0.ɵɵtextInterpolate1(" ", ctx_r0.previewSpec.description, " ");
341
340
  } }
342
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Conditional_6_Template(rf, ctx) { if (rf & 1) {
343
- i0.ɵɵelementStart(0, "div", 74)(1, "strong");
341
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Conditional_6_Template(rf, ctx) { if (rf & 1) {
342
+ i0.ɵɵelementStart(0, "div", 72)(1, "strong");
344
343
  i0.ɵɵtext(2, "Type:");
345
344
  i0.ɵɵelementEnd();
346
345
  i0.ɵɵtext(3);
@@ -350,8 +349,8 @@ function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_
350
349
  i0.ɵɵadvance(3);
351
350
  i0.ɵɵtextInterpolate1(" ", ctx_r0.previewSpec.type, " ");
352
351
  } }
353
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Conditional_7_Template(rf, ctx) { if (rf & 1) {
354
- i0.ɵɵelementStart(0, "div", 74)(1, "strong");
352
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Conditional_7_Template(rf, ctx) { if (rf & 1) {
353
+ i0.ɵɵelementStart(0, "div", 72)(1, "strong");
355
354
  i0.ɵɵtext(2, "Namespace:");
356
355
  i0.ɵɵelementEnd();
357
356
  i0.ɵɵtext(3);
@@ -361,8 +360,8 @@ function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_
361
360
  i0.ɵɵadvance(3);
362
361
  i0.ɵɵtextInterpolate1(" ", ctx_r0.previewSpec.namespace, " ");
363
362
  } }
364
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
365
- i0.ɵɵelementStart(0, "div", 74)(1, "strong");
363
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
364
+ i0.ɵɵelementStart(0, "div", 72)(1, "strong");
366
365
  i0.ɵɵtext(2, "Dependencies:");
367
366
  i0.ɵɵelementEnd();
368
367
  i0.ɵɵtext(3);
@@ -372,38 +371,38 @@ function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_
372
371
  i0.ɵɵadvance(3);
373
372
  i0.ɵɵtextInterpolate1(" ", ctx_r0.previewSpec.dependencies.length, " ");
374
373
  } }
375
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Conditional_18_Template(rf, ctx) { if (rf & 1) {
376
- i0.ɵɵelementStart(0, "div", 78);
377
- i0.ɵɵelement(1, "mj-code-editor", 79);
374
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Conditional_18_Template(rf, ctx) { if (rf & 1) {
375
+ i0.ɵɵelementStart(0, "div", 76);
376
+ i0.ɵɵelement(1, "mj-code-editor", 77);
378
377
  i0.ɵɵelementEnd();
379
378
  } if (rf & 2) {
380
379
  const ctx_r0 = i0.ɵɵnextContext(5);
381
380
  i0.ɵɵadvance();
382
381
  i0.ɵɵproperty("value", ctx_r0.getPreviewJSON())("language", "json")("readonly", true)("lineWrapping", true)("setup", "basic");
383
382
  } }
384
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Template(rf, ctx) { if (rf & 1) {
383
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Template(rf, ctx) { if (rf & 1) {
385
384
  const _r12 = i0.ɵɵgetCurrentView();
386
- i0.ɵɵelementStart(0, "div", 72)(1, "div", 74)(2, "strong");
385
+ i0.ɵɵelementStart(0, "div", 70)(1, "div", 72)(2, "strong");
387
386
  i0.ɵɵtext(3, "Name:");
388
387
  i0.ɵɵelementEnd();
389
388
  i0.ɵɵtext(4);
390
389
  i0.ɵɵelementEnd();
391
- i0.ɵɵconditionalCreate(5, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Conditional_5_Template, 4, 1, "div", 74);
392
- i0.ɵɵconditionalCreate(6, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Conditional_6_Template, 4, 1, "div", 74);
393
- i0.ɵɵconditionalCreate(7, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Conditional_7_Template, 4, 1, "div", 74);
394
- i0.ɵɵelementStart(8, "div", 74)(9, "strong");
390
+ i0.ɵɵconditionalCreate(5, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Conditional_5_Template, 4, 1, "div", 72);
391
+ i0.ɵɵconditionalCreate(6, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Conditional_6_Template, 4, 1, "div", 72);
392
+ i0.ɵɵconditionalCreate(7, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Conditional_7_Template, 4, 1, "div", 72);
393
+ i0.ɵɵelementStart(8, "div", 72)(9, "strong");
395
394
  i0.ɵɵtext(10, "Has Code:");
396
395
  i0.ɵɵelementEnd();
397
396
  i0.ɵɵtext(11);
398
397
  i0.ɵɵelementEnd();
399
- i0.ɵɵconditionalCreate(12, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Conditional_12_Template, 4, 1, "div", 74);
400
- i0.ɵɵelementStart(13, "div", 75)(14, "div", 76);
401
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Template_div_click_14_listener() { i0.ɵɵrestoreView(_r12); const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.toggleJsonPreview()); });
402
- i0.ɵɵelement(15, "i", 77);
398
+ i0.ɵɵconditionalCreate(12, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Conditional_12_Template, 4, 1, "div", 72);
399
+ i0.ɵɵelementStart(13, "div", 73)(14, "div", 74);
400
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Template_div_click_14_listener() { i0.ɵɵrestoreView(_r12); const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.toggleJsonPreview()); });
401
+ i0.ɵɵelement(15, "i", 75);
403
402
  i0.ɵɵelementStart(16, "strong");
404
403
  i0.ɵɵtext(17, "Full Specification (JSON)");
405
404
  i0.ɵɵelementEnd()();
406
- i0.ɵɵconditionalCreate(18, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Conditional_18_Template, 2, 5, "div", 78);
405
+ i0.ɵɵconditionalCreate(18, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Conditional_18_Template, 2, 5, "div", 76);
407
406
  i0.ɵɵelementEnd()();
408
407
  } if (rf & 2) {
409
408
  const ctx_r0 = i0.ɵɵnextContext(4);
@@ -424,23 +423,23 @@ function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_
424
423
  i0.ɵɵadvance(3);
425
424
  i0.ɵɵconditional(ctx_r0.showJsonPreview ? 18 : -1);
426
425
  } }
427
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
428
- i0.ɵɵelementStart(0, "div", 64)(1, "div", 69);
429
- i0.ɵɵelement(2, "i", 70);
426
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
427
+ i0.ɵɵelementStart(0, "div", 62)(1, "div", 67);
428
+ i0.ɵɵelement(2, "i", 68);
430
429
  i0.ɵɵtext(3, " Preview ");
431
430
  i0.ɵɵelementEnd();
432
- i0.ɵɵconditionalCreate(4, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_4_Template, 3, 1, "div", 71)(5, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Conditional_5_Template, 19, 11, "div", 72);
431
+ i0.ɵɵconditionalCreate(4, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_4_Template, 3, 1, "div", 69)(5, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Conditional_5_Template, 19, 11, "div", 70);
433
432
  i0.ɵɵelementEnd();
434
433
  } if (rf & 2) {
435
434
  const ctx_r0 = i0.ɵɵnextContext(3);
436
435
  i0.ɵɵadvance(4);
437
436
  i0.ɵɵconditional(ctx_r0.previewError ? 4 : ctx_r0.previewSpec ? 5 : -1);
438
437
  } }
439
- function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Template(rf, ctx) { if (rf & 1) {
440
- i0.ɵɵelementStart(0, "div", 62);
441
- i0.ɵɵrepeaterCreate(1, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_For_2_Template, 9, 8, "div", 63, _forTrack0);
438
+ function ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Template(rf, ctx) { if (rf & 1) {
439
+ i0.ɵɵelementStart(0, "div", 60);
440
+ i0.ɵɵrepeaterCreate(1, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_For_2_Template, 9, 8, "div", 61, _forTrack0);
442
441
  i0.ɵɵelementEnd();
443
- i0.ɵɵconditionalCreate(3, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Conditional_3_Template, 6, 1, "div", 64);
442
+ i0.ɵɵconditionalCreate(3, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Conditional_3_Template, 6, 1, "div", 62);
444
443
  } if (rf & 2) {
445
444
  const ctx_r0 = i0.ɵɵnextContext(2);
446
445
  i0.ɵɵadvance();
@@ -448,13 +447,13 @@ function ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Template(rf, c
448
447
  i0.ɵɵadvance(2);
449
448
  i0.ɵɵconditional(ctx_r0.selectedVersion ? 3 : -1);
450
449
  } }
451
- function ArtifactLoadDialogComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
452
- i0.ɵɵelementStart(0, "div", 18)(1, "div", 5)(2, "h4");
453
- i0.ɵɵelement(3, "i", 58);
450
+ function ArtifactLoadDialogComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
451
+ i0.ɵɵelementStart(0, "div", 16)(1, "div", 3)(2, "h4");
452
+ i0.ɵɵelement(3, "i", 56);
454
453
  i0.ɵɵtext(4, " Versions");
455
454
  i0.ɵɵelementEnd()();
456
- i0.ɵɵelementStart(5, "div", 59);
457
- i0.ɵɵconditionalCreate(6, ArtifactLoadDialogComponent_Conditional_24_Conditional_6_Template, 2, 0, "div", 36)(7, ArtifactLoadDialogComponent_Conditional_24_Conditional_7_Template, 4, 0, "div", 37)(8, ArtifactLoadDialogComponent_Conditional_24_Conditional_8_Template, 4, 1);
455
+ i0.ɵɵelementStart(5, "div", 57);
456
+ i0.ɵɵconditionalCreate(6, ArtifactLoadDialogComponent_Conditional_20_Conditional_6_Template, 2, 0, "div", 34)(7, ArtifactLoadDialogComponent_Conditional_20_Conditional_7_Template, 4, 0, "div", 35)(8, ArtifactLoadDialogComponent_Conditional_20_Conditional_8_Template, 4, 1);
458
457
  i0.ɵɵelementEnd()();
459
458
  } if (rf & 2) {
460
459
  const ctx_r0 = i0.ɵɵnextContext();
@@ -462,7 +461,8 @@ function ArtifactLoadDialogComponent_Conditional_24_Template(rf, ctx) { if (rf &
462
461
  i0.ɵɵconditional(ctx_r0.isLoadingVersions ? 6 : ctx_r0.artifactVersions.length === 0 ? 7 : 8);
463
462
  } }
464
463
  export class ArtifactLoadDialogComponent {
465
- dialog;
464
+ Visible = false;
465
+ Close = new EventEmitter();
466
466
  // Tab state
467
467
  activeTab = 0; // 0 = Artifacts, 1 = Collections
468
468
  // Artifacts data
@@ -495,9 +495,6 @@ export class ArtifactLoadDialogComponent {
495
495
  metadata = new Metadata();
496
496
  destroy$ = new Subject();
497
497
  searchSubject = new Subject();
498
- constructor(dialog) {
499
- this.dialog = dialog;
500
- }
501
498
  async ngOnInit() {
502
499
  // Setup search debouncing
503
500
  this.searchSubject.pipe(debounceTime(300), distinctUntilChanged(), takeUntil(this.destroy$)).subscribe(() => {
@@ -736,7 +733,7 @@ export class ArtifactLoadDialogComponent {
736
733
  this.previewSpec !== null;
737
734
  }
738
735
  cancel() {
739
- this.dialog.close(undefined);
736
+ this.Close.emit(undefined);
740
737
  }
741
738
  load() {
742
739
  if (!this.canLoad())
@@ -748,7 +745,7 @@ export class ArtifactLoadDialogComponent {
748
745
  versionNumber: this.selectedVersion.VersionNumber,
749
746
  artifactName: this.selectedArtifact.Name
750
747
  };
751
- this.dialog.close(result);
748
+ this.Close.emit(result);
752
749
  }
753
750
  onTabSelect(index) {
754
751
  this.activeTab = index;
@@ -774,77 +771,77 @@ export class ArtifactLoadDialogComponent {
774
771
  IsVersionSelected(version) {
775
772
  return UUIDsEqual(this.selectedVersion?.ID, version.ID);
776
773
  }
777
- static ɵfac = function ArtifactLoadDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ArtifactLoadDialogComponent)(i0.ɵɵdirectiveInject(i1.DialogRef)); };
778
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ArtifactLoadDialogComponent, selectors: [["app-artifact-load-dialog"]], standalone: false, decls: 31, vars: 18, consts: [[3, "close"], [2, "font-size", "18px"], [1, "fa-solid", "fa-database"], [1, "artifact-load-content"], [1, "filter-panel"], [1, "panel-header"], ["kendoButton", "", 3, "click", "fillMode", "themeColor"], [1, "fa-solid", "fa-filter"], [1, "filter-count"], [1, "filter-content"], [1, "main-content"], [1, "tabs"], [1, "tab", 3, "click"], [1, "fa-solid", "fa-file-code"], [1, "fa-solid", "fa-folder"], [1, "tab-content"], [1, "artifacts-view"], [1, "collections-view"], [1, "version-panel"], ["kendoButton", "", 3, "click", "themeColor", "disabled"], [1, "fa-solid", "fa-download"], ["kendoButton", "", 3, "click"], [1, "filter-group"], ["type", "text", "placeholder", "Name or description...", 1, "filter-input", 3, "ngModelChange", "input", "ngModel"], [1, "filter-select", 3, "ngModelChange", "change", "ngModel"], ["value", ""], ["value", "Component"], ["value", "Report"], ["value", "Dashboard"], ["type", "text", "placeholder", "Enter user email...", 1, "filter-input", 3, "ngModelChange", "input", "ngModel"], [1, "paging-controls"], ["kendoButton", "", 3, "click", "disabled", "themeColor"], [1, "fa-solid", "fa-chevron-left"], [1, "page-info"], [1, "fa-solid", "fa-chevron-right"], [1, "artifacts-list"], [1, "loading-state"], [1, "empty-state"], ["text", "Loading artifacts...", "size", "small"], [1, "fa-solid", "fa-inbox"], [1, "artifact-item", 3, "selected"], [1, "artifact-item", 3, "click"], [1, "artifact-content"], [1, "artifact-main"], [1, "artifact-name"], [1, "artifact-description"], [1, "artifact-meta"], [1, "collections-list"], [1, "collection-artifacts"], ["text", "Loading collections...", "size", "small"], [1, "fa-solid", "fa-folder-open"], [1, "collection-item", 3, "selected"], [1, "collection-item", 3, "click"], [1, "collection-icon"], [1, "collection-info"], [1, "collection-name"], [1, "collection-description"], [1, "section-header"], [1, "fa-solid", "fa-code-branch"], [1, "version-content"], ["text", "Loading versions...", "size", "small"], [1, "fa-solid", "fa-info-circle"], [1, "version-list"], [1, "version-item", 3, "selected"], [1, "preview-section"], [1, "version-item", 3, "click"], [1, "version-number"], [1, "version-meta"], [1, "version-comments"], [1, "preview-header"], [1, "fa-solid", "fa-eye"], [1, "preview-error"], [1, "preview-content"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "preview-item"], [1, "preview-json-section"], [1, "preview-json-header", 3, "click"], [1, "fa-solid"], [1, "preview-json-content"], [2, "height", "300px", "width", "100%", 3, "value", "language", "readonly", "lineWrapping", "setup"]], template: function ArtifactLoadDialogComponent_Template(rf, ctx) { if (rf & 1) {
779
- i0.ɵɵelementStart(0, "div")(1, "kendo-dialog-titlebar", 0);
780
- i0.ɵɵlistener("close", function ArtifactLoadDialogComponent_Template_kendo_dialog_titlebar_close_1_listener() { return ctx.cancel(); });
781
- i0.ɵɵelementStart(2, "div", 1);
782
- i0.ɵɵelement(3, "i", 2);
783
- i0.ɵɵtext(4, " Load Component from Artifact ");
784
- i0.ɵɵelementEnd()();
785
- i0.ɵɵelementStart(5, "div", 3)(6, "div", 4)(7, "div", 5);
786
- i0.ɵɵconditionalCreate(8, ArtifactLoadDialogComponent_Conditional_8_Template, 2, 0, "span");
787
- i0.ɵɵelementStart(9, "button", 6);
788
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Template_button_click_9_listener() { return ctx.toggleFilterPanel(); });
789
- i0.ɵɵelement(10, "i", 7);
790
- i0.ɵɵconditionalCreate(11, ArtifactLoadDialogComponent_Conditional_11_Template, 2, 1, "span", 8);
774
+ static ɵfac = function ArtifactLoadDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ArtifactLoadDialogComponent)(); };
775
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ArtifactLoadDialogComponent, selectors: [["app-artifact-load-dialog"]], inputs: { Visible: "Visible" }, outputs: { Close: "Close" }, standalone: false, decls: 27, vars: 18, consts: [["Title", "Load Component from Artifact", 3, "Close", "Visible", "Width", "MinWidth"], [1, "artifact-load-content"], [1, "filter-panel"], [1, "panel-header"], ["mjButton", "", "variant", "flat", 3, "click"], [1, "fa-solid", "fa-filter"], [1, "filter-count"], [1, "filter-content"], [1, "main-content"], [1, "tabs"], [1, "tab", 3, "click"], [1, "fa-solid", "fa-file-code"], [1, "fa-solid", "fa-folder"], [1, "tab-content"], [1, "artifacts-view"], [1, "collections-view"], [1, "version-panel"], ["mjButton", "", "variant", "primary", 3, "click", "disabled"], [1, "fa-solid", "fa-download"], ["mjButton", "", 3, "click"], [1, "filter-group"], ["type", "text", "placeholder", "Name or description...", 1, "filter-input", 3, "ngModelChange", "input", "ngModel"], [1, "filter-select", 3, "ngModelChange", "change", "ngModel"], ["value", ""], ["value", "Component"], ["value", "Report"], ["value", "Dashboard"], ["type", "text", "placeholder", "Enter user email...", 1, "filter-input", 3, "ngModelChange", "input", "ngModel"], [1, "paging-controls"], ["mjButton", "", 3, "click", "disabled"], [1, "fa-solid", "fa-chevron-left"], [1, "page-info"], [1, "fa-solid", "fa-chevron-right"], [1, "artifacts-list"], [1, "loading-state"], [1, "empty-state"], ["text", "Loading artifacts...", "size", "small"], [1, "fa-solid", "fa-inbox"], [1, "artifact-item", 3, "selected"], [1, "artifact-item", 3, "click"], [1, "artifact-content"], [1, "artifact-main"], [1, "artifact-name"], [1, "artifact-description"], [1, "artifact-meta"], [1, "collections-list"], [1, "collection-artifacts"], ["text", "Loading collections...", "size", "small"], [1, "fa-solid", "fa-folder-open"], [1, "collection-item", 3, "selected"], [1, "collection-item", 3, "click"], [1, "collection-icon"], [1, "collection-info"], [1, "collection-name"], [1, "collection-description"], [1, "section-header"], [1, "fa-solid", "fa-code-branch"], [1, "version-content"], ["text", "Loading versions...", "size", "small"], [1, "fa-solid", "fa-info-circle"], [1, "version-list"], [1, "version-item", 3, "selected"], [1, "preview-section"], [1, "version-item", 3, "click"], [1, "version-number"], [1, "version-meta"], [1, "version-comments"], [1, "preview-header"], [1, "fa-solid", "fa-eye"], [1, "preview-error"], [1, "preview-content"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "preview-item"], [1, "preview-json-section"], [1, "preview-json-header", 3, "click"], [1, "fa-solid"], [1, "preview-json-content"], [2, "height", "300px", "width", "100%", 3, "value", "language", "readonly", "lineWrapping", "setup"]], template: function ArtifactLoadDialogComponent_Template(rf, ctx) { if (rf & 1) {
776
+ i0.ɵɵelementStart(0, "mj-dialog", 0);
777
+ i0.ɵɵlistener("Close", function ArtifactLoadDialogComponent_Template_mj_dialog_Close_0_listener() { return ctx.cancel(); });
778
+ i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "div", 3);
779
+ i0.ɵɵconditionalCreate(4, ArtifactLoadDialogComponent_Conditional_4_Template, 2, 0, "span");
780
+ i0.ɵɵelementStart(5, "button", 4);
781
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Template_button_click_5_listener() { return ctx.toggleFilterPanel(); });
782
+ i0.ɵɵelement(6, "i", 5);
783
+ i0.ɵɵconditionalCreate(7, ArtifactLoadDialogComponent_Conditional_7_Template, 2, 1, "span", 6);
791
784
  i0.ɵɵelementEnd()();
792
- i0.ɵɵconditionalCreate(12, ArtifactLoadDialogComponent_Conditional_12_Template, 21, 3, "div", 9);
785
+ i0.ɵɵconditionalCreate(8, ArtifactLoadDialogComponent_Conditional_8_Template, 21, 3, "div", 7);
793
786
  i0.ɵɵelementEnd();
794
- i0.ɵɵelementStart(13, "div", 10)(14, "div", 11)(15, "button", 12);
795
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Template_button_click_15_listener() { return ctx.onTabSelect(0); });
796
- i0.ɵɵelement(16, "i", 13);
797
- i0.ɵɵtext(17, " All Artifacts ");
787
+ i0.ɵɵelementStart(9, "div", 8)(10, "div", 9)(11, "button", 10);
788
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Template_button_click_11_listener() { return ctx.onTabSelect(0); });
789
+ i0.ɵɵelement(12, "i", 11);
790
+ i0.ɵɵtext(13, " All Artifacts ");
798
791
  i0.ɵɵelementEnd();
799
- i0.ɵɵelementStart(18, "button", 12);
800
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Template_button_click_18_listener() { return ctx.onTabSelect(1); });
801
- i0.ɵɵelement(19, "i", 14);
802
- i0.ɵɵtext(20, " Collections ");
792
+ i0.ɵɵelementStart(14, "button", 10);
793
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Template_button_click_14_listener() { return ctx.onTabSelect(1); });
794
+ i0.ɵɵelement(15, "i", 12);
795
+ i0.ɵɵtext(16, " Collections ");
803
796
  i0.ɵɵelementEnd()();
804
- i0.ɵɵelementStart(21, "div", 15);
805
- i0.ɵɵconditionalCreate(22, ArtifactLoadDialogComponent_Conditional_22_Template, 14, 8, "div", 16);
806
- i0.ɵɵconditionalCreate(23, ArtifactLoadDialogComponent_Conditional_23_Template, 6, 2, "div", 17);
797
+ i0.ɵɵelementStart(17, "div", 13);
798
+ i0.ɵɵconditionalCreate(18, ArtifactLoadDialogComponent_Conditional_18_Template, 14, 6, "div", 14);
799
+ i0.ɵɵconditionalCreate(19, ArtifactLoadDialogComponent_Conditional_19_Template, 6, 2, "div", 15);
807
800
  i0.ɵɵelementEnd()();
808
- i0.ɵɵconditionalCreate(24, ArtifactLoadDialogComponent_Conditional_24_Template, 9, 1, "div", 18);
801
+ i0.ɵɵconditionalCreate(20, ArtifactLoadDialogComponent_Conditional_20_Template, 9, 1, "div", 16);
809
802
  i0.ɵɵelementEnd();
810
- i0.ɵɵelementStart(25, "kendo-dialog-actions")(26, "button", 19);
811
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Template_button_click_26_listener() { return ctx.load(); });
812
- i0.ɵɵelement(27, "i", 20);
813
- i0.ɵɵtext(28, " Load Component ");
803
+ i0.ɵɵelementStart(21, "mj-dialog-actions")(22, "button", 17);
804
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Template_button_click_22_listener() { return ctx.load(); });
805
+ i0.ɵɵelement(23, "i", 18);
806
+ i0.ɵɵtext(24, " Load Component ");
814
807
  i0.ɵɵelementEnd();
815
- i0.ɵɵelementStart(29, "button", 21);
816
- i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Template_button_click_29_listener() { return ctx.cancel(); });
817
- i0.ɵɵtext(30, "Cancel");
808
+ i0.ɵɵelementStart(25, "button", 19);
809
+ i0.ɵɵlistener("click", function ArtifactLoadDialogComponent_Template_button_click_25_listener() { return ctx.cancel(); });
810
+ i0.ɵɵtext(26, "Cancel");
818
811
  i0.ɵɵelementEnd()()();
819
812
  } if (rf & 2) {
820
- i0.ɵɵadvance(6);
813
+ i0.ɵɵproperty("Visible", true)("Width", 1200)("MinWidth", 600);
814
+ i0.ɵɵadvance(2);
821
815
  i0.ɵɵstyleProp("width", ctx.isFilterPanelCollapsed ? "40px" : "280px");
822
816
  i0.ɵɵadvance(2);
823
- i0.ɵɵconditional(!ctx.isFilterPanelCollapsed ? 8 : -1);
817
+ i0.ɵɵconditional(!ctx.isFilterPanelCollapsed ? 4 : -1);
824
818
  i0.ɵɵadvance();
825
819
  i0.ɵɵclassProp("filter-active", ctx.getActiveFilterCount() > 0);
826
- i0.ɵɵproperty("fillMode", "flat")("themeColor", ctx.getActiveFilterCount() > 0 ? "primary" : "base");
827
820
  i0.ɵɵadvance(2);
828
- i0.ɵɵconditional(ctx.isFilterPanelCollapsed && ctx.getActiveFilterCount() > 0 ? 11 : -1);
821
+ i0.ɵɵconditional(ctx.isFilterPanelCollapsed && ctx.getActiveFilterCount() > 0 ? 7 : -1);
829
822
  i0.ɵɵadvance();
830
- i0.ɵɵconditional(!ctx.isFilterPanelCollapsed ? 12 : -1);
823
+ i0.ɵɵconditional(!ctx.isFilterPanelCollapsed ? 8 : -1);
831
824
  i0.ɵɵadvance(3);
832
825
  i0.ɵɵclassProp("active", ctx.activeTab === 0);
833
826
  i0.ɵɵadvance(3);
834
827
  i0.ɵɵclassProp("active", ctx.activeTab === 1);
835
828
  i0.ɵɵadvance(4);
836
- i0.ɵɵconditional(ctx.activeTab === 0 ? 22 : -1);
829
+ i0.ɵɵconditional(ctx.activeTab === 0 ? 18 : -1);
837
830
  i0.ɵɵadvance();
838
- i0.ɵɵconditional(ctx.activeTab === 1 ? 23 : -1);
831
+ i0.ɵɵconditional(ctx.activeTab === 1 ? 19 : -1);
839
832
  i0.ɵɵadvance();
840
- i0.ɵɵconditional(ctx.selectedArtifact ? 24 : -1);
833
+ i0.ɵɵconditional(ctx.selectedArtifact ? 20 : -1);
841
834
  i0.ɵɵadvance(2);
842
- i0.ɵɵproperty("themeColor", "primary")("disabled", !ctx.canLoad());
843
- } }, dependencies: [i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.DefaultValueAccessor, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.ButtonComponent, i1.DialogTitleBarComponent, i1.DialogActionsComponent, i4.CodeEditorComponent, i5.LoadingComponent, i6.DatePipe], styles: ["\n\n.artifact-load-content[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n\n\n\n.filter-panel[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n border-right: 1px solid var(--mj-border-default);\n transition: width 0.3s ease;\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px;\n border-bottom: 1px solid var(--mj-border-default);\n font-weight: bold;\n color: var(--mj-text-secondary);\n}\n\n.filter-content[_ngcontent-%COMP%] {\n flex: 1;\n padding: 15px;\n overflow-y: auto;\n}\n\n.filter-group[_ngcontent-%COMP%] {\n margin-bottom: 15px;\n}\n\n.filter-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n display: block;\n margin-bottom: 5px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.filter-input[_ngcontent-%COMP%], \n.filter-select[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.filter-input[_ngcontent-%COMP%]:focus, \n.filter-select[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.filter-count[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n border-radius: 50%;\n min-width: 18px;\n height: 18px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: bold;\n margin-left: 4px;\n}\n\n\n\n.main-content[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n flex: 2;\n min-width: 0;\n}\n\n\n\n.tabs[_ngcontent-%COMP%] {\n display: flex;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n}\n\n.tab[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border: none;\n background: transparent;\n color: var(--mj-text-secondary);\n cursor: pointer;\n font-size: 14px;\n font-weight: 500;\n border-bottom: 2px solid transparent;\n transition: all 0.2s;\n}\n\n.tab[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n.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.tab[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 6px;\n}\n\n\n\n.tab-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n\n.artifacts-view[_ngcontent-%COMP%], \n.collections-view[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n\n\n.paging-controls[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n}\n\n.page-info[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n\n\n.artifacts-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 10px 15px;\n background: var(--mj-bg-surface);\n}\n\n.artifact-item[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin: 10px 0;\n padding: 15px;\n cursor: pointer;\n transition: all 0.2s ease;\n background: var(--mj-bg-surface);\n}\n\n.artifact-item[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.artifact-item.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.artifact-content[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.artifact-main[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.artifact-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n}\n\n.artifact-name[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n}\n\n.artifact-name[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.artifact-description[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 14px;\n margin-top: 4px;\n}\n\n.artifact-meta[_ngcontent-%COMP%] {\n text-align: right;\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n\n\n.collections-view[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1.5fr;\n gap: 15px;\n padding: 15px;\n overflow: hidden;\n}\n\n.collections-list[_ngcontent-%COMP%] {\n overflow-y: auto;\n border-right: 1px solid var(--mj-border-default);\n padding-right: 15px;\n}\n\n.collection-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin-bottom: 10px;\n cursor: pointer;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n}\n\n.collection-item[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.collection-item.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.collection-icon[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--mj-brand-primary);\n}\n\n.collection-info[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.collection-name[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n}\n\n.collection-description[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.collection-artifacts[_ngcontent-%COMP%] {\n overflow-y: auto;\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 10px;\n}\n\n\n\n.version-panel[_ngcontent-%COMP%] {\n width: 350px;\n height: 100%;\n display: flex;\n flex-direction: column;\n border-left: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 15px;\n}\n\n.version-list[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.version-item[_ngcontent-%COMP%] {\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin-bottom: 10px;\n cursor: pointer;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n}\n\n.version-item[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-item.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.version-number[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.version-number[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-brand-primary);\n}\n\n.version-meta[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.version-comments[_ngcontent-%COMP%] {\n margin-top: 4px;\n font-style: italic;\n color: var(--mj-text-muted);\n}\n\n\n\n.preview-section[_ngcontent-%COMP%] {\n border-top: 2px solid var(--mj-border-default);\n padding-top: 15px;\n margin-top: 15px;\n}\n\n.preview-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.preview-content[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 12px;\n}\n\n.preview-item[_ngcontent-%COMP%] {\n margin-bottom: 8px;\n font-size: 13px;\n}\n\n.preview-item[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-right: 6px;\n}\n\n.preview-error[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid var(--mj-status-warning);\n border-radius: 4px;\n padding: 10px;\n color: var(--mj-status-warning);\n font-size: 13px;\n}\n\n.preview-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 6px;\n}\n\n\n\n.loading-state[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.loading-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n margin-bottom: 15px;\n color: var(--mj-text-muted);\n}\n\n.loading-state[_ngcontent-%COMP%] i.fa-spin[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 5px 0;\n font-size: 14px;\n}\n\n\n\n.preview-json-section[_ngcontent-%COMP%] {\n margin-top: 15px;\n border-top: 1px solid var(--mj-border-default);\n padding-top: 10px;\n}\n\n.preview-json-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px;\n cursor: pointer;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n transition: background 0.2s;\n}\n\n.preview-json-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.preview-json-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.preview-json-header[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-primary);\n}\n\n.preview-json-content[_ngcontent-%COMP%] {\n margin-top: 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n overflow: hidden;\n}"] });
835
+ i0.ɵɵproperty("disabled", !ctx.canLoad());
836
+ } }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.CodeEditorComponent, i3.LoadingComponent, i4.MJButtonDirective, i4.MJDialogComponent, i4.MJDialogActionsComponent, i5.DatePipe], styles: ["\n\n.artifact-load-content[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n\n\n\n.filter-panel[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n border-right: 1px solid var(--mj-border-default);\n transition: width 0.3s ease;\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px;\n border-bottom: 1px solid var(--mj-border-default);\n font-weight: bold;\n color: var(--mj-text-secondary);\n}\n\n.filter-content[_ngcontent-%COMP%] {\n flex: 1;\n padding: 15px;\n overflow-y: auto;\n}\n\n.filter-group[_ngcontent-%COMP%] {\n margin-bottom: 15px;\n}\n\n.filter-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n display: block;\n margin-bottom: 5px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.filter-input[_ngcontent-%COMP%], \n.filter-select[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.filter-input[_ngcontent-%COMP%]:focus, \n.filter-select[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.filter-count[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n border-radius: 50%;\n min-width: 18px;\n height: 18px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: bold;\n margin-left: 4px;\n}\n\n\n\n.main-content[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n flex: 2;\n min-width: 0;\n}\n\n\n\n.tabs[_ngcontent-%COMP%] {\n display: flex;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n}\n\n.tab[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border: none;\n background: transparent;\n color: var(--mj-text-secondary);\n cursor: pointer;\n font-size: 14px;\n font-weight: 500;\n border-bottom: 2px solid transparent;\n transition: all 0.2s;\n}\n\n.tab[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n.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.tab[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 6px;\n}\n\n\n\n.tab-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n\n.artifacts-view[_ngcontent-%COMP%], \n.collections-view[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n\n\n.paging-controls[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n}\n\n.page-info[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n\n\n.artifacts-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 10px 15px;\n background: var(--mj-bg-surface);\n}\n\n.artifact-item[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin: 10px 0;\n padding: 15px;\n cursor: pointer;\n transition: all 0.2s ease;\n background: var(--mj-bg-surface);\n}\n\n.artifact-item[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.artifact-item.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.artifact-content[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.artifact-main[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.artifact-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n}\n\n.artifact-name[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n}\n\n.artifact-name[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.artifact-description[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 14px;\n margin-top: 4px;\n}\n\n.artifact-meta[_ngcontent-%COMP%] {\n text-align: right;\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n\n\n.collections-view[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1.5fr;\n gap: 15px;\n padding: 15px;\n overflow: hidden;\n}\n\n.collections-list[_ngcontent-%COMP%] {\n overflow-y: auto;\n border-right: 1px solid var(--mj-border-default);\n padding-right: 15px;\n}\n\n.collection-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin-bottom: 10px;\n cursor: pointer;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n}\n\n.collection-item[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.collection-item.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.collection-icon[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--mj-brand-primary);\n}\n\n.collection-info[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.collection-name[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n}\n\n.collection-description[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.collection-artifacts[_ngcontent-%COMP%] {\n overflow-y: auto;\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 10px;\n}\n\n\n\n.version-panel[_ngcontent-%COMP%] {\n width: 350px;\n height: 100%;\n display: flex;\n flex-direction: column;\n border-left: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 15px;\n}\n\n.version-list[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.version-item[_ngcontent-%COMP%] {\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin-bottom: 10px;\n cursor: pointer;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n}\n\n.version-item[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-item.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.version-number[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.version-number[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-brand-primary);\n}\n\n.version-meta[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.version-comments[_ngcontent-%COMP%] {\n margin-top: 4px;\n font-style: italic;\n color: var(--mj-text-muted);\n}\n\n\n\n.preview-section[_ngcontent-%COMP%] {\n border-top: 2px solid var(--mj-border-default);\n padding-top: 15px;\n margin-top: 15px;\n}\n\n.preview-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.preview-content[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 12px;\n}\n\n.preview-item[_ngcontent-%COMP%] {\n margin-bottom: 8px;\n font-size: 13px;\n}\n\n.preview-item[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-right: 6px;\n}\n\n.preview-error[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid var(--mj-status-warning);\n border-radius: 4px;\n padding: 10px;\n color: var(--mj-status-warning);\n font-size: 13px;\n}\n\n.preview-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 6px;\n}\n\n\n\n.loading-state[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.loading-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n margin-bottom: 15px;\n color: var(--mj-text-muted);\n}\n\n.loading-state[_ngcontent-%COMP%] i.fa-spin[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 5px 0;\n font-size: 14px;\n}\n\n\n\n.preview-json-section[_ngcontent-%COMP%] {\n margin-top: 15px;\n border-top: 1px solid var(--mj-border-default);\n padding-top: 10px;\n}\n\n.preview-json-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px;\n cursor: pointer;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n transition: background 0.2s;\n}\n\n.preview-json-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.preview-json-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.preview-json-header[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-primary);\n}\n\n.preview-json-content[_ngcontent-%COMP%] {\n margin-top: 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n overflow: hidden;\n}"] });
844
837
  }
845
838
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArtifactLoadDialogComponent, [{
846
839
  type: Component,
847
- args: [{ standalone: false, selector: 'app-artifact-load-dialog', template: "<div>\n <kendo-dialog-titlebar (close)=\"cancel()\">\n <div style=\"font-size: 18px;\">\n <i class=\"fa-solid fa-database\"></i> Load Component from Artifact\n </div>\n </kendo-dialog-titlebar>\n\n <div class=\"artifact-load-content\">\n <!-- Left Filter Panel -->\n <div class=\"filter-panel\" [style.width]=\"isFilterPanelCollapsed ? '40px' : '280px'\">\n <div class=\"panel-header\">\n @if (!isFilterPanelCollapsed) {\n <span>Filters</span>\n }\n <button kendoButton (click)=\"toggleFilterPanel()\"\n [fillMode]=\"'flat'\"\n [class.filter-active]=\"getActiveFilterCount() > 0\"\n [themeColor]=\"getActiveFilterCount() > 0 ? 'primary' : 'base'\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (isFilterPanelCollapsed && getActiveFilterCount() > 0) {\n <span class=\"filter-count\">{{ getActiveFilterCount() }}</span>\n }\n </button>\n </div>\n\n @if (!isFilterPanelCollapsed) {\n <div class=\"filter-content\">\n <!-- Search -->\n <div class=\"filter-group\">\n <label>Search</label>\n <input type=\"text\"\n [(ngModel)]=\"searchTerm\"\n (input)=\"onSearchInput()\"\n placeholder=\"Name or description...\"\n class=\"filter-input\">\n </div>\n\n <!-- Artifact Type -->\n <div class=\"filter-group\">\n <label>Artifact Type</label>\n <select [(ngModel)]=\"selectedArtifactType\"\n (change)=\"onArtifactTypeChange()\"\n class=\"filter-select\">\n <option value=\"\">Component (default)</option>\n <option value=\"Component\">Component</option>\n <option value=\"Report\">Report</option>\n <option value=\"Dashboard\">Dashboard</option>\n </select>\n </div>\n\n <!-- User Email -->\n <div class=\"filter-group\">\n <label>Filter by User</label>\n <input type=\"text\"\n [(ngModel)]=\"userEmail\"\n (input)=\"filterArtifacts()\"\n placeholder=\"Enter user email...\"\n class=\"filter-input\">\n </div>\n </div>\n }\n </div>\n\n <!-- Main Content Area -->\n <div class=\"main-content\">\n <!-- Tabs -->\n <div class=\"tabs\">\n <button class=\"tab\"\n [class.active]=\"activeTab === 0\"\n (click)=\"onTabSelect(0)\">\n <i class=\"fa-solid fa-file-code\"></i> All Artifacts\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 1\"\n (click)=\"onTabSelect(1)\">\n <i class=\"fa-solid fa-folder\"></i> Collections\n </button>\n </div>\n\n <!-- Tab Content -->\n <div class=\"tab-content\">\n <!-- Artifacts Tab -->\n @if (activeTab === 0) {\n <div class=\"artifacts-view\">\n <!-- Paging Controls -->\n <div class=\"paging-controls\">\n <button kendoButton\n (click)=\"previousPage()\"\n [disabled]=\"!canGoPrevious()\"\n [themeColor]=\"'base'\">\n <i class=\"fa-solid fa-chevron-left\"></i> Previous\n </button>\n <span class=\"page-info\">\n Page {{ currentPage + 1 }} of {{ getTotalPages() }}\n ({{ totalArtifacts }} total)\n </span>\n <button kendoButton\n (click)=\"nextPage()\"\n [disabled]=\"!canGoNext()\"\n [themeColor]=\"'base'\">\n Next <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n\n <!-- Artifacts List -->\n <div class=\"artifacts-list\">\n @if (isLoading) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading artifacts...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (artifacts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No artifacts found</p>\n </div>\n }\n @else {\n @for (artifact of artifacts; track artifact.ID) {\n <div class=\"artifact-item\"\n [class.selected]=\"IsArtifactSelected(artifact)\"\n (click)=\"selectArtifact(artifact)\">\n <div class=\"artifact-content\">\n <div class=\"artifact-main\">\n <div class=\"artifact-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n <span>{{ artifact.Name }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"artifact-description\">\n {{ artifact.Description }}\n </div>\n }\n </div>\n <div class=\"artifact-meta\">\n <div>{{ artifact.Type }}</div>\n <div>{{ artifact.__mj_UpdatedAt | date:'short' }}</div>\n </div>\n </div>\n </div>\n }\n }\n </div>\n </div>\n }\n\n <!-- Collections Tab -->\n @if (activeTab === 1) {\n <div class=\"collections-view\">\n <div class=\"collections-list\">\n @if (isLoadingCollections) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading collections...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (collections.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-folder-open\"></i>\n <p>No collections found</p>\n </div>\n }\n @else {\n @for (collection of collections; track collection.ID) {\n <div class=\"collection-item\"\n [class.selected]=\"IsCollectionSelected(collection)\"\n (click)=\"selectCollection(collection)\">\n <div class=\"collection-icon\">\n <i class=\"fa-solid fa-folder\"></i>\n </div>\n <div class=\"collection-info\">\n <div class=\"collection-name\">{{ collection.Name }}</div>\n @if (collection.Description) {\n <div class=\"collection-description\">{{ collection.Description }}</div>\n }\n </div>\n </div>\n }\n }\n </div>\n\n @if (selectedCollection) {\n <div class=\"collection-artifacts\">\n <div class=\"section-header\">\n <i class=\"fa-solid fa-file-code\"></i>\n Artifacts in \"{{ selectedCollection.Name }}\"\n </div>\n @if (collectionArtifacts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No artifacts in this collection</p>\n </div>\n }\n @else {\n @for (artifact of collectionArtifacts; track artifact.ID) {\n <div class=\"artifact-item\"\n [class.selected]=\"IsArtifactSelected(artifact)\"\n (click)=\"selectArtifact(artifact)\">\n <div class=\"artifact-content\">\n <div class=\"artifact-main\">\n <div class=\"artifact-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n <span>{{ artifact.Name }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"artifact-description\">\n {{ artifact.Description }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Right Version/Preview Panel -->\n @if (selectedArtifact) {\n <div class=\"version-panel\">\n <div class=\"panel-header\">\n <h4><i class=\"fa-solid fa-code-branch\"></i> Versions</h4>\n </div>\n\n <div class=\"version-content\">\n @if (isLoadingVersions) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading versions...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (artifactVersions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <p>No versions available</p>\n </div>\n }\n @else {\n <div class=\"version-list\">\n @for (version of artifactVersions; track version.ID) {\n <div class=\"version-item\"\n [class.selected]=\"IsVersionSelected(version)\"\n (click)=\"selectVersion(version)\">\n <div class=\"version-number\">\n <i class=\"fa-solid fa-code-branch\"></i>\n Version {{ version.VersionNumber }}\n </div>\n <div class=\"version-meta\">\n <div>{{ version.__mj_UpdatedAt | date:'short' }}</div>\n @if (version.Comments) {\n <div class=\"version-comments\">{{ version.Comments }}</div>\n }\n </div>\n </div>\n }\n </div>\n\n <!-- Preview Section -->\n @if (selectedVersion) {\n <div class=\"preview-section\">\n <div class=\"preview-header\">\n <i class=\"fa-solid fa-eye\"></i> Preview\n </div>\n @if (previewError) {\n <div class=\"preview-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ previewError }}\n </div>\n }\n @else if (previewSpec) {\n <div class=\"preview-content\">\n <div class=\"preview-item\">\n <strong>Name:</strong> {{ previewSpec.name }}\n </div>\n @if (previewSpec.description) {\n <div class=\"preview-item\">\n <strong>Description:</strong> {{ previewSpec.description }}\n </div>\n }\n @if (previewSpec.type) {\n <div class=\"preview-item\">\n <strong>Type:</strong> {{ previewSpec.type }}\n </div>\n }\n @if (previewSpec.namespace) {\n <div class=\"preview-item\">\n <strong>Namespace:</strong> {{ previewSpec.namespace }}\n </div>\n }\n <div class=\"preview-item\">\n <strong>Has Code:</strong> {{ previewSpec.code ? 'Yes' : 'No' }}\n </div>\n @if (previewSpec.dependencies && previewSpec.dependencies.length > 0) {\n <div class=\"preview-item\">\n <strong>Dependencies:</strong> {{ previewSpec.dependencies.length }}\n </div>\n }\n\n <!-- Full Spec JSON Viewer -->\n <div class=\"preview-json-section\">\n <div class=\"preview-json-header\" (click)=\"toggleJsonPreview()\">\n <i class=\"fa-solid\" [class.fa-chevron-right]=\"!showJsonPreview\" [class.fa-chevron-down]=\"showJsonPreview\"></i>\n <strong>Full Specification (JSON)</strong>\n </div>\n @if (showJsonPreview) {\n <div class=\"preview-json-content\">\n <mj-code-editor\n [value]=\"getPreviewJSON()\"\n [language]=\"'json'\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n [setup]=\"'basic'\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n }\n </div>\n </div>\n }\n </div>\n\n <kendo-dialog-actions>\n <button kendoButton\n [themeColor]=\"'primary'\"\n (click)=\"load()\"\n [disabled]=\"!canLoad()\">\n <i class=\"fa-solid fa-download\"></i>\n Load Component\n </button>\n <button kendoButton (click)=\"cancel()\">Cancel</button>\n </kendo-dialog-actions>\n</div>\n", styles: ["/* Main container */\n.artifact-load-content {\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n\n/* Filter Panel */\n.filter-panel {\n height: 100%;\n display: flex;\n flex-direction: column;\n border-right: 1px solid var(--mj-border-default);\n transition: width 0.3s ease;\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px;\n border-bottom: 1px solid var(--mj-border-default);\n font-weight: bold;\n color: var(--mj-text-secondary);\n}\n\n.filter-content {\n flex: 1;\n padding: 15px;\n overflow-y: auto;\n}\n\n.filter-group {\n margin-bottom: 15px;\n}\n\n.filter-group label {\n display: block;\n margin-bottom: 5px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.filter-input,\n.filter-select {\n width: 100%;\n padding: 8px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.filter-input:focus,\n.filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.filter-count {\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n border-radius: 50%;\n min-width: 18px;\n height: 18px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: bold;\n margin-left: 4px;\n}\n\n/* Main Content Panel */\n.main-content {\n height: 100%;\n display: flex;\n flex-direction: column;\n flex: 2;\n min-width: 0;\n}\n\n/* Tabs */\n.tabs {\n display: flex;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n}\n\n.tab {\n padding: 12px 20px;\n border: none;\n background: transparent;\n color: var(--mj-text-secondary);\n cursor: pointer;\n font-size: 14px;\n font-weight: 500;\n border-bottom: 2px solid transparent;\n transition: all 0.2s;\n}\n\n.tab:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n.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.tab i {\n margin-right: 6px;\n}\n\n/* Tab Content */\n.tab-content {\n flex: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n\n.artifacts-view,\n.collections-view {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n/* Paging Controls */\n.paging-controls {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n}\n\n.page-info {\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n/* Artifacts List */\n.artifacts-list {\n flex: 1;\n overflow-y: auto;\n padding: 10px 15px;\n background: var(--mj-bg-surface);\n}\n\n.artifact-item {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin: 10px 0;\n padding: 15px;\n cursor: pointer;\n transition: all 0.2s ease;\n background: var(--mj-bg-surface);\n}\n\n.artifact-item:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.artifact-item.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.artifact-content {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.artifact-main {\n flex: 1;\n}\n\n.artifact-name {\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n}\n\n.artifact-name i {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n}\n\n.artifact-name span {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.artifact-description {\n color: var(--mj-text-secondary);\n font-size: 14px;\n margin-top: 4px;\n}\n\n.artifact-meta {\n text-align: right;\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n/* Collections View */\n.collections-view {\n display: grid;\n grid-template-columns: 1fr 1.5fr;\n gap: 15px;\n padding: 15px;\n overflow: hidden;\n}\n\n.collections-list {\n overflow-y: auto;\n border-right: 1px solid var(--mj-border-default);\n padding-right: 15px;\n}\n\n.collection-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin-bottom: 10px;\n cursor: pointer;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n}\n\n.collection-item:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.collection-item.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.collection-icon {\n font-size: 24px;\n color: var(--mj-brand-primary);\n}\n\n.collection-info {\n flex: 1;\n}\n\n.collection-name {\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n}\n\n.collection-description {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.collection-artifacts {\n overflow-y: auto;\n}\n\n.section-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 10px;\n}\n\n/* Version Panel */\n.version-panel {\n width: 350px;\n height: 100%;\n display: flex;\n flex-direction: column;\n border-left: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-content {\n flex: 1;\n overflow-y: auto;\n padding: 15px;\n}\n\n.version-list {\n margin-bottom: 20px;\n}\n\n.version-item {\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin-bottom: 10px;\n cursor: pointer;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n}\n\n.version-item:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-item.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.version-number {\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.version-number i {\n font-size: 14px;\n color: var(--mj-brand-primary);\n}\n\n.version-meta {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.version-comments {\n margin-top: 4px;\n font-style: italic;\n color: var(--mj-text-muted);\n}\n\n/* Preview Section */\n.preview-section {\n border-top: 2px solid var(--mj-border-default);\n padding-top: 15px;\n margin-top: 15px;\n}\n\n.preview-header {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.preview-content {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 12px;\n}\n\n.preview-item {\n margin-bottom: 8px;\n font-size: 13px;\n}\n\n.preview-item strong {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-right: 6px;\n}\n\n.preview-error {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid var(--mj-status-warning);\n border-radius: 4px;\n padding: 10px;\n color: var(--mj-status-warning);\n font-size: 13px;\n}\n\n.preview-error i {\n margin-right: 6px;\n}\n\n/* Loading & Empty States */\n.loading-state,\n.empty-state {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.loading-state i,\n.empty-state i {\n font-size: 36px;\n margin-bottom: 15px;\n color: var(--mj-text-muted);\n}\n\n.loading-state i.fa-spin {\n color: var(--mj-brand-primary);\n}\n\n.empty-state p {\n margin: 5px 0;\n font-size: 14px;\n}\n\n/* JSON Preview Section */\n.preview-json-section {\n margin-top: 15px;\n border-top: 1px solid var(--mj-border-default);\n padding-top: 10px;\n}\n\n.preview-json-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px;\n cursor: pointer;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n transition: background 0.2s;\n}\n\n.preview-json-header:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.preview-json-header i {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.preview-json-header strong {\n font-size: 13px;\n color: var(--mj-text-primary);\n}\n\n.preview-json-content {\n margin-top: 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n overflow: hidden;\n}\n"] }]
848
- }], () => [{ type: i1.DialogRef }], null); })();
849
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ArtifactLoadDialogComponent, { className: "ArtifactLoadDialogComponent", filePath: "src/ComponentStudio/components/artifact-load-dialog.component.ts", lineNumber: 30 }); })();
840
+ args: [{ standalone: false, selector: 'app-artifact-load-dialog', template: "<mj-dialog [Visible]=\"true\" Title=\"Load Component from Artifact\" (Close)=\"cancel()\" [Width]=\"1200\" [MinWidth]=\"600\">\n <div class=\"artifact-load-content\">\n <!-- Left Filter Panel -->\n <div class=\"filter-panel\" [style.width]=\"isFilterPanelCollapsed ? '40px' : '280px'\">\n <div class=\"panel-header\">\n @if (!isFilterPanelCollapsed) {\n <span>Filters</span>\n }\n <button mjButton (click)=\"toggleFilterPanel()\"\n variant=\"flat\"\n [class.filter-active]=\"getActiveFilterCount() > 0\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (isFilterPanelCollapsed && getActiveFilterCount() > 0) {\n <span class=\"filter-count\">{{ getActiveFilterCount() }}</span>\n }\n </button>\n </div>\n\n @if (!isFilterPanelCollapsed) {\n <div class=\"filter-content\">\n <!-- Search -->\n <div class=\"filter-group\">\n <label>Search</label>\n <input type=\"text\"\n [(ngModel)]=\"searchTerm\"\n (input)=\"onSearchInput()\"\n placeholder=\"Name or description...\"\n class=\"filter-input\">\n </div>\n\n <!-- Artifact Type -->\n <div class=\"filter-group\">\n <label>Artifact Type</label>\n <select [(ngModel)]=\"selectedArtifactType\"\n (change)=\"onArtifactTypeChange()\"\n class=\"filter-select\">\n <option value=\"\">Component (default)</option>\n <option value=\"Component\">Component</option>\n <option value=\"Report\">Report</option>\n <option value=\"Dashboard\">Dashboard</option>\n </select>\n </div>\n\n <!-- User Email -->\n <div class=\"filter-group\">\n <label>Filter by User</label>\n <input type=\"text\"\n [(ngModel)]=\"userEmail\"\n (input)=\"filterArtifacts()\"\n placeholder=\"Enter user email...\"\n class=\"filter-input\">\n </div>\n </div>\n }\n </div>\n\n <!-- Main Content Area -->\n <div class=\"main-content\">\n <!-- Tabs -->\n <div class=\"tabs\">\n <button class=\"tab\"\n [class.active]=\"activeTab === 0\"\n (click)=\"onTabSelect(0)\">\n <i class=\"fa-solid fa-file-code\"></i> All Artifacts\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 1\"\n (click)=\"onTabSelect(1)\">\n <i class=\"fa-solid fa-folder\"></i> Collections\n </button>\n </div>\n\n <!-- Tab Content -->\n <div class=\"tab-content\">\n <!-- Artifacts Tab -->\n @if (activeTab === 0) {\n <div class=\"artifacts-view\">\n <!-- Paging Controls -->\n <div class=\"paging-controls\">\n <button mjButton\n (click)=\"previousPage()\"\n [disabled]=\"!canGoPrevious()\">\n <i class=\"fa-solid fa-chevron-left\"></i> Previous\n </button>\n <span class=\"page-info\">\n Page {{ currentPage + 1 }} of {{ getTotalPages() }}\n ({{ totalArtifacts }} total)\n </span>\n <button mjButton\n (click)=\"nextPage()\"\n [disabled]=\"!canGoNext()\">\n Next <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n\n <!-- Artifacts List -->\n <div class=\"artifacts-list\">\n @if (isLoading) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading artifacts...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (artifacts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No artifacts found</p>\n </div>\n }\n @else {\n @for (artifact of artifacts; track artifact.ID) {\n <div class=\"artifact-item\"\n [class.selected]=\"IsArtifactSelected(artifact)\"\n (click)=\"selectArtifact(artifact)\">\n <div class=\"artifact-content\">\n <div class=\"artifact-main\">\n <div class=\"artifact-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n <span>{{ artifact.Name }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"artifact-description\">\n {{ artifact.Description }}\n </div>\n }\n </div>\n <div class=\"artifact-meta\">\n <div>{{ artifact.Type }}</div>\n <div>{{ artifact.__mj_UpdatedAt | date:'short' }}</div>\n </div>\n </div>\n </div>\n }\n }\n </div>\n </div>\n }\n\n <!-- Collections Tab -->\n @if (activeTab === 1) {\n <div class=\"collections-view\">\n <div class=\"collections-list\">\n @if (isLoadingCollections) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading collections...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (collections.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-folder-open\"></i>\n <p>No collections found</p>\n </div>\n }\n @else {\n @for (collection of collections; track collection.ID) {\n <div class=\"collection-item\"\n [class.selected]=\"IsCollectionSelected(collection)\"\n (click)=\"selectCollection(collection)\">\n <div class=\"collection-icon\">\n <i class=\"fa-solid fa-folder\"></i>\n </div>\n <div class=\"collection-info\">\n <div class=\"collection-name\">{{ collection.Name }}</div>\n @if (collection.Description) {\n <div class=\"collection-description\">{{ collection.Description }}</div>\n }\n </div>\n </div>\n }\n }\n </div>\n\n @if (selectedCollection) {\n <div class=\"collection-artifacts\">\n <div class=\"section-header\">\n <i class=\"fa-solid fa-file-code\"></i>\n Artifacts in \"{{ selectedCollection.Name }}\"\n </div>\n @if (collectionArtifacts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No artifacts in this collection</p>\n </div>\n }\n @else {\n @for (artifact of collectionArtifacts; track artifact.ID) {\n <div class=\"artifact-item\"\n [class.selected]=\"IsArtifactSelected(artifact)\"\n (click)=\"selectArtifact(artifact)\">\n <div class=\"artifact-content\">\n <div class=\"artifact-main\">\n <div class=\"artifact-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n <span>{{ artifact.Name }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"artifact-description\">\n {{ artifact.Description }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Right Version/Preview Panel -->\n @if (selectedArtifact) {\n <div class=\"version-panel\">\n <div class=\"panel-header\">\n <h4><i class=\"fa-solid fa-code-branch\"></i> Versions</h4>\n </div>\n\n <div class=\"version-content\">\n @if (isLoadingVersions) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading versions...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (artifactVersions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <p>No versions available</p>\n </div>\n }\n @else {\n <div class=\"version-list\">\n @for (version of artifactVersions; track version.ID) {\n <div class=\"version-item\"\n [class.selected]=\"IsVersionSelected(version)\"\n (click)=\"selectVersion(version)\">\n <div class=\"version-number\">\n <i class=\"fa-solid fa-code-branch\"></i>\n Version {{ version.VersionNumber }}\n </div>\n <div class=\"version-meta\">\n <div>{{ version.__mj_UpdatedAt | date:'short' }}</div>\n @if (version.Comments) {\n <div class=\"version-comments\">{{ version.Comments }}</div>\n }\n </div>\n </div>\n }\n </div>\n\n <!-- Preview Section -->\n @if (selectedVersion) {\n <div class=\"preview-section\">\n <div class=\"preview-header\">\n <i class=\"fa-solid fa-eye\"></i> Preview\n </div>\n @if (previewError) {\n <div class=\"preview-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ previewError }}\n </div>\n }\n @else if (previewSpec) {\n <div class=\"preview-content\">\n <div class=\"preview-item\">\n <strong>Name:</strong> {{ previewSpec.name }}\n </div>\n @if (previewSpec.description) {\n <div class=\"preview-item\">\n <strong>Description:</strong> {{ previewSpec.description }}\n </div>\n }\n @if (previewSpec.type) {\n <div class=\"preview-item\">\n <strong>Type:</strong> {{ previewSpec.type }}\n </div>\n }\n @if (previewSpec.namespace) {\n <div class=\"preview-item\">\n <strong>Namespace:</strong> {{ previewSpec.namespace }}\n </div>\n }\n <div class=\"preview-item\">\n <strong>Has Code:</strong> {{ previewSpec.code ? 'Yes' : 'No' }}\n </div>\n @if (previewSpec.dependencies && previewSpec.dependencies.length > 0) {\n <div class=\"preview-item\">\n <strong>Dependencies:</strong> {{ previewSpec.dependencies.length }}\n </div>\n }\n\n <!-- Full Spec JSON Viewer -->\n <div class=\"preview-json-section\">\n <div class=\"preview-json-header\" (click)=\"toggleJsonPreview()\">\n <i class=\"fa-solid\" [class.fa-chevron-right]=\"!showJsonPreview\" [class.fa-chevron-down]=\"showJsonPreview\"></i>\n <strong>Full Specification (JSON)</strong>\n </div>\n @if (showJsonPreview) {\n <div class=\"preview-json-content\">\n <mj-code-editor\n [value]=\"getPreviewJSON()\"\n [language]=\"'json'\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n [setup]=\"'basic'\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n }\n </div>\n </div>\n }\n </div>\n\n <mj-dialog-actions>\n <button mjButton\n variant=\"primary\"\n (click)=\"load()\"\n [disabled]=\"!canLoad()\">\n <i class=\"fa-solid fa-download\"></i>\n Load Component\n </button>\n <button mjButton (click)=\"cancel()\">Cancel</button>\n </mj-dialog-actions>\n</mj-dialog>\n", styles: ["/* Main container */\n.artifact-load-content {\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n\n/* Filter Panel */\n.filter-panel {\n height: 100%;\n display: flex;\n flex-direction: column;\n border-right: 1px solid var(--mj-border-default);\n transition: width 0.3s ease;\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px;\n border-bottom: 1px solid var(--mj-border-default);\n font-weight: bold;\n color: var(--mj-text-secondary);\n}\n\n.filter-content {\n flex: 1;\n padding: 15px;\n overflow-y: auto;\n}\n\n.filter-group {\n margin-bottom: 15px;\n}\n\n.filter-group label {\n display: block;\n margin-bottom: 5px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.filter-input,\n.filter-select {\n width: 100%;\n padding: 8px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.filter-input:focus,\n.filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.filter-count {\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n border-radius: 50%;\n min-width: 18px;\n height: 18px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: bold;\n margin-left: 4px;\n}\n\n/* Main Content Panel */\n.main-content {\n height: 100%;\n display: flex;\n flex-direction: column;\n flex: 2;\n min-width: 0;\n}\n\n/* Tabs */\n.tabs {\n display: flex;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n}\n\n.tab {\n padding: 12px 20px;\n border: none;\n background: transparent;\n color: var(--mj-text-secondary);\n cursor: pointer;\n font-size: 14px;\n font-weight: 500;\n border-bottom: 2px solid transparent;\n transition: all 0.2s;\n}\n\n.tab:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n.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.tab i {\n margin-right: 6px;\n}\n\n/* Tab Content */\n.tab-content {\n flex: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n\n.artifacts-view,\n.collections-view {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n/* Paging Controls */\n.paging-controls {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n}\n\n.page-info {\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n/* Artifacts List */\n.artifacts-list {\n flex: 1;\n overflow-y: auto;\n padding: 10px 15px;\n background: var(--mj-bg-surface);\n}\n\n.artifact-item {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin: 10px 0;\n padding: 15px;\n cursor: pointer;\n transition: all 0.2s ease;\n background: var(--mj-bg-surface);\n}\n\n.artifact-item:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.artifact-item.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.artifact-content {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.artifact-main {\n flex: 1;\n}\n\n.artifact-name {\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n}\n\n.artifact-name i {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n}\n\n.artifact-name span {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.artifact-description {\n color: var(--mj-text-secondary);\n font-size: 14px;\n margin-top: 4px;\n}\n\n.artifact-meta {\n text-align: right;\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n/* Collections View */\n.collections-view {\n display: grid;\n grid-template-columns: 1fr 1.5fr;\n gap: 15px;\n padding: 15px;\n overflow: hidden;\n}\n\n.collections-list {\n overflow-y: auto;\n border-right: 1px solid var(--mj-border-default);\n padding-right: 15px;\n}\n\n.collection-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin-bottom: 10px;\n cursor: pointer;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n}\n\n.collection-item:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.collection-item.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.collection-icon {\n font-size: 24px;\n color: var(--mj-brand-primary);\n}\n\n.collection-info {\n flex: 1;\n}\n\n.collection-name {\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n}\n\n.collection-description {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.collection-artifacts {\n overflow-y: auto;\n}\n\n.section-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 10px;\n}\n\n/* Version Panel */\n.version-panel {\n width: 350px;\n height: 100%;\n display: flex;\n flex-direction: column;\n border-left: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-content {\n flex: 1;\n overflow-y: auto;\n padding: 15px;\n}\n\n.version-list {\n margin-bottom: 20px;\n}\n\n.version-item {\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin-bottom: 10px;\n cursor: pointer;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n}\n\n.version-item:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-item.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.version-number {\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.version-number i {\n font-size: 14px;\n color: var(--mj-brand-primary);\n}\n\n.version-meta {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.version-comments {\n margin-top: 4px;\n font-style: italic;\n color: var(--mj-text-muted);\n}\n\n/* Preview Section */\n.preview-section {\n border-top: 2px solid var(--mj-border-default);\n padding-top: 15px;\n margin-top: 15px;\n}\n\n.preview-header {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.preview-content {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 12px;\n}\n\n.preview-item {\n margin-bottom: 8px;\n font-size: 13px;\n}\n\n.preview-item strong {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-right: 6px;\n}\n\n.preview-error {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid var(--mj-status-warning);\n border-radius: 4px;\n padding: 10px;\n color: var(--mj-status-warning);\n font-size: 13px;\n}\n\n.preview-error i {\n margin-right: 6px;\n}\n\n/* Loading & Empty States */\n.loading-state,\n.empty-state {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.loading-state i,\n.empty-state i {\n font-size: 36px;\n margin-bottom: 15px;\n color: var(--mj-text-muted);\n}\n\n.loading-state i.fa-spin {\n color: var(--mj-brand-primary);\n}\n\n.empty-state p {\n margin: 5px 0;\n font-size: 14px;\n}\n\n/* JSON Preview Section */\n.preview-json-section {\n margin-top: 15px;\n border-top: 1px solid var(--mj-border-default);\n padding-top: 10px;\n}\n\n.preview-json-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px;\n cursor: pointer;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n transition: background 0.2s;\n}\n\n.preview-json-header:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.preview-json-header i {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.preview-json-header strong {\n font-size: 13px;\n color: var(--mj-text-primary);\n}\n\n.preview-json-content {\n margin-top: 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n overflow: hidden;\n}\n"] }]
841
+ }], null, { Visible: [{
842
+ type: Input
843
+ }], Close: [{
844
+ type: Output
845
+ }] }); })();
846
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ArtifactLoadDialogComponent, { className: "ArtifactLoadDialogComponent", filePath: "src/ComponentStudio/components/artifact-load-dialog.component.ts", lineNumber: 29 }); })();
850
847
  //# sourceMappingURL=artifact-load-dialog.component.js.map