@acorex/components 22.0.0-next.37 → 22.0.0-next.39
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.
|
@@ -161,6 +161,7 @@ const AX_CONVERSATION_ERROR_HANDLER_CONFIG = new InjectionToken('AX_CONVERSATION
|
|
|
161
161
|
/**
|
|
162
162
|
* Pluggable avatar components for the conversation UI.
|
|
163
163
|
* Register via `provideConversation({ avatarComponents: { user, conversation } })`.
|
|
164
|
+
* When only `user` is registered, a built-in conversation avatar host is wired automatically.
|
|
164
165
|
*/
|
|
165
166
|
const AX_CONVERSATION_USER_AVATAR_COMPONENT = new InjectionToken('AX_CONVERSATION_USER_AVATAR_COMPONENT');
|
|
166
167
|
const AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT = new InjectionToken('AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT');
|
|
@@ -509,7 +510,30 @@ class AXConversationMessageUtilsService {
|
|
|
509
510
|
if (AXConversationMessageUtilsService.getConversationAvatar(conversation)) {
|
|
510
511
|
return undefined;
|
|
511
512
|
}
|
|
512
|
-
|
|
513
|
+
const explicit = AXConversationMessageUtilsService.normalizeOptionalMediaValue(conversation.icon);
|
|
514
|
+
if (explicit) {
|
|
515
|
+
return explicit;
|
|
516
|
+
}
|
|
517
|
+
if (conversation.type === 'group') {
|
|
518
|
+
return AX_CONVERSATION_DEFAULT_GROUP_ICON;
|
|
519
|
+
}
|
|
520
|
+
if (conversation.type === 'private' || conversation.type === 'bot') {
|
|
521
|
+
return AX_CONVERSATION_DEFAULT_USER_ICON;
|
|
522
|
+
}
|
|
523
|
+
return undefined;
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Font Awesome icon for a participant when there is no avatar image.
|
|
527
|
+
*/
|
|
528
|
+
static getParticipantAvatarIcon(participant) {
|
|
529
|
+
if (AXConversationMessageUtilsService.normalizeOptionalMediaValue(participant?.avatar)) {
|
|
530
|
+
return undefined;
|
|
531
|
+
}
|
|
532
|
+
const explicit = AXConversationMessageUtilsService.normalizeOptionalMediaValue(participant?.icon);
|
|
533
|
+
if (explicit) {
|
|
534
|
+
return explicit;
|
|
535
|
+
}
|
|
536
|
+
return AX_CONVERSATION_DEFAULT_USER_ICON;
|
|
513
537
|
}
|
|
514
538
|
/**
|
|
515
539
|
* Get sender name from message
|
|
@@ -534,7 +558,7 @@ class AXConversationMessageUtilsService {
|
|
|
534
558
|
if (AXConversationMessageUtilsService.normalizeOptionalMediaValue(participant?.avatar)) {
|
|
535
559
|
return undefined;
|
|
536
560
|
}
|
|
537
|
-
return (AXConversationMessageUtilsService.
|
|
561
|
+
return (AXConversationMessageUtilsService.getParticipantAvatarIcon(participant) ??
|
|
538
562
|
AXConversationMessageUtilsService.getConversationAvatarIcon(conversation));
|
|
539
563
|
}
|
|
540
564
|
/**
|
|
@@ -791,17 +815,51 @@ class AXConversationMessageUtilsService {
|
|
|
791
815
|
}
|
|
792
816
|
}
|
|
793
817
|
|
|
818
|
+
/** Conversation types that resolve a single peer participant for viewer-scoped avatar/title. */
|
|
819
|
+
const AX_CONVERSATION_PEER_AVATAR_TYPES = new Set([
|
|
820
|
+
'private',
|
|
821
|
+
'bot',
|
|
822
|
+
]);
|
|
823
|
+
function normalizeOptionalMediaValue(value) {
|
|
824
|
+
if (typeof value !== 'string') {
|
|
825
|
+
return undefined;
|
|
826
|
+
}
|
|
827
|
+
const normalized = value.trim();
|
|
828
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* Other participant in a peer-scoped conversation (excludes the current viewer).
|
|
832
|
+
* Applies to private 1:1 and bot assist chats with exactly one non-viewer participant.
|
|
833
|
+
*/
|
|
834
|
+
function resolveConversationPeerUserId(conversation, currentUserId) {
|
|
835
|
+
if (!AX_CONVERSATION_PEER_AVATAR_TYPES.has(conversation.type)) {
|
|
836
|
+
return undefined;
|
|
837
|
+
}
|
|
838
|
+
const currentId = currentUserId ?? 'current-user';
|
|
839
|
+
const peers = conversation.participants.filter((participant) => participant.id !== currentId);
|
|
840
|
+
if (peers.length !== 1) {
|
|
841
|
+
return undefined;
|
|
842
|
+
}
|
|
843
|
+
return peers[0].id;
|
|
844
|
+
}
|
|
794
845
|
/** Other participant in a private chat (excludes the current user). */
|
|
795
846
|
function resolvePrivatePeerUserId(conversation, currentUserId) {
|
|
796
847
|
if (conversation.type !== 'private') {
|
|
797
848
|
return undefined;
|
|
798
849
|
}
|
|
799
|
-
|
|
800
|
-
|
|
850
|
+
return resolveConversationPeerUserId(conversation, currentUserId);
|
|
851
|
+
}
|
|
852
|
+
/** Peer participant for private and bot conversations. */
|
|
853
|
+
function resolveConversationPeerParticipant(conversation, currentUserId) {
|
|
854
|
+
const peerId = resolveConversationPeerUserId(conversation, currentUserId);
|
|
855
|
+
if (!peerId) {
|
|
856
|
+
return undefined;
|
|
857
|
+
}
|
|
858
|
+
return conversation.participants.find((participant) => participant.id === peerId);
|
|
801
859
|
}
|
|
802
|
-
/** Whether `auto` kind should render a user avatar for this conversation. */
|
|
860
|
+
/** Whether `auto` kind should render a registered user avatar for this conversation. */
|
|
803
861
|
function shouldUseUserAvatarForConversation(conversation, currentUserId) {
|
|
804
|
-
return
|
|
862
|
+
return !!resolveConversationPeerUserId(conversation, currentUserId);
|
|
805
863
|
}
|
|
806
864
|
function resolveUserAvatarDisplay(userId, conversation, message) {
|
|
807
865
|
if (message && conversation) {
|
|
@@ -822,14 +880,23 @@ function resolveConversationAvatarDisplay(conversation, currentUserId) {
|
|
|
822
880
|
const title = currentUserId !== undefined
|
|
823
881
|
? resolveConversationTitleForViewer(conversation, currentUserId)
|
|
824
882
|
: conversation.title;
|
|
883
|
+
const peer = resolveConversationPeerParticipant(conversation, currentUserId);
|
|
884
|
+
const conversationAvatar = AXConversationMessageUtilsService.getConversationAvatar(conversation);
|
|
885
|
+
const conversationIcon = AXConversationMessageUtilsService.getConversationAvatarIcon(conversation);
|
|
886
|
+
const peerAvatar = normalizeOptionalMediaValue(peer?.avatar);
|
|
887
|
+
const peerIcon = normalizeOptionalMediaValue(peer?.icon);
|
|
825
888
|
return {
|
|
826
889
|
name: title,
|
|
827
|
-
avatar:
|
|
828
|
-
icon:
|
|
890
|
+
avatar: conversationAvatar ?? peerAvatar,
|
|
891
|
+
icon: conversationIcon ?? (conversationAvatar ? undefined : peerIcon),
|
|
829
892
|
};
|
|
830
893
|
}
|
|
831
894
|
|
|
832
895
|
const AX_CONVERSATION_GENERIC_PRIVATE_TITLES = new Set(['', 'new chat', 'new conversation']);
|
|
896
|
+
/** Default Font Awesome icon for group conversations without a custom avatar image. */
|
|
897
|
+
const AX_CONVERSATION_DEFAULT_GROUP_ICON = 'fa-light fa-users';
|
|
898
|
+
/** Default Font Awesome icon for private/bot conversations without a custom avatar image. */
|
|
899
|
+
const AX_CONVERSATION_DEFAULT_USER_ICON = 'fa-light fa-user';
|
|
833
900
|
/** True when the stored title is a placeholder, not a user-defined name. */
|
|
834
901
|
function isGenericPrivateConversationTitle(title) {
|
|
835
902
|
return AX_CONVERSATION_GENERIC_PRIVATE_TITLES.has((title ?? '').trim().toLowerCase());
|
|
@@ -852,38 +919,34 @@ function resolvePrivatePeerParticipant(conversation, currentUserId) {
|
|
|
852
919
|
if (conversation.type !== 'private') {
|
|
853
920
|
return undefined;
|
|
854
921
|
}
|
|
855
|
-
|
|
856
|
-
if (!peerId) {
|
|
857
|
-
return undefined;
|
|
858
|
-
}
|
|
859
|
-
return conversation.participants.find((participant) => participant.id === peerId);
|
|
922
|
+
return resolveConversationPeerParticipant(conversation, currentUserId);
|
|
860
923
|
}
|
|
861
924
|
/**
|
|
862
925
|
* Resolves the display title for the current viewer.
|
|
863
|
-
* Private
|
|
926
|
+
* Private and bot peer-scoped chats show the other participant's name when no custom title is set.
|
|
864
927
|
*/
|
|
865
928
|
function resolveConversationTitleForViewer(conversation, currentUserId) {
|
|
866
|
-
if (conversation.type
|
|
929
|
+
if (!AX_CONVERSATION_PEER_AVATAR_TYPES.has(conversation.type)) {
|
|
867
930
|
return conversation.title;
|
|
868
931
|
}
|
|
869
|
-
const peer =
|
|
932
|
+
const peer = resolveConversationPeerParticipant(conversation, currentUserId);
|
|
870
933
|
if (peer?.name) {
|
|
871
934
|
return peer.name;
|
|
872
935
|
}
|
|
873
|
-
if (isGenericPrivateConversationTitle(conversation.title)) {
|
|
936
|
+
if (conversation.type === 'private' && isGenericPrivateConversationTitle(conversation.title)) {
|
|
874
937
|
return conversation.title || 'New Chat';
|
|
875
938
|
}
|
|
876
939
|
return conversation.title;
|
|
877
940
|
}
|
|
878
941
|
/**
|
|
879
|
-
* Returns a viewer-scoped copy of a conversation with dynamic
|
|
942
|
+
* Returns a viewer-scoped copy of a conversation with dynamic peer title/avatar/icon.
|
|
880
943
|
* Does not mutate the source object.
|
|
881
944
|
*/
|
|
882
945
|
function resolveConversationForViewer(conversation, currentUserId) {
|
|
883
|
-
if (conversation.type
|
|
946
|
+
if (!AX_CONVERSATION_PEER_AVATAR_TYPES.has(conversation.type) || !currentUserId) {
|
|
884
947
|
return conversation;
|
|
885
948
|
}
|
|
886
|
-
const peer =
|
|
949
|
+
const peer = resolveConversationPeerParticipant(conversation, currentUserId);
|
|
887
950
|
if (!peer) {
|
|
888
951
|
return conversation;
|
|
889
952
|
}
|
|
@@ -4059,7 +4122,10 @@ class AXConversationService {
|
|
|
4059
4122
|
title: isPrivate ? undefined : metadata?.['title'],
|
|
4060
4123
|
description: metadata?.['description'],
|
|
4061
4124
|
avatar: isPrivate ? undefined : AXConversationService.normalizeOptionalString(metadata?.['avatar']),
|
|
4062
|
-
icon: isPrivate
|
|
4125
|
+
icon: isPrivate
|
|
4126
|
+
? undefined
|
|
4127
|
+
: (AXConversationService.normalizeOptionalString(metadata?.['icon']) ??
|
|
4128
|
+
(type === 'group' ? AX_CONVERSATION_DEFAULT_GROUP_ICON : undefined)),
|
|
4063
4129
|
metadata: isPrivate ? undefined : metadata,
|
|
4064
4130
|
forceCreate,
|
|
4065
4131
|
};
|
|
@@ -6133,7 +6199,7 @@ class AXConversationAvatarComponent {
|
|
|
6133
6199
|
if (!conversation || this.resolvedKind() !== 'user') {
|
|
6134
6200
|
return undefined;
|
|
6135
6201
|
}
|
|
6136
|
-
return
|
|
6202
|
+
return resolveConversationPeerUserId(conversation, this.currentUserId());
|
|
6137
6203
|
}, /* @ts-ignore */
|
|
6138
6204
|
...(ngDevMode ? [{ debugName: "resolvedUserId" }] : /* istanbul ignore next */ []));
|
|
6139
6205
|
this.customComponent = computed(() => {
|
|
@@ -6146,9 +6212,17 @@ class AXConversationAvatarComponent {
|
|
|
6146
6212
|
...(ngDevMode ? [{ debugName: "customComponent" }] : /* istanbul ignore next */ []));
|
|
6147
6213
|
this.customInputs = computed(() => {
|
|
6148
6214
|
if (this.resolvedKind() === 'user') {
|
|
6215
|
+
const userId = this.resolvedUserId() ?? '';
|
|
6216
|
+
const resolved = resolveUserAvatarDisplay(userId, this.conversation(), this.message());
|
|
6217
|
+
const explicitName = this.name();
|
|
6218
|
+
const explicitAvatar = this.avatar();
|
|
6219
|
+
const explicitIcon = this.icon();
|
|
6149
6220
|
return {
|
|
6150
|
-
userId
|
|
6221
|
+
userId,
|
|
6151
6222
|
size: this.size(),
|
|
6223
|
+
displayName: explicitName ?? resolved.name,
|
|
6224
|
+
displayAvatar: explicitAvatar ?? resolved.avatar,
|
|
6225
|
+
displayIcon: explicitIcon ?? resolved.icon,
|
|
6152
6226
|
};
|
|
6153
6227
|
}
|
|
6154
6228
|
return {
|
|
@@ -8409,6 +8483,7 @@ class AXConversationNewDialogComponent extends AXBasePageComponent {
|
|
|
8409
8483
|
const metadata = {
|
|
8410
8484
|
title: this.groupTitle().trim(),
|
|
8411
8485
|
avatar: this.groupAvatar() || undefined,
|
|
8486
|
+
icon: AX_CONVERSATION_DEFAULT_GROUP_ICON,
|
|
8412
8487
|
};
|
|
8413
8488
|
conversation = await this.conversationService.createConversation(selectedIds, 'group', metadata);
|
|
8414
8489
|
}
|
|
@@ -8802,7 +8877,7 @@ function normalizeAllConversationMessageIndexes() {
|
|
|
8802
8877
|
}
|
|
8803
8878
|
|
|
8804
8879
|
/** Bump when demo seed shape changes so IndexedDB is reset on next connect. */
|
|
8805
|
-
const AX_CONVERSATION_DEMO_SEED_VERSION =
|
|
8880
|
+
const AX_CONVERSATION_DEMO_SEED_VERSION = 3;
|
|
8806
8881
|
|
|
8807
8882
|
/**
|
|
8808
8883
|
* Shared In-Memory Storage
|
|
@@ -9264,7 +9339,7 @@ async function seedSharedStorageInitialData(storage) {
|
|
|
9264
9339
|
type: 'group',
|
|
9265
9340
|
title: 'ACoreX Platform Team',
|
|
9266
9341
|
description: 'Sprint planning, releases, and blockers',
|
|
9267
|
-
|
|
9342
|
+
icon: AX_CONVERSATION_DEFAULT_GROUP_ICON,
|
|
9268
9343
|
participants: [
|
|
9269
9344
|
{ ...me, role: 'admin' },
|
|
9270
9345
|
{ ...alice, role: 'member' },
|
|
@@ -9816,6 +9891,7 @@ class AXConversationIndexedDbConversationApi extends AXConversationApi {
|
|
|
9816
9891
|
title: data.title ||
|
|
9817
9892
|
(data.type === 'private' ? 'New Chat' : data.type === 'group' ? 'New Group' : 'New Channel'),
|
|
9818
9893
|
avatar: data.avatar,
|
|
9894
|
+
icon: data.icon ?? (data.type === 'group' ? AX_CONVERSATION_DEFAULT_GROUP_ICON : undefined),
|
|
9819
9895
|
description: data.description,
|
|
9820
9896
|
participants: [...participantIds].map((id) => {
|
|
9821
9897
|
const participant = axConversationSharedStorage.participants.get(id);
|
|
@@ -16919,6 +16995,76 @@ const AX_CONVERSATION_TAB_ARCHIVED = {
|
|
|
16919
16995
|
* Conversation Tabs Plugins
|
|
16920
16996
|
*/
|
|
16921
16997
|
|
|
16998
|
+
/**
|
|
16999
|
+
* Default conversation avatar host when apps register only a user avatar component.
|
|
17000
|
+
* Routes private 1:1 chats through the user avatar; other types use built-in fallback display.
|
|
17001
|
+
*/
|
|
17002
|
+
class AXConversationDefaultConversationAvatarComponent {
|
|
17003
|
+
constructor() {
|
|
17004
|
+
this.conversationService = inject(AXConversationService, { optional: true });
|
|
17005
|
+
this.userAvatarComponent = inject(AX_CONVERSATION_USER_AVATAR_COMPONENT, { optional: true });
|
|
17006
|
+
this.conversationId = input.required(/* @ts-ignore */
|
|
17007
|
+
...(ngDevMode ? [{ debugName: "conversationId" }] : /* istanbul ignore next */ []));
|
|
17008
|
+
this.size = input(40, /* @ts-ignore */
|
|
17009
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
17010
|
+
this.currentUserId = computed(() => this.conversationService?.currentUser()?.id, /* @ts-ignore */
|
|
17011
|
+
...(ngDevMode ? [{ debugName: "currentUserId" }] : /* istanbul ignore next */ []));
|
|
17012
|
+
this.conversation = computed(() => {
|
|
17013
|
+
const conversationId = this.conversationId();
|
|
17014
|
+
if (!conversationId) {
|
|
17015
|
+
return undefined;
|
|
17016
|
+
}
|
|
17017
|
+
return this.conversationService?.getConversation(conversationId) ?? undefined;
|
|
17018
|
+
}, /* @ts-ignore */
|
|
17019
|
+
...(ngDevMode ? [{ debugName: "conversation" }] : /* istanbul ignore next */ []));
|
|
17020
|
+
this.peerUserId = computed(() => {
|
|
17021
|
+
const conversation = this.conversation();
|
|
17022
|
+
if (!conversation || conversation.type !== 'private') {
|
|
17023
|
+
return undefined;
|
|
17024
|
+
}
|
|
17025
|
+
return resolveConversationPeerUserId(conversation, this.currentUserId());
|
|
17026
|
+
}, /* @ts-ignore */
|
|
17027
|
+
...(ngDevMode ? [{ debugName: "peerUserId" }] : /* istanbul ignore next */ []));
|
|
17028
|
+
this.useUserAvatar = computed(() => {
|
|
17029
|
+
const component = this.userAvatarComponent;
|
|
17030
|
+
const peerId = this.peerUserId();
|
|
17031
|
+
return component && peerId ? component : null;
|
|
17032
|
+
}, /* @ts-ignore */
|
|
17033
|
+
...(ngDevMode ? [{ debugName: "useUserAvatar" }] : /* istanbul ignore next */ []));
|
|
17034
|
+
this.userAvatarInputs = computed(() => {
|
|
17035
|
+
const userId = this.peerUserId() ?? '';
|
|
17036
|
+
const conversation = this.conversation();
|
|
17037
|
+
const resolved = resolveUserAvatarDisplay(userId, conversation);
|
|
17038
|
+
return {
|
|
17039
|
+
userId,
|
|
17040
|
+
size: this.size(),
|
|
17041
|
+
displayName: resolved.name,
|
|
17042
|
+
displayAvatar: resolved.avatar,
|
|
17043
|
+
displayIcon: resolved.icon,
|
|
17044
|
+
};
|
|
17045
|
+
}, /* @ts-ignore */
|
|
17046
|
+
...(ngDevMode ? [{ debugName: "userAvatarInputs" }] : /* istanbul ignore next */ []));
|
|
17047
|
+
this.fallbackDisplay = computed(() => {
|
|
17048
|
+
const conversation = this.conversation();
|
|
17049
|
+
if (!conversation) {
|
|
17050
|
+
return { name: '?', avatar: undefined, icon: undefined };
|
|
17051
|
+
}
|
|
17052
|
+
return resolveConversationAvatarDisplay(conversation, this.currentUserId());
|
|
17053
|
+
}, /* @ts-ignore */
|
|
17054
|
+
...(ngDevMode ? [{ debugName: "fallbackDisplay" }] : /* istanbul ignore next */ []));
|
|
17055
|
+
this.fallbackInitials = computed(() => AXConversationMessageUtilsService.getInitials(this.fallbackDisplay().name), /* @ts-ignore */
|
|
17056
|
+
...(ngDevMode ? [{ debugName: "fallbackInitials" }] : /* istanbul ignore next */ []));
|
|
17057
|
+
}
|
|
17058
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXConversationDefaultConversationAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17059
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXConversationDefaultConversationAvatarComponent, isStandalone: true, selector: "ax-conversation-default-conversation-avatar", inputs: { conversationId: { classPropertyName: "conversationId", publicName: "conversationId", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--ax-conversation-avatar-size.px": "size()" } }, ngImport: i0, template: "@if (useUserAvatar(); as userAvatar) {\n <ng-container *ngComponentOutlet=\"userAvatar; inputs: userAvatarInputs()\" />\n} @else {\n <ax-avatar [size]=\"size()\">\n @if (fallbackDisplay().avatar; as avatarSrc) {\n <ax-image [src]=\"avatarSrc\" [alt]=\"fallbackDisplay().name\"></ax-image>\n } @else if (fallbackDisplay().icon; as iconClass) {\n <ax-icon><i [class]=\"iconClass\" aria-hidden=\"true\"></i></ax-icon>\n } @else {\n <ax-label>{{ fallbackInitials() }}</ax-label>\n }\n </ax-avatar>\n}\n", dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
17060
|
+
}
|
|
17061
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXConversationDefaultConversationAvatarComponent, decorators: [{
|
|
17062
|
+
type: Component,
|
|
17063
|
+
args: [{ selector: 'ax-conversation-default-conversation-avatar', encapsulation: ViewEncapsulation.None, imports: [NgComponentOutlet, AXAvatarComponent, AXDecoratorModule, AXImageComponent, AXLabelComponent], host: {
|
|
17064
|
+
'[style.--ax-conversation-avatar-size.px]': 'size()',
|
|
17065
|
+
}, template: "@if (useUserAvatar(); as userAvatar) {\n <ng-container *ngComponentOutlet=\"userAvatar; inputs: userAvatarInputs()\" />\n} @else {\n <ax-avatar [size]=\"size()\">\n @if (fallbackDisplay().avatar; as avatarSrc) {\n <ax-image [src]=\"avatarSrc\" [alt]=\"fallbackDisplay().name\"></ax-image>\n } @else if (fallbackDisplay().icon; as iconClass) {\n <ax-icon><i [class]=\"iconClass\" aria-hidden=\"true\"></i></ax-icon>\n } @else {\n <ax-label>{{ fallbackInitials() }}</ax-label>\n }\n </ax-avatar>\n}\n" }]
|
|
17066
|
+
}], propDecorators: { conversationId: [{ type: i0.Input, args: [{ isSignal: true, alias: "conversationId", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
|
|
17067
|
+
|
|
16922
17068
|
/**
|
|
16923
17069
|
* AXConversationModule
|
|
16924
17070
|
* Legacy NgModule wrapper for backward compatibility.
|
|
@@ -16932,6 +17078,8 @@ const DECLARATIONS = [
|
|
|
16932
17078
|
AXConversationComposerComponent,
|
|
16933
17079
|
AXConversationInfiniteScrollDirective,
|
|
16934
17080
|
];
|
|
17081
|
+
/** Internal default conversation avatar host; not part of the public module API. */
|
|
17082
|
+
const INTERNAL_IMPORTS = [AXConversationDefaultConversationAvatarComponent];
|
|
16935
17083
|
/**
|
|
16936
17084
|
* Creates providers array for conversation module
|
|
16937
17085
|
*/
|
|
@@ -16973,6 +17121,12 @@ function createProviders(options, includeServices) {
|
|
|
16973
17121
|
useValue: avatarComponents.conversation,
|
|
16974
17122
|
});
|
|
16975
17123
|
}
|
|
17124
|
+
else if (avatarComponents?.user) {
|
|
17125
|
+
providers.push({
|
|
17126
|
+
provide: AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT,
|
|
17127
|
+
useValue: AXConversationDefaultConversationAvatarComponent,
|
|
17128
|
+
});
|
|
17129
|
+
}
|
|
16976
17130
|
if (includeServices) {
|
|
16977
17131
|
providers.push(AXConversationMessageRendererRegistry, AXConversationMessageActionRegistry, AXConversationComposerActionRegistry, AXConversationComposerTabRegistry, AXConversationTabRegistry, AXConversationInfoBarActionRegistry, AXConversationItemActionRegistry, AXConversationRegistryService);
|
|
16978
17132
|
}
|
|
@@ -17005,7 +17159,7 @@ class AXConversationModule {
|
|
|
17005
17159
|
AXConversationInfoBarComponent,
|
|
17006
17160
|
AXConversationMessageListComponent,
|
|
17007
17161
|
AXConversationComposerComponent,
|
|
17008
|
-
AXConversationInfiniteScrollDirective], exports: [AXConversationContainerComponent,
|
|
17162
|
+
AXConversationInfiniteScrollDirective, AXConversationDefaultConversationAvatarComponent], exports: [AXConversationContainerComponent,
|
|
17009
17163
|
AXConversationSidebarComponent,
|
|
17010
17164
|
AXConversationInfoBarComponent,
|
|
17011
17165
|
AXConversationMessageListComponent,
|
|
@@ -17015,12 +17169,12 @@ class AXConversationModule {
|
|
|
17015
17169
|
AXConversationSidebarComponent,
|
|
17016
17170
|
AXConversationInfoBarComponent,
|
|
17017
17171
|
AXConversationMessageListComponent,
|
|
17018
|
-
AXConversationComposerComponent] }); }
|
|
17172
|
+
AXConversationComposerComponent, INTERNAL_IMPORTS] }); }
|
|
17019
17173
|
}
|
|
17020
17174
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXConversationModule, decorators: [{
|
|
17021
17175
|
type: NgModule,
|
|
17022
17176
|
args: [{
|
|
17023
|
-
imports: [CommonModule, FormsModule, ...DECLARATIONS],
|
|
17177
|
+
imports: [CommonModule, FormsModule, ...DECLARATIONS, ...INTERNAL_IMPORTS],
|
|
17024
17178
|
exports: [...DECLARATIONS],
|
|
17025
17179
|
providers: [],
|
|
17026
17180
|
}]
|
|
@@ -17330,5 +17484,5 @@ function getErrorMessage(code, params) {
|
|
|
17330
17484
|
* Generated bundle index. Do not edit.
|
|
17331
17485
|
*/
|
|
17332
17486
|
|
|
17333
|
-
export { AXConversationAiResponderService, AXConversationApi, AXConversationApiLoggerService, AXConversationAudioAttachmentComponent, AXConversationAudioFileTypeProvider, AXConversationAudioPickerComponent, AXConversationAudioRendererComponent, AXConversationBaseRegistry, AXConversationComposerActionRegistry, AXConversationComposerComponent, AXConversationComposerFileTypesProvider, AXConversationComposerPopupComponent, AXConversationComposerService, AXConversationComposerTabRegistry, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationEmojiTabComponent, AXConversationErrorHandlerService, AXConversationFallbackRendererComponent, AXConversationFileAttachmentComponent, AXConversationFileFileTypeProvider, AXConversationFilePickerComponent, AXConversationFileRendererComponent, AXConversationForwardMessageDialogComponent, AXConversationImageAttachmentComponent, AXConversationImageFileTypeProvider, AXConversationImagePickerComponent, AXConversationImageRendererComponent, AXConversationIndexedDbConversationApi, AXConversationIndexedDbMessageAiApi, AXConversationIndexedDbMessageApi, AXConversationIndexedDbRealtimeApi, AXConversationIndexedDbStorage, AXConversationIndexedDbStores, AXConversationIndexedDbUserApi, AXConversationInfiniteScrollDirective, AXConversationInfoBarActionRegistry, AXConversationInfoBarComponent, AXConversationInfoBarSearchComponent, AXConversationInfoBarService, AXConversationInfoMediaViewComponent, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationLocationPickerComponent, AXConversationLocationRendererComponent, AXConversationMediaPlaybackInfoBarBannerComponent, AXConversationMessageActionRegistry, AXConversationMessageApi, AXConversationMessageListComponent, AXConversationMessageListNoActiveDefaultComponent, AXConversationMessageListService, AXConversationMessageRendererCopyHostComponent, AXConversationMessageRendererRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationModule, AXConversationNewDialogComponent, AXConversationPickerCaptionComponent, AXConversationPickerEmptyComponent, AXConversationPickerFooterComponent, AXConversationPickerHeaderComponent, AXConversationPickerShellComponent, AXConversationPickerToolbarComponent, AXConversationRealtimeApi, AXConversationRegistryService, AXConversationService, AXConversationSharedStorage, AXConversationSidebarComponent, AXConversationSidebarService, AXConversationStickerRendererComponent, AXConversationStickerTabComponent, AXConversationSystemRendererComponent, AXConversationTabRegistry, AXConversationTextRendererComponent, AXConversationUserApi, AXConversationVideoAttachmentComponent, AXConversationVideoFileTypeProvider, AXConversationVideoPickerComponent, AXConversationVideoRendererComponent, AXConversationVoiceFileTypeProvider, AXConversationVoiceRecorderComponent, AXConversationVoiceRendererComponent, AX_CONVERSATION_AI_API_KEY, AX_CONVERSATION_AUDIO_CATALOG, AX_CONVERSATION_AUDIO_PRESENTATION, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_BUILTIN_COMPOSER_TABS, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, 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_CONFIG, AX_CONVERSATION_CONNECTION_ERRORS, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, AX_CONVERSATION_CURSOR_PREFIX, AX_CONVERSATION_DEFAULT_COMPOSER_ACTIONS, AX_CONVERSATION_DEFAULT_COMPOSER_TABS, AX_CONVERSATION_DEFAULT_CONVERSATION_ITEM_ACTIONS, AX_CONVERSATION_DEFAULT_CONVERSATION_TABS, AX_CONVERSATION_DEFAULT_INFO_BAR_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND_PRESET_ID, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_THEME_BACKGROUND, AX_CONVERSATION_DEFAULT_MESSAGE_RENDERERS, AX_CONVERSATION_DEMO_CONVERSATION_IDS, AX_CONVERSATION_ERRORS, AX_CONVERSATION_ERROR_HANDLER_CONFIG, AX_CONVERSATION_ERROR_MESSAGES, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_CATALOG, AX_CONVERSATION_FILE_ERRORS, AX_CONVERSATION_FILE_PRESENTATION, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_FILE_TYPES_READY, AX_CONVERSATION_IMAGE_CATALOG, AX_CONVERSATION_IMAGE_PRESENTATION, 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_ERRORS, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_CURSOR_PREFIX, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_ERRORS, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_LIST_BACKGROUND_PRESETS, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_MESSAGE_TYPE_FILE_TYPE, AX_CONVERSATION_REGISTRY_CONFIG, AX_CONVERSATION_STICKER_API_KEY, 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_URL_ERRORS, AX_CONVERSATION_USER_AVATAR_COMPONENT, AX_CONVERSATION_USER_ERRORS, AX_CONVERSATION_VIDEO_CATALOG, AX_CONVERSATION_VIDEO_PRESENTATION, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_CATALOG, AX_CONVERSATION_VOICE_PRESENTATION, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, AX_MESSAGE_PAGINATION_CONVERSATION_ID, abortPickerUploads, applyAudioLocalPreview, applyConversationFilters, applyFileLocalPreview, applyLocalPreview, applyVideoLocalPreview, applyVoiceLocalPreview, audioItemFromUpload, axConversationIndexedDbStorage, axConversationSharedStorage, bindMediaRendererContentState, buildMediaGalleryTiles, canShowRendererContentError, cleanupPickerUploads, conversationAudioUtilities, conversationFileUtilities, conversationImageUtilities, conversationVideoUtilities, conversationVoiceUtilities, copyWithFileTypeFallback, createConversationAudioFileType, createConversationFileFileType, createConversationImageFileType, createConversationVideoFileType, createConversationVoiceFileType, createLocalPreviewUrl, createObjectUrl, createPickerDragHandlers, createResolvedMediaUrlSignal, deleteUploadedPickerMedia, dismissComposerPickerHost, encodeConversationCursor, encodeMessageCursor, ensurePaginationDemoData, fetchConversationMediaMessages, fetchConversationMediaPage, fileItemFromUpload, filterMessagesByMediaCategory, filterSupplementalInfoPanelMessages, findExistingPrivateConversation, formatDuration, formatErrorMessage, formatFileByteSize, formatFileSize, formatMediaDuration, formatPickerValidationMessage, getConversationLastActivity, getConversationMediaCategories, getConversationMessagesNewestFirst, getConversationProfileFields, getErrorMessage, getMessageAudioItems, getMessageVideoItems, getPickerCancelUploadLabel, getPrivatePeerParticipant, getSortedConversationsForInbox, inferFileExtensionHintFromMessage, isAttachmentListCategory, isComposerTabEnabled, isConversationReactionsEnabled, isGenericPrivateConversationTitle, isGridMediaCategory, isMessageDeliveryPending, isMessageListThemeBackground, isNonPersistableMediaUrl, isPickerItemReadyToSend, isSameMessageListBackground, isUploadAborted, limitFilesToCapacity, mediaCopyText, mergeAudioUploadResult, mergeFileUploadResult, mergeInfoPanelMessages, mergeUploadResult, mergeVideoUploadResult, mergeVoiceUploadResult, mergeWithDefaults, messageContainsLink, normalizeAllConversationMessageIndexes, normalizeAudioPayload, normalizeFilePayload, normalizeImagePayload, normalizeMessageListBackgroundValue, normalizeMessagePayload, normalizeMessagePayloadAsync, normalizeVideoPayload, notifyMaxFilesCapacityExceeded, notifyPickerValidationErrors, openWithFileType, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, pickDisplayMediaUrl, pickerItemToMediaReference, pickerItemToUploadResult, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, reportMediaLoadError, resolveComposerMaxFiles, resolveConversationAvatarDisplay, resolveConversationComposerTabs, resolveConversationForViewer, resolveConversationMessageFileType, resolveConversationTitleForViewer, resolveGalleryImageUrl, resolveImageDisplayUrl, resolveMessageListBackgroundRaw, resolveMessageListBackgroundStyle, resolveParticipantProfile, resolvePersistableMediaUrl, resolvePersistedThumbnailUrl, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, resolveVideoThumbnailUrl, revokeObjectUrl, revokePickerBlobPreviews, sanitizeInput, seedPickerInitialFiles, seedSharedStorageInitialData, shouldUseUserAvatarForConversation, sortConversationMessageIds, syncPlaybackInfoBarBanner, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, unregisterChatMessage, uploadPickerFile, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds, videoItemFromUpload };
|
|
17487
|
+
export { AXConversationAiResponderService, AXConversationApi, AXConversationApiLoggerService, AXConversationAudioAttachmentComponent, AXConversationAudioFileTypeProvider, AXConversationAudioPickerComponent, AXConversationAudioRendererComponent, AXConversationBaseRegistry, AXConversationComposerActionRegistry, AXConversationComposerComponent, AXConversationComposerFileTypesProvider, AXConversationComposerPopupComponent, AXConversationComposerService, AXConversationComposerTabRegistry, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationEmojiTabComponent, AXConversationErrorHandlerService, AXConversationFallbackRendererComponent, AXConversationFileAttachmentComponent, AXConversationFileFileTypeProvider, AXConversationFilePickerComponent, AXConversationFileRendererComponent, AXConversationForwardMessageDialogComponent, AXConversationImageAttachmentComponent, AXConversationImageFileTypeProvider, AXConversationImagePickerComponent, AXConversationImageRendererComponent, AXConversationIndexedDbConversationApi, AXConversationIndexedDbMessageAiApi, AXConversationIndexedDbMessageApi, AXConversationIndexedDbRealtimeApi, AXConversationIndexedDbStorage, AXConversationIndexedDbStores, AXConversationIndexedDbUserApi, AXConversationInfiniteScrollDirective, AXConversationInfoBarActionRegistry, AXConversationInfoBarComponent, AXConversationInfoBarSearchComponent, AXConversationInfoBarService, AXConversationInfoMediaViewComponent, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationLocationPickerComponent, AXConversationLocationRendererComponent, AXConversationMediaPlaybackInfoBarBannerComponent, AXConversationMessageActionRegistry, AXConversationMessageApi, AXConversationMessageListComponent, AXConversationMessageListNoActiveDefaultComponent, AXConversationMessageListService, AXConversationMessageRendererCopyHostComponent, AXConversationMessageRendererRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationModule, AXConversationNewDialogComponent, AXConversationPickerCaptionComponent, AXConversationPickerEmptyComponent, AXConversationPickerFooterComponent, AXConversationPickerHeaderComponent, AXConversationPickerShellComponent, AXConversationPickerToolbarComponent, AXConversationRealtimeApi, AXConversationRegistryService, AXConversationService, AXConversationSharedStorage, AXConversationSidebarComponent, AXConversationSidebarService, AXConversationStickerRendererComponent, AXConversationStickerTabComponent, AXConversationSystemRendererComponent, AXConversationTabRegistry, AXConversationTextRendererComponent, AXConversationUserApi, AXConversationVideoAttachmentComponent, AXConversationVideoFileTypeProvider, AXConversationVideoPickerComponent, AXConversationVideoRendererComponent, AXConversationVoiceFileTypeProvider, AXConversationVoiceRecorderComponent, AXConversationVoiceRendererComponent, AX_CONVERSATION_AI_API_KEY, AX_CONVERSATION_AUDIO_CATALOG, AX_CONVERSATION_AUDIO_PRESENTATION, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_BUILTIN_COMPOSER_TABS, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, 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_CONFIG, AX_CONVERSATION_CONNECTION_ERRORS, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, AX_CONVERSATION_CURSOR_PREFIX, AX_CONVERSATION_DEFAULT_COMPOSER_ACTIONS, AX_CONVERSATION_DEFAULT_COMPOSER_TABS, AX_CONVERSATION_DEFAULT_CONVERSATION_ITEM_ACTIONS, AX_CONVERSATION_DEFAULT_CONVERSATION_TABS, AX_CONVERSATION_DEFAULT_GROUP_ICON, AX_CONVERSATION_DEFAULT_INFO_BAR_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND_PRESET_ID, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_THEME_BACKGROUND, AX_CONVERSATION_DEFAULT_MESSAGE_RENDERERS, AX_CONVERSATION_DEFAULT_USER_ICON, AX_CONVERSATION_DEMO_CONVERSATION_IDS, AX_CONVERSATION_ERRORS, AX_CONVERSATION_ERROR_HANDLER_CONFIG, AX_CONVERSATION_ERROR_MESSAGES, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_CATALOG, AX_CONVERSATION_FILE_ERRORS, AX_CONVERSATION_FILE_PRESENTATION, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_FILE_TYPES_READY, AX_CONVERSATION_IMAGE_CATALOG, AX_CONVERSATION_IMAGE_PRESENTATION, 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_ERRORS, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_CURSOR_PREFIX, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_ERRORS, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_LIST_BACKGROUND_PRESETS, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_MESSAGE_TYPE_FILE_TYPE, AX_CONVERSATION_PEER_AVATAR_TYPES, AX_CONVERSATION_REGISTRY_CONFIG, AX_CONVERSATION_STICKER_API_KEY, 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_URL_ERRORS, AX_CONVERSATION_USER_AVATAR_COMPONENT, AX_CONVERSATION_USER_ERRORS, AX_CONVERSATION_VIDEO_CATALOG, AX_CONVERSATION_VIDEO_PRESENTATION, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_CATALOG, AX_CONVERSATION_VOICE_PRESENTATION, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, AX_MESSAGE_PAGINATION_CONVERSATION_ID, abortPickerUploads, applyAudioLocalPreview, applyConversationFilters, applyFileLocalPreview, applyLocalPreview, applyVideoLocalPreview, applyVoiceLocalPreview, audioItemFromUpload, axConversationIndexedDbStorage, axConversationSharedStorage, bindMediaRendererContentState, buildMediaGalleryTiles, canShowRendererContentError, cleanupPickerUploads, conversationAudioUtilities, conversationFileUtilities, conversationImageUtilities, conversationVideoUtilities, conversationVoiceUtilities, copyWithFileTypeFallback, createConversationAudioFileType, createConversationFileFileType, createConversationImageFileType, createConversationVideoFileType, createConversationVoiceFileType, createLocalPreviewUrl, createObjectUrl, createPickerDragHandlers, createResolvedMediaUrlSignal, deleteUploadedPickerMedia, dismissComposerPickerHost, encodeConversationCursor, encodeMessageCursor, ensurePaginationDemoData, fetchConversationMediaMessages, fetchConversationMediaPage, fileItemFromUpload, filterMessagesByMediaCategory, filterSupplementalInfoPanelMessages, findExistingPrivateConversation, formatDuration, formatErrorMessage, formatFileByteSize, formatFileSize, formatMediaDuration, formatPickerValidationMessage, getConversationLastActivity, getConversationMediaCategories, getConversationMessagesNewestFirst, getConversationProfileFields, getErrorMessage, getMessageAudioItems, getMessageVideoItems, getPickerCancelUploadLabel, getPrivatePeerParticipant, getSortedConversationsForInbox, inferFileExtensionHintFromMessage, isAttachmentListCategory, isComposerTabEnabled, isConversationReactionsEnabled, isGenericPrivateConversationTitle, isGridMediaCategory, isMessageDeliveryPending, isMessageListThemeBackground, isNonPersistableMediaUrl, isPickerItemReadyToSend, isSameMessageListBackground, isUploadAborted, limitFilesToCapacity, mediaCopyText, mergeAudioUploadResult, mergeFileUploadResult, mergeInfoPanelMessages, mergeUploadResult, mergeVideoUploadResult, mergeVoiceUploadResult, mergeWithDefaults, messageContainsLink, normalizeAllConversationMessageIndexes, normalizeAudioPayload, normalizeFilePayload, normalizeImagePayload, normalizeMessageListBackgroundValue, normalizeMessagePayload, normalizeMessagePayloadAsync, normalizeVideoPayload, notifyMaxFilesCapacityExceeded, notifyPickerValidationErrors, openWithFileType, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, pickDisplayMediaUrl, pickerItemToMediaReference, pickerItemToUploadResult, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, reportMediaLoadError, resolveComposerMaxFiles, resolveConversationAvatarDisplay, resolveConversationComposerTabs, resolveConversationForViewer, resolveConversationMessageFileType, resolveConversationPeerParticipant, resolveConversationPeerUserId, resolveConversationTitleForViewer, resolveGalleryImageUrl, resolveImageDisplayUrl, resolveMessageListBackgroundRaw, resolveMessageListBackgroundStyle, resolveParticipantProfile, resolvePersistableMediaUrl, resolvePersistedThumbnailUrl, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, resolveVideoThumbnailUrl, revokeObjectUrl, revokePickerBlobPreviews, sanitizeInput, seedPickerInitialFiles, seedSharedStorageInitialData, shouldUseUserAvatarForConversation, sortConversationMessageIds, syncPlaybackInfoBarBanner, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, unregisterChatMessage, uploadPickerFile, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds, videoItemFromUpload };
|
|
17334
17488
|
//# sourceMappingURL=acorex-components-conversation.mjs.map
|