@memberjunction/ng-conversations 2.104.0 → 2.105.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 (106) hide show
  1. package/dist/lib/components/collection/collection-view.component.d.ts +5 -1
  2. package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
  3. package/dist/lib/components/collection/collection-view.component.js +53 -11
  4. package/dist/lib/components/collection/collection-view.component.js.map +1 -1
  5. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +53 -13
  6. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
  7. package/dist/lib/components/conversation/conversation-chat-area.component.js +455 -289
  8. package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
  9. package/dist/lib/components/conversation/conversation-list.component.d.ts +9 -1
  10. package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -1
  11. package/dist/lib/components/conversation/conversation-list.component.js +258 -71
  12. package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
  13. package/dist/lib/components/mention/mention-dropdown.component.d.ts +6 -0
  14. package/dist/lib/components/mention/mention-dropdown.component.d.ts.map +1 -1
  15. package/dist/lib/components/mention/mention-dropdown.component.js +35 -13
  16. package/dist/lib/components/mention/mention-dropdown.component.js.map +1 -1
  17. package/dist/lib/components/message/message-input.component.d.ts +49 -12
  18. package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
  19. package/dist/lib/components/message/message-input.component.js +579 -221
  20. package/dist/lib/components/message/message-input.component.js.map +1 -1
  21. package/dist/lib/components/message/message-item.component.d.ts +16 -5
  22. package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
  23. package/dist/lib/components/message/message-item.component.js +136 -64
  24. package/dist/lib/components/message/message-item.component.js.map +1 -1
  25. package/dist/lib/components/message/message-list.component.d.ts +11 -5
  26. package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
  27. package/dist/lib/components/message/message-list.component.js +48 -9
  28. package/dist/lib/components/message/message-list.component.js.map +1 -1
  29. package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -1
  30. package/dist/lib/components/navigation/conversation-navigation.component.js +24 -9
  31. package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -1
  32. package/dist/lib/components/task/tasks-full-view.component.d.ts +47 -0
  33. package/dist/lib/components/task/tasks-full-view.component.d.ts.map +1 -0
  34. package/dist/lib/components/task/tasks-full-view.component.js +368 -0
  35. package/dist/lib/components/task/tasks-full-view.component.js.map +1 -0
  36. package/dist/lib/components/tasks/task-widget.component.d.ts +29 -0
  37. package/dist/lib/components/tasks/task-widget.component.d.ts.map +1 -0
  38. package/dist/lib/components/tasks/task-widget.component.js +385 -0
  39. package/dist/lib/components/tasks/task-widget.component.js.map +1 -0
  40. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +22 -8
  41. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
  42. package/dist/lib/components/tasks/tasks-dropdown.component.js +195 -99
  43. package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
  44. package/dist/lib/components/thread/thread-panel.component.d.ts +3 -1
  45. package/dist/lib/components/thread/thread-panel.component.d.ts.map +1 -1
  46. package/dist/lib/components/thread/thread-panel.component.js +14 -14
  47. package/dist/lib/components/thread/thread-panel.component.js.map +1 -1
  48. package/dist/lib/components/workspace/conversation-workspace.component.d.ts +43 -4
  49. package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
  50. package/dist/lib/components/workspace/conversation-workspace.component.js +288 -46
  51. package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
  52. package/dist/lib/conversations.module.d.ts +40 -46
  53. package/dist/lib/conversations.module.d.ts.map +1 -1
  54. package/dist/lib/conversations.module.js +28 -42
  55. package/dist/lib/conversations.module.js.map +1 -1
  56. package/dist/lib/models/conversation-state.model.d.ts +29 -1
  57. package/dist/lib/models/conversation-state.model.d.ts.map +1 -1
  58. package/dist/lib/services/conversation-agent.service.d.ts +6 -5
  59. package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
  60. package/dist/lib/services/conversation-agent.service.js +18 -19
  61. package/dist/lib/services/conversation-agent.service.js.map +1 -1
  62. package/dist/lib/services/data-cache.service.d.ts +96 -0
  63. package/dist/lib/services/data-cache.service.d.ts.map +1 -0
  64. package/dist/lib/services/data-cache.service.js +203 -0
  65. package/dist/lib/services/data-cache.service.js.map +1 -0
  66. package/dist/public-api.d.ts +3 -6
  67. package/dist/public-api.d.ts.map +1 -1
  68. package/dist/public-api.js +3 -6
  69. package/dist/public-api.js.map +1 -1
  70. package/package.json +12 -10
  71. package/dist/lib/components/artifact/artifact-panel.component.d.ts +0 -22
  72. package/dist/lib/components/artifact/artifact-panel.component.d.ts.map +0 -1
  73. package/dist/lib/components/artifact/artifact-panel.component.js +0 -237
  74. package/dist/lib/components/artifact/artifact-panel.component.js.map +0 -1
  75. package/dist/lib/components/artifact/artifact-upload-modal.component.d.ts +0 -39
  76. package/dist/lib/components/artifact/artifact-upload-modal.component.d.ts.map +0 -1
  77. package/dist/lib/components/artifact/artifact-upload-modal.component.js +0 -384
  78. package/dist/lib/components/artifact/artifact-upload-modal.component.js.map +0 -1
  79. package/dist/lib/components/artifact/artifact-version-history.component.d.ts +0 -28
  80. package/dist/lib/components/artifact/artifact-version-history.component.d.ts.map +0 -1
  81. package/dist/lib/components/artifact/artifact-version-history.component.js +0 -280
  82. package/dist/lib/components/artifact/artifact-version-history.component.js.map +0 -1
  83. package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts +0 -22
  84. package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts.map +0 -1
  85. package/dist/lib/components/artifact/artifact-viewer-panel.component.js +0 -182
  86. package/dist/lib/components/artifact/artifact-viewer-panel.component.js.map +0 -1
  87. package/dist/lib/components/artifact/artifact-viewer.component.d.ts +0 -27
  88. package/dist/lib/components/artifact/artifact-viewer.component.d.ts.map +0 -1
  89. package/dist/lib/components/artifact/artifact-viewer.component.js +0 -266
  90. package/dist/lib/components/artifact/artifact-viewer.component.js.map +0 -1
  91. package/dist/lib/components/artifact/inline-artifact.component.d.ts +0 -46
  92. package/dist/lib/components/artifact/inline-artifact.component.d.ts.map +0 -1
  93. package/dist/lib/components/artifact/inline-artifact.component.js +0 -447
  94. package/dist/lib/components/artifact/inline-artifact.component.js.map +0 -1
  95. package/dist/lib/components/task/task-form-modal.component.d.ts +0 -42
  96. package/dist/lib/components/task/task-form-modal.component.d.ts.map +0 -1
  97. package/dist/lib/components/task/task-form-modal.component.js +0 -329
  98. package/dist/lib/components/task/task-form-modal.component.js.map +0 -1
  99. package/dist/lib/components/task/task-item.component.d.ts +0 -22
  100. package/dist/lib/components/task/task-item.component.d.ts.map +0 -1
  101. package/dist/lib/components/task/task-item.component.js +0 -234
  102. package/dist/lib/components/task/task-item.component.js.map +0 -1
  103. package/dist/lib/components/task/task-list.component.d.ts +0 -32
  104. package/dist/lib/components/task/task-list.component.d.ts.map +0 -1
  105. package/dist/lib/components/task/task-list.component.js +0 -290
  106. package/dist/lib/components/task/task-list.component.js.map +0 -1
