@trixwell/ngx-parl 5.0.0 → 6.0.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/README.md +235 -228
- package/fesm2022/trixwell-ngx-parl.mjs +224 -152
- package/fesm2022/trixwell-ngx-parl.mjs.map +1 -1
- package/package.json +16 -8
- package/src/assets/icons/avatar_manager.svg +10 -10
- package/{index.d.ts → types/trixwell-ngx-parl.d.ts} +20 -3
|
@@ -90,11 +90,23 @@ interface ParlQuickActionClickEvent {
|
|
|
90
90
|
value: string;
|
|
91
91
|
}
|
|
92
92
|
type ParlQuickActionsResolver = (context: ParlQuickActionContext) => ParlQuickAction[];
|
|
93
|
+
/**
|
|
94
|
+
* Maps `message.actions` to quick action buttons for outgoing messages.
|
|
95
|
+
* Used when `[quickActionsResolver]` is not provided. Independent of `mobileMode`.
|
|
96
|
+
*/
|
|
97
|
+
declare function messageHasActionButtons(message: {
|
|
98
|
+
type: unknown;
|
|
99
|
+
actions?: ChatQuickButton[] | null;
|
|
100
|
+
}): boolean;
|
|
101
|
+
declare function defaultParlQuickActionsResolver(context: ParlQuickActionContext): ParlQuickAction[];
|
|
102
|
+
declare function resolveParlQuickActions(context: ParlQuickActionContext, resolver: ParlQuickActionsResolver | null | undefined): ParlQuickAction[];
|
|
93
103
|
|
|
94
104
|
declare class ChatFlowComponent implements AfterViewInit, OnDestroy {
|
|
95
105
|
flowRef?: ElementRef<HTMLElement>;
|
|
96
106
|
private transloco;
|
|
107
|
+
private utils;
|
|
97
108
|
private translocoLang;
|
|
109
|
+
private translocoTranslationTick;
|
|
98
110
|
scrollToBottomTrigger: _angular_core.ModelSignal<number>;
|
|
99
111
|
loadHistory: _angular_core.ModelSignal<boolean>;
|
|
100
112
|
messageListInput: _angular_core.ModelSignal<ChatMessage[]>;
|
|
@@ -102,6 +114,8 @@ declare class ChatFlowComponent implements AfterViewInit, OnDestroy {
|
|
|
102
114
|
selectedForEdit: _angular_core.ModelSignal<ChatMessage | null>;
|
|
103
115
|
requestDelete: _angular_core.ModelSignal<number | null>;
|
|
104
116
|
mobileMode: _angular_core.InputSignal<boolean>;
|
|
117
|
+
logoChat: _angular_core.InputSignal<string>;
|
|
118
|
+
logoChatSrc: _angular_core.Signal<string>;
|
|
105
119
|
quickActionsResolver: _angular_core.InputSignal<ParlQuickActionsResolver | null>;
|
|
106
120
|
quickActionClick: _angular_core.ModelSignal<ParlQuickActionClickEvent | null>;
|
|
107
121
|
deleteConfirmOpen: _angular_core.WritableSignal<boolean>;
|
|
@@ -133,10 +147,11 @@ declare class ChatFlowComponent implements AfterViewInit, OnDestroy {
|
|
|
133
147
|
onRequestDelete(messageId: number | null): this;
|
|
134
148
|
closeDeleteConfirm(): this;
|
|
135
149
|
confirmDelete(): this;
|
|
150
|
+
translateChatKey(key: string, fallbackEn: string): string;
|
|
136
151
|
trackByMessageId(index: number, message: ChatMessage): string;
|
|
137
152
|
protected readonly Math: Math;
|
|
138
153
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatFlowComponent, never>;
|
|
139
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatFlowComponent, "app-chat-flow", never, { "scrollToBottomTrigger": { "alias": "scrollToBottomTrigger"; "required": false; "isSignal": true; }; "loadHistory": { "alias": "loadHistory"; "required": false; "isSignal": true; }; "messageListInput": { "alias": "messageListInput"; "required": true; "isSignal": true; }; "selectedForEdit": { "alias": "selectedForEdit"; "required": true; "isSignal": true; }; "requestDelete": { "alias": "requestDelete"; "required": false; "isSignal": true; }; "mobileMode": { "alias": "mobileMode"; "required": false; "isSignal": true; }; "quickActionsResolver": { "alias": "quickActionsResolver"; "required": false; "isSignal": true; }; "quickActionClick": { "alias": "quickActionClick"; "required": false; "isSignal": true; }; }, { "scrollToBottomTrigger": "scrollToBottomTriggerChange"; "loadHistory": "loadHistoryChange"; "messageListInput": "messageListInputChange"; "selectedForEdit": "selectedForEditChange"; "requestDelete": "requestDeleteChange"; "quickActionClick": "quickActionClickChange"; }, never, never, true, never>;
|
|
154
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatFlowComponent, "app-chat-flow", never, { "scrollToBottomTrigger": { "alias": "scrollToBottomTrigger"; "required": false; "isSignal": true; }; "loadHistory": { "alias": "loadHistory"; "required": false; "isSignal": true; }; "messageListInput": { "alias": "messageListInput"; "required": true; "isSignal": true; }; "selectedForEdit": { "alias": "selectedForEdit"; "required": true; "isSignal": true; }; "requestDelete": { "alias": "requestDelete"; "required": false; "isSignal": true; }; "mobileMode": { "alias": "mobileMode"; "required": false; "isSignal": true; }; "logoChat": { "alias": "logoChat"; "required": false; "isSignal": true; }; "quickActionsResolver": { "alias": "quickActionsResolver"; "required": false; "isSignal": true; }; "quickActionClick": { "alias": "quickActionClick"; "required": false; "isSignal": true; }; }, { "scrollToBottomTrigger": "scrollToBottomTriggerChange"; "loadHistory": "loadHistoryChange"; "messageListInput": "messageListInputChange"; "selectedForEdit": "selectedForEditChange"; "requestDelete": "requestDeleteChange"; "quickActionClick": "quickActionClickChange"; }, never, never, true, never>;
|
|
140
155
|
}
|
|
141
156
|
|
|
142
157
|
type OriginalKind = 'image' | 'gif';
|
|
@@ -251,6 +266,7 @@ declare class NgxParlComponent implements AfterViewInit, OnDestroy {
|
|
|
251
266
|
transportType: _angular_core.InputSignal<string>;
|
|
252
267
|
transportTypeIcon: _angular_core.InputSignal<string>;
|
|
253
268
|
transportTypeIconSrc: _angular_core.Signal<string>;
|
|
269
|
+
logoChat: _angular_core.InputSignal<string>;
|
|
254
270
|
mobileMode: _angular_core.InputSignal<boolean>;
|
|
255
271
|
quickActionsResolver: _angular_core.InputSignal<ParlQuickActionsResolver | null>;
|
|
256
272
|
quickActionClick: _angular_core.ModelSignal<ParlQuickActionClickEvent | null>;
|
|
@@ -262,6 +278,7 @@ declare class NgxParlComponent implements AfterViewInit, OnDestroy {
|
|
|
262
278
|
private focusTimers;
|
|
263
279
|
private afterOpenedSubscription?;
|
|
264
280
|
constructor(utils: UtilsService, transloco: TranslocoService, dialogRef?: MatDialogRef<NgxParlComponent> | undefined);
|
|
281
|
+
onQuickActionClick(event: ParlQuickActionClickEvent | null): this;
|
|
265
282
|
ngAfterViewInit(): void;
|
|
266
283
|
ngOnDestroy(): void;
|
|
267
284
|
private queueInitialFocus;
|
|
@@ -279,10 +296,10 @@ declare class NgxParlComponent implements AfterViewInit, OnDestroy {
|
|
|
279
296
|
onDrop(event: DragEvent): this;
|
|
280
297
|
protected readonly FlowTheme: typeof FlowTheme;
|
|
281
298
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxParlComponent, [null, null, { optional: true; }]>;
|
|
282
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxParlComponent, "ngx-parl", never, { "dragActive": { "alias": "dragActive"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "messageList": { "alias": "messageList"; "required": false; "isSignal": true; }; "messageUpdate": { "alias": "messageUpdate"; "required": false; "isSignal": true; }; "selectedForEdit": { "alias": "selectedForEdit"; "required": false; "isSignal": true; }; "messageAction": { "alias": "messageAction"; "required": false; "isSignal": true; }; "incomingUser": { "alias": "incomingUser"; "required": false; "isSignal": true; }; "transportType": { "alias": "transportType"; "required": false; "isSignal": true; }; "transportTypeIcon": { "alias": "transportTypeIcon"; "required": false; "isSignal": true; }; "mobileMode": { "alias": "mobileMode"; "required": false; "isSignal": true; }; "quickActionsResolver": { "alias": "quickActionsResolver"; "required": false; "isSignal": true; }; "quickActionClick": { "alias": "quickActionClick"; "required": false; "isSignal": true; }; "quickActionsAutoSend": { "alias": "quickActionsAutoSend"; "required": false; "isSignal": true; }; "hideHandler": { "alias": "hideHandler"; "required": false; "isSignal": true; }; "closeHandler": { "alias": "closeHandler"; "required": false; "isSignal": true; }; "scrollToBottomTrigger": { "alias": "scrollToBottomTrigger"; "required": false; "isSignal": true; }; "loadHistory": { "alias": "loadHistory"; "required": false; "isSignal": true; }; }, { "dragActive": "dragActiveChange"; "messageList": "messageListChange"; "messageUpdate": "messageUpdateChange"; "selectedForEdit": "selectedForEditChange"; "messageAction": "messageActionChange"; "quickActionClick": "quickActionClickChange"; "scrollToBottomTrigger": "scrollToBottomTriggerChange"; "loadHistory": "loadHistoryChange"; }, never, never, true, never>;
|
|
299
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxParlComponent, "ngx-parl", never, { "dragActive": { "alias": "dragActive"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "messageList": { "alias": "messageList"; "required": false; "isSignal": true; }; "messageUpdate": { "alias": "messageUpdate"; "required": false; "isSignal": true; }; "selectedForEdit": { "alias": "selectedForEdit"; "required": false; "isSignal": true; }; "messageAction": { "alias": "messageAction"; "required": false; "isSignal": true; }; "incomingUser": { "alias": "incomingUser"; "required": false; "isSignal": true; }; "transportType": { "alias": "transportType"; "required": false; "isSignal": true; }; "transportTypeIcon": { "alias": "transportTypeIcon"; "required": false; "isSignal": true; }; "logoChat": { "alias": "logoChat"; "required": false; "isSignal": true; }; "mobileMode": { "alias": "mobileMode"; "required": false; "isSignal": true; }; "quickActionsResolver": { "alias": "quickActionsResolver"; "required": false; "isSignal": true; }; "quickActionClick": { "alias": "quickActionClick"; "required": false; "isSignal": true; }; "quickActionsAutoSend": { "alias": "quickActionsAutoSend"; "required": false; "isSignal": true; }; "hideHandler": { "alias": "hideHandler"; "required": false; "isSignal": true; }; "closeHandler": { "alias": "closeHandler"; "required": false; "isSignal": true; }; "scrollToBottomTrigger": { "alias": "scrollToBottomTrigger"; "required": false; "isSignal": true; }; "loadHistory": { "alias": "loadHistory"; "required": false; "isSignal": true; }; }, { "dragActive": "dragActiveChange"; "messageList": "messageListChange"; "messageUpdate": "messageUpdateChange"; "selectedForEdit": "selectedForEditChange"; "messageAction": "messageActionChange"; "quickActionClick": "quickActionClickChange"; "scrollToBottomTrigger": "scrollToBottomTriggerChange"; "loadHistory": "loadHistoryChange"; }, never, never, true, never>;
|
|
283
300
|
}
|
|
284
301
|
|
|
285
302
|
declare function provideNgxParl(): _angular_core.EnvironmentProviders[];
|
|
286
303
|
|
|
287
|
-
export { ChatMessage, MessageType, NgxParlComponent, provideNgxParl };
|
|
304
|
+
export { ChatMessage, MessageType, NgxParlComponent, defaultParlQuickActionsResolver, messageHasActionButtons, provideNgxParl, resolveParlQuickActions };
|
|
288
305
|
export type { ChatMessageDTO, ChatMessageType, ChatQuickButton, CurrMessage, MessageActionEvent, MessageActionType, ParlQuickAction, ParlQuickActionClickEvent, ParlQuickActionContext, ParlQuickActionsResolver };
|