@memberjunction/ng-conversations 2.114.0 → 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.
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js +8 -4
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/mention/mention-dropdown.component.js +31 -23
- package/dist/lib/components/mention/mention-dropdown.component.js.map +1 -1
- package/dist/lib/components/mention/mention-editor.component.d.ts +117 -0
- package/dist/lib/components/mention/mention-editor.component.d.ts.map +1 -0
- package/dist/lib/components/mention/mention-editor.component.js +550 -0
- package/dist/lib/components/mention/mention-editor.component.js.map +1 -0
- package/dist/lib/components/message/message-input-box.component.d.ts +19 -34
- package/dist/lib/components/message/message-input-box.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input-box.component.js +66 -176
- package/dist/lib/components/message/message-input-box.component.js.map +1 -1
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-item.component.js +41 -3
- package/dist/lib/components/message/message-item.component.js.map +1 -1
- package/dist/lib/components/navigation/conversation-navigation.component.js +2 -2
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts +4 -1
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.js +108 -73
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
- package/dist/lib/conversations.module.d.ts +55 -54
- package/dist/lib/conversations.module.d.ts.map +1 -1
- package/dist/lib/conversations.module.js +4 -0
- package/dist/lib/conversations.module.js.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.d.ts +8 -0
- package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.js +34 -3
- package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +14 -14
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { EventEmitter
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { UserInfo } from '@memberjunction/core';
|
|
3
|
-
import {
|
|
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 (
|
|
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
|
|
20
|
-
|
|
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
|
|
34
|
+
* Handle value changes from MentionEditorComponent
|
|
50
35
|
*/
|
|
51
|
-
|
|
36
|
+
onValueChange(newValue: string): void;
|
|
52
37
|
/**
|
|
53
|
-
*
|
|
54
|
-
* Uses viewport-relative positioning (fixed) to avoid clipping by parent containers
|
|
38
|
+
* Handle Enter key from MentionEditorComponent
|
|
55
39
|
*/
|
|
56
|
-
|
|
40
|
+
onEnterPressed(_text: string): void;
|
|
57
41
|
/**
|
|
58
|
-
*
|
|
42
|
+
* Handle mention selection from MentionEditorComponent
|
|
59
43
|
*/
|
|
60
44
|
onMentionSelected(suggestion: MentionSuggestion): void;
|
|
61
45
|
/**
|
|
62
|
-
*
|
|
46
|
+
* Send the message
|
|
63
47
|
*/
|
|
64
|
-
|
|
48
|
+
onSendClick(): void;
|
|
65
49
|
/**
|
|
66
|
-
*
|
|
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
|
-
|
|
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,
|
|
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 "
|
|
4
|
-
import * as i2 from "
|
|
5
|
-
|
|
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 (
|
|
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
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
|
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
|
-
|
|
106
|
-
const
|
|
107
|
-
|
|
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
|
|
111
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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.
|
|
209
|
-
} }, inputs: { placeholder: "placeholder", disabled: "disabled", value: "value", showCharacterCount: "showCharacterCount", enableMentions: "enableMentions", currentUser: "currentUser", rows: "rows" }, outputs: { textSubmitted: "textSubmitted", valueChange: "valueChange" }, decls:
|
|
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)
|
|
212
|
-
i0.ɵɵ
|
|
213
|
-
i0.ɵɵ
|
|
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
|
-
|
|
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}\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}"] });
|
|
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 <
|
|
234
|
-
}],
|
|
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:
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-item.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/message/message-item.component.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"message-item.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/message/message-item.component.ts"],"names":[],"mappings":"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"}
|