@memberjunction/ng-conversations 2.113.2 → 2.115.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 (47) hide show
  1. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +7 -1
  2. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
  3. package/dist/lib/components/conversation/conversation-chat-area.component.js +90 -33
  4. package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
  5. package/dist/lib/components/conversation/conversation-empty-state.component.js +2 -2
  6. package/dist/lib/components/conversation/conversation-list.component.js +1 -1
  7. package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
  8. package/dist/lib/components/mention/mention-dropdown.component.js +31 -23
  9. package/dist/lib/components/mention/mention-dropdown.component.js.map +1 -1
  10. package/dist/lib/components/mention/mention-editor.component.d.ts +117 -0
  11. package/dist/lib/components/mention/mention-editor.component.d.ts.map +1 -0
  12. package/dist/lib/components/mention/mention-editor.component.js +550 -0
  13. package/dist/lib/components/mention/mention-editor.component.js.map +1 -0
  14. package/dist/lib/components/message/message-input-box.component.d.ts +19 -34
  15. package/dist/lib/components/message/message-input-box.component.d.ts.map +1 -1
  16. package/dist/lib/components/message/message-input-box.component.js +66 -176
  17. package/dist/lib/components/message/message-input-box.component.js.map +1 -1
  18. package/dist/lib/components/message/message-input.component.d.ts +7 -1
  19. package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
  20. package/dist/lib/components/message/message-input.component.js +124 -36
  21. package/dist/lib/components/message/message-input.component.js.map +1 -1
  22. package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
  23. package/dist/lib/components/message/message-item.component.js +41 -3
  24. package/dist/lib/components/message/message-item.component.js.map +1 -1
  25. package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -1
  26. package/dist/lib/components/navigation/conversation-navigation.component.js +3 -3
  27. package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -1
  28. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
  29. package/dist/lib/components/tasks/tasks-dropdown.component.js +3 -3
  30. package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
  31. package/dist/lib/components/workspace/conversation-workspace.component.d.ts +15 -1
  32. package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
  33. package/dist/lib/components/workspace/conversation-workspace.component.js +203 -80
  34. package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
  35. package/dist/lib/conversations.module.d.ts +55 -54
  36. package/dist/lib/conversations.module.d.ts.map +1 -1
  37. package/dist/lib/conversations.module.js +4 -0
  38. package/dist/lib/conversations.module.js.map +1 -1
  39. package/dist/lib/services/mention-autocomplete.service.d.ts +8 -0
  40. package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -1
  41. package/dist/lib/services/mention-autocomplete.service.js +34 -3
  42. package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
  43. package/dist/public-api.d.ts +1 -0
  44. package/dist/public-api.d.ts.map +1 -1
  45. package/dist/public-api.js +1 -0
  46. package/dist/public-api.js.map +1 -1
  47. package/package.json +14 -14
@@ -1,14 +1,16 @@
1
- import { EventEmitter, ElementRef, OnInit, AfterViewInit, OnDestroy } from '@angular/core';
1
+ import { EventEmitter } from '@angular/core';
2
2
  import { UserInfo } from '@memberjunction/core';
3
- import { MentionAutocompleteService, MentionSuggestion } from '../../services/mention-autocomplete.service';
3
+ import { MentionSuggestion } from '../../services/mention-autocomplete.service';
4
+ import { MentionEditorComponent } from '../mention/mention-editor.component';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
7
  * Reusable message input box component (presentational)
8
+ * Now uses MentionEditorComponent for rich @mention functionality with chips
9
+ *
7
10
  * Handles:
8
- * - Text input with keyboard shortcuts
9
- * - @mention autocomplete (optional)
11
+ * - Text input with keyboard shortcuts via MentionEditorComponent
12
+ * - @mention autocomplete with visual chips (contentEditable)
10
13
  * - Send button
11
- * - Character count (optional)
12
14
  *
13
15
  * Does NOT handle:
14
16
  * - Saving messages to database
@@ -16,8 +18,8 @@ import * as i0 from "@angular/core";
16
18
  * - Artifact creation
17
19
  * - Conversation management
18
20
  */
