@acorex/components 20.4.12 → 20.4.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/conversation2/index.d.ts +372 -278
- package/fesm2022/acorex-components-code-editor.mjs +2 -2
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation2.mjs +2598 -2180
- package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +0 -1
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +2 -2
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/package.json +45 -45
package/conversation2/index.d.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import * as _acorex_components_conversation2 from '@acorex/components/conversation2';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { OnDestroy, ViewContainerRef, WritableSignal, Signal, Type,
|
|
4
|
-
import { AXComponentCloseEvent, AXHtmlEvent, AXClosableComponent } from '@acorex/cdk/common';
|
|
3
|
+
import { OnDestroy, ViewContainerRef, WritableSignal, Signal, Type, InputSignal, InjectionToken, OnInit, EventEmitter, TemplateRef, ElementRef, ModuleWithProviders, Provider } from '@angular/core';
|
|
4
|
+
import { AXComponentCloseEvent, AXHtmlEvent, AXDataSource, AXClosableComponent } from '@acorex/cdk/common';
|
|
5
5
|
import * as rxjs from 'rxjs';
|
|
6
6
|
import { Observable } from 'rxjs';
|
|
7
7
|
import { AXDialogService } from '@acorex/components/dialog';
|
|
8
|
-
import { AXPopupService } from '@acorex/components/popup';
|
|
8
|
+
import { AXPopupService, AXPopupRef } from '@acorex/components/popup';
|
|
9
9
|
import { AXUploaderChangedEvent } from '@acorex/cdk/uploader';
|
|
10
10
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
11
|
+
import { AXListComponent } from '@acorex/components/list';
|
|
11
12
|
import { AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
|
|
13
|
+
import { AXBasePageComponent } from '@acorex/components/page';
|
|
12
14
|
import { AXMapMarker } from '@acorex/components/map';
|
|
13
15
|
import { SafeHtml } from '@angular/platform-browser';
|
|
14
16
|
import * as i1 from '@angular/common';
|
|
@@ -267,25 +269,6 @@ interface AXStickerPayload {
|
|
|
267
269
|
/** Emoji representation */
|
|
268
270
|
emoji?: string;
|
|
269
271
|
}
|
|
270
|
-
/**
|
|
271
|
-
* Contact message payload
|
|
272
|
-
*/
|
|
273
|
-
interface AXContactPayload {
|
|
274
|
-
/** Message type */
|
|
275
|
-
type: 'contact';
|
|
276
|
-
/** Contact ID */
|
|
277
|
-
id: string;
|
|
278
|
-
/** Contact name */
|
|
279
|
-
name: string;
|
|
280
|
-
/** Phone number */
|
|
281
|
-
phoneNumber?: string;
|
|
282
|
-
/** Email address */
|
|
283
|
-
email?: string;
|
|
284
|
-
/** URL address */
|
|
285
|
-
url?: string;
|
|
286
|
-
/** Avatar URL */
|
|
287
|
-
avatar?: string;
|
|
288
|
-
}
|
|
289
272
|
/**
|
|
290
273
|
* Poll message payload
|
|
291
274
|
*/
|
|
@@ -336,7 +319,7 @@ interface AXSystemPayload {
|
|
|
336
319
|
/**
|
|
337
320
|
* Union type of all message payloads
|
|
338
321
|
*/
|
|
339
|
-
type AXMessagePayload = AXTextPayload | AXImagePayload | AXVideoPayload | AXAudioPayload | AXVoicePayload | AXFilePayload | AXLocationPayload | AXStickerPayload |
|
|
322
|
+
type AXMessagePayload = AXTextPayload | AXImagePayload | AXVideoPayload | AXAudioPayload | AXVoicePayload | AXFilePayload | AXLocationPayload | AXStickerPayload | AXPollPayload | AXSystemPayload;
|
|
340
323
|
|
|
341
324
|
/**
|
|
342
325
|
* Message Model
|
|
@@ -344,7 +327,7 @@ type AXMessagePayload = AXTextPayload | AXImagePayload | AXVideoPayload | AXAudi
|
|
|
344
327
|
*/
|
|
345
328
|
|
|
346
329
|
type AXMessageStatus = 'sending' | 'sent' | 'delivered' | 'read' | 'failed';
|
|
347
|
-
type AXMessageType = 'text' | 'image' | 'video' | 'audio' | 'voice' | 'file' | 'location' | 'sticker' | '
|
|
330
|
+
type AXMessageType = 'text' | 'image' | 'video' | 'audio' | 'voice' | 'file' | 'location' | 'sticker' | 'poll' | 'system' | string;
|
|
348
331
|
/**
|
|
349
332
|
* Reaction on a message
|
|
350
333
|
*/
|
|
@@ -548,6 +531,14 @@ interface AXConversationSettings {
|
|
|
548
531
|
/** Custom settings */
|
|
549
532
|
custom?: Record<string, unknown>;
|
|
550
533
|
}
|
|
534
|
+
/**
|
|
535
|
+
* Conversation metadata
|
|
536
|
+
* Extensible map for app-specific conversation data.
|
|
537
|
+
*/
|
|
538
|
+
interface AXConversationMetadata extends Record<string, unknown> {
|
|
539
|
+
/** Optional custom background CSS for message list */
|
|
540
|
+
messageListBackground?: string;
|
|
541
|
+
}
|
|
551
542
|
/**
|
|
552
543
|
* Main Conversation interface
|
|
553
544
|
*/
|
|
@@ -593,7 +584,7 @@ interface AXConversation {
|
|
|
593
584
|
/** Draft message text */
|
|
594
585
|
draft?: string;
|
|
595
586
|
/** Custom metadata */
|
|
596
|
-
metadata?:
|
|
587
|
+
metadata?: AXConversationMetadata;
|
|
597
588
|
}
|
|
598
589
|
/**
|
|
599
590
|
* Typing indicator
|
|
@@ -2531,6 +2522,11 @@ declare class AXMessageActionRegistry {
|
|
|
2531
2522
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMessageActionRegistry>;
|
|
2532
2523
|
}
|
|
2533
2524
|
|
|
2525
|
+
/**
|
|
2526
|
+
* Message Renderer Registry
|
|
2527
|
+
* Register custom message renderers for different message types
|
|
2528
|
+
*/
|
|
2529
|
+
|
|
2534
2530
|
/**
|
|
2535
2531
|
* Message renderer capabilities
|
|
2536
2532
|
*/
|
|
@@ -2548,6 +2544,35 @@ interface AXMessageRendererCapabilities {
|
|
|
2548
2544
|
/** Custom capabilities */
|
|
2549
2545
|
custom?: Record<string, boolean>;
|
|
2550
2546
|
}
|
|
2547
|
+
/**
|
|
2548
|
+
* Remote or binary content lifecycle inside a message renderer (image load, audio decode, etc.).
|
|
2549
|
+
* Use `none` when the renderer has no separate load phase (text, file row, etc.).
|
|
2550
|
+
*/
|
|
2551
|
+
type AXMessageRendererContentState = 'none' | 'loading' | 'ready' | 'error';
|
|
2552
|
+
/**
|
|
2553
|
+
* Combined state for a chat message renderer: delivery pipeline plus optional content load.
|
|
2554
|
+
*/
|
|
2555
|
+
interface AXMessageRendererState {
|
|
2556
|
+
/** Mirrors `message.status` (sending, sent, delivered, read, failed). */
|
|
2557
|
+
deliveryStatus: AXMessageStatus;
|
|
2558
|
+
/** Media / rich content load; set to `error` from `(error)` handlers on img, audio, video, etc. */
|
|
2559
|
+
contentState: AXMessageRendererContentState;
|
|
2560
|
+
}
|
|
2561
|
+
/**
|
|
2562
|
+
* Contract for components used as {@link AXMessageRenderer.component}.
|
|
2563
|
+
* The message list passes `{ message }`; each view exposes `rendererState` for templates and tooling.
|
|
2564
|
+
*/
|
|
2565
|
+
interface AXMessageRendererComponent {
|
|
2566
|
+
readonly message: InputSignal<AXMessage>;
|
|
2567
|
+
readonly rendererState: Signal<AXMessageRendererState>;
|
|
2568
|
+
}
|
|
2569
|
+
/**
|
|
2570
|
+
* Contract for components used as {@link AXMessageRenderer.infoBarBanner}.
|
|
2571
|
+
* Conversation shell passes at least `{ message }`; renderers can pass additional inputs.
|
|
2572
|
+
*/
|
|
2573
|
+
interface AXMessageInfoBarBannerComponent {
|
|
2574
|
+
readonly message: InputSignal<AXMessage>;
|
|
2575
|
+
}
|
|
2551
2576
|
/**
|
|
2552
2577
|
* Message renderer registration
|
|
2553
2578
|
*/
|
|
@@ -2555,7 +2580,12 @@ interface AXMessageRenderer {
|
|
|
2555
2580
|
/** Unique type identifier */
|
|
2556
2581
|
type: string;
|
|
2557
2582
|
/** Angular component to render this message type */
|
|
2558
|
-
component: Type<
|
|
2583
|
+
component: Type<AXMessageRendererComponent>;
|
|
2584
|
+
/**
|
|
2585
|
+
* Optional component rendered as a dismissible banner under info-bar.
|
|
2586
|
+
* Useful for active/interactive message states (e.g. voice playback progress).
|
|
2587
|
+
*/
|
|
2588
|
+
infoBarBanner?: Type<AXMessageInfoBarBannerComponent>;
|
|
2559
2589
|
/** Function to determine if this renderer can handle a message */
|
|
2560
2590
|
canHandle: (message: AXMessage) => boolean;
|
|
2561
2591
|
/** Renderer capabilities */
|
|
@@ -2564,17 +2594,24 @@ interface AXMessageRenderer {
|
|
|
2564
2594
|
displayName?: string;
|
|
2565
2595
|
/** Icon name/class */
|
|
2566
2596
|
icon?: string;
|
|
2597
|
+
/**
|
|
2598
|
+
* Optional composer actions co-located with this message type (e.g. pickers that produce this message).
|
|
2599
|
+
* Registered with {@link AXComposerActionRegistry} when the renderer is registered.
|
|
2600
|
+
* Use `AXRegistryConfiguration.composerActions` for actions not tied to a single message renderer.
|
|
2601
|
+
*/
|
|
2602
|
+
composerActions?: AXComposerAction[];
|
|
2567
2603
|
}
|
|
2568
2604
|
/**
|
|
2569
2605
|
* Message Renderer Registry Service
|
|
2570
2606
|
*/
|
|
2571
2607
|
declare class AXMessageRendererRegistry {
|
|
2572
2608
|
private readonly _renderers;
|
|
2609
|
+
private readonly _composerActions;
|
|
2573
2610
|
constructor();
|
|
2574
2611
|
/** All registered renderers */
|
|
2575
|
-
readonly renderers:
|
|
2612
|
+
readonly renderers: Signal<AXMessageRenderer[]>;
|
|
2576
2613
|
/** Renderers sorted by priority (highest first) */
|
|
2577
|
-
readonly sortedRenderers:
|
|
2614
|
+
readonly sortedRenderers: Signal<AXMessageRenderer[]>;
|
|
2578
2615
|
/**
|
|
2579
2616
|
* Register a message renderer
|
|
2580
2617
|
*/
|
|
@@ -2839,7 +2876,7 @@ declare class AXConversationService {
|
|
|
2839
2876
|
* @param conversationId - Conversation ID
|
|
2840
2877
|
* @param metadata - Metadata to merge
|
|
2841
2878
|
*/
|
|
2842
|
-
updateConversationMetadata(conversationId: string, metadata:
|
|
2879
|
+
updateConversationMetadata(conversationId: string, metadata: AXConversationMetadata): Promise<void>;
|
|
2843
2880
|
/**
|
|
2844
2881
|
* Get conversation by ID
|
|
2845
2882
|
* @param conversationId - Conversation ID
|
|
@@ -2853,7 +2890,7 @@ declare class AXConversationService {
|
|
|
2853
2890
|
* @param metadata - Optional metadata (title, avatar, etc.)
|
|
2854
2891
|
* @returns Created conversation
|
|
2855
2892
|
*/
|
|
2856
|
-
createConversation(participantIds: string[], type: 'private' | 'group' | 'channel', metadata?:
|
|
2893
|
+
createConversation(participantIds: string[], type: 'private' | 'group' | 'channel', metadata?: AXConversationMetadata): Promise<AXConversation>;
|
|
2857
2894
|
/**
|
|
2858
2895
|
* Get available users for conversation creation
|
|
2859
2896
|
* @param query - Optional search query
|
|
@@ -3412,12 +3449,6 @@ interface AXConversationConfig {
|
|
|
3412
3449
|
maxSidebarWidth?: number;
|
|
3413
3450
|
/** Default sidebar width in pixels */
|
|
3414
3451
|
defaultSidebarWidth?: number;
|
|
3415
|
-
/** Virtual scroll item size in pixels */
|
|
3416
|
-
virtualScrollItemSize?: number;
|
|
3417
|
-
/** Virtual scroll minimum buffer in pixels */
|
|
3418
|
-
virtualScrollMinBuffer?: number;
|
|
3419
|
-
/** Virtual scroll maximum buffer in pixels */
|
|
3420
|
-
virtualScrollMaxBuffer?: number;
|
|
3421
3452
|
/** Filter cache size */
|
|
3422
3453
|
filterCacheSize?: number;
|
|
3423
3454
|
/** Maximum file size in bytes */
|
|
@@ -3430,6 +3461,12 @@ interface AXConversationConfig {
|
|
|
3430
3461
|
minMessageLength?: number;
|
|
3431
3462
|
/** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
|
|
3432
3463
|
messageReadThreshold?: number;
|
|
3464
|
+
/**
|
|
3465
|
+
* CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
|
|
3466
|
+
* Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
|
|
3467
|
+
* Empty string = library default soft gradient. `transparent` or `none` = flat background.
|
|
3468
|
+
*/
|
|
3469
|
+
messageListBackground?: string;
|
|
3433
3470
|
}
|
|
3434
3471
|
|
|
3435
3472
|
/**
|
|
@@ -3473,7 +3510,7 @@ declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>
|
|
|
3473
3510
|
/**
|
|
3474
3511
|
* Additional message renderers configuration
|
|
3475
3512
|
* Provide this token to add custom message renderers in addition to built-in ones
|
|
3476
|
-
* Note: Built-in renderers (text,
|
|
3513
|
+
* Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
|
|
3477
3514
|
*/
|
|
3478
3515
|
declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
|
|
3479
3516
|
/**
|
|
@@ -3510,7 +3547,10 @@ declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationIt
|
|
|
3510
3547
|
* Registry configuration interface
|
|
3511
3548
|
*/
|
|
3512
3549
|
interface AXRegistryConfiguration {
|
|
3513
|
-
/**
|
|
3550
|
+
/**
|
|
3551
|
+
* Additional message renderers to register (built-in renderers are automatic).
|
|
3552
|
+
* Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
|
|
3553
|
+
*/
|
|
3514
3554
|
messageRenderers?: AXMessageRenderer[];
|
|
3515
3555
|
/** Message actions to register by default */
|
|
3516
3556
|
messageActions?: AXMessageAction[];
|
|
@@ -3573,6 +3613,14 @@ interface AXInfoBarActiveComponent {
|
|
|
3573
3613
|
/** Component inputs */
|
|
3574
3614
|
inputs?: Record<string, unknown>;
|
|
3575
3615
|
}
|
|
3616
|
+
interface AXInfoBarActiveBanner {
|
|
3617
|
+
/** Message that owns this banner */
|
|
3618
|
+
message: AXMessage;
|
|
3619
|
+
/** Banner component */
|
|
3620
|
+
component: Type<AXMessageInfoBarBannerComponent>;
|
|
3621
|
+
/** Additional component inputs */
|
|
3622
|
+
inputs?: Record<string, unknown>;
|
|
3623
|
+
}
|
|
3576
3624
|
/**
|
|
3577
3625
|
* Info Bar Service
|
|
3578
3626
|
* Manages info bar state and actions
|
|
@@ -3585,6 +3633,9 @@ declare class AXInfoBarService {
|
|
|
3585
3633
|
/** Active component being shown in info-bar */
|
|
3586
3634
|
private readonly _activeComponent;
|
|
3587
3635
|
readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
|
|
3636
|
+
/** Active banner shown under info-bar */
|
|
3637
|
+
private readonly _activeBanner;
|
|
3638
|
+
readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
|
|
3588
3639
|
/** Search query signal */
|
|
3589
3640
|
private readonly _searchQuery;
|
|
3590
3641
|
readonly searchQuery: _angular_core.Signal<string>;
|
|
@@ -3593,6 +3644,7 @@ declare class AXInfoBarService {
|
|
|
3593
3644
|
/** Current search result index */
|
|
3594
3645
|
private readonly _currentSearchIndex;
|
|
3595
3646
|
readonly currentSearchIndex: _angular_core.Signal<number>;
|
|
3647
|
+
constructor();
|
|
3596
3648
|
/**
|
|
3597
3649
|
* Get actions for the active conversation
|
|
3598
3650
|
*/
|
|
@@ -3617,6 +3669,19 @@ declare class AXInfoBarService {
|
|
|
3617
3669
|
* Hide the active component
|
|
3618
3670
|
*/
|
|
3619
3671
|
hideComponent(): void;
|
|
3672
|
+
/**
|
|
3673
|
+
* Show message-owned banner under info-bar if renderer provides one
|
|
3674
|
+
*/
|
|
3675
|
+
showMessageBanner(message: AXMessage, inputs?: Record<string, unknown>): void;
|
|
3676
|
+
/**
|
|
3677
|
+
* Update active banner inputs for a specific message
|
|
3678
|
+
*/
|
|
3679
|
+
updateMessageBannerInputs(messageId: string, inputs: Record<string, unknown>): void;
|
|
3680
|
+
/**
|
|
3681
|
+
* Hide active banner. If messageId is provided, hide only when it matches.
|
|
3682
|
+
*/
|
|
3683
|
+
hideMessageBanner(messageId?: string): void;
|
|
3684
|
+
isMessageBannerActive(messageId: string): boolean;
|
|
3620
3685
|
/**
|
|
3621
3686
|
* Toggle component visibility
|
|
3622
3687
|
*/
|
|
@@ -3917,6 +3982,8 @@ declare class AXInfoBarComponent {
|
|
|
3917
3982
|
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
3918
3983
|
/** Active component from service */
|
|
3919
3984
|
readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
|
|
3985
|
+
/** Active banner from service */
|
|
3986
|
+
readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
|
|
3920
3987
|
/** Members popover reference */
|
|
3921
3988
|
readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
|
|
3922
3989
|
/** Members popover target element */
|
|
@@ -3951,16 +4018,52 @@ declare class AXInfoBarComponent {
|
|
|
3951
4018
|
getComponentInputs(): Record<string, any>;
|
|
3952
4019
|
/** Handle close component */
|
|
3953
4020
|
onCloseComponent(): void;
|
|
4021
|
+
getBannerInputs(): Record<string, unknown>;
|
|
4022
|
+
onCloseBanner(): void;
|
|
3954
4023
|
/** Handle menu item click */
|
|
3955
4024
|
onMenuItemClick(item: DropdownMenuItem): Promise<void>;
|
|
3956
4025
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
|
|
3957
4026
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
|
|
3958
4027
|
}
|
|
3959
4028
|
|
|
4029
|
+
declare class AXForwardMessageDialogComponent implements OnInit {
|
|
4030
|
+
private readonly toastService;
|
|
4031
|
+
/**
|
|
4032
|
+
* Set by {@link AXPopupComponent} when opened via {@link AXPopupService} so the shell title can update.
|
|
4033
|
+
*/
|
|
4034
|
+
readonly __popup__: _angular_core.InputSignal<AXPopupRef<any>>;
|
|
4035
|
+
conversationService: AXConversationService;
|
|
4036
|
+
message: AXMessage;
|
|
4037
|
+
readonly onClosed: EventEmitter<AXComponentCloseEvent>;
|
|
4038
|
+
readonly allConversations: _angular_core.WritableSignal<AXConversation[]>;
|
|
4039
|
+
readonly forwardSearchQuery: _angular_core.WritableSignal<string>;
|
|
4040
|
+
readonly selectedConversationIds: _angular_core.WritableSignal<string[]>;
|
|
4041
|
+
readonly forwardListEmptyTpl: _angular_core.Signal<TemplateRef<unknown>>;
|
|
4042
|
+
readonly forwardList: _angular_core.Signal<AXListComponent>;
|
|
4043
|
+
readonly forwardListDataSource: AXDataSource<unknown>;
|
|
4044
|
+
readonly canForward: _angular_core.Signal<boolean>;
|
|
4045
|
+
private readonly _syncPopupTitleEffect;
|
|
4046
|
+
ngOnInit(): void;
|
|
4047
|
+
onForwardSearchChange(value: string): void;
|
|
4048
|
+
conversationFromItem(item: unknown): AXConversation | null;
|
|
4049
|
+
isSelected(conversationId: string): boolean;
|
|
4050
|
+
getInitials(name: string): string;
|
|
4051
|
+
private getFilteredConversationsForForward;
|
|
4052
|
+
onCancel(): void;
|
|
4053
|
+
onForward(): Promise<void>;
|
|
4054
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXForwardMessageDialogComponent, never>;
|
|
4055
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXForwardMessageDialogComponent, "ax-forward-message-dialog", never, { "__popup__": { "alias": "__popup__"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4056
|
+
}
|
|
4057
|
+
|
|
3960
4058
|
declare class AXMessageListComponent implements OnDestroy {
|
|
3961
4059
|
private readonly conversationService;
|
|
3962
4060
|
private readonly messageListService;
|
|
3963
4061
|
protected readonly config: AXConversationConfig;
|
|
4062
|
+
/**
|
|
4063
|
+
* Background for the message list scroll area from config, or the built-in soft gradient when unset/empty.
|
|
4064
|
+
* Set `messageListBackground` to `transparent` or `none` for a flat look.
|
|
4065
|
+
*/
|
|
4066
|
+
messageListBackgroundStyle(): string;
|
|
3964
4067
|
/** Custom avatar template for message list items */
|
|
3965
4068
|
readonly avatarTemplate: _angular_core.InputSignal<TemplateRef<AXMessageAvatarTemplateContext>>;
|
|
3966
4069
|
private readonly timeouts;
|
|
@@ -4027,7 +4130,7 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
4027
4130
|
/** Get forwarded text with sender and conversation info */
|
|
4028
4131
|
getForwardedText(message: AXMessage): string;
|
|
4029
4132
|
/** Resolve renderer component for message */
|
|
4030
|
-
getRendererComponent(message: AXMessage): _angular_core.Type<
|
|
4133
|
+
getRendererComponent(message: AXMessage): _angular_core.Type<_acorex_components_conversation2.AXMessageRendererComponent>;
|
|
4031
4134
|
/** Provide inputs for the dynamic renderer */
|
|
4032
4135
|
getRendererInputs(message: AXMessage): {
|
|
4033
4136
|
message: AXMessage;
|
|
@@ -4107,8 +4210,6 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
4107
4210
|
* This is called when a new reply or forward is detected globally
|
|
4108
4211
|
*/
|
|
4109
4212
|
private refreshCount;
|
|
4110
|
-
/** Show thread view for a message */
|
|
4111
|
-
showThread(message: AXMessage): void;
|
|
4112
4213
|
/** Handle context menu opening for messages */
|
|
4113
4214
|
handleMessageContextMenuOpening(event: AXContextMenuOpeningEvent, message: AXMessage): void;
|
|
4114
4215
|
/** Handle context menu item click for messages */
|
|
@@ -4179,61 +4280,8 @@ declare class AXMessageListService {
|
|
|
4179
4280
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMessageListService>;
|
|
4180
4281
|
}
|
|
4181
4282
|
|
|
4182
|
-
declare class AXForwardMessageDialogComponent implements OnInit {
|
|
4183
|
-
/** Toast service for notifications */
|
|
4184
|
-
private readonly toastService;
|
|
4185
|
-
/** Conversation service (passed via popup data) */
|
|
4186
|
-
conversationService: AXConversationService;
|
|
4187
|
-
/** Message to forward (passed via popup data) */
|
|
4188
|
-
message: AXMessage;
|
|
4189
|
-
/** Close event emitter for popup */
|
|
4190
|
-
readonly onClosed: EventEmitter<AXComponentCloseEvent>;
|
|
4191
|
-
/** Available conversations */
|
|
4192
|
-
readonly availableConversations: _angular_core.WritableSignal<AXConversation[]>;
|
|
4193
|
-
/** Selected conversation IDs */
|
|
4194
|
-
readonly selectedConversationIds: _angular_core.WritableSignal<string[]>;
|
|
4195
|
-
/** Can forward message */
|
|
4196
|
-
readonly canForward: _angular_core.Signal<boolean>;
|
|
4197
|
-
ngOnInit(): Promise<void>;
|
|
4198
|
-
/** Handle cancel */
|
|
4199
|
-
onCancel(): void;
|
|
4200
|
-
/** Handle forward */
|
|
4201
|
-
onForward(): Promise<void>;
|
|
4202
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXForwardMessageDialogComponent, never>;
|
|
4203
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXForwardMessageDialogComponent, "ax-forward-message-dialog", never, {}, {}, never, never, true, never>;
|
|
4204
|
-
}
|
|
4205
|
-
|
|
4206
|
-
declare class AXNewConversationDialogComponent implements OnInit {
|
|
4207
|
-
/** Toast service for notifications */
|
|
4208
|
-
private readonly toastService;
|
|
4209
|
-
/** Conversation service (passed via popup data) */
|
|
4210
|
-
conversationService: AXConversationService;
|
|
4211
|
-
/** Close event emitter for popup */
|
|
4212
|
-
readonly onClosed: EventEmitter<AXComponentCloseEvent>;
|
|
4213
|
-
/** Available users */
|
|
4214
|
-
readonly availableUsers: _angular_core.WritableSignal<AXParticipant[]>;
|
|
4215
|
-
/** Selected user IDs */
|
|
4216
|
-
readonly selectedUserIds: _angular_core.WritableSignal<string[]>;
|
|
4217
|
-
/** Group title */
|
|
4218
|
-
groupTitle: _angular_core.WritableSignal<string>;
|
|
4219
|
-
/** Group avatar */
|
|
4220
|
-
groupAvatar: _angular_core.WritableSignal<string>;
|
|
4221
|
-
/** Is group conversation */
|
|
4222
|
-
readonly isGroupConversation: _angular_core.Signal<boolean>;
|
|
4223
|
-
/** Can create conversation */
|
|
4224
|
-
readonly canCreate: _angular_core.Signal<boolean>;
|
|
4225
|
-
ngOnInit(): Promise<void>;
|
|
4226
|
-
/** Handle cancel */
|
|
4227
|
-
onCancel(): void;
|
|
4228
|
-
/** Handle create */
|
|
4229
|
-
onCreate(): Promise<void>;
|
|
4230
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXNewConversationDialogComponent, never>;
|
|
4231
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXNewConversationDialogComponent, "ax-new-conversation-dialog", never, {}, {}, never, never, true, never>;
|
|
4232
|
-
}
|
|
4233
|
-
|
|
4234
4283
|
declare class AXSidebarService {
|
|
4235
4284
|
private readonly conversationService;
|
|
4236
|
-
private readonly popupService;
|
|
4237
4285
|
private readonly config;
|
|
4238
4286
|
private get registry();
|
|
4239
4287
|
readonly searchQuery: _angular_core.WritableSignal<string>;
|
|
@@ -4254,7 +4302,6 @@ declare class AXSidebarService {
|
|
|
4254
4302
|
setActiveTab(tabId: string): void;
|
|
4255
4303
|
selectConversation(conversation: AXConversation): void;
|
|
4256
4304
|
getBadgeValue(tabId: string): string | undefined;
|
|
4257
|
-
openNewConversationDialog(): Promise<AXConversation | null>;
|
|
4258
4305
|
/**
|
|
4259
4306
|
* Load more conversations (pagination)
|
|
4260
4307
|
*/
|
|
@@ -4274,6 +4321,8 @@ declare class AXSidebarService {
|
|
|
4274
4321
|
declare class AXSidebarComponent implements OnDestroy {
|
|
4275
4322
|
readonly sidebar: AXSidebarService;
|
|
4276
4323
|
protected readonly config: AXConversationConfig;
|
|
4324
|
+
private readonly conversationService;
|
|
4325
|
+
private readonly popupService;
|
|
4277
4326
|
/** Conversation selected event */
|
|
4278
4327
|
readonly conversationSelected: _angular_core.OutputEmitterRef<AXConversation>;
|
|
4279
4328
|
/** Search debouncing */
|
|
@@ -4296,14 +4345,55 @@ declare class AXSidebarComponent implements OnDestroy {
|
|
|
4296
4345
|
selectConversation(conversation: AXConversation): void;
|
|
4297
4346
|
/** Get badge value for tab */
|
|
4298
4347
|
getBadgeValue(tabId: string): string | undefined;
|
|
4299
|
-
|
|
4300
|
-
onNewConversation(): Promise<void>;
|
|
4348
|
+
openNewConversationPopup(): Promise<void>;
|
|
4301
4349
|
/** Handle infinite scroll threshold - delegate to service */
|
|
4302
4350
|
onScrollThreshold(edge: 'top' | 'bottom'): Promise<void>;
|
|
4303
4351
|
/** Cleanup on destroy */
|
|
4304
4352
|
ngOnDestroy(): void;
|
|
4305
4353
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSidebarComponent, never>;
|
|
4306
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSidebarComponent, "ax-conversation-sidebar", never, {}, { "conversationSelected": "conversationSelected"; }, never,
|
|
4354
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSidebarComponent, "ax-conversation-sidebar", never, {}, { "conversationSelected": "conversationSelected"; }, never, ["ax-suffix"], true, never>;
|
|
4355
|
+
}
|
|
4356
|
+
|
|
4357
|
+
type NewConversationWizardStep = 'selectUsers' | 'groupDetails';
|
|
4358
|
+
declare class AXNewConversationDialogComponent extends AXBasePageComponent {
|
|
4359
|
+
conversationService: AXConversationService;
|
|
4360
|
+
private readonly toastService;
|
|
4361
|
+
/**
|
|
4362
|
+
* Injected by {@link AXPopupComponent} when this dialog is opened via {@link AXPopupService}.
|
|
4363
|
+
* Required for `setTitle` / dynamic header — {@link AXBasePageComponent#setTitle} is otherwise unset.
|
|
4364
|
+
*/
|
|
4365
|
+
readonly __popup__: _angular_core.InputSignal<AXPopupRef<any>>;
|
|
4366
|
+
readonly availableUsers: _angular_core.WritableSignal<AXParticipant[]>;
|
|
4367
|
+
readonly selectedUserIds: _angular_core.WritableSignal<string[]>;
|
|
4368
|
+
readonly groupTitle: _angular_core.WritableSignal<string>;
|
|
4369
|
+
readonly groupAvatar: _angular_core.WritableSignal<string>;
|
|
4370
|
+
readonly searchQuery: _angular_core.WritableSignal<string>;
|
|
4371
|
+
/** For 2+ users: step 1 = pick users, step 2 = title + avatar. */
|
|
4372
|
+
readonly wizardStep: _angular_core.WritableSignal<NewConversationWizardStep>;
|
|
4373
|
+
readonly showUserPickerStep: _angular_core.Signal<boolean>;
|
|
4374
|
+
readonly showGroupDetailsStep: _angular_core.Signal<boolean>;
|
|
4375
|
+
readonly showNextButton: _angular_core.Signal<boolean>;
|
|
4376
|
+
readonly showGroupBackButton: _angular_core.Signal<boolean>;
|
|
4377
|
+
readonly showCreateButton: _angular_core.Signal<boolean>;
|
|
4378
|
+
readonly canGoNextToGroupDetails: _angular_core.Signal<boolean>;
|
|
4379
|
+
readonly canCreate: _angular_core.Signal<boolean>;
|
|
4380
|
+
private readonly _resetWizardWhenSingleEffect;
|
|
4381
|
+
private readonly _syncPopupTitleEffect;
|
|
4382
|
+
readonly usersListEmptyTpl: _angular_core.Signal<TemplateRef<unknown>>;
|
|
4383
|
+
readonly usersList: _angular_core.Signal<AXListComponent>;
|
|
4384
|
+
readonly usersListDataSource: AXDataSource<unknown>;
|
|
4385
|
+
onCancel(): void;
|
|
4386
|
+
onSelectedUsersChange(ids: string[]): void;
|
|
4387
|
+
onNextToGroupDetails(): void;
|
|
4388
|
+
onBackFromGroupDetails(): void;
|
|
4389
|
+
onSearchChange(value: string): void;
|
|
4390
|
+
isUserSelected(id: string): boolean;
|
|
4391
|
+
userFromItem(item: unknown): AXParticipant | null;
|
|
4392
|
+
getInitials(name: string): string;
|
|
4393
|
+
private filteredUsers;
|
|
4394
|
+
onCreateConversation(): Promise<void>;
|
|
4395
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXNewConversationDialogComponent, never>;
|
|
4396
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXNewConversationDialogComponent, "ax-new-conversation-dialog", never, { "__popup__": { "alias": "__popup__"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4307
4397
|
}
|
|
4308
4398
|
|
|
4309
4399
|
declare class AXInfiniteScrollDirective {
|
|
@@ -4621,31 +4711,6 @@ declare class AXAudioPickerComponent {
|
|
|
4621
4711
|
declare const AX_CONVERSATION_COMPOSER_EMOJI_TAB: AXComposerTab;
|
|
4622
4712
|
declare const AX_CONVERSATION_COMPOSER_STICKER_TAB: AXComposerTab;
|
|
4623
4713
|
|
|
4624
|
-
declare class AXContactPickerComponent {
|
|
4625
|
-
private readonly composerService;
|
|
4626
|
-
private readonly conversationService;
|
|
4627
|
-
readonly conversation: _angular_core.InputSignal<AXConversation>;
|
|
4628
|
-
readonly onClose: _angular_core.OutputEmitterRef<void>;
|
|
4629
|
-
contactName: string;
|
|
4630
|
-
contactPhone: string;
|
|
4631
|
-
contactEmail: string;
|
|
4632
|
-
readonly searchQuery: _angular_core.WritableSignal<string>;
|
|
4633
|
-
readonly selectedContact: _angular_core.WritableSignal<AXContactPayload>;
|
|
4634
|
-
readonly allContacts: _angular_core.WritableSignal<AXContactPayload[]>;
|
|
4635
|
-
readonly filteredContacts: _angular_core.Signal<AXContactPayload[]>;
|
|
4636
|
-
readonly canSend: _angular_core.Signal<string | boolean>;
|
|
4637
|
-
selectContact(contact: AXContactPayload): void;
|
|
4638
|
-
sendContact(): Promise<void>;
|
|
4639
|
-
cancel(): void;
|
|
4640
|
-
getInitials(name: string): string;
|
|
4641
|
-
/** Check if Contact Picker API is supported */
|
|
4642
|
-
isContactPickerSupported(): boolean;
|
|
4643
|
-
/** Open device contacts using Contact Picker API */
|
|
4644
|
-
openDeviceContacts(): Promise<void>;
|
|
4645
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXContactPickerComponent, never>;
|
|
4646
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXContactPickerComponent, "ax-conversation-contact-picker", never, { "conversation": { "alias": "conversation"; "required": true; "isSignal": true; }; }, { "onClose": "onClose"; }, never, never, true, never>;
|
|
4647
|
-
}
|
|
4648
|
-
|
|
4649
4714
|
interface Emoji {
|
|
4650
4715
|
char: string;
|
|
4651
4716
|
name: string;
|
|
@@ -4903,8 +4968,7 @@ declare class AXVoiceRecorderComponent {
|
|
|
4903
4968
|
* - 40: Image (media)
|
|
4904
4969
|
* - 50: Video (media)
|
|
4905
4970
|
* - 60: Audio (media)
|
|
4906
|
-
* - 70:
|
|
4907
|
-
* - 80: Location (special)
|
|
4971
|
+
* - 70: Location (special)
|
|
4908
4972
|
*/
|
|
4909
4973
|
|
|
4910
4974
|
/**
|
|
@@ -4931,10 +4995,6 @@ declare const AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION: AXComposerAction;
|
|
|
4931
4995
|
* Audio file picker action
|
|
4932
4996
|
*/
|
|
4933
4997
|
declare const AX_CONVERSATION_COMPOSER_AUDIO_ACTION: AXComposerAction;
|
|
4934
|
-
/**
|
|
4935
|
-
* Contact picker action
|
|
4936
|
-
*/
|
|
4937
|
-
declare const AX_CONVERSATION_COMPOSER_CONTACT_ACTION: AXComposerAction;
|
|
4938
4998
|
/**
|
|
4939
4999
|
* Location picker action
|
|
4940
5000
|
*/
|
|
@@ -4958,6 +5018,11 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
|
|
|
4958
5018
|
activeTab: string;
|
|
4959
5019
|
editTitle: string;
|
|
4960
5020
|
editAvatar: string;
|
|
5021
|
+
readonly backgroundPresets: Array<{
|
|
5022
|
+
id: string;
|
|
5023
|
+
label: string;
|
|
5024
|
+
value: string;
|
|
5025
|
+
}>;
|
|
4961
5026
|
/** Get filtered members based on search */
|
|
4962
5027
|
get filteredMembers(): AXParticipant[];
|
|
4963
5028
|
/** Handle tab change */
|
|
@@ -4989,6 +5054,9 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
|
|
|
4989
5054
|
canSaveEdit(): boolean;
|
|
4990
5055
|
/** Save edit */
|
|
4991
5056
|
saveEdit(): Promise<void>;
|
|
5057
|
+
currentBackground(): string;
|
|
5058
|
+
isBackgroundSelected(value: string): boolean;
|
|
5059
|
+
applyMessageListBackground(value: string): Promise<void>;
|
|
4992
5060
|
ngOnDestroy(): void;
|
|
4993
5061
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationInfoPanelComponent, never>;
|
|
4994
5062
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationInfoPanelComponent, "ax-conversation-info-panel", never, {}, { "onClosed": "onClosed"; }, never, never, true, never>;
|
|
@@ -5062,155 +5130,158 @@ declare const AX_CONVERSATION_INFO_BAR_DELETE_ACTION: AXInfoBarAction;
|
|
|
5062
5130
|
*/
|
|
5063
5131
|
declare const AX_CONVERSATION_INFO_BAR_BLOCK_ACTION: AXInfoBarAction;
|
|
5064
5132
|
|
|
5065
|
-
|
|
5066
|
-
|
|
5067
|
-
|
|
5133
|
+
/**
|
|
5134
|
+
* Shared UI for message bubble bodies: sending / failed (with retry) and content load errors,
|
|
5135
|
+
* driven by {@link AXMessageRendererState}.
|
|
5136
|
+
*/
|
|
5137
|
+
declare class AXConversationMessageRendererStateComponent {
|
|
5138
|
+
private readonly conversation;
|
|
5139
|
+
readonly rendererState: _angular_core.InputSignal<AXMessageRendererState>;
|
|
5068
5140
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5069
|
-
/**
|
|
5141
|
+
/** Overrides default text when {@link AXMessageRendererState.contentState} is `error`. */
|
|
5142
|
+
readonly contentErrorLabel: _angular_core.InputSignal<string>;
|
|
5143
|
+
/** Overrides default text when delivery failed. */
|
|
5144
|
+
readonly deliveryFailedLabel: _angular_core.InputSignal<string>;
|
|
5145
|
+
/** Set false when the renderer shows content errors inline (e.g. inline media error state). */
|
|
5146
|
+
readonly showContentErrorChrome: _angular_core.InputSignal<boolean>;
|
|
5147
|
+
/** `inline` matches legacy media rows (e.g. audio): compact danger text under the player. */
|
|
5148
|
+
readonly contentErrorStyle: _angular_core.InputSignal<"inline" | "banner">;
|
|
5149
|
+
/** Icon class for content error (e.g. `fa-light fa-music` for audio). */
|
|
5150
|
+
readonly contentErrorIconClass: _angular_core.InputSignal<string>;
|
|
5151
|
+
/** `below`: render after main bubble body (typical for media). */
|
|
5152
|
+
readonly placement: _angular_core.InputSignal<"above" | "below">;
|
|
5153
|
+
readonly contentRetryEnabled: _angular_core.InputSignal<boolean>;
|
|
5154
|
+
readonly contentRetry: _angular_core.OutputEmitterRef<void>;
|
|
5155
|
+
readonly retryBusy: _angular_core.WritableSignal<boolean>;
|
|
5156
|
+
private readonly currentUser;
|
|
5157
|
+
private readonly isOwn;
|
|
5158
|
+
readonly showSending: _angular_core.Signal<boolean>;
|
|
5159
|
+
readonly showFailed: _angular_core.Signal<boolean>;
|
|
5160
|
+
readonly showContentError: _angular_core.Signal<boolean>;
|
|
5161
|
+
readonly hasVisibleChrome: _angular_core.Signal<boolean>;
|
|
5162
|
+
readonly showRetryButton: _angular_core.Signal<boolean>;
|
|
5163
|
+
readonly contentErrorText: _angular_core.Signal<string>;
|
|
5164
|
+
readonly deliveryFailedText: _angular_core.Signal<string>;
|
|
5165
|
+
onRetry(): Promise<void>;
|
|
5166
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationMessageRendererStateComponent, never>;
|
|
5167
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationMessageRendererStateComponent, "ax-conversation-message-renderer-state", never, { "rendererState": { "alias": "rendererState"; "required": true; "isSignal": true; }; "message": { "alias": "message"; "required": true; "isSignal": true; }; "contentErrorLabel": { "alias": "contentErrorLabel"; "required": false; "isSignal": true; }; "deliveryFailedLabel": { "alias": "deliveryFailedLabel"; "required": false; "isSignal": true; }; "showContentErrorChrome": { "alias": "showContentErrorChrome"; "required": false; "isSignal": true; }; "contentErrorStyle": { "alias": "contentErrorStyle"; "required": false; "isSignal": true; }; "contentErrorIconClass": { "alias": "contentErrorIconClass"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "contentRetryEnabled": { "alias": "contentRetryEnabled"; "required": false; "isSignal": true; }; }, { "contentRetry": "contentRetry"; }, never, never, true, never>;
|
|
5168
|
+
}
|
|
5169
|
+
|
|
5170
|
+
declare class AXAudioRendererComponent implements AXMessageRendererComponent {
|
|
5171
|
+
private readonly platformId;
|
|
5172
|
+
private readonly destroyRef;
|
|
5173
|
+
private readonly infoBarService;
|
|
5070
5174
|
private readonly audioElementRef;
|
|
5071
|
-
|
|
5175
|
+
private readonly _contentState;
|
|
5176
|
+
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5177
|
+
readonly rendererState: _angular_core.Signal<{
|
|
5178
|
+
deliveryStatus: AXMessageStatus;
|
|
5179
|
+
contentState: AXMessageRendererContentState;
|
|
5180
|
+
}>;
|
|
5072
5181
|
readonly isPlaying: _angular_core.WritableSignal<boolean>;
|
|
5073
|
-
/** Muted state */
|
|
5074
5182
|
readonly isMuted: _angular_core.WritableSignal<boolean>;
|
|
5075
|
-
/** Current time in seconds */
|
|
5076
5183
|
readonly currentTime: _angular_core.WritableSignal<number>;
|
|
5077
|
-
/** Duration in seconds */
|
|
5078
5184
|
readonly duration: _angular_core.WritableSignal<number>;
|
|
5079
|
-
/** Error state */
|
|
5080
|
-
readonly error: _angular_core.WritableSignal<boolean>;
|
|
5081
|
-
/** Audio payload */
|
|
5082
5185
|
readonly payload: _angular_core.Signal<AXAudioPayload>;
|
|
5083
|
-
/** Audio URL */
|
|
5084
5186
|
readonly audioUrl: _angular_core.Signal<string>;
|
|
5085
|
-
/** Title */
|
|
5086
5187
|
readonly title: _angular_core.Signal<string>;
|
|
5087
|
-
/** Progress percentage */
|
|
5088
5188
|
readonly progress: _angular_core.Signal<number>;
|
|
5089
|
-
/** Formatted current time */
|
|
5090
5189
|
readonly currentTimeFormatted: _angular_core.Signal<string>;
|
|
5091
|
-
/** Formatted duration */
|
|
5092
5190
|
readonly durationFormatted: _angular_core.Signal<string>;
|
|
5093
5191
|
constructor();
|
|
5094
|
-
/** Toggle play/pause */
|
|
5095
5192
|
togglePlay(): void;
|
|
5096
|
-
/** Toggle mute */
|
|
5097
5193
|
toggleMute(): void;
|
|
5098
|
-
/** Handle time update */
|
|
5099
5194
|
onTimeUpdate(): void;
|
|
5100
|
-
/** Handle audio ended */
|
|
5101
5195
|
onEnded(): void;
|
|
5102
|
-
/** Handle audio error */
|
|
5103
5196
|
onError(): void;
|
|
5104
|
-
/** Handle progress bar click */
|
|
5105
5197
|
onProgressClick(event: MouseEvent): void;
|
|
5106
|
-
|
|
5107
|
-
private
|
|
5198
|
+
private pausePlayback;
|
|
5199
|
+
private syncInfoBarBanner;
|
|
5108
5200
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXAudioRendererComponent, never>;
|
|
5109
5201
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXAudioRendererComponent, "ax-conversation-audio-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5110
5202
|
}
|
|
5111
5203
|
|
|
5112
|
-
declare class
|
|
5113
|
-
private readonly toastService;
|
|
5114
|
-
/** Message to render */
|
|
5204
|
+
declare class AXAudioInfoBarBannerComponent implements AXMessageInfoBarBannerComponent {
|
|
5115
5205
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5116
|
-
|
|
5117
|
-
readonly
|
|
5118
|
-
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
static
|
|
5125
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXContactRendererComponent, "ax-conversation-contact-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5206
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
5207
|
+
readonly currentTime: _angular_core.InputSignal<number>;
|
|
5208
|
+
readonly duration: _angular_core.InputSignal<number>;
|
|
5209
|
+
private readonly payload;
|
|
5210
|
+
readonly resolvedTitle: _angular_core.Signal<string>;
|
|
5211
|
+
readonly progressPercent: _angular_core.Signal<number>;
|
|
5212
|
+
readonly timeLabel: _angular_core.Signal<string>;
|
|
5213
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXAudioInfoBarBannerComponent, never>;
|
|
5214
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXAudioInfoBarBannerComponent, "ax-conversation-audio-info-bar-banner", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "currentTime": { "alias": "currentTime"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5126
5215
|
}
|
|
5127
5216
|
|
|
5128
|
-
declare class AXFallbackRendererComponent {
|
|
5129
|
-
|
|
5217
|
+
declare class AXFallbackRendererComponent implements AXMessageRendererComponent {
|
|
5218
|
+
private readonly _contentState;
|
|
5130
5219
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5220
|
+
readonly rendererState: _angular_core.Signal<{
|
|
5221
|
+
deliveryStatus: AXMessageStatus;
|
|
5222
|
+
contentState: AXMessageRendererContentState;
|
|
5223
|
+
}>;
|
|
5134
5224
|
readonly messageTypeLabel: _angular_core.Signal<string>;
|
|
5135
|
-
/**
|
|
5136
|
-
readonly
|
|
5137
|
-
/** Raw payload as JSON string */
|
|
5138
|
-
readonly rawPayload: _angular_core.Signal<string>;
|
|
5139
|
-
/** Toggle raw data display */
|
|
5140
|
-
toggleRaw(): void;
|
|
5225
|
+
/** Same tone as content-error default in {@link AXConversationMessageRendererStateComponent}. */
|
|
5226
|
+
readonly fallbackDescription: _angular_core.Signal<string>;
|
|
5141
5227
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFallbackRendererComponent, never>;
|
|
5142
5228
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFallbackRendererComponent, "ax-conversation-fallback-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5143
5229
|
}
|
|
5144
5230
|
|
|
5145
|
-
declare class AXFileRendererComponent {
|
|
5146
|
-
|
|
5231
|
+
declare class AXFileRendererComponent implements AXMessageRendererComponent {
|
|
5232
|
+
private readonly _contentState;
|
|
5147
5233
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5148
|
-
|
|
5234
|
+
readonly rendererState: _angular_core.Signal<{
|
|
5235
|
+
deliveryStatus: AXMessageStatus;
|
|
5236
|
+
contentState: AXMessageRendererContentState;
|
|
5237
|
+
}>;
|
|
5149
5238
|
readonly payload: _angular_core.Signal<AXFilePayload>;
|
|
5150
|
-
/** File URL */
|
|
5151
5239
|
readonly fileUrl: _angular_core.Signal<string>;
|
|
5152
|
-
/** File name */
|
|
5153
5240
|
readonly fileName: _angular_core.Signal<string>;
|
|
5154
|
-
/** File size in bytes */
|
|
5155
5241
|
readonly fileSize: _angular_core.Signal<number>;
|
|
5156
|
-
/** MIME type */
|
|
5157
5242
|
readonly mimeType: _angular_core.Signal<string>;
|
|
5158
|
-
/** File extension */
|
|
5159
5243
|
readonly fileExtension: _angular_core.Signal<string>;
|
|
5160
|
-
|
|
5161
|
-
readonly fileIconColor: _angular_core.Signal<string>;
|
|
5162
|
-
/** Formatted file size */
|
|
5244
|
+
readonly swatchColor: _angular_core.Signal<string>;
|
|
5163
5245
|
readonly formattedSize: _angular_core.Signal<string>;
|
|
5164
5246
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileRendererComponent, never>;
|
|
5165
5247
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileRendererComponent, "ax-conversation-file-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5166
5248
|
}
|
|
5167
5249
|
|
|
5168
|
-
declare class AXImageRendererComponent {
|
|
5250
|
+
declare class AXImageRendererComponent implements AXMessageRendererComponent {
|
|
5169
5251
|
private readonly platformId;
|
|
5170
|
-
|
|
5252
|
+
private readonly _contentState;
|
|
5171
5253
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5172
|
-
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
|
-
|
|
5176
|
-
/** Image clicked event */
|
|
5254
|
+
readonly rendererState: _angular_core.Signal<{
|
|
5255
|
+
deliveryStatus: AXMessageStatus;
|
|
5256
|
+
contentState: AXMessageRendererContentState;
|
|
5257
|
+
}>;
|
|
5177
5258
|
readonly imageClick: _angular_core.OutputEmitterRef<string>;
|
|
5178
|
-
/** Image payload */
|
|
5179
5259
|
readonly payload: _angular_core.Signal<AXImagePayload>;
|
|
5180
|
-
/** Thumbnail URL */
|
|
5181
5260
|
readonly thumbnailUrl: _angular_core.Signal<string>;
|
|
5182
|
-
/** Alt text */
|
|
5183
5261
|
readonly alt: _angular_core.Signal<string>;
|
|
5184
|
-
/** Caption */
|
|
5185
5262
|
readonly caption: _angular_core.Signal<string>;
|
|
5186
|
-
|
|
5263
|
+
constructor();
|
|
5187
5264
|
onLoad(): void;
|
|
5188
|
-
/** Handle image error */
|
|
5189
5265
|
onError(): void;
|
|
5190
|
-
/** Handle image click */
|
|
5191
5266
|
onClick(): void;
|
|
5192
5267
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageRendererComponent, never>;
|
|
5193
5268
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageRendererComponent, "ax-conversation-image-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, { "imageClick": "imageClick"; }, never, never, true, never>;
|
|
5194
5269
|
}
|
|
5195
5270
|
|
|
5196
|
-
declare class AXLocationRendererComponent {
|
|
5197
|
-
|
|
5271
|
+
declare class AXLocationRendererComponent implements AXMessageRendererComponent {
|
|
5272
|
+
private readonly _contentState;
|
|
5198
5273
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5199
|
-
|
|
5274
|
+
readonly rendererState: _angular_core.Signal<{
|
|
5275
|
+
deliveryStatus: AXMessageStatus;
|
|
5276
|
+
contentState: AXMessageRendererContentState;
|
|
5277
|
+
}>;
|
|
5200
5278
|
readonly payload: _angular_core.Signal<AXLocationPayload>;
|
|
5201
|
-
/** Latitude */
|
|
5202
5279
|
readonly latitude: _angular_core.Signal<number>;
|
|
5203
|
-
/** Longitude */
|
|
5204
5280
|
readonly longitude: _angular_core.Signal<number>;
|
|
5205
|
-
/** Location name */
|
|
5206
5281
|
readonly locationName: _angular_core.Signal<string>;
|
|
5207
|
-
/** Address */
|
|
5208
5282
|
readonly address: _angular_core.Signal<string>;
|
|
5209
|
-
/** Coordinates text */
|
|
5210
5283
|
readonly coordinatesText: _angular_core.Signal<string>;
|
|
5211
|
-
/** Google Maps URL */
|
|
5212
5284
|
readonly mapsUrl: _angular_core.Signal<string>;
|
|
5213
|
-
/** Markers for the map */
|
|
5214
5285
|
readonly markers: _angular_core.Signal<{
|
|
5215
5286
|
latitude: number;
|
|
5216
5287
|
longitude: number;
|
|
@@ -5222,130 +5293,154 @@ declare class AXLocationRendererComponent {
|
|
|
5222
5293
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLocationRendererComponent, "ax-conversation-location-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5223
5294
|
}
|
|
5224
5295
|
|
|
5225
|
-
declare class AXStickerRendererComponent {
|
|
5226
|
-
|
|
5296
|
+
declare class AXStickerRendererComponent implements AXMessageRendererComponent {
|
|
5297
|
+
private readonly _contentState;
|
|
5227
5298
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5228
|
-
|
|
5229
|
-
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
/** Sticker payload */
|
|
5299
|
+
readonly rendererState: _angular_core.Signal<{
|
|
5300
|
+
deliveryStatus: AXMessageStatus;
|
|
5301
|
+
contentState: AXMessageRendererContentState;
|
|
5302
|
+
}>;
|
|
5233
5303
|
readonly payload: _angular_core.Signal<AXStickerPayload>;
|
|
5234
|
-
/** Sticker URL */
|
|
5235
5304
|
readonly stickerUrl: _angular_core.Signal<string>;
|
|
5236
|
-
/** Alt text */
|
|
5237
5305
|
readonly alt: _angular_core.Signal<string>;
|
|
5238
|
-
|
|
5306
|
+
constructor();
|
|
5239
5307
|
onLoad(): void;
|
|
5240
|
-
/** Handle image error */
|
|
5241
5308
|
onError(): void;
|
|
5242
5309
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXStickerRendererComponent, never>;
|
|
5243
5310
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXStickerRendererComponent, "ax-conversation-sticker-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5244
5311
|
}
|
|
5245
5312
|
|
|
5246
|
-
declare class AXSystemRendererComponent {
|
|
5247
|
-
|
|
5313
|
+
declare class AXSystemRendererComponent implements AXMessageRendererComponent {
|
|
5314
|
+
private readonly _contentState;
|
|
5248
5315
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5249
|
-
|
|
5316
|
+
readonly rendererState: _angular_core.Signal<{
|
|
5317
|
+
deliveryStatus: AXMessageStatus;
|
|
5318
|
+
contentState: AXMessageRendererContentState;
|
|
5319
|
+
}>;
|
|
5250
5320
|
readonly payload: _angular_core.Signal<AXSystemPayload>;
|
|
5251
|
-
|
|
5252
|
-
readonly iconClass: _angular_core.Signal<"fa-light fa-image" | "fa-light fa-user-plus" | "fa-light fa-user-minus" | "fa-light fa-pen" | "fa-light fa-info-circle">;
|
|
5321
|
+
readonly iconClass: _angular_core.Signal<string>;
|
|
5253
5322
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSystemRendererComponent, never>;
|
|
5254
5323
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSystemRendererComponent, "ax-conversation-system-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5255
5324
|
}
|
|
5256
5325
|
|
|
5257
|
-
declare class AXTextRendererComponent {
|
|
5326
|
+
declare class AXTextRendererComponent implements AXMessageRendererComponent {
|
|
5258
5327
|
private readonly infoBarService;
|
|
5259
5328
|
private readonly sanitizer;
|
|
5260
|
-
|
|
5329
|
+
private readonly _contentState;
|
|
5261
5330
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5262
|
-
|
|
5331
|
+
readonly rendererState: _angular_core.Signal<{
|
|
5332
|
+
deliveryStatus: AXMessageStatus;
|
|
5333
|
+
contentState: AXMessageRendererContentState;
|
|
5334
|
+
}>;
|
|
5263
5335
|
readonly searchQuery: _angular_core.Signal<string>;
|
|
5264
|
-
/** Formatted text with links and search highlights */
|
|
5265
5336
|
readonly formattedText: _angular_core.Signal<SafeHtml>;
|
|
5266
|
-
/** Escape HTML to prevent XSS */
|
|
5267
|
-
private escapeHtml;
|
|
5268
|
-
/** Convert URLs to clickable links */
|
|
5269
5337
|
private linkify;
|
|
5270
|
-
/** Highlight search query in text */
|
|
5271
5338
|
private highlightSearch;
|
|
5272
5339
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTextRendererComponent, never>;
|
|
5273
5340
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTextRendererComponent, "ax-conversation-text-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5274
5341
|
}
|
|
5275
5342
|
|
|
5276
|
-
|
|
5343
|
+
/**
|
|
5344
|
+
* Video message: with thumbnail — tap poster to play inline; without thumbnail — native `<video>` only.
|
|
5345
|
+
*/
|
|
5346
|
+
declare class AXVideoRendererComponent implements AXMessageRendererComponent {
|
|
5277
5347
|
private readonly platformId;
|
|
5278
|
-
|
|
5348
|
+
private readonly destroyRef;
|
|
5349
|
+
private readonly infoBarService;
|
|
5350
|
+
private readonly videoElementRef;
|
|
5351
|
+
private readonly _contentState;
|
|
5279
5352
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5280
|
-
|
|
5353
|
+
readonly rendererState: _angular_core.Signal<{
|
|
5354
|
+
deliveryStatus: AXMessageStatus;
|
|
5355
|
+
contentState: AXMessageRendererContentState;
|
|
5356
|
+
}>;
|
|
5281
5357
|
readonly showPlayer: _angular_core.WritableSignal<boolean>;
|
|
5282
|
-
|
|
5283
|
-
readonly
|
|
5284
|
-
/** Video payload */
|
|
5358
|
+
readonly isPlaying: _angular_core.WritableSignal<boolean>;
|
|
5359
|
+
readonly currentTime: _angular_core.WritableSignal<number>;
|
|
5285
5360
|
readonly payload: _angular_core.Signal<AXVideoPayload>;
|
|
5286
|
-
|
|
5287
|
-
readonly videoUrl: _angular_core.Signal<string>;
|
|
5288
|
-
/** Thumbnail URL */
|
|
5361
|
+
readonly playbackUrl: _angular_core.Signal<string>;
|
|
5289
5362
|
readonly thumbnailUrl: _angular_core.Signal<string>;
|
|
5290
|
-
|
|
5363
|
+
readonly hasThumbnail: _angular_core.Signal<boolean>;
|
|
5291
5364
|
readonly duration: _angular_core.Signal<number>;
|
|
5292
|
-
/** Caption */
|
|
5293
5365
|
readonly caption: _angular_core.Signal<string>;
|
|
5294
|
-
|
|
5366
|
+
readonly durationLabel: _angular_core.Signal<string>;
|
|
5367
|
+
readonly showDurationBadge: _angular_core.Signal<boolean>;
|
|
5368
|
+
readonly playAriaLabel: _angular_core.Signal<string>;
|
|
5369
|
+
constructor();
|
|
5295
5370
|
playVideo(): void;
|
|
5296
|
-
|
|
5371
|
+
onPlay(): void;
|
|
5372
|
+
onPause(): void;
|
|
5373
|
+
onTimeUpdate(): void;
|
|
5374
|
+
onEnded(): void;
|
|
5375
|
+
onThumbLoad(): void;
|
|
5376
|
+
onThumbError(): void;
|
|
5377
|
+
onVideoLoaded(): void;
|
|
5297
5378
|
onError(): void;
|
|
5298
|
-
|
|
5299
|
-
|
|
5379
|
+
private pausePlayback;
|
|
5380
|
+
private syncInfoBarBanner;
|
|
5300
5381
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXVideoRendererComponent, never>;
|
|
5301
5382
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXVideoRendererComponent, "ax-conversation-video-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5302
5383
|
}
|
|
5303
5384
|
|
|
5304
|
-
declare class
|
|
5305
|
-
private readonly platformId;
|
|
5306
|
-
/** Message to render */
|
|
5385
|
+
declare class AXVideoInfoBarBannerComponent implements AXMessageInfoBarBannerComponent {
|
|
5307
5386
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5308
|
-
|
|
5387
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
5388
|
+
readonly currentTime: _angular_core.InputSignal<number>;
|
|
5389
|
+
readonly duration: _angular_core.InputSignal<number>;
|
|
5390
|
+
private readonly payload;
|
|
5391
|
+
readonly resolvedTitle: _angular_core.Signal<string>;
|
|
5392
|
+
readonly progressPercent: _angular_core.Signal<number>;
|
|
5393
|
+
readonly timeLabel: _angular_core.Signal<string>;
|
|
5394
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXVideoInfoBarBannerComponent, never>;
|
|
5395
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXVideoInfoBarBannerComponent, "ax-conversation-video-info-bar-banner", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "currentTime": { "alias": "currentTime"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5396
|
+
}
|
|
5397
|
+
|
|
5398
|
+
declare class AXVoiceRendererComponent implements AXMessageRendererComponent {
|
|
5399
|
+
private readonly platformId;
|
|
5400
|
+
private readonly destroyRef;
|
|
5401
|
+
private readonly infoBarService;
|
|
5309
5402
|
private readonly audioElementRef;
|
|
5310
|
-
|
|
5403
|
+
private readonly _contentState;
|
|
5404
|
+
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5405
|
+
readonly rendererState: _angular_core.Signal<{
|
|
5406
|
+
deliveryStatus: AXMessageStatus;
|
|
5407
|
+
contentState: AXMessageRendererContentState;
|
|
5408
|
+
}>;
|
|
5311
5409
|
readonly isPlaying: _angular_core.WritableSignal<boolean>;
|
|
5312
|
-
/** Current time in seconds */
|
|
5313
5410
|
readonly currentTime: _angular_core.WritableSignal<number>;
|
|
5314
|
-
/** Duration in seconds */
|
|
5315
5411
|
readonly duration: _angular_core.WritableSignal<number>;
|
|
5316
|
-
/** Error state */
|
|
5317
|
-
readonly error: _angular_core.WritableSignal<boolean>;
|
|
5318
|
-
/** Playback speed */
|
|
5319
5412
|
readonly playbackSpeed: _angular_core.WritableSignal<number>;
|
|
5320
|
-
/** Available playback speeds */
|
|
5321
5413
|
private readonly speeds;
|
|
5322
|
-
/** Voice payload */
|
|
5323
5414
|
readonly payload: _angular_core.Signal<AXVoicePayload>;
|
|
5324
|
-
/** Voice URL */
|
|
5325
5415
|
readonly voiceUrl: _angular_core.Signal<string>;
|
|
5326
|
-
/** Waveform data (simplified visualization) */
|
|
5327
5416
|
readonly waveformBars: _angular_core.Signal<number[]>;
|
|
5328
|
-
/** Active bar index based on progress */
|
|
5329
5417
|
readonly activeBarIndex: _angular_core.Signal<number>;
|
|
5330
|
-
|
|
5331
|
-
readonly currentTimeFormatted: _angular_core.Signal<string>;
|
|
5418
|
+
readonly timeLabel: _angular_core.Signal<string>;
|
|
5332
5419
|
constructor();
|
|
5333
|
-
/** Toggle play/pause */
|
|
5334
5420
|
togglePlay(): void;
|
|
5335
|
-
/** Cycle through playback speeds */
|
|
5336
5421
|
cyclePlaybackSpeed(): void;
|
|
5337
|
-
/** Handle time update */
|
|
5338
5422
|
onTimeUpdate(): void;
|
|
5339
|
-
/** Handle audio ended */
|
|
5340
5423
|
onEnded(): void;
|
|
5341
|
-
/** Handle audio error */
|
|
5342
5424
|
onError(): void;
|
|
5343
|
-
|
|
5344
|
-
private
|
|
5425
|
+
private pausePlayback;
|
|
5426
|
+
private syncInfoBarBanner;
|
|
5345
5427
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXVoiceRendererComponent, never>;
|
|
5346
5428
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXVoiceRendererComponent, "ax-conversation-voice-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5347
5429
|
}
|
|
5348
5430
|
|
|
5431
|
+
declare class AXVoiceInfoBarBannerComponent implements AXMessageInfoBarBannerComponent {
|
|
5432
|
+
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5433
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
5434
|
+
readonly currentTime: _angular_core.InputSignal<number>;
|
|
5435
|
+
readonly duration: _angular_core.InputSignal<number>;
|
|
5436
|
+
private readonly payload;
|
|
5437
|
+
readonly resolvedTitle: _angular_core.Signal<string>;
|
|
5438
|
+
readonly progressPercent: _angular_core.Signal<number>;
|
|
5439
|
+
readonly timeLabel: _angular_core.Signal<string>;
|
|
5440
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXVoiceInfoBarBannerComponent, never>;
|
|
5441
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXVoiceInfoBarBannerComponent, "ax-conversation-voice-info-bar-banner", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "currentTime": { "alias": "currentTime"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5442
|
+
}
|
|
5443
|
+
|
|
5349
5444
|
/**
|
|
5350
5445
|
* Default Message Actions Plugin
|
|
5351
5446
|
* Individual message action constants
|
|
@@ -5385,7 +5480,6 @@ declare const AX_CONVERSATION_VOICE_RENDERER: AXMessageRenderer;
|
|
|
5385
5480
|
declare const AX_CONVERSATION_FILE_RENDERER: AXMessageRenderer;
|
|
5386
5481
|
declare const AX_CONVERSATION_LOCATION_RENDERER: AXMessageRenderer;
|
|
5387
5482
|
declare const AX_CONVERSATION_STICKER_RENDERER: AXMessageRenderer;
|
|
5388
|
-
declare const AX_CONVERSATION_CONTACT_RENDERER: AXMessageRenderer;
|
|
5389
5483
|
declare const AX_CONVERSATION_SYSTEM_RENDERER: AXMessageRenderer;
|
|
5390
5484
|
declare const AX_CONVERSATION_FALLBACK_RENDERER: AXMessageRenderer;
|
|
5391
5485
|
|
|
@@ -6136,5 +6230,5 @@ declare function getErrorMessage(code: string, params?: Record<string, string |
|
|
|
6136
6230
|
*/
|
|
6137
6231
|
type AXErrorCode = typeof MESSAGE_ERRORS[keyof typeof MESSAGE_ERRORS]['code'] | typeof FILE_ERRORS[keyof typeof FILE_ERRORS]['code'] | typeof USER_ERRORS[keyof typeof USER_ERRORS]['code'] | typeof CONVERSATION_ERRORS[keyof typeof CONVERSATION_ERRORS]['code'] | typeof CONNECTION_ERRORS[keyof typeof CONNECTION_ERRORS]['code'] | typeof LOCATION_ERRORS[keyof typeof LOCATION_ERRORS]['code'] | typeof URL_ERRORS[keyof typeof URL_ERRORS]['code'] | typeof PERMISSION_ERRORS[keyof typeof PERMISSION_ERRORS]['code'];
|
|
6138
6232
|
|
|
6139
|
-
export { AI_API_KEY, AXAIResponderService, AXAudioPickerComponent, AXAudioRendererComponent, AXBaseRegistry, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry,
|
|
6140
|
-
export type { AXAIResponderConfig, AXApiError, AXAudioPayload, AXBlockReportReason, AXCallEvent, AXComposerAction, AXComposerActionContext, AXComposerActiveComponent, AXComposerTab, AXConnectionEvent, AXConnectionOptions, AXConnectionStatus,
|
|
6233
|
+
export { AI_API_KEY, AXAIResponderService, AXAudioInfoBarBannerComponent, AXAudioPickerComponent, AXAudioRendererComponent, AXBaseRegistry, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry, AXConversation2Module, AXConversationApi, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationService, AXConversationStoreService, AXConversationTabRegistry, AXEmojiTabComponent, AXErrorHandlerService, AXFallbackRendererComponent, AXFilePickerComponent, AXFileRendererComponent, AXFileUploadService, AXForwardMessageDialogComponent, AXImagePickerComponent, AXImageRendererComponent, AXIndexedDBConversationApi, AXIndexedDBMessageAIApi, AXIndexedDBMessageApi, AXIndexedDBRealtimeApi, AXIndexedDBUserApi, AXInfiniteScrollDirective, AXInfoBarActionRegistry, AXInfoBarComponent, AXInfoBarSearchComponent, AXInfoBarService, AXLocationPickerComponent, AXLocationRendererComponent, AXMessageActionRegistry, AXMessageApi, AXMessageListComponent, AXMessageListService, AXMessageRendererRegistry, AXNewConversationDialogComponent, AXPickerFooterComponent, AXPickerHeaderComponent, AXRealtimeApi, AXRegistryService, AXSidebarComponent, AXSidebarService, AXStickerRendererComponent, AXStickerTabComponent, AXSystemRendererComponent, AXTextRendererComponent, AXUserApi, AXVideoInfoBarBannerComponent, AXVideoPickerComponent, AXVideoRendererComponent, AXVoiceInfoBarBannerComponent, AXVoiceRecorderComponent, AXVoiceRendererComponent, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_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_FALLBACK_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_INFO_ACTION, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_COPY_ACTION, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, CONNECTION_ERRORS, CONVERSATION_CONFIG, CONVERSATION_ERRORS, DEFAULT_COMPOSER_ACTIONS, DEFAULT_COMPOSER_TABS, DEFAULT_CONVERSATION_ITEM_ACTIONS, DEFAULT_CONVERSATION_TABS, DEFAULT_INFO_BAR_ACTIONS, DEFAULT_MESSAGE_ACTIONS, DEFAULT_MESSAGE_RENDERERS, ERROR_HANDLER_CONFIG, ERROR_MESSAGES, FILE_ERRORS, LOCATION_ERRORS, MESSAGE_ERRORS, PERMISSION_ERRORS, REGISTRY_CONFIG, URL_ERRORS, USER_ERRORS, formatErrorMessage, getDefaultConversationItemActions, getErrorMessage, mergeWithDefaults, provideConversation, sanitizeInput, validateConversationId, validateEmail, validateFile, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
|
|
6234
|
+
export type { AXAIResponderConfig, AXApiError, AXAudioPayload, AXBlockReportReason, AXCallEvent, AXComposerAction, AXComposerActionContext, AXComposerActiveComponent, AXComposerTab, AXConnectionEvent, AXConnectionOptions, AXConnectionStatus, AXConversation, AXConversationConfig, AXConversationCreateData, AXConversationError, AXConversationFilter, AXConversationFilters, AXConversationItemAction, AXConversationItemActionContext, AXConversationMetadata, AXConversationOptions, AXConversationPermissions, AXConversationSettings, AXConversationSettingsUpdate, AXConversationSort, AXConversationStatus, AXConversationTab, AXConversationType, AXConversationUpdateData, AXDeleteMessageCommand, AXEditMessageCommand, AXErrorCode, AXErrorHandlerConfig, AXErrorMessage, AXErrorSeverity, AXFilePayload, AXFileValidationResult, AXGroupedReaction, AXImagePayload, AXInfoBarAction, AXInfoBarActionContext, AXInfoBarActiveBanner, AXInfoBarActiveComponent, AXLink, AXLinkPreview, AXLocationPayload, AXMention, AXMessage, AXMessageAction, AXMessageActionContext, AXMessageAvatarTemplateContext, AXMessageForwardData, AXMessageInfoBarBannerComponent, AXMessagePayload, AXMessageRenderer, AXMessageRendererCapabilities, AXMessageRendererComponent, AXMessageRendererContentState, AXMessageRendererState, AXMessageSearchFilters, AXMessageStatus, AXMessageType, AXNotificationEvent, AXPaginatedResult, AXPagination, AXParticipant, AXParticipantRole, AXParticipantStatus, AXParticipantUpdate, AXPinnedMessage, AXPollOption, AXPollPayload, AXPresenceStatus, AXPresenceUpdate, AXReaction, AXReadReceipt, AXRegistryConfiguration, AXRegistryItem, AXSendMessageCommand, AXStickerPayload, AXSystemPayload, AXTextFormat, AXTextPayload, AXTypingIndicator, AXUserProfileUpdate, AXUserRole, AXUserSearchFilters, AXValidationResult, AXVideoPayload, AXVoicePayload, DropdownMenuItem, FilePreview, FileUploadProgress };
|