@memberjunction/ng-artifacts 2.125.0 → 2.126.1

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 (22) hide show
  1. package/dist/lib/artifacts.module.d.ts +1 -1
  2. package/dist/lib/artifacts.module.js +6 -5
  3. package/dist/lib/artifacts.module.js.map +1 -1
  4. package/dist/lib/components/artifact-type-plugin-viewer.component.d.ts +7 -2
  5. package/dist/lib/components/artifact-type-plugin-viewer.component.d.ts.map +1 -1
  6. package/dist/lib/components/artifact-type-plugin-viewer.component.js +12 -3
  7. package/dist/lib/components/artifact-type-plugin-viewer.component.js.map +1 -1
  8. package/dist/lib/components/artifact-viewer-panel.component.d.ts +15 -7
  9. package/dist/lib/components/artifact-viewer-panel.component.d.ts.map +1 -1
  10. package/dist/lib/components/artifact-viewer-panel.component.js +55 -56
  11. package/dist/lib/components/artifact-viewer-panel.component.js.map +1 -1
  12. package/dist/lib/components/plugins/component-artifact-viewer.component.d.ts +14 -1
  13. package/dist/lib/components/plugins/component-artifact-viewer.component.d.ts.map +1 -1
  14. package/dist/lib/components/plugins/component-artifact-viewer.component.js +18 -4
  15. package/dist/lib/components/plugins/component-artifact-viewer.component.js.map +1 -1
  16. package/dist/lib/components/plugins/json-artifact-viewer.component.d.ts +1 -2
  17. package/dist/lib/components/plugins/json-artifact-viewer.component.d.ts.map +1 -1
  18. package/dist/lib/components/plugins/json-artifact-viewer.component.js +16 -23
  19. package/dist/lib/components/plugins/json-artifact-viewer.component.js.map +1 -1
  20. package/dist/lib/components/plugins/markdown-artifact-viewer.component.js +3 -3
  21. package/dist/lib/components/plugins/markdown-artifact-viewer.component.js.map +1 -1
  22. package/package.json +11 -11
@@ -1,4 +1,4 @@
1
- import { Component, Input, Output, EventEmitter, ViewChild, SecurityContext } from '@angular/core';
1
+ import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
2
2
  import { Metadata, RunView, LogError } from '@memberjunction/core';
3
3
  import { ParseJSONRecursive } from '@memberjunction/global';
4
4
  import { ArtifactMetadataEngine } from '@memberjunction/core-entities';
@@ -6,14 +6,13 @@ import { MJNotificationService } from '@memberjunction/ng-notifications';
6
6
  import { Subject } from 'rxjs';
7
7
  import { takeUntil } from 'rxjs/operators';
8
8
  import { ArtifactTypePluginViewerComponent } from './artifact-type-plugin-viewer.component';
9
- import { marked } from 'marked';
10
9
  import { RecentAccessService } from '@memberjunction/ng-shared-generic';
11
10
  import * as i0 from "@angular/core";
12
11
  import * as i1 from "@memberjunction/ng-notifications";
13
12
  import * as i2 from "@angular/platform-browser";
14
13
  import * as i3 from "../services/artifact-icon.service";
15
14
  import * as i4 from "@angular/common";
16
- import * as i5 from "ngx-markdown";
15
+ import * as i5 from "@memberjunction/ng-markdown";
17
16
  import * as i6 from "@memberjunction/ng-code-editor";
18
17
  import * as i7 from "./artifact-type-plugin-viewer.component";
19
18
  const _forTrack0 = ($index, $item) => $item.ID;
@@ -133,9 +132,10 @@ function ArtifactViewerPanelComponent_Conditional_23_For_3_Template(rf, ctx) { i
133
132
  i0.ɵɵtextInterpolate1(" ", tab_r8, " ");
134
133
  } }
135
134
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_5_Template(rf, ctx) { if (rf & 1) {
136
- i0.ɵɵelementStart(0, "div", 47);
137
- i0.ɵɵelement(1, "mj-artifact-type-plugin-viewer", 48);
138
- i0.ɵɵelementEnd();
135
+ const _r9 = i0.ɵɵgetCurrentView();
136
+ i0.ɵɵelementStart(0, "div", 47)(1, "mj-artifact-type-plugin-viewer", 48);
137
+ i0.ɵɵlistener("openEntityRecord", function ArtifactViewerPanelComponent_Conditional_23_Conditional_5_Template_mj_artifact_type_plugin_viewer_openEntityRecord_1_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onOpenEntityRecord($event)); });
138
+ i0.ɵɵelementEnd()();
139
139
  } if (rf & 2) {
140
140
  const ctx_r0 = i0.ɵɵnextContext(2);
141
141
  i0.ɵɵstyleProp("display", ctx_r0.activeTab === "display" ? "block" : "none");
@@ -144,7 +144,7 @@ function ArtifactViewerPanelComponent_Conditional_23_Conditional_5_Template(rf,
144
144
  } }
145
145
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_6_Conditional_1_Conditional_7_Template(rf, ctx) { if (rf & 1) {
146
146
  i0.ɵɵelementStart(0, "div", 54);
147
- i0.ɵɵelement(1, "markdown", 56);
147
+ i0.ɵɵelement(1, "mj-markdown", 56);
148
148
  i0.ɵɵelementEnd();
149
149
  } if (rf & 2) {
150
150
  const ctx_r0 = i0.ɵɵnextContext(4);
@@ -158,14 +158,14 @@ function ArtifactViewerPanelComponent_Conditional_23_Conditional_6_Conditional_1
158
158
  i0.ɵɵproperty("innerHTML", ctx_r0.displayHtml, i0.ɵɵsanitizeHtml);
159
159
  } }
160
160
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
161
- const _r9 = i0.ɵɵgetCurrentView();
161
+ const _r10 = i0.ɵɵgetCurrentView();
162
162
  i0.ɵɵelementStart(0, "div", 49)(1, "button", 50);
163
- i0.ɵɵlistener("click", function ArtifactViewerPanelComponent_Conditional_23_Conditional_6_Conditional_1_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r9); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onPrintDisplayContent()); });
163
+ i0.ɵɵlistener("click", function ArtifactViewerPanelComponent_Conditional_23_Conditional_6_Conditional_1_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r10); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onPrintDisplayContent()); });
164
164
  i0.ɵɵelement(2, "i", 51);
165
165
  i0.ɵɵtext(3, " Print ");
166
166
  i0.ɵɵelementEnd();
167
167
  i0.ɵɵelementStart(4, "button", 52);
168
- i0.ɵɵlistener("click", function ArtifactViewerPanelComponent_Conditional_23_Conditional_6_Conditional_1_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r9); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onCopyDisplayContent()); });
168
+ i0.ɵɵlistener("click", function ArtifactViewerPanelComponent_Conditional_23_Conditional_6_Conditional_1_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r10); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onCopyDisplayContent()); });
169
169
  i0.ɵɵelement(5, "i", 53);
170
170
  i0.ɵɵtext(6, " Copy ");
171
171
  i0.ɵɵelementEnd()();
@@ -213,9 +213,9 @@ function ArtifactViewerPanelComponent_Conditional_23_Conditional_33_For_5_Condit
213
213
  i0.ɵɵtext(1);
214
214
  i0.ɵɵelementEnd();
215
215
  } if (rf & 2) {
216
- const attr_r10 = i0.ɵɵnextContext().$implicit;
216
+ const attr_r11 = i0.ɵɵnextContext().$implicit;
217
217
  i0.ɵɵadvance();
218
- i0.ɵɵtextInterpolate(attr_r10.Value);
218
+ i0.ɵɵtextInterpolate(attr_r11.Value);
219
219
  } }
220
220
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_33_For_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
221
221
  i0.ɵɵelementStart(0, "span", 59);
@@ -229,11 +229,11 @@ function ArtifactViewerPanelComponent_Conditional_23_Conditional_33_For_5_Templa
229
229
  i0.ɵɵtemplate(3, ArtifactViewerPanelComponent_Conditional_23_Conditional_33_For_5_Conditional_3_Template, 2, 1, "span")(4, ArtifactViewerPanelComponent_Conditional_23_Conditional_33_For_5_Conditional_4_Template, 2, 0, "span", 59);
230
230
  i0.ɵɵelementEnd();
231
231
  } if (rf & 2) {
232
- const attr_r10 = ctx.$implicit;
232
+ const attr_r11 = ctx.$implicit;
233
233
  i0.ɵɵadvance(2);
234
- i0.ɵɵtextInterpolate(attr_r10.Name);
234
+ i0.ɵɵtextInterpolate(attr_r11.Name);
235
235
  i0.ɵɵadvance();
236
- i0.ɵɵconditional(attr_r10.Value ? 3 : 4);
236
+ i0.ɵɵconditional(attr_r11.Value ? 3 : 4);
237
237
  } }
238
238
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_33_Template(rf, ctx) { if (rf & 1) {
239
239
  i0.ɵɵelementStart(0, "div", 41)(1, "h4");
@@ -254,9 +254,9 @@ function ArtifactViewerPanelComponent_Conditional_23_Conditional_35_For_2_Condit
254
254
  i0.ɵɵelement(0, "i", 64);
255
255
  } }