19
- export declare class MessageInputBoxComponent implements OnInit, AfterViewInit, OnDestroy {
20
- private mentionAutocomplete;
21
+ export declare class MessageInputBoxComponent {
22
+ mentionEditor?: MentionEditorComponent;
21
23
  placeholder: string;
22
24
  disabled: boolean;
23
25
  value: string;
@@ -27,45 +29,28 @@ export declare class MessageInputBoxComponent implements OnInit, AfterViewInit,
27
29
  rows: number;
28
30
  textSubmitted: EventEmitter<string>;
29
31
  valueChange: EventEmitter<string>;
30
- messageTextarea?: ElementRef;
31
- showMentionDropdown: boolean;
32
- mentionSuggestions: MentionSuggestion[];
33
- mentionDropdownPosition: {
34
- top: number;
35
- left: number;
36
- };
37
- mentionDropdownShowAbove: boolean;
38
- private mentionStartIndex;
39
- private mentionQuery;
40
- constructor(mentionAutocomplete: MentionAutocompleteService);
41
- ngOnInit(): Promise<void>;
42
- ngAfterViewInit(): void;
43
- ngOnDestroy(): void;
44
32
  get canSend(): boolean;
45
- onKeyDown(event: KeyboardEvent): void;
46
- onInput(event: Event): void;
47
- onSendClick(): void;
48
33
  /**
49
- * Handle @mention autocomplete
34
+ * Handle value changes from MentionEditorComponent
50
35
  */
51
- private handleMentionInput;
36
+ onValueChange(newValue: string): void;
52
37
  /**
53
- * Position the mention dropdown near the textarea
54
- * Uses viewport-relative positioning (fixed) to avoid clipping by parent containers
38
+ * Handle Enter key from MentionEditorComponent
55
39
  */
56
- private positionMentionDropdown;
40
+ onEnterPressed(_text: string): void;
57
41
  /**
58
- * Insert selected mention into text
42
+ * Handle mention selection from MentionEditorComponent
59
43
  */
60
44
  onMentionSelected(suggestion: MentionSuggestion): void;
61
45
  /**
62
- * Close mention dropdown
46
+ * Send the message
63
47
  */
64
- closeMentionDropdown(): void;
48
+ onSendClick(): void;
65
49
  /**
66
- * Focus the input
50
+ * Handle clicks on the container - focus the mention editor
51
+ * Only moves cursor to end if clicking outside the contentEditable area
67
52
  */
68
- focus(): void;
53
+ onContainerClick(event: MouseEvent): void;
69
54
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageInputBoxComponent, never>;
70
55
  static ɵcmp: i0.ɵɵComponentDeclaration<MessageInputBoxComponent, "mj-message-input-box", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "showCharacterCount": { "alias": "showCharacterCount"; "required": false; }; "enableMentions": { "alias": "enableMentions"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; }, { "textSubmitted": "textSubmitted"; "valueChange": "valueChange"; }, never, never, false, never>;
71
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message-input-box.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/message/message-input-box.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAa,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAChI,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;;AAE5G;;;;;;;;;;;;;GAaG;AACH,qBAKa,wBAAyB,YAAW,MAAM,EAAE,aAAa,EAAE,SAAS;IAuB7E,OAAO,CAAC,mBAAmB;IAtBpB,WAAW,EAAE,MAAM,CAAsD;IACzE,QAAQ,EAAE,OAAO,CAAS;IAC1B,KAAK,EAAE,MAAM,CAAM;IACnB,kBAAkB,EAAE,OAAO,CAAS;IACpC,cAAc,EAAE,OAAO,CAAQ;IAC/B,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,IAAI,EAAE,MAAM,CAAK;IAEhB,aAAa,uBAA8B;IAC3C,WAAW,uBAA8B;IAErB,eAAe,CAAC,EAAE,UAAU,CAAC;IAGpD,mBAAmB,EAAE,OAAO,CAAS;IACrC,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IAC7C,uBAAuB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAuB;IAC7E,wBAAwB,EAAE,OAAO,CAAS;IACjD,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,YAAY,CAAc;gBAGxB,mBAAmB,EAAE,0BAA0B;IAGnD,QAAQ;IAOd,eAAe;IAOf,WAAW;IAIX,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAerC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAW3B,WAAW,IAAI,IAAI;IAUnB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA6B/B;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAsBtD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAO5B;;OAEG;IACI,KAAK,IAAI,IAAI;yCArMT,wBAAwB;2CAAxB,wBAAwB;CAwMpC"}
1
+ {"version":3,"file":"message-input-box.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/message/message-input-box.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAa,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;;AAE7E;;;;;;;;;;;;;;GAcG;AACH,qBAKa,wBAAwB;IACP,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAE1D,WAAW,EAAE,MAAM,CAAsD;IACzE,QAAQ,EAAE,OAAO,CAAS;IAC1B,KAAK,EAAE,MAAM,CAAM;IACnB,kBAAkB,EAAE,OAAO,CAAS;IACpC,cAAc,EAAE,OAAO,CAAQ;IAC/B,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,IAAI,EAAE,MAAM,CAAK;IAEhB,aAAa,uBAA8B;IAC3C,WAAW,uBAA8B;IAEnD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAMtD;;OAEG;IACH,WAAW,IAAI,IAAI;IASnB;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;yCA1D9B,wBAAwB;2CAAxB,wBAAwB;CAsFpC"}
@@ -1,26 +1,16 @@
1
1
  import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/mention-autocomplete.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/forms";
6
- import * as i4 from "../mention/mention-dropdown.component";
7
- const _c0 = ["messageTextarea"];
8
- function MessageInputBoxComponent_mj_mention_dropdown_6_Template(rf, ctx) { if (rf & 1) {
9
- const _r2 = i0.ɵɵgetCurrentView();
10
- i0.ɵɵelementStart(0, "mj-mention-dropdown", 7);
11
- i0.ɵɵlistener("suggestionSelected", function MessageInputBoxComponent_mj_mention_dropdown_6_Template_mj_mention_dropdown_suggestionSelected_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onMentionSelected($event)); })("closed", function MessageInputBoxComponent_mj_mention_dropdown_6_Template_mj_mention_dropdown_closed_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeMentionDropdown()); });
12
- i0.ɵɵelementEnd();
13
- } if (rf & 2) {
14
- const ctx_r2 = i0.ɵɵnextContext();
15
- i0.ɵɵproperty("suggestions", ctx_r2.mentionSuggestions)("position", ctx_r2.mentionDropdownPosition)("showAbove", ctx_r2.mentionDropdownShowAbove)("useFixedPositioning", true)("visible", true);
16
- } }
3
+ import * as i1 from "@angular/forms";
4
+ import * as i2 from "../mention/mention-editor.component";
5
+ const _c0 = ["mentionEditor"];
17
6
  /**
18
7
  * Reusable message input box component (presentational)
8
+ * Now uses MentionEditorComponent for rich @mention functionality with chips
9
+ *
19
10
  * Handles:
20
- * - Text input with keyboard shortcuts
21
- * - @mention autocomplete (optional)
11
+ * - Text input with keyboard shortcuts via MentionEditorComponent
12
+ * - @mention autocomplete with visual chips (contentEditable)
22
13
  * - Send button
23
- * - Character count (optional)
24
14
  *
25
15
  * Does NOT handle:
26
16
  * - Saving messages to database
@@ -29,7 +19,7 @@ function MessageInputBoxComponent_mj_mention_dropdown_6_Template(rf, ctx) { if (
29
19
  * - Conversation management
30
20
  */
