@propbinder/mobile-design 0.2.87 → 0.2.89

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/index.d.ts CHANGED
@@ -857,7 +857,7 @@ declare class DsMobilePageMainComponent extends MobilePageBase implements AfterV
857
857
  headerSubtitle: _angular_core.InputSignal<string>;
858
858
  /** When true, the header logo plays a slide-in-from-top animation on first reveal */
859
859
  firstEntry: _angular_core.InputSignal<boolean>;
860
- avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
860
+ avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
861
861
  avatarInitials: _angular_core.InputSignal<string>;
862
862
  avatarSrc: _angular_core.InputSignal<string>;
863
863
  avatarIconName: _angular_core.InputSignal<string>;
@@ -1037,7 +1037,7 @@ declare class WhitelabelService {
1037
1037
  readonly logoUrl: _angular_core.Signal<string>;
1038
1038
  readonly logoMarkUrl: _angular_core.Signal<string>;
1039
1039
  readonly logoAlt: _angular_core.Signal<string>;
1040
- readonly logoSize: _angular_core.Signal<"md" | "sm" | "lg" | "xl">;
1040
+ readonly logoSize: _angular_core.Signal<"sm" | "md" | "lg" | "xl">;
1041
1041
  readonly logoHeight: _angular_core.Signal<number>;
1042
1042
  readonly appIconSurface: _angular_core.Signal<string>;
1043
1043
  readonly appIconContent: _angular_core.Signal<string>;
@@ -1716,7 +1716,7 @@ declare class DsMobileCommentComponent {
1716
1716
  /**
1717
1717
  * Avatar type
1718
1718
  */
1719
- avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
1719
+ avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
1720
1720
  /**
1721
1721
  * Whether the comment is clickable
1722
1722
  */
@@ -1851,7 +1851,7 @@ declare class DsMobilePostComposerComponent {
1851
1851
  /**
1852
1852
  * Avatar type
1853
1853
  */
1854
- avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
1854
+ avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
1855
1855
  /**
1856
1856
  * Avatar photo source (for photo type)
1857
1857
  */
@@ -2144,7 +2144,7 @@ declare class DsMobileMessageComposerComponent implements AfterViewInit, OnDestr
2144
2144
  /**
2145
2145
  * Avatar type
2146
2146
  */
2147
- avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
2147
+ avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
2148
2148
  /**
2149
2149
  * Avatar photo source (for photo type)
2150
2150
  */
@@ -2525,7 +2525,7 @@ declare class DsMobileMessageBubbleComponent {
2525
2525
  /**
2526
2526
  * Avatar type
2527
2527
  */
2528
- avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
2528
+ avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
2529
2529
  /**
2530
2530
  * Avatar photo source (for photo type)
2531
2531
  */
@@ -2802,7 +2802,7 @@ declare class DsMobileListItemComponent implements AfterViewInit {
2802
2802
  * - 'center' - Align to center
2803
2803
  * - 'bottom' - Align to bottom
2804
2804
  */
2805
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
2805
+ align: _angular_core.InputSignal<"top" | "center" | "bottom">;
2806
2806
  /**
2807
2807
  * Remove top padding — use on the first item in a section when there is
2808
2808
  * no preceding content, to avoid unnecessary whitespace.
@@ -3065,7 +3065,7 @@ declare class DsMobileInteractiveListItemPostComponent {
3065
3065
  /**
3066
3066
  * Avatar type
3067
3067
  */
3068
- avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
3068
+ avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
3069
3069
  /**
3070
3070
  * Avatar photo source (for photo type)
3071
3071
  */
@@ -3090,7 +3090,7 @@ declare class DsMobileInteractiveListItemPostComponent {
3090
3090
  * - 'center' - Align to center
3091
3091
  * - 'bottom' - Align to bottom
3092
3092
  */
3093
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
3093
+ align: _angular_core.InputSignal<"top" | "center" | "bottom">;
3094
3094
  /**
3095
3095
  * Whether the post card is clickable
3096
3096
  */
@@ -3318,7 +3318,7 @@ declare class DsMobileInteractiveListItemInquiryComponent {
3318
3318
  * - 'center' - Align to center
3319
3319
  * - 'bottom' - Align to bottom
3320
3320
  */
3321
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
3321
+ align: _angular_core.InputSignal<"top" | "center" | "bottom">;
3322
3322
  /**
3323
3323
  * Whether the inquiry item is clickable
3324
3324
  */
@@ -3746,6 +3746,7 @@ declare class DsMobileLightboxImageWithDescriptionComponent implements OnInit, A
3746
3746
  commentCount: _angular_core.WritableSignal<number>;
3747
3747
  descriptionText: _angular_core.WritableSignal<string | null>;
3748
3748
  descriptionError: _angular_core.WritableSignal<boolean>;
3749
+ isDescriptionMinimized: _angular_core.WritableSignal<boolean>;
3749
3750
  hasError: _angular_core.WritableSignal<boolean>;
3750
3751
  private descriptionSubscription?;
3751
3752
  currentImage: _angular_core.Signal<LightboxImageWithDescription>;
@@ -4357,7 +4358,7 @@ declare class DsMobileChatModalComponent implements OnInit, AfterViewInit {
4357
4358
  participant: _angular_core.WritableSignal<ChatParticipant>;
4358
4359
  messages: _angular_core.WritableSignal<ChatMessage[]>;
4359
4360
  currentUserInitials: _angular_core.WritableSignal<string>;
4360
- currentUserAvatarType: _angular_core.WritableSignal<"photo" | "initials" | "icon">;
4361
+ currentUserAvatarType: _angular_core.WritableSignal<"initials" | "photo" | "icon">;
4361
4362
  currentUserAvatarSrc: _angular_core.WritableSignal<string>;
4362
4363
  autoFocus: _angular_core.WritableSignal<boolean>;
4363
4364
  /** Inquiry shows system takeover copy; peer chat does not. */
@@ -4730,7 +4731,7 @@ declare class DsMobileInteractiveListItemMessageComponent {
4730
4731
  /**
4731
4732
  * Avatar type
4732
4733
  */
4733
- avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
4734
+ avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
4734
4735
  /**
4735
4736
  * Avatar photo source (for photo type)
4736
4737
  */
@@ -4739,6 +4740,10 @@ declare class DsMobileInteractiveListItemMessageComponent {
4739
4740
  * Whether the message is unread
4740
4741
  */
4741
4742
  unread: _angular_core.InputSignal<boolean>;
4743
+ /**
4744
+ * Style of the unread indicator
4745
+ */
4746
+ unreadStyle: _angular_core.InputSignal<"dot" | "envelope-tenant" | "envelope-partner">;
4742
4747
  /**
4743
4748
  * Whether the message item is clickable
4744
4749
  */
@@ -4749,7 +4754,7 @@ declare class DsMobileInteractiveListItemMessageComponent {
4749
4754
  * - 'center' - Align to center
4750
4755
  * - 'bottom' - Align to bottom
4751
4756
  */
4752
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
4757
+ align: _angular_core.InputSignal<"top" | "center" | "bottom">;
4753
4758
  /**
4754
4759
  * Whitelabel logomark on the avatar corner (e.g. org branding for staff).
4755
4760
  * Default true — preserves backward compatibility with inquiry assignee rows.
@@ -4772,7 +4777,7 @@ declare class DsMobileInteractiveListItemMessageComponent {
4772
4777
  handleMessageClick(): void;
4773
4778
  handleLongPress(): void;
4774
4779
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileInteractiveListItemMessageComponent, never>;
4775
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileInteractiveListItemMessageComponent, "ds-mobile-interactive-list-item-message", never, { "senderName": { "alias": "senderName"; "required": true; "isSignal": true; }; "senderRole": { "alias": "senderRole"; "required": true; "isSignal": true; }; "timestamp": { "alias": "timestamp"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": true; "isSignal": true; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "avatarType": { "alias": "avatarType"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "unread": { "alias": "unread"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "showAvatarBadge": { "alias": "showAvatarBadge"; "required": false; "isSignal": true; }; "groupStackMembers": { "alias": "groupStackMembers"; "required": false; "isSignal": true; }; "groupCustomAvatarUrl": { "alias": "groupCustomAvatarUrl"; "required": false; "isSignal": true; }; "groupStackExcludeParticipantId": { "alias": "groupStackExcludeParticipantId"; "required": false; "isSignal": true; }; }, { "messageClick": "messageClick"; "longPress": "longPress"; }, never, never, true, never>;
4780
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileInteractiveListItemMessageComponent, "ds-mobile-interactive-list-item-message", never, { "senderName": { "alias": "senderName"; "required": true; "isSignal": true; }; "senderRole": { "alias": "senderRole"; "required": true; "isSignal": true; }; "timestamp": { "alias": "timestamp"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": true; "isSignal": true; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "avatarType": { "alias": "avatarType"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "unread": { "alias": "unread"; "required": false; "isSignal": true; }; "unreadStyle": { "alias": "unreadStyle"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "showAvatarBadge": { "alias": "showAvatarBadge"; "required": false; "isSignal": true; }; "groupStackMembers": { "alias": "groupStackMembers"; "required": false; "isSignal": true; }; "groupCustomAvatarUrl": { "alias": "groupCustomAvatarUrl"; "required": false; "isSignal": true; }; "groupStackExcludeParticipantId": { "alias": "groupStackExcludeParticipantId"; "required": false; "isSignal": true; }; }, { "messageClick": "messageClick"; "longPress": "longPress"; }, never, never, true, never>;
4776
4781
  }
4777
4782
 
4778
4783
  /**
@@ -4790,7 +4795,7 @@ declare class DsMobileContactListItemComponent {
4790
4795
  initials: _angular_core.InputSignal<string>;
4791
4796
  /** Optional photo */
4792
4797
  avatarSrc: _angular_core.InputSignal<string>;
4793
- avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
4798
+ avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
4794
4799
  avatarIconName: _angular_core.InputSignal<string>;
4795
4800
  /** Whitelabel corner badge (default off — same as community posts) */
4796
4801
  showBadge: _angular_core.InputSignal<boolean>;
@@ -4811,7 +4816,7 @@ declare class DsMobileContactListItemComponent {
4811
4816
  /** Show a trailing trash-bin icon; emits {@link deleteClick} on tap. */
4812
4817
  showDeleteAction: _angular_core.InputSignal<boolean>;
4813
4818
  variant: _angular_core.InputSignal<"compact" | undefined>;
4814
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
4819
+ align: _angular_core.InputSignal<"top" | "center" | "bottom">;
4815
4820
  contactClick: _angular_core.OutputEmitterRef<void>;
4816
4821
  selectionToggle: _angular_core.OutputEmitterRef<void>;
4817
4822
  moreClick: _angular_core.OutputEmitterRef<void>;
@@ -4985,7 +4990,7 @@ declare class DsMobileGroupAvatarStackComponent {
4985
4990
  /** Full member list; {@link currentUserId} is removed for display when set. */
4986
4991
  members: _angular_core.InputSignal<ChatParticipant[]>;
4987
4992
  customAvatarUrl: _angular_core.InputSignal<string>;
4988
- size: _angular_core.InputSignal<"md" | "sm" | "lg" | "xl">;
4993
+ size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xl">;
4989
4994
  /** Row avatar (32×32, diagonal **xs** faces) vs header / hero stack. */
4990
4995
  layout: _angular_core.InputSignal<"stack" | "list">;
4991
4996
  /** When set, this participant is omitted from the stack (e.g. current user id). */
@@ -5023,7 +5028,7 @@ declare class UserService {
5023
5028
  readonly displayName: _angular_core.Signal<string>;
5024
5029
  readonly address: _angular_core.Signal<string>;
5025
5030
  readonly avatarInitials: _angular_core.Signal<string>;
5026
- readonly avatarType: _angular_core.Signal<"photo" | "initials" | "icon">;
5031
+ readonly avatarType: _angular_core.Signal<"initials" | "photo" | "icon">;
5027
5032
  readonly avatarSrc: _angular_core.Signal<string>;
5028
5033
  readonly profileMenuItems: _angular_core.Signal<ActionGroup[] | undefined>;
5029
5034
  private profileActionSelectedSubject;
@@ -5298,7 +5303,7 @@ declare class DsMobileInteractiveListItemBookingComponent {
5298
5303
  * - 'center' - Align to center
5299
5304
  * - 'bottom' - Align to bottom
5300
5305
  */
5301
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
5306
+ align: _angular_core.InputSignal<"top" | "center" | "bottom">;
5302
5307
  /**
5303
5308
  * Whether the booking item is clickable
5304
5309
  */
@@ -8512,7 +8517,7 @@ declare class DsMobileHandbookFolderMiniComponent {
8512
8517
  * ```
8513
8518
  */
8514
8519
  declare class DsTextInputComponent implements ControlValueAccessor {
8515
- type: _angular_core.InputSignal<"search" | "text" | "url" | "email" | "tel" | "password">;
8520
+ type: _angular_core.InputSignal<"search" | "text" | "email" | "tel" | "password" | "url">;
8516
8521
  label: _angular_core.InputSignal<string>;
8517
8522
  placeholder: _angular_core.InputSignal<string>;
8518
8523
  disabled: _angular_core.InputSignal<boolean>;
@@ -8521,7 +8526,7 @@ declare class DsTextInputComponent implements ControlValueAccessor {
8521
8526
  hasError: _angular_core.InputSignal<boolean>;
8522
8527
  errorMessage: _angular_core.InputSignal<string>;
8523
8528
  autocomplete: _angular_core.InputSignal<string>;
8524
- inputmode: _angular_core.InputSignal<"search" | "text" | "url" | "email" | "tel" | "numeric" | undefined>;
8529
+ inputmode: _angular_core.InputSignal<"search" | "text" | "email" | "tel" | "url" | "numeric" | undefined>;
8525
8530
  autoClearError: _angular_core.InputSignal<boolean>;
8526
8531
  validator: _angular_core.InputSignal<((value: string) => boolean) | null>;
8527
8532
  valueChange: _angular_core.OutputEmitterRef<string>;
@@ -8594,7 +8599,7 @@ declare class DsMobileFabComponent implements AfterViewInit, OnDestroy {
8594
8599
  * Note: FAB is always 56px circular, but this affects the icon size
8595
8600
  * @default 'md'
8596
8601
  */
8597
- size: _angular_core.InputSignal<"md" | "sm" | "lg">;
8602
+ size: _angular_core.InputSignal<"sm" | "md" | "lg">;
8598
8603
  /**
8599
8604
  * ARIA label for accessibility
8600
8605
  * @required - Always provide a descriptive label
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@propbinder/mobile-design",
3
- "version": "0.2.87",
3
+ "version": "0.2.89",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0 || ^21.0.0",
6
6
  "@angular/core": "^20.3.0 || ^21.0.0"