@memberjunction/ng-artifacts 5.1.0 → 5.2.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 (33) hide show
  1. package/dist/lib/artifacts.module.d.ts +13 -8
  2. package/dist/lib/artifacts.module.d.ts.map +1 -1
  3. package/dist/lib/artifacts.module.js +27 -6
  4. package/dist/lib/artifacts.module.js.map +1 -1
  5. package/dist/lib/components/artifact-type-plugin-viewer.component.d.ts +4 -2
  6. package/dist/lib/components/artifact-type-plugin-viewer.component.d.ts.map +1 -1
  7. package/dist/lib/components/artifact-type-plugin-viewer.component.js +19 -1
  8. package/dist/lib/components/artifact-type-plugin-viewer.component.js.map +1 -1
  9. package/dist/lib/components/artifact-viewer-panel.component.d.ts +14 -2
  10. package/dist/lib/components/artifact-viewer-panel.component.d.ts.map +1 -1
  11. package/dist/lib/components/artifact-viewer-panel.component.js +33 -3
  12. package/dist/lib/components/artifact-viewer-panel.component.js.map +1 -1
  13. package/dist/lib/components/base-artifact-viewer.component.d.ts +34 -1
  14. package/dist/lib/components/base-artifact-viewer.component.d.ts.map +1 -1
  15. package/dist/lib/components/base-artifact-viewer.component.js +16 -1
  16. package/dist/lib/components/base-artifact-viewer.component.js.map +1 -1
  17. package/dist/lib/components/plugins/component-artifact-viewer.component.d.ts +6 -0
  18. package/dist/lib/components/plugins/component-artifact-viewer.component.d.ts.map +1 -1
  19. package/dist/lib/components/plugins/component-artifact-viewer.component.js +14 -3
  20. package/dist/lib/components/plugins/component-artifact-viewer.component.js.map +1 -1
  21. package/dist/lib/components/plugins/data-artifact-viewer.component.d.ts +131 -0
  22. package/dist/lib/components/plugins/data-artifact-viewer.component.d.ts.map +1 -0
  23. package/dist/lib/components/plugins/data-artifact-viewer.component.js +590 -0
  24. package/dist/lib/components/plugins/data-artifact-viewer.component.js.map +1 -0
  25. package/dist/lib/components/plugins/save-query-dialog.component.d.ts +57 -0
  26. package/dist/lib/components/plugins/save-query-dialog.component.d.ts.map +1 -0
  27. package/dist/lib/components/plugins/save-query-dialog.component.js +561 -0
  28. package/dist/lib/components/plugins/save-query-dialog.component.js.map +1 -0
  29. package/dist/public-api.d.ts +1 -0
  30. package/dist/public-api.d.ts.map +1 -1
  31. package/dist/public-api.js +1 -0
  32. package/dist/public-api.js.map +1 -1
  33. package/package.json +18 -12
@@ -209,7 +209,7 @@ function ArtifactViewerPanelComponent_Conditional_5_Conditional_1_Template(rf, c
209
209
  function ArtifactViewerPanelComponent_Conditional_5_Conditional_3_Template(rf, ctx) { if (rf & 1) {
210
210
  const _r12 = i0.ɵɵgetCurrentView();
211
211
  i0.ɵɵelementStart(0, "div", 50)(1, "mj-artifact-type-plugin-viewer", 51);
212
- i0.ɵɵlistener("openEntityRecord", function ArtifactViewerPanelComponent_Conditional_5_Conditional_3_Template_mj_artifact_type_plugin_viewer_openEntityRecord_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); })("pluginLoaded", function ArtifactViewerPanelComponent_Conditional_5_Conditional_3_Template_mj_artifact_type_plugin_viewer_pluginLoaded_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onPluginLoaded()); });
212
+ i0.ɵɵlistener("openEntityRecord", function ArtifactViewerPanelComponent_Conditional_5_Conditional_3_Template_mj_artifact_type_plugin_viewer_openEntityRecord_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); })("navigationRequest", function ArtifactViewerPanelComponent_Conditional_5_Conditional_3_Template_mj_artifact_type_plugin_viewer_navigationRequest_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onNavigationRequest($event)); })("pluginLoaded", function ArtifactViewerPanelComponent_Conditional_5_Conditional_3_Template_mj_artifact_type_plugin_viewer_pluginLoaded_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onPluginLoaded()); })("tabsChanged", function ArtifactViewerPanelComponent_Conditional_5_Conditional_3_Template_mj_artifact_type_plugin_viewer_tabsChanged_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onTabsChanged()); });
213
213
  i0.ɵɵelementEnd()();