31
21
  export class MessageInputBoxComponent {
32
- mentionAutocomplete;
22
+ mentionEditor;
33
23
  placeholder = 'Type your message to start a new conversation...';
34
24
  disabled = false;
35
25
  value = '';
@@ -39,199 +29,102 @@ export class MessageInputBoxComponent {
39
29
  rows = 3;
40
30
  textSubmitted = new EventEmitter();
41
31
  valueChange = new EventEmitter();
42
- messageTextarea;
43
- // Mention autocomplete state
44
- showMentionDropdown = false;
45
- mentionSuggestions = [];
46
- mentionDropdownPosition = { top: 0, left: 0 };
47
- mentionDropdownShowAbove = false;
48
- mentionStartIndex = -1;
49
- mentionQuery = '';
50
- constructor(mentionAutocomplete) {
51
- this.mentionAutocomplete = mentionAutocomplete;
52
- }
53
- async ngOnInit() {
54
- // Initialize mention autocomplete if enabled and currentUser is available
55
- if (this.enableMentions && this.currentUser) {
56
- await this.mentionAutocomplete.initialize(this.currentUser);
57
- }
58
- }
59
- ngAfterViewInit() {
60
- // Auto-focus the textarea
61
- setTimeout(() => {
62
- this.messageTextarea?.nativeElement?.focus();
63
- }, 100);
64
- }
65
- ngOnDestroy() {
66
- // Cleanup if needed
67
- }
68
32
  get canSend() {
69
33
  return !this.disabled && this.value.trim().length > 0;
70
34
  }
71
- onKeyDown(event) {
72
- // Handle mention dropdown navigation
73
- if (this.showMentionDropdown) {
74
- // Implement arrow key navigation if needed in future
75
- // For now, just let the dropdown handle it
76
- }
77
- // Enter alone: Send message
78
- if (event.key === 'Enter' && !event.shiftKey && !this.showMentionDropdown) {
79
- event.preventDefault();
80
- this.onSendClick();
81
- }
82
- // Shift+Enter: Allow default behavior (add newline)
83
- }
84
- onInput(event) {
85
- const textarea = event.target;
86
- this.value = textarea.value;
35
+ /**
36
+ * Handle value changes from MentionEditorComponent
37
+ */
38
+ onValueChange(newValue) {
39
+ this.value = newValue;
87
40
  this.valueChange.emit(this.value);
88
- // Handle @mention autocomplete
89
- if (this.enableMentions && this.currentUser) {
90
- this.handleMentionInput();
91
- }
92
41
  }
42
+ /**
43
+ * Handle Enter key from MentionEditorComponent
44
+ */
45
+ onEnterPressed(_text) {
46
+ this.onSendClick();
47
+ }
48
+ /**
49
+ * Handle mention selection from MentionEditorComponent
50
+ */
51
+ onMentionSelected(suggestion) {
52
+ // MentionEditorComponent already inserts the mention chip
53
+ // This is just for additional tracking/analytics if needed
54
+ console.log('[MessageInputBox] Mention selected:', suggestion);
55
+ }
56
+ /**
57
+ * Send the message
58
+ */
93
59
  onSendClick() {
94
60
  if (this.canSend) {
95
61
  const textToSend = this.value.trim();
96
62
  this.textSubmitted.emit(textToSend);
97
63
  this.value = ''; // Clear input after sending
98
64
  this.valueChange.emit(this.value);
99
- this.closeMentionDropdown();
100
65
  }
101
66
  }
102
67
  /**
103
- * Handle @mention autocomplete
68
+ * Handle clicks on the container - focus the mention editor
69
+ * Only moves cursor to end if clicking outside the contentEditable area
104
70
  */
105
- handleMentionInput() {
106
- const textarea = this.messageTextarea?.nativeElement;
107
- if (!textarea) {
71
+ onContainerClick(event) {
72
+ const target = event.target;
73
+ // Don't handle clicks on the send button
74
+ if (target.closest('.send-button-icon')) {
108
75
  return;
109
76
  }
110
- const cursorPos = textarea.selectionStart;
111
- const textBeforeCursor = this.value.substring(0, cursorPos);
112
- // Find the last @ before cursor
113
- const lastAtIndex = textBeforeCursor.lastIndexOf('@');
114
- if (lastAtIndex === -1) {
115
- this.closeMentionDropdown();
77
+ const editor = this.mentionEditor?.editorRef?.nativeElement;
78
+ if (!editor)
116
79
  return;
117
- }
118
- // Check if there's a space between @ and cursor (means mention was completed)
119
- const textAfterAt = textBeforeCursor.substring(lastAtIndex + 1);
120
- if (textAfterAt.includes(' ')) {
121
- this.closeMentionDropdown();
80
+ // If clicking directly on the editor or its children, let the browser handle cursor placement
81
+ if (target === editor || editor.contains(target)) {
122
82
  return;
123
83
  }
124
- // Extract query
125
- this.mentionQuery = textAfterAt;
126
- this.mentionStartIndex = lastAtIndex;
127
- // Get suggestions (include users if we have currentUser)
128
- this.mentionSuggestions = this.mentionAutocomplete.getSuggestions(this.mentionQuery, !!this.currentUser);
129
- if (this.mentionSuggestions.length > 0) {
130
- this.showMentionDropdown = true;
131
- this.positionMentionDropdown();
132
- }
133
- else {
134
- this.closeMentionDropdown();
84
+ // Only if clicking on the container (empty space), focus and move cursor to end
85
+ editor.focus();
86
+ const selection = window.getSelection();
87
+ const range = document.createRange();
88
+ if (selection) {
89
+ range.selectNodeContents(editor);
90
+ range.collapse(false); // Collapse to end
91
+ selection.removeAllRanges();
92
+ selection.addRange(range);
135
93
  }
136
94
  }
137
- /**
138
- * Position the mention dropdown near the textarea
139
- * Uses viewport-relative positioning (fixed) to avoid clipping by parent containers
140
- */
141
- positionMentionDropdown() {
142
- const textarea = this.messageTextarea?.nativeElement;
143
- if (!textarea)
144
- return;
145
- const textareaRect = textarea.getBoundingClientRect();
146
- // Check if there's enough space below the textarea
147
- const spaceBelow = window.innerHeight - textareaRect.bottom;
148
- const spaceAbove = textareaRect.top;
149
- const dropdownHeight = Math.min(this.mentionSuggestions.length * 48, 240);
150
- this.mentionDropdownShowAbove = spaceBelow < dropdownHeight && spaceAbove > spaceBelow;
151
- // Use viewport-relative coordinates (dropdown will be positioned fixed to viewport)
152
- if (this.mentionDropdownShowAbove) {
153
- // Show above the textarea - anchor to top of textarea
154
- this.mentionDropdownPosition = {
155
- top: textareaRect.top + window.scrollY - 4,
156
- left: textareaRect.left + window.scrollX
157
- };
158
- }
159
- else {
160
- // Show below the textarea (default) - anchor to bottom of textarea
161
- this.mentionDropdownPosition = {
162
- top: textareaRect.bottom + window.scrollY + 4,
163
- left: textareaRect.left + window.scrollX
164
- };
165
- }
166
- }
167
- /**
168
- * Insert selected mention into text
169
- */
170
- onMentionSelected(suggestion) {
171
- const textarea = this.messageTextarea?.nativeElement;
172
- if (!textarea)
173
- return;
174
- const beforeMention = this.value.substring(0, this.mentionStartIndex);
175
- const afterCursor = this.value.substring(textarea.selectionStart);
176
- // Insert mention with @ prefix and space after
177
- this.value = `${beforeMention}@${suggestion.name} ${afterCursor}`;
178
- this.valueChange.emit(this.value);
179
- // Close dropdown
180
- this.closeMentionDropdown();
181
- // Restore focus and set cursor position
182
- setTimeout(() => {
183
- const newCursorPos = this.mentionStartIndex + suggestion.name.length + 2; // +2 for @ and space
184
- textarea.focus();
185
- textarea.setSelectionRange(newCursorPos, newCursorPos);
186
- }, 0);
187
- }
188
- /**
189
- * Close mention dropdown
190
- */
191
- closeMentionDropdown() {
192
- this.showMentionDropdown = false;
193
- this.mentionSuggestions = [];
194
- this.mentionStartIndex = -1;
195
- this.mentionQuery = '';
196
- }
197
- /**
198
- * Focus the input
199
- */
200
- focus() {
201
- this.messageTextarea?.nativeElement?.focus();
202
- }
203
- static ɵfac = function MessageInputBoxComponent_Factory(t) { return new (t || MessageInputBoxComponent)(i0.ɵɵdirectiveInject(i1.MentionAutocompleteService)); };
95
+ static ɵfac = function MessageInputBoxComponent_Factory(t) { return new (t || MessageInputBoxComponent)(); };
204
96
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MessageInputBoxComponent, selectors: [["mj-message-input-box"]], viewQuery: function MessageInputBoxComponent_Query(rf, ctx) { if (rf & 1) {
205
97
  i0.ɵɵviewQuery(_c0, 5);
206
98
  } if (rf & 2) {
207
99
  let _t;
208
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.messageTextarea = _t.first);
209
- } }, inputs: { placeholder: "placeholder", disabled: "disabled", value: "value", showCharacterCount: "showCharacterCount", enableMentions: "enableMentions", currentUser: "currentUser", rows: "rows" }, outputs: { textSubmitted: "textSubmitted", valueChange: "valueChange" }, decls: 7, vars: 6, consts: [["messageTextarea", ""], [1, "message-input-box-container"], [1, "input-wrapper"], [1, "message-input-box-textarea", 3, "ngModelChange", "keydown", "input", "ngModel", "disabled", "placeholder", "rows"], ["title", "Send message (Enter)", 1, "send-button-icon", 3, "click", "disabled"], [1, "fa-solid", "fa-paper-plane"], [3, "suggestions", "position", "showAbove", "useFixedPositioning", "visible", "suggestionSelected", "closed", 4, "ngIf"], [3, "suggestionSelected", "closed", "suggestions", "position", "showAbove", "useFixedPositioning", "visible"]], template: function MessageInputBoxComponent_Template(rf, ctx) { if (rf & 1) {
100
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.mentionEditor = _t.first);
101
+ } }, inputs: { placeholder: "placeholder", disabled: "disabled", value: "value", showCharacterCount: "showCharacterCount", enableMentions: "enableMentions", currentUser: "currentUser", rows: "rows" }, outputs: { textSubmitted: "textSubmitted", valueChange: "valueChange" }, decls: 6, vars: 6, consts: [["mentionEditor", ""], [1, "message-input-box-container", 3, "click"], [1, "input-wrapper"], [3, "ngModelChange", "valueChange", "enterPressed", "mentionSelected", "placeholder", "disabled", "currentUser", "enableMentions", "ngModel"], ["title", "Send message (Enter)", 1, "send-button-icon", 3, "click", "disabled"], [1, "fa-solid", "fa-paper-plane"]], template: function MessageInputBoxComponent_Template(rf, ctx) { if (rf & 1) {
210
102
  const _r1 = i0.ɵɵgetCurrentView();
211
- i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "textarea", 3, 0);
212
- i0.ɵɵtwoWayListener("ngModelChange", function MessageInputBoxComponent_Template_textarea_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.value, $event) || (ctx.value = $event); return i0.ɵɵresetView($event); });
213
- i0.ɵɵlistener("keydown", function MessageInputBoxComponent_Template_textarea_keydown_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onKeyDown($event)); })("input", function MessageInputBoxComponent_Template_textarea_input_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onInput($event)); });
103
+ i0.ɵɵelementStart(0, "div", 1);
104
+ i0.ɵɵlistener("click", function MessageInputBoxComponent_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onContainerClick($event)); });
105
+ i0.ɵɵelementStart(1, "div", 2)(2, "mj-mention-editor", 3, 0);
106
+ i0.ɵɵtwoWayListener("ngModelChange", function MessageInputBoxComponent_Template_mj_mention_editor_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.value, $event) || (ctx.value = $event); return i0.ɵɵresetView($event); });
107
+ i0.ɵɵlistener("valueChange", function MessageInputBoxComponent_Template_mj_mention_editor_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onValueChange($event)); })("enterPressed", function MessageInputBoxComponent_Template_mj_mention_editor_enterPressed_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEnterPressed($event)); })("mentionSelected", function MessageInputBoxComponent_Template_mj_mention_editor_mentionSelected_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onMentionSelected($event)); });
214
108
  i0.ɵɵelementEnd();
