@acorex/components 20.8.25 → 20.8.27

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.
@@ -14,7 +14,7 @@ import { AXBasePageComponent } from '@acorex/components/page';
14
14
  import { AXTranslationService } from '@acorex/core/translation';
15
15
  import { AXMapMarker } from '@acorex/components/map';
16
16
  import * as _acorex_core_file from '@acorex/core/file';
17
- import { AXFileTypeRegistryService, AXFileTypeOpenContext, AXFileTypeInfoProvider, AXFileType, AXFileService } from '@acorex/core/file';
17
+ import { AXFileTypeInfoProvider, AXFileType, AXFileService, AXFileTypeRegistryService, AXFileTypeExtensionHint, AXFileTypeOpenContext } from '@acorex/core/file';
18
18
  import { SafeHtml } from '@angular/platform-browser';
19
19
  import * as i1 from '@angular/common';
20
20
  import * as i2 from '@angular/forms';
@@ -3904,10 +3904,6 @@ declare class AXCnvMediaPlaybackInfoBarBannerComponent implements AXMessageInfoB
3904
3904
 
3905
3905
  /** Caption first, else a label with optional extra lines (URLs, names). */
3906
3906
  declare function mediaCopyText(caption: string | undefined, singleLabel: string, pluralLabel: string, count: number, lines: (string | undefined)[]): string;
3907
- /** Use file-type `copy` on the message when `message.fileType` is set; otherwise fallback. */
3908
- declare function copyWithFileTypeFallback(message: AXMessage, registry: AXFileTypeRegistryService, fallback: () => string): Promise<string>;
3909
- /** Use file-type `open` on the message when `message.fileType` is set. */
3910
- declare function openWithFileType(message: AXMessage, registry: AXFileTypeRegistryService, ctx: AXFileTypeOpenContext): Promise<boolean>;
3911
3907
  /**
3912
3908
  * Registers the live renderer on {@link AXMessageListService} for message actions.
3913
3909
  */
@@ -5374,31 +5370,41 @@ declare class AXVoiceRecorderComponent {
5374
5370
  }
5375
5371
 
