@memberjunction/ng-artifacts 5.27.1 → 5.29.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 (65) hide show
  1. package/dist/lib/__tests__/artifact-snapshots.test.d.ts +2 -0
  2. package/dist/lib/__tests__/artifact-snapshots.test.d.ts.map +1 -0
  3. package/dist/lib/__tests__/artifact-snapshots.test.js +155 -0
  4. package/dist/lib/__tests__/artifact-snapshots.test.js.map +1 -0
  5. package/dist/lib/components/artifact-viewer-panel.component.d.ts +16 -2
  6. package/dist/lib/components/artifact-viewer-panel.component.d.ts.map +1 -1
  7. package/dist/lib/components/artifact-viewer-panel.component.js +128 -98
  8. package/dist/lib/components/artifact-viewer-panel.component.js.map +1 -1
  9. package/dist/lib/components/base-artifact-viewer.component.d.ts +24 -0
  10. package/dist/lib/components/base-artifact-viewer.component.d.ts.map +1 -1
  11. package/dist/lib/components/base-artifact-viewer.component.js +15 -1
  12. package/dist/lib/components/base-artifact-viewer.component.js.map +1 -1
  13. package/dist/lib/components/plugins/code-artifact-viewer.component.d.ts +2 -0
  14. package/dist/lib/components/plugins/code-artifact-viewer.component.d.ts.map +1 -1
  15. package/dist/lib/components/plugins/code-artifact-viewer.component.js +5 -1
  16. package/dist/lib/components/plugins/code-artifact-viewer.component.js.map +1 -1
  17. package/dist/lib/components/plugins/component-artifact-viewer.component.d.ts +2 -1
  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 +29 -0
  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 +50 -43
  22. package/dist/lib/components/plugins/data-artifact-viewer.component.d.ts.map +1 -1
  23. package/dist/lib/components/plugins/data-artifact-viewer.component.js +336 -137
  24. package/dist/lib/components/plugins/data-artifact-viewer.component.js.map +1 -1
  25. package/dist/lib/components/plugins/docx-artifact-viewer.component.d.ts +2 -0
  26. package/dist/lib/components/plugins/docx-artifact-viewer.component.d.ts.map +1 -1
  27. package/dist/lib/components/plugins/docx-artifact-viewer.component.js +21 -6
  28. package/dist/lib/components/plugins/docx-artifact-viewer.component.js.map +1 -1
  29. package/dist/lib/components/plugins/html-artifact-viewer.component.d.ts +2 -0
  30. package/dist/lib/components/plugins/html-artifact-viewer.component.d.ts.map +1 -1
  31. package/dist/lib/components/plugins/html-artifact-viewer.component.js +11 -1
  32. package/dist/lib/components/plugins/html-artifact-viewer.component.js.map +1 -1
  33. package/dist/lib/components/plugins/json-artifact-viewer.component.d.ts +2 -0
  34. package/dist/lib/components/plugins/json-artifact-viewer.component.d.ts.map +1 -1
  35. package/dist/lib/components/plugins/json-artifact-viewer.component.js +5 -1
  36. package/dist/lib/components/plugins/json-artifact-viewer.component.js.map +1 -1
  37. package/dist/lib/components/plugins/markdown-artifact-viewer.component.d.ts +2 -0
  38. package/dist/lib/components/plugins/markdown-artifact-viewer.component.d.ts.map +1 -1
  39. package/dist/lib/components/plugins/markdown-artifact-viewer.component.js +5 -1
  40. package/dist/lib/components/plugins/markdown-artifact-viewer.component.js.map +1 -1
  41. package/dist/lib/components/plugins/pdf-artifact-viewer.component.d.ts +2 -0
  42. package/dist/lib/components/plugins/pdf-artifact-viewer.component.d.ts.map +1 -1
  43. package/dist/lib/components/plugins/pdf-artifact-viewer.component.js +29 -10
  44. package/dist/lib/components/plugins/pdf-artifact-viewer.component.js.map +1 -1
  45. package/dist/lib/components/plugins/svg-artifact-viewer.component.d.ts +2 -0
  46. package/dist/lib/components/plugins/svg-artifact-viewer.component.d.ts.map +1 -1
  47. package/dist/lib/components/plugins/svg-artifact-viewer.component.js +11 -1
  48. package/dist/lib/components/plugins/svg-artifact-viewer.component.js.map +1 -1
  49. package/dist/lib/components/plugins/xlsx-artifact-viewer.component.d.ts +2 -0
  50. package/dist/lib/components/plugins/xlsx-artifact-viewer.component.d.ts.map +1 -1
  51. package/dist/lib/components/plugins/xlsx-artifact-viewer.component.js +39 -13
  52. package/dist/lib/components/plugins/xlsx-artifact-viewer.component.js.map +1 -1
  53. package/dist/lib/services/analyze-artifact.service.d.ts +77 -0
  54. package/dist/lib/services/analyze-artifact.service.d.ts.map +1 -0
  55. package/dist/lib/services/analyze-artifact.service.js +120 -0
  56. package/dist/lib/services/analyze-artifact.service.js.map +1 -0
  57. package/dist/lib/snapshot-helpers.d.ts +48 -0
  58. package/dist/lib/snapshot-helpers.d.ts.map +1 -0
  59. package/dist/lib/snapshot-helpers.js +79 -0
  60. package/dist/lib/snapshot-helpers.js.map +1 -0
  61. package/dist/public-api.d.ts +2 -0
  62. package/dist/public-api.d.ts.map +1 -1
  63. package/dist/public-api.js +3 -0
  64. package/dist/public-api.js.map +1 -1
  65. package/package.json +16 -16
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=artifact-snapshots.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-snapshots.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/artifact-snapshots.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,155 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { DataSnapshot, NormalizeToTables } from '@memberjunction/core';
3
+ import { createJsonSnapshot, createCodeSnapshot, createMarkdownSnapshot, createDataSnapshot, buildMultiTableSql, } from '../snapshot-helpers';
4
+ /**
5
+ * Tests for artifact-level state snapshot logic.
6
+ *
7
+ * These tests exercise the pure snapshot-creation functions that the Angular
8
+ * viewer components delegate to, without requiring Angular TestBed.
9
+ */
10
+ describe('Artifact Snapshot Helpers', () => {
11
+ describe('createJsonSnapshot', () => {
12
+ it('should return null when content is null', () => {
13
+ const result = createJsonSnapshot(null, 'Test');
14
+ expect(result).toBeNull();
15
+ });
16
+ it('should parse valid JSON and count top-level keys', () => {
17
+ const json = '{"name":"Alice","age":30,"active":true}';
18
+ const result = createJsonSnapshot(json, 'My JSON');
19
+ expect(result).not.toBeNull();
20
+ expect(result.title).toBe('My JSON');
21
+ expect(result.interpretation).toBe('JSON artifact with 3 top-level keys.');
22
+ expect(result.custom).toEqual({ name: 'Alice', age: 30, active: true });
23
+ });
24
+ it('should return null for invalid JSON', () => {
25
+ const result = createJsonSnapshot('not json {{{', 'Bad');
26
+ expect(result).toBeNull();
27
+ });
28
+ it('should handle JSON arrays', () => {
29
+ const json = '[1,2,3]';
30
+ const result = createJsonSnapshot(json, 'Array');
31
+ expect(result).not.toBeNull();
32
+ // Arrays don't have "top-level keys" — no interpretation set
33
+ expect(result.interpretation).toBeUndefined();
34
+ expect(result.custom).toEqual([1, 2, 3]);
35
+ });
36
+ });
37
+ describe('createCodeSnapshot', () => {
38
+ it('should return null when content is null', () => {
39
+ const result = createCodeSnapshot(null, 'Test');
40
+ expect(result).toBeNull();
41
+ });
42
+ it('should count lines and include content in custom', () => {
43
+ const code = 'line1\nline2\nline3';
44
+ const result = createCodeSnapshot(code, 'My Code');
45
+ expect(result).not.toBeNull();
46
+ expect(result.title).toBe('My Code');
47
+ expect(result.interpretation).toBe('Code artifact, 3 lines.');
48
+ expect(result.custom).toEqual({ content: code, lineCount: 3 });
49
+ });
50
+ it('should handle single line content', () => {
51
+ const result = createCodeSnapshot('console.log("hi")', 'One Liner');
52
+ expect(result.interpretation).toBe('Code artifact, 1 lines.');
53
+ expect(result.custom.lineCount).toBe(1);
54
+ });
55
+ });
56
+ describe('createMarkdownSnapshot', () => {
57
+ it('should return null when content is null', () => {
58
+ const result = createMarkdownSnapshot(null, 'Test');
59
+ expect(result).toBeNull();
60
+ });
61
+ it('should include content in custom', () => {
62
+ const md = '# Hello\n\nWorld';
63
+ const result = createMarkdownSnapshot(md, 'My Doc');
64
+ expect(result).not.toBeNull();
65
+ expect(result.title).toBe('My Doc');
66
+ expect(result.custom).toEqual({ content: md });
67
+ });
68
+ });
69
+ describe('createDataSnapshot', () => {
70
+ it('should return null when spec is null', () => {
71
+ const result = createDataSnapshot(null);
72
+ expect(result).toBeNull();
73
+ });
74
+ it('should normalize a spec with columns and rows into tables', () => {
75
+ const spec = {
76
+ title: 'Sales Report',
77
+ columns: [
78
+ { field: 'Name', headerName: 'Customer Name' },
79
+ { field: 'Amount', headerName: 'Total', sqlBaseType: 'money' },
80
+ ],
81
+ rows: [
82
+ { Name: 'Alice', Amount: 100 },
83
+ { Name: 'Bob', Amount: 200 },
84
+ ],
85
+ };
86
+ const result = createDataSnapshot(spec);
87
+ expect(result).not.toBeNull();
88
+ expect(result.title).toBe('Sales Report');
89
+ expect(result.tables).toBeDefined();
90
+ expect(result.tables.length).toBeGreaterThanOrEqual(1);
91
+ expect(result.tables[0].rows).toHaveLength(2);
92
+ });
93
+ it('should use "Results" as default table name when title is missing', () => {
94
+ const spec = {
95
+ columns: [{ field: 'ID' }],
96
+ rows: [{ ID: 1 }],
97
+ };
98
+ const result = createDataSnapshot(spec);
99
+ expect(result).not.toBeNull();
100
+ expect(result.tables).toBeDefined();
101
+ expect(result.tables[0].name).toBe('Results');
102
+ });
103
+ });
104
+ });
105
+ describe('buildMultiTableSql', () => {
106
+ it('concatenates SQL from multiple tables with headers', () => {
107
+ const tables = [
108
+ { name: 'customers', metadata: { sql: 'SELECT * FROM Customers' } },
109
+ { name: 'orders', metadata: { sql: 'SELECT * FROM Orders' } },
110
+ ];
111
+ const result = buildMultiTableSql(tables);
112
+ expect(result).toContain('-- ═══ customers ═══');
113
+ expect(result).toContain('SELECT * FROM Customers');
114
+ expect(result).toContain('-- ═══ orders ═══');
115
+ expect(result).toContain('SELECT * FROM Orders');
116
+ });
117
+ it('skips tables without SQL', () => {
118
+ const tables = [
119
+ { name: 'has_sql', metadata: { sql: 'SELECT 1' } },
120
+ { name: 'no_sql', metadata: {} },
121
+ { name: 'no_meta' },
122
+ ];
123
+ const result = buildMultiTableSql(tables);
124
+ expect(result).toContain('-- ═══ has_sql ═══');
125
+ expect(result).not.toContain('no_sql');
126
+ expect(result).not.toContain('no_meta');
127
+ });
128
+ it('returns null when no tables have SQL', () => {
129
+ const tables = [{ name: 'a' }, { name: 'b', metadata: {} }];
130
+ const result = buildMultiTableSql(tables);
131
+ expect(result).toBeNull();
132
+ });
133
+ });
134
+ describe('NormalizeToTables (core utility)', () => {
135
+ it('should return empty array for empty snapshot', () => {
136
+ const snap = new DataSnapshot();
137
+ expect(NormalizeToTables(snap)).toEqual([]);
138
+ });
139
+ it('should handle a spec with columns and rows (legacy format)', () => {
140
+ const data = {
141
+ columns: [{ field: 'A' }, { field: 'B' }],
142
+ rows: [{ A: 1, B: 2 }],
143
+ };
144
+ const tables = NormalizeToTables(data, 'Sheet1');
145
+ expect(tables).toHaveLength(1);
146
+ expect(tables[0].rows).toHaveLength(1);
147
+ });
148
+ it('should return empty for a context-only snapshot', () => {
149
+ const snap = new DataSnapshot();
150
+ snap.title = 'Just a title';
151
+ const tables = NormalizeToTables(snap);
152
+ expect(tables).toEqual([]);
153
+ });
154
+ });
155
+ //# sourceMappingURL=artifact-snapshots.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-snapshots.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/artifact-snapshots.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect } from 'vitest';\nimport { DataSnapshot, DataTable, NormalizeToTables } from '@memberjunction/core';\nimport {\n createJsonSnapshot,\n createCodeSnapshot,\n createMarkdownSnapshot,\n createDataSnapshot,\n buildMultiTableSql,\n} from '../snapshot-helpers';\n\n/**\n * Tests for artifact-level state snapshot logic.\n *\n * These tests exercise the pure snapshot-creation functions that the Angular\n * viewer components delegate to, without requiring Angular TestBed.\n */\n\ndescribe('Artifact Snapshot Helpers', () => {\n\n describe('createJsonSnapshot', () => {\n it('should return null when content is null', () => {\n const result = createJsonSnapshot(null, 'Test');\n expect(result).toBeNull();\n });\n\n it('should parse valid JSON and count top-level keys', () => {\n const json = '{\"name\":\"Alice\",\"age\":30,\"active\":true}';\n const result = createJsonSnapshot(json, 'My JSON');\n expect(result).not.toBeNull();\n expect(result!.title).toBe('My JSON');\n expect(result!.interpretation).toBe('JSON artifact with 3 top-level keys.');\n expect(result!.custom).toEqual({ name: 'Alice', age: 30, active: true });\n });\n\n it('should return null for invalid JSON', () => {\n const result = createJsonSnapshot('not json {{{', 'Bad');\n expect(result).toBeNull();\n });\n\n it('should handle JSON arrays', () => {\n const json = '[1,2,3]';\n const result = createJsonSnapshot(json, 'Array');\n expect(result).not.toBeNull();\n // Arrays don't have \"top-level keys\" — no interpretation set\n expect(result!.interpretation).toBeUndefined();\n expect(result!.custom).toEqual([1, 2, 3]);\n });\n });\n\n describe('createCodeSnapshot', () => {\n it('should return null when content is null', () => {\n const result = createCodeSnapshot(null, 'Test');\n expect(result).toBeNull();\n });\n\n it('should count lines and include content in custom', () => {\n const code = 'line1\\nline2\\nline3';\n const result = createCodeSnapshot(code, 'My Code');\n expect(result).not.toBeNull();\n expect(result!.title).toBe('My Code');\n expect(result!.interpretation).toBe('Code artifact, 3 lines.');\n expect(result!.custom).toEqual({ content: code, lineCount: 3 });\n });\n\n it('should handle single line content', () => {\n const result = createCodeSnapshot('console.log(\"hi\")', 'One Liner');\n expect(result!.interpretation).toBe('Code artifact, 1 lines.');\n expect((result!.custom as { lineCount: number }).lineCount).toBe(1);\n });\n });\n\n describe('createMarkdownSnapshot', () => {\n it('should return null when content is null', () => {\n const result = createMarkdownSnapshot(null, 'Test');\n expect(result).toBeNull();\n });\n\n it('should include content in custom', () => {\n const md = '# Hello\\n\\nWorld';\n const result = createMarkdownSnapshot(md, 'My Doc');\n expect(result).not.toBeNull();\n expect(result!.title).toBe('My Doc');\n expect(result!.custom).toEqual({ content: md });\n });\n });\n\n describe('createDataSnapshot', () => {\n it('should return null when spec is null', () => {\n const result = createDataSnapshot(null);\n expect(result).toBeNull();\n });\n\n it('should normalize a spec with columns and rows into tables', () => {\n const spec = {\n title: 'Sales Report',\n columns: [\n { field: 'Name', headerName: 'Customer Name' },\n { field: 'Amount', headerName: 'Total', sqlBaseType: 'money' },\n ],\n rows: [\n { Name: 'Alice', Amount: 100 },\n { Name: 'Bob', Amount: 200 },\n ],\n };\n const result = createDataSnapshot(spec);\n expect(result).not.toBeNull();\n expect(result!.title).toBe('Sales Report');\n expect(result!.tables).toBeDefined();\n expect(result!.tables!.length).toBeGreaterThanOrEqual(1);\n expect(result!.tables![0].rows).toHaveLength(2);\n });\n\n it('should use \"Results\" as default table name when title is missing', () => {\n const spec = {\n columns: [{ field: 'ID' }],\n rows: [{ ID: 1 }],\n };\n const result = createDataSnapshot(spec);\n expect(result).not.toBeNull();\n expect(result!.tables).toBeDefined();\n expect(result!.tables![0].name).toBe('Results');\n });\n });\n});\n\ndescribe('buildMultiTableSql', () => {\n it('concatenates SQL from multiple tables with headers', () => {\n const tables = [\n { name: 'customers', metadata: { sql: 'SELECT * FROM Customers' } },\n { name: 'orders', metadata: { sql: 'SELECT * FROM Orders' } },\n ];\n const result = buildMultiTableSql(tables as DataTable[]);\n\n expect(result).toContain('-- ═══ customers ═══');\n expect(result).toContain('SELECT * FROM Customers');\n expect(result).toContain('-- ═══ orders ═══');\n expect(result).toContain('SELECT * FROM Orders');\n });\n\n it('skips tables without SQL', () => {\n const tables = [\n { name: 'has_sql', metadata: { sql: 'SELECT 1' } },\n { name: 'no_sql', metadata: {} },\n { name: 'no_meta' },\n ];\n const result = buildMultiTableSql(tables as DataTable[]);\n\n expect(result).toContain('-- ═══ has_sql ═══');\n expect(result).not.toContain('no_sql');\n expect(result).not.toContain('no_meta');\n });\n\n it('returns null when no tables have SQL', () => {\n const tables = [{ name: 'a' }, { name: 'b', metadata: {} }];\n const result = buildMultiTableSql(tables as DataTable[]);\n expect(result).toBeNull();\n });\n});\n\ndescribe('NormalizeToTables (core utility)', () => {\n it('should return empty array for empty snapshot', () => {\n const snap = new DataSnapshot();\n expect(NormalizeToTables(snap)).toEqual([]);\n });\n\n it('should handle a spec with columns and rows (legacy format)', () => {\n const data = {\n columns: [{ field: 'A' }, { field: 'B' }],\n rows: [{ A: 1, B: 2 }],\n };\n const tables = NormalizeToTables(data, 'Sheet1');\n expect(tables).toHaveLength(1);\n expect(tables[0].rows).toHaveLength(1);\n });\n\n it('should return empty for a context-only snapshot', () => {\n const snap = new DataSnapshot();\n snap.title = 'Just a title';\n const tables = NormalizeToTables(snap);\n expect(tables).toEqual([]);\n });\n});\n"]}
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter, OnInit, OnChanges, OnDestroy, SimpleChanges, Type, ChangeDetectorRef } from '@angular/core';
2
2
  import { DomSanitizer } from '@angular/platform-browser';