215
109
  i0.ɵɵelementStart(4, "button", 4);
216
110
  i0.ɵɵlistener("click", function MessageInputBoxComponent_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSendClick()); });
217
111
  i0.ɵɵelement(5, "i", 5);
218
- i0.ɵɵelementEnd()();
219
- i0.ɵɵtemplate(6, MessageInputBoxComponent_mj_mention_dropdown_6_Template, 1, 5, "mj-mention-dropdown", 6);
220
- i0.ɵɵelementEnd();
112
+ i0.ɵɵelementEnd()()();
221
113
  } if (rf & 2) {
222
114
  i0.ɵɵadvance(2);
115
+ i0.ɵɵproperty("placeholder", ctx.placeholder)("disabled", ctx.disabled)("currentUser", ctx.currentUser)("enableMentions", ctx.enableMentions);
223
116
  i0.ɵɵtwoWayProperty("ngModel", ctx.value);
224
- i0.ɵɵproperty("disabled", ctx.disabled)("placeholder", ctx.placeholder)("rows", ctx.rows);
225
117
  i0.ɵɵadvance(2);
226
118
  i0.ɵɵproperty("disabled", !ctx.canSend);
227
- i0.ɵɵadvance(2);
228
- i0.ɵɵproperty("ngIf", ctx.showMentionDropdown && ctx.enableMentions);
229
- } }, dependencies: [i2.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.MentionDropdownComponent], styles: [".message-input-box-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n background: white;\n border: 2px solid var(--border-color, #e0e0e0);\n border-radius: 12px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);\n transition: all 0.2s ease;\n overflow: visible; // Allow mention dropdown to escape container\n position: relative;\n\n &:focus-within {\n border-color: var(--primary-color, #007bff);\n box-shadow: 0 4px 16px rgba(0, 123, 255, 0.15);\n }\n}\n\n.input-wrapper[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: flex-end; // Align send button to bottom\n}\n\n.message-input-box-textarea[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 100px;\n padding: 1rem;\n padding-right: 3.5rem; // Space for send button\n border: 0 !important;\n outline: 0 !important;\n box-shadow: none !important;\n -webkit-appearance: none !important;\n -moz-appearance: none !important;\n appearance: none !important;\n font-family: inherit;\n font-size: 1rem;\n line-height: 1.5;\n resize: vertical;\n background: transparent;\n border: 0 !important;\n\n &::placeholder {\n color: var(--text-tertiary, #999);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n background: var(--background-disabled, #f5f5f5);\n }\n\n &:focus,\n &:active,\n &:focus-visible {\n outline: 0 !important;\n box-shadow: none !important;\n }\n}\n\n.send-button-icon[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 0.75rem;\n right: 0.75rem;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--primary-color, #007bff);\n color: white;\n border: none;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n flex-shrink: 0;\n\n i {\n font-size: 1rem;\n }\n\n &:hover:not(:disabled) {\n background: var(--primary-color-dark, #0056b3);\n transform: scale(1.05);\n }\n\n &:active:not(:disabled) {\n transform: scale(0.95);\n }\n\n &:disabled {\n background: var(--background-disabled, #d0d0d0);\n color: var(--text-disabled, #999);\n cursor: not-allowed;\n opacity: 0.5;\n }\n}"] });
119
+ } }, dependencies: [i1.NgControlStatus, i1.NgModel, i2.MentionEditorComponent], styles: [".message-input-box-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n background: white;\n border: 2px solid var(--border-color, #e0e0e0);\n border-radius: 12px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);\n transition: all 0.2s ease;\n overflow: visible; // Allow mention dropdown to escape container\n position: relative;\n cursor: text; // Show text cursor for better UX\n\n &:focus-within {\n border-color: var(--primary-color, #007bff);\n box-shadow: 0 4px 16px rgba(0, 123, 255, 0.15);\n }\n}\n\n.input-wrapper[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: flex-end; // Align send button to bottom\n padding: 5px; // Add padding around the editor\n\n // Ensure mention editor takes full width\n mj-mention-editor {\n flex: 1;\n display: block;\n }\n}\n\n.message-input-box-textarea[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 100px;\n padding: 1rem;\n padding-right: 3.5rem; // Space for send button\n border: 0 !important;\n outline: 0 !important;\n box-shadow: none !important;\n -webkit-appearance: none !important;\n -moz-appearance: none !important;\n appearance: none !important;\n font-family: inherit;\n font-size: 1rem;\n line-height: 1.5;\n resize: vertical;\n background: transparent;\n border: 0 !important;\n\n &::placeholder {\n color: var(--text-tertiary, #999);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n background: var(--background-disabled, #f5f5f5);\n }\n\n &:focus,\n &:active,\n &:focus-visible {\n outline: 0 !important;\n box-shadow: none !important;\n }\n}\n\n.send-button-icon[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 0.75rem;\n right: 0.75rem;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--primary-color, #007bff);\n color: white;\n border: none;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n flex-shrink: 0;\n\n i {\n font-size: 1rem;\n }\n\n &:hover:not(:disabled) {\n background: var(--primary-color-dark, #0056b3);\n transform: scale(1.05);\n }\n\n &:active:not(:disabled) {\n transform: scale(0.95);\n }\n\n &:disabled {\n background: var(--background-disabled, #d0d0d0);\n color: var(--text-disabled, #999);\n cursor: not-allowed;\n opacity: 0.5;\n }\n}\n\n\n\n@media (max-width: 768px) {\n .message-input-box-container[_ngcontent-%COMP%] {\n border-radius: 10px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n }\n\n .message-input-box-textarea[_ngcontent-%COMP%] {\n min-height: 80px;\n padding: 0.75rem;\n padding-right: 3rem;\n font-size: 16px; // Prevent iOS zoom on focus\n line-height: 1.4;\n }\n\n .send-button-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n bottom: 0.625rem;\n right: 0.625rem;\n border-radius: 6px;\n\n i {\n font-size: 0.875rem;\n }\n }\n}\n\n\n\n@media (max-width: 480px) {\n .message-input-box-container[_ngcontent-%COMP%] {\n border-radius: 8px;\n border-width: 1.5px;\n }\n\n .message-input-box-textarea[_ngcontent-%COMP%] {\n min-height: 60px;\n padding: 0.625rem;\n padding-right: 2.75rem;\n font-size: 16px; // Prevent iOS zoom on focus\n line-height: 1.3;\n }\n\n .send-button-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n bottom: 0.5rem;\n right: 0.5rem;\n border-radius: 6px;\n\n i {\n font-size: 0.875rem;\n }\n }\n}"] });
230
120
  }
