@acorex/components 22.2.10 → 22.2.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.
Files changed (53) hide show
  1. package/emoji/README.md +3 -0
  2. package/emojipicker/README.md +3 -0
  3. package/fesm2022/acorex-components-bubble.mjs +71 -0
  4. package/fesm2022/acorex-components-bubble.mjs.map +1 -0
  5. package/fesm2022/acorex-components-combo-box.mjs +71 -18
  6. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  7. package/fesm2022/{acorex-components-conversation-acorex-components-conversation-CXf00kvo.mjs → acorex-components-conversation-acorex-components-conversation-DDkiZfPb.mjs} +831 -254
  8. package/fesm2022/acorex-components-conversation-acorex-components-conversation-DDkiZfPb.mjs.map +1 -0
  9. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DZINTie8.mjs → acorex-components-conversation-picker-rename-file-dialog.component-CH3Q6Hry.mjs} +2 -2
  10. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DZINTie8.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-CH3Q6Hry.mjs.map} +1 -1
  11. package/fesm2022/acorex-components-conversation.mjs +1 -1
  12. package/fesm2022/acorex-components-data-table.mjs +14 -10
  13. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  14. package/fesm2022/acorex-components-emoji.mjs +74 -0
  15. package/fesm2022/acorex-components-emoji.mjs.map +1 -0
  16. package/fesm2022/acorex-components-emojipicker.mjs +425 -0
  17. package/fesm2022/acorex-components-emojipicker.mjs.map +1 -0
  18. package/fesm2022/acorex-components-file-viewer.mjs +46 -22
  19. package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
  20. package/fesm2022/acorex-components-inline-reaction.mjs +111 -0
  21. package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -0
  22. package/fesm2022/acorex-components-map.mjs +7 -0
  23. package/fesm2022/acorex-components-map.mjs.map +1 -1
  24. package/fesm2022/acorex-components-message-status.mjs +71 -0
  25. package/fesm2022/acorex-components-message-status.mjs.map +1 -0
  26. package/fesm2022/acorex-components-message-time.mjs +36 -0
  27. package/fesm2022/acorex-components-message-time.mjs.map +1 -0
  28. package/fesm2022/acorex-components-message.mjs +120 -0
  29. package/fesm2022/acorex-components-message.mjs.map +1 -0
  30. package/fesm2022/acorex-components-reaction.mjs +144 -0
  31. package/fesm2022/acorex-components-reaction.mjs.map +1 -0
  32. package/fesm2022/acorex-components-tabs.mjs +2 -2
  33. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  34. package/inline-reaction/README.md +3 -0
  35. package/message/README.md +3 -0
  36. package/message-status/README.md +3 -0
  37. package/message-time/README.md +3 -0
  38. package/package.json +35 -3
  39. package/reaction/README.md +3 -0
  40. package/types/acorex-components-bubble.d.ts +31 -0
  41. package/types/acorex-components-combo-box.d.ts +2 -2
  42. package/types/acorex-components-conversation.d.ts +126 -13
  43. package/types/acorex-components-data-table.d.ts +1 -1
  44. package/types/acorex-components-emoji.d.ts +42 -0
  45. package/types/acorex-components-emojipicker.d.ts +146 -0
  46. package/types/acorex-components-file-viewer.d.ts +5 -0
  47. package/types/acorex-components-inline-reaction.d.ts +52 -0
  48. package/types/acorex-components-map.d.ts +5 -0
  49. package/types/acorex-components-message-status.d.ts +23 -0
  50. package/types/acorex-components-message-time.d.ts +19 -0
  51. package/types/acorex-components-message.d.ts +59 -0
  52. package/types/acorex-components-reaction.d.ts +85 -0
  53. package/fesm2022/acorex-components-conversation-acorex-components-conversation-CXf00kvo.mjs.map +0 -1
@@ -1175,6 +1175,24 @@ declare class AXConversationTabRegistry {
1175
1175
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationTabRegistry>;
1176
1176
  }
1177
1177
 
1178
+ /** Visual chrome around a message body in the list. */
1179
+ type AXConversationMessageChrome = 'bubble' | 'plain';
1180
+ /** Max consecutive emoji graphemes that render as a jumbo (sticker-sized) text message. */
1181
+ declare const AX_CONVERSATION_JUMBO_EMOJI_MAX = 3;
1182
+ /**
1183
+ * Resolve registry chrome config to a concrete value.
1184
+ * Default is {@link AXConversationMessageChrome bubble}.
1185
+ */
1186
+ declare function resolveMessageChrome(chrome: AXConversationMessageChrome | ((message: AXConversationMessage) => AXConversationMessageChrome) | undefined, message: AXConversationMessage): AXConversationMessageChrome;
1187
+ /** Visible graphemes in trimmed text (whitespace between emojis is dropped). */
1188
+ declare function listTextGraphemes(text: string | null | undefined): string[];
1189
+ /** Count emoji graphemes in trimmed text; `0` when mixed with other characters. */
1190
+ declare function countLoneEmojis(text: string | null | undefined): number;
1191
+ declare function isJumboEmojiText(text: string | null | undefined): boolean;
1192
+ declare function isJumboEmojiTextMessage(message: AXConversationMessage): boolean;
1193
+ /** Types that never sit inside a bubble cluster with neighboring messages. */
1194
+ declare function isPlainChromeMessage(message: AXConversationMessage): boolean;
1195
+
1178
1196
  /**
1179
1197
  * Message Renderer Registry
1180
1198
  * Register custom message renderers for different message types
@@ -1249,6 +1267,12 @@ interface AXConversationMessageRenderer {
1249
1267
  canHandle: (message: AXConversationMessage) => boolean;
1250
1268
  /** Renderer capabilities */
1251
1269
  capabilities: AXConversationMessageRendererCapabilities;
1270
+ /**
1271
+ * List chrome for this message type.
1272
+ * `plain` removes bubble fill, padding, shadow, and tail. Default is `bubble`.
1273
+ * Pass a function when chrome depends on payload (e.g. jumbo emoji text).
1274
+ */
1275
+ chrome?: AXConversationMessageChrome | ((message: AXConversationMessage) => AXConversationMessageChrome);
1252
1276
  /** Display name */
1253
1277
  displayName?: string;
1254
1278
  /** Icon name/class */