214
214
  } if (rf & 2) {
215
215
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -560,6 +560,7 @@ export class ArtifactViewerPanelComponent {
560
560
  shareRequested = new EventEmitter(); // Emits artifactId when share is clicked
561
561
  maximizeToggled = new EventEmitter(); // Emits when user clicks maximize/restore button
562
562
  openEntityRecord = new EventEmitter();
563
+ navigationRequest = new EventEmitter();
563
564
  pluginViewer;
564
565
  destroy$ = new Subject();
565
566
  artifact = null;
@@ -736,6 +737,7 @@ export class ArtifactViewerPanelComponent {
736
737
  await this.loadCollectionAssociations();
737
738
  // Reload links data
738
739
  await this.loadLinksData();
740
+ this.cdr.detectChanges(); // zone.js 0.15: async chain doesn't trigger CD
739
741
  }
740
742
  else {
741
743
  // Need to reload to get this version (shouldn't normally happen)
@@ -870,6 +872,9 @@ export class ArtifactViewerPanelComponent {
870
872
  catch (err) {
871
873
  console.error('Error loading version attributes:', err);
872
874
  }
875
+ finally {
876
+ this.cdr.detectChanges(); // zone.js 0.15: async RunView doesn't trigger CD
877
+ }
873
878
  }
874
879
  get displayName() {
875
880
  if (this.artifactVersion?.Name) {
@@ -940,6 +945,14 @@ export class ArtifactViewerPanelComponent {
940
945
  this.activeTab = 'details';
941
946
  }
942
947
  }
948
+ /**
949
+ * Called when a plugin's async tab data changes (e.g., ComponentArtifactViewer loads
950
+ * the full spec from the registry after initial render with a stripped spec).
951
+ * Forces re-evaluation of allTabs so new tab labels render correctly.
952
+ */
953
+ onTabsChanged() {
954
+ this.cdr.detectChanges(); // zone.js 0.15: plugin emitted tabsChanged, force CD to re-evaluate allTabs
955
+ }
943
956
  /**
944
957
  * Called when the plugin viewer finishes loading.
945
958
  * Selects the first available tab now that plugin tabs are available.
@@ -951,6 +964,7 @@ export class ArtifactViewerPanelComponent {
951
964
  if (tabs.length > 0) {
952
965
  this.activeTab = tabs[0].toLowerCase();
953
966
  }
967
+ this.cdr.detectChanges(); // zone.js 0.15: plugin loaded via async callback, force CD
954
968
  }
955
969
  parseAttributeValue(value) {
956
970
  if (!value)
@@ -1026,6 +1040,9 @@ export class ArtifactViewerPanelComponent {
1026
1040
  catch (err) {
1027
1041
  console.error('Error loading collection associations:', err);
1028
1042
  }
1043
+ finally {
1044
+ this.cdr.detectChanges(); // zone.js 0.15: async RunView doesn't trigger CD
1045
+ }
1029
1046
  }
1030
1047
  get isInCollection() {
1031
1048
  return this.currentVersionCollections.length > 0;
@@ -1117,6 +1134,7 @@ export class ArtifactViewerPanelComponent {
1117
1134
  await this.loadCollectionAssociations();
1118
1135
  // Also reload links data to update conversation/collection links
1119
1136
  await this.loadLinksData();
1137
+ this.cdr.detectChanges(); // zone.js 0.15: async chain doesn't trigger CD
1120
1138
  }
1121
1139
  async onSaveToLibrary() {
1122
1140
  // Always show the collection picker modal
@@ -1275,6 +1293,9 @@ export class ArtifactViewerPanelComponent {
1275
1293
  catch (error) {
1276
1294
  console.error('Error loading links data:', error);
1277
1295
  }
1296
+ finally {
1297
+ this.cdr.detectChanges(); // zone.js 0.15: async chain doesn't trigger CD
1298
+ }
1278
1299
  }
1279
1300
  get linksToShow() {
1280
1301
  const links = [];
@@ -1340,6 +1361,13 @@ export class ArtifactViewerPanelComponent {
1340
1361
  onOpenEntityRecord(event) {
1341
1362
  this.openEntityRecord.emit(event);
1342
1363
  }
1364
+ /**
1365
+ * Handle navigation request from artifact viewer plugin.
1366
+ * Propagates the event up to parent components for app-level navigation.
1367
+ */
1368
+ onNavigationRequest(event) {
1369
+ this.navigationRequest.emit(event);
1370
+ }
1343
1371
  /**
1344
1372
  * Resolves the DriverClass for an artifact type by traversing up the parent hierarchy.
1345
1373
  * Returns the first DriverClass found, or null if none found in the hierarchy.
@@ -1480,7 +1508,7 @@ export class ArtifactViewerPanelComponent {
1480
1508
  } if (rf & 2) {
1481
1509
  let _t;
1482
1510
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pluginViewer = _t.first);
1483
- } }, inputs: { artifactId: "artifactId", currentUser: "currentUser", environmentId: "environmentId", versionNumber: "versionNumber", showSaveToCollection: "showSaveToCollection", showHeader: "showHeader", showTabs: "showTabs", showCloseButton: "showCloseButton", showMaximizeButton: "showMaximizeButton", 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" }, standalone: false, features: [i0.ɵɵNgOnChangesFeature], decls: 6, vars: 6, consts: [[1, "artifact-viewer-panel"], [1, "panel-header"], [1, "panel-content"], [1, "loading-state"], [1, "error-state"], [1, "artifact-content-wrapper", 3, "no-tabs"], [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, "title"], ["title", "Close", 1, "close-btn"], [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, "maximize-btn", 3, "click", "title"], ["title", "Close", 1, "close-btn", 3, "click"], [1, "fas", "fa-times"], [1, "fas", "fa-spinner", "fa-spin"], [1, "fas", "fa-exclamation-triangle"], [1, "artifact-content-wrapper"], [1, "tab-navigation"], [1, "tab-content"], [1, "plugin-container", 3, "plugin-hidden"], [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, "active"], [1, "tab-btn", 3, "click"], [3, "class"], [1, "plugin-container"], [3, "openEntityRecord", "pluginLoaded", "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", "enableCollapsibleHeadings", "enableLineNumbers", "enableSmartypants", "enableHtml"], [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, "component-tab-content"], [4, "ngComponentOutlet", "ngComponentOutletInputs"], [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) {
1511
+ } }, inputs: { artifactId: "artifactId", currentUser: "currentUser", environmentId: "environmentId", versionNumber: "versionNumber", showSaveToCollection: "showSaveToCollection", showHeader: "showHeader", showTabs: "showTabs", showCloseButton: "showCloseButton", showMaximizeButton: "showMaximizeButton", 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", navigationRequest: "navigationRequest" }, standalone: false, features: [i0.ɵɵNgOnChangesFeature], decls: 6, vars: 6, consts: [[1, "artifact-viewer-panel"], [1, "panel-header"], [1, "panel-content"], [1, "loading-state"], [1, "error-state"], [1, "artifact-content-wrapper", 3, "no-tabs"], [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, "title"], ["title", "Close", 1, "close-btn"], [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, "maximize-btn", 3, "click", "title"], ["title", "Close", 1, "close-btn", 3, "click"], [1, "fas", "fa-times"], [1, "fas", "fa-spinner", "fa-spin"], [1, "fas", "fa-exclamation-triangle"], [1, "artifact-content-wrapper"], [1, "tab-navigation"], [1, "tab-content"], [1, "plugin-container", 3, "plugin-hidden"], [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, "active"], [1, "tab-btn", 3, "click"], [3, "class"], [1, "plugin-container"], [3, "openEntityRecord", "navigationRequest", "pluginLoaded", "tabsChanged", "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", "enableCollapsibleHeadings", "enableLineNumbers", "enableSmartypants", "enableHtml"], [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, "component-tab-content"], [4, "ngComponentOutlet", "ngComponentOutletInputs"], [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) {
1484
1512
  i0.ɵɵelementStart(0, "div", 0);
1485
1513
  i0.ɵɵconditionalCreate(1, ArtifactViewerPanelComponent_Conditional_1_Template, 17, 12, "div", 1);
1486
1514
  i0.ɵɵelementStart(2, "div", 2);
@@ -1502,7 +1530,7 @@ export class ArtifactViewerPanelComponent {
1502
1530
  }
1503
1531
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArtifactViewerPanelComponent, [{
1504
1532
  type: Component,
1505
- args: [{ standalone: false, selector: 'mj-artifact-viewer-panel', template: "<div class=\"artifact-viewer-panel\" [class.no-header]=\"!showHeader\">\n @if (showHeader) {\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 @if (showMaximizeButton) {\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 }\n @if (showCloseButton) {\n <button class=\"close-btn\" (click)=\"onClose()\" title=\"Close\">\n <i class=\"fas fa-times\"></i>\n </button>\n }\n </div>\n </div>\n }\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\" [class.no-tabs]=\"!showTabs\">\n <!-- Tab Navigation (Dynamic) - Hidden when showTabs is false -->\n @if (showTabs) {\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\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\" [class.plugin-hidden]=\"activeTab !== 'display'\">\n <mj-artifact-type-plugin-viewer\n [artifactVersion]=\"artifactVersion\"\n [artifactTypeName]=\"artifactTypeName\"\n [contentType]=\"contentType\"\n [readonly]=\"true\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (pluginLoaded)=\"onPluginLoaded()\">\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\"\n [enableCollapsibleHeadings]=\"true\"\n [enableLineNumbers]=\"true\"\n [enableSmartypants]=\"true\"\n [enableHtml]=\"true\"></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\" [class.tab-hidden]=\"activeTab !== 'details'\">\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\" [class.tab-hidden]=\"activeTab !== 'links'\">\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 <!-- Check if this is a component tab -->\n @if (GetComponentTabType(activeTab); as componentType) {\n <div class=\"component-tab-content\">\n <ng-container *ngComponentOutlet=\"componentType; inputs: GetComponentInputs(activeTab)\"></ng-container>\n </div>\n } @else {\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\"\n [enableCollapsibleHeadings]=\"true\"\n [enableLineNumbers]=\"true\"\n [enableSmartypants]=\"true\"\n [enableHtml]=\"true\"></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 }\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 min-height: 0;\n}\n\n/* Plugin Container */\n.plugin-container {\n width: 100%;\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.plugin-container.plugin-hidden,\n.tab-hidden {\n display: none;\n}\n\n/* Ensure artifact viewer component takes full height */\n.plugin-container mj-artifact-type-plugin-viewer {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n width: 100%;\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/* Custom component tab content */\n.component-tab-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: auto;\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 /* Add top border with slight visual separation from top nav */\n .artifact-viewer-panel {\n border-top: 3px solid #3B82F6;\n position: relative;\n }\n\n /* Create a small dark strip above the blue border to separate from top nav */\n .artifact-viewer-panel::before {\n content: '';\n position: absolute;\n top: -8px;\n left: 0;\n right: 0;\n height: 8px;\n background: #092340; /* Match the top nav dark background color */\n }\n\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"] }]
1533
+ args: [{ standalone: false, selector: 'mj-artifact-viewer-panel', template: "<div class=\"artifact-viewer-panel\" [class.no-header]=\"!showHeader\">\n @if (showHeader) {\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 @if (showMaximizeButton) {\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 }\n @if (showCloseButton) {\n <button class=\"close-btn\" (click)=\"onClose()\" title=\"Close\">\n <i class=\"fas fa-times\"></i>\n </button>\n }\n </div>\n </div>\n }\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\" [class.no-tabs]=\"!showTabs\">\n <!-- Tab Navigation (Dynamic) - Hidden when showTabs is false -->\n @if (showTabs) {\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\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\" [class.plugin-hidden]=\"activeTab !== 'display'\">\n <mj-artifact-type-plugin-viewer\n [artifactVersion]=\"artifactVersion\"\n [artifactTypeName]=\"artifactTypeName\"\n [contentType]=\"contentType\"\n [readonly]=\"true\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (navigationRequest)=\"onNavigationRequest($event)\"\n (pluginLoaded)=\"onPluginLoaded()\"\n (tabsChanged)=\"onTabsChanged()\">\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\"\n [enableCollapsibleHeadings]=\"true\"\n [enableLineNumbers]=\"true\"\n [enableSmartypants]=\"true\"\n [enableHtml]=\"true\"></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\" [class.tab-hidden]=\"activeTab !== 'details'\">\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\" [class.tab-hidden]=\"activeTab !== 'links'\">\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 <!-- Check if this is a component tab -->\n @if (GetComponentTabType(activeTab); as componentType) {\n <div class=\"component-tab-content\">\n <ng-container *ngComponentOutlet=\"componentType; inputs: GetComponentInputs(activeTab)\"></ng-container>\n </div>\n } @else {\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\"\n [enableCollapsibleHeadings]=\"true\"\n [enableLineNumbers]=\"true\"\n [enableSmartypants]=\"true\"\n [enableHtml]=\"true\"></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 }\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 min-height: 0;\n}\n\n/* Plugin Container */\n.plugin-container {\n width: 100%;\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.plugin-container.plugin-hidden,\n.tab-hidden {\n display: none;\n}\n\n/* Ensure artifact viewer component takes full height */\n.plugin-container mj-artifact-type-plugin-viewer {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n width: 100%;\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/* Custom component tab content */\n.component-tab-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: auto;\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 /* Add top border with slight visual separation from top nav */\n .artifact-viewer-panel {\n border-top: 3px solid #3B82F6;\n position: relative;\n }\n\n /* Create a small dark strip above the blue border to separate from top nav */\n .artifact-viewer-panel::before {\n content: '';\n position: absolute;\n top: -8px;\n left: 0;\n right: 0;\n height: 8px;\n background: #092340; /* Match the top nav dark background color */\n }\n\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"] }]
1506
1534
  }], () => [{ type: i0.ChangeDetectorRef }, { type: i1.MJNotificationService }, { type: i2.DomSanitizer }, { type: i3.ArtifactIconService }], { artifactId: [{
1507
1535
  type: Input
1508
1536
  }], currentUser: [{
@@ -1545,6 +1573,8 @@ export class ArtifactViewerPanelComponent {
1545
1573
  type: Output
1546
1574
  }], openEntityRecord: [{
1547
1575
  type: Output
1576
+ }], navigationRequest: [{
1577
+ type: Output
1548
1578
  }], pluginViewer: [{
1549
1579
  type: ViewChild,
1550
1580
  args: [ArtifactTypePluginViewerComponent]
@@ -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":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAA+C,SAAS,EAA2D,MAAM,eAAe,CAAC;AAExL,OAAO,EAAY,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAoB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAqJ,sBAAsB,EAA6G,MAAM,+BAA+B,CAAC;AACrU,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAG5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;;;;;;;;;;;;ICF9D,4BAA8B;IAAA,YAAwB;IAAA,iBAAI;;;IAA5B,cAAwB;IAAxB,+CAAwB;;;IAUpD,wBAAoF;;;IAAvC,kDAAkC;;;IAWvE,wBAA4B;;;;IANhC,+BAEgE;IAA3D,gOAAS,gCAAsB,wBAAE,wBAAwB,KAAC;IAC7D,gCAA6B;IAAA,YAA4B;IAAA,iBAAO;IAChE,gCAA2B;IAAA,YAA2C;;IAAA,iBAAO;IAC7E,gIAAuD;IAGzD,iBAAM;;;;IAPD,qFAAkE;IAExC,eAA4B;IAA5B,oDAA4B;IAC9B,eAA2C;IAA3C,8EAA2C;IACtE,eAEC;IAFD,oFAEC;;;;IATP,+BAAiE;IAAnC,+KAAS,wBAAwB,KAAC;IAC9D,6HAUC;IACH,iBAAM;;;IAXJ,cAUC;IAVD,iCAUC;;;;IAKL,kCAG4I;IADpI,gNAAS,wBAAiB,KAAC;IAEjC,oBAAwE;IAC1E,iBAAS;;;IAJD,sDAAsC;IAEtC,+JAAmI;IACtI,cAAgE;IAAhE,4EAAgE;;;;IAIrE,kCAEsB;IADd,gNAAS,gBAAS,KAAC;IAEzB,wBAAkC;IACpC,iBAAS;;;;IAGT,kCAEmE;IAD3D,gNAAS,yBAAkB,KAAC;IAElC,uBAA+F;IACjG,iBAAS;;;IAFD,+EAA0D;IACjD,cAA2E;IAA3E,gGAA2E;;;;IAI5F,kCAA4D;IAAlC,gNAAS,gBAAS,KAAC;IAC3C,wBAA4B;IAC9B,iBAAS;;;;IA1DX,AADF,AADF,8BAA0B,aACO,SACzB;IACF,uBAAiD;IACjD,YACF;IAAA,iBAAK;IACL,0GAA0B;IAG5B,iBAAM;IAEJ,AADF,8BAAgC,cAGyC;IAAlE,oNAAyB,YAAY,IAAI,8BAAuB,KAAC;IACpE,wBAA8B;IAC9B,gCAA4B;IAAA,aAA4B;IAAA,iBAAO;IAC/D,6GAA8D;IAG9D,+GAA2B;IAe7B,iBAAM;IACN,kHAA4B;IAQ5B,kHAAgB;IAOhB,kHAA0B;IAO1B,kHAAuB;IAM3B,AADE,iBAAM,EACF;;;IA5De,eAA6B;IAA7B,kDAA6B;IAC5C,cACF;IADE,mDACF;IACA,cAEC;IAFD,oDAEC;IAII,eAA0E;IAA1E,iGAA0E;IAGjD,eAA4B;IAA5B,wDAA4B;IACxD,cAEC;IAFD,gGAEC;IACD,cAcC;IAdD,sDAcC;IAEH,cAOC;IAPD,uDAOC;IACD,cAMC;IAND,2CAMC;IACD,cAMC;IAND,qDAMC;IACD,cAIC;IAJD,kDAIC;;;IAOH,8BAA2B;IACzB,wBAAsC;IACtC,4BAAM;IAAA,mCAAmB;IAC3B,AAD2B,iBAAO,EAC5B;;;IAIN,8BAAyB;IACvB,wBAA2C;IAC3C,4BAAM;IAAA,YAAW;IACnB,AADmB,iBAAO,EACpB;;;IADE,eAAW;IAAX,kCAAW;;;IAcP,oBAAkC;;;;IAA/B,yCAA0B;;;;IAJjC,kCAEoC;IAA5B,gPAAS,4BAAiB,KAAC;IACjC,+HAAuB;IAGvB,YACF;IAAA,iBAAS;;;;IAND,oEAAgD;IAEtD,cAEC;IAFD,qDAEC;IACD,cACF;IADE,wCACF;;;IATJ,+BAA4B;IAC1B,iJASC;IACH,iBAAM;;;IAVJ,cASC;IATD,6BASC;;;;IASC,AADF,+BAA8E,yCAOxC;IAAlC,AADA,oQAAoB,iCAA0B,KAAC,yOAC/B,uBAAgB,KAAC;IAErC,AADE,iBAAiC,EAC7B;;;IATwB,+DAA+C;IAEzE,cAAmC;IAGnC,AADA,AADA,AADA,wDAAmC,6CACE,mCACV,kBACV;;;IAqBf,+BAA8B;IAC5B,kCAI+C;IACjD,iBAAM;;;IALS,cAAwB;IAIxB,AADA,AADA,AADA,AADA,6CAAwB,mCACU,2BACR,2BACA,oBACP;;;IAGlC,0BAA0D;;;IAAhC,iEAAyB;;;;IAhBnD,AADF,+BAA6B,iBAC8C;IAAlC,8NAAS,8BAAuB,KAAC;IACtE,wBAA4B;IAAC,uBAC/B;IAAA,iBAAS;IACT,kCAA+E;IAAjC,8NAAS,6BAAsB,KAAC;IAC5E,wBAA2B;IAAC,sBAC9B;IACF,AADE,iBAAS,EACL;IASJ,AARF,yIAAuB,mHAQG;;;IAR1B,eAUC;IAVD,0EAUC;;;IArBL,+BAA6B;IAC3B,gHAAsC;IAsBxC,iBAAM;;;IAtBJ,cAqBC;IArBD,uEAqBC;;;IAyBK,AADF,+BAAkC,YACzB;IAAA,oCAAoB;IAAA,iBAAQ;IACnC,4BAAM;IAAA,YAA0B;IAClC,AADkC,iBAAO,EACnC;;;IADE,eAA0B;IAA1B,iDAA0B;;;IAKhC,AADF,+BAAkC,YACzB;IAAA,mCAAmB;IAAA,iBAAQ;IAClC,4BAAM;IAAA,YAAkC;IAC1C,AAD0C,iBAAO,EAC3C;;;IADE,eAAkC;IAAlC,gGAAkC;;;IAclC,4BAAM;IAAA,YAAgB;IAAA,iBAAO;;;IAAvB,cAAgB;IAAhB,oCAAgB;;;IAEtB,gCAAmC;IAAA,qBAAK;IAAA,iBAAO;;;IAJjD,AADF,+BAA4B,YACnB;IAAA,YAAe;IAAA,iBAAQ;IAG5B,AAFF,+HAAkB,6GAET;IAGX,iBAAM;;;IANG,eAAe;IAAf,mCAAe;IACtB,cAIC;IAJD,wCAIC;;;IATP,AADF,+BAAgC,SAC1B;IAAA,kCAAkB;IAAA,iBAAK;IAC3B,+BAA6B;IAC3B,6HASC;IAEL,AADE,iBAAM,EACF;;;IAXF,eASC;IATD,wCASC;;;IAkBG,wBAA+B;;;IAE/B,wBAA6B;;;;IATnC,+BAI8D;IADzD,oQAA0B,iCAAsB,GAAG,IAAI,KAAC;IAE3D,+BAAuB;IAGnB,AAFF,gIAAoC,0GAE3B;IAGX,iBAAM;IAEJ,AADF,+BAA0B,cACD;IAAA,YAAe;IAAA,iBAAM;IAC5C,+BAAuB;IAAA,YAAkE;IAC3F,AAD2F,iBAAM,EAC3F;IACN,+BAA0B;IACxB,yBAAkC;IAEtC,AADE,iBAAM,EACF;;;IAjBD,AADA,+CAAkC,iCACA;IAElC,0EAAwD;IAEzD,eAIC;IAJD,0DAIC;IAGsB,eAAe;IAAf,mCAAe;IACf,eAAkE;IAAlE,sFAAkE;;;IAhBjG,+BAA2B;IACzB,8HAqBC;IACH,iBAAM;;;IAtBJ,cAqBC;IArBD,iCAqBC;;;IAGH,+BAAyB;IACvB,wBAA2B;IAC3B,yBAAG;IAAA,kCAAkB;IACvB,AADuB,iBAAI,EACrB;;;IASJ,wBAAuG;;;IADzG,+BAAmC;IACjC,2IAAwF;IAC1F,iBAAM;;;IADW,cAAkC;IAAA,AAAlC,uCAAkC,wEAAqC;;;IAOhF,+BAA6B;IAC3B,kCAI+C;IACjD,iBAAM;;;IALS,cAAwB;IAIxB,AADA,AADA,AADA,AADA,0CAAwB,mCACU,2BACR,2BACA,oBACP;;;;IAM9B,AADF,AADF,+BAAyB,cACG,iBACiD;IAA9B,oPAAS,0BAAmB,KAAC;IACtE,wBAA2B;IAAC,sBAC9B;IACF,AADE,iBAAS,EACL;IACN,+BAAmC;IACjC,qCAMiB;IAErB,AADE,iBAAM,EACF;;;IAPA,eAAyB;IAGzB,AADA,AADA,AADA,2CAAyB,oBACN,kBACF,sBACI;;;;IASvB,AADF,AADF,+BAAyB,cACG,iBACiD;IAA9B,oPAAS,0BAAmB,KAAC;IACtE,wBAA2B;IAAC,sBAC9B;IACF,AADE,iBAAS,EACL;IACN,+BAAmC;IACjC,qCAMiB;IAErB,AADE,iBAAM,EACF;;;IAPA,eAAyB;IAGzB,AADA,AADA,AADA,2CAAyB,kDACoB,kBAC5B,sBACI;;;IAO3B,0BAA6D;;;IAApC,kEAA6B;;;IAGtD,+BAA8B;IAAA,YAAqB;IAAA,iBAAM;;;IAA3B,cAAqB;IAArB,yCAAqB;;;IAnDzD,+BAAiC;IAkD7B,AAHA,AAlBA,AAlBA,AATA,iJAAoB,2HASJ,2HAkBA,2HAkBA,2HAGK;IAIzB,iBAAM;;;IArDJ,cAoDC;IApDD,0CAAA,UAAU,mBAAV,MAAM,mBAAN,MAAM,mBAAN,MAAM,mBAAN,WAAW,UAoDV;;;IAtDL,0IAA4C;;;;IAA5C,sFAwDC;;;IAzDD,AAJF,4HAAwD,2FAI/C;;;;IAJT,2FA8DC;;;IAtNP,+BAAkE;IAEhE,6GAAgB;IAgBhB,+BAAyB;IAEvB,6GAAwD;IAcxD,6GAAmE;IA+B3D,AADF,AADF,AADJ,+BAA0E,cAC3C,cACF,YACd;IAAA,oBAAI;IAAA,iBAAQ;IACnB,6BAAM;IAAA,aAAmB;IAC3B,AAD2B,iBAAO,EAC5B;IAEJ,AADF,gCAAuB,aACd;IAAA,wBAAO;IAAA,iBAAQ;IACtB,6BAAM;IAAA,aAAyC;IACjD,AADiD,iBAAO,EAClD;IAEJ,AADF,gCAAuB,aACd;IAAA,wBAAO;IAAA,iBAAQ;IACtB,6BAAM;IAAA,aAA4C;;IACpD,AADoD,iBAAO,EACrD;IAEJ,AADF,gCAAuB,aACd;IAAA,wBAAO;IAAA,iBAAQ;IACtB,6BAAM;IAAA,aAAoD;;IAC5D,AAD4D,iBAAO,EAC7D;IACN,+GAA4B;IAM5B,+GAAqH;IAMvH,iBAAM;IAGN,+GAAqC;IAiBvC,iBAAM;IAGR,gCAAwE;IA0BpE,AAzBF,+GAA8B,yFAyBrB;IAMX,iBAAM;IAGN,oGAAmF;IAmEvF,AADE,iBAAM,EACF;;;IAzNgC,2CAA2B;IAE/D,cAaC;IAbD,0CAaC;IAKC,eAWC;IAXD,gGAWC;IAGD,cAyBC;IAzBD,2GAyBC;IAG4B,cAA4C;IAA5C,4DAA4C;IAI3D,eAAmB;IAAnB,0CAAmB;IAInB,eAAyC;IAAzC,yGAAyC;IAIzC,eAA4C;IAA5C,qFAA4C;IAI5C,eAAoD;IAApD,oIAAoD;IAE5D,eAKC;IALD,uDAKC;IACD,cAKC;IALD,uPAKC;IAIH,cAgBC;IAhBD,gEAgBC;IAIwB,cAA0C;IAA1C,0DAA0C;IACrE,cA8BC;IA9BD,yDA8BC;IAIH,eAiEC;IAjED,4HAiEC;;ADxRX,MAAM,OAAO,4BAA4B;IA+K7B;IACA;IACA;IACA;IAjLD,UAAU,CAAU;IACpB,WAAW,CAAY;IACvB,aAAa,CAAU;IACvB,aAAa,CAAU,CAAC,qBAAqB;IAC7C,oBAAoB,GAAY,IAAI,CAAC,CAAC,qDAAqD;IAC3F,UAAU,GAAY,IAAI,CAAC,CAAC,8CAA8C;IAC1E,QAAQ,GAAY,IAAI,CAAC,CAAC,sFAAsF;IAChH,eAAe,GAAY,IAAI,CAAC,CAAC,sDAAsD;IACvF,kBAAkB,GAAY,IAAI,CAAC,CAAC,iEAAiE;IACrG,cAAc,CAAwD;IACtE,WAAW,GAAyC,IAAI,CAAC,CAAC,iCAAiC;IAC3F,mBAAmB,CAAU,CAAC,6CAA6C;IAC3E,QAAQ,CAAW,CAAC,uCAAuC;IAC3D,OAAO,CAAW,CAAC,sCAAsC;IACzD,WAAW,GAAY,KAAK,CAAC,CAAC,2CAA2C;IACxE,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;IAClC,yBAAyB,GAAG,IAAI,YAAY,EAAyD,CAAC;IACtG,cAAc,GAAG,IAAI,YAAY,EAAsH,CAAC;IACxJ,cAAc,GAAG,IAAI,YAAY,EAAU,CAAC,CAAC,yCAAyC;IACtF,eAAe,GAAG,IAAI,YAAY,EAAQ,CAAC,CAAC,iDAAiD;IAC7F,gBAAgB,GAAG,IAAI,YAAY,EAAoD,CAAC;IAEpD,YAAY,CAAqC;IAEvF,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;IAEhC,QAAQ,GAA4B,IAAI,CAAC;IACzC,eAAe,GAAmC,IAAI,CAAC;IACvD,WAAW,GAA8B,EAAE,CAAC;IAC5C,qBAAqB,GAAW,CAAC,CAAC;IAClC,SAAS,GAAG,IAAI,CAAC;IACjB,KAAK,GAAkB,IAAI,CAAC;IAC5B,WAAW,GAAG,EAAE,CAAC;IACjB,mBAAmB,GAAG,KAAK,CAAC;IAC5B,mBAAmB,GAAiC,EAAE,CAAC,CAAC,mCAAmC;IAC3F,yBAAyB,GAAiC,EAAE,CAAC,CAAC,8CAA8C;IAC5G,iBAAiB,GAA8B,IAAI,CAAC;IAE3D,mBAAmB;IACZ,SAAS,GAAW,SAAS,CAAC,CAAC,4CAA4C;IAC3E,eAAe,GAAkB,IAAI,CAAC;IACtC,WAAW,GAAkB,IAAI,CAAC;IAClC,iBAAiB,GAAuC,EAAE,CAAC;IAC1D,uBAAuB,GAAkB,IAAI,CAAC;IAEtD,iBAAiB;IACV,kBAAkB,GAAgC,IAAI,CAAC;IACvD,cAAc,GAAyB,EAAE,CAAC;IAC1C,6BAA6B,GAAY,KAAK,CAAC;IAC/C,2BAA2B,GAAkB,IAAI,CAAC,CAAC,gDAAgD;IAE1G,2BAA2B;IAC3B,IAAW,OAAO;QAChB,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,qDAAqD;QACrD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAED,2FAA2F;QAC3F,IAAI,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;YACxE,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QAChC,CAAC;QAED,oDAAoD;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC;QACrF,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAEzD,iDAAiD;QACjD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAED,sFAAsF;QACtF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,OAAe;QACrC,yCAAyC;QACzC,IAAI,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;YACxE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,EAAE,CACzD,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAChD,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,QAAQ,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9B,KAAK,MAAM;gBACT,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC7F,KAAK,SAAS;gBACZ,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YAC5G;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,OAAe;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,2CAA2C;QAC3C,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU;YAClD,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;YAClB,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAEzB,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,WAAW;YACxB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAAe;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,MAAM,EAAE,WAAW,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACnE,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,OAAe;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,WAAW,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5D,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,OAAe;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YAClD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU;YACjD,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE;YAC1B,CAAC,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IACnC,CAAC;IAEO,mBAAmB,CAAsB;IAEjD,YACU,GAAsB,EACtB,mBAA0C,EAC1C,SAAuB,EACvB,mBAAwC;QAHxC,QAAG,GAAH,GAAG,CAAmB;QACtB,wBAAmB,GAAnB,mBAAmB,CAAuB;QAC1C,cAAS,GAAT,SAAS,CAAc;QACvB,wBAAmB,GAAnB,mBAAmB,CAAqB;QAEhD,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,2DAA2D;QAC3D,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC1E,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxC,0CAA0C;oBAC1C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,mDAAmD;QACnD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE5C,uCAAuC;QACvC,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACjD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAClC,qEAAqE;YACrE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAsB;QACtC,0CAA0C;QAC1C,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC;QAED,mFAAmF;QACnF,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;YACtE,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC;YAC/D,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAC7B,0EAA0E;gBAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,gBAAgB,CAAC,CAAC;gBACvF,IAAI,aAAa,EAAE,CAAC;oBAClB,6CAA6C;oBAC7C,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;oBACrC,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,aAAa,IAAI,CAAC,CAAC;oBAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;oBAElE,0BAA0B;oBAC1B,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAEnC,kDAAkD;oBAClD,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBAExC,oBAAoB;oBACpB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,mBAA4B;QACrD,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAElB,qEAAqE;YACrE,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAE1B,gBAAgB;YAChB,IAAI,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CAAmB,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,GAAG,yBAAyB,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,8CAA8C;YAC9C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE9B,oBAAoB;YACpB,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAA0B;gBACvD,UAAU,EAAE,uBAAuB;gBACnC,WAAW,EAAE,eAAe,IAAI,CAAC,UAAU,GAAG;gBAC9C,OAAO,EAAE,oBAAoB;gBAC7B,UAAU,EAAE,eAAe;aAC5B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAErB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;gBAElC,8CAA8C;gBAC9C,IAAI,mBAAmB,EAAE,CAAC;oBACxB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,mBAAmB,CAAC,CAAC;oBAC1F,IAAI,aAAa,EAAE,CAAC;wBAClB,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;wBACrC,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,aAAa,IAAI,CAAC,CAAC;wBAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACN,8CAA8C;wBAC9C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACzC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,IAAI,CAAC,CAAC;wBACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,qEAAqE;oBACrE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,IAAI,CAAC,CAAC;oBACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;gBAC3E,CAAC;gBAED,0BAA0B;gBAC1B,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAEnC,+BAA+B;gBAC/B,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAExC,kBAAkB;gBAClB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,GAAG,2BAA2B,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,0BAA0B,GAAI,GAAa,CAAC,OAAO,CAAC;QACnE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;QAC3C,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAEtE,MAAM,YAAY,GAAG,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1F,IAAI,YAAY,EAAE,CAAC;gBACjB,+DAA+D;gBAC/D,IAAI,CAAC,uBAAuB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;YACnD,8DAA8D;QAChE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QAElC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAmC;gBAChE,UAAU,EAAE,iCAAiC;gBAC7C,WAAW,EAAE,sBAAsB,IAAI,CAAC,eAAe,CAAC,EAAE,GAAG;gBAC7D,UAAU,EAAE,eAAe;aAC5B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAErB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC;gBAExC,sDAAsD;gBACtD,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,iBAAiB,CAAC,CAAC;gBAC1G,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,aAAa,CAAC,CAAC;gBAElG,oDAAoD;gBACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBAC5E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;gBAEpE,mEAAmE;gBACnE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnE,CAAC;gBAED,4CAA4C;gBAC5C,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,UAAU,CAAC;IAC3C,CAAC;IAED,IAAI,kBAAkB;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED,IAAI,aAAa;QACf,uBAAuB;QACvB,mEAAmE;QACnE,0EAA0E;QAC1E,EAAE;QACF,2EAA2E;QAC3E,yEAAyE;QACzE,uFAAuF;QACvF,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,iBAAiB,IAAI,KAAK,CAAC;QAEvF,OAAO,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC1E,CAAC;IAED,IAAI,SAAS;QACX,0DAA0D;QAC1D,oDAAoD;QACpD,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IAED,IAAI,UAAU;QACZ,gFAAgF;QAChF,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;QACzD,OAAO,cAAc,EAAE,0BAA0B,IAAI,KAAK,CAAC;IAC7D,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,WAAW;QACb,2DAA2D;QAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,aAAa,CAAC,CAAC;QAClG,OAAO,eAAe,EAAE,KAAK,IAAI,SAAS,CAAC;IAC7C,CAAC;IAED,IAAI,kBAAkB;QACpB,iFAAiF;QACjF,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,aAAa,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,GAA6C;QACxD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IAED;;;OAGG;IACK,4BAA4B;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,wEAAwE;YACxE,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YAClG,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,8DAA8D;YAC9D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,8DAA8D;QAC9D,6DAA6D;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,KAAgC;QAC1D,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,oEAAoE;QACpE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,IAAY;QACzC,gDAAgD;QAChD,8EAA8E;QAC9E,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEvC,sBAAsB;QACtB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEtC,6BAA6B;QAC7B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAExC,iCAAiC;QACjC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAExC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,0BAA0B;QACtC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,qEAAqE;YACrE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAA6B;gBAC1D,UAAU,EAAE,0BAA0B;gBACtC,WAAW,EAAE;yEACoD,IAAI,CAAC,UAAU;UAC9E;gBACF,UAAU,EAAE,eAAe;aAC5B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAErB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC;gBAE1C,gEAAgE;gBAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBAClD,IAAI,gBAAgB,EAAE,CAAC;oBACrB,sEAAsE;oBACtE,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;oBAE5D,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;wBAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;wBACtE,OAAO,YAAY,IAAI,YAAY,IAAI,YAAY,KAAK,YAAY,CAAC;oBACvE,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;gBACtC,CAAC;gBAED,gDAAgD;gBAChD,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC9D,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC1B,IAAI,CAAC,iBAAiB,GAAG,MAAM,EAAE,CAAC,eAAe,CAAqB,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC3G,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,IAAI,2BAA2B;QAC7B,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,iBAAiB;QACf,kFAAkF;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,mDAAmD;YACnD,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC;QACzD,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACjD,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qBAAqB;QACnB,sDAAsD;QACtD,IAAI,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,cAAqB,CAAC;YACvD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC3C,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;QACH,CAAC;QAED,gFAAgF;QAChF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC;QACzD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC;qBAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAChC,2CAA2C;oBAC3C,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;;;;;;;;;;;qBAWhB,OAAO;;;WAGjB,CAAC,CAAC;gBACL,CAAC;gBACD,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC7B,WAAW,CAAC,KAAK,EAAE,CAAC;gBACpB,UAAU,CAAC,GAAG,EAAE;oBACd,WAAW,CAAC,KAAK,EAAE,CAAC;oBACpB,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACvD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAgC;QAClD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAEjC,2CAA2C;QAC3C,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,gEAAgE;QAChE,uEAAuE;QACvE,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAExC,iEAAiE;QACjE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,0CAA0C;QAC1C,iDAAiD;QACjD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;YAClC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,qBAAqB;QACvB,qEAAqE;QACrE,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB;aAC5C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC;aAC7B,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,aAAuB;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,yDAAyD;YACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACjD,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CACrD,kCAAkC,EAClC,OAAO,CACR,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,oDAAoD;YACpD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,0EAA0E;gBAC1E,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;gBACzB,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,OAAO,CAA6B;oBAClE,UAAU,EAAE,0BAA0B;oBACtC,WAAW,EAAE,iBAAiB,YAAY,4BAA4B,gBAAgB,GAAG;oBACzF,UAAU,EAAE,eAAe;iBAC5B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAErB,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1F,SAAS;gBACX,CAAC;gBAED,yCAAyC;gBACzC,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,eAAe,CAA6B,0BAA0B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9H,kBAAkB,CAAC,YAAY,GAAG,YAAY,CAAC;gBAC/C,kBAAkB,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;gBACxD,kBAAkB,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAEhC,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,KAAK,EAAE,CAAC;oBACV,YAAY,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,iDAAiD,YAAY,EAAE,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;YAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CACrD,qBAAqB,YAAY,8BAA8B,EAC/D,SAAS,EACT,IAAI,CACL,CAAC;gBAEF,mEAAmE;gBACnE,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CACrD,4CAA4C,EAC5C,OAAO,CACR,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;YACnD,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CACrD,yDAAyD,EACzD,OAAO,CACR,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,0EAA0E;QAC1E,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YAEzB,+DAA+D;YAC/D,MAAM,mBAAmB,GAAG,MAAM,EAAE,CAAC,OAAO,CAA6B;gBACvE,UAAU,EAAE,0BAA0B;gBACtC,WAAW,EAAE;yEACoD,IAAI,CAAC,UAAU;UAC9E;gBACF,UAAU,EAAE,eAAe;aAC5B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAErB,IAAI,mBAAmB,CAAC,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;gBAC/D,4BAA4B;gBAC5B,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAE3F,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC7E,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,OAAO,CAAqB;wBAC7D,UAAU,EAAE,iBAAiB;wBAC7B,WAAW,EAAE,iBAAiB;wBAC9B,UAAU,EAAE,eAAe;qBAC5B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAErB,IAAI,iBAAiB,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;wBAC3D,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,gEAAgE;YAChE,6GAA6G;YAC7G,wCAAwC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEnD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrF,MAAM,yBAAyB,GAAG,MAAM,EAAE,CAAC,OAAO,CAAqC;oBACrF,UAAU,EAAE,mCAAmC;oBAC/C,WAAW,EAAE,aAAa;oBAC1B,OAAO,EAAE,CAAC;oBACV,UAAU,EAAE,eAAe;iBAC5B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAErB,IAAI,yBAAyB,CAAC,OAAO,IAAI,yBAAyB,CAAC,OAAO,IAAI,yBAAyB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3H,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;oBACvF,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;oBAEjF,wDAAwD;oBACxD,IAAI,CAAC,2BAA2B,GAAG,iBAAiB,CAAC;oBAErD,0DAA0D;oBAC1D,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,eAAe,CAA6B,0BAA0B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC9H,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBAEzE,IAAI,YAAY,IAAI,kBAAkB,CAAC,cAAc,EAAE,CAAC;wBACtD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,eAAe,CAAuB,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC3G,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;wBAE1E,IAAI,MAAM,EAAE,CAAC;4BACX,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;4BAEvC,qDAAqD;4BACrD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;4BAEhE,iCAAiC;4BACjC,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;gCACzC,UAAU,EAAE,0BAA0B;gCACtC,WAAW,EAAE,mBAAmB,YAAY,CAAC,EAAE,iBAAiB,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG;gCACtF,OAAO,EAAE,CAAC;gCACV,UAAU,EAAE,QAAQ;6BACrB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;4BAErB,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,OAAO;gCACxB,iBAAiB,CAAC,OAAO;gCACzB,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;4BAEhE,IAAI,CAAC,6BAA6B,GAAG,WAAW,IAAI,iBAAiB,CAAC;wBACxE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,MAAM,KAAK,GAA+F,EAAE,CAAC;QAE7G,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QAElD,4DAA4D;QAC5D,4DAA4D;QAC5D,IAAI,IAAI,CAAC,WAAW,KAAK,cAAc,EAAE,CAAC;YACxC,8DAA8D;YAC9D,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,YAAY;oBAClB,EAAE,EAAE,UAAU,CAAC,EAAE;oBACjB,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;YAC7C,wCAAwC;YACxC,sFAAsF;YACtF,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,cAAc;oBACpB,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE;oBAC9B,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,uBAAuB;oBAC7D,SAAS,EAAE,IAAI,CAAC,6BAA6B;iBAC9C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,kDAAkD;QAElD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAyF;QACxG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,4GAA4G;QAC5G,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,qBAAqB;YACzC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,KAAuD;QACxE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,yBAAyB,CAAC,YAAkC;QACxE,mDAAmD;QACnD,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC,WAAW,CAAC;QAClC,CAAC;QAED,4DAA4D;QAC5D,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEzE,IAAI,UAAU,EAAE,CAAC;gBACf,2BAA2B;gBAC3B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,EAAU;QAC1C,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,eAAe,CAAuB,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5G,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE3C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,OAAe;QAChC,IAAI,CAAC;YACH,2CAA2C;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEhC,iEAAiE;YACjE,MAAM,YAAY,GAAqB;gBACrC,iBAAiB,EAAE,IAAI;gBACvB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,KAAK;aACb,CAAC;YACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAErD,oCAAoC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,iEAAiE;YACjE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,2CAA2C;gBAC3C,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,OAAe;QAC/B,YAAY;QACZ,MAAM,SAAS,GAA2B;YACxC,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE,oBAAoB;YAC/B,OAAO,EAAE,aAAa;SACvB,CAAC;QAEF,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;QACjD,IAAI,MAAM,EAAE,iBAAiB,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;YACjG,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;gBACpB,OAAO,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,iCAAiC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,OAAe;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,SAAgE;QAC/F,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,eAAe,CAAsB,mBAAmB,CAAC,CAAC;YAEjF,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;YAEH,uCAAuC;YACvC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,eAAe;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QACrC,OAAO,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;sHAjjCU,4BAA4B;6DAA5B,4BAA4B;2BAuB5B,iCAAiC;;;;;YC1C9C,8BAAmE;YACjE,gGAAkB;YAmElB,8BAA2B;YACzB,8FAAiB;YAOjB,8FAAa;YAOb,gGAAwC;YA6N5C,AADE,iBAAM,EACF;;YAhT6B,4CAA+B;YAChE,cAiEC;YAjED,yCAiEC;YAGC,eAKC;YALD,wCAKC;YAED,cAKC;YALD,oCAKC;YAED,cA2NC;YA3ND,uEA2NC;;;iFD3RQ,4BAA4B;cANxC,SAAS;6BACI,KAAK,YACP,0BAA0B;;kBAKnC,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBAEN,SAAS;mBAAC,iCAAiC;;kFAvBjC,4BAA4B"}
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,7 +1,25 @@
1
- import { Type } from '@angular/core';
1
+ import { EventEmitter, Type } from '@angular/core';
2
2
  import { MJArtifactVersionEntity } from '@memberjunction/core-entities';
3
3
  import { IArtifactViewerComponent } from '../interfaces/artifact-viewer-plugin.interface';
4
4
  import * as i0 from "@angular/core";
5
+ /**
6
+ * General-purpose navigation request emitted by artifact viewer plugins.
7
+ * Allows plugins to request app-level navigation (e.g., switch to a specific
8
+ * application, open a nav item, and set query parameters) without depending
9
+ * on NavigationService directly.
10
+ *
11
+ * The event bubbles through ArtifactTypePluginViewer → ArtifactViewerPanel →
12
+ * consumer (conversations, dashboards, etc.) → ultimately the Explorer wrapper
13
+ * where NavigationService lives.
14
+ */
15
+ export interface NavigationRequest {
16
+ /** Target application name (e.g., 'Data Explorer'). If omitted, stays in current app. */
17
+ appName?: string;
18
+ /** Target navigation item label within the app (e.g., 'Queries') */
19
+ navItemName: string;
20
+ /** Query parameters to pass to the navigation target (e.g., { queryId: 'xxx' }) */
21
+ queryParams?: Record<string, string>;
22
+ }
5
23
  /**
6
24
  * Represents an additional tab that a plugin can provide to the artifact viewer.
7
25
  *
@@ -118,6 +136,21 @@ export declare abstract class BaseArtifactViewerPluginComponent implements IArti
118
136
  * Get the description
119
137
  */
120
138
  protected getDescription(): string;
139
+ /**
140
+ * Optional: Emitted when the plugin's additional tabs change after async loading.
141
+ * Plugins that load data asynchronously (e.g., from a component registry) should
142
+ * emit this when loading completes and new tabs become available. The parent panel
143
+ * listens for this to re-run change detection and render the updated tab list.
144
+ */
145
+ tabsChanged?: EventEmitter<void>;
146
+ /**
147
+ * Optional: Emitted when the plugin wants to navigate to a different app/nav item.
148
+ * Plugins that need app-level navigation (e.g., "Open Query" navigating to the
149
+ * Data Explorer's Queries nav item) should instantiate this emitter and emit a
150
+ * NavigationRequest. The event bubbles up through the artifact viewer chain to the
151
+ * host application where NavigationService handles the actual navigation.
152
+ */
153
+ navigationRequest?: EventEmitter<NavigationRequest>;
121
154
  /**
122
155
  * Get additional tabs that this plugin wants to provide to the artifact viewer.
123
156
  * Override this method to provide custom tabs for viewing metadata, code, etc.
@@ -1 +1 @@
1
- {"version":3,"file":"base-artifact-viewer.component.d.ts","sourceRoot":"","sources":["../../../src/lib/components/base-artifact-viewer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,IAAI,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAC/E,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAClC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CACrE;AAED;;;;GAIG;AACH,8BAIsB,iCAAkC,YAAW,wBAAwB;IACzF;;OAEG;IACM,eAAe,EAAG,uBAAuB,CAAC;IAEnD;;OAEG;IACM,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACM,QAAQ,EAAE,OAAO,CAAQ;IAElC;;OAEG;IACM,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;OASG;IACH,IAAW,wBAAwB,IAAI,OAAO,CAE7C;IAED;;;;;;;;;;;OAWG;IACH,IAAW,0BAA0B,IAAI,OAAO,CAE/C;IAED;;;;;;;;OAQG;IACH,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IAED;;;OAGG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAa9B;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI;IAU/C;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IAIlC;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IAIlC;;;;;OAKG;IACI,iBAAiB,CAAC,IAAI,iBAAiB,EAAE;IAEhD;;;;;;;;;OASG;IACI,sBAAsB,CAAC,IAAI,MAAM,EAAE;yCA9HtB,iCAAiC;2CAAjC,iCAAiC;CA+HtD"}
1
+ {"version":3,"file":"base-artifact-viewer.component.d.ts","sourceRoot":"","sources":["../../../src/lib/components/base-artifact-viewer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAS,IAAI,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;;AAE1F;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IAEpB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAC/E,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAClC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CACrE;AAED;;;;GAIG;AACH,8BAIsB,iCAAkC,YAAW,wBAAwB;IACzF;;OAEG;IACM,eAAe,EAAG,uBAAuB,CAAC;IAEnD;;OAEG;IACM,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACM,QAAQ,EAAE,OAAO,CAAQ;IAElC;;OAEG;IACM,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;OASG;IACH,IAAW,wBAAwB,IAAI,OAAO,CAE7C;IAED;;;;;;;;;;;OAWG;IACH,IAAW,0BAA0B,IAAI,OAAO,CAE/C;IAED;;;;;;;;OAQG;IACH,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IAED;;;OAGG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAa9B;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI;IAU/C;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IAIlC;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IAIlC;;;;;OAKG;IACI,WAAW,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;;OAMG;IACI,iBAAiB,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAE3D;;;;;OAKG;IACI,iBAAiB,CAAC,IAAI,iBAAiB,EAAE;IAEhD;;;;;;;;;OASG;IACI,sBAAsB,CAAC,IAAI,MAAM,EAAE;yCA/ItB,iCAAiC;2CAAjC,iCAAiC;CAgJtD"}
@@ -101,6 +101,21 @@ export class BaseArtifactViewerPluginComponent {
101
101
  getDescription() {
102
102
  return this.artifactVersion?.Description || '';
103
103
  }
104
+ /**
105
+ * Optional: Emitted when the plugin's additional tabs change after async loading.
106
+ * Plugins that load data asynchronously (e.g., from a component registry) should
107
+ * emit this when loading completes and new tabs become available. The parent panel
108
+ * listens for this to re-run change detection and render the updated tab list.
109
+ */
110
+ tabsChanged;
111
+ /**
112
+ * Optional: Emitted when the plugin wants to navigate to a different app/nav item.
113
+ * Plugins that need app-level navigation (e.g., "Open Query" navigating to the
114
+ * Data Explorer's Queries nav item) should instantiate this emitter and emit a
115
+ * NavigationRequest. The event bubbles up through the artifact viewer chain to the
116
+ * host application where NavigationService handles the actual navigation.
117
+ */
118
+ navigationRequest;
104
119
  static ɵfac = function BaseArtifactViewerPluginComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BaseArtifactViewerPluginComponent)(); };
105
120
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BaseArtifactViewerPluginComponent, selectors: [["ng-component"]], inputs: { artifactVersion: "artifactVersion", height: "height", readonly: "readonly", cssClass: "cssClass" }, standalone: false, decls: 0, vars: 0, template: function BaseArtifactViewerPluginComponent_Template(rf, ctx) { }, encapsulation: 2 });
106
121
  }
@@ -119,5 +134,5 @@ export class BaseArtifactViewerPluginComponent {
119
134
  }], cssClass: [{
120
135
  type: Input
121
136
  }] }); })();
