@acorex/components 20.4.19 → 20.6.0

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.
@@ -471,6 +471,10 @@ interface AXParticipant {
471
471
  description?: string;
472
472
  /** Avatar/profile image URL */
473
473
  avatar?: string;
474
+ /**
475
+ * Font Awesome icon class(es) used when `avatar` is not set (e.g. `'fa-light fa-user'`).
476
+ */
477
+ icon?: string;
474
478
  /** Role in the conversation (for groups/channels) */
475
479
  role?: AXParticipantRole;
476
480
  /** Current online status */
@@ -562,6 +566,11 @@ interface AXConversation {
562
566
  title: string;
563
567
  /** Conversation avatar/image URL */
564
568
  avatar?: string;
569
+ /**
570
+ * Font Awesome icon class(es) for this conversation when no image avatar is used
571
+ * (e.g. default placeholder for senders without a participant avatar/icon).
572
+ */
573
+ icon?: string;
565
574
  /** Conversation description (for groups/channels) */
566
575
  description?: string;
567
576
  /** List of participants */
@@ -2899,7 +2908,7 @@ declare class AXConversationService {
2899
2908
  * @param metadata - Optional metadata (title, avatar, etc.)
2900
2909
  * @returns Created conversation
2901
2910
  */
2902
- createConversation(participantIds: string[], type: 'private' | 'group' | 'channel', metadata?: AXConversationMetadata): Promise<AXConversation>;
2911
+ createConversation(participantIds: string[], type: AXConversationType, metadata?: AXConversationMetadata): Promise<AXConversation>;
2903
2912
  /**
2904
2913
  * Get available users for conversation creation
2905
2914
  * @param query - Optional search query
@@ -4145,6 +4154,8 @@ declare class AXMessageListComponent implements OnDestroy {
4145
4154
  getSenderName(message: AXMessage): string;
4146
4155
  /** Get sender avatar */
4147
4156
  getSenderAvatar(message: AXMessage): string | undefined;
4157
+ /** Font Awesome icon for sender when no avatar image (participant or conversation icon). */
4158
+ getSenderAvatarIcon(message: AXMessage): string | undefined;
4148
4159
  /** Get original sender name for forwarded messages */
4149
4160
  getOriginalSenderName(message: AXMessage): string;
4150
4161
  /** Get forwarded text with sender and conversation info */
@@ -4255,6 +4266,8 @@ interface AXMessageAvatarTemplateContext {
4255
4266
  size: number;
4256
4267
  senderName: string;
4257
4268
  senderAvatar?: string;
4269
+ /** Font Awesome class string when there is no `senderAvatar` image. */
4270
+ senderIcon?: string;
4258
4271
  }
4259
4272
 
4260
4273
  declare class AXMessageListService {
@@ -5737,9 +5750,14 @@ declare class AXConversationMessageUtilsService {
5737
5750
  */
5738
5751
  static getSenderName(message: AXMessage, conversation: AXConversation): string;
5739
5752
  /**
5740
- * Get sender avatar
5753
+ * Get sender avatar image URL (takes precedence over {@link getSenderAvatarIcon}).
5741
5754
  */
5742
5755
  static getSenderAvatar(message: AXMessage, conversation: AXConversation): string | undefined;
5756
+ /**
5757
+ * Font Awesome icon class(es) for the sender when there is no avatar image:
5758
+ * participant `icon` first, then conversation-level `icon`.
5759
+ */
5760
+ static getSenderAvatarIcon(message: AXMessage, conversation: AXConversation): string | undefined;
5743
5761
  /**
5744
5762
  * Get initials from name
5745
5763
  */
package/fab/index.d.ts CHANGED
@@ -1,26 +1,41 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { AXClickEvent } from '@acorex/cdk/common';
2
+ import { AXPlacementType, AXClickEvent, AXEvent } from '@acorex/cdk/common';
3
3
 
4
- declare class AXFabItemComponent {
4
+ declare class AXFabComponent {
5
5
  label: _angular_core.InputSignal<string>;
6
+ popupStyle: _angular_core.InputSignal<"bubble" | "box">;
7
+ popupPlacement: _angular_core.InputSignal<AXPlacementType>;
6
8
  /**
7
9
  * Fires each time the user clicks the button.
8
10
  * @event
9
11
  */
10
12
  onClick: _angular_core.OutputEmitterRef<AXClickEvent>;
11
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFabItemComponent, never>;
12
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFabItemComponent, "ax-fab-item", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, ["ax-icon"], true, never>;
13
+ /**
14
+ * Emits when the popover is opened.
15
+ * @event
16
+ */
17
+ onOpened: _angular_core.OutputEmitterRef<AXEvent>;
18
+ /**
19
+ * Emits when the popover is closed.
20
+ * @event
21
+ */
22
+ onClosed: _angular_core.OutputEmitterRef<AXEvent>;
23
+ protected openPopover(): void;
24
+ protected closePopover(): void;
25
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFabComponent, never>;
26
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFabComponent, "ax-fab", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "popupStyle": { "alias": "popupStyle"; "required": false; "isSignal": true; }; "popupPlacement": { "alias": "popupPlacement"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-icon", "ax-fab-item"], true, never>;
13
27
  }
14
28
 
15
- declare class AXFabComponent {
29
+ declare class AXFabItemComponent {
16
30
  label: _angular_core.InputSignal<string>;
31
+ protected parent: AXFabComponent;
17
32
  /**
18
33
  * Fires each time the user clicks the button.
19
34
  * @event
20
35
  */
21
36
  onClick: _angular_core.OutputEmitterRef<AXClickEvent>;
22
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFabComponent, never>;
23
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFabComponent, "ax-fab", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, ["ax-icon", "ax-fab-item"], true, never>;
37
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFabItemComponent, never>;
38
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFabItemComponent, "ax-fab-item", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, ["ax-icon"], true, never>;
24
39
  }
25
40
 
26
41
  export { AXFabComponent, AXFabItemComponent };