@@ -4347,6 +4371,7 @@ declare class AXConversationMessageListComponent implements OnDestroy {
4347
4371
  private readonly platform;
4348
4372
  private readonly actionSheetService;
4349
4373
  private readonly ngZone;
4374
+ private readonly cdr;
4350
4375
  protected readonly config: Required<_acorex_components_conversation.AXConversationConfig>;
4351
4376
  /**
4352
4377
  * Background for the message list scroll area from config, or the built-in soft wash when unset/empty.
@@ -4375,6 +4400,18 @@ declare class AXConversationMessageListComponent implements OnDestroy {
4375
4400
  readonly isAdaptiveWideLayout: _angular_core.WritableSignal<boolean>;
4376
4401
  /** While true, older history is being prepended — do not auto-scroll to the latest message. */
4377
4402
  private restoringScrollAfterPrepend;
4403
+ /**
4404
+ * Stick to the latest message across layout shifts (media decode, lazy outlets).
4405
+ * Cleared as soon as the user scrolls up — even within `scrollThreshold` —
4406
+ * otherwise ResizeObserver keeps yanking the feed back to the bottom.
4407
+ */
4408
+ private pinnedToBottom;
4409
+ /**
4410
+ * True while we assign `scrollTop`. Kept until the following animation frame
4411
+ * because some browsers dispatch `scroll` asynchronously after `scrollTop` writes.
4412
+ */
4413
+ private programmaticScroll;
4414
+ private programmaticScrollGen;
4378
4415
  private adaptiveLayoutResizeObserver?;
4379
4416
  private documentClickListener?;
4380
4417
  readonly availableReactions: _angular_core.WritableSignal<string[]>;
@@ -4397,6 +4434,21 @@ declare class AXConversationMessageListComponent implements OnDestroy {
4397
4434
  readonly isGroupConversation: _angular_core.Signal<boolean>;
4398
4435
  /** Placeholder rows for the initial message list skeleton. */
4399
4436
  protected readonly loadingSkeletonItems: readonly [0, 1, 2, 3, 4, 5, 6, 7];
4437
+ /**
4438
+ * Conversation whose feed has already been pinned to the latest message.
4439
+ * Compared with the active id in `feedReady` so a chat switch hides the list
4440
+ * in the same render — before the effect that pins the new history.
4441
+ */
4442
+ private readonly pinnedConversationId;
4443
+ private feedRevealGeneration;
4444
+ private feedRevealRaf;
4445
+ /** False until this conversation is pinned to the bottom (never shows history from the top). */
4446
+ readonly feedReady: _angular_core.Signal<boolean>;
4447
+ /**
4448
+ * Keep the skeleton up until the feed is pinned. The real list stays
4449
+ * `visibility: hidden` underneath so bubbles never show through the cover.
4450
+ */
4451
+ readonly showOpenCover: _angular_core.Signal<boolean>;
4400
4452
  /** Whether the active conversation allows message reactions. */
4401
4453
  readonly reactionsEnabled: _angular_core.Signal<boolean>;
4402
4454
  /** Messages */
@@ -4420,6 +4472,15 @@ declare class AXConversationMessageListComponent implements OnDestroy {
4420
4472
  * Setup intersection observer to mark messages as read when visible
4421
4473
  */
4422
4474
  private setupIntersectionObserver;
4475
+ /**
4476
+ * Keep the viewport stable when layout changes.
4477
+ * ResizeObserver runs after layout and before paint — apply scrollTop in the
4478
+ * callback (not rAF) so the browser never paints a jump.
4479
+ *
4480
+ * Near the bottom, pin to the latest message (media decode, lazy outlets).
4481
+ * Further up, only compensate rows that grew fully above the viewport.
4482
+ */
4483
+ private setupMediaScrollCompensation;
4423
4484
  /**
4424
4485
  * Mark message as read
4425
4486
  */
@@ -4457,18 +4518,32 @@ declare class AXConversationMessageListComponent implements OnDestroy {
4457
4518
  /**
4458
4519
  * Keep the user's viewport on the same messages after older rows are inserted above.
4459
4520
  */
4460
- private restoreScrollPositionAfterPrepend;
4521
+ private applyPrependScrollRestore;
4461
4522
  private revealStuckDateSeparators;
4462
4523
  private syncDateSeparatorStuckState;
4463
4524
  private scheduleDateSeparatorFade;
4464
4525
  private clearDateSeparatorFadeTimer;
4465
- /** Check if user is near bottom of scroll */
4466
- private isUserNearBottom;
4467
- /**
4468
- * After switching chats, the template may still show loading (no #messagesContainer).
4469
- * Poll with rAF until the feed exists, then scroll after double rAF so scrollHeight is stable.
4470
- */
4471
- private scrollToBottomWhenContainerReady;
4526
+ /** Distance from the last pixel of the feed. */
4527
+ private distanceFromBottom;
4528
+ /** True when the viewport is at the latest message (not merely within `scrollThreshold`). */
4529
+ private isStuckToBottom;
4530
+ /**
4531
+ * Assign scrollTop without the listener treating it as a user scroll.
4532
+ * The flag stays set until the next frame so async `scroll` events are ignored.
4533
+ */
4534
+ private writeScrollTop;
4535
+ /** Pin the feed to the latest message before the next paint. */
4536
+ private pinFeedToBottom;
4537
+ /** Hide the feed and pin to the latest message before the first visible paint. */
4538
+ private beginFeedReveal;
4539
+ private cancelFeedReveal;
4540
+ /**
4541
+ * Pin to the latest message, then reveal. Two frames is enough — stick-to-bottom
4542
+ * holds later media growth. Waiting for loaders here left a blank gap after the skeleton.
4543
+ */
4544
+ private scheduleFeedPin;
4545
+ /** Start nearby lazy images so they decode while stick-to-bottom holds the viewport. */
4546
+ private primeOpenViewportMedia;
4472
4547
  /** Scroll to bottom */
4473
4548
  scrollToBottom(smooth?: boolean): void;
4474
4549
  /** Scroll to specific message */
@@ -5161,6 +5236,14 @@ declare class AXConversationPickerHeaderComponent {
5161
5236
  /** Extract OS-copied files from a paste event (e.g. Ctrl+V after copying a file in Explorer). */
5162
5237
  declare function filesFromClipboardEvent(event: ClipboardEvent): File[];
5163
5238
 
5239
+ interface AXConversationMediaDimensions {
5240
+ width: number;
5241
+ height: number;
5242
+ duration: number;
5243
+ }
5244
+ declare function probeImageDimensions(source: Blob | string): Promise<Pick<AXConversationMediaDimensions, 'width' | 'height'>>;
5245
+ declare function probeVideoMedia(source: Blob): Promise<AXConversationMediaDimensions>;
5246
+
5164
5247
  declare function formatFileSize(bytes: number): string;
5165
5248
  declare function formatDuration(seconds: number): string;
5166
5249
 
@@ -5305,13 +5388,18 @@ declare class AXConversationVideoFileTypeProvider extends AXFileTypeInfoProvider
5305
5388
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationVideoFileTypeProvider>;
5306
5389
  }
5307
5390
 
5308
- declare function videoItemFromUpload(file: File, result: AXConversationUploaderResult, duration: number): AXConversationVideoMediaItem;
5391
+ declare function videoItemFromUpload(file: File, result: AXConversationUploaderResult, duration: number, size?: {
5392
+ width?: number;
5393
+ height?: number;
5394
+ }): Promise<AXConversationVideoMediaItem>;
5309
5395
  declare function mergeVideoUploadResult(payload: AXConversationMessagePayload, result: AXUploadResult): AXConversationMessagePayload;
5310
5396
  declare function applyVideoLocalPreview(payload: AXConversationMessagePayload, localUrl: string, mimeType?: string): AXConversationMessagePayload;
5311
5397
 
5312
5398
  interface AXConversationVideoFile extends AXConversationComposerPickerUploadItem {
5313
5399
  preview?: string;
5314
5400
  duration?: number;
5401
+ width?: number;
5402
+ height?: number;
5315
5403
  }
5316
5404
  declare class AXConversationVideoPickerComponent implements OnDestroy, AXConversationComposerActionComponent {
5317
5405
  private uploadsDismissed;
@@ -5669,7 +5757,10 @@ declare class AXConversationImageAttachmentComponent {
5669
5757
  private readonly document;
5670
5758
  readonly item: _angular_core.InputSignal<AXConversationImageMediaItem>;
5671
5759
  readonly alt: _angular_core.InputSignal<string>;
5760
+ /** When false, skip aspect-ratio reservation (gallery cells already have a fixed size). */
5761
+ readonly reserveAspect: _angular_core.InputSignal<boolean>;
5672
5762
  readonly ready: _angular_core.WritableSignal<boolean>;
5763
+ readonly aspectRatio: _angular_core.Signal<string>;
5673
5764
  private readonly mediaReference;
5674
5765
  private readonly resolvedUrl;
5675
5766
  readonly displayUrl: _angular_core.Signal<string>;
@@ -5678,7 +5769,7 @@ declare class AXConversationImageAttachmentComponent {
5678
5769
  onImageError(): void;
5679
5770
  toggleFullscreen(event: AXClickEvent): void;
5680
5771
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationImageAttachmentComponent, never>;
5681
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationImageAttachmentComponent, "ax-conversation-image-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5772
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationImageAttachmentComponent, "ax-conversation-image-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "reserveAspect": { "alias": "reserveAspect"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5682
5773
  }
5683
5774
 
5684
5775
  interface AXConversationPlaybackBannerInputs {
@@ -5789,6 +5880,8 @@ declare function syncPlaybackInfoBarBanner(infoBar: AXConversationInfoBarService
5789
5880
 
5790
5881
  declare class AXConversationVideoAttachmentComponent {
5791
5882
  readonly item: _angular_core.InputSignal<AXConversationVideoMediaItem>;
5883
+ /** When false, skip aspect-ratio reservation (gallery cells already have a fixed size). */
5884
+ readonly reserveAspect: _angular_core.InputSignal<boolean>;
5792
5885
  readonly playingChange: _angular_core.OutputEmitterRef<boolean>;
5793
5886
  readonly timeUpdate: _angular_core.OutputEmitterRef<number>;
5794
5887
  readonly durationChange: _angular_core.OutputEmitterRef<number>;
@@ -5800,6 +5893,7 @@ declare class AXConversationVideoAttachmentComponent {
5800
5893
  readonly playbackUrl: _angular_core.Signal<string>;
5801
5894
  readonly duration: _angular_core.Signal<number>;
5802
5895
  readonly durationLabel: _angular_core.Signal<string>;
5896
+ readonly aspectRatio: _angular_core.Signal<string>;
5803
5897
  togglePlay(): void;
5804
5898
  pause(): void;
5805
5899
  onLoadedMetadata(): void;
@@ -5809,7 +5903,7 @@ declare class AXConversationVideoAttachmentComponent {
5809
5903
  onEnded(): void;
5810
5904
  onError(): void;
5811
5905
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationVideoAttachmentComponent, never>;
5812
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationVideoAttachmentComponent, "ax-conversation-video-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; }, { "playingChange": "playingChange"; "timeUpdate": "timeUpdate"; "durationChange": "durationChange"; "playbackEnded": "playbackEnded"; "playbackError": "playbackError"; }, never, never, true, never>;
5906
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationVideoAttachmentComponent, "ax-conversation-video-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "reserveAspect": { "alias": "reserveAspect"; "required": false; "isSignal": true; }; }, { "playingChange": "playingChange"; "timeUpdate": "timeUpdate"; "durationChange": "durationChange"; "playbackEnded": "playbackEnded"; "playbackError": "playbackError"; }, never, never, true, never>;
5813
5907
  }
5814
5908
 
5815
5909
  declare class AXConversationAudioRendererComponent extends AXConversationMessageRendererCopyHostComponent {
@@ -5956,6 +6050,12 @@ declare function resolveImageDisplayUrl(image: AXConversationImageMediaItem): st
5956
6050
 
5957
6051
  declare class AXConversationLocationRendererComponent extends AXConversationMessageRendererCopyHostComponent {
5958
6052
  private readonly _contentState;
6053
+ private readonly platformId;
6054
+ private readonly document;
6055
+ private readonly fullScreen;
6056
+ private readonly destroyRef;
6057
+ private readonly mapHost;
6058
+ private readonly map;
5959
6059
  protected readonly translation: AXTranslationService;
5960
6060
  readonly message: _angular_core.InputSignal<AXConversationMessage>;
5961
6061
  readonly rendererState: _angular_core.Signal<{
@@ -5977,6 +6077,14 @@ declare class AXConversationLocationRendererComponent extends AXConversationMess
5977
6077
  popupOpen: boolean;
5978
6078
  popupCloseButton: boolean;
5979
6079
  }[]>;
6080
+ readonly mapIsFullscreen: _angular_core.Signal<boolean>;
6081
+ readonly mapFullscreenLabel: _angular_core.Signal<string>;
6082
+ readonly mapFullscreenIconClass: _angular_core.Signal<"fa-light fa-compress" | "fa-light fa-expand">;
6083
+ constructor();
6084
+ openInMaps(event: AXClickEvent): void;
6085
+ toggleMapFullscreen(event: AXClickEvent): void;
6086
+ private exitMapFullscreen;
6087
+ protected scheduleMapResize(): void;
5980
6088
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationLocationRendererComponent, never>;
5981
6089
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationLocationRendererComponent, "ax-conversation-location-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
5982
6090
  }
@@ -5994,6 +6102,7 @@ declare class AXConversationStickerRendererComponent implements AXConversationMe
5994
6102
  private readonly resolvedUrl;
5995
6103
  readonly stickerUrl: _angular_core.Signal<string>;
5996
6104
  readonly alt: _angular_core.Signal<string>;
6105
+ readonly aspectRatio: _angular_core.Signal<string>;
5997
6106
  constructor();
5998
6107
  onLoad(): void;
5999
6108
  onError(): void;
@@ -6025,6 +6134,10 @@ declare class AXConversationTextRendererComponent extends AXConversationMessageR
6025
6134
  }>;
6026
6135
  readonly searchQuery: _angular_core.Signal<string>;
6027
6136
  copy(): string;
6137
+ readonly jumboCount: _angular_core.Signal<number>;
6138
+ readonly isJumbo: _angular_core.Signal<boolean>;
6139
+ readonly jumboText: _angular_core.Signal<string>;
6140
+ readonly jumboGraphemes: _angular_core.Signal<string[]>;
6028
6141
  readonly formattedText: _angular_core.Signal<SafeHtml>;
6029
6142
  private linkify;
6030
6143
  private highlightSearch;
@@ -6688,5 +6801,5 @@ declare function getErrorMessage(code: string, params?: Record<string, string |
6688
6801
  */
6689
6802
  type AXConversationErrorCode = typeof AX_CONVERSATION_MESSAGE_ERRORS[keyof typeof AX_CONVERSATION_MESSAGE_ERRORS]['code'] | typeof AX_CONVERSATION_FILE_ERRORS[keyof typeof AX_CONVERSATION_FILE_ERRORS]['code'] | typeof AX_CONVERSATION_USER_ERRORS[keyof typeof AX_CONVERSATION_USER_ERRORS]['code'] | typeof AX_CONVERSATION_ERRORS[keyof typeof AX_CONVERSATION_ERRORS]['code'] | typeof AX_CONVERSATION_CONNECTION_ERRORS[keyof typeof AX_CONVERSATION_CONNECTION_ERRORS]['code'] | typeof AX_CONVERSATION_LOCATION_ERRORS[keyof typeof AX_CONVERSATION_LOCATION_ERRORS]['code'] | typeof AX_CONVERSATION_URL_ERRORS[keyof typeof AX_CONVERSATION_URL_ERRORS]['code'];
6690
6803
 
6691
- export { AXConversationApi, AXConversationApiLoggerService, AXConversationAudioAttachmentComponent, AXConversationAudioFileTypeProvider, AXConversationAudioPickerComponent, AXConversationAudioRendererComponent, AXConversationAvatarComponent, AXConversationAvatarPickerComponent, AXConversationBaseRegistry, AXConversationComposerActionRegistry, AXConversationComposerComponent, AXConversationComposerFileTypesProvider, AXConversationComposerGenerationStateService, AXConversationComposerPopupComponent, AXConversationComposerService, AXConversationComposerTabRegistry, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationDeleteDialogComponent, AXConversationEmojiTabComponent, AXConversationErrorHandlerService, AXConversationFallbackRendererComponent, AXConversationFileAttachmentComponent, AXConversationFileFileTypeProvider, AXConversationFilePickerComponent, AXConversationFileRendererComponent, AXConversationForwardMessageDialogComponent, AXConversationImageAttachmentComponent, AXConversationImageFileTypeProvider, AXConversationImagePickerComponent, AXConversationImageRendererComponent, AXConversationInfiniteScrollDirective, AXConversationInfoBarActionRegistry, AXConversationInfoBarComponent, AXConversationInfoBarSearchComponent, AXConversationInfoBarService, AXConversationItemActionRegistry, AXConversationLocationPickerComponent, AXConversationLocationRendererComponent, AXConversationMediaPlaybackInfoBarBannerComponent, AXConversationMessageActionRegistry, AXConversationMessageApi, AXConversationMessageListComponent, AXConversationMessageListNoActiveDefaultComponent, AXConversationMessageListService, AXConversationMessageRendererCopyHostComponent, AXConversationMessageRendererRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationModule, AXConversationNewDialogComponent, AXConversationPickerCaptionComponent, AXConversationPickerEmptyComponent, AXConversationPickerFooterComponent, AXConversationPickerHeaderComponent, AXConversationPickerOptionsComponent, AXConversationPickerShellComponent, AXConversationPickerToolbarComponent, AXConversationRealtimeApi, AXConversationRegistryComponentOutletComponent, AXConversationRegistryService, AXConversationService, AXConversationSidebarComponent, AXConversationSidebarService, AXConversationStickerRendererComponent, AXConversationStickerTabComponent, AXConversationSystemRendererComponent, AXConversationTabRegistry, AXConversationTextRendererComponent, AXConversationUserApi, AXConversationVideoAttachmentComponent, AXConversationVideoFileTypeProvider, AXConversationVideoPickerComponent, AXConversationVideoRendererComponent, AXConversationVoiceFileTypeProvider, AXConversationVoiceRecorderComponent, AXConversationVoiceRendererComponent, 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_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_ROOM_PREFERENCES, AX_CONVERSATION_DEFAULT_USER_ICON, 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_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, abortPickerUploads, applyAudioLocalPreview, applyFileLocalPreview, applyLocalPreview, applyVideoLocalPreview, applyVoiceLocalPreview, audioItemFromUpload, bindMediaRendererContentState, buildMediaGalleryTiles, canShowRendererContentError, cleanupPickerUploads, conversationAudioUtilities, conversationFileUtilities, conversationImageUtilities, conversationVideoUtilities, conversationVoiceUtilities, copyWithFileTypeFallback, createConversationAudioFileType, createConversationFileFileType, createConversationImageFileType, createConversationVideoFileType, createConversationVoiceFileType, createLocalPreviewUrl, createObjectUrl, createPickerDragHandlers, createPickerUploadItemId, createResolvedMediaUrlSignal, deleteUploadedPickerMedia, dismissComposerPickerHost, ensureConversationFileCatalogRegistered, fetchConversationMediaPage, fileItemAsAudioMedia, fileItemFromUpload, filesFromClipboardEvent, filterMessagesByMediaCategory, filterSupplementalInfoPanelMessages, findExistingPrivateConversation, formatDuration, formatErrorMessage, formatFileByteSize, formatFileSize, formatMediaDuration, formatPickerValidationMessage, getActiveComposerPickerPasteHandler, getConversationMediaCategories, getConversationProfileFields, getErrorMessage, getMessageAudioItems, getMessageVideoItems, getPickerCancelUploadLabel, getPrivatePeerParticipant, hasRegistryComponent, inferFileExtensionHintFromMessage, isAttachmentListCategory, isComposerTabEnabled, isConversationReactionsEnabled, isConversationRoomCreator, isGenericPrivateConversationTitle, isGridMediaCategory, isGroupLikeConversation, isMessageDeliveryPending, isMessageListThemeBackground, isMessageVisibleAfterHistoryCutoff, isNonPersistableMediaUrl, isPickerItemReadyToSend, isSameMessageListBackground, isUploadAborted, limitFilesToCapacity, mediaCopyText, mergeAudioUploadResult, mergeFileUploadResult, mergeInfoPanelMessages, mergeUploadResult, mergeVideoUploadResult, mergeVoiceUploadResult, mergeWithDefaults, messageContainsLink, normalizeAudioPayload, normalizeFilePayload, normalizeImagePayload, normalizeMessageListBackgroundValue, normalizeVideoPayload, notifyMaxFilesCapacityExceeded, notifyPickerValidationErrors, openWithFileType, pickDisplayMediaUrl, pickEarliestJoinedParticipant, pickerItemToMediaReference, pickerItemToUploadResult, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerComposerPickerPasteHandler, reportMediaLoadError, resolveComposerMaxFiles, resolveConversationAvatarDisplay, resolveConversationComposerTabs, resolveConversationForViewer, resolveConversationMessageFileType, resolveConversationPeerParticipant, resolveConversationPeerUserId, resolveConversationTitleForViewer, resolveGalleryImageUrl, resolveImageDisplayUrl, resolveMessageListBackgroundRaw, resolveMessageListBackgroundStyle, resolveParticipantProfile, resolvePersistableMediaUrl, resolvePersistedThumbnailUrl, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, resolveVideoThumbnailUrl, revokeObjectUrl, revokePickerBlobPreviews, sanitizeInput, shouldUseUserAvatarForConversation, sortUsersForForward, syncPlaybackInfoBarBanner, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, uploadPickerFile, usesDefaultMessageListWallpaper, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds, videoItemFromUpload };
6692
- export type { AXConversation, AXConversationApiError, AXConversationApiLogEntry, AXConversationApiName, AXConversationAudioMediaItem, AXConversationAudioPayload, AXConversationAvatarComponents, AXConversationAvatarDisplay, AXConversationAvatarKind, AXConversationBlockReportReason, AXConversationCleanupPickerUploadsOptions, AXConversationComposerAction, AXConversationComposerActionComponent, AXConversationComposerActionContext, AXConversationComposerGenerationPhase, AXConversationComposerPickerUploadItem, AXConversationComposerPrimaryButtonMode, AXConversationComposerTab, AXConversationComposerTabFeature, AXConversationConfig, AXConversationConnectionStatus, AXConversationConversationAvatarComponent, AXConversationCreateData, AXConversationDateSeparatorKind, AXConversationDeleteDialogMode, AXConversationDeleteDialogResult, AXConversationDeleteMessageCommand, AXConversationDeleteOptions, AXConversationDropdownMenuItem, AXConversationEditMessageCommand, AXConversationError, AXConversationErrorCode, AXConversationErrorHandlerConfig, AXConversationErrorMessage, AXConversationErrorSeverity, AXConversationFeatures, AXConversationFileMediaItem, AXConversationFilePayload, AXConversationFilter, AXConversationFilters, AXConversationForwardUserSortEntry, AXConversationGroupedReaction, AXConversationImageMediaItem, AXConversationImagePayload, AXConversationInfoBarAction, AXConversationInfoBarActionComponent, AXConversationInfoBarActionContext, AXConversationInfoBarActiveBanner, AXConversationInfoBarActiveComponent, AXConversationInfoProfileField, AXConversationItemAction, AXConversationItemActionContext, AXConversationLink, AXConversationLinkPreview, AXConversationLoadMessagesResult, AXConversationLocationPayload, AXConversationMediaCategory, AXConversationMediaCategoryId, AXConversationMediaGalleryTile, AXConversationMediaItemFields, AXConversationMediaPageResult, AXConversationMention, AXConversationMessage, AXConversationMessageAction, AXConversationMessageActionContext, AXConversationMessageClusterRole, AXConversationMessageDateGroup, AXConversationMessageForwardData, AXConversationMessageInfoBarBannerComponent, AXConversationMessageListBackground, AXConversationMessageListBackgroundPreset, AXConversationMessageListEmptyComponent, AXConversationMessageListThemeBackground, AXConversationMessagePayload, AXConversationMessageRenderer, AXConversationMessageRendererCapabilities, AXConversationMessageRendererComponent, AXConversationMessageRendererContentState, AXConversationMessageRendererState, AXConversationMessageSearchFilters, AXConversationMessageStatus, AXConversationMessageType, AXConversationMetadata, AXConversationOptions, AXConversationOutletSkeleton, AXConversationPaginatedResult, AXConversationPagination, AXConversationPaginationState, AXConversationParticipant, AXConversationParticipantRole, AXConversationParticipantUpdate, AXConversationPickerPasteHandler, AXConversationPinnedMessage, AXConversationPlaybackBannerInputs, AXConversationPollOption, AXConversationPollPayload, AXConversationPresenceStatus, AXConversationPresenceUpdate, AXConversationReaction, AXConversationReadReceipt, AXConversationRegistryComponentRef, AXConversationRegistryConfiguration, AXConversationRegistryItem, AXConversationRoomPreferences, AXConversationRoomPreferencesMap, AXConversationSendMessageCommand, AXConversationSendMessageOptions, AXConversationSendMessageUploadSource, AXConversationSettingsUpdate, AXConversationSidebarTabsOrientation, AXConversationSort, AXConversationStickerPayload, AXConversationSystemPayload, AXConversationTab, AXConversationTextFormat, AXConversationTextPayload, AXConversationType, AXConversationTypingIndicator, AXConversationUpdateData, AXConversationUploadOptions, AXConversationUploaderFilePreview, AXConversationUploaderReference, AXConversationUploaderResult, AXConversationUser, AXConversationUserAvatarComponent, AXConversationUserPresence, AXConversationUserProfile, AXConversationUserProfileUpdate, AXConversationUserSearchFilters, AXConversationValidationResult, AXConversationVideoMediaItem, AXConversationVideoPayload, AXConversationVoicePayload };
6804
+ export { AXConversationApi, AXConversationApiLoggerService, AXConversationAudioAttachmentComponent, AXConversationAudioFileTypeProvider, AXConversationAudioPickerComponent, AXConversationAudioRendererComponent, AXConversationAvatarComponent, AXConversationAvatarPickerComponent, AXConversationBaseRegistry, AXConversationComposerActionRegistry, AXConversationComposerComponent, AXConversationComposerFileTypesProvider, AXConversationComposerGenerationStateService, AXConversationComposerPopupComponent, AXConversationComposerService, AXConversationComposerTabRegistry, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationDeleteDialogComponent, AXConversationEmojiTabComponent, AXConversationErrorHandlerService, AXConversationFallbackRendererComponent, AXConversationFileAttachmentComponent, AXConversationFileFileTypeProvider, AXConversationFilePickerComponent, AXConversationFileRendererComponent, AXConversationForwardMessageDialogComponent, AXConversationImageAttachmentComponent, AXConversationImageFileTypeProvider, AXConversationImagePickerComponent, AXConversationImageRendererComponent, AXConversationInfiniteScrollDirective, AXConversationInfoBarActionRegistry, AXConversationInfoBarComponent, AXConversationInfoBarSearchComponent, AXConversationInfoBarService, AXConversationItemActionRegistry, AXConversationLocationPickerComponent, AXConversationLocationRendererComponent, AXConversationMediaPlaybackInfoBarBannerComponent, AXConversationMessageActionRegistry, AXConversationMessageApi, AXConversationMessageListComponent, AXConversationMessageListNoActiveDefaultComponent, AXConversationMessageListService, AXConversationMessageRendererCopyHostComponent, AXConversationMessageRendererRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationModule, AXConversationNewDialogComponent, AXConversationPickerCaptionComponent, AXConversationPickerEmptyComponent, AXConversationPickerFooterComponent, AXConversationPickerHeaderComponent, AXConversationPickerOptionsComponent, AXConversationPickerShellComponent, AXConversationPickerToolbarComponent, AXConversationRealtimeApi, AXConversationRegistryComponentOutletComponent, AXConversationRegistryService, AXConversationService, AXConversationSidebarComponent, AXConversationSidebarService, AXConversationStickerRendererComponent, AXConversationStickerTabComponent, AXConversationSystemRendererComponent, AXConversationTabRegistry, AXConversationTextRendererComponent, AXConversationUserApi, AXConversationVideoAttachmentComponent, AXConversationVideoFileTypeProvider, AXConversationVideoPickerComponent, AXConversationVideoRendererComponent, AXConversationVoiceFileTypeProvider, AXConversationVoiceRecorderComponent, AXConversationVoiceRendererComponent, 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_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_ROOM_PREFERENCES, AX_CONVERSATION_DEFAULT_USER_ICON, 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_JUMBO_EMOJI_MAX, AX_CONVERSATION_LOCATION_ERRORS, AX_CONVERSATION_LOCATION_RENDERER, 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, abortPickerUploads, applyAudioLocalPreview, applyFileLocalPreview, applyLocalPreview, applyVideoLocalPreview, applyVoiceLocalPreview, audioItemFromUpload, bindMediaRendererContentState, buildMediaGalleryTiles, canShowRendererContentError, cleanupPickerUploads, conversationAudioUtilities, conversationFileUtilities, conversationImageUtilities, conversationVideoUtilities, conversationVoiceUtilities, copyWithFileTypeFallback, countLoneEmojis, createConversationAudioFileType, createConversationFileFileType, createConversationImageFileType, createConversationVideoFileType, createConversationVoiceFileType, createLocalPreviewUrl, createObjectUrl, createPickerDragHandlers, createPickerUploadItemId, createResolvedMediaUrlSignal, deleteUploadedPickerMedia, dismissComposerPickerHost, ensureConversationFileCatalogRegistered, fetchConversationMediaPage, fileItemAsAudioMedia, fileItemFromUpload, filesFromClipboardEvent, filterMessagesByMediaCategory, filterSupplementalInfoPanelMessages, findExistingPrivateConversation, formatDuration, formatErrorMessage, formatFileByteSize, formatFileSize, formatMediaDuration, formatPickerValidationMessage, getActiveComposerPickerPasteHandler, getConversationMediaCategories, getConversationProfileFields, getErrorMessage, getMessageAudioItems, getMessageVideoItems, getPickerCancelUploadLabel, getPrivatePeerParticipant, hasRegistryComponent, inferFileExtensionHintFromMessage, isAttachmentListCategory, isComposerTabEnabled, isConversationReactionsEnabled, isConversationRoomCreator, isGenericPrivateConversationTitle, isGridMediaCategory, isGroupLikeConversation, isJumboEmojiText, isJumboEmojiTextMessage, isMessageDeliveryPending, isMessageListThemeBackground, isMessageVisibleAfterHistoryCutoff, isNonPersistableMediaUrl, isPickerItemReadyToSend, isPlainChromeMessage, isSameMessageListBackground, isUploadAborted, limitFilesToCapacity, listTextGraphemes, mediaCopyText, mergeAudioUploadResult, mergeFileUploadResult, mergeInfoPanelMessages, mergeUploadResult, mergeVideoUploadResult, mergeVoiceUploadResult, mergeWithDefaults, messageContainsLink, normalizeAudioPayload, normalizeFilePayload, normalizeImagePayload, normalizeMessageListBackgroundValue, normalizeVideoPayload, notifyMaxFilesCapacityExceeded, notifyPickerValidationErrors, openWithFileType, pickDisplayMediaUrl, pickEarliestJoinedParticipant, pickerItemToMediaReference, pickerItemToUploadResult, probeImageDimensions, probeVideoMedia, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerComposerPickerPasteHandler, reportMediaLoadError, resolveComposerMaxFiles, resolveConversationAvatarDisplay, resolveConversationComposerTabs, resolveConversationForViewer, resolveConversationMessageFileType, resolveConversationPeerParticipant, resolveConversationPeerUserId, resolveConversationTitleForViewer, resolveGalleryImageUrl, resolveImageDisplayUrl, resolveMessageChrome, resolveMessageListBackgroundRaw, resolveMessageListBackgroundStyle, resolveParticipantProfile, resolvePersistableMediaUrl, resolvePersistedThumbnailUrl, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, resolveVideoThumbnailUrl, revokeObjectUrl, revokePickerBlobPreviews, sanitizeInput, shouldUseUserAvatarForConversation, sortUsersForForward, syncPlaybackInfoBarBanner, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, uploadPickerFile, usesDefaultMessageListWallpaper, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds, videoItemFromUpload };
6805
+ export type { AXConversation, AXConversationApiError, AXConversationApiLogEntry, AXConversationApiName, AXConversationAudioMediaItem, AXConversationAudioPayload, AXConversationAvatarComponents, AXConversationAvatarDisplay, AXConversationAvatarKind, AXConversationBlockReportReason, AXConversationCleanupPickerUploadsOptions, AXConversationComposerAction, AXConversationComposerActionComponent, AXConversationComposerActionContext, AXConversationComposerGenerationPhase, AXConversationComposerPickerUploadItem, AXConversationComposerPrimaryButtonMode, AXConversationComposerTab, AXConversationComposerTabFeature, AXConversationConfig, AXConversationConnectionStatus, AXConversationConversationAvatarComponent, AXConversationCreateData, AXConversationDateSeparatorKind, AXConversationDeleteDialogMode, AXConversationDeleteDialogResult, AXConversationDeleteMessageCommand, AXConversationDeleteOptions, AXConversationDropdownMenuItem, AXConversationEditMessageCommand, AXConversationError, AXConversationErrorCode, AXConversationErrorHandlerConfig, AXConversationErrorMessage, AXConversationErrorSeverity, AXConversationFeatures, AXConversationFileMediaItem, AXConversationFilePayload, AXConversationFilter, AXConversationFilters, AXConversationForwardUserSortEntry, AXConversationGroupedReaction, AXConversationImageMediaItem, AXConversationImagePayload, AXConversationInfoBarAction, AXConversationInfoBarActionComponent, AXConversationInfoBarActionContext, AXConversationInfoBarActiveBanner, AXConversationInfoBarActiveComponent, AXConversationInfoProfileField, AXConversationItemAction, AXConversationItemActionContext, AXConversationLink, AXConversationLinkPreview, AXConversationLoadMessagesResult, AXConversationLocationPayload, AXConversationMediaCategory, AXConversationMediaCategoryId, AXConversationMediaDimensions, AXConversationMediaGalleryTile, AXConversationMediaItemFields, AXConversationMediaPageResult, AXConversationMention, AXConversationMessage, AXConversationMessageAction, AXConversationMessageActionContext, AXConversationMessageChrome, AXConversationMessageClusterRole, AXConversationMessageDateGroup, AXConversationMessageForwardData, AXConversationMessageInfoBarBannerComponent, AXConversationMessageListBackground, AXConversationMessageListBackgroundPreset, AXConversationMessageListEmptyComponent, AXConversationMessageListThemeBackground, AXConversationMessagePayload, AXConversationMessageRenderer, AXConversationMessageRendererCapabilities, AXConversationMessageRendererComponent, AXConversationMessageRendererContentState, AXConversationMessageRendererState, AXConversationMessageSearchFilters, AXConversationMessageStatus, AXConversationMessageType, AXConversationMetadata, AXConversationOptions, AXConversationOutletSkeleton, AXConversationPaginatedResult, AXConversationPagination, AXConversationPaginationState, AXConversationParticipant, AXConversationParticipantRole, AXConversationParticipantUpdate, AXConversationPickerPasteHandler, AXConversationPinnedMessage, AXConversationPlaybackBannerInputs, AXConversationPollOption, AXConversationPollPayload, AXConversationPresenceStatus, AXConversationPresenceUpdate, AXConversationReaction, AXConversationReadReceipt, AXConversationRegistryComponentRef, AXConversationRegistryConfiguration, AXConversationRegistryItem, AXConversationRoomPreferences, AXConversationRoomPreferencesMap, AXConversationSendMessageCommand, AXConversationSendMessageOptions, AXConversationSendMessageUploadSource, AXConversationSettingsUpdate, AXConversationSidebarTabsOrientation, AXConversationSort, AXConversationStickerPayload, AXConversationSystemPayload, AXConversationTab, AXConversationTextFormat, AXConversationTextPayload, AXConversationType, AXConversationTypingIndicator, AXConversationUpdateData, AXConversationUploadOptions, AXConversationUploaderFilePreview, AXConversationUploaderReference, AXConversationUploaderResult, AXConversationUser, AXConversationUserAvatarComponent, AXConversationUserPresence, AXConversationUserProfile, AXConversationUserProfileUpdate, AXConversationUserSearchFilters, AXConversationValidationResult, AXConversationVideoMediaItem, AXConversationVideoPayload, AXConversationVoicePayload };
@@ -212,7 +212,7 @@ declare abstract class AXBaseDataTable extends MXBaseComponent {
212
212
  */
213
213
  getColumnHighlightColor(column: AXDataTableColumnComponent): AXDataTableRowColorType | null;
214
214
  /**
215
- * Returns the CSS class of a highlighted column, applied to its header and body cells.
215
+ * Returns column CSS classes for header and body cells (`cssClass` + temporary highlight).
216
216
  */
217
217
  getColumnCssClass(column: AXDataTableColumnComponent): string;
218
218
  /**
@@ -0,0 +1,42 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { AXEmoji } from '@acorex/core/constants';
3
+
4
+ /**
5
+ * Renders a single emoji using its Unicode character from metadata.
6
+ *
7
+ * @category Components
8
+ */
9
+ declare class AXEmojiComponent {
10
+ /**
11
+ * Emoji metadata to render.
12
+ */
13
+ readonly emoji: _angular_core.InputSignal<AXEmoji>;
14
+ /**
15
+ * Emoji rendering style.
16
+ * - `google`: Noto Color Emoji (Android/Google look) on all platforms, including Windows.
17
+ * - `native`: OS default fonts (Segoe UI Emoji on Windows).
18
+ *
19
+ * @defaultValue 'google'
20
+ */
21
+ readonly appearance: _angular_core.InputSignal<"google" | "native">;
22
+ /**
23
+ * Rendered size in pixels.
24
+ *
25
+ * @defaultValue 20
26
+ */
27
+ readonly size: _angular_core.InputSignal<number>;
28
+ /** Unicode glyph to display. */
29
+ protected readonly glyph: _angular_core.Signal<string>;
30
+ /** Accessible label sourced from emoji metadata. */
31
+ protected readonly ariaLabel: _angular_core.Signal<string>;
32
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXEmojiComponent, never>;
33
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXEmojiComponent, "ax-emoji", never, { "emoji": { "alias": "emoji"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
34
+ }
35
+
36
+ declare class AXEmojiModule {
37
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXEmojiModule, never>;
38
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXEmojiModule, never, [typeof AXEmojiComponent], [typeof AXEmojiComponent]>;
39
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXEmojiModule>;
40
+ }
41
+
42
+ export { AXEmojiComponent, AXEmojiModule };
@@ -0,0 +1,146 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { AXValueChangedEvent } from '@acorex/cdk/common';
3
+ import { AXGestureEvent } from '@acorex/cdk/gesture';
4
+ import { AXTabStripChangedEvent } from '@acorex/components/tabs';
5
+ import { AXEmoji, AXEmojiCategory, AXEmojiPickerCategoryId, AXEmojiCategoryMeta } from '@acorex/core/constants';
6
+
7
+ /**
8
+ * Telegram-style emoji picker with category tabs, search, and recent emojis.
9
+ *
10
+ * @category Components
11
+ */
12
+ declare class AXEmojiPickerComponent {
13
+ private readonly hostRef;
14
+ private readonly destroyRef;
15
+ /** Emoji entries available in the picker. */
16
+ readonly items: _angular_core.InputSignal<readonly AXEmoji[]>;
17
+ /** Rendered emoji size in the grid. */
18
+ readonly size: _angular_core.InputSignal<number>;
19
+ /**
20
+ * Emoji rendering style passed to {@link AXEmojiComponent}.
21
+ * `google` uses Noto Color Emoji (Android/Google look) on Windows too.
22
+ *
23
+ * @defaultValue 'google'
24
+ */
25
+ readonly appearance: _angular_core.InputSignal<"google" | "native">;
26
+ /** Whether the search box is shown. */
27
+ readonly showSearch: _angular_core.InputSignal<boolean>;
28
+ /** Whether the recent category tab is shown. */
29
+ readonly showRecent: _angular_core.InputSignal<boolean>;
30
+ /** Number of emoji columns in the virtualized grid. */
31
+ readonly columns: _angular_core.InputSignal<number>;
32
+ /** Search box placeholder text. */
33
+ readonly searchPlaceholder: _angular_core.InputSignal<string>;
34
+ /** Unicode emoji group categories to hide from tabs and results. */
35
+ readonly excludeCategories: _angular_core.InputSignal<readonly AXEmojiCategory[]>;
36
+ /** `AXEmoji.code` values to hide (e.g. `1f595`). */
37
+ readonly excludeCodes: _angular_core.InputSignal<readonly string[]>;
38
+ /** `AXEmoji.unicode` glyph values to hide (e.g. `🖕`). */
39
+ readonly excludeUnicode: _angular_core.InputSignal<readonly string[]>;
40
+ /** Emits when the user selects an emoji. */
41
+ readonly selected: _angular_core.OutputEmitterRef<AXEmoji>;
42
+ /**
43
+ * Recently used emojis supplied by the parent (e.g. API, LocalStorage).
44
+ * Rendered in the Recent tab when {@link showRecent} is enabled.
45
+ */
46
+ readonly recentItems: _angular_core.InputSignal<readonly AXEmoji[]>;
47
+ /** Emits the updated recent list after the user selects an allowed emoji. */
48
+ readonly recentChanged: _angular_core.OutputEmitterRef<readonly AXEmoji[]>;
49
+ /** Current search query. */
50
+ protected readonly searchQuery: _angular_core.WritableSignal<string>;
51
+ /** Active category tab. */
52
+ protected readonly activeCategoryId: _angular_core.WritableSignal<AXEmojiPickerCategoryId>;
53
+ private readonly containerWidth;
54
+ protected readonly effectiveColumns: _angular_core.Signal<number>;
55
+ protected readonly availableWidthCss: _angular_core.Signal<string>;
56
+ constructor();
57
+ /** Items after picker exclusions are applied. */
58
+ protected readonly filteredItems: _angular_core.Signal<readonly AXEmoji[]>;
59
+ private readonly categoryIndex;
60
+ /** Recent items after active exclusions are applied for display. */
61
+ protected readonly visibleRecentItems: _angular_core.Signal<AXEmoji[]>;
62
+ protected onCategorySwipe(event: AXGestureEvent): void;
63
+ /** Visible category tabs. */
64
+ protected readonly categories: _angular_core.Signal<readonly AXEmojiCategoryMeta[]>;
65
+ /** Emojis shown in the current view (category or search results). */
66
+ protected readonly visibleEmojis: _angular_core.Signal<readonly AXEmoji[]>;
67
+ /** Rows used by the virtual scroll viewport. */
68
+ protected readonly emojiRows: _angular_core.Signal<readonly (readonly AXEmoji[])[]>;
69
+ /** Virtual scroll row height in pixels. */
70
+ protected readonly rowHeight: _angular_core.Signal<number>;
71
+ /** Whether the user is searching. */
72
+ protected readonly isSearching: _angular_core.Signal<boolean>;
73
+ /** Whether the current view has no emojis. */
74
+ protected readonly isEmpty: _angular_core.Signal<boolean>;
75
+ /** Keeps the active tab valid when exclusions change. */
76
+ private readonly syncActiveCategory;
77
+ /** Selects a category tab and clears search. */
78
+ protected selectCategory(categoryId: AXEmojiPickerCategoryId): void;
79
+ /** Whether the given category tab is active. */
80
+ protected isCategoryActive(categoryId: AXEmojiPickerCategoryId): boolean;
81
+ /** Whether the category tab is the virtual recent group. */
82
+ protected isRecentCategory(categoryId: AXEmojiPickerCategoryId): boolean;
83
+ /** Syncs the active emoji category when a tab is selected. */
84
+ protected onCategoryTabChanged(event: AXTabStripChangedEvent): void;
85
+ /** Updates the search query from the search box. */
86
+ protected onSearchChanged(event: AXValueChangedEvent<string>): void;
87
+ /** Emits the selected emoji and notifies the parent of the updated recent list. */
88
+ protected selectEmoji(emoji: AXEmoji): void;
89
+ /** @ignore */
90
+ protected trackRow(index: number, row: readonly AXEmoji[]): string;
91
+ private rememberRecent;
92
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXEmojiPickerComponent, never>;
93
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXEmojiPickerComponent, "ax-emoji-picker", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; "showRecent": { "alias": "showRecent"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "excludeCategories": { "alias": "excludeCategories"; "required": false; "isSignal": true; }; "excludeCodes": { "alias": "excludeCodes"; "required": false; "isSignal": true; }; "excludeUnicode": { "alias": "excludeUnicode"; "required": false; "isSignal": true; }; "recentItems": { "alias": "recentItems"; "required": false; "isSignal": true; }; }, { "selected": "selected"; "recentChanged": "recentChanged"; }, never, never, true, never>;
94
+ }
95
+
96
+ /** Maximum number of emojis kept in the recent list. */
97
+ declare const RECENT_EMOJI_LIMIT = 20;
98
+ /** Grid cell size in px (`--ax-comp-emoji-picker-cell-size`). */
99
+ declare const EMOJI_PICKER_CELL_SIZE_PX = 36;
100
+ /** Grid cell size in px on narrow viewports. */
101
+ declare const EMOJI_PICKER_CELL_SIZE_PX_COMPACT = 32;
102
+ /** Gap between grid cells in px (`--ax-comp-emoji-picker-cell-gap`). */
103
+ declare const EMOJI_PICKER_CELL_GAP_PX = 2;
104
+ /** Horizontal padding around the emoji grid in px. */
105
+ declare const EMOJI_PICKER_GRID_PADDING_PX = 24;
106
+ /** Minimum column count. */
107
+ declare const EMOJI_PICKER_MIN_COLUMNS = 1;
108
+ /** Nearest ancestor that participates in layout (skips `display: contents`). */
109
+ declare function getEmojiPickerLayoutContainer(element: HTMLElement): HTMLElement;
110
+ /**
111
+ * Available width for the picker grid.
112
+ * Uses the tightest ancestor content box and the visible viewport slot so an
113
+ * overflowing parent cannot keep an 8-column grid that is clipped off-screen.
114
+ */
115
+ declare function resolveEmojiPickerContainerWidth(element: HTMLElement): number;
116
+ /** Resolves column count from container width while keeping a fixed cell size and gap. */
117
+ declare function resolveEmojiPickerColumns(containerWidth: number, requested: number): number;
118
+ /** Maximum number of emojis returned by search. */
119
+ declare const SEARCH_RESULT_LIMIT = 200;
120
+ /** User-defined exclusions for picker emoji lists. */
121
+ interface AXEmojiPickerFilter {
122
+ /** Unicode emoji group categories to hide from tabs and results. */
123
+ readonly excludeCategories?: readonly AXEmojiCategory[];
124
+ /** `AXEmoji.code` values to hide (hyphen-separated code points, e.g. `1f595`). */
125
+ readonly excludeCodes?: readonly string[];
126
+ /** `AXEmoji.unicode` glyph values to hide (e.g. `👋`). */
127
+ readonly excludeUnicode?: readonly string[];
128
+ }
129
+ /** Applies picker exclusions and default people-body curation. */
130
+ declare function filterPickerItems(items: readonly AXEmoji[], filter?: AXEmojiPickerFilter): readonly AXEmoji[];
131
+ /**
132
+ * Builds a category index for picker rendering.
133
+ * Expects items to be pre-filtered with {@link filterPickerItems}.
134
+ */
135
+ declare function buildEmojiPickerIndex(items: readonly AXEmoji[]): ReadonlyMap<AXEmojiCategory, readonly AXEmoji[]>;
136
+ /** Searches pre-filtered emoji metadata by name and keywords. */
137
+ declare function searchPickerEmojis(items: readonly AXEmoji[], query: string, limit?: number): readonly AXEmoji[];
138
+
139
+ declare class AXEmojiPickerModule {
140
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXEmojiPickerModule, never>;
141
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXEmojiPickerModule, never, [typeof AXEmojiPickerComponent], [typeof AXEmojiPickerComponent]>;
142
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXEmojiPickerModule>;
143
+ }
144
+
145
+ export { AXEmojiPickerComponent, AXEmojiPickerModule, EMOJI_PICKER_CELL_GAP_PX, EMOJI_PICKER_CELL_SIZE_PX, EMOJI_PICKER_CELL_SIZE_PX_COMPACT, EMOJI_PICKER_GRID_PADDING_PX, EMOJI_PICKER_MIN_COLUMNS, RECENT_EMOJI_LIMIT, SEARCH_RESULT_LIMIT, buildEmojiPickerIndex, filterPickerItems, getEmojiPickerLayoutContainer, resolveEmojiPickerColumns, resolveEmojiPickerContainerWidth, searchPickerEmojis };
146
+ export type { AXEmojiPickerFilter };
@@ -80,6 +80,9 @@ declare class AXFileViewerContainerComponent implements OnDestroy {
80
80
  readonly service: AXFileViewerService;
81
81
  private readonly host;
82
82
  private readonly fullScreenService;
83
+ private readonly document;
84
+ private readonly platformId;
85
+ private readonly destroyRef;
83
86
  private readonly mainCarouselRef;
84
87
  private readonly thumbCarouselRef;
85
88
  private initToken;
@@ -112,6 +115,7 @@ declare class AXFileViewerContainerComponent implements OnDestroy {
112
115
  formatSize(size?: number): string;
113
116
  private readonly mainCarouselOptions;
114
117
  private readonly thumbnailCarouselOptions;
118
+ constructor();
115
119
  resolveHeaderAction(action: AXMenuItem): AXMenuItem;
116
120
  onHeaderActionClick(action: AXMenuItem, event: AXClickEvent): void;
117
121
  private isFullscreenAction;
@@ -120,6 +124,7 @@ declare class AXFileViewerContainerComponent implements OnDestroy {
120
124
  /** @param emitGalleryClose When false, skips gallery close notification (used during service teardown). */
121
125
  exitFullscreen(emitGalleryClose?: boolean): void;
122
126
  closeGallery(): void;
127
+ private onFullscreenEscape;
123
128
  private initCarousels;
124
129
  private readonly onSlideChange;
125
130
  next(): void;
@@ -0,0 +1,52 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { AXEmoji } from '@acorex/core/constants';
3
+
4
+ declare class AXInlineReactionComponent {
5
+ private readonly elementRef;
6
+ private readonly document;
7
+ private readonly platformId;
8
+ readonly emojis: _angular_core.InputSignal<readonly AXEmoji[]>;
9
+ readonly size: _angular_core.InputSignal<number>;
10
+ /** Whether the reaction bar is expanded to show all emojis. */
11
+ readonly expanded: _angular_core.WritableSignal<boolean>;
12
+ /**
13
+ * Maximum number of emojis to display in the bar.
14
+ *
15
+ * @defaultValue 8
16
+ */
17
+ readonly maxVisible: _angular_core.InputSignal<number>;
18
+ /**
19
+ * When true, hides the expand button and always shows the collapsed bar only.
20
+ *
21
+ * @defaultValue false
22
+ */
23
+ readonly showExpanded: _angular_core.InputSignal<boolean>;
24
+ /**
25
+ * When true, collapses the bar when the user clicks outside the component.
26
+ *
27
+ * @defaultValue true
28
+ */
29
+ readonly closeOnClickOutside: _angular_core.InputSignal<boolean>;
30
+ /**
31
+ * Emits when the user clicks a quick reaction.
32
+ */
33
+ readonly selected: _angular_core.OutputEmitterRef<AXEmoji>;
34
+ /**
35
+ * Emits when the expanded state changes (expand button or click outside).
36
+ */
37
+ readonly expandedChange: _angular_core.OutputEmitterRef<boolean>;
38
+ protected readonly visibleEmojis: _angular_core.Signal<readonly AXEmoji[]>;
39
+ constructor();
40
+ protected toggleExpanded(event: Event): void;
41
+ private setExpanded;
42
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInlineReactionComponent, never>;
43
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInlineReactionComponent, "ax-inline-reaction", never, { "emojis": { "alias": "emojis"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "maxVisible": { "alias": "maxVisible"; "required": false; "isSignal": true; }; "showExpanded": { "alias": "showExpanded"; "required": false; "isSignal": true; }; "closeOnClickOutside": { "alias": "closeOnClickOutside"; "required": false; "isSignal": true; }; }, { "selected": "selected"; "expandedChange": "expandedChange"; }, never, never, true, never>;
44
+ }
45
+
46
+ declare class AXInlineReactionModule {
47
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInlineReactionModule, never>;
48
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXInlineReactionModule, never, [typeof AXInlineReactionComponent], [typeof AXInlineReactionComponent]>;
49
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXInlineReactionModule>;
50
+ }
51
+
52
+ export { AXInlineReactionComponent, AXInlineReactionModule };
@@ -584,6 +584,11 @@ declare class AXMapComponent extends NXComponent implements OnDestroy {
584
584
  * Refreshes POIs from providers, clearing existing POIs first
585
585
  */
586
586
  refreshPois(): Promise<void>;
587
+ /**
588
+ * Recalculates Leaflet tile layout after the map container is resized
589
+ * (for example after entering or exiting fullscreen).
590
+ */
591
+ invalidateSize(): void;
587
592
  /**
588
593
  * Cleanup function that destroys the map and unsubscribes from all subscriptions.
589
594
  */