122
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BaseArtifactViewerPluginComponent, { className: "BaseArtifactViewerPluginComponent", filePath: "src/lib/components/base-artifact-viewer.component.ts", lineNumber: 58 }); })();
137
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BaseArtifactViewerPluginComponent, { className: "BaseArtifactViewerPluginComponent", filePath: "src/lib/components/base-artifact-viewer.component.ts", lineNumber: 79 }); })();
123
138
  //# sourceMappingURL=base-artifact-viewer.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-artifact-viewer.component.js","sourceRoot":"","sources":["../../../src/lib/components/base-artifact-viewer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAQ,MAAM,eAAe,CAAC;;AAgDvD;;;;GAIG;AAKH,MAAM,OAAgB,iCAAiC;IACrD;;OAEG;IACM,eAAe,CAA2B;IAEnD;;OAEG;IACM,MAAM,CAAU;IAEzB;;OAEG;IACM,QAAQ,GAAY,IAAI,CAAC;IAElC;;OAEG;IACM,QAAQ,CAAU;IAE3B;;;;;;;;;OASG;IACH,IAAW,wBAAwB;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAW,0BAA0B;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,IAAW,iBAAiB;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACO,UAAU;QAClB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QACtC,CAAC;QAED,wCAAwC;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACO,gBAAgB;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACO,cAAc;QACtB,OAAO,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,mBAAmB,CAAC;IAC3D,CAAC;IAED;;OAEG;IACO,cAAc;QACtB,OAAO,IAAI,CAAC,eAAe,EAAE,WAAW,IAAI,EAAE,CAAC;IACjD,CAAC;2HA1GmB,iCAAiC;6DAAjC,iCAAiC;;iFAAjC,iCAAiC;cAJtD,SAAS;eAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,EAAE;aACb;;kBAKE,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kFAnBc,iCAAiC"}
