@propbinder/mobile-design 0.2.97 → 0.2.99

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
@@ -1041,7 +1041,7 @@ declare class WhitelabelService {
1041
1041
  readonly logoUrl: _angular_core.Signal<string>;
1042
1042
  readonly logoMarkUrl: _angular_core.Signal<string>;
1043
1043
  readonly logoAlt: _angular_core.Signal<string>;
1044
- readonly logoSize: _angular_core.Signal<"md" | "sm" | "lg" | "xl">;
1044
+ readonly logoSize: _angular_core.Signal<"sm" | "md" | "lg" | "xl">;
1045
1045
  readonly logoHeight: _angular_core.Signal<number>;
1046
1046
  readonly appIconSurface: _angular_core.Signal<string>;
1047
1047
  readonly appIconContent: _angular_core.Signal<string>;
@@ -2806,7 +2806,7 @@ declare class DsMobileListItemComponent implements AfterViewInit {
2806
2806
  * - 'center' - Align to center
2807
2807
  * - 'bottom' - Align to bottom
2808
2808
  */
2809
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
2809
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
2810
2810
  /**
2811
2811
  * Remove top padding — use on the first item in a section when there is
2812
2812
  * no preceding content, to avoid unnecessary whitespace.
@@ -3094,7 +3094,7 @@ declare class DsMobileInteractiveListItemPostComponent {
3094
3094
  * - 'center' - Align to center
3095
3095
  * - 'bottom' - Align to bottom
3096
3096
  */
3097
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
3097
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
3098
3098
  /**
3099
3099
  * Whether the post card is clickable
3100
3100
  */
@@ -3322,7 +3322,7 @@ declare class DsMobileInteractiveListItemInquiryComponent {
3322
3322
  * - 'center' - Align to center
3323
3323
  * - 'bottom' - Align to bottom
3324
3324
  */
3325
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
3325
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
3326
3326
  /**
3327
3327
  * Whether the inquiry item is clickable
3328
3328
  */
@@ -4758,7 +4758,7 @@ declare class DsMobileInteractiveListItemMessageComponent {
4758
4758
  * - 'center' - Align to center
4759
4759
  * - 'bottom' - Align to bottom
4760
4760
  */
4761
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
4761
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
4762
4762
  /**
4763
4763
  * Whitelabel logomark on the avatar corner (e.g. org branding for staff).
4764
4764
  * Default true — preserves backward compatibility with inquiry assignee rows.
@@ -4820,7 +4820,7 @@ declare class DsMobileContactListItemComponent {
4820
4820
  /** Show a trailing trash-bin icon; emits {@link deleteClick} on tap. */
4821
4821
  showDeleteAction: _angular_core.InputSignal<boolean>;
4822
4822
  variant: _angular_core.InputSignal<"compact" | undefined>;
4823
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
4823
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
4824
4824
  contactClick: _angular_core.OutputEmitterRef<void>;
4825
4825
  selectionToggle: _angular_core.OutputEmitterRef<void>;
4826
4826
  moreClick: _angular_core.OutputEmitterRef<void>;
@@ -4994,7 +4994,7 @@ declare class DsMobileGroupAvatarStackComponent {
4994
4994
  /** Full member list; {@link currentUserId} is removed for display when set. */
4995
4995
  members: _angular_core.InputSignal<ChatParticipant[]>;
4996
4996
  customAvatarUrl: _angular_core.InputSignal<string>;
4997
- size: _angular_core.InputSignal<"md" | "sm" | "lg" | "xl">;
4997
+ size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xl">;
4998
4998
  /** Row avatar (32×32, diagonal **xs** faces) vs header / hero stack. */
4999
4999
  layout: _angular_core.InputSignal<"stack" | "list">;
5000
5000
  /** When set, this participant is omitted from the stack (e.g. current user id). */
@@ -5307,7 +5307,7 @@ declare class DsMobileInteractiveListItemBookingComponent {
5307
5307
  * - 'center' - Align to center
5308
5308
  * - 'bottom' - Align to bottom
5309
5309
  */
5310
- align: _angular_core.InputSignal<"top" | "center" | "bottom">;
5310
+ align: _angular_core.InputSignal<"center" | "top" | "bottom">;
5311
5311
  /**
5312
5312
  * Whether the booking item is clickable
5313
5313
  */
@@ -6408,6 +6408,8 @@ declare class DsMobileModalBaseComponent extends MobileModalBase implements OnIn
6408
6408
  private cdr;
6409
6409
  /** When true, the title is a button and emits {@link titleClick} (e.g. group chat → settings). */
6410
6410
  headerTitleInteractive: _angular_core.InputSignal<boolean>;
6411
+ textLoading: _angular_core.InputSignal<string>;
6412
+ textErrorTitle: _angular_core.InputSignal<string>;
6411
6413
  titleClick: _angular_core.OutputEmitterRef<void>;
6412
6414
  /**
6413
6415
  * Reference to ion-content for keyboard handling
@@ -6460,7 +6462,7 @@ declare class DsMobileModalBaseComponent extends MobileModalBase implements OnIn
6460
6462
  */
6461
6463
  private hasContentInSlot;
6462
6464
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileModalBaseComponent, never>;
6463
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileModalBaseComponent, "ds-mobile-modal-base", never, { "headerTitleInteractive": { "alias": "headerTitleInteractive"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; }, { "titleClick": "titleClick"; }, ["customLoadingState", "customErrorState", "headerLeading", "headerMain", "headerTrailing"], ["[header-leading]", "[header-main]", "[header-trailing]", "[header-below]", "[loading-state]", "[error-state]", "*", "[fixed-bottom]", "[footer]"], true, never>;
6465
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileModalBaseComponent, "ds-mobile-modal-base", never, { "headerTitleInteractive": { "alias": "headerTitleInteractive"; "required": false; "isSignal": true; }; "textLoading": { "alias": "textLoading"; "required": false; "isSignal": true; }; "textErrorTitle": { "alias": "textErrorTitle"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; }, { "titleClick": "titleClick"; }, ["customLoadingState", "customErrorState", "headerLeading", "headerMain", "headerTrailing"], ["[header-leading]", "[header-main]", "[header-trailing]", "[header-below]", "[loading-state]", "[error-state]", "*", "[fixed-bottom]", "[footer]"], true, never>;
6464
6466
  }
6465
6467
 
6466
6468
  /**
@@ -6830,7 +6832,7 @@ declare class DsMobileCardInlineComponent {
6830
6832
  * - 'default' - Column layout with standard padding (gap: 12px, padding: 10px 12px)
6831
6833
  * - 'compact' - Row layout with reduced padding (gap: 8px, padding: 10px)
6832
6834
  */
6833
- variant: _angular_core.InputSignal<"compact" | "default">;
6835
+ variant: _angular_core.InputSignal<"default" | "compact">;
6834
6836
  /**
6835
6837
  * Whether the card is disabled
6836
6838
  * Disables all interactions and reduces opacity
@@ -6893,7 +6895,7 @@ declare class DsMobileCardInlineBannerComponent {
6893
6895
  * - 'default' - Standard padding and column layout
6894
6896
  * - 'compact' - Reduced padding and row layout
6895
6897
  */
6896
- layout: _angular_core.InputSignal<"compact" | "default">;
6898
+ layout: _angular_core.InputSignal<"default" | "compact">;
6897
6899
  /**
6898
6900
  * Emits when the banner is clicked
6899
6901
  */
@@ -6943,12 +6945,16 @@ declare class DsMobileCardInlineContactComponent {
6943
6945
  * Phone number (optional)
6944
6946
  */
6945
6947
  phoneNumber: _angular_core.InputSignal<string>;
6948
+ /**
6949
+ * Email address (optional)
6950
+ */
6951
+ email: _angular_core.InputSignal<string>;
6946
6952
  /**
6947
6953
  * Layout variant
6948
6954
  * - 'default' - Standard padding and column layout
6949
6955
  * - 'compact' - Reduced padding and row layout
6950
6956
  */
6951
- layout: _angular_core.InputSignal<"compact" | "default">;
6957
+ layout: _angular_core.InputSignal<"default" | "compact">;
6952
6958
  /**
6953
6959
  * Whether the contact item is clickable
6954
6960
  */
@@ -6971,7 +6977,7 @@ declare class DsMobileCardInlineContactComponent {
6971
6977
  editClick: _angular_core.OutputEmitterRef<void>;
6972
6978
  handleContactClick(): void;
6973
6979
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileCardInlineContactComponent, never>;
6974
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileCardInlineContactComponent, "ds-mobile-card-inline-contact", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "contactPerson": { "alias": "contactPerson"; "required": false; "isSignal": true; }; "phoneNumber": { "alias": "phoneNumber"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "showChevron": { "alias": "showChevron"; "required": false; "isSignal": true; }; "showEditButton": { "alias": "showEditButton"; "required": false; "isSignal": true; }; }, { "contactClick": "contactClick"; "editClick": "editClick"; }, never, never, true, never>;
6980
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileCardInlineContactComponent, "ds-mobile-card-inline-contact", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "contactPerson": { "alias": "contactPerson"; "required": false; "isSignal": true; }; "phoneNumber": { "alias": "phoneNumber"; "required": false; "isSignal": true; }; "email": { "alias": "email"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "showChevron": { "alias": "showChevron"; "required": false; "isSignal": true; }; "showEditButton": { "alias": "showEditButton"; "required": false; "isSignal": true; }; }, { "contactClick": "contactClick"; "editClick": "editClick"; }, never, never, true, never>;
6975
6981
  }
6976
6982
 
6977
6983
  /**
@@ -7013,7 +7019,7 @@ declare class DsMobileCardInlineFileComponent {
7013
7019
  * - 'default' - Standard padding and column layout
7014
7020
  * - 'compact' - Reduced padding and row layout
7015
7021
  */
7016
- layout: _angular_core.InputSignal<"compact" | "default">;
7022
+ layout: _angular_core.InputSignal<"default" | "compact">;
7017
7023
  /**
7018
7024
  * Optional URL to open when clicked
7019
7025
  * If provided, clicking the card will open this URL in a new tab
@@ -8135,6 +8141,16 @@ interface HandbookDetailData {
8135
8141
  itemCount: number;
8136
8142
  /** Array of handbook sections/items */
8137
8143
  items?: HandbookItem[];
8144
+ textLoading?: string;
8145
+ textError?: string;
8146
+ textItems?: string;
8147
+ textClose?: string;
8148
+ textEmptyTitle?: string;
8149
+ textEmptyDescription?: string;
8150
+ textCall?: string;
8151
+ textCopyPhone?: string;
8152
+ textEmail?: string;
8153
+ textCopyEmail?: string;
8138
8154
  }
8139
8155
  /**
8140
8156
  * Handbook section/item interface
@@ -8241,6 +8257,16 @@ declare class DsMobileHandbookDetailModalComponent implements OnInit {
8241
8257
  * Error state - when set, shows error message
8242
8258
  */
8243
8259
  error?: string;
8260
+ textLoading: string;
8261
+ textError: string;
8262
+ textItems: string;
8263
+ textClose: string;
8264
+ textEmptyTitle: string;
8265
+ textEmptyDescription: string;
8266
+ textCall: string;
8267
+ textCopyPhone: string;
8268
+ textEmail: string;
8269
+ textCopyEmail: string;
8244
8270
  handbook: _angular_core.WritableSignal<HandbookDetailData>;
8245
8271
  constructor(modalController: ModalController);
8246
8272
  ngOnInit(): void;
@@ -8274,7 +8300,7 @@ declare class DsMobileHandbookDetailModalComponent implements OnInit {
8274
8300
  */
8275
8301
  handleAttachmentClick(attachment: AttachmentItem): void;
8276
8302
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileHandbookDetailModalComponent, never>;
8277
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileHandbookDetailModalComponent, "ds-mobile-handbook-detail-modal", never, { "handbookData": { "alias": "handbookData"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "error": { "alias": "error"; "required": false; }; }, {}, never, never, true, never>;
8303
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileHandbookDetailModalComponent, "ds-mobile-handbook-detail-modal", never, { "handbookData": { "alias": "handbookData"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "error": { "alias": "error"; "required": false; }; "textLoading": { "alias": "textLoading"; "required": false; }; "textError": { "alias": "textError"; "required": false; }; "textItems": { "alias": "textItems"; "required": false; }; "textClose": { "alias": "textClose"; "required": false; }; "textEmptyTitle": { "alias": "textEmptyTitle"; "required": false; }; "textEmptyDescription": { "alias": "textEmptyDescription"; "required": false; }; "textCall": { "alias": "textCall"; "required": false; }; "textCopyPhone": { "alias": "textCopyPhone"; "required": false; }; "textEmail": { "alias": "textEmail"; "required": false; }; "textCopyEmail": { "alias": "textCopyEmail"; "required": false; }; }, {}, never, never, true, never>;
8278
8304
  }
8279
8305
 
8280
8306
  /**
@@ -8398,6 +8424,16 @@ declare class DsMobileHandbookFolderComponent {
8398
8424
  * Set this to an error message string if API call fails
8399
8425
  */
8400
8426
  error?: string;
8427
+ textLoading: string;
8428
+ textError: string;
8429
+ textItems: string;
8430
+ textClose: string;
8431
+ textEmptyTitle: string;
8432
+ textEmptyDescription: string;
8433
+ textCall: string;
8434
+ textCopyPhone: string;
8435
+ textEmail: string;
8436
+ textCopyEmail: string;
8401
8437
  /**
8402
8438
  * Track open/closed state for animation
8403
8439
  */
@@ -8438,7 +8474,7 @@ declare class DsMobileHandbookFolderComponent {
8438
8474
  getPageSheets(): number[];
8439
8475
  constructor(handbookModal: DsMobileHandbookDetailModalService);
8440
8476
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileHandbookFolderComponent, never>;
8441
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileHandbookFolderComponent, "ds-mobile-handbook-folder", never, { "variant": { "alias": "variant"; "required": false; }; "customColor": { "alias": "customColor"; "required": false; }; "iconName": { "alias": "iconName"; "required": false; }; "itemCount": { "alias": "itemCount"; "required": false; }; "label": { "alias": "label"; "required": false; }; "items": { "alias": "items"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "error": { "alias": "error"; "required": false; }; }, {}, never, never, true, never>;
8477
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileHandbookFolderComponent, "ds-mobile-handbook-folder", never, { "variant": { "alias": "variant"; "required": false; }; "customColor": { "alias": "customColor"; "required": false; }; "iconName": { "alias": "iconName"; "required": false; }; "itemCount": { "alias": "itemCount"; "required": false; }; "label": { "alias": "label"; "required": false; }; "items": { "alias": "items"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "error": { "alias": "error"; "required": false; }; "textLoading": { "alias": "textLoading"; "required": false; }; "textError": { "alias": "textError"; "required": false; }; "textItems": { "alias": "textItems"; "required": false; }; "textClose": { "alias": "textClose"; "required": false; }; "textEmptyTitle": { "alias": "textEmptyTitle"; "required": false; }; "textEmptyDescription": { "alias": "textEmptyDescription"; "required": false; }; "textCall": { "alias": "textCall"; "required": false; }; "textCopyPhone": { "alias": "textCopyPhone"; "required": false; }; "textEmail": { "alias": "textEmail"; "required": false; }; "textCopyEmail": { "alias": "textCopyEmail"; "required": false; }; }, {}, never, never, true, never>;
8442
8478
  }
8443
8479
 
8444
8480
  /**
@@ -8524,7 +8560,7 @@ declare class DsMobileHandbookFolderMiniComponent {
8524
8560
  * ```
8525
8561
  */
8526
8562
  declare class DsTextInputComponent implements ControlValueAccessor {
8527
- type: _angular_core.InputSignal<"search" | "text" | "email" | "tel" | "password" | "url">;
8563
+ type: _angular_core.InputSignal<"email" | "search" | "text" | "tel" | "password" | "url">;
8528
8564
  label: _angular_core.InputSignal<string>;
8529
8565
  placeholder: _angular_core.InputSignal<string>;
8530
8566
  disabled: _angular_core.InputSignal<boolean>;
@@ -8533,7 +8569,7 @@ declare class DsTextInputComponent implements ControlValueAccessor {
8533
8569
  hasError: _angular_core.InputSignal<boolean>;
8534
8570
  errorMessage: _angular_core.InputSignal<string>;
8535
8571
  autocomplete: _angular_core.InputSignal<string>;
8536
- inputmode: _angular_core.InputSignal<"search" | "text" | "email" | "tel" | "url" | "numeric" | undefined>;
8572
+ inputmode: _angular_core.InputSignal<"email" | "search" | "text" | "tel" | "url" | "numeric" | undefined>;
8537
8573
  autoClearError: _angular_core.InputSignal<boolean>;
8538
8574
  validator: _angular_core.InputSignal<((value: string) => boolean) | null>;
8539
8575
  valueChange: _angular_core.OutputEmitterRef<string>;
@@ -8606,7 +8642,7 @@ declare class DsMobileFabComponent implements AfterViewInit, OnDestroy {
8606
8642
  * Note: FAB is always 56px circular, but this affects the icon size
8607
8643
  * @default 'md'
8608
8644
  */
8609
- size: _angular_core.InputSignal<"md" | "sm" | "lg">;
8645
+ size: _angular_core.InputSignal<"sm" | "md" | "lg">;
8610
8646
  /**
8611
8647
  * ARIA label for accessibility
8612
8648
  * @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.97",
3
+ "version": "0.2.99",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0 || ^21.0.0",
6
6
  "@angular/core": "^20.3.0 || ^21.0.0"