@@ -1,237 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/artifact-state.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@memberjunction/ng-code-editor";
6
- import * as i4 from "./artifact-viewer.component";
7
- import * as i5 from "./artifact-version-history.component";
8
- function ArtifactPanelComponent_div_27_mj_artifact_viewer_1_Template(rf, ctx) { if (rf & 1) {
9
- i0.ɵɵelement(0, "mj-artifact-viewer", 22);
10
- } if (rf & 2) {
11
- const ctx_r0 = i0.ɵɵnextContext(2);
12
- i0.ɵɵproperty("artifact", ctx_r0.activeArtifact)("currentUser", ctx_r0.currentUser);
13
- } }
14
- function ArtifactPanelComponent_div_27_div_2_Template(rf, ctx) { if (rf & 1) {
15
- i0.ɵɵelementStart(0, "div", 23);
16
- i0.ɵɵelement(1, "i", 3);
17
- i0.ɵɵelementStart(2, "p");
18
- i0.ɵɵtext(3, "No artifact selected");
19
- i0.ɵɵelementEnd()();
20
- } }
21
- function ArtifactPanelComponent_div_27_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelementStart(0, "div", 19);
23
- i0.ɵɵtemplate(1, ArtifactPanelComponent_div_27_mj_artifact_viewer_1_Template, 1, 2, "mj-artifact-viewer", 20)(2, ArtifactPanelComponent_div_27_div_2_Template, 4, 0, "div", 21);
24
- i0.ɵɵelementEnd();
25
- } if (rf & 2) {
26
- const ctx_r0 = i0.ɵɵnextContext();
27
- i0.ɵɵadvance();
28
- i0.ɵɵproperty("ngIf", ctx_r0.activeArtifact);
29
- i0.ɵɵadvance();
30
- i0.ɵɵproperty("ngIf", !ctx_r0.activeArtifact);
31
- } }
32
- function ArtifactPanelComponent_div_28_div_1_Template(rf, ctx) { if (rf & 1) {
33
- i0.ɵɵelementStart(0, "div", 25);
34
- i0.ɵɵelement(1, "mj-code-editor", 26);
35
- i0.ɵɵelementEnd();
36
- } if (rf & 2) {
37
- const ctx_r0 = i0.ɵɵnextContext(2);
38
- i0.ɵɵadvance();
39
- i0.ɵɵproperty("value", ctx_r0.activeArtifact.Content || "")("readonly", true)("lineWrapping", true)("setup", "basic");
40
- } }
41
- function ArtifactPanelComponent_div_28_Template(rf, ctx) { if (rf & 1) {
42
- i0.ɵɵelementStart(0, "div", 19);
43
- i0.ɵɵtemplate(1, ArtifactPanelComponent_div_28_div_1_Template, 2, 4, "div", 24);
44
- i0.ɵɵelementEnd();
45
- } if (rf & 2) {
46
- const ctx_r0 = i0.ɵɵnextContext();
47
- i0.ɵɵadvance();
48
- i0.ɵɵproperty("ngIf", ctx_r0.activeArtifact);
49
- } }
50
- function ArtifactPanelComponent_div_29_mj_artifact_version_history_1_Template(rf, ctx) { if (rf & 1) {
51
- i0.ɵɵelement(0, "mj-artifact-version-history", 22);
52
- } if (rf & 2) {
53
- const ctx_r0 = i0.ɵɵnextContext(2);
54
- i0.ɵɵproperty("artifact", ctx_r0.activeArtifact)("currentUser", ctx_r0.currentUser);
55
- } }
56
- function ArtifactPanelComponent_div_29_Template(rf, ctx) { if (rf & 1) {
57
- i0.ɵɵelementStart(0, "div", 19);
58
- i0.ɵɵtemplate(1, ArtifactPanelComponent_div_29_mj_artifact_version_history_1_Template, 1, 2, "mj-artifact-version-history", 20);
59
- i0.ɵɵelementEnd();
60
- } if (rf & 2) {
61
- const ctx_r0 = i0.ɵɵnextContext();
62
- i0.ɵɵadvance();
63
- i0.ɵɵproperty("ngIf", ctx_r0.activeArtifact);
64
- } }
65
- export class ArtifactPanelComponent {
66
- artifactState;
67
- currentUser;
68
- close = new EventEmitter();
69
- activeTab = 'preview';
70
- activeArtifact = null;
71
- constructor(artifactState) {
72
- this.artifactState = artifactState;
73
- // Subscribe to active artifact
74
- this.artifactState.activeArtifact$.subscribe(artifact => {
75
- this.activeArtifact = artifact;
76
- });
77
- }
78
- switchTab(tab) {
79
- this.activeTab = tab;
80
- }
81
- shareArtifact() {
82
- console.log('Share artifact');
83
- }
84
- copyContent() {
85
- console.log('Copy content');
86
- }
87
- downloadArtifact() {
88
- console.log('Download artifact');
89
- }
90
- maximizeArtifact() {
91
- console.log('Maximize artifact');
92
- }
93
- static ɵfac = function ArtifactPanelComponent_Factory(t) { return new (t || ArtifactPanelComponent)(i0.ɵɵdirectiveInject(i1.ArtifactStateService)); };
94
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ArtifactPanelComponent, selectors: [["mj-artifact-panel"]], inputs: { currentUser: "currentUser" }, outputs: { close: "close" }, decls: 30, vars: 10, consts: [[1, "artifact-panel"], [1, "artifact-panel-header"], [1, "artifact-panel-title"], [1, "fas", "fa-file-alt"], [1, "artifact-panel-actions"], ["title", "Share", 1, "artifact-share-button", 3, "click"], [1, "fas", "fa-share"], ["title", "Copy", 1, "artifact-panel-action", 3, "click"], [1, "fas", "fa-copy"], ["title", "Download", 1, "artifact-panel-action", 3, "click"], [1, "fas", "fa-download"], ["title", "Maximize", 1, "artifact-panel-action", 3, "click"], [1, "fas", "fa-expand"], ["title", "Close", 1, "artifact-panel-close", 3, "click"], [1, "fas", "fa-times"], [1, "artifact-panel-tabs"], [1, "artifact-panel-tab", 3, "click"], [1, "artifact-panel-content"], ["class", "tab-content", 4, "ngIf"], [1, "tab-content"], [3, "artifact", "currentUser", 4, "ngIf"], ["class", "empty-state", 4, "ngIf"], [3, "artifact", "currentUser"], [1, "empty-state"], ["class", "source-view", 4, "ngIf"], [1, "source-view"], [3, "value", "readonly", "lineWrapping", "setup"]], template: function ArtifactPanelComponent_Template(rf, ctx) { if (rf & 1) {
95
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
96
- i0.ɵɵelement(3, "i", 3);
97
- i0.ɵɵelementStart(4, "span");
98
- i0.ɵɵtext(5);
99
- i0.ɵɵelementEnd()();
100
- i0.ɵɵelementStart(6, "div", 4)(7, "button", 5);
101
- i0.ɵɵlistener("click", function ArtifactPanelComponent_Template_button_click_7_listener() { return ctx.shareArtifact(); });
102
- i0.ɵɵelement(8, "i", 6);
103
- i0.ɵɵelementStart(9, "span");
104
- i0.ɵɵtext(10, "Share");
105
- i0.ɵɵelementEnd()();
106
- i0.ɵɵelementStart(11, "button", 7);
107
- i0.ɵɵlistener("click", function ArtifactPanelComponent_Template_button_click_11_listener() { return ctx.copyContent(); });
108
- i0.ɵɵelement(12, "i", 8);
109
- i0.ɵɵelementEnd();
110
- i0.ɵɵelementStart(13, "button", 9);
111
- i0.ɵɵlistener("click", function ArtifactPanelComponent_Template_button_click_13_listener() { return ctx.downloadArtifact(); });
112
- i0.ɵɵelement(14, "i", 10);
113
- i0.ɵɵelementEnd();
114
- i0.ɵɵelementStart(15, "button", 11);
115
- i0.ɵɵlistener("click", function ArtifactPanelComponent_Template_button_click_15_listener() { return ctx.maximizeArtifact(); });
116
- i0.ɵɵelement(16, "i", 12);
117
- i0.ɵɵelementEnd();
118
- i0.ɵɵelementStart(17, "button", 13);
119
- i0.ɵɵlistener("click", function ArtifactPanelComponent_Template_button_click_17_listener() { return ctx.close.emit(); });
120
- i0.ɵɵelement(18, "i", 14);
121
- i0.ɵɵelementEnd()()();
122
- i0.ɵɵelementStart(19, "div", 15)(20, "button", 16);
123
- i0.ɵɵlistener("click", function ArtifactPanelComponent_Template_button_click_20_listener() { return ctx.switchTab("preview"); });
124
- i0.ɵɵtext(21, " Preview ");
125
- i0.ɵɵelementEnd();
126
- i0.ɵɵelementStart(22, "button", 16);
127
- i0.ɵɵlistener("click", function ArtifactPanelComponent_Template_button_click_22_listener() { return ctx.switchTab("source"); });
128
- i0.ɵɵtext(23, " Source ");
129
- i0.ɵɵelementEnd();
130
- i0.ɵɵelementStart(24, "button", 16);
131
- i0.ɵɵlistener("click", function ArtifactPanelComponent_Template_button_click_24_listener() { return ctx.switchTab("history"); });
132
- i0.ɵɵtext(25, " History ");
133
- i0.ɵɵelementEnd()();
134
- i0.ɵɵelementStart(26, "div", 17);
135
- i0.ɵɵtemplate(27, ArtifactPanelComponent_div_27_Template, 3, 2, "div", 18)(28, ArtifactPanelComponent_div_28_Template, 2, 1, "div", 18)(29, ArtifactPanelComponent_div_29_Template, 2, 1, "div", 18);
136
- i0.ɵɵelementEnd()();
137
- } if (rf & 2) {
138
- i0.ɵɵadvance(5);
139
- i0.ɵɵtextInterpolate((ctx.activeArtifact == null ? null : ctx.activeArtifact.Name) || "Artifact");
140
- i0.ɵɵadvance(15);
141
- i0.ɵɵclassProp("active", ctx.activeTab === "preview");
142
- i0.ɵɵadvance(2);
143
- i0.ɵɵclassProp("active", ctx.activeTab === "source");
144
- i0.ɵɵadvance(2);
145
- i0.ɵɵclassProp("active", ctx.activeTab === "history");
146
- i0.ɵɵadvance(3);
147
- i0.ɵɵproperty("ngIf", ctx.activeTab === "preview");
148
- i0.ɵɵadvance();
149
- i0.ɵɵproperty("ngIf", ctx.activeTab === "source");
150
- i0.ɵɵadvance();
151
- i0.ɵɵproperty("ngIf", ctx.activeTab === "history");
152
- } }, dependencies: [i2.NgIf, i3.CodeEditorComponent, i4.ArtifactViewerComponent, i5.ArtifactVersionHistoryComponent], styles: [".artifact-panel[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n border-left: 1px solid #E5E7EB;\n }\n .artifact-panel-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #E5E7EB;\n }\n .artifact-panel-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n font-size: 15px;\n color: #111827;\n }\n .artifact-panel-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #6B7280;\n }\n .artifact-panel-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .artifact-share-button[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #1e40af;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 13px;\n cursor: pointer;\n transition: background 150ms ease;\n }\n .artifact-share-button[_ngcontent-%COMP%]:hover {\n background: #1e3a8a;\n }\n .artifact-panel-action[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n color: #6B7280;\n cursor: pointer;\n transition: all 150ms ease;\n }\n .artifact-panel-action[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n color: #111827;\n }\n .artifact-panel-close[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n color: #6B7280;\n cursor: pointer;\n transition: all 150ms ease;\n border-radius: 6px;\n }\n .artifact-panel-close[_ngcontent-%COMP%]:hover {\n background: #FEE2E2;\n color: #DC2626;\n }\n .artifact-panel-tabs[_ngcontent-%COMP%] {\n display: flex;\n border-bottom: 1px solid #E5E7EB;\n padding: 0 20px;\n }\n .artifact-panel-tab[_ngcontent-%COMP%] {\n padding: 12px 16px;\n background: transparent;\n border: none;\n color: #6B7280;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n border-bottom: 2px solid transparent;\n transition: all 150ms ease;\n }\n .artifact-panel-tab[_ngcontent-%COMP%]:hover {\n color: #111827;\n }\n .artifact-panel-tab.active[_ngcontent-%COMP%] {\n color: #1e40af;\n border-bottom-color: #1e40af;\n }\n .artifact-panel-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n }\n .tab-content[_ngcontent-%COMP%] {\n height: 100%;\n }\n .source-view[_ngcontent-%COMP%] {\n height: 100%;\n }\n .empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #9CA3AF;\n }\n .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n }\n .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n }"] });
153
- }
154
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArtifactPanelComponent, [{
155
- type: Component,
156
- args: [{ selector: 'mj-artifact-panel', template: `
157
- <div class="artifact-panel">
158
- <div class="artifact-panel-header">
159
- <div class="artifact-panel-title">
160
- <i class="fas fa-file-alt"></i>
161
- <span>{{ activeArtifact?.Name || 'Artifact' }}</span>
162
- </div>
163
- <div class="artifact-panel-actions">
164
- <button class="artifact-share-button" (click)="shareArtifact()" title="Share">
165
- <i class="fas fa-share"></i>
166
- <span>Share</span>
167
- </button>
168
- <button class="artifact-panel-action" (click)="copyContent()" title="Copy">
169
- <i class="fas fa-copy"></i>
170
- </button>
171
- <button class="artifact-panel-action" (click)="downloadArtifact()" title="Download">
172
- <i class="fas fa-download"></i>
173
- </button>
174
- <button class="artifact-panel-action" (click)="maximizeArtifact()" title="Maximize">
175
- <i class="fas fa-expand"></i>
176
- </button>
177
- <button class="artifact-panel-close" (click)="close.emit()" title="Close">
178
- <i class="fas fa-times"></i>
179
- </button>
180
- </div>
181
- </div>
182
- <div class="artifact-panel-tabs">
183
- <button class="artifact-panel-tab"
184
- [class.active]="activeTab === 'preview'"
185
- (click)="switchTab('preview')">
186
- Preview
187
- </button>
188
- <button class="artifact-panel-tab"
189
- [class.active]="activeTab === 'source'"
190
- (click)="switchTab('source')">
191
- Source
192
- </button>
193
- <button class="artifact-panel-tab"
194
- [class.active]="activeTab === 'history'"
195
- (click)="switchTab('history')">
196
- History
197
- </button>
198
- </div>
199
- <div class="artifact-panel-content">
200
- <div *ngIf="activeTab === 'preview'" class="tab-content">
201
- <mj-artifact-viewer
202
- *ngIf="activeArtifact"
203
- [artifact]="activeArtifact"
204
- [currentUser]="currentUser">
205
- </mj-artifact-viewer>
206
- <div *ngIf="!activeArtifact" class="empty-state">
207
- <i class="fas fa-file-alt"></i>
208
- <p>No artifact selected</p>
209
- </div>
210
- </div>
211
- <div *ngIf="activeTab === 'source'" class="tab-content">
212
- <div class="source-view" *ngIf="activeArtifact">
213
- <mj-code-editor
214
- [value]="activeArtifact.Content || ''"
215
- [readonly]="true"
216
- [lineWrapping]="true"
217
- [setup]="'basic'">
218
- </mj-code-editor>
219
- </div>
220
- </div>
221
- <div *ngIf="activeTab === 'history'" class="tab-content">
222
- <mj-artifact-version-history
223
- *ngIf="activeArtifact"
224
- [artifact]="activeArtifact"
225
- [currentUser]="currentUser">
226
- </mj-artifact-version-history>
227
- </div>
228
- </div>
229
- </div>
230
- `, styles: ["\n .artifact-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n border-left: 1px solid #E5E7EB;\n }\n .artifact-panel-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 .artifact-panel-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n font-size: 15px;\n color: #111827;\n }\n .artifact-panel-title i {\n color: #6B7280;\n }\n .artifact-panel-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .artifact-share-button {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #1e40af;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 13px;\n cursor: pointer;\n transition: background 150ms ease;\n }\n .artifact-share-button:hover {\n background: #1e3a8a;\n }\n .artifact-panel-action {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n color: #6B7280;\n cursor: pointer;\n transition: all 150ms ease;\n }\n .artifact-panel-action:hover {\n background: #F9FAFB;\n color: #111827;\n }\n .artifact-panel-close {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n color: #6B7280;\n cursor: pointer;\n transition: all 150ms ease;\n border-radius: 6px;\n }\n .artifact-panel-close:hover {\n background: #FEE2E2;\n color: #DC2626;\n }\n .artifact-panel-tabs {\n display: flex;\n border-bottom: 1px solid #E5E7EB;\n padding: 0 20px;\n }\n .artifact-panel-tab {\n padding: 12px 16px;\n background: transparent;\n border: none;\n color: #6B7280;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n border-bottom: 2px solid transparent;\n transition: all 150ms ease;\n }\n .artifact-panel-tab:hover {\n color: #111827;\n }\n .artifact-panel-tab.active {\n color: #1e40af;\n border-bottom-color: #1e40af;\n }\n .artifact-panel-content {\n flex: 1;\n overflow-y: auto;\n }\n .tab-content {\n height: 100%;\n }\n .source-view {\n height: 100%;\n }\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #9CA3AF;\n }\n .empty-state i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n }\n .empty-state p {\n margin: 0;\n font-size: 14px;\n }\n "] }]
231
- }], () => [{ type: i1.ArtifactStateService }], { currentUser: [{
232
- type: Input
233
- }], close: [{
234
- type: Output
235
- }] }); })();
236
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ArtifactPanelComponent, { className: "ArtifactPanelComponent", filePath: "src/lib/components/artifact/artifact-panel.component.ts", lineNumber: 217 }); })();
237
- //# sourceMappingURL=artifact-panel.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifact-panel.component.js","sourceRoot":"","sources":["../../../../src/lib/components/artifact/artifact-panel.component.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { FileSelectComponent } from '@progress/kendo-angular-upload';
3
- import { ArtifactStateService } from '../../services/artifact-state.service';
4
- import { UserInfo } from '@memberjunction/core';
5
- import * as i0 from "@angular/core";
6
- export declare class ArtifactUploadModalComponent {
7
- private artifactState;
8
- isVisible: boolean;
9
- conversationId?: string;
10
- collectionId?: string;
11
- currentUser: UserInfo;
12
- uploaded: EventEmitter<string>;
13
- cancelled: EventEmitter<void>;
14
- fileSelect: FileSelectComponent;
15
- artifactName: string;
16
- artifactDescription: string;
17
- artifactType: string;
18
- selectedFile: File | null;
19
- addToCollection: boolean;
20
- showValidation: boolean;
21
- errorMessage: string;
22
- isUploading: boolean;
23
- artifactTypes: {
24
- value: string;
25
- text: string;
26
- }[];
27
- constructor(artifactState: ArtifactStateService);
28
- getAllowedExtensions(): string[];
29
- onFileSelect(event: any): void;
30
- onFileRemove(): void;
31
- formatFileSize(bytes: number): string;
32
- onSave(): Promise<void>;
33
- onCancel(): void;
34
- private resetForm;
35
- private readFileAsBase64;
36
- static ɵfac: i0.ɵɵFactoryDeclaration<ArtifactUploadModalComponent, never>;
37
- static ɵcmp: i0.ɵɵComponentDeclaration<ArtifactUploadModalComponent, "mj-artifact-upload-modal", never, { "isVisible": { "alias": "isVisible"; "required": false; }; "conversationId": { "alias": "conversationId"; "required": false; }; "collectionId": { "alias": "collectionId"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; }, { "uploaded": "uploaded"; "cancelled": "cancelled"; }, never, never, false, never>;
38
- }
39
- //# sourceMappingURL=artifact-upload-modal.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifact-upload-modal.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/artifact/artifact-upload-modal.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAA4B,MAAM,eAAe,CAAC;AAElF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;AAEhD,qBA6Ja,4BAA4B;IA2B3B,OAAO,CAAC,aAAa;IA1BxB,SAAS,UAAS;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAG,QAAQ,CAAC;IACtB,QAAQ,uBAA8B;IACtC,SAAS,qBAA4B;IAEtB,UAAU,EAAG,mBAAmB,CAAC;IAE1D,YAAY,SAAM;IAClB,mBAAmB,SAAM;IACzB,YAAY,SAAc;IAC1B,YAAY,EAAE,IAAI,GAAG,IAAI,CAAQ;IACjC,eAAe,UAAQ;IACvB,cAAc,UAAS;IACvB,YAAY,SAAM;IAClB,WAAW,UAAS;IAEpB,aAAa;;;QAMX;gBAEkB,aAAa,EAAE,oBAAoB;IAEvD,oBAAoB,IAAI,MAAM,EAAE;IAWhC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAS9B,YAAY,IAAI,IAAI;IAIpB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQ/B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C7B,QAAQ,IAAI,IAAI;IAKhB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,gBAAgB;yCAvHb,4BAA4B;2CAA5B,4BAA4B;CAmIxC"}