256
256
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_35_For_2_Template(rf, ctx) { if (rf & 1) {
257
- const _r11 = i0.ɵɵgetCurrentView();
257
+ const _r12 = i0.ɵɵgetCurrentView();
258
258
  i0.ɵɵelementStart(0, "div", 61);
259
- i0.ɵɵlistener("click", function ArtifactViewerPanelComponent_Conditional_23_Conditional_35_For_2_Template_div_click_0_listener() { const link_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(link_r12.hasAccess ? ctx_r0.onNavigateToLink(link_r12) : null); });
259
+ i0.ɵɵlistener("click", function ArtifactViewerPanelComponent_Conditional_23_Conditional_35_For_2_Template_div_click_0_listener() { const link_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(link_r13.hasAccess ? ctx_r0.onNavigateToLink(link_r13) : null); });
260
260
  i0.ɵɵelementStart(1, "div", 62);
261
261
  i0.ɵɵtemplate(2, ArtifactViewerPanelComponent_Conditional_23_Conditional_35_For_2_Conditional_2_Template, 1, 0, "i", 63)(3, ArtifactViewerPanelComponent_Conditional_23_Conditional_35_For_2_Conditional_3_Template, 1, 0, "i", 64);
262
262
  i0.ɵɵelementEnd();
@@ -270,15 +270,15 @@ function ArtifactViewerPanelComponent_Conditional_23_Conditional_35_For_2_Templa
270
270
  i0.ɵɵelement(10, "i", 69);
271
271
  i0.ɵɵelementEnd()();
272
272
  } if (rf & 2) {
273
- const link_r12 = ctx.$implicit;
274
- i0.ɵɵclassProp("disabled", !link_r12.hasAccess)("clickable", link_r12.hasAccess);
275
- i0.ɵɵproperty("title", link_r12.hasAccess ? "Click to open" : "No access");
273
+ const link_r13 = ctx.$implicit;
274
+ i0.ɵɵclassProp("disabled", !link_r13.hasAccess)("clickable", link_r13.hasAccess);
275
+ i0.ɵɵproperty("title", link_r13.hasAccess ? "Click to open" : "No access");
276
276
  i0.ɵɵadvance(2);
277
- i0.ɵɵconditional(link_r12.type === "conversation" ? 2 : 3);
277
+ i0.ɵɵconditional(link_r13.type === "conversation" ? 2 : 3);
278
278
  i0.ɵɵadvance(4);
279
- i0.ɵɵtextInterpolate(link_r12.name);
279
+ i0.ɵɵtextInterpolate(link_r13.name);
280
280
  i0.ɵɵadvance(2);
281
- i0.ɵɵtextInterpolate(link_r12.type === "conversation" ? "Conversation" : "Collection");
281
+ i0.ɵɵtextInterpolate(link_r13.type === "conversation" ? "Conversation" : "Collection");
282
282
  } }
283
283
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_35_Template(rf, ctx) { if (rf & 1) {
284
284
  i0.ɵɵelementStart(0, "div", 43);
@@ -297,16 +297,18 @@ function ArtifactViewerPanelComponent_Conditional_23_Conditional_36_Template(rf,
297
297
  i0.ɵɵelementEnd()();
298
298
  } }
299
299
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_1_Template(rf, ctx) { if (rf & 1) {
300
- i0.ɵɵelement(0, "div", 72);
300
+ i0.ɵɵelementStart(0, "div", 72);
301
+ i0.ɵɵelement(1, "mj-markdown", 56);
302
+ i0.ɵɵelementEnd();
301
303
  } if (rf & 2) {
302
- const tabData_r13 = i0.ɵɵnextContext();
303
- const ctx_r0 = i0.ɵɵnextContext(3);
304
- i0.ɵɵproperty("innerHTML", ctx_r0.RenderMarkdown(tabData_r13.content), i0.ɵɵsanitizeHtml);
304
+ const tabData_r14 = i0.ɵɵnextContext();
305
+ i0.ɵɵadvance();
306
+ i0.ɵɵproperty("data", tabData_r14.content);
305
307
  } }
306
308
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_2_Template(rf, ctx) { if (rf & 1) {
307
- const _r14 = i0.ɵɵgetCurrentView();
309
+ const _r15 = i0.ɵɵgetCurrentView();
308
310
  i0.ɵɵelementStart(0, "div", 73)(1, "div", 77)(2, "button", 78);
309
- i0.ɵɵlistener("click", function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_2_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r14); const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.onCopyToClipboard()); });
311
+ i0.ɵɵlistener("click", function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_2_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r15); const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.onCopyToClipboard()); });
310
312
  i0.ɵɵelement(3, "i", 53);
311
313
  i0.ɵɵtext(4, " Copy ");
312
314
  i0.ɵɵelementEnd()();
@@ -314,14 +316,14 @@ function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_
314
316
  i0.ɵɵelement(6, "mj-code-editor", 80);
315
317
  i0.ɵɵelementEnd()();
316
318
  } if (rf & 2) {
317
- const tabData_r13 = i0.ɵɵnextContext();
319
+ const tabData_r14 = i0.ɵɵnextContext();
318
320
  i0.ɵɵadvance(6);
319
- i0.ɵɵproperty("value", tabData_r13.content)("language", "json")("readonly", true)("lineWrapping", true);
321
+ i0.ɵɵproperty("value", tabData_r14.content)("language", "json")("readonly", true)("lineWrapping", true);
320
322
  } }
321
323
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_3_Template(rf, ctx) { if (rf & 1) {
322
- const _r15 = i0.ɵɵgetCurrentView();
324
+ const _r16 = i0.ɵɵgetCurrentView();
323
325
  i0.ɵɵelementStart(0, "div", 74)(1, "div", 81)(2, "button", 82);
324
- i0.ɵɵlistener("click", function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_3_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r15); const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.onCopyToClipboard()); });
326
+ i0.ɵɵlistener("click", function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_3_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r16); const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.onCopyToClipboard()); });
325
327
  i0.ɵɵelement(3, "i", 53);
326
328
  i0.ɵɵtext(4, " Copy ");
327
329
  i0.ɵɵelementEnd()();
@@ -329,28 +331,28 @@ function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_
329
331
  i0.ɵɵelement(6, "mj-code-editor", 80);
330
332
  i0.ɵɵelementEnd()();
331
333
  } if (rf & 2) {
332
- const tabData_r13 = i0.ɵɵnextContext();
334
+ const tabData_r14 = i0.ɵɵnextContext();
333
335
  i0.ɵɵadvance(6);
334
- i0.ɵɵproperty("value", tabData_r13.content)("language", tabData_r13.language || "typescript")("readonly", true)("lineWrapping", true);
336
+ i0.ɵɵproperty("value", tabData_r14.content)("language", tabData_r14.language || "typescript")("readonly", true)("lineWrapping", true);
335
337
  } }
336
338
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_4_Template(rf, ctx) { if (rf & 1) {
337
339
  i0.ɵɵelement(0, "div", 75);
338
340
  } if (rf & 2) {
339
- const tabData_r13 = i0.ɵɵnextContext();
340
- i0.ɵɵproperty("innerHTML", tabData_r13.content, i0.ɵɵsanitizeHtml);
341
+ const tabData_r14 = i0.ɵɵnextContext();
342
+ i0.ɵɵproperty("innerHTML", tabData_r14.content, i0.ɵɵsanitizeHtml);
341
343
  } }
342
344
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_5_Template(rf, ctx) { if (rf & 1) {
343
345
  i0.ɵɵelementStart(0, "pre", 76);
344
346
  i0.ɵɵtext(1);
345
347
  i0.ɵɵelementEnd();
346
348
  } if (rf & 2) {
347
- const tabData_r13 = i0.ɵɵnextContext();
349
+ const tabData_r14 = i0.ɵɵnextContext();
348
350
  i0.ɵɵadvance();
349
- i0.ɵɵtextInterpolate(tabData_r13.content);
351
+ i0.ɵɵtextInterpolate(tabData_r14.content);
350
352
  } }