1
+ {"version":3,"file":"base-artifact-viewer.component.js","sourceRoot":"","sources":["../../../src/lib/components/base-artifact-viewer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,KAAK,EAAQ,MAAM,eAAe,CAAC;;AAqErE;;;;GAIG;AAKH,MAAM,OAAgB,iCAAiC;IACrD;;OAEG;IACM,eAAe,CAA2B;IAEnD;;OAEG;IACM,MAAM,CAAU;IAEzB;;OAEG;IACM,QAAQ,GAAY,IAAI,CAAC;IAElC;;OAEG;IACM,QAAQ,CAAU;IAE3B;;;;;;;;;OASG;IACH,IAAW,wBAAwB;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAW,0BAA0B;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,IAAW,iBAAiB;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACO,UAAU;QAClB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QACtC,CAAC;QAED,wCAAwC;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACO,gBAAgB;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACO,cAAc;QACtB,OAAO,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,mBAAmB,CAAC;IAC3D,CAAC;IAED;;OAEG;IACO,cAAc;QACtB,OAAO,IAAI,CAAC,eAAe,EAAE,WAAW,IAAI,EAAE,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAsB;IAExC;;;;;;OAMG;IACI,iBAAiB,CAAmC;2HA3HvC,iCAAiC;6DAAjC,iCAAiC;;iFAAjC,iCAAiC;cAJtD,SAAS;eAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,EAAE;aACb;;kBAKE,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kFAnBc,iCAAiC"}
@@ -63,6 +63,12 @@ export declare class ComponentArtifactViewerComponent extends BaseArtifactViewer
63
63
  */
64
64
  GetStandardTabRemovals(): string[];
65
65
  private extractComponentParts;
66
+ /**
67
+ * Called when MJReactComponent finishes loading the full component spec from the registry.
68
+ * The full spec may contain Functional, Technical, and Data tabs not in the stripped spec.
69
+ * Emit tabsChanged so the parent panel re-evaluates allTabs and renders the new tab labels.
70
+ */
71
+ onReactComponentInitialized(): void;
66
72
  onComponentEvent(event: unknown): void;
67
73
  /**
68
74
  * Handle entity record open request from React component
@@ -1 +1 @@
1
- {"version":3,"file":"component-artifact-viewer.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/plugins/component-artifact-viewer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5H,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAA8B,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;;AAGpD;;;;;;;GAOG;AACH,qBAOa,gCAAiC,SAAQ,iCAAkC,YAAW,MAAM,EAAE,aAAa,EAAE,SAAS;IAiCrH,OAAO,CAAC,OAAO;IAhCE,cAAc,CAAC,EAAE,gBAAgB,CAAC;IACrD,WAAW,qBAA4B;IACvC,gBAAgB;oBAAiC,MAAM;sBAAgB,YAAY;OAAK;IAG3F,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;IACvC,aAAa,EAAE,MAAM,CAAM;IAC3B,aAAa,EAAE,MAAM,CAAM;IAElC,IAAW,qBAAqB,IAAI,aAAa,GAAG,IAAI,CAEvD;IAGM,QAAQ,UAAS;IACjB,YAAY,SAAM;IAClB,YAAY,SAAM;IAEzB;;;;;;;;OAQG;IACH,IAAoB,iBAAiB,IAAI,OAAO,CAG/C;gBAEmB,OAAO,EAAE,qBAAqB;IAI5C,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IACI,iBAAiB,IAAI,iBAAiB,EAAE;IA+D/C;;;OAGG;IACI,sBAAsB,IAAI,MAAM,EAAE;IAIzC,OAAO,CAAC,qBAAqB;IAS7B,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAYtC;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAC,GAAG,IAAI;yCA9L7D,gCAAgC;2CAAhC,gCAAgC;CAqM5C"}
1
+ {"version":3,"file":"component-artifact-viewer.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/plugins/component-artifact-viewer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5H,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAA8B,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;;AAGpD;;;;;;;GAOG;AACH,qBAOa,gCAAiC,SAAQ,iCAAkC,YAAW,MAAM,EAAE,aAAa,EAAE,SAAS;IAiCrH,OAAO,CAAC,OAAO;IAhCE,cAAc,CAAC,EAAE,gBAAgB,CAAC;IACrD,WAAW,qBAA4B;IACvC,gBAAgB;oBAAiC,MAAM;sBAAgB,YAAY;OAAK;IAG3F,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;IACvC,aAAa,EAAE,MAAM,CAAM;IAC3B,aAAa,EAAE,MAAM,CAAM;IAElC,IAAW,qBAAqB,IAAI,aAAa,GAAG,IAAI,CAEvD;IAGM,QAAQ,UAAS;IACjB,YAAY,SAAM;IAClB,YAAY,SAAM;IAEzB;;;;;;;;OAQG;IACH,IAAoB,iBAAiB,IAAI,OAAO,CAG/C;gBAEmB,OAAO,EAAE,qBAAqB;IAI5C,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IACI,iBAAiB,IAAI,iBAAiB,EAAE;IA+D/C;;;OAGG;IACI,sBAAsB,IAAI,MAAM,EAAE;IAIzC,OAAO,CAAC,qBAAqB;IAS7B;;;;OAIG;IACH,2BAA2B,IAAI,IAAI;IAOnC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAYtC;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAC,GAAG,IAAI;yCA1M7D,gCAAgC;2CAAhC,gCAAgC;CAiN5C"}