5376
5372
  declare class AXConversationAudioFileTypeProvider extends AXFileTypeInfoProvider {
5377
- items(): Promise<AXFileType<Record<string, (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown>>[]>;
5373
+ items(): Promise<AXFileType<{
5374
+ [x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
5375
+ }>[]>;
5378
5376
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationAudioFileTypeProvider, never>;
5379
5377
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationAudioFileTypeProvider>;
5380
5378
  }
5381
5379
 
5382
5380
  declare class AXConversationFileFileTypeProvider extends AXFileTypeInfoProvider {
5383
- items(): Promise<AXFileType<Record<string, (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown>>[]>;
5381
+ items(): Promise<AXFileType<{
5382
+ [x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
5383
+ }>[]>;
5384
5384
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationFileFileTypeProvider, never>;
5385
5385
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationFileFileTypeProvider>;
5386
5386
  }
5387
5387
 
5388
5388
  declare class AXConversationImageFileTypeProvider extends AXFileTypeInfoProvider {
5389
- items(): Promise<AXFileType<Record<string, (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown>>[]>;
5389
+ items(): Promise<AXFileType<{
5390
+ [x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
5391
+ }>[]>;
5390
5392
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationImageFileTypeProvider, never>;
5391
5393
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationImageFileTypeProvider>;
5392
5394
  }
5393
5395
 
5394
5396
  declare class AXConversationVideoFileTypeProvider extends AXFileTypeInfoProvider {
5395
- items(): Promise<AXFileType<Record<string, (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown>>[]>;
5397
+ items(): Promise<AXFileType<{
5398
+ [x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
5399
+ }>[]>;
5396
5400
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationVideoFileTypeProvider, never>;
5397
5401
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationVideoFileTypeProvider>;
5398
5402
  }
5399
5403
 
5400
5404
  declare class AXConversationVoiceFileTypeProvider extends AXFileTypeInfoProvider {
5401
- items(): Promise<AXFileType<Record<string, (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown>>[]>;
5405
+ items(): Promise<AXFileType<{
5406
+ [x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
5407
+ }>[]>;
5402
5408
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationVoiceFileTypeProvider, never>;
5403
5409
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationVoiceFileTypeProvider>;
5404
5410
  }
@@ -6001,6 +6007,13 @@ declare function toUploaderReference(item: AXMediaItemFields): AXUploaderReferen
6001
6007
  */
6002
6008
  declare function createResolvedMediaUrlSignal(reference: Signal<AXUploaderReference | undefined>): Signal<string | null>;
6003
6009
 
6010
+ /** Infer extension/MIME hints from a persisted message payload. */
6011
+ declare function inferFileExtensionHintFromMessage(message: AXMessage): AXFileTypeExtensionHint;
6012
+ /** Use file-type `copy` on the message when `message.fileType` is set; otherwise fallback. */
6013
+ declare function copyWithFileTypeFallback(message: AXMessage, registry: AXFileTypeRegistryService, fallback: () => string): Promise<string>;
6014
+ /** Use file-type `open` on the message when `message.fileType` is set. */
6015
+ declare function openWithFileType(message: AXMessage, registry: AXFileTypeRegistryService, ctx: AXFileTypeOpenContext): Promise<boolean>;
6016
+
6004
6017
  /**
6005
6018
  * Error Message Constants
6006
6019
  * Centralized error messages with i18n support structure
@@ -6393,5 +6406,5 @@ declare function getErrorMessage(code: string, params?: Record<string, string |
6393
6406
  */
6394
6407
  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'];
6395
6408
 
6396
- 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, AXMessageRendererCopyHostComponent, 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, copyWithFileTypeFallback, createLocalPreviewUrl, createObjectUrl, createResolvedMediaUrlSignal, encodeConversationCursor, encodeMessageCursor, formatErrorMessage, getConversationLastActivity, getConversationMessagesNewestFirst, getErrorMessage, getSortedConversationsForInbox, isGenericPrivateConversationTitle, mediaCopyText, mergeUploadResult, mergeWithDefaults, normalizeAllConversationMessageIndexes, normalizeImagePayload, openWithFileType, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, pickDisplayMediaUrl, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, resolveConversationAvatarDisplay, resolveConversationForViewer, resolveConversationTitleForViewer, resolveImageDisplayUrl, resolveParticipantProfile, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, revokeObjectUrl, sanitizeInput, shouldUseUserAvatarForConversation, sortConversationMessageIds, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, unregisterChatMessage, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
6409
+ 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, AXMessageRendererCopyHostComponent, 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, copyWithFileTypeFallback, createLocalPreviewUrl, createObjectUrl, createResolvedMediaUrlSignal, encodeConversationCursor, encodeMessageCursor, formatErrorMessage, getConversationLastActivity, getConversationMessagesNewestFirst, getErrorMessage, getSortedConversationsForInbox, inferFileExtensionHintFromMessage, isGenericPrivateConversationTitle, mediaCopyText, mergeUploadResult, mergeWithDefaults, normalizeAllConversationMessageIndexes, normalizeImagePayload, openWithFileType, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, pickDisplayMediaUrl, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, resolveConversationAvatarDisplay, resolveConversationForViewer, resolveConversationTitleForViewer, resolveImageDisplayUrl, resolveParticipantProfile, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, revokeObjectUrl, sanitizeInput, shouldUseUserAvatarForConversation, sortConversationMessageIds, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, unregisterChatMessage, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
6397
6410
  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 };
@@ -10,7 +10,7 @@ import * as i3 from '@acorex/core/translation';
10
10
  import { translateSync, AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
11
11
  import { Subject, BehaviorSubject, Observable, filter, firstValueFrom, takeUntil, catchError, EMPTY } from 'rxjs';
12
12
  import { AXUploaderBrowseDirective, AXUploaderZoneDirective, AXUploaderService } from '@acorex/cdk/uploader';
13
- import { createFileTypeMetadata, AXFileTypeInfoProvider, formatFileSizeBytes, AXFileService, AXFileTypeRegistryService, provideFileValidationRules, provideFileTypeInfoProvider, resolveFileCopyText, runFileTypeOpen } from '@acorex/core/file';
13
+ import { createFileTypeMetadata, AXFileTypeInfoProvider, resolveFileTypeExtension, runFileTypeUtility, formatFileSizeBytes, AXFileService, AXFileTypeRegistryService, runFileTypeUtilityForFile, provideFileValidationRules, provideFileTypeInfoProvider, getFileExtension, runFileTypeCopy, resolveFileCopyText, runFileTypeOpen } from '@acorex/core/file';
14
14
  import * as i1$2 from '@acorex/components/progress-bar';
15
15
  import { AXProgressBarModule } from '@acorex/components/progress-bar';
16
16
  import { AXToastService } from '@acorex/components/toast';
@@ -2813,11 +2813,15 @@ async function createLocalPreviewUrl(fileService, platformId, source, messageTyp
2813
2813
  return undefined;
2814
2814
  }
2815
2815
  const fileType = await fileService.getFileType(catalog);
2816
- const createLocalPreviewUrl = fileType?.utilities?.['createLocalPreviewUrl'];
2817
- if (!createLocalPreviewUrl) {
2816
+ if (!fileType) {
2818
2817
  return undefined;
2819
2818
  }
2820
- const result = await createLocalPreviewUrl({ readAsDataUrl: (f) => fileService.blobToBase64(f), platformId }, source);
2819
+ const ctx = { readAsDataUrl: (f) => fileService.blobToBase64(f), platformId };
2820
+ const extension = resolveFileTypeExtension(fileType, {
2821
+ file: source instanceof File ? source : undefined,
2822
+ mimeType: source.type,
2823
+ });
2824
+ const result = await runFileTypeUtility(fileType, ctx, extension, 'createLocalPreviewUrl', source);
2821
2825
  return typeof result === 'string' ? result : undefined;
2822
2826
  }
2823
2827
 
@@ -3876,12 +3880,11 @@ class AXAudioPickerComponent {
3876
3880
  this.catalogFileTypeDef ??= await this.fileService.getFileType(this.catalogFileType);
3877
3881
  return this.catalogFileTypeDef;
3878
3882
  }
3879
- async runUtility(name, ...args) {
3883
+ async runUtility(name, file, ...args) {
3880
3884
  const fileType = await this.getCatalogFileTypeDef();
3881
- const fn = fileType?.utilities?.[name];
3882
- if (!fn)
3885
+ if (!fileType)
3883
3886
  return undefined;
3884
- return fn(this.createUtilityContext(), ...args);
3887
+ return runFileTypeUtilityForFile(fileType, this.createUtilityContext(), file, name, ...args);
3885
3888
  }
3886
3889
  async handleFiles(files) {
3887
3890
  const max = this.maxFiles();
@@ -4018,14 +4021,16 @@ class AXAudioPickerComponent {
4018
4021
  }
4019
4022
  formatFileSize(bytes) {
4020
4023
  const fileType = this.catalogFileTypeDef;
4021
- const fn = fileType?.utilities?.['formatSize'];
4022
- const result = fn ? fn(this.createUtilityContext(), bytes) : undefined;
4024
+ const result = fileType
4025
+ ? runFileTypeUtility(fileType, this.createUtilityContext(), undefined, 'formatSize', bytes)
4026
+ : undefined;
4023
4027
  return typeof result === 'string' ? result : `${bytes} B`;
4024
4028
  }
4025
4029
  formatDuration(seconds) {
4026
4030
  const fileType = this.catalogFileTypeDef;
4027
- const fn = fileType?.utilities?.['formatDuration'];
4028
- const result = fn ? fn(this.createUtilityContext(), seconds) : undefined;
4031
+ const result = fileType
4032
+ ? runFileTypeUtility(fileType, this.createUtilityContext(), undefined, 'formatDuration', seconds)
4033
+ : undefined;
4029
4034
  return typeof result === 'string' ? result : '0:00';
4030
4035
  }
4031
4036
  getEmptyTitle() {
@@ -4313,10 +4318,12 @@ class AXFilePickerComponent {
4313
4318
  const ctx = this.createUtilityContext();
4314
4319
  for (const file of accepted) {
4315
4320
  try {
4316
- const previewFn = fileType?.utilities?.['preview'];
4317
- const pickerCatalogFn = fileType?.utilities?.['pickerCatalog'];
4318
- const previewResult = previewFn ? await previewFn(ctx, file) : undefined;
4319
- const rowCatalogResult = pickerCatalogFn ? await pickerCatalogFn(ctx, file) : undefined;
4321
+ const previewResult = fileType
4322
+ ? await runFileTypeUtilityForFile(fileType, ctx, file, 'preview')
4323
+ : undefined;
4324
+ const rowCatalogResult = fileType
4325
+ ? await runFileTypeUtilityForFile(fileType, ctx, file, 'pickerCatalog')
4326
+ : undefined;
4320
4327
  const preview = typeof previewResult === 'string' ? previewResult : undefined;
4321
4328
  const rowCatalog = typeof rowCatalogResult === 'string' ? rowCatalogResult : this.catalogFileType;
4322
4329
  const rowType = await this.fileService.getFileType(rowCatalog);
@@ -4443,8 +4450,10 @@ class AXFilePickerComponent {
4443
4450
  return getPickerCancelUploadLabel(this.translation);
4444
4451
  }
4445
4452
  formatFileSize(bytes) {
4446
- const fn = this.catalogFileTypeDef?.utilities?.['formatSize'];
4447
- const result = fn ? fn(this.createUtilityContext(), bytes) : undefined;
4453
+ const fileType = this.catalogFileTypeDef;
4454
+ const result = fileType
4455
+ ? runFileTypeUtility(fileType, this.createUtilityContext(), undefined, 'formatSize', bytes)
4456
+ : undefined;
4448
4457
  return typeof result === 'string' ? result : `${bytes} B`;
4449
4458
  }
4450
4459
  canSend() {
@@ -4766,8 +4775,9 @@ class AXImagePickerComponent {
4766
4775
  const ctx = this.createUtilityContext();
4767
4776
  for (const file of accepted) {
4768
4777
  try {
4769
- const previewHandler = fileType?.utilities?.['preview'];
4770
- const previewValue = previewHandler ? await previewHandler(ctx, file) : undefined;
4778
+ const previewValue = fileType
4779
+ ? await runFileTypeUtilityForFile(fileType, ctx, file, 'preview')
4780
+ : undefined;
4771
4781
  const preview = typeof previewValue === 'string' ? previewValue : '';
4772
4782
  let index = -1;
4773
4783
  this.images.update((images) => {
@@ -5260,12 +5270,11 @@ class AXVideoPickerComponent {
5260
5270
  this.catalogFileTypeDef ??= await this.fileService.getFileType(this.catalogFileType);
5261
5271
  return this.catalogFileTypeDef;
5262
5272
  }
5263
- async runUtility(name, ...args) {
5273
+ async runUtility(name, file, ...args) {
5264
5274
  const fileType = await this.getCatalogFileTypeDef();
5265
- const fn = fileType?.utilities?.[name];
5266
- if (!fn)
5275
+ if (!fileType)
5267
5276
  return undefined;
5268
- return fn(this.createUtilityContext(), ...args);
5277
+ return runFileTypeUtilityForFile(fileType, this.createUtilityContext(), file, name, ...args);
5269
5278
  }
5270
5279
  async handleFiles(files) {
5271
5280
  const max = this.maxFiles();
@@ -5401,13 +5410,17 @@ class AXVideoPickerComponent {
5401
5410
  this.caption = '';
5402
5411
  }
5403
5412
  formatFileSize(bytes) {
5404
- const fn = this.catalogFileTypeDef?.utilities?.['formatSize'];
5405
- const result = fn ? fn(this.createUtilityContext(), bytes) : undefined;
5413
+ const fileType = this.catalogFileTypeDef;
5414
+ const result = fileType
5415
+ ? runFileTypeUtility(fileType, this.createUtilityContext(), undefined, 'formatSize', bytes)
5416
+ : undefined;
5406
5417
  return typeof result === 'string' ? result : `${bytes} B`;
5407
5418
  }
5408
5419
  formatDuration(seconds) {
5409
- const fn = this.catalogFileTypeDef?.utilities?.['formatDuration'];
5410
- const result = fn ? fn(this.createUtilityContext(), seconds) : undefined;
5420
+ const fileType = this.catalogFileTypeDef;
5421
+ const result = fileType
5422
+ ? runFileTypeUtility(fileType, this.createUtilityContext(), undefined, 'formatDuration', seconds)
5423
+ : undefined;
5411
5424
  return typeof result === 'string' ? result : '0:00';
5412
5425
  }
5413
5426
  getEmptyTitle() {
@@ -10788,6 +10801,66 @@ function createResolvedMediaUrlSignal(reference) {
10788
10801
  return resolvedUrl.asReadonly();
10789
10802
  }
10790
10803
 
10804
+ /** Infer extension/MIME hints from a persisted message payload. */
10805
+ function inferFileExtensionHintFromMessage(message) {
10806
+ switch (message.payload.type) {
10807
+ case 'file': {
10808
+ const item = normalizeFilePayload(message.payload).files[0];
10809
+ if (!item) {
10810
+ return {};
10811
+ }
10812
+ return {
10813
+ extensionName: item.extension ?? getFileExtension(item.name),
10814
+ mimeType: item.mimeType,
10815
+ };
10816
+ }
10817
+ case 'image': {
10818
+ const item = normalizeImagePayload(message.payload).images[0];
10819
+ return { mimeType: item?.mimeType };
10820
+ }
10821
+ case 'video': {
10822
+ const item = normalizeVideoPayload(message.payload).videos[0];
10823
+ return { mimeType: item?.mimeType };
10824
+ }
10825
+ case 'audio': {
10826
+ const item = normalizeAudioPayload(message.payload).audios[0];
10827
+ return { mimeType: item?.mimeType };
10828
+ }
10829
+ case 'voice':
10830
+ return { mimeType: message.payload.mimeType };
10831
+ case 'sticker':
10832
+ return { mimeType: message.payload.mimeType };
10833
+ default:
10834
+ return {};
10835
+ }
10836
+ }
10837
+ /** Use file-type `copy` on the message when `message.fileType` is set; otherwise fallback. */
10838
+ async function copyWithFileTypeFallback(message, registry, fallback) {
10839
+ if (!message.fileType) {
10840
+ return fallback();
10841
+ }
10842
+ const fileType = await registry.get(message.fileType);
10843
+ if (!fileType) {
10844
+ return fallback();
10845
+ }
10846
+ const extension = resolveFileTypeExtension(fileType, inferFileExtensionHintFromMessage(message));
10847
+ const result = await runFileTypeCopy(fileType, message.payload, extension);
10848
+ return resolveFileCopyText(result)?.trim() || fallback();
10849
+ }
10850
+ /** Use file-type `open` on the message when `message.fileType` is set. */
10851
+ async function openWithFileType(message, registry, ctx) {
10852
+ if (!message.fileType) {
10853
+ return false;
10854
+ }
10855
+ const fileType = await registry.get(message.fileType);
10856
+ if (!fileType) {
10857
+ return false;
10858
+ }
10859
+ const extension = resolveFileTypeExtension(fileType, inferFileExtensionHintFromMessage(message));
10860
+ const result = await runFileTypeOpen(fileType, ctx, message.payload, extension);
10861
+ return result !== false;
10862
+ }
10863
+
10791
10864
  function isMessageDeliveryPending(status) {
10792
10865
  return status === 'sending';
10793
10866
  }
@@ -13067,30 +13140,6 @@ function mediaCopyText(caption, singleLabel, pluralLabel, count, lines) {
13067
13140
  const extras = lines.map((line) => line?.trim()).filter((line) => !!line);
13068
13141
  return extras.length ? `${header}\n${extras.join('\n')}` : header;
13069
13142
  }
13070
- /** Use file-type `copy` on the message when `message.fileType` is set; otherwise fallback. */
13071
- async function copyWithFileTypeFallback(message, registry, fallback) {
13072
- if (!message.fileType) {
13073
- return fallback();
13074
- }
13075
- const fileType = await registry.get(message.fileType);
13076
- if (!fileType?.copy) {
13077
- return fallback();
13078
- }
13079
- const result = await fileType.copy(message.payload);
13080
- return resolveFileCopyText(result)?.trim() || fallback();
13081
- }
13082
- /** Use file-type `open` on the message when `message.fileType` is set. */
13083
- async function openWithFileType(message, registry, ctx) {
13084
- if (!message.fileType) {
13085
- return false;
13086
- }
13087
- const fileType = await registry.get(message.fileType);
13088
- if (!fileType?.open) {
13089
- return false;
13090
- }
13091
- const result = await runFileTypeOpen(fileType, ctx, message.payload);
13092
- return result !== false;
13093
- }
13094
13143
  /**
13095
13144
  * Registers the live renderer on {@link AXMessageListService} for message actions.
13096
13145
  */
@@ -22262,5 +22311,5 @@ function getErrorMessage(code, params) {
22262
22311
  * Generated bundle index. Do not edit.
22263
22312
  */
22264
22313
 
22265
- 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, AXMessageRendererCopyHostComponent, 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, copyWithFileTypeFallback, createLocalPreviewUrl, createObjectUrl, createResolvedMediaUrlSignal, encodeConversationCursor, encodeMessageCursor, formatErrorMessage, getConversationLastActivity, getConversationMessagesNewestFirst, getErrorMessage, getSortedConversationsForInbox, isGenericPrivateConversationTitle, mediaCopyText, mergeUploadResult, mergeWithDefaults, normalizeAllConversationMessageIndexes, normalizeImagePayload, openWithFileType, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, pickDisplayMediaUrl, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, resolveConversationAvatarDisplay, resolveConversationForViewer, resolveConversationTitleForViewer, resolveImageDisplayUrl, resolveParticipantProfile, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, revokeObjectUrl, sanitizeInput, shouldUseUserAvatarForConversation, sortConversationMessageIds, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, unregisterChatMessage, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
22314
+ 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, AXMessageRendererCopyHostComponent, 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, copyWithFileTypeFallback, createLocalPreviewUrl, createObjectUrl, createResolvedMediaUrlSignal, encodeConversationCursor, encodeMessageCursor, formatErrorMessage, getConversationLastActivity, getConversationMessagesNewestFirst, getErrorMessage, getSortedConversationsForInbox, inferFileExtensionHintFromMessage, isGenericPrivateConversationTitle, mediaCopyText, mergeUploadResult, mergeWithDefaults, normalizeAllConversationMessageIndexes, normalizeImagePayload, openWithFileType, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, pickDisplayMediaUrl, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, resolveConversationAvatarDisplay, resolveConversationForViewer, resolveConversationTitleForViewer, resolveImageDisplayUrl, resolveParticipantProfile, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, revokeObjectUrl, sanitizeInput, shouldUseUserAvatarForConversation, sortConversationMessageIds, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, unregisterChatMessage, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
22266
22315
  //# sourceMappingURL=acorex-components-conversation2.mjs.map