231
121
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MessageInputBoxComponent, [{
232
122
  type: Component,
233
- args: [{ selector: 'mj-message-input-box', template: "<div class=\"message-input-box-container\">\n <div class=\"input-wrapper\">\n <textarea\n #messageTextarea\n class=\"message-input-box-textarea\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [rows]=\"rows\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput($event)\"\n ></textarea>\n\n <!-- Send Button (Icon Only) - Inside textarea area -->\n <button\n class=\"send-button-icon\"\n [disabled]=\"!canSend\"\n (click)=\"onSendClick()\"\n title=\"Send message (Enter)\"\n >\n <i class=\"fa-solid fa-paper-plane\"></i>\n </button>\n </div>\n\n <!-- Mention Dropdown -->\n <mj-mention-dropdown\n *ngIf=\"showMentionDropdown && enableMentions\"\n [suggestions]=\"mentionSuggestions\"\n [position]=\"mentionDropdownPosition\"\n [showAbove]=\"mentionDropdownShowAbove\"\n [useFixedPositioning]=\"true\"\n [visible]=\"true\"\n (suggestionSelected)=\"onMentionSelected($event)\"\n (closed)=\"closeMentionDropdown()\">\n </mj-mention-dropdown>\n</div>\n", styles: [".message-input-box-container {\n display: flex;\n flex-direction: column;\n background: white;\n border: 2px solid var(--border-color, #e0e0e0);\n border-radius: 12px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);\n transition: all 0.2s ease;\n overflow: visible; // Allow mention dropdown to escape container\n position: relative;\n\n &:focus-within {\n border-color: var(--primary-color, #007bff);\n box-shadow: 0 4px 16px rgba(0, 123, 255, 0.15);\n }\n}\n\n.input-wrapper {\n position: relative;\n display: flex;\n align-items: flex-end; // Align send button to bottom\n}\n\n.message-input-box-textarea {\n flex: 1;\n min-height: 100px;\n padding: 1rem;\n padding-right: 3.5rem; // Space for send button\n border: 0 !important;\n outline: 0 !important;\n box-shadow: none !important;\n -webkit-appearance: none !important;\n -moz-appearance: none !important;\n appearance: none !important;\n font-family: inherit;\n font-size: 1rem;\n line-height: 1.5;\n resize: vertical;\n background: transparent;\n border: 0 !important;\n\n &::placeholder {\n color: var(--text-tertiary, #999);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n background: var(--background-disabled, #f5f5f5);\n }\n\n &:focus,\n &:active,\n &:focus-visible {\n outline: 0 !important;\n box-shadow: none !important;\n }\n}\n\n.send-button-icon {\n position: absolute;\n bottom: 0.75rem;\n right: 0.75rem;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--primary-color, #007bff);\n color: white;\n border: none;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n flex-shrink: 0;\n\n i {\n font-size: 1rem;\n }\n\n &:hover:not(:disabled) {\n background: var(--primary-color-dark, #0056b3);\n transform: scale(1.05);\n }\n\n &:active:not(:disabled) {\n transform: scale(0.95);\n }\n\n &:disabled {\n background: var(--background-disabled, #d0d0d0);\n color: var(--text-disabled, #999);\n cursor: not-allowed;\n opacity: 0.5;\n }\n}\n"] }]
234
- }], () => [{ type: i1.MentionAutocompleteService }], { placeholder: [{
123
+ args: [{ selector: 'mj-message-input-box', template: "<div class=\"message-input-box-container\" (click)=\"onContainerClick($event)\">\n <div class=\"input-wrapper\">\n <mj-mention-editor\n #mentionEditor\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [currentUser]=\"currentUser\"\n [enableMentions]=\"enableMentions\"\n [(ngModel)]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n (enterPressed)=\"onEnterPressed($event)\"\n (mentionSelected)=\"onMentionSelected($event)\">\n </mj-mention-editor>\n\n <!-- Send Button (Icon Only) - Positioned over editor -->\n <button\n class=\"send-button-icon\"\n [disabled]=\"!canSend\"\n (click)=\"onSendClick()\"\n title=\"Send message (Enter)\"\n >\n <i class=\"fa-solid fa-paper-plane\"></i>\n </button>\n </div>\n</div>\n", styles: [".message-input-box-container {\n display: flex;\n flex-direction: column;\n background: white;\n border: 2px solid var(--border-color, #e0e0e0);\n border-radius: 12px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);\n transition: all 0.2s ease;\n overflow: visible; // Allow mention dropdown to escape container\n position: relative;\n cursor: text; // Show text cursor for better UX\n\n &:focus-within {\n border-color: var(--primary-color, #007bff);\n box-shadow: 0 4px 16px rgba(0, 123, 255, 0.15);\n }\n}\n\n.input-wrapper {\n position: relative;\n display: flex;\n align-items: flex-end; // Align send button to bottom\n padding: 5px; // Add padding around the editor\n\n // Ensure mention editor takes full width\n mj-mention-editor {\n flex: 1;\n display: block;\n }\n}\n\n.message-input-box-textarea {\n flex: 1;\n min-height: 100px;\n padding: 1rem;\n padding-right: 3.5rem; // Space for send button\n border: 0 !important;\n outline: 0 !important;\n box-shadow: none !important;\n -webkit-appearance: none !important;\n -moz-appearance: none !important;\n appearance: none !important;\n font-family: inherit;\n font-size: 1rem;\n line-height: 1.5;\n resize: vertical;\n background: transparent;\n border: 0 !important;\n\n &::placeholder {\n color: var(--text-tertiary, #999);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n background: var(--background-disabled, #f5f5f5);\n }\n\n &:focus,\n &:active,\n &:focus-visible {\n outline: 0 !important;\n box-shadow: none !important;\n }\n}\n\n.send-button-icon {\n position: absolute;\n bottom: 0.75rem;\n right: 0.75rem;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--primary-color, #007bff);\n color: white;\n border: none;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n flex-shrink: 0;\n\n i {\n font-size: 1rem;\n }\n\n &:hover:not(:disabled) {\n background: var(--primary-color-dark, #0056b3);\n transform: scale(1.05);\n }\n\n &:active:not(:disabled) {\n transform: scale(0.95);\n }\n\n &:disabled {\n background: var(--background-disabled, #d0d0d0);\n color: var(--text-disabled, #999);\n cursor: not-allowed;\n opacity: 0.5;\n }\n}\n\n/* Mobile adjustments: 481px - 768px */\n@media (max-width: 768px) {\n .message-input-box-container {\n border-radius: 10px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n }\n\n .message-input-box-textarea {\n min-height: 80px;\n padding: 0.75rem;\n padding-right: 3rem;\n font-size: 16px; // Prevent iOS zoom on focus\n line-height: 1.4;\n }\n\n .send-button-icon {\n width: 32px;\n height: 32px;\n bottom: 0.625rem;\n right: 0.625rem;\n border-radius: 6px;\n\n i {\n font-size: 0.875rem;\n }\n }\n}\n\n/* Small Phone adjustments: <= 480px */\n@media (max-width: 480px) {\n .message-input-box-container {\n border-radius: 8px;\n border-width: 1.5px;\n }\n\n .message-input-box-textarea {\n min-height: 60px;\n padding: 0.625rem;\n padding-right: 2.75rem;\n font-size: 16px; // Prevent iOS zoom on focus\n line-height: 1.3;\n }\n\n .send-button-icon {\n width: 36px;\n height: 36px;\n bottom: 0.5rem;\n right: 0.5rem;\n border-radius: 6px;\n\n i {\n font-size: 0.875rem;\n }\n }\n}\n"] }]
124
+ }], null, { mentionEditor: [{
125
+ type: ViewChild,
126
+ args: ['mentionEditor']
127
+ }], placeholder: [{
235
128
  type: Input
236
129
  }], disabled: [{
237
130
  type: Input
@@ -249,9 +142,6 @@ export class MessageInputBoxComponent {
249
142
  type: Output
250
143
  }], valueChange: [{
251
144
  type: Output
252
- }], messageTextarea: [{
253
- type: ViewChild,
254
- args: ['messageTextarea']
255
145
  }] }); })();
