@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.
- package/emoji/README.md +3 -0
- package/emojipicker/README.md +3 -0
- package/fesm2022/acorex-components-bubble.mjs +71 -0
- package/fesm2022/acorex-components-bubble.mjs.map +1 -0
- package/fesm2022/acorex-components-combo-box.mjs +71 -18
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/{acorex-components-conversation-acorex-components-conversation-CXf00kvo.mjs → acorex-components-conversation-acorex-components-conversation-DDkiZfPb.mjs} +831 -254
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-DDkiZfPb.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DZINTie8.mjs → acorex-components-conversation-picker-rename-file-dialog.component-CH3Q6Hry.mjs} +2 -2
- 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
- package/fesm2022/acorex-components-conversation.mjs +1 -1
- package/fesm2022/acorex-components-data-table.mjs +14 -10
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-emoji.mjs +74 -0
- package/fesm2022/acorex-components-emoji.mjs.map +1 -0
- package/fesm2022/acorex-components-emojipicker.mjs +425 -0
- package/fesm2022/acorex-components-emojipicker.mjs.map +1 -0
- package/fesm2022/acorex-components-file-viewer.mjs +46 -22
- package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-inline-reaction.mjs +111 -0
- package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -0
- package/fesm2022/acorex-components-map.mjs +7 -0
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-message-status.mjs +71 -0
- package/fesm2022/acorex-components-message-status.mjs.map +1 -0
- package/fesm2022/acorex-components-message-time.mjs +36 -0
- package/fesm2022/acorex-components-message-time.mjs.map +1 -0
- package/fesm2022/acorex-components-message.mjs +120 -0
- package/fesm2022/acorex-components-message.mjs.map +1 -0
- package/fesm2022/acorex-components-reaction.mjs +144 -0
- package/fesm2022/acorex-components-reaction.mjs.map +1 -0
- package/fesm2022/acorex-components-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/inline-reaction/README.md +3 -0
- package/message/README.md +3 -0
- package/message-status/README.md +3 -0
- package/message-time/README.md +3 -0
- package/package.json +35 -3
- package/reaction/README.md +3 -0
- package/types/acorex-components-bubble.d.ts +31 -0
- package/types/acorex-components-combo-box.d.ts +2 -2
- package/types/acorex-components-conversation.d.ts +126 -13
- package/types/acorex-components-data-table.d.ts +1 -1
- package/types/acorex-components-emoji.d.ts +42 -0
- package/types/acorex-components-emojipicker.d.ts +146 -0
- package/types/acorex-components-file-viewer.d.ts +5 -0
- package/types/acorex-components-inline-reaction.d.ts +52 -0
- package/types/acorex-components-map.d.ts +5 -0
- package/types/acorex-components-message-status.d.ts +23 -0
- package/types/acorex-components-message-time.d.ts +19 -0
- package/types/acorex-components-message.d.ts +59 -0
- package/types/acorex-components-reaction.d.ts +85 -0
- 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
|
|
4521
|
+
private applyPrependScrollRestore;
|
|
4461
4522
|
private revealStuckDateSeparators;
|
|
4462
4523
|
private syncDateSeparatorStuckState;
|
|
4463
4524
|
private scheduleDateSeparatorFade;
|
|
4464
4525
|
private clearDateSeparatorFadeTimer;
|
|
4465
|
-
/**
|
|
4466
|
-
private
|
|
4467
|
-
/**
|
|
4468
|
-
|
|
4469
|
-
|
|
4470
|
-
|
|
4471
|
-
|
|
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
|
|
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
|
|
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
|
*/
|