@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.
@@ -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 };