256
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MessageInputBoxComponent, { className: "MessageInputBoxComponent", filePath: "src/lib/components/message/message-input-box.component.ts", lineNumber: 24 }); })();
146
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MessageInputBoxComponent, { className: "MessageInputBoxComponent", filePath: "src/lib/components/message/message-input-box.component.ts", lineNumber: 26 }); })();
257
147
  //# sourceMappingURL=message-input-box.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-input-box.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/message-input-box.component.ts","../../../../src/lib/components/message/message-input-box.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-input-box.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/message-input-box.component.ts","../../../../src/lib/components/message/message-input-box.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;;;;AAKlF;;;;;;;;;;;;;;GAcG;AAMH,MAAM,OAAO,wBAAwB;IACP,aAAa,CAA0B;IAE1D,WAAW,GAAW,kDAAkD,CAAC;IACzE,QAAQ,GAAY,KAAK,CAAC;IAC1B,KAAK,GAAW,EAAE,CAAC;IACnB,kBAAkB,GAAY,KAAK,CAAC;IACpC,cAAc,GAAY,IAAI,CAAC;IAC/B,WAAW,CAAY;IACvB,IAAI,GAAW,CAAC,CAAC;IAEhB,aAAa,GAAG,IAAI,YAAY,EAAU,CAAC;IAC3C,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;IAEnD,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,UAA6B;QAC7C,0DAA0D;QAC1D,2DAA2D;QAC3D,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,4BAA4B;YAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,KAAiB;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAE3C,yCAAyC;QACzC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC;QAC5D,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,8FAA8F;QAC9F,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,gFAAgF;QAChF,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB;YACzC,SAAS,CAAC,eAAe,EAAE,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;kFArFU,wBAAwB;6DAAxB,wBAAwB;;;;;;;YCzBrC,8BAA4E;YAAnC,8IAAS,4BAAwB,KAAC;YAEvE,AADF,8BAA2B,8BAUuB;YAH9C,+PAAmB;YAGnB,AADA,AADA,wKAAe,yBAAqB,KAAC,6JACrB,0BAAsB,KAAC,mKACpB,6BAAyB,KAAC;YAC/C,iBAAoB;YAGpB,iCAKC;YAFC,2IAAS,iBAAa,KAAC;YAGvB,uBAAuC;YAG7C,AADE,AADE,iBAAS,EACL,EACF;;YApBA,eAA2B;YAG3B,AADA,AADA,AADA,6CAA2B,0BACN,gCACM,sCACM;YACjC,yCAAmB;YASnB,eAAqB;YAArB,uCAAqB;;;iFDQd,wBAAwB;cALpC,SAAS;2BACE,sBAAsB;gBAKJ,aAAa;kBAAxC,SAAS;mBAAC,eAAe;YAEjB,WAAW;kBAAnB,KAAK;YACG,QAAQ;kBAAhB,KAAK;YACG,KAAK;kBAAb,KAAK;YACG,kBAAkB;kBAA1B,KAAK;YACG,cAAc;kBAAtB,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,IAAI;kBAAZ,KAAK;YAEI,aAAa;kBAAtB,MAAM;YACG,WAAW;kBAApB,MAAM;;kFAZI,wBAAwB"}
