@acorex/components 20.8.0 → 20.8.12
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/conversation2/index.d.ts +141 -71
- package/fesm2022/acorex-components-calendar.mjs +3 -0
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation2.mjs +2153 -1790
- package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
- package/package.json +27 -27
package/conversation2/index.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import * as _acorex_components_conversation2 from '@acorex/components/conversation2';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { OnDestroy, ViewContainerRef, Type, InputSignal, WritableSignal, Signal, Provider, InjectionToken, OnInit, EventEmitter, TemplateRef, ModuleWithProviders } from '@angular/core';
|
|
4
|
-
import { AXComponentCloseEvent, AXHtmlEvent, AXDataSource, AXClosableComponent } from '@acorex/cdk/common';
|
|
4
|
+
import { AXComponentCloseEvent, AXHtmlEvent, AXDataSource, AXPlacement, AXClosableComponent } from '@acorex/cdk/common';
|
|
5
5
|
import { AXFileUploadOptions, AXUploadResult, AXUploadReference, AXUploaderService, AXUploaderFileChangeEvent } from '@acorex/cdk/uploader';
|
|
6
6
|
import * as _acorex_components_popup from '@acorex/components/popup';
|
|
7
7
|
import { AXPopupService, AXPopupRef } from '@acorex/components/popup';
|
|
8
8
|
import * as rxjs from 'rxjs';
|
|
9
9
|
import { Observable, BehaviorSubject, Subject } from 'rxjs';
|
|
10
|
-
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
11
10
|
import { AXListComponent } from '@acorex/components/list';
|
|
12
11
|
import { AXDialogService } from '@acorex/components/dialog';
|
|
13
12
|
import { AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
|
|
@@ -367,6 +366,16 @@ interface AXDeleteMessageCommand {
|
|
|
367
366
|
*/
|
|
368
367
|
type AXParticipantRole = 'admin' | 'moderator' | 'member';
|
|
369
368
|
type AXParticipantStatus = 'online' | 'offline' | 'away';
|
|
369
|
+
/** Extended profile fields shown in private-chat info panels. */
|
|
370
|
+
interface AXUserProfile {
|
|
371
|
+
bio?: string;
|
|
372
|
+
phone?: string;
|
|
373
|
+
email?: string;
|
|
374
|
+
username?: string;
|
|
375
|
+
location?: string;
|
|
376
|
+
company?: string;
|
|
377
|
+
title?: string;
|
|
378
|
+
}
|
|
370
379
|
interface AXParticipant {
|
|
371
380
|
/** Unique identifier for the participant */
|
|
372
381
|
id: string;
|
|
@@ -374,9 +383,11 @@ interface AXParticipant {
|
|
|
374
383
|
name: string;
|
|
375
384
|
/**
|
|
376
385
|
* Short line shown under the name in lists (e.g. job title, status line).
|
|
377
|
-
* Distinct from long-form bio in optional `
|
|
386
|
+
* Distinct from long-form bio in optional `profile.bio`.
|
|
378
387
|
*/
|
|
379
388
|
description?: string;
|
|
389
|
+
/** Optional extended profile details for private chats. */
|
|
390
|
+
profile?: AXUserProfile;
|
|
380
391
|
/** Avatar/profile image URL */
|
|
381
392
|
avatar?: string;
|
|
382
393
|
/**
|
|
@@ -2696,11 +2707,13 @@ interface AXUserProfileUpdate {
|
|
|
2696
2707
|
avatar?: string;
|
|
2697
2708
|
/** Short line under the name in lists (e.g. job title) */
|
|
2698
2709
|
description?: string;
|
|
2699
|
-
/**
|
|
2710
|
+
/** Extended profile fields */
|
|
2711
|
+
profile?: Partial<AXUserProfile>;
|
|
2712
|
+
/** @deprecated Prefer `profile.bio` */
|
|
2700
2713
|
bio?: string;
|
|
2701
|
-
/**
|
|
2714
|
+
/** @deprecated Prefer `profile.phone` */
|
|
2702
2715
|
phone?: string;
|
|
2703
|
-
/**
|
|
2716
|
+
/** @deprecated Prefer `profile.email` */
|
|
2704
2717
|
email?: string;
|
|
2705
2718
|
/** Custom fields */
|
|
2706
2719
|
custom?: Record<string, unknown>;
|
|
@@ -3201,6 +3214,10 @@ declare class AXInfoBarService {
|
|
|
3201
3214
|
* Reset info-bar overlays when the active conversation changes.
|
|
3202
3215
|
*/
|
|
3203
3216
|
onConversationChanged(): void;
|
|
3217
|
+
/**
|
|
3218
|
+
* Open the Telegram-style conversation info panel for the active (or given) conversation.
|
|
3219
|
+
*/
|
|
3220
|
+
openConversationInfoPanel(conversation?: AXConversation): Promise<void>;
|
|
3204
3221
|
/**
|
|
3205
3222
|
* Get actions for the active conversation
|
|
3206
3223
|
*/
|
|
@@ -3743,13 +3760,13 @@ declare class AXInfoBarComponent {
|
|
|
3743
3760
|
readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
|
|
3744
3761
|
/** Active banner from service */
|
|
3745
3762
|
readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
|
|
3746
|
-
/** Members popover
|
|
3747
|
-
readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
|
|
3748
|
-
/** Members popover target element */
|
|
3763
|
+
/** Members popover target element — retained for API compatibility */
|
|
3749
3764
|
readonly membersPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
|
|
3750
3765
|
/** Loading state for async actions */
|
|
3751
3766
|
readonly actionLoading: _angular_core.WritableSignal<boolean>;
|
|
3752
|
-
/**
|
|
3767
|
+
/** Info area clicked — opens conversation profile panel */
|
|
3768
|
+
readonly infoClick: _angular_core.OutputEmitterRef<void>;
|
|
3769
|
+
/** @deprecated Use infoClick — kept for backward compatibility */
|
|
3753
3770
|
readonly avatarClick: _angular_core.OutputEmitterRef<void>;
|
|
3754
3771
|
/** Search clicked event */
|
|
3755
3772
|
readonly searchClick: _angular_core.OutputEmitterRef<void>;
|
|
@@ -3765,10 +3782,8 @@ declare class AXInfoBarComponent {
|
|
|
3765
3782
|
getStatus(conversation: AXConversation): 'online' | 'offline' | 'away' | undefined;
|
|
3766
3783
|
/** Get subtitle text - delegate to utils */
|
|
3767
3784
|
getSubtitle(conversation: AXConversation): string;
|
|
3768
|
-
/**
|
|
3769
|
-
|
|
3770
|
-
/** Handle members click - open popover */
|
|
3771
|
-
onMembersClick(event: MouseEvent): void;
|
|
3785
|
+
/** Open conversation info panel when the left info area is clicked */
|
|
3786
|
+
onInfoLeftClick(): void;
|
|
3772
3787
|
/** Handle inline action click */
|
|
3773
3788
|
onInlineActionClick(actionId: string): Promise<void>;
|
|
3774
3789
|
/** Get inputs for dynamic component */
|
|
@@ -3782,7 +3797,7 @@ declare class AXInfoBarComponent {
|
|
|
3782
3797
|
/** Handle menu item click */
|
|
3783
3798
|
onMenuItemClick(item: DropdownMenuItem): Promise<void>;
|
|
3784
3799
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
|
|
3785
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
|
|
3800
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "infoClick": "infoClick"; "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
|
|
3786
3801
|
}
|
|
3787
3802
|
|
|
3788
3803
|
declare class AXForwardMessageDialogComponent implements OnInit {
|
|
@@ -3820,36 +3835,28 @@ declare class AXForwardMessageDialogComponent implements OnInit {
|
|
|
3820
3835
|
}
|
|
3821
3836
|
|
|
3822
3837
|
/**
|
|
3823
|
-
* Shared UI for message bubble bodies:
|
|
3824
|
-
*
|
|
3838
|
+
* Shared UI for message bubble bodies: failed delivery (with retry) and content load errors.
|
|
3839
|
+
* Sending state is shown in the message-list footer only — not here (avoids layout glitch in media bubbles).
|
|
3825
3840
|
*/
|
|
3826
3841
|
declare class AXConversationMessageRendererStateComponent {
|
|
3827
3842
|
private readonly conversation;
|
|
3828
3843
|
readonly translation: AXTranslationService;
|
|
3829
3844
|
readonly rendererState: _angular_core.InputSignal<AXMessageRendererState>;
|
|
3830
3845
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
3831
|
-
/** Overrides default text when {@link AXMessageRendererState.contentState} is `error`. */
|
|
3832
3846
|
readonly contentErrorLabel: _angular_core.InputSignal<string>;
|
|
3833
|
-
/** Overrides default text when delivery failed. */
|
|
3834
3847
|
readonly deliveryFailedLabel: _angular_core.InputSignal<string>;
|
|
3835
|
-
/** Set false when the renderer shows content errors inline (e.g. inline media error state). */
|
|
3836
3848
|
readonly showContentErrorChrome: _angular_core.InputSignal<boolean>;
|
|
3837
|
-
/** `inline` matches legacy media rows (e.g. audio): compact danger text under the player. */
|
|
3838
3849
|
readonly contentErrorStyle: _angular_core.InputSignal<"inline" | "banner">;
|
|
3839
|
-
/** Icon class for content error (e.g. `fa-light fa-music` for audio). */
|
|
3840
3850
|
readonly contentErrorIconClass: _angular_core.InputSignal<string>;
|
|
3841
|
-
/** `below`: render after main bubble body (typical for media). */
|
|
3842
3851
|
readonly placement: _angular_core.InputSignal<"above" | "below">;
|
|
3843
3852
|
readonly contentRetryEnabled: _angular_core.InputSignal<boolean>;
|
|
3844
3853
|
readonly contentRetry: _angular_core.OutputEmitterRef<void>;
|
|
3845
3854
|
readonly retryBusy: _angular_core.WritableSignal<boolean>;
|
|
3846
3855
|
private readonly currentUser;
|
|
3847
3856
|
private readonly isOwn;
|
|
3848
|
-
readonly showSending: _angular_core.Signal<boolean>;
|
|
3849
3857
|
readonly showFailed: _angular_core.Signal<boolean>;
|
|
3850
3858
|
readonly showContentError: _angular_core.Signal<boolean>;
|
|
3851
3859
|
readonly hasVisibleChrome: _angular_core.Signal<boolean>;
|
|
3852
|
-
readonly showRetryButton: _angular_core.Signal<boolean>;
|
|
3853
3860
|
readonly contentErrorText: _angular_core.Signal<string>;
|
|
3854
3861
|
readonly deliveryFailedText: _angular_core.Signal<string>;
|
|
3855
3862
|
onRetry(): Promise<void>;
|
|
@@ -3901,6 +3908,7 @@ declare abstract class AXMessageRendererCopyHostComponent implements AXMessageRe
|
|
|
3901
3908
|
|
|
3902
3909
|
declare class AXAudioRendererComponent extends AXMessageRendererCopyHostComponent {
|
|
3903
3910
|
private readonly fileTypes;
|
|
3911
|
+
private readonly translation;
|
|
3904
3912
|
private readonly destroyRef;
|
|
3905
3913
|
private readonly infoBarService;
|
|
3906
3914
|
private readonly attachments;
|
|
@@ -3917,6 +3925,7 @@ declare class AXAudioRendererComponent extends AXMessageRendererCopyHostComponen
|
|
|
3917
3925
|
readonly payload: _angular_core.Signal<AXAudioPayload>;
|
|
3918
3926
|
readonly audios: _angular_core.Signal<AXAudioMediaItem[]>;
|
|
3919
3927
|
readonly caption: _angular_core.Signal<string>;
|
|
3928
|
+
readonly audioLoadErrorLabel: _angular_core.Signal<string>;
|
|
3920
3929
|
copy(): Promise<string>;
|
|
3921
3930
|
constructor();
|
|
3922
3931
|
onPlayingChange(index: number, playing: boolean): void;
|
|
@@ -4055,15 +4064,17 @@ declare class AXTextRendererComponent extends AXMessageRendererCopyHostComponent
|
|
|
4055
4064
|
|
|
4056
4065
|
declare class AXVideoRendererComponent extends AXMessageRendererCopyHostComponent {
|
|
4057
4066
|
private readonly fileTypes;
|
|
4067
|
+
private readonly translation;
|
|
4058
4068
|
private readonly platformId;
|
|
4059
4069
|
private readonly destroyRef;
|
|
4060
4070
|
private readonly infoBarService;
|
|
4061
4071
|
private readonly attachments;
|
|
4072
|
+
private readonly _contentState;
|
|
4062
4073
|
private readonly activeVideoIndex;
|
|
4063
4074
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
4064
4075
|
readonly rendererState: _angular_core.Signal<{
|
|
4065
4076
|
deliveryStatus: AXMessageStatus;
|
|
4066
|
-
contentState:
|
|
4077
|
+
contentState: AXMessageRendererContentState;
|
|
4067
4078
|
}>;
|
|
4068
4079
|
readonly isPlaying: _angular_core.WritableSignal<boolean>;
|
|
4069
4080
|
readonly currentTime: _angular_core.WritableSignal<number>;
|
|
@@ -4071,12 +4082,14 @@ declare class AXVideoRendererComponent extends AXMessageRendererCopyHostComponen
|
|
|
4071
4082
|
readonly payload: _angular_core.Signal<AXVideoPayload>;
|
|
4072
4083
|
readonly videos: _angular_core.Signal<AXVideoMediaItem[]>;
|
|
4073
4084
|
readonly caption: _angular_core.Signal<string>;
|
|
4085
|
+
readonly videoLoadErrorLabel: _angular_core.Signal<string>;
|
|
4074
4086
|
copy(): Promise<string>;
|
|
4075
4087
|
constructor();
|
|
4076
4088
|
onPlayingChange(index: number, playing: boolean): void;
|
|
4077
4089
|
onTimeUpdate(index: number, time: number): void;
|
|
4078
4090
|
onDurationChange(index: number, duration: number): void;
|
|
4079
4091
|
onPlaybackEnded(index: number): void;
|
|
4092
|
+
onPlaybackError(): void;
|
|
4080
4093
|
togglePlay(): void;
|
|
4081
4094
|
private pauseOtherVideos;
|
|
4082
4095
|
private pausePlayback;
|
|
@@ -4087,6 +4100,7 @@ declare class AXVideoRendererComponent extends AXMessageRendererCopyHostComponen
|
|
|
4087
4100
|
|
|
4088
4101
|
declare class AXVoiceRendererComponent extends AXMessageRendererCopyHostComponent {
|
|
4089
4102
|
private readonly fileTypes;
|
|
4103
|
+
private readonly translation;
|
|
4090
4104
|
private readonly platformId;
|
|
4091
4105
|
private readonly destroyRef;
|
|
4092
4106
|
private readonly infoBarService;
|
|
@@ -4109,6 +4123,7 @@ declare class AXVoiceRendererComponent extends AXMessageRendererCopyHostComponen
|
|
|
4109
4123
|
readonly waveformBars: _angular_core.Signal<number[]>;
|
|
4110
4124
|
readonly activeBarIndex: _angular_core.Signal<number>;
|
|
4111
4125
|
readonly timeLabel: _angular_core.Signal<string>;
|
|
4126
|
+
readonly voiceLoadErrorLabel: _angular_core.Signal<string>;
|
|
4112
4127
|
copy(): Promise<string>;
|
|
4113
4128
|
constructor();
|
|
4114
4129
|
togglePlay(): void;
|
|
@@ -4141,6 +4156,7 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
4141
4156
|
private readonly toast;
|
|
4142
4157
|
private readonly infoBarService;
|
|
4143
4158
|
private readonly translation;
|
|
4159
|
+
private readonly document;
|
|
4144
4160
|
protected readonly config: Required<AXConversationConfig>;
|
|
4145
4161
|
/**
|
|
4146
4162
|
* Background for the message list scroll area from config, or the built-in soft gradient when unset/empty.
|
|
@@ -4155,6 +4171,7 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
4155
4171
|
private readonly forwardCounts;
|
|
4156
4172
|
readonly reactionPickerTarget: _angular_core.WritableSignal<string>;
|
|
4157
4173
|
readonly reactionPickerElement: _angular_core.WritableSignal<HTMLElement>;
|
|
4174
|
+
readonly reactionPickerPlacement: _angular_core.WritableSignal<AXPlacement>;
|
|
4158
4175
|
readonly reactionPopover: _angular_core.Signal<any>;
|
|
4159
4176
|
/** Message id whose context menu is open (for active row styling). */
|
|
4160
4177
|
readonly contextMenuMessageId: _angular_core.WritableSignal<string>;
|
|
@@ -4248,7 +4265,7 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
4248
4265
|
hasReacted: boolean;
|
|
4249
4266
|
}): string;
|
|
4250
4267
|
/** Toggle reaction picker */
|
|
4251
|
-
toggleReactionPicker(
|
|
4268
|
+
toggleReactionPicker(message: AXMessage, event: MouseEvent): void;
|
|
4252
4269
|
/** Close reaction picker */
|
|
4253
4270
|
closeReactionPicker(): void;
|
|
4254
4271
|
/** Check if current user has reacted with specific emoji */
|
|
@@ -5412,73 +5429,127 @@ declare function createObjectUrl(platformId: object, blob: Blob): string;
|
|
|
5412
5429
|
declare function revokeObjectUrl(platformId: object, url: string): void;
|
|
5413
5430
|
declare function createLocalPreviewUrl(fileService: AXFileService, platformId: object, source: File | Blob, messageType: AXMessageType): Promise<string | undefined>;
|
|
5414
5431
|
|
|
5432
|
+
interface AXConversationInfoProfileField {
|
|
5433
|
+
id: string;
|
|
5434
|
+
labelKey: string;
|
|
5435
|
+
value: string;
|
|
5436
|
+
icon: string;
|
|
5437
|
+
}
|
|
5438
|
+
type AXConversationMediaCategoryId = 'image' | 'video' | 'file' | 'audio' | 'voice' | 'sticker' | 'location' | 'link';
|
|
5439
|
+
interface AXConversationMediaCategory {
|
|
5440
|
+
id: AXConversationMediaCategoryId;
|
|
5441
|
+
labelKey: string;
|
|
5442
|
+
countLabelKey: string;
|
|
5443
|
+
icon: string;
|
|
5444
|
+
count: number;
|
|
5445
|
+
}
|
|
5446
|
+
interface AXConversationMediaGalleryTile {
|
|
5447
|
+
key: string;
|
|
5448
|
+
message: AXMessage;
|
|
5449
|
+
kind: 'image' | 'video' | 'sticker';
|
|
5450
|
+
image?: AXImageMediaItem;
|
|
5451
|
+
video?: AXVideoMediaItem;
|
|
5452
|
+
stickerUrl?: string;
|
|
5453
|
+
stickerAlt?: string;
|
|
5454
|
+
}
|
|
5455
|
+
declare function getMessageVideoItems(message: AXMessage): AXVideoMediaItem[];
|
|
5456
|
+
declare function getMessageAudioItems(message: AXMessage): AXAudioMediaItem[];
|
|
5457
|
+
|
|
5458
|
+
interface AXInfoPanelQuickAction {
|
|
5459
|
+
id: string;
|
|
5460
|
+
labelKey: string;
|
|
5461
|
+
icon: string;
|
|
5462
|
+
danger?: boolean;
|
|
5463
|
+
}
|
|
5415
5464
|
declare class AXConversationInfoPanelComponent extends AXClosableComponent implements OnInit, OnDestroy {
|
|
5416
5465
|
private readonly toastService;
|
|
5417
5466
|
readonly translation: AXTranslationService;
|
|
5418
|
-
|
|
5467
|
+
private readonly injectedConversationService;
|
|
5419
5468
|
readonly onClosed: _angular_core.OutputEmitterRef<AXComponentCloseEvent>;
|
|
5420
|
-
/** Conversation (typically passed via popup data). */
|
|
5421
5469
|
conversation: AXConversation;
|
|
5422
5470
|
conversationService: AXConversationService;
|
|
5423
|
-
|
|
5424
|
-
|
|
5425
|
-
|
|
5426
|
-
|
|
5427
|
-
|
|
5428
|
-
|
|
5429
|
-
|
|
5471
|
+
readonly activeTab: _angular_core.WritableSignal<"profile" | "manage">;
|
|
5472
|
+
readonly showMemberSearch: _angular_core.WritableSignal<boolean>;
|
|
5473
|
+
readonly panelView: _angular_core.WritableSignal<"media" | "main">;
|
|
5474
|
+
readonly selectedMediaCategory: _angular_core.WritableSignal<AXConversationMediaCategory>;
|
|
5475
|
+
readonly conversationMessages: _angular_core.WritableSignal<AXMessage[]>;
|
|
5476
|
+
readonly loadingMessages: _angular_core.WritableSignal<boolean>;
|
|
5477
|
+
readonly memberSearchQuery: _angular_core.WritableSignal<string>;
|
|
5430
5478
|
archived: boolean;
|
|
5431
5479
|
private initialNotifications;
|
|
5432
|
-
private initialShowPreview;
|
|
5433
5480
|
private initialArchived;
|
|
5434
|
-
memberSearchQuery: string;
|
|
5435
|
-
activeTab: string;
|
|
5436
5481
|
editTitle: string;
|
|
5437
5482
|
editAvatar: string;
|
|
5483
|
+
private groupTitleSaveTimer;
|
|
5484
|
+
private groupDetailsSaveInFlight;
|
|
5438
5485
|
readonly backgroundPresets: Array<{
|
|
5439
5486
|
id: string;
|
|
5440
5487
|
label: string;
|
|
5441
5488
|
value: string;
|
|
5442
5489
|
}>;
|
|
5443
|
-
|
|
5444
|
-
|
|
5445
|
-
|
|
5446
|
-
|
|
5490
|
+
readonly heroSubtitle: _angular_core.Signal<string>;
|
|
5491
|
+
readonly liveConversation: _angular_core.Signal<AXConversation>;
|
|
5492
|
+
readonly isConversationMuted: _angular_core.Signal<boolean>;
|
|
5493
|
+
readonly profileFields: _angular_core.Signal<AXConversationInfoProfileField[]>;
|
|
5494
|
+
readonly mediaCategories: _angular_core.Signal<AXConversationMediaCategory[]>;
|
|
5495
|
+
readonly quickActions: _angular_core.Signal<AXInfoPanelQuickAction[]>;
|
|
5496
|
+
readonly filteredMembers: _angular_core.Signal<AXParticipant[]>;
|
|
5447
5497
|
ngOnInit(): void;
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5498
|
+
private loadConversationMessages;
|
|
5499
|
+
isPrivateConversation(): boolean;
|
|
5500
|
+
isGroupConversation(): boolean;
|
|
5501
|
+
membersSectionTitle(): string;
|
|
5502
|
+
getMemberRoleLabel(participant: AXParticipant): string | null;
|
|
5503
|
+
onMemberSearchChange(value: string | null | undefined): void;
|
|
5504
|
+
setActiveTab(tab: 'profile' | 'manage'): void;
|
|
5505
|
+
toggleMemberSearch(): void;
|
|
5506
|
+
openMediaCategory(category: AXConversationMediaCategory): void;
|
|
5507
|
+
closeMediaView(): void;
|
|
5508
|
+
getMediaRowLabel(category: AXConversationMediaCategory): string;
|
|
5509
|
+
getMemberSubtitle(participant: AXParticipant): string;
|
|
5510
|
+
onQuickAction(actionId: string): void;
|
|
5511
|
+
toggleConversationMute(): Promise<void>;
|
|
5453
5512
|
onNotificationsChange(value: boolean): Promise<void>;
|
|
5454
|
-
/** Handle show preview change */
|
|
5455
|
-
onShowPreviewChange(value: boolean): Promise<void>;
|
|
5456
|
-
/** Handle archived change */
|
|
5457
5513
|
onArchivedChange(value: boolean): Promise<void>;
|
|
5458
|
-
/** Implement AXClosableComponent.close() */
|
|
5459
5514
|
close(data?: unknown): void;
|
|
5460
|
-
/** Implement AXClosableComponent.closeAll() */
|
|
5461
5515
|
closeAll(): void;
|
|
5462
|
-
/** Handle leave conversation */
|
|
5463
5516
|
onLeave(): Promise<void>;
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
getFormattedDate(date: Date): string;
|
|
5468
|
-
/** Check if can save edit */
|
|
5469
|
-
canSaveEdit(): boolean;
|
|
5470
|
-
/** Save edit */
|
|
5471
|
-
saveEdit(): Promise<void>;
|
|
5472
|
-
currentBackground(): string;
|
|
5517
|
+
onGroupTitleChange(value: string): void;
|
|
5518
|
+
onGroupAvatarChange(value: string): void;
|
|
5519
|
+
private persistGroupDetails;
|
|
5473
5520
|
isBackgroundSelected(value: string): boolean;
|
|
5474
5521
|
applyMessageListBackground(value: string): Promise<void>;
|
|
5475
|
-
ngOnDestroy(): void;
|
|
5476
|
-
getMembersTabLabel(): string;
|
|
5477
5522
|
getBackgroundAriaLabel(label: string): string;
|
|
5523
|
+
ngOnDestroy(): void;
|
|
5478
5524
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationInfoPanelComponent, never>;
|
|
5479
5525
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationInfoPanelComponent, "ax-conversation-info-panel", never, {}, { "onClosed": "onClosed"; }, never, never, true, never>;
|
|
5480
5526
|
}
|
|
5481
5527
|
|
|
5528
|
+
declare class AXConversationInfoMediaViewComponent {
|
|
5529
|
+
private readonly translation;
|
|
5530
|
+
private readonly parentInjector;
|
|
5531
|
+
readonly category: _angular_core.InputSignal<AXConversationMediaCategory>;
|
|
5532
|
+
readonly messages: _angular_core.InputSignal<AXMessage[]>;
|
|
5533
|
+
readonly conversation: _angular_core.InputSignal<AXConversation>;
|
|
5534
|
+
readonly conversationServiceInput: _angular_core.InputSignal<AXConversationService>;
|
|
5535
|
+
readonly back: _angular_core.OutputEmitterRef<void>;
|
|
5536
|
+
readonly items: _angular_core.Signal<AXMessage[]>;
|
|
5537
|
+
readonly isGrid: _angular_core.Signal<boolean>;
|
|
5538
|
+
readonly isAttachmentList: _angular_core.Signal<boolean>;
|
|
5539
|
+
readonly galleryTiles: _angular_core.Signal<AXConversationMediaGalleryTile[]>;
|
|
5540
|
+
readonly rendererInjector: _angular_core.Signal<_angular_core.DestroyableInjector>;
|
|
5541
|
+
readonly titleLabel: _angular_core.Signal<string>;
|
|
5542
|
+
readonly getMessageVideoItems: typeof getMessageVideoItems;
|
|
5543
|
+
readonly getMessageAudioItems: typeof getMessageAudioItems;
|
|
5544
|
+
getRendererComponent(message: AXMessage): typeof AXFallbackRendererComponent | _angular_core.Type<_acorex_components_conversation2.AXMessageRendererComponent>;
|
|
5545
|
+
getRendererInputs(message: AXMessage): {
|
|
5546
|
+
message: AXMessage;
|
|
5547
|
+
};
|
|
5548
|
+
formatTimestamp(message: AXMessage): string;
|
|
5549
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationInfoMediaViewComponent, never>;
|
|
5550
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationInfoMediaViewComponent, "ax-conversation-info-media-view", never, { "category": { "alias": "category"; "required": true; "isSignal": true; }; "messages": { "alias": "messages"; "required": true; "isSignal": true; }; "conversation": { "alias": "conversation"; "required": true; "isSignal": true; }; "conversationServiceInput": { "alias": "conversationService"; "required": true; "isSignal": true; }; }, { "back": "back"; }, never, never, true, never>;
|
|
5551
|
+
}
|
|
5552
|
+
|
|
5482
5553
|
declare class AXInfoBarSearchComponent {
|
|
5483
5554
|
private readonly platformId;
|
|
5484
5555
|
private readonly destroyRef;
|
|
@@ -5522,10 +5593,6 @@ declare class AXInfoBarSearchComponent {
|
|
|
5522
5593
|
* Search in conversation action (inline)
|
|
5523
5594
|
*/
|
|
5524
5595
|
declare const AX_CONVERSATION_INFO_BAR_SEARCH_ACTION: AXInfoBarAction;
|
|
5525
|
-
/**
|
|
5526
|
-
* Show conversation info action (menu)
|
|
5527
|
-
*/
|
|
5528
|
-
declare const AX_CONVERSATION_INFO_BAR_INFO_ACTION: AXInfoBarAction;
|
|
5529
5596
|
/**
|
|
5530
5597
|
* Mute/Unmute notifications action (menu)
|
|
5531
5598
|
*/
|
|
@@ -5707,6 +5774,9 @@ declare function shouldUseUserAvatarForConversation(conversation: AXConversation
|
|
|
5707
5774
|
declare function resolveUserAvatarDisplay(userId: string, conversation: AXConversation | undefined, message?: AXMessage): AXConversationAvatarDisplay;
|
|
5708
5775
|
declare function resolveConversationAvatarDisplay(conversation: AXConversation): AXConversationAvatarDisplay;
|
|
5709
5776
|
|
|
5777
|
+
/** Resolves typed `profile`, falling back to legacy `metadata.profile`. */
|
|
5778
|
+
declare function resolveParticipantProfile(participant?: AXParticipant): AXUserProfile;
|
|
5779
|
+
|
|
5710
5780
|
declare class AXConversationDateUtilsService {
|
|
5711
5781
|
/**
|
|
5712
5782
|
* Format relative time (e.g., "2m ago", "1h ago")
|
|
@@ -6291,5 +6361,5 @@ declare function getErrorMessage(code: string, params?: Record<string, string |
|
|
|
6291
6361
|
*/
|
|
6292
6362
|
type AXErrorCode = typeof MESSAGE_ERRORS[keyof typeof MESSAGE_ERRORS]['code'] | typeof FILE_ERRORS[keyof typeof FILE_ERRORS]['code'] | typeof USER_ERRORS[keyof typeof USER_ERRORS]['code'] | typeof CONVERSATION_ERRORS[keyof typeof CONVERSATION_ERRORS]['code'] | typeof CONNECTION_ERRORS[keyof typeof CONNECTION_ERRORS]['code'] | typeof LOCATION_ERRORS[keyof typeof LOCATION_ERRORS]['code'] | typeof URL_ERRORS[keyof typeof URL_ERRORS]['code'];
|
|
6293
6363
|
|
|
6294
|
-
export { AXAudioPickerComponent, AXAudioRendererComponent, AXBaseRegistry, AXCnvMediaPlaybackInfoBarBannerComponent, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry, AXConversation2Module, AXConversationAiApiKey, AXConversationAiResponderService, AXConversationApi, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationIndexedDbConversationApi, AXConversationIndexedDbMessageAiApi, AXConversationIndexedDbMessageApi, AXConversationIndexedDbRealtimeApi, AXConversationIndexedDbStorage, AXConversationIndexedDbStores, AXConversationIndexedDbUserApi, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationService, AXConversationSharedStorage, AXConversationTabRegistry, AXEmojiTabComponent, AXErrorHandlerService, AXFallbackRendererComponent, AXFilePickerComponent, AXFileRendererComponent, AXForwardMessageDialogComponent, AXImagePickerComponent, AXImageRendererComponent, AXInfiniteScrollDirective, AXInfoBarActionRegistry, AXInfoBarComponent, AXInfoBarSearchComponent, AXInfoBarService, AXLocationPickerComponent, AXLocationRendererComponent, AXMessageActionRegistry, AXMessageApi, AXMessageListComponent, AXMessageListNoActiveDefaultComponent, AXMessageListService, AXMessageRendererRegistry, AXNewConversationDialogComponent, AXPickerFooterComponent, AXPickerHeaderComponent, AXRealtimeApi, AXRegistryService, AXSidebarComponent, AXSidebarService, AXStickerRendererComponent, AXStickerTabComponent, AXSystemRendererComponent, AXTextRendererComponent, AXUserApi, AXVideoPickerComponent, AXVideoRendererComponent, AXVoiceRecorderComponent, AXVoiceRendererComponent, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_FILE_TYPE_PROVIDERS, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, AX_CONVERSATION_CURSOR_PREFIX, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER,
|
|
6295
|
-
export type { AXApiError, AXAudioMediaItem, AXAudioPayload, AXBlockReportReason, AXCallEvent, AXChatCursorKind, AXComposerAction, AXComposerActionComponent, AXComposerActionContext, AXComposerActiveComponent, AXComposerTab, AXConnectionEvent, AXConnectionOptions, AXConnectionStatus, AXConversation, AXConversationAiResponderConfig, AXConversationAvatarComponents, AXConversationAvatarDisplay, AXConversationAvatarKind, AXConversationConfig, AXConversationConversationAvatarComponent, AXConversationCreateData, AXConversationError, AXConversationFilter, AXConversationFilters, AXConversationIndexedDbMediaRecord, AXConversationItemAction, AXConversationItemActionContext, AXConversationMetadata, AXConversationOptions, AXConversationSettings, AXConversationSettingsUpdate, AXConversationSort, AXConversationStatus, AXConversationTab, AXConversationType, AXConversationUpdateData, AXConversationUploadOptions, AXConversationUserAvatarComponent, AXDeleteMessageCommand, AXEditMessageCommand, AXErrorCode, AXErrorHandlerConfig, AXErrorMessage, AXErrorSeverity, AXFileMediaItem, AXFilePayload, AXGroupedReaction, AXImageMediaItem, AXImagePayload, AXInfoBarAction, AXInfoBarActionComponent, AXInfoBarActionContext, AXInfoBarActiveBanner, AXInfoBarActiveComponent, AXLink, AXLinkPreview, AXLoadMessagesResult, AXLocationPayload, AXMediaItemFields, AXMention, AXMessage, AXMessageAction, AXMessageActionContext, AXMessageForwardData, AXMessageInfoBarBannerComponent, AXMessageListEmptyComponent, AXMessagePayload, AXMessageRenderer, AXMessageRendererCapabilities, AXMessageRendererComponent, AXMessageRendererContentState, AXMessageRendererState, AXMessageSearchFilters, AXMessageStatus, AXMessageType, AXNotificationEvent, AXPaginatedResult, AXPagination, AXPaginationState, AXParsedChatCursor, AXParticipant, AXParticipantRole, AXParticipantStatus, AXParticipantUpdate, AXPinnedMessage, AXPlaybackBannerInputs, AXPollOption, AXPollPayload, AXPresenceStatus, AXPresenceUpdate, AXReaction, AXReadReceipt, AXRegistryConfiguration, AXRegistryItem, AXSendMessageCommand, AXSendMessageOptions, AXSendMessageUploadSource, AXStickerPayload, AXSystemPayload, AXTextFormat, AXTextPayload, AXTypingIndicator, AXUploaderReference, AXUploaderResult, AXUserProfileUpdate, AXUserRole, AXUserSearchFilters, AXValidationResult, AXVideoMediaItem, AXVideoPayload, AXVoicePayload, DropdownMenuItem, UploaderFilePreview };
|
|
6364
|
+
export { AXAudioPickerComponent, AXAudioRendererComponent, AXBaseRegistry, AXCnvMediaPlaybackInfoBarBannerComponent, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry, AXConversation2Module, AXConversationAiApiKey, AXConversationAiResponderService, AXConversationApi, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationIndexedDbConversationApi, AXConversationIndexedDbMessageAiApi, AXConversationIndexedDbMessageApi, AXConversationIndexedDbRealtimeApi, AXConversationIndexedDbStorage, AXConversationIndexedDbStores, AXConversationIndexedDbUserApi, AXConversationInfoMediaViewComponent, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationService, AXConversationSharedStorage, AXConversationTabRegistry, AXEmojiTabComponent, AXErrorHandlerService, AXFallbackRendererComponent, AXFilePickerComponent, AXFileRendererComponent, AXForwardMessageDialogComponent, AXImagePickerComponent, AXImageRendererComponent, AXInfiniteScrollDirective, AXInfoBarActionRegistry, AXInfoBarComponent, AXInfoBarSearchComponent, AXInfoBarService, AXLocationPickerComponent, AXLocationRendererComponent, AXMessageActionRegistry, AXMessageApi, AXMessageListComponent, AXMessageListNoActiveDefaultComponent, AXMessageListService, AXMessageRendererRegistry, AXNewConversationDialogComponent, AXPickerFooterComponent, AXPickerHeaderComponent, AXRealtimeApi, AXRegistryService, AXSidebarComponent, AXSidebarService, AXStickerRendererComponent, AXStickerTabComponent, AXSystemRendererComponent, AXTextRendererComponent, AXUserApi, AXVideoPickerComponent, AXVideoRendererComponent, AXVoiceRecorderComponent, AXVoiceRendererComponent, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_FILE_TYPE_PROVIDERS, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, AX_CONVERSATION_CURSOR_PREFIX, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_BOT, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_USER_AVATAR_COMPONENT, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, AX_MESSAGE_CURSOR_PREFIX, AX_STICKER_API_KEY, CONNECTION_ERRORS, CONVERSATION_CONFIG, CONVERSATION_ERRORS, CONVERSATION_FILE_TYPES_READY, DEFAULT_COMPOSER_ACTIONS, DEFAULT_COMPOSER_TABS, DEFAULT_CONVERSATION_ITEM_ACTIONS, DEFAULT_CONVERSATION_TABS, DEFAULT_INFO_BAR_ACTIONS, DEFAULT_MESSAGE_ACTIONS, DEFAULT_MESSAGE_RENDERERS, ERROR_HANDLER_CONFIG, ERROR_MESSAGES, FILE_ERRORS, LOCATION_ERRORS, MESSAGE_ERRORS, REGISTRY_CONFIG, URL_ERRORS, USER_ERRORS, applyConversationFilters, applyLocalPreview, axConversationIndexedDbStorage, conversationSharedStorage, createLocalPreviewUrl, createObjectUrl, encodeConversationCursor, encodeMessageCursor, formatErrorMessage, getConversationLastActivity, getConversationMessagesNewestFirst, getErrorMessage, getSortedConversationsForInbox, mergeUploadResult, mergeWithDefaults, normalizeAllConversationMessageIndexes, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, resolveConversationAvatarDisplay, resolveParticipantProfile, resolvePrivatePeerUserId, resolveUserAvatarDisplay, revokeObjectUrl, sanitizeInput, shouldUseUserAvatarForConversation, sortConversationMessageIds, toUploaderReference, unregisterChatMessage, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
|
|
6365
|
+
export type { AXApiError, AXAudioMediaItem, AXAudioPayload, AXBlockReportReason, AXCallEvent, AXChatCursorKind, AXComposerAction, AXComposerActionComponent, AXComposerActionContext, AXComposerActiveComponent, AXComposerTab, AXConnectionEvent, AXConnectionOptions, AXConnectionStatus, AXConversation, AXConversationAiResponderConfig, AXConversationAvatarComponents, AXConversationAvatarDisplay, AXConversationAvatarKind, AXConversationConfig, AXConversationConversationAvatarComponent, AXConversationCreateData, AXConversationError, AXConversationFilter, AXConversationFilters, AXConversationIndexedDbMediaRecord, AXConversationItemAction, AXConversationItemActionContext, AXConversationMetadata, AXConversationOptions, AXConversationSettings, AXConversationSettingsUpdate, AXConversationSort, AXConversationStatus, AXConversationTab, AXConversationType, AXConversationUpdateData, AXConversationUploadOptions, AXConversationUserAvatarComponent, AXDeleteMessageCommand, AXEditMessageCommand, AXErrorCode, AXErrorHandlerConfig, AXErrorMessage, AXErrorSeverity, AXFileMediaItem, AXFilePayload, AXGroupedReaction, AXImageMediaItem, AXImagePayload, AXInfoBarAction, AXInfoBarActionComponent, AXInfoBarActionContext, AXInfoBarActiveBanner, AXInfoBarActiveComponent, AXLink, AXLinkPreview, AXLoadMessagesResult, AXLocationPayload, AXMediaItemFields, AXMention, AXMessage, AXMessageAction, AXMessageActionContext, AXMessageForwardData, AXMessageInfoBarBannerComponent, AXMessageListEmptyComponent, AXMessagePayload, AXMessageRenderer, AXMessageRendererCapabilities, AXMessageRendererComponent, AXMessageRendererContentState, AXMessageRendererState, AXMessageSearchFilters, AXMessageStatus, AXMessageType, AXNotificationEvent, AXPaginatedResult, AXPagination, AXPaginationState, AXParsedChatCursor, AXParticipant, AXParticipantRole, AXParticipantStatus, AXParticipantUpdate, AXPinnedMessage, AXPlaybackBannerInputs, AXPollOption, AXPollPayload, AXPresenceStatus, AXPresenceUpdate, AXReaction, AXReadReceipt, AXRegistryConfiguration, AXRegistryItem, AXSendMessageCommand, AXSendMessageOptions, AXSendMessageUploadSource, AXStickerPayload, AXSystemPayload, AXTextFormat, AXTextPayload, AXTypingIndicator, AXUploaderReference, AXUploaderResult, AXUserProfile, AXUserProfileUpdate, AXUserRole, AXUserSearchFilters, AXValidationResult, AXVideoMediaItem, AXVideoPayload, AXVoicePayload, DropdownMenuItem, UploaderFilePreview };
|