3
- import { UserInfo, CompositeKey } from '@memberjunction/core';
3
+ import { UserInfo, CompositeKey, DataSnapshot } from '@memberjunction/core';
4
4
  import { MJArtifactEntity, MJArtifactVersionEntity, MJArtifactVersionAttributeEntity, MJCollectionEntity, MJCollectionArtifactEntity, MJConversationEntity } from '@memberjunction/core-entities';
5
5
  import { MJNotificationService } from '@memberjunction/ng-notifications';
6
6
  import { Subject } from 'rxjs';
@@ -50,6 +50,10 @@ export declare class ArtifactViewerPanelComponent implements OnInit, OnChanges,
50
50
  compositeKey: CompositeKey;
51
51
  }>;
52
52
  navigationRequest: EventEmitter<NavigationRequest>;
53
+ analyzeRequested: EventEmitter<{
54
+ artifactId: string;
55
+ snapshot: DataSnapshot;
56
+ }>;
53
57
  pluginViewer?: ArtifactTypePluginViewerComponent;
54
58
  private destroy$;
55
59
  artifact: MJArtifactEntity | null;
@@ -252,7 +256,17 @@ export declare class ArtifactViewerPanelComponent implements OnInit, OnChanges,
252
256
  artifactIcon: string;
253
257
  /** Update the cached icon from the loaded artifact */