@@ -31,6 +31,7 @@ export declare class MessageInputComponent implements OnInit, OnDestroy, OnChang
31
31
  conversationHistory: ConversationDetailEntity[];
32
32
  initialMessage: string | null;
33
33
  artifactsByDetailId?: Map<string, LazyArtifactInfo[]>;
34
+ systemArtifactsByDetailId?: Map<string, LazyArtifactInfo[]>;
34
35
  agentRunsByDetailId?: Map<string, AIAgentRunEntityExtended>;
35
36
  inProgressMessageIds?: string[];
36
37
  messageSent: EventEmitter<ConversationDetailEntity>;
@@ -197,6 +198,11 @@ export declare class MessageInputComponent implements OnInit, OnDestroy, OnChang
197
198
  */
198
199
  private handleTaskGraphExecution;
199
200
  protected updateConversationDetail(convoDetail: ConversationDetailEntity, message: string, status: 'In-Progress' | 'Complete' | 'Error', suggestedResponses?: BaseAgentSuggestedResponse[]): Promise<void>;
201
+ /**
202
+ * Load previous payload for an agent from its most recent OUTPUT artifact.
203
+ * Checks both user-visible and system artifacts to support agents like Agent Manager.
204
+ */
205
+ private loadPreviousPayloadForAgent;
200
206
  /**
201
207
  * Handle single task execution from task graph using direct agent execution
202
208
  * Uses the existing agent execution pattern with PubSub support
@@ -238,6 +244,6 @@ export declare class MessageInputComponent implements OnInit, OnDestroy, OnChang
238
244
  */
239
245
  private cleanupCompletionTimestamp;
240
246
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageInputComponent, never>;
241
- static ɵcmp: i0.ɵɵComponentDeclaration<MessageInputComponent, "mj-message-input", never, { "conversationId": { "alias": "conversationId"; "required": false; }; "conversationName": { "alias": "conversationName"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "parentMessageId": { "alias": "parentMessageId"; "required": false; }; "conversationHistory": { "alias": "conversationHistory"; "required": false; }; "initialMessage": { "alias": "initialMessage"; "required": false; }; "artifactsByDetailId": { "alias": "artifactsByDetailId"; "required": false; }; "agentRunsByDetailId": { "alias": "agentRunsByDetailId"; "required": false; }; "inProgressMessageIds": { "alias": "inProgressMessageIds"; "required": false; }; }, { "messageSent": "messageSent"; "agentResponse": "agentResponse"; "agentRunDetected": "agentRunDetected"; "agentRunUpdate": "agentRunUpdate"; "messageComplete": "messageComplete"; "artifactCreated": "artifactCreated"; "conversationRenamed": "conversationRenamed"; "intentCheckStarted": "intentCheckStarted"; "intentCheckCompleted": "intentCheckCompleted"; }, never, never, false, never>;
247
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageInputComponent, "mj-message-input", never, { "conversationId": { "alias": "conversationId"; "required": false; }; "conversationName": { "alias": "conversationName"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "parentMessageId": { "alias": "parentMessageId"; "required": false; }; "conversationHistory": { "alias": "conversationHistory"; "required": false; }; "initialMessage": { "alias": "initialMessage"; "required": false; }; "artifactsByDetailId": { "alias": "artifactsByDetailId"; "required": false; }; "systemArtifactsByDetailId": { "alias": "systemArtifactsByDetailId"; "required": false; }; "agentRunsByDetailId": { "alias": "agentRunsByDetailId"; "required": false; }; "inProgressMessageIds": { "alias": "inProgressMessageIds"; "required": false; }; }, { "messageSent": "messageSent"; "agentResponse": "agentResponse"; "agentRunDetected": "agentRunDetected"; "agentRunUpdate": "agentRunUpdate"; "messageComplete": "messageComplete"; "artifactCreated": "artifactCreated"; "conversationRenamed": "conversationRenamed"; "intentCheckStarted": "intentCheckStarted"; "intentCheckCompleted": "intentCheckCompleted"; }, never, never, false, never>;
242
248
  }
243
249
  //# sourceMappingURL=message-input.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-input.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/message/message-input.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-input.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/message/message-input.component.ts"],"names":[],"mappings":"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"}