@propbinder/mobile-design 0.2.47 → 0.2.48

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
@@ -738,7 +738,7 @@ declare class DsMobilePageMainComponent extends MobilePageBase implements AfterV
738
738
  title: _angular_core.InputSignal<string>;
739
739
  headerTitle: _angular_core.InputSignal<string>;
740
740
  headerSubtitle: _angular_core.InputSignal<string>;
741
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
741
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
742
742
  avatarInitials: _angular_core.InputSignal<string>;
743
743
  avatarSrc: _angular_core.InputSignal<string>;
744
744
  avatarIconName: _angular_core.InputSignal<string>;
@@ -918,7 +918,7 @@ declare class WhitelabelService {
918
918
  readonly logoUrl: _angular_core.Signal<string>;
919
919
  readonly logoMarkUrl: _angular_core.Signal<string>;
920
920
  readonly logoAlt: _angular_core.Signal<string>;
921
- readonly logoSize: _angular_core.Signal<"md" | "sm" | "lg" | "xl">;
921
+ readonly logoSize: _angular_core.Signal<"sm" | "md" | "lg" | "xl">;
922
922
  readonly logoHeight: _angular_core.Signal<number>;
923
923
  readonly appIconSurface: _angular_core.Signal<string>;
924
924
  readonly appIconContent: _angular_core.Signal<string>;
@@ -1584,7 +1584,7 @@ declare class DsMobileCommentComponent {
1584
1584
  /**
1585
1585
  * Avatar type
1586
1586
  */
1587
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
1587
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
1588
1588
  /**
1589
1589
  * Whether the comment is clickable
1590
1590
  */
@@ -1711,7 +1711,7 @@ declare class DsMobilePostComposerComponent {
1711
1711
  /**
1712
1712
  * Avatar type
1713
1713
  */
1714
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
1714
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
1715
1715
  /**
1716
1716
  * Avatar photo source (for photo type)
1717
1717
  */
@@ -2003,7 +2003,7 @@ declare class DsMobileMessageComposerComponent implements AfterViewInit, OnDestr
2003
2003
  /**
2004
2004
  * Avatar type
2005
2005
  */
2006
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
2006
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
2007
2007
  /**
2008
2008
  * Avatar photo source (for photo type)
2009
2009
  */
@@ -2324,7 +2324,7 @@ declare class DsMobileMessageBubbleComponent {
2324
2324
  /**
2325
2325
  * Avatar type
2326
2326
  */
2327
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
2327
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
2328
2328
  /**
2329
2329
  * Avatar photo source (for photo type)
2330
2330
  */
@@ -2595,7 +2595,7 @@ declare class DsMobileListItemComponent implements AfterViewInit {
2595
2595
  * - 'center' - Align to center
2596
2596
  * - 'bottom' - Align to bottom
2597
2597
  */
2598
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
2598
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
2599
2599
  /**
2600
2600
  * Whether the list item is interactive (clickable and long-pressable)
2601
2601
  * When true, adds interactive background, cursor pointer, and touch handlers
@@ -2851,7 +2851,7 @@ declare class DsMobileInteractiveListItemPostComponent {
2851
2851
  /**
2852
2852
  * Avatar type
2853
2853
  */
2854
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
2854
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
2855
2855
  /**
2856
2856
  * Avatar photo source (for photo type)
2857
2857
  */
@@ -2876,7 +2876,7 @@ declare class DsMobileInteractiveListItemPostComponent {
2876
2876
  * - 'center' - Align to center
2877
2877
  * - 'bottom' - Align to bottom
2878
2878
  */
2879
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
2879
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
2880
2880
  /**
2881
2881
  * Whether the post card is clickable
2882
2882
  */
@@ -3104,7 +3104,7 @@ declare class DsMobileInteractiveListItemInquiryComponent {
3104
3104
  * - 'center' - Align to center
3105
3105
  * - 'bottom' - Align to bottom
3106
3106
  */
3107
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
3107
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
3108
3108
  /**
3109
3109
  * Whether the inquiry item is clickable
3110
3110
  */
@@ -3189,7 +3189,7 @@ declare class DsMobileInteractiveListItemMessageComponent {
3189
3189
  /**
3190
3190
  * Avatar type
3191
3191
  */
3192
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
3192
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
3193
3193
  /**
3194
3194
  * Avatar photo source (for photo type)
3195
3195
  */
@@ -3208,7 +3208,7 @@ declare class DsMobileInteractiveListItemMessageComponent {
3208
3208
  * - 'center' - Align to center
3209
3209
  * - 'bottom' - Align to bottom
3210
3210
  */
3211
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
3211
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
3212
3212
  /**
3213
3213
  * Emits when the message item is clicked
3214
3214
  */
@@ -3348,7 +3348,7 @@ declare class DsMobileInteractiveListItemBookingComponent {
3348
3348
  * - 'center' - Align to center
3349
3349
  * - 'bottom' - Align to bottom
3350
3350
  */
3351
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
3351
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
3352
3352
  /**
3353
3353
  * Whether the booking item is clickable
3354
3354
  */
@@ -4582,7 +4582,7 @@ declare abstract class MobileModalBase implements OnInit, OnDestroy {
4582
4582
  * - 'overlay': keyboard/footer overlays lower content (no auto scroll push)
4583
4583
  * @default 'follow'
4584
4584
  */
4585
- keyboardContentBehavior: _angular_core.InputSignal<"follow" | "overlay">;
4585
+ keyboardContentBehavior: _angular_core.InputSignal<"overlay" | "follow">;
4586
4586
  /**
4587
4587
  * Emitted when modal is closed
4588
4588
  */
@@ -4893,6 +4893,10 @@ declare class DsMobilePostDetailModalComponent implements OnInit, AfterViewInit
4893
4893
  currentUserInitialsInput: string;
4894
4894
  loading: boolean;
4895
4895
  error: string | undefined;
4896
+ onTogglePostLike?: (payload: {
4897
+ postId: string;
4898
+ active: boolean;
4899
+ }) => void;
4896
4900
  onSubmitComment?: (payload: {
4897
4901
  postId: string;
4898
4902
  text: string;
@@ -4953,6 +4957,13 @@ declare class DsMobilePostDetailModalComponent implements OnInit, AfterViewInit
4953
4957
  * Handle edit comment
4954
4958
  */
4955
4959
  handleEditComment(comment: CommentData): void;
4960
+ /**
4961
+ * Handle post like/unlike toggle
4962
+ */
4963
+ handlePostLikeToggle(ev: {
4964
+ active: boolean;
4965
+ count: number;
4966
+ }): void;
4956
4967
  /**
4957
4968
  * Handle comment like/unlike toggle
4958
4969
  * @param comment The comment being liked/unliked
@@ -4975,7 +4986,7 @@ declare class DsMobilePostDetailModalComponent implements OnInit, AfterViewInit
4975
4986
  */
4976
4987
  handleCommentLongPress(authorName: string, content: string, isOwnComment: boolean): Promise<void>;
4977
4988
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobilePostDetailModalComponent, never>;
4978
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobilePostDetailModalComponent, "ds-mobile-post-detail-modal", never, { "postData": { "alias": "postData"; "required": false; }; "currentUserName": { "alias": "currentUserName"; "required": false; }; "currentUserInitialsInput": { "alias": "currentUserInitialsInput"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "error": { "alias": "error"; "required": false; }; "onSubmitComment": { "alias": "onSubmitComment"; "required": false; }; "onToggleCommentLike": { "alias": "onToggleCommentLike"; "required": false; }; "onEditComment": { "alias": "onEditComment"; "required": false; }; "onDeleteComment": { "alias": "onDeleteComment"; "required": false; }; }, {}, never, never, true, never>;
4989
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobilePostDetailModalComponent, "ds-mobile-post-detail-modal", never, { "postData": { "alias": "postData"; "required": false; }; "currentUserName": { "alias": "currentUserName"; "required": false; }; "currentUserInitialsInput": { "alias": "currentUserInitialsInput"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "error": { "alias": "error"; "required": false; }; "onTogglePostLike": { "alias": "onTogglePostLike"; "required": false; }; "onSubmitComment": { "alias": "onSubmitComment"; "required": false; }; "onToggleCommentLike": { "alias": "onToggleCommentLike"; "required": false; }; "onEditComment": { "alias": "onEditComment"; "required": false; }; "onDeleteComment": { "alias": "onDeleteComment"; "required": false; }; }, {}, never, never, true, never>;
4979
4990
  }
4980
4991
 
4981
4992
  /**
@@ -5109,6 +5120,10 @@ declare class DsMobilePostDetailModalService extends BaseModalService {
5109
5120
  open(postData: PostDetailData, options?: {
5110
5121
  loading?: boolean;
5111
5122
  error?: string;
5123
+ onTogglePostLike?: (payload: {
5124
+ postId: string;
5125
+ active: boolean;
5126
+ }) => void;
5112
5127
  onSubmitComment?: (payload: {
5113
5128
  postId: string;
5114
5129
  text: string;
@@ -5192,7 +5207,7 @@ declare class DsMobileCardInlineComponent {
5192
5207
  * - 'default' - Column layout with standard padding (gap: 12px, padding: 10px 12px)
5193
5208
  * - 'compact' - Row layout with reduced padding (gap: 8px, padding: 10px)
5194
5209
  */
5195
- variant: _angular_core.InputSignal<"compact" | "default">;
5210
+ variant: _angular_core.InputSignal<"default" | "compact">;
5196
5211
  /**
5197
5212
  * Whether the card is disabled
5198
5213
  * Disables all interactions and reduces opacity
@@ -5255,7 +5270,7 @@ declare class DsMobileCardInlineBannerComponent {
5255
5270
  * - 'default' - Standard padding and column layout
5256
5271
  * - 'compact' - Reduced padding and row layout
5257
5272
  */
5258
- layout: _angular_core.InputSignal<"compact" | "default">;
5273
+ layout: _angular_core.InputSignal<"default" | "compact">;
5259
5274
  /**
5260
5275
  * Emits when the banner is clicked
5261
5276
  */
@@ -5306,7 +5321,7 @@ declare class DsMobileCardInlineContactComponent {
5306
5321
  * - 'default' - Standard padding and column layout
5307
5322
  * - 'compact' - Reduced padding and row layout
5308
5323
  */
5309
- layout: _angular_core.InputSignal<"compact" | "default">;
5324
+ layout: _angular_core.InputSignal<"default" | "compact">;
5310
5325
  /**
5311
5326
  * Whether the contact item is clickable
5312
5327
  */
@@ -5363,7 +5378,7 @@ declare class DsMobileCardInlineFileComponent {
5363
5378
  * - 'default' - Standard padding and column layout
5364
5379
  * - 'compact' - Reduced padding and row layout
5365
5380
  */
5366
- layout: _angular_core.InputSignal<"compact" | "default">;
5381
+ layout: _angular_core.InputSignal<"default" | "compact">;
5367
5382
  /**
5368
5383
  * Optional URL to open when clicked
5369
5384
  * If provided, clicking the card will open this URL in a new tab
@@ -5567,7 +5582,7 @@ declare class DsMobileChatModalComponent implements OnInit, AfterViewInit {
5567
5582
  participant: _angular_core.WritableSignal<ChatParticipant>;
5568
5583
  messages: _angular_core.WritableSignal<ChatMessage[]>;
5569
5584
  currentUserInitials: _angular_core.WritableSignal<string>;
5570
- currentUserAvatarType: _angular_core.WritableSignal<"initials" | "photo" | "icon">;
5585
+ currentUserAvatarType: _angular_core.WritableSignal<"photo" | "initials" | "icon">;
5571
5586
  currentUserAvatarSrc: _angular_core.WritableSignal<string>;
5572
5587
  autoFocus: _angular_core.WritableSignal<boolean>;
5573
5588
  /**
@@ -7176,7 +7191,7 @@ declare class DsMobileHandbookFolderMiniComponent {
7176
7191
  * ```
7177
7192
  */
7178
7193
  declare class DsTextInputComponent implements ControlValueAccessor {
7179
- type: _angular_core.InputSignal<"search" | "text" | "url" | "email" | "tel" | "password">;
7194
+ type: _angular_core.InputSignal<"search" | "text" | "email" | "tel" | "url" | "password">;
7180
7195
  placeholder: _angular_core.InputSignal<string>;
7181
7196
  disabled: _angular_core.InputSignal<boolean>;
7182
7197
  readonly: _angular_core.InputSignal<boolean>;
@@ -7184,7 +7199,7 @@ declare class DsTextInputComponent implements ControlValueAccessor {
7184
7199
  hasError: _angular_core.InputSignal<boolean>;
7185
7200
  errorMessage: _angular_core.InputSignal<string>;
7186
7201
  autocomplete: _angular_core.InputSignal<string>;
7187
- inputmode: _angular_core.InputSignal<"search" | "text" | "url" | "numeric" | "email" | "tel" | undefined>;
7202
+ inputmode: _angular_core.InputSignal<"search" | "text" | "email" | "tel" | "url" | "numeric" | undefined>;
7188
7203
  autoClearError: _angular_core.InputSignal<boolean>;
7189
7204
  validator: _angular_core.InputSignal<((value: string) => boolean) | null>;
7190
7205
  valueChange: _angular_core.OutputEmitterRef<string>;
@@ -7255,7 +7270,7 @@ declare class DsMobileFabComponent implements AfterViewInit, OnDestroy {
7255
7270
  * Note: FAB is always 56px circular, but this affects the icon size
7256
7271
  * @default 'md'
7257
7272
  */
7258
- size: _angular_core.InputSignal<"md" | "sm" | "lg">;
7273
+ size: _angular_core.InputSignal<"sm" | "md" | "lg">;
7259
7274
  /**
7260
7275
  * ARIA label for accessibility
7261
7276
  * @required - Always provide a descriptive label
@@ -7549,7 +7564,7 @@ declare class UserService {
7549
7564
  private _avatarSrc;
7550
7565
  private _profileMenuItems;
7551
7566
  readonly avatarInitials: _angular_core.Signal<string>;
7552
- readonly avatarType: _angular_core.Signal<"initials" | "photo" | "icon">;
7567
+ readonly avatarType: _angular_core.Signal<"photo" | "initials" | "icon">;
7553
7568
  readonly avatarSrc: _angular_core.Signal<string>;
7554
7569
  readonly profileMenuItems: _angular_core.Signal<ActionGroup[] | undefined>;
7555
7570
  private profileActionSelectedSubject;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@propbinder/mobile-design",
3
- "version": "0.2.47",
3
+ "version": "0.2.48",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0 || ^21.0.0",
6
6
  "@angular/core": "^20.3.0 || ^21.0.0"