254
258
  private updateArtifactIcon;
259
+ /**
260
+ * Capture the current snapshot and emit an analyze event.
261
+ * The parent component handles routing this to an agent conversation.
262
+ */
263
+ OnAnalyze(): void;
264
+ /**
265
+ * Passthrough to the active plugin's GetCurrentStateSnapshot().
266
+ * Returns null if no plugin is loaded or the plugin has no snapshot.
267
+ */
268
+ GetCurrentStateSnapshot(): DataSnapshot | null;
255
269
  static ɵfac: i0.ɵɵFactoryDeclaration<ArtifactViewerPanelComponent, never>;
256
- static ɵcmp: i0.ɵɵComponentDeclaration<ArtifactViewerPanelComponent, "mj-artifact-viewer-panel", never, { "artifactId": { "alias": "artifactId"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "environmentId": { "alias": "environmentId"; "required": false; }; "versionNumber": { "alias": "versionNumber"; "required": false; }; "showSaveToCollection": { "alias": "showSaveToCollection"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "showTabs": { "alias": "showTabs"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "showMaximizeButton": { "alias": "showMaximizeButton"; "required": false; }; "refreshTrigger": { "alias": "refreshTrigger"; "required": false; }; "viewContext": { "alias": "viewContext"; "required": false; }; "contextCollectionId": { "alias": "contextCollectionId"; "required": false; }; "canShare": { "alias": "canShare"; "required": false; }; "canEdit": { "alias": "canEdit"; "required": false; }; "isMaximized": { "alias": "isMaximized"; "required": false; }; }, { "closed": "closed"; "saveToCollectionRequested": "saveToCollectionRequested"; "navigateToLink": "navigateToLink"; "shareRequested": "shareRequested"; "maximizeToggled": "maximizeToggled"; "openEntityRecord": "openEntityRecord"; "navigationRequest": "navigationRequest"; }, never, never, false, never>;
270
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArtifactViewerPanelComponent, "mj-artifact-viewer-panel", never, { "artifactId": { "alias": "artifactId"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "environmentId": { "alias": "environmentId"; "required": false; }; "versionNumber": { "alias": "versionNumber"; "required": false; }; "showSaveToCollection": { "alias": "showSaveToCollection"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "showTabs": { "alias": "showTabs"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "showMaximizeButton": { "alias": "showMaximizeButton"; "required": false; }; "refreshTrigger": { "alias": "refreshTrigger"; "required": false; }; "viewContext": { "alias": "viewContext"; "required": false; }; "contextCollectionId": { "alias": "contextCollectionId"; "required": false; }; "canShare": { "alias": "canShare"; "required": false; }; "canEdit": { "alias": "canEdit"; "required": false; }; "isMaximized": { "alias": "isMaximized"; "required": false; }; }, { "closed": "closed"; "saveToCollectionRequested": "saveToCollectionRequested"; "navigateToLink": "navigateToLink"; "shareRequested": "shareRequested"; "maximizeToggled": "maximizeToggled"; "openEntityRecord": "openEntityRecord"; "navigationRequest": "navigationRequest"; "analyzeRequested": "analyzeRequested"; }, never, never, false, never>;
257
271
  }
258
272
  //# sourceMappingURL=artifact-viewer-panel.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-viewer-panel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/components/artifact-viewer-panel.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-viewer-panel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/components/artifact-viewer-panel.component.ts"],"names":[],"mappings":"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"}