351
353
  function ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Template(rf, ctx) { if (rf & 1) {
352
354
  i0.ɵɵelementStart(0, "div", 71);
353
- i0.ɵɵtemplate(1, ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_1_Template, 1, 1, "div", 72)(2, ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_2_Template, 7, 4, "div", 73)(3, ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_3_Template, 7, 4, "div", 74)(4, ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_4_Template, 1, 1, "div", 75)(5, ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_5_Template, 2, 1, "pre", 76);
355
+ i0.ɵɵtemplate(1, ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_1_Template, 2, 1, "div", 72)(2, ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_2_Template, 7, 4, "div", 73)(3, ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_3_Template, 7, 4, "div", 74)(4, ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_4_Template, 1, 1, "div", 75)(5, ArtifactViewerPanelComponent_Conditional_23_Conditional_37_Conditional_0_Case_5_Template, 2, 1, "pre", 76);
354
356
  i0.ɵɵelementEnd();
355
357
  } if (rf & 2) {
356
358
  let tmp_4_0;
@@ -456,6 +458,7 @@ export class ArtifactViewerPanelComponent {
456
458
  navigateToLink = new EventEmitter();
457
459
  shareRequested = new EventEmitter(); // Emits artifactId when share is clicked
458
460
  maximizeToggled = new EventEmitter(); // Emits when user clicks maximize/restore button
461
+ openEntityRecord = new EventEmitter();
459
462
  pluginViewer;
460
463
  destroy$ = new Subject();
461
464
  artifact = null;
@@ -1150,6 +1153,13 @@ export class ArtifactViewerPanelComponent {
1150
1153
  onMaximizeToggle() {
1151
1154
  this.maximizeToggled.emit();
1152
1155
  }
1156
+ /**
1157
+ * Handle entity record open request from artifact viewer plugin (React component)
1158
+ * Propagates the event up to parent components
1159
+ */
1160
+ onOpenEntityRecord(event) {
1161
+ this.openEntityRecord.emit(event);
1162
+ }
1153
1163
  /**
1154
1164
  * Resolves the DriverClass for an artifact type by traversing up the parent hierarchy.
1155
1165
  * Returns the first DriverClass found, or null if none found in the hierarchy.
@@ -1242,19 +1252,6 @@ export class ArtifactViewerPanelComponent {
1242
1252
  }
1243
1253
  return null;
1244
1254
  }
1245
- /**
1246
- * Render markdown to HTML (for markdown tabs)
1247
- */
1248
- RenderMarkdown(markdown) {
1249
- try {
1250
- const html = marked.parse(markdown);
1251
- return this.sanitizer.sanitize(SecurityContext.HTML, html) || '';
1252
- }
1253
- catch (e) {
1254
- console.error('Failed to render markdown:', e);
1255
- return markdown;
1256
- }
1257
- }
1258
1255
  /**
1259
1256
  * Set active tab
1260
1257
  */
@@ -1303,7 +1300,7 @@ export class ArtifactViewerPanelComponent {
1303
1300
  } if (rf & 2) {
1304
1301
  let _t;
1305
1302
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pluginViewer = _t.first);
1306
- } }, inputs: { artifactId: "artifactId", currentUser: "currentUser", environmentId: "environmentId", versionNumber: "versionNumber", showSaveToCollection: "showSaveToCollection", refreshTrigger: "refreshTrigger", viewContext: "viewContext", contextCollectionId: "contextCollectionId", canShare: "canShare", canEdit: "canEdit", isMaximized: "isMaximized" }, outputs: { closed: "closed", saveToCollectionRequested: "saveToCollectionRequested", navigateToLink: "navigateToLink", shareRequested: "shareRequested", maximizeToggled: "maximizeToggled" }, features: [i0.ɵɵNgOnChangesFeature], decls: 24, vars: 15, consts: [[1, "artifact-viewer-panel"], [1, "panel-header"], [1, "panel-header-left"], [1, "fas", 3, "ngClass"], [1, "header-description"], [1, "panel-header-right"], [1, "version-selector", 3, "click"], [1, "fas", "fa-history"], [1, "version-label"], [1, "fas", "fa-chevron-down", "dropdown-icon", 3, "open"], [1, "version-dropdown"], [1, "save-to-collection-btn", 3, "in-collection", "title"], ["title", "Share", 1, "share-btn"], [1, "maximize-btn", 3, "click", "title"], ["title", "Close", 1, "close-btn", 3, "click"], [1, "fas", "fa-times"], [1, "panel-content"], [1, "loading-state"], [1, "error-state"], [1, "artifact-content-wrapper"], [1, "fas", "fa-chevron-down", "dropdown-icon"], [1, "version-dropdown", 3, "click"], [1, "version-option", 3, "selected"], [1, "version-option", 3, "click"], [1, "version-number"], [1, "version-date"], [1, "fas", "fa-check"], [1, "save-to-collection-btn", 3, "click", "title"], ["title", "Share", 1, "share-btn", 3, "click"], [1, "fas", "fa-share-nodes"], [1, "fas", "fa-spinner", "fa-spin"], [1, "fas", "fa-exclamation-triangle"], [1, "tab-navigation"], [1, "tab-btn", 3, "active"], [1, "tab-content"], [1, "plugin-container", 3, "display"], [1, "display-content"], [1, "details-content"], [1, "artifact-meta"], [1, "meta-item"], [1, "meta-item", "full-width"], [1, "attributes-section"], [1, "links-container"], [1, "links-section"], [1, "empty-state"], [1, "tab-btn", 3, "click"], [3, "class"], [1, "plugin-container"], [3, "artifactVersion", "artifactTypeName", "contentType", "readonly"], [1, "display-toolbar"], ["title", "Print", 1, "btn-icon", 3, "click"], [1, "fas", "fa-print"], ["title", "Copy Content", 1, "btn-icon", 3, "click"], [1, "fas", "fa-copy"], [1, "markdown-content"], [1, "html-content", 3, "innerHTML"], [3, "data"], [1, "attributes-list"], [1, "attribute-item"], [1, "attribute-empty-pill"], [1, "link-item", 3, "disabled", "clickable", "title"], [1, "link-item", 3, "click", "title"], [1, "link-icon"], [1, "fas", "fa-comments"], [1, "fas", "fa-folder"], [1, "link-content"], [1, "link-name"], [1, "link-type"], [1, "link-actions"], [1, "fas", "fa-arrow-right"], [1, "fas", "fa-link"], [1, "dynamic-tab-content"], [1, "markdown-viewer", 3, "innerHTML"], [1, "json-viewer"], [1, "code-viewer"], [1, "html-viewer", 3, "innerHTML"], [1, "plaintext-viewer"], [1, "json-toolbar"], ["title", "Copy JSON", 1, "btn-icon", 3, "click"], [1, "json-editor-container"], [2, "width", "100%", "height", "100%", 3, "value", "language", "readonly", "lineWrapping"], [1, "code-toolbar"], ["title", "Copy Code", 1, "btn-icon", 3, "click"], [1, "code-editor-container"]], template: function ArtifactViewerPanelComponent_Template(rf, ctx) { if (rf & 1) {
1303
+ } }, inputs: { artifactId: "artifactId", currentUser: "currentUser", environmentId: "environmentId", versionNumber: "versionNumber", showSaveToCollection: "showSaveToCollection", refreshTrigger: "refreshTrigger", viewContext: "viewContext", contextCollectionId: "contextCollectionId", canShare: "canShare", canEdit: "canEdit", isMaximized: "isMaximized" }, outputs: { closed: "closed", saveToCollectionRequested: "saveToCollectionRequested", navigateToLink: "navigateToLink", shareRequested: "shareRequested", maximizeToggled: "maximizeToggled", openEntityRecord: "openEntityRecord" }, features: [i0.ɵɵNgOnChangesFeature], decls: 24, vars: 15, consts: [[1, "artifact-viewer-panel"], [1, "panel-header"], [1, "panel-header-left"], [1, "fas", 3, "ngClass"], [1, "header-description"], [1, "panel-header-right"], [1, "version-selector", 3, "click"], [1, "fas", "fa-history"], [1, "version-label"], [1, "fas", "fa-chevron-down", "dropdown-icon", 3, "open"], [1, "version-dropdown"], [1, "save-to-collection-btn", 3, "in-collection", "title"], ["title", "Share", 1, "share-btn"], [1, "maximize-btn", 3, "click", "title"], ["title", "Close", 1, "close-btn", 3, "click"], [1, "fas", "fa-times"], [1, "panel-content"], [1, "loading-state"], [1, "error-state"], [1, "artifact-content-wrapper"], [1, "fas", "fa-chevron-down", "dropdown-icon"], [1, "version-dropdown", 3, "click"], [1, "version-option", 3, "selected"], [1, "version-option", 3, "click"], [1, "version-number"], [1, "version-date"], [1, "fas", "fa-check"], [1, "save-to-collection-btn", 3, "click", "title"], ["title", "Share", 1, "share-btn", 3, "click"], [1, "fas", "fa-share-nodes"], [1, "fas", "fa-spinner", "fa-spin"], [1, "fas", "fa-exclamation-triangle"], [1, "tab-navigation"], [1, "tab-btn", 3, "active"], [1, "tab-content"], [1, "plugin-container", 3, "display"], [1, "display-content"], [1, "details-content"], [1, "artifact-meta"], [1, "meta-item"], [1, "meta-item", "full-width"], [1, "attributes-section"], [1, "links-container"], [1, "links-section"], [1, "empty-state"], [1, "tab-btn", 3, "click"], [3, "class"], [1, "plugin-container"], [3, "openEntityRecord", "artifactVersion", "artifactTypeName", "contentType", "readonly"], [1, "display-toolbar"], ["title", "Print", 1, "btn-icon", 3, "click"], [1, "fas", "fa-print"], ["title", "Copy Content", 1, "btn-icon", 3, "click"], [1, "fas", "fa-copy"], [1, "markdown-content"], [1, "html-content", 3, "innerHTML"], [3, "data"], [1, "attributes-list"], [1, "attribute-item"], [1, "attribute-empty-pill"], [1, "link-item", 3, "disabled", "clickable", "title"], [1, "link-item", 3, "click", "title"], [1, "link-icon"], [1, "fas", "fa-comments"], [1, "fas", "fa-folder"], [1, "link-content"], [1, "link-name"], [1, "link-type"], [1, "link-actions"], [1, "fas", "fa-arrow-right"], [1, "fas", "fa-link"], [1, "dynamic-tab-content"], [1, "markdown-viewer"], [1, "json-viewer"], [1, "code-viewer"], [1, "html-viewer", 3, "innerHTML"], [1, "plaintext-viewer"], [1, "json-toolbar"], ["title", "Copy JSON", 1, "btn-icon", 3, "click"], [1, "json-editor-container"], [2, "width", "100%", "height", "100%", 3, "value", "language", "readonly", "lineWrapping"], [1, "code-toolbar"], ["title", "Copy Code", 1, "btn-icon", 3, "click"], [1, "code-editor-container"]], template: function ArtifactViewerPanelComponent_Template(rf, ctx) { if (rf & 1) {
1307
1304
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h3");
1308
1305
  i0.ɵɵelement(4, "i", 3);
1309
1306
  i0.ɵɵtext(5);
@@ -1363,7 +1360,7 @@ export class ArtifactViewerPanelComponent {
1363
1360
  }
1364
1361
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArtifactViewerPanelComponent, [{
1365
1362
  type: Component,
1366
- args: [{ selector: 'mj-artifact-viewer-panel', template: "<div class=\"artifact-viewer-panel\">\n <div class=\"panel-header\">\n <div class=\"panel-header-left\">\n <h3>\n <i class=\"fas\" [ngClass]=\"getArtifactIcon()\"></i>\n {{ displayName }}\n </h3>\n @if (displayDescription) {\n <p class=\"header-description\">{{ displayDescription }}</p>\n }\n </div>\n <div class=\"panel-header-right\">\n <div class=\"version-selector\"\n [class.clickable]=\"allVersions.length > 1 && viewContext !== 'collection'\"\n (click)=\"viewContext !== 'collection' && toggleVersionDropdown()\">\n <i class=\"fas fa-history\"></i>\n <span class=\"version-label\">v{{ selectedVersionNumber }}</span>\n @if (allVersions.length > 1 && viewContext !== 'collection') {\n <i class=\"fas fa-chevron-down dropdown-icon\" [class.open]=\"showVersionDropdown\"></i>\n }\n @if (showVersionDropdown) {\n <div class=\"version-dropdown\" (click)=\"$event.stopPropagation()\">\n @for (version of allVersions; track version.ID) {\n <div class=\"version-option\"\n [class.selected]=\"version.VersionNumber === selectedVersionNumber\"\n (click)=\"selectVersion(version); $event.stopPropagation()\">\n <span class=\"version-number\">v{{ version.VersionNumber }}</span>\n <span class=\"version-date\">{{ version.__mj_CreatedAt | date:'short' }}</span>\n @if (version.VersionNumber === selectedVersionNumber) {\n <i class=\"fas fa-check\"></i>\n }\n </div>\n }\n </div>\n }\n </div>\n @if (showSaveToCollection) {\n <button class=\"save-to-collection-btn\"\n [class.in-collection]=\"isInCollection\"\n (click)=\"onSaveToLibrary()\"\n [title]=\"isInCollection ? 'Current version saved to ' + currentVersionCollections.length + ' collection(s)' : 'Save to Collection'\">\n <i [class]=\"isInCollection ? 'fas fa-bookmark' : 'far fa-bookmark'\"></i>\n </button>\n }\n @if (canShare) {\n <button class=\"share-btn\"\n (click)=\"onShare()\"\n title=\"Share\">\n <i class=\"fas fa-share-nodes\"></i>\n </button>\n }\n <button class=\"maximize-btn\"\n (click)=\"onMaximizeToggle()\"\n [title]=\"isMaximized ? 'Restore Width' : 'Maximize Width'\">\n <i class=\"fas\" [ngClass]=\"isMaximized ? 'fa-compress-arrows-alt' : 'fa-arrows-left-right'\"></i>\n </button>\n <button class=\"close-btn\" (click)=\"onClose()\" title=\"Close\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n <div class=\"panel-content\">\n @if (isLoading) {\n <div class=\"loading-state\">\n <i class=\"fas fa-spinner fa-spin\"></i>\n <span>Loading artifact...</span>\n </div>\n }\n\n @if (error) {\n <div class=\"error-state\">\n <i class=\"fas fa-exclamation-triangle\"></i>\n <span>{{ error }}</span>\n </div>\n }\n\n @if (!isLoading && !error && artifact) {\n <div class=\"artifact-content-wrapper\">\n <!-- Tab Navigation (Dynamic) -->\n <div class=\"tab-navigation\">\n @for (tab of allTabs; track tab) {\n <button class=\"tab-btn\"\n [class.active]=\"activeTab === tab.toLowerCase()\"\n (click)=\"SetActiveTab(tab)\">\n @if (GetTabIcon(tab)) {\n <i [class]=\"GetTabIcon(tab)!\"></i>\n }\n {{ tab }}\n </button>\n }\n </div>\n\n <!-- Tab Content (Dynamic) -->\n <div class=\"tab-content\">\n <!-- Plugin Viewer - Created once, kept alive, shown/hidden with CSS -->\n @if (hasPlugin && artifactVersion && artifactTypeName) {\n <div class=\"plugin-container\" [style.display]=\"activeTab === 'display' ? 'block' : 'none'\">\n <mj-artifact-type-plugin-viewer\n [artifactVersion]=\"artifactVersion\"\n [artifactTypeName]=\"artifactTypeName\"\n [contentType]=\"contentType\"\n [readonly]=\"true\">\n </mj-artifact-type-plugin-viewer>\n </div>\n }\n\n <!-- Display Tab - Fallback content when no plugin -->\n @if (activeTab === 'display' && (!hasPlugin || !artifactVersion)) {\n <div class=\"display-content\">\n @if (displayMarkdown || displayHtml) {\n <!-- Fallback to extracted markdown/HTML attributes -->\n <div class=\"display-toolbar\">\n <button class=\"btn-icon\" title=\"Print\" (click)=\"onPrintDisplayContent()\">\n <i class=\"fas fa-print\"></i> Print\n </button>\n <button class=\"btn-icon\" title=\"Copy Content\" (click)=\"onCopyDisplayContent()\">\n <i class=\"fas fa-copy\"></i> Copy\n </button>\n </div>\n @if (displayMarkdown) {\n <div class=\"markdown-content\">\n <markdown [data]=\"displayMarkdown\"></markdown>\n </div>\n } @else if (displayHtml) {\n <div class=\"html-content\" [innerHTML]=\"displayHtml\"></div>\n }\n }\n </div>\n }\n\n <!-- Details Tab - Artifact metadata (always in DOM, hidden with CSS) -->\n <div class=\"details-content\" [style.display]=\"activeTab === 'details' ? 'block' : 'none'\">\n <div class=\"artifact-meta\">\n <div class=\"meta-item\">\n <label>Type</label>\n <span>{{ artifact.Type }}</span>\n </div>\n <div class=\"meta-item\">\n <label>Version</label>\n <span>{{ artifactVersion?.VersionNumber || 1 }}</span>\n </div>\n <div class=\"meta-item\">\n <label>Created</label>\n <span>{{ artifact.__mj_CreatedAt | date:'short' }}</span>\n </div>\n <div class=\"meta-item\">\n <label>Updated</label>\n <span>{{ artifactVersion?.__mj_UpdatedAt | date:'short' }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"meta-item full-width\">\n <label>Artifact Description</label>\n <span>{{ artifact.Description }}</span>\n </div>\n }\n @if (artifactVersion?.Description && artifact.Description && artifactVersion?.Description !== artifact.Description) {\n <div class=\"meta-item full-width\">\n <label>Version Description</label>\n <span>{{ artifactVersion?.Description }}</span>\n </div>\n }\n </div>\n\n <!-- Version Attributes -->\n @if (filteredAttributes.length > 0) {\n <div class=\"attributes-section\">\n <h4>Version Attributes</h4>\n <div class=\"attributes-list\">\n @for (attr of filteredAttributes; track attr.ID) {\n <div class=\"attribute-item\">\n <label>{{ attr.Name }}</label>\n @if (attr.Value) {\n <span>{{ attr.Value }}</span>\n } @else {\n <span class=\"attribute-empty-pill\">Empty</span>\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n\n <!-- Links Tab - Conversations and Collections (always in DOM, hidden with CSS) -->\n <div class=\"links-container\" [style.display]=\"activeTab === 'links' ? 'block' : 'none'\">\n @if (linksToShow.length > 0) {\n <div class=\"links-section\">\n @for (link of linksToShow; track link.id) {\n <div class=\"link-item\"\n [class.disabled]=\"!link.hasAccess\"\n [class.clickable]=\"link.hasAccess\"\n (click)=\"link.hasAccess ? onNavigateToLink(link) : null\"\n [title]=\"link.hasAccess ? 'Click to open' : 'No access'\">\n <div class=\"link-icon\">\n @if (link.type === 'conversation') {\n <i class=\"fas fa-comments\"></i>\n } @else {\n <i class=\"fas fa-folder\"></i>\n }\n </div>\n <div class=\"link-content\">\n <div class=\"link-name\">{{ link.name }}</div>\n <div class=\"link-type\">{{ link.type === 'conversation' ? 'Conversation' : 'Collection' }}</div>\n </div>\n <div class=\"link-actions\">\n <i class=\"fas fa-arrow-right\"></i>\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"empty-state\">\n <i class=\"fas fa-link\"></i>\n <p>No links available</p>\n </div>\n }\n </div>\n\n <!-- Dynamic Plugin Tabs and Base Tabs (JSON, etc.) -->\n @if (activeTab !== 'display' && activeTab !== 'details' && activeTab !== 'links') {\n @if (GetTabContent(activeTab); as tabData) {\n <div class=\"dynamic-tab-content\">\n @switch (tabData.type) {\n @case ('markdown') {\n <div class=\"markdown-viewer\" [innerHTML]=\"RenderMarkdown(tabData.content)\"></div>\n }\n @case ('json') {\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"onCopyToClipboard()\">\n <i class=\"fas fa-copy\"></i> Copy\n </button>\n </div>\n <div class=\"json-editor-container\">\n <mj-code-editor\n [value]=\"tabData.content\"\n [language]=\"'json'\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n style=\"width: 100%; height: 100%;\">\n </mj-code-editor>\n </div>\n </div>\n }\n @case ('code') {\n <div class=\"code-viewer\">\n <div class=\"code-toolbar\">\n <button class=\"btn-icon\" title=\"Copy Code\" (click)=\"onCopyToClipboard()\">\n <i class=\"fas fa-copy\"></i> Copy\n </button>\n </div>\n <div class=\"code-editor-container\">\n <mj-code-editor\n [value]=\"tabData.content\"\n [language]=\"tabData.language || 'typescript'\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n style=\"width: 100%; height: 100%;\">\n </mj-code-editor>\n </div>\n </div>\n }\n @case ('html') {\n <div class=\"html-viewer\" [innerHTML]=\"tabData.content\"></div>\n }\n @case ('plaintext') {\n <pre class=\"plaintext-viewer\">{{ tabData.content }}</pre>\n }\n }\n </div>\n }\n }\n </div>\n </div>\n }\n </div>\n</div>\n\n", styles: [".artifact-viewer-panel {\n width: 100%;\n height: 100%;\n background: white;\n border-left: 1px solid #E5E7EB;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.panel-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 12px 16px;\n border-bottom: 1px solid #E5E7EB;\n background: white;\n flex-shrink: 0;\n width: 100%;\n box-sizing: border-box;\n}\n\n.panel-header-left {\n flex: 1;\n min-width: 0;\n margin-right: 16px;\n}\n\n.panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n display: flex;\n align-items: flex-start;\n gap: 8px;\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n.panel-header h3 i {\n color: #6366F1;\n flex-shrink: 0;\n margin-top: 2px;\n}\n\n.header-description {\n margin: 4px 0 0 0;\n font-size: 12px;\n color: #6B7280;\n font-weight: normal;\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n.panel-header-right {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n}\n\n.version-selector {\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n background: #F3F4F6;\n border-radius: 12px;\n font-size: 12px;\n color: #6B7280;\n font-weight: 500;\n transition: all 0.2s;\n}\n\n.version-selector.clickable {\n cursor: pointer;\n}\n\n.version-selector.clickable:hover {\n background: #E5E7EB;\n}\n\n.version-selector i {\n font-size: 11px;\n}\n\n.version-selector .dropdown-icon {\n margin-left: 2px;\n transition: transform 0.2s;\n}\n\n.version-selector .dropdown-icon.open {\n transform: rotate(180deg);\n}\n\n.version-label {\n font-family: monospace;\n}\n\n.version-dropdown {\n position: absolute;\n top: calc(100% + 4px);\n right: 0;\n min-width: 200px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n overflow: hidden;\n}\n\n.version-option {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 13px;\n}\n\n.version-option:hover {\n background: #F9FAFB;\n}\n\n.version-option.selected {\n background: #EEF2FF;\n color: #4F46E5;\n}\n\n.version-option .version-number {\n font-family: monospace;\n font-weight: 600;\n min-width: 35px;\n}\n\n.version-option .version-date {\n flex: 1;\n color: #6B7280;\n font-size: 12px;\n}\n\n.version-option i.fa-check {\n color: #10B981;\n margin-left: auto;\n}\n\n.save-to-collection-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #9CA3AF;\n padding: 6px;\n border-radius: 4px;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n}\n\n.save-to-collection-btn:hover {\n background: #F3F4F6;\n color: #6B7280;\n}\n\n.save-to-collection-btn i {\n font-size: 14px;\n}\n\n.save-to-collection-btn.in-collection {\n color: #6366F1; /* Indigo color to indicate it's saved */\n}\n\n.save-to-collection-btn.in-collection:hover {\n background: #EEF2FF;\n color: #4F46E5;\n}\n\n.share-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #9CA3AF;\n padding: 6px;\n border-radius: 4px;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n}\n\n.share-btn:hover {\n background: #F3F4F6;\n color: #6366F1;\n}\n\n.share-btn i {\n font-size: 14px;\n}\n\n.maximize-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #6B7280;\n padding: 6px;\n border-radius: 4px;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n}\n\n.maximize-btn:hover {\n background: #F3F4F6;\n color: #111827;\n}\n\n.maximize-btn i {\n font-size: 14px;\n}\n\n.close-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #6B7280;\n padding: 6px;\n border-radius: 4px;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n}\n\n.close-btn:hover {\n background: #F3F4F6;\n color: #111827;\n}\n\n.close-btn i {\n font-size: 14px;\n}\n\n.panel-content {\n flex: 1;\n overflow: hidden;\n min-height: 0;\n display: flex;\n flex-direction: column;\n width: 100%;\n box-sizing: border-box;\n}\n\n.artifact-content-wrapper {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-height: 0;\n width: 100%;\n box-sizing: border-box;\n}\n\n.loading-state,\n.error-state {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 40px 20px;\n color: #6B7280;\n}\n\n.error-state {\n color: #DC2626;\n}\n\n.loading-state i {\n font-size: 24px;\n}\n\n.artifact-meta {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 16px;\n margin-bottom: 16px;\n padding: 16px;\n background: #F9FAFB;\n border-radius: 8px;\n flex-shrink: 0;\n}\n\n.meta-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.meta-item label {\n font-size: 12px;\n font-weight: 500;\n color: #6B7280;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.meta-item span {\n font-size: 14px;\n color: #111827;\n}\n\n.artifact-description {\n padding: 12px;\n margin-bottom: 16px;\n background: #EFF6FF;\n border-left: 3px solid #3B82F6;\n border-radius: 4px;\n color: #1E40AF;\n font-size: 14px;\n flex-shrink: 0;\n}\n\n.json-viewer {\n flex: 1;\n display: flex;\n flex-direction: column;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n overflow: hidden;\n min-height: 0;\n}\n\n.json-editor-container {\n flex: 1;\n overflow: hidden;\n min-height: 0;\n}\n\n.json-toolbar {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n padding: 8px 12px;\n background: #F9FAFB;\n border-bottom: 1px solid #E5E7EB;\n flex-shrink: 0;\n}\n\n.btn-icon {\n display: flex;\n align-items: center;\n gap: 6px;\n background: white;\n border: 1px solid #D1D5DB;\n border-radius: 4px;\n padding: 6px 12px;\n cursor: pointer;\n color: #374151;\n font-size: 14px;\n transition: all 0.2s;\n}\n\n.btn-icon:hover {\n background: #F3F4F6;\n border-color: #9CA3AF;\n}\n\n.btn-icon.btn-primary {\n background: #4F46E5;\n border-color: #4F46E5;\n color: white;\n}\n\n.btn-icon.btn-primary:hover {\n background: #4338CA;\n border-color: #4338CA;\n}\n\n.btn-icon i {\n font-size: 14px;\n}\n\n/* Library Dialog Styles */\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n}\n\n.modal-content {\n background: white;\n border-radius: 12px;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);\n max-width: 500px;\n width: 90%;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #E5E7EB;\n}\n\n.modal-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.modal-header h3 i {\n color: #F59E0B;\n}\n\n.modal-body {\n padding: 20px;\n overflow-y: auto;\n}\n\n.modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #E5E7EB;\n}\n\n.form-section {\n margin-bottom: 20px;\n}\n\n.form-section label {\n display: block;\n margin-bottom: 8px;\n font-size: 14px;\n font-weight: 500;\n color: #374151;\n}\n\n.form-select,\n.form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n font-size: 14px;\n color: #111827;\n background: white;\n transition: border-color 0.2s;\n}\n\n.form-select:focus,\n.form-input:focus {\n outline: none;\n border-color: #4F46E5;\n box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);\n}\n\n.divider {\n display: flex;\n align-items: center;\n margin: 24px 0;\n color: #9CA3AF;\n font-size: 12px;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.divider::before,\n.divider::after {\n content: '';\n flex: 1;\n height: 1px;\n background: #E5E7EB;\n}\n\n.divider span {\n padding: 0 12px;\n}\n\n.create-collection-row {\n display: flex;\n gap: 8px;\n}\n\n.create-collection-row .form-input {\n flex: 1;\n}\n\n.btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n white-space: nowrap;\n}\n\n.btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.btn-primary {\n background: #4F46E5;\n color: white;\n}\n\n.btn-primary:hover:not(:disabled) {\n background: #4338CA;\n}\n\n.btn-secondary {\n background: white;\n border: 1px solid #D1D5DB;\n color: #374151;\n}\n\n.btn-secondary:hover:not(:disabled) {\n background: #F3F4F6;\n}\n\n/* Tab Navigation */\n.tab-navigation {\n display: flex;\n gap: 0;\n border-bottom: 2px solid #E5E7EB;\n padding: 0 16px;\n background: white;\n}\n\n.tab-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 12px 20px;\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n margin-bottom: -2px;\n color: #6B7280;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease;\n}\n\n.tab-btn:hover {\n color: #1e40af;\n background: #F9FAFB;\n}\n\n.tab-btn.active {\n color: #1e40af;\n border-bottom-color: #1e40af;\n}\n\n.tab-btn i {\n font-size: 14px;\n}\n\n/* Tab Content */\n.tab-content {\n flex: 1;\n overflow: auto;\n width: 100%;\n box-sizing: border-box;\n margin-bottom: 5px;\n min-width: 0;\n}\n\n.display-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n position: relative;\n width: 100%;\n box-sizing: border-box;\n overflow: hidden;\n min-height: 0;\n min-width: 0;\n padding: 7px;\n}\n\n.display-toolbar {\n position: absolute;\n top: 12px;\n right: 12px;\n display: flex;\n gap: 8px;\n z-index: 10;\n}\n\n.markdown-content,\n.html-content {\n flex: 1;\n font-size: 14px;\n line-height: 1.6;\n width: 100%;\n padding: 20px 10px 5px 20px; /* top right bottom left */\n box-sizing: border-box;\n overflow: auto;\n min-height: 0;\n}\n\n.details-content {\n padding: 20px;\n width: 100%;\n box-sizing: border-box;\n}\n\n.details-content .artifact-meta {\n margin-bottom: 0;\n padding: 20px;\n}\n\n.details-content .meta-item.full-width {\n grid-column: 1 / -1;\n}\n\n.attributes-section {\n margin-top: 24px;\n padding: 24px;\n background: #F9FAFB;\n border-radius: 8px;\n}\n\n.attributes-section h4 {\n margin: 0 0 16px 0;\n font-size: 14px;\n font-weight: 600;\n color: #111827;\n}\n\n.attributes-list {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\n gap: 16px;\n}\n\n.attribute-item {\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 12px;\n background: white;\n border-radius: 6px;\n border: 1px solid #E5E7EB;\n}\n\n.attribute-item label {\n font-size: 11px;\n font-weight: 600;\n color: #6B7280;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.attribute-item span {\n font-size: 13px;\n color: #111827;\n word-break: break-word;\n}\n\n.attribute-empty-pill {\n display: inline-block;\n padding: 2px 8px;\n background: #F3F4F6;\n color: #9CA3AF;\n font-size: 11px;\n font-weight: 500;\n border-radius: 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* Links Tab */\n.links-container {\n padding: 20px;\n}\n\n.links-section {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.link-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n background: #F9FAFB;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n transition: all 0.15s;\n}\n\n.link-item.clickable {\n cursor: pointer;\n}\n\n.link-item.clickable:hover {\n border-color: #1e40af;\n box-shadow: 0 2px 4px rgba(0,0,0,0.05);\n background: #F3F4F6;\n}\n\n.link-item.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.link-item:hover {\n border-color: #1e40af;\n box-shadow: 0 2px 4px rgba(0,0,0,0.05);\n}\n\n.link-icon {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n border-radius: 8px;\n flex-shrink: 0;\n}\n\n.link-icon i {\n font-size: 18px;\n color: #1e40af;\n}\n\n.link-content {\n flex: 1;\n min-width: 0;\n}\n\n.link-name {\n font-size: 14px;\n font-weight: 500;\n color: #111827;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.link-type {\n font-size: 12px;\n color: #6B7280;\n margin-top: 2px;\n}\n\n.link-actions {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n}\n\n.link-actions i {\n font-size: 14px;\n color: #6B7280;\n transition: all 0.15s;\n}\n\n.link-item.clickable:hover .link-actions i {\n color: #1e40af;\n transform: translateX(2px);\n}\n\n.links-container .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 48px 24px;\n color: #9CA3AF;\n text-align: center;\n}\n\n.links-container .empty-state i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.3;\n}\n\n.links-container .empty-state p {\n margin: 0;\n font-size: 14px;\n}\n\n/* Dynamic Tab Content Styles */\n.dynamic-tab-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n padding: 16px;\n}\n\n.markdown-viewer {\n flex: 1;\n overflow: auto;\n padding: 20px;\n background: white;\n line-height: 1.6;\n}\n\n.markdown-viewer h1, .markdown-viewer h2, .markdown-viewer h3 {\n margin-top: 24px;\n margin-bottom: 12px;\n font-weight: 600;\n}\n\n.markdown-viewer h1 { font-size: 24px; }\n.markdown-viewer h2 { font-size: 20px; }\n.markdown-viewer h3 { font-size: 18px; }\n\n.markdown-viewer p {\n margin-bottom: 12px;\n}\n\n.markdown-viewer ul, .markdown-viewer ol {\n margin-bottom: 12px;\n padding-left: 24px;\n}\n\n.markdown-viewer code {\n background: #f3f4f6;\n padding: 2px 6px;\n border-radius: 3px;\n font-family: 'Courier New', monospace;\n font-size: 13px;\n}\n\n.markdown-viewer pre {\n background: #f3f4f6;\n padding: 12px;\n border-radius: 6px;\n overflow-x: auto;\n margin-bottom: 12px;\n}\n\n.markdown-viewer pre code {\n background: none;\n padding: 0;\n}\n\n.code-viewer {\n flex: 1;\n display: flex;\n flex-direction: column;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n overflow: hidden;\n min-height: 0;\n}\n\n.code-toolbar {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n padding: 8px 12px;\n background: #F9FAFB;\n border-bottom: 1px solid #E5E7EB;\n flex-shrink: 0;\n}\n\n.code-editor-container {\n flex: 1;\n overflow: hidden;\n min-height: 0;\n}\n\n.plaintext-viewer {\n flex: 1;\n overflow: auto;\n padding: 12px;\n background: #f9fafb;\n font-family: 'Courier New', monospace;\n font-size: 13px;\n white-space: pre-wrap;\n}\n\n.html-viewer {\n flex: 1;\n overflow: auto;\n padding: 20px;\n background: white;\n}\n\n/* Mobile adjustments: 481px - 768px */\n@media (max-width: 768px) {\n .tab-navigation {\n padding: 0 8px;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n }\n\n .tab-navigation::-webkit-scrollbar {\n display: none;\n }\n\n .tab-btn {\n padding: 10px 12px;\n font-size: 12px;\n white-space: nowrap;\n flex-shrink: 0;\n }\n\n .tab-btn i {\n font-size: 13px;\n }\n\n .panel-header {\n padding: 12px;\n }\n\n .dynamic-tab-content {\n padding: 12px;\n }\n\n .markdown-viewer {\n padding: 12px;\n }\n}\n\n/* Small Phone adjustments: <= 480px */\n@media (max-width: 480px) {\n .tab-navigation {\n padding: 0 4px;\n }\n\n .tab-btn {\n padding: 8px 10px;\n font-size: 11px;\n gap: 4px;\n }\n\n .tab-btn i {\n font-size: 12px;\n }\n\n .panel-header {\n padding: 8px;\n }\n\n .dynamic-tab-content {\n padding: 8px;\n }\n\n .markdown-viewer {\n padding: 8px;\n }\n}\n"] }]
1363
+ args: [{ selector: 'mj-artifact-viewer-panel', template: "<div class=\"artifact-viewer-panel\">\n <div class=\"panel-header\">\n <div class=\"panel-header-left\">\n <h3>\n <i class=\"fas\" [ngClass]=\"getArtifactIcon()\"></i>\n {{ displayName }}\n </h3>\n @if (displayDescription) {\n <p class=\"header-description\">{{ displayDescription }}</p>\n }\n </div>\n <div class=\"panel-header-right\">\n <div class=\"version-selector\"\n [class.clickable]=\"allVersions.length > 1 && viewContext !== 'collection'\"\n (click)=\"viewContext !== 'collection' && toggleVersionDropdown()\">\n <i class=\"fas fa-history\"></i>\n <span class=\"version-label\">v{{ selectedVersionNumber }}</span>\n @if (allVersions.length > 1 && viewContext !== 'collection') {\n <i class=\"fas fa-chevron-down dropdown-icon\" [class.open]=\"showVersionDropdown\"></i>\n }\n @if (showVersionDropdown) {\n <div class=\"version-dropdown\" (click)=\"$event.stopPropagation()\">\n @for (version of allVersions; track version.ID) {\n <div class=\"version-option\"\n [class.selected]=\"version.VersionNumber === selectedVersionNumber\"\n (click)=\"selectVersion(version); $event.stopPropagation()\">\n <span class=\"version-number\">v{{ version.VersionNumber }}</span>\n <span class=\"version-date\">{{ version.__mj_CreatedAt | date:'short' }}</span>\n @if (version.VersionNumber === selectedVersionNumber) {\n <i class=\"fas fa-check\"></i>\n }\n </div>\n }\n </div>\n }\n </div>\n @if (showSaveToCollection) {\n <button class=\"save-to-collection-btn\"\n [class.in-collection]=\"isInCollection\"\n (click)=\"onSaveToLibrary()\"\n [title]=\"isInCollection ? 'Current version saved to ' + currentVersionCollections.length + ' collection(s)' : 'Save to Collection'\">\n <i [class]=\"isInCollection ? 'fas fa-bookmark' : 'far fa-bookmark'\"></i>\n </button>\n }\n @if (canShare) {\n <button class=\"share-btn\"\n (click)=\"onShare()\"\n title=\"Share\">\n <i class=\"fas fa-share-nodes\"></i>\n </button>\n }\n <button class=\"maximize-btn\"\n (click)=\"onMaximizeToggle()\"\n [title]=\"isMaximized ? 'Restore Width' : 'Maximize Width'\">\n <i class=\"fas\" [ngClass]=\"isMaximized ? 'fa-compress-arrows-alt' : 'fa-arrows-left-right'\"></i>\n </button>\n <button class=\"close-btn\" (click)=\"onClose()\" title=\"Close\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n <div class=\"panel-content\">\n @if (isLoading) {\n <div class=\"loading-state\">\n <i class=\"fas fa-spinner fa-spin\"></i>\n <span>Loading artifact...</span>\n </div>\n }\n\n @if (error) {\n <div class=\"error-state\">\n <i class=\"fas fa-exclamation-triangle\"></i>\n <span>{{ error }}</span>\n </div>\n }\n\n @if (!isLoading && !error && artifact) {\n <div class=\"artifact-content-wrapper\">\n <!-- Tab Navigation (Dynamic) -->\n <div class=\"tab-navigation\">\n @for (tab of allTabs; track tab) {\n <button class=\"tab-btn\"\n [class.active]=\"activeTab === tab.toLowerCase()\"\n (click)=\"SetActiveTab(tab)\">\n @if (GetTabIcon(tab)) {\n <i [class]=\"GetTabIcon(tab)!\"></i>\n }\n {{ tab }}\n </button>\n }\n </div>\n\n <!-- Tab Content (Dynamic) -->\n <div class=\"tab-content\">\n <!-- Plugin Viewer - Created once, kept alive, shown/hidden with CSS -->\n @if (hasPlugin && artifactVersion && artifactTypeName) {\n <div class=\"plugin-container\" [style.display]=\"activeTab === 'display' ? 'block' : 'none'\">\n <mj-artifact-type-plugin-viewer\n [artifactVersion]=\"artifactVersion\"\n [artifactTypeName]=\"artifactTypeName\"\n [contentType]=\"contentType\"\n [readonly]=\"true\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\">\n </mj-artifact-type-plugin-viewer>\n </div>\n }\n\n <!-- Display Tab - Fallback content when no plugin -->\n @if (activeTab === 'display' && (!hasPlugin || !artifactVersion)) {\n <div class=\"display-content\">\n @if (displayMarkdown || displayHtml) {\n <!-- Fallback to extracted markdown/HTML attributes -->\n <div class=\"display-toolbar\">\n <button class=\"btn-icon\" title=\"Print\" (click)=\"onPrintDisplayContent()\">\n <i class=\"fas fa-print\"></i> Print\n </button>\n <button class=\"btn-icon\" title=\"Copy Content\" (click)=\"onCopyDisplayContent()\">\n <i class=\"fas fa-copy\"></i> Copy\n </button>\n </div>\n @if (displayMarkdown) {\n <div class=\"markdown-content\">\n <mj-markdown [data]=\"displayMarkdown\"></mj-markdown>\n </div>\n } @else if (displayHtml) {\n <div class=\"html-content\" [innerHTML]=\"displayHtml\"></div>\n }\n }\n </div>\n }\n\n <!-- Details Tab - Artifact metadata (always in DOM, hidden with CSS) -->\n <div class=\"details-content\" [style.display]=\"activeTab === 'details' ? 'block' : 'none'\">\n <div class=\"artifact-meta\">\n <div class=\"meta-item\">\n <label>Type</label>\n <span>{{ artifact.Type }}</span>\n </div>\n <div class=\"meta-item\">\n <label>Version</label>\n <span>{{ artifactVersion?.VersionNumber || 1 }}</span>\n </div>\n <div class=\"meta-item\">\n <label>Created</label>\n <span>{{ artifact.__mj_CreatedAt | date:'short' }}</span>\n </div>\n <div class=\"meta-item\">\n <label>Updated</label>\n <span>{{ artifactVersion?.__mj_UpdatedAt | date:'short' }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"meta-item full-width\">\n <label>Artifact Description</label>\n <span>{{ artifact.Description }}</span>\n </div>\n }\n @if (artifactVersion?.Description && artifact.Description && artifactVersion?.Description !== artifact.Description) {\n <div class=\"meta-item full-width\">\n <label>Version Description</label>\n <span>{{ artifactVersion?.Description }}</span>\n </div>\n }\n </div>\n\n <!-- Version Attributes -->\n @if (filteredAttributes.length > 0) {\n <div class=\"attributes-section\">\n <h4>Version Attributes</h4>\n <div class=\"attributes-list\">\n @for (attr of filteredAttributes; track attr.ID) {\n <div class=\"attribute-item\">\n <label>{{ attr.Name }}</label>\n @if (attr.Value) {\n <span>{{ attr.Value }}</span>\n } @else {\n <span class=\"attribute-empty-pill\">Empty</span>\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n\n <!-- Links Tab - Conversations and Collections (always in DOM, hidden with CSS) -->\n <div class=\"links-container\" [style.display]=\"activeTab === 'links' ? 'block' : 'none'\">\n @if (linksToShow.length > 0) {\n <div class=\"links-section\">\n @for (link of linksToShow; track link.id) {\n <div class=\"link-item\"\n [class.disabled]=\"!link.hasAccess\"\n [class.clickable]=\"link.hasAccess\"\n (click)=\"link.hasAccess ? onNavigateToLink(link) : null\"\n [title]=\"link.hasAccess ? 'Click to open' : 'No access'\">\n <div class=\"link-icon\">\n @if (link.type === 'conversation') {\n <i class=\"fas fa-comments\"></i>\n } @else {\n <i class=\"fas fa-folder\"></i>\n }\n </div>\n <div class=\"link-content\">\n <div class=\"link-name\">{{ link.name }}</div>\n <div class=\"link-type\">{{ link.type === 'conversation' ? 'Conversation' : 'Collection' }}</div>\n </div>\n <div class=\"link-actions\">\n <i class=\"fas fa-arrow-right\"></i>\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"empty-state\">\n <i class=\"fas fa-link\"></i>\n <p>No links available</p>\n </div>\n }\n </div>\n\n <!-- Dynamic Plugin Tabs and Base Tabs (JSON, etc.) -->\n @if (activeTab !== 'display' && activeTab !== 'details' && activeTab !== 'links') {\n @if (GetTabContent(activeTab); as tabData) {\n <div class=\"dynamic-tab-content\">\n @switch (tabData.type) {\n @case ('markdown') {\n <div class=\"markdown-viewer\">\n <mj-markdown [data]=\"tabData.content\"></mj-markdown>\n </div>\n }\n @case ('json') {\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"onCopyToClipboard()\">\n <i class=\"fas fa-copy\"></i> Copy\n </button>\n </div>\n <div class=\"json-editor-container\">\n <mj-code-editor\n [value]=\"tabData.content\"\n [language]=\"'json'\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n style=\"width: 100%; height: 100%;\">\n </mj-code-editor>\n </div>\n </div>\n }\n @case ('code') {\n <div class=\"code-viewer\">\n <div class=\"code-toolbar\">\n <button class=\"btn-icon\" title=\"Copy Code\" (click)=\"onCopyToClipboard()\">\n <i class=\"fas fa-copy\"></i> Copy\n </button>\n </div>\n <div class=\"code-editor-container\">\n <mj-code-editor\n [value]=\"tabData.content\"\n [language]=\"tabData.language || 'typescript'\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n style=\"width: 100%; height: 100%;\">\n </mj-code-editor>\n </div>\n </div>\n }\n @case ('html') {\n <div class=\"html-viewer\" [innerHTML]=\"tabData.content\"></div>\n }\n @case ('plaintext') {\n <pre class=\"plaintext-viewer\">{{ tabData.content }}</pre>\n }\n }\n </div>\n }\n }\n </div>\n </div>\n }\n </div>\n</div>\n\n", styles: [".artifact-viewer-panel {\n width: 100%;\n height: 100%;\n background: white;\n border-left: 1px solid #E5E7EB;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.panel-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 12px 16px;\n border-bottom: 1px solid #E5E7EB;\n background: white;\n flex-shrink: 0;\n width: 100%;\n box-sizing: border-box;\n}\n\n.panel-header-left {\n flex: 1;\n min-width: 0;\n margin-right: 16px;\n}\n\n.panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n display: flex;\n align-items: flex-start;\n gap: 8px;\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n.panel-header h3 i {\n color: #6366F1;\n flex-shrink: 0;\n margin-top: 2px;\n}\n\n.header-description {\n margin: 4px 0 0 0;\n font-size: 12px;\n color: #6B7280;\n font-weight: normal;\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n.panel-header-right {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n}\n\n.version-selector {\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n background: #F3F4F6;\n border-radius: 12px;\n font-size: 12px;\n color: #6B7280;\n font-weight: 500;\n transition: all 0.2s;\n}\n\n.version-selector.clickable {\n cursor: pointer;\n}\n\n.version-selector.clickable:hover {\n background: #E5E7EB;\n}\n\n.version-selector i {\n font-size: 11px;\n}\n\n.version-selector .dropdown-icon {\n margin-left: 2px;\n transition: transform 0.2s;\n}\n\n.version-selector .dropdown-icon.open {\n transform: rotate(180deg);\n}\n\n.version-label {\n font-family: monospace;\n}\n\n.version-dropdown {\n position: absolute;\n top: calc(100% + 4px);\n right: 0;\n min-width: 200px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n overflow: hidden;\n}\n\n.version-option {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 13px;\n}\n\n.version-option:hover {\n background: #F9FAFB;\n}\n\n.version-option.selected {\n background: #EEF2FF;\n color: #4F46E5;\n}\n\n.version-option .version-number {\n font-family: monospace;\n font-weight: 600;\n min-width: 35px;\n}\n\n.version-option .version-date {\n flex: 1;\n color: #6B7280;\n font-size: 12px;\n}\n\n.version-option i.fa-check {\n color: #10B981;\n margin-left: auto;\n}\n\n.save-to-collection-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #9CA3AF;\n padding: 6px;\n border-radius: 4px;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n}\n\n.save-to-collection-btn:hover {\n background: #F3F4F6;\n color: #6B7280;\n}\n\n.save-to-collection-btn i {\n font-size: 14px;\n}\n\n.save-to-collection-btn.in-collection {\n color: #6366F1; /* Indigo color to indicate it's saved */\n}\n\n.save-to-collection-btn.in-collection:hover {\n background: #EEF2FF;\n color: #4F46E5;\n}\n\n.share-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #9CA3AF;\n padding: 6px;\n border-radius: 4px;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n}\n\n.share-btn:hover {\n background: #F3F4F6;\n color: #6366F1;\n}\n\n.share-btn i {\n font-size: 14px;\n}\n\n.maximize-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #6B7280;\n padding: 6px;\n border-radius: 4px;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n}\n\n.maximize-btn:hover {\n background: #F3F4F6;\n color: #111827;\n}\n\n.maximize-btn i {\n font-size: 14px;\n}\n\n.close-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #6B7280;\n padding: 6px;\n border-radius: 4px;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n}\n\n.close-btn:hover {\n background: #F3F4F6;\n color: #111827;\n}\n\n.close-btn i {\n font-size: 14px;\n}\n\n.panel-content {\n flex: 1;\n overflow: hidden;\n min-height: 0;\n display: flex;\n flex-direction: column;\n width: 100%;\n box-sizing: border-box;\n}\n\n.artifact-content-wrapper {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-height: 0;\n width: 100%;\n box-sizing: border-box;\n}\n\n.loading-state,\n.error-state {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 40px 20px;\n color: #6B7280;\n}\n\n.error-state {\n color: #DC2626;\n}\n\n.loading-state i {\n font-size: 24px;\n}\n\n.artifact-meta {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 16px;\n margin-bottom: 16px;\n padding: 16px;\n background: #F9FAFB;\n border-radius: 8px;\n flex-shrink: 0;\n}\n\n.meta-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.meta-item label {\n font-size: 12px;\n font-weight: 500;\n color: #6B7280;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.meta-item span {\n font-size: 14px;\n color: #111827;\n}\n\n.artifact-description {\n padding: 12px;\n margin-bottom: 16px;\n background: #EFF6FF;\n border-left: 3px solid #3B82F6;\n border-radius: 4px;\n color: #1E40AF;\n font-size: 14px;\n flex-shrink: 0;\n}\n\n.json-viewer {\n flex: 1;\n display: flex;\n flex-direction: column;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n overflow: hidden;\n min-height: 0;\n}\n\n.json-editor-container {\n flex: 1;\n overflow: hidden;\n min-height: 0;\n}\n\n.json-toolbar {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n padding: 8px 12px;\n background: #F9FAFB;\n border-bottom: 1px solid #E5E7EB;\n flex-shrink: 0;\n}\n\n.btn-icon {\n display: flex;\n align-items: center;\n gap: 6px;\n background: white;\n border: 1px solid #D1D5DB;\n border-radius: 4px;\n padding: 6px 12px;\n cursor: pointer;\n color: #374151;\n font-size: 14px;\n transition: all 0.2s;\n}\n\n.btn-icon:hover {\n background: #F3F4F6;\n border-color: #9CA3AF;\n}\n\n.btn-icon.btn-primary {\n background: #4F46E5;\n border-color: #4F46E5;\n color: white;\n}\n\n.btn-icon.btn-primary:hover {\n background: #4338CA;\n border-color: #4338CA;\n}\n\n.btn-icon i {\n font-size: 14px;\n}\n\n/* Library Dialog Styles */\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n}\n\n.modal-content {\n background: white;\n border-radius: 12px;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);\n max-width: 500px;\n width: 90%;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #E5E7EB;\n}\n\n.modal-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.modal-header h3 i {\n color: #F59E0B;\n}\n\n.modal-body {\n padding: 20px;\n overflow-y: auto;\n}\n\n.modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #E5E7EB;\n}\n\n.form-section {\n margin-bottom: 20px;\n}\n\n.form-section label {\n display: block;\n margin-bottom: 8px;\n font-size: 14px;\n font-weight: 500;\n color: #374151;\n}\n\n.form-select,\n.form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n font-size: 14px;\n color: #111827;\n background: white;\n transition: border-color 0.2s;\n}\n\n.form-select:focus,\n.form-input:focus {\n outline: none;\n border-color: #4F46E5;\n box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);\n}\n\n.divider {\n display: flex;\n align-items: center;\n margin: 24px 0;\n color: #9CA3AF;\n font-size: 12px;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.divider::before,\n.divider::after {\n content: '';\n flex: 1;\n height: 1px;\n background: #E5E7EB;\n}\n\n.divider span {\n padding: 0 12px;\n}\n\n.create-collection-row {\n display: flex;\n gap: 8px;\n}\n\n.create-collection-row .form-input {\n flex: 1;\n}\n\n.btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n white-space: nowrap;\n}\n\n.btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.btn-primary {\n background: #4F46E5;\n color: white;\n}\n\n.btn-primary:hover:not(:disabled) {\n background: #4338CA;\n}\n\n.btn-secondary {\n background: white;\n border: 1px solid #D1D5DB;\n color: #374151;\n}\n\n.btn-secondary:hover:not(:disabled) {\n background: #F3F4F6;\n}\n\n/* Tab Navigation */\n.tab-navigation {\n display: flex;\n gap: 0;\n border-bottom: 2px solid #E5E7EB;\n padding: 0 16px;\n background: white;\n}\n\n.tab-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 12px 20px;\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n margin-bottom: -2px;\n color: #6B7280;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease;\n}\n\n.tab-btn:hover {\n color: #1e40af;\n background: #F9FAFB;\n}\n\n.tab-btn.active {\n color: #1e40af;\n border-bottom-color: #1e40af;\n}\n\n.tab-btn i {\n font-size: 14px;\n}\n\n/* Tab Content */\n.tab-content {\n flex: 1;\n overflow: auto;\n width: 100%;\n box-sizing: border-box;\n margin-bottom: 5px;\n min-width: 0;\n}\n\n.display-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n position: relative;\n width: 100%;\n box-sizing: border-box;\n overflow: hidden;\n min-height: 0;\n min-width: 0;\n padding: 7px;\n}\n\n.display-toolbar {\n position: absolute;\n top: 12px;\n right: 12px;\n display: flex;\n gap: 8px;\n z-index: 10;\n}\n\n.markdown-content,\n.html-content {\n flex: 1;\n font-size: 14px;\n line-height: 1.6;\n width: 100%;\n padding: 20px 10px 5px 20px; /* top right bottom left */\n box-sizing: border-box;\n overflow: auto;\n min-height: 0;\n}\n\n.details-content {\n padding: 20px;\n width: 100%;\n box-sizing: border-box;\n}\n\n.details-content .artifact-meta {\n margin-bottom: 0;\n padding: 20px;\n}\n\n.details-content .meta-item.full-width {\n grid-column: 1 / -1;\n}\n\n.attributes-section {\n margin-top: 24px;\n padding: 24px;\n background: #F9FAFB;\n border-radius: 8px;\n}\n\n.attributes-section h4 {\n margin: 0 0 16px 0;\n font-size: 14px;\n font-weight: 600;\n color: #111827;\n}\n\n.attributes-list {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\n gap: 16px;\n}\n\n.attribute-item {\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 12px;\n background: white;\n border-radius: 6px;\n border: 1px solid #E5E7EB;\n}\n\n.attribute-item label {\n font-size: 11px;\n font-weight: 600;\n color: #6B7280;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.attribute-item span {\n font-size: 13px;\n color: #111827;\n word-break: break-word;\n}\n\n.attribute-empty-pill {\n display: inline-block;\n padding: 2px 8px;\n background: #F3F4F6;\n color: #9CA3AF;\n font-size: 11px;\n font-weight: 500;\n border-radius: 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* Links Tab */\n.links-container {\n padding: 20px;\n}\n\n.links-section {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.link-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n background: #F9FAFB;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n transition: all 0.15s;\n}\n\n.link-item.clickable {\n cursor: pointer;\n}\n\n.link-item.clickable:hover {\n border-color: #1e40af;\n box-shadow: 0 2px 4px rgba(0,0,0,0.05);\n background: #F3F4F6;\n}\n\n.link-item.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.link-item:hover {\n border-color: #1e40af;\n box-shadow: 0 2px 4px rgba(0,0,0,0.05);\n}\n\n.link-icon {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n border-radius: 8px;\n flex-shrink: 0;\n}\n\n.link-icon i {\n font-size: 18px;\n color: #1e40af;\n}\n\n.link-content {\n flex: 1;\n min-width: 0;\n}\n\n.link-name {\n font-size: 14px;\n font-weight: 500;\n color: #111827;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.link-type {\n font-size: 12px;\n color: #6B7280;\n margin-top: 2px;\n}\n\n.link-actions {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n}\n\n.link-actions i {\n font-size: 14px;\n color: #6B7280;\n transition: all 0.15s;\n}\n\n.link-item.clickable:hover .link-actions i {\n color: #1e40af;\n transform: translateX(2px);\n}\n\n.links-container .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 48px 24px;\n color: #9CA3AF;\n text-align: center;\n}\n\n.links-container .empty-state i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.3;\n}\n\n.links-container .empty-state p {\n margin: 0;\n font-size: 14px;\n}\n\n/* Dynamic Tab Content Styles */\n.dynamic-tab-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n padding: 16px;\n}\n\n.markdown-viewer {\n flex: 1;\n overflow: auto;\n padding: 20px;\n background: white;\n line-height: 1.6;\n}\n\n.markdown-viewer h1, .markdown-viewer h2, .markdown-viewer h3 {\n margin-top: 24px;\n margin-bottom: 12px;\n font-weight: 600;\n}\n\n.markdown-viewer h1 { font-size: 24px; }\n.markdown-viewer h2 { font-size: 20px; }\n.markdown-viewer h3 { font-size: 18px; }\n\n.markdown-viewer p {\n margin-bottom: 12px;\n}\n\n.markdown-viewer ul, .markdown-viewer ol {\n margin-bottom: 12px;\n padding-left: 24px;\n}\n\n.markdown-viewer code {\n background: #f3f4f6;\n padding: 2px 6px;\n border-radius: 3px;\n font-family: 'Courier New', monospace;\n font-size: 13px;\n}\n\n.markdown-viewer pre {\n background: #f3f4f6;\n padding: 12px;\n border-radius: 6px;\n overflow-x: auto;\n margin-bottom: 12px;\n}\n\n.markdown-viewer pre code {\n background: none;\n padding: 0;\n}\n\n.code-viewer {\n flex: 1;\n display: flex;\n flex-direction: column;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n overflow: hidden;\n min-height: 0;\n}\n\n.code-toolbar {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n padding: 8px 12px;\n background: #F9FAFB;\n border-bottom: 1px solid #E5E7EB;\n flex-shrink: 0;\n}\n\n.code-editor-container {\n flex: 1;\n overflow: hidden;\n min-height: 0;\n}\n\n.plaintext-viewer {\n flex: 1;\n overflow: auto;\n padding: 12px;\n background: #f9fafb;\n font-family: 'Courier New', monospace;\n font-size: 13px;\n white-space: pre-wrap;\n}\n\n.html-viewer {\n flex: 1;\n overflow: auto;\n padding: 20px;\n background: white;\n}\n\n/* Mobile adjustments: 481px - 768px */\n@media (max-width: 768px) {\n .tab-navigation {\n padding: 0 8px;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n }\n\n .tab-navigation::-webkit-scrollbar {\n display: none;\n }\n\n .tab-btn {\n padding: 10px 12px;\n font-size: 12px;\n white-space: nowrap;\n flex-shrink: 0;\n }\n\n .tab-btn i {\n font-size: 13px;\n }\n\n .panel-header {\n padding: 12px;\n }\n\n .dynamic-tab-content {\n padding: 12px;\n }\n\n .markdown-viewer {\n padding: 12px;\n }\n}\n\n/* Small Phone adjustments: <= 480px */\n@media (max-width: 480px) {\n .tab-navigation {\n padding: 0 4px;\n }\n\n .tab-btn {\n padding: 8px 10px;\n font-size: 11px;\n gap: 4px;\n }\n\n .tab-btn i {\n font-size: 12px;\n }\n\n .panel-header {\n padding: 8px;\n }\n\n .dynamic-tab-content {\n padding: 8px;\n }\n\n .markdown-viewer {\n padding: 8px;\n }\n}\n"] }]
1367
1364
  }], () => [{ type: i1.MJNotificationService }, { type: i2.DomSanitizer }, { type: i3.ArtifactIconService }], { artifactId: [{
1368
1365
  type: Input
1369
1366
  }], currentUser: [{
@@ -1396,9 +1393,11 @@ export class ArtifactViewerPanelComponent {
1396
1393
  type: Output
1397
1394
  }], maximizeToggled: [{
1398
1395
  type: Output
1396
+ }], openEntityRecord: [{
1397
+ type: Output
1399
1398
  }], pluginViewer: [{
1400
1399
  type: ViewChild,
1401
1400
  args: [ArtifactTypePluginViewerComponent]
1402
1401
  }] }); })();
1403
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ArtifactViewerPanelComponent, { className: "ArtifactViewerPanelComponent", filePath: "src/lib/components/artifact-viewer-panel.component.ts", lineNumber: 20 }); })();
1402
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ArtifactViewerPanelComponent, { className: "ArtifactViewerPanelComponent", filePath: "src/lib/components/artifact-viewer-panel.component.ts", lineNumber: 19 }); })();
1404
1403
  //# sourceMappingURL=artifact-viewer-panel.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-viewer-panel.component.js","sourceRoot":"","sources":["../../../src/lib/components/artifact-viewer-panel.component.ts","../../../src/lib/components/artifact-viewer-panel.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-viewer-panel.component.js","sourceRoot":"","sources":["../../../src/lib/components/artifact-viewer-panel.component.ts","../../../src/lib/components/artifact-viewer-panel.component.html"],"names":[],"mappings":"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"}