@propbinder/mobile-design 0.2.85 → 0.2.87

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
@@ -3,11 +3,12 @@ import { OnDestroy, OnInit, ElementRef, EventEmitter, TemplateRef, OnChanges, Si
3
3
  import { ModalController, IonContent, NavController, GestureController, ModalOptions as ModalOptions$1 } from '@ionic/angular/standalone';
4
4
  import { Style } from '@capacitor/status-bar';
5
5
  import { ImpactStyle } from '@capacitor/haptics';
6
+ import * as rxjs from 'rxjs';
7
+ import { Observable } from 'rxjs';
6
8
  import { ControlValueAccessor } from '@angular/forms';
7
9
  import { DsTextareaComponent } from '@propbinder/design-system';
8
10
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
9
11
  import { Router, ActivatedRoute } from '@angular/router';
10
- import * as rxjs from 'rxjs';
11
12
  import * as _propbinder_mobile_design from '@propbinder/mobile-design';
12
13
  import { AppTrackingStatus } from 'capacitor-plugin-app-tracking-transparency';
13
14
  import { Animation } from '@ionic/angular';
@@ -856,7 +857,7 @@ declare class DsMobilePageMainComponent extends MobilePageBase implements AfterV
856
857
  headerSubtitle: _angular_core.InputSignal<string>;
857
858
  /** When true, the header logo plays a slide-in-from-top animation on first reveal */
858
859
  firstEntry: _angular_core.InputSignal<boolean>;
859
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
860
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
860
861
  avatarInitials: _angular_core.InputSignal<string>;
861
862
  avatarSrc: _angular_core.InputSignal<string>;
862
863
  avatarIconName: _angular_core.InputSignal<string>;
@@ -1036,7 +1037,7 @@ declare class WhitelabelService {
1036
1037
  readonly logoUrl: _angular_core.Signal<string>;
1037
1038
  readonly logoMarkUrl: _angular_core.Signal<string>;
1038
1039
  readonly logoAlt: _angular_core.Signal<string>;
1039
- readonly logoSize: _angular_core.Signal<"sm" | "md" | "lg" | "xl">;
1040
+ readonly logoSize: _angular_core.Signal<"md" | "sm" | "lg" | "xl">;
1040
1041
  readonly logoHeight: _angular_core.Signal<number>;
1041
1042
  readonly appIconSurface: _angular_core.Signal<string>;
1042
1043
  readonly appIconContent: _angular_core.Signal<string>;
@@ -1715,7 +1716,7 @@ declare class DsMobileCommentComponent {
1715
1716
  /**
1716
1717
  * Avatar type
1717
1718
  */
1718
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
1719
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
1719
1720
  /**
1720
1721
  * Whether the comment is clickable
1721
1722
  */
@@ -1850,7 +1851,7 @@ declare class DsMobilePostComposerComponent {
1850
1851
  /**
1851
1852
  * Avatar type
1852
1853
  */
1853
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
1854
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
1854
1855
  /**
1855
1856
  * Avatar photo source (for photo type)
1856
1857
  */
@@ -2143,7 +2144,7 @@ declare class DsMobileMessageComposerComponent implements AfterViewInit, OnDestr
2143
2144
  /**
2144
2145
  * Avatar type
2145
2146
  */
2146
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
2147
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
2147
2148
  /**
2148
2149
  * Avatar photo source (for photo type)
2149
2150
  */
@@ -2164,6 +2165,10 @@ declare class DsMobileMessageComposerComponent implements AfterViewInit, OnDestr
2164
2165
  * Whether to show the attachment button
2165
2166
  */
2166
2167
  showAttachmentButton: _angular_core.InputSignal<boolean>;
2168
+ /**
2169
+ * Whether to show the AI reply button
2170
+ */
2171
+ showAiButton: _angular_core.InputSignal<boolean>;
2167
2172
  /**
2168
2173
  * Edit indicator text (when editing)
2169
2174
  */
@@ -2306,6 +2311,10 @@ declare class DsMobileMessageComposerComponent implements AfterViewInit, OnDestr
2306
2311
  * Parent components (like chat modal) can use this to scroll to bottom
2307
2312
  */
2308
2313
  attachmentsChanged: _angular_core.OutputEmitterRef<void>;
2314
+ /**
2315
+ * Emits when the AI reply button is clicked
2316
+ */
2317
+ aiClick: _angular_core.OutputEmitterRef<void>;
2309
2318
  ngAfterViewInit(): void;
2310
2319
  ngOnDestroy(): void;
2311
2320
  /**
@@ -2413,8 +2422,12 @@ declare class DsMobileMessageComposerComponent implements AfterViewInit, OnDestr
2413
2422
  * Send message
2414
2423
  */
2415
2424
  sendMessage(): void;
2425
+ /**
2426
+ * Insert text into the composer, updating internal state and textarea sizing
2427
+ */
2428
+ insertText(text: string): void;
2416
2429
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileMessageComposerComponent, never>;
2417
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileMessageComposerComponent, "ds-mobile-message-composer", never, { "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "avatarType": { "alias": "avatarType"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "sendButtonLabel": { "alias": "sendButtonLabel"; "required": false; "isSignal": true; }; "attachmentButtonLabel": { "alias": "attachmentButtonLabel"; "required": false; "isSignal": true; }; "showAttachmentButton": { "alias": "showAttachmentButton"; "required": false; "isSignal": true; }; "editIndicatorText": { "alias": "editIndicatorText"; "required": false; "isSignal": true; }; "replyIndicatorText": { "alias": "replyIndicatorText"; "required": false; "isSignal": true; }; "enableMentions": { "alias": "enableMentions"; "required": false; "isSignal": true; }; "mentionUsers": { "alias": "mentionUsers"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; }, { "messageSent": "messageSent"; "editCancelled": "editCancelled"; "replyCancelled": "replyCancelled"; "mentionSelected": "mentionSelected"; "attachmentClicked": "attachmentClicked"; "attachmentsChanged": "attachmentsChanged"; }, never, never, true, never>;
2430
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileMessageComposerComponent, "ds-mobile-message-composer", never, { "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "avatarType": { "alias": "avatarType"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "sendButtonLabel": { "alias": "sendButtonLabel"; "required": false; "isSignal": true; }; "attachmentButtonLabel": { "alias": "attachmentButtonLabel"; "required": false; "isSignal": true; }; "showAttachmentButton": { "alias": "showAttachmentButton"; "required": false; "isSignal": true; }; "showAiButton": { "alias": "showAiButton"; "required": false; "isSignal": true; }; "editIndicatorText": { "alias": "editIndicatorText"; "required": false; "isSignal": true; }; "replyIndicatorText": { "alias": "replyIndicatorText"; "required": false; "isSignal": true; }; "enableMentions": { "alias": "enableMentions"; "required": false; "isSignal": true; }; "mentionUsers": { "alias": "mentionUsers"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; }, { "messageSent": "messageSent"; "editCancelled": "editCancelled"; "replyCancelled": "replyCancelled"; "mentionSelected": "mentionSelected"; "attachmentClicked": "attachmentClicked"; "attachmentsChanged": "attachmentsChanged"; "aiClick": "aiClick"; }, never, never, true, never>;
2418
2431
  }
2419
2432
 
2420
2433
  /**
@@ -2512,7 +2525,7 @@ declare class DsMobileMessageBubbleComponent {
2512
2525
  /**
2513
2526
  * Avatar type
2514
2527
  */
2515
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
2528
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
2516
2529
  /**
2517
2530
  * Avatar photo source (for photo type)
2518
2531
  */
@@ -3052,7 +3065,7 @@ declare class DsMobileInteractiveListItemPostComponent {
3052
3065
  /**
3053
3066
  * Avatar type
3054
3067
  */
3055
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
3068
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
3056
3069
  /**
3057
3070
  * Avatar photo source (for photo type)
3058
3071
  */
@@ -3378,6 +3391,26 @@ interface LightboxImage extends LightboxMediaFile {
3378
3391
  /** Number of comments */
3379
3392
  commentCount?: number;
3380
3393
  }
3394
+ /**
3395
+ * Image data for lightbox display with lazy-loaded description support
3396
+ */
3397
+ interface LightboxImageWithDescription extends LightboxMediaFile {
3398
+ type: 'image';
3399
+ /** File ID for fetching additional data if needed */
3400
+ fileId?: string;
3401
+ /** Alt text for accessibility */
3402
+ alt?: string;
3403
+ /** Thumbnail URL for faster loading (optional) */
3404
+ thumbnail?: string;
3405
+ /** Whether the image is liked */
3406
+ isLiked?: boolean;
3407
+ /** Number of likes */
3408
+ likeCount?: number;
3409
+ /** Number of comments */
3410
+ commentCount?: number;
3411
+ /** Function returning a Promise or Observable with the image description */
3412
+ lazyDescription?: () => Promise<string> | Observable<string>;
3413
+ }
3381
3414
  /**
3382
3415
  * PDF document data for lightbox display
3383
3416
  */
@@ -3432,6 +3465,33 @@ interface LightboxImageOptions {
3432
3465
  /** Animation type for opening */
3433
3466
  animation?: 'fade' | 'zoom' | 'slide';
3434
3467
  }
3468
+ /**
3469
+ * Configuration options for image lightbox with descriptions
3470
+ */
3471
+ interface LightboxImageWithDescriptionOptions {
3472
+ /** Array of images to display */
3473
+ images: LightboxImageWithDescription[];
3474
+ /** Author information to display in header */
3475
+ author?: LightboxAuthor;
3476
+ /** Initial image index to show (0-based) */
3477
+ initialIndex?: number;
3478
+ /** Enable pinch-to-zoom and double-tap zoom */
3479
+ enableZoom?: boolean;
3480
+ /** Show navigation controls (arrows, counter) */
3481
+ showControls?: boolean;
3482
+ /** Enable swipe gestures to navigate between images */
3483
+ enableSwipe?: boolean;
3484
+ /** Show image info (title, description) */
3485
+ showInfo?: boolean;
3486
+ /** Show like & comment action buttons */
3487
+ showActions?: boolean;
3488
+ /** Show download action button in header (overrides share if both are present or if share is removed) */
3489
+ showDownload?: boolean;
3490
+ /** Callback when download is clicked */
3491
+ onDownload?: (image: LightboxImageWithDescription) => void;
3492
+ /** Animation type for opening */
3493
+ animation?: 'fade' | 'zoom' | 'slide';
3494
+ }
3435
3495
  /**
3436
3496
  * Configuration options for PDF lightbox
3437
3497
  */
@@ -3515,6 +3575,13 @@ declare class DsMobileLightboxService {
3515
3575
  * @returns Promise that resolves to a dismiss function
3516
3576
  */
3517
3577
  openImages(options: LightboxImageOptions): Promise<() => void>;
3578
+ /**
3579
+ * Open the image lightbox with one or more images that support descriptions
3580
+ *
3581
+ * @param options Configuration options for the image lightbox with descriptions
3582
+ * @returns Promise that resolves to a dismiss function
3583
+ */
3584
+ openImagesWithDescription(options: LightboxImageWithDescriptionOptions): Promise<() => void>;
3518
3585
  /**
3519
3586
  * Open the PDF lightbox (opens native PDF viewer)
3520
3587
  *
@@ -3650,6 +3717,108 @@ declare class DsMobileLightboxImageComponent implements OnInit, AfterViewInit, O
3650
3717
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileLightboxImageComponent, "ds-mobile-lightbox-image", never, {}, {}, never, never, true, never>;
3651
3718
  }
3652
3719
 
3720
+ /**
3721
+ * DsMobileLightboxImageWithDescriptionComponent
3722
+ *
3723
+ * Full-screen image lightbox component with Swiper.js navigation, pinch-zoom, and AI descriptions.
3724
+ */
3725
+ declare class DsMobileLightboxImageWithDescriptionComponent implements OnInit, AfterViewInit, OnDestroy {
3726
+ private gestureCtrl;
3727
+ images: LightboxImageWithDescription[];
3728
+ author?: LightboxAuthor;
3729
+ initialIndex: number;
3730
+ enableZoom: boolean;
3731
+ showControls: boolean;
3732
+ enableSwipe: boolean;
3733
+ showInfo: boolean;
3734
+ showActions: boolean;
3735
+ showDownload: boolean;
3736
+ onDownload?: (image: LightboxImageWithDescription) => void;
3737
+ animation: 'fade' | 'zoom' | 'slide';
3738
+ onCloseRequested?: () => void;
3739
+ swiperContainer: ElementRef<HTMLDivElement>;
3740
+ currentIndex: _angular_core.WritableSignal<number>;
3741
+ isLoading: _angular_core.WritableSignal<boolean>;
3742
+ isZoomed: _angular_core.WritableSignal<boolean>;
3743
+ isSwiping: _angular_core.WritableSignal<boolean>;
3744
+ isLiked: _angular_core.WritableSignal<boolean>;
3745
+ likeCount: _angular_core.WritableSignal<number>;
3746
+ commentCount: _angular_core.WritableSignal<number>;
3747
+ descriptionText: _angular_core.WritableSignal<string | null>;
3748
+ descriptionError: _angular_core.WritableSignal<boolean>;
3749
+ hasError: _angular_core.WritableSignal<boolean>;
3750
+ private descriptionSubscription?;
3751
+ currentImage: _angular_core.Signal<LightboxImageWithDescription>;
3752
+ private swiper?;
3753
+ private zoomData;
3754
+ constructor(gestureCtrl: GestureController);
3755
+ ngOnInit(): void;
3756
+ ngAfterViewInit(): void;
3757
+ ngOnDestroy(): void;
3758
+ /**
3759
+ * Initialize Swiper for image navigation
3760
+ */
3761
+ private initializeSwiper;
3762
+ /**
3763
+ * Initialize pinch-zoom gestures for all slides
3764
+ */
3765
+ private initializeZoomGestures;
3766
+ /**
3767
+ * Initialize zoom gestures for a specific slide
3768
+ */
3769
+ private initializeZoomForSlide;
3770
+ /**
3771
+ * Toggle zoom on double-tap
3772
+ */
3773
+ private toggleZoom;
3774
+ /**
3775
+ * Update action states (like, comments) when slide changes
3776
+ */
3777
+ private updateActionStates;
3778
+ /**
3779
+ * Close the lightbox
3780
+ */
3781
+ close(): void;
3782
+ /**
3783
+ * Load description for the current slide
3784
+ */
3785
+ loadDescription(index: number): Promise<void>;
3786
+ /**
3787
+ * Handle share button click
3788
+ */
3789
+ onShare(): Promise<void>;
3790
+ /**
3791
+ * Handle download action
3792
+ */
3793
+ onDownloadAction(): void;
3794
+ /**
3795
+ * Handle like button toggle
3796
+ */
3797
+ onLikeToggle(): void;
3798
+ /**
3799
+ * Handle reply/comment button click
3800
+ */
3801
+ onReply(): void;
3802
+ /**
3803
+ * Navigate to the next image
3804
+ */
3805
+ nextImage(): void;
3806
+ /**
3807
+ * Navigate to the previous image
3808
+ */
3809
+ previousImage(): void;
3810
+ /**
3811
+ * Handle image load success
3812
+ */
3813
+ onImageLoad(index: number): void;
3814
+ /**
3815
+ * Handle image load error
3816
+ */
3817
+ onImageError(index: number): void;
3818
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileLightboxImageWithDescriptionComponent, never>;
3819
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileLightboxImageWithDescriptionComponent, "ds-mobile-lightbox-image-with-description", never, { "images": { "alias": "images"; "required": false; }; "author": { "alias": "author"; "required": false; }; "initialIndex": { "alias": "initialIndex"; "required": false; }; "enableZoom": { "alias": "enableZoom"; "required": false; }; "showControls": { "alias": "showControls"; "required": false; }; "enableSwipe": { "alias": "enableSwipe"; "required": false; }; "showInfo": { "alias": "showInfo"; "required": false; }; "showActions": { "alias": "showActions"; "required": false; }; "showDownload": { "alias": "showDownload"; "required": false; }; "onDownload": { "alias": "onDownload"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "onCloseRequested": { "alias": "onCloseRequested"; "required": false; }; }, {}, never, never, true, never>;
3820
+ }
3821
+
3653
3822
  /**
3654
3823
  * DsMobileLightboxPdfComponent
3655
3824
  *
@@ -4078,6 +4247,11 @@ interface ChatModalData {
4078
4247
  * Use this to handle API calls to your backend.
4079
4248
  */
4080
4249
  onSend?: (message: string, attachments: AttachmentData[]) => void | Promise<void>;
4250
+ /**
4251
+ * Optional callback for generating an AI reply.
4252
+ * Resolves with the generated text, or void/null if cancelled or failed.
4253
+ */
4254
+ onAiReplyClick?: () => Promise<string | void | null>;
4081
4255
  /**
4082
4256
  * Optional callback for when a file attachment is clicked.
4083
4257
  * If not provided, the default behavior will try to open/download the file.
@@ -4133,6 +4307,7 @@ interface ChatModalLabels {
4133
4307
  closeButtonLabel: string;
4134
4308
  backAriaLabel: string;
4135
4309
  addMembersSearchPlaceholder: string;
4310
+ aiReplyError: string;
4136
4311
  }
4137
4312
  /**
4138
4313
  * DsMobileChatModalComponent
@@ -4178,10 +4353,11 @@ declare class DsMobileChatModalComponent implements OnInit, AfterViewInit {
4178
4353
  * Back button click event
4179
4354
  */
4180
4355
  back: EventEmitter<void>;
4356
+ localError: _angular_core.WritableSignal<string | undefined>;
4181
4357
  participant: _angular_core.WritableSignal<ChatParticipant>;
4182
4358
  messages: _angular_core.WritableSignal<ChatMessage[]>;
4183
4359
  currentUserInitials: _angular_core.WritableSignal<string>;
4184
- currentUserAvatarType: _angular_core.WritableSignal<"initials" | "photo" | "icon">;
4360
+ currentUserAvatarType: _angular_core.WritableSignal<"photo" | "initials" | "icon">;
4185
4361
  currentUserAvatarSrc: _angular_core.WritableSignal<string>;
4186
4362
  autoFocus: _angular_core.WritableSignal<boolean>;
4187
4363
  /** Inquiry shows system takeover copy; peer chat does not. */
@@ -4247,6 +4423,10 @@ declare class DsMobileChatModalComponent implements OnInit, AfterViewInit {
4247
4423
  * Used to determine if we should auto-scroll when keyboard appears
4248
4424
  */
4249
4425
  private isNearBottom;
4426
+ /**
4427
+ * Handle AI reply button click
4428
+ */
4429
+ handleAiClick(): Promise<void>;
4250
4430
  /**
4251
4431
  * Scroll to bottom of messages
4252
4432
  */
@@ -4550,7 +4730,7 @@ declare class DsMobileInteractiveListItemMessageComponent {
4550
4730
  /**
4551
4731
  * Avatar type
4552
4732
  */
4553
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
4733
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
4554
4734
  /**
4555
4735
  * Avatar photo source (for photo type)
4556
4736
  */
@@ -4610,7 +4790,7 @@ declare class DsMobileContactListItemComponent {
4610
4790
  initials: _angular_core.InputSignal<string>;
4611
4791
  /** Optional photo */
4612
4792
  avatarSrc: _angular_core.InputSignal<string>;
4613
- avatarType: _angular_core.InputSignal<"initials" | "photo" | "icon">;
4793
+ avatarType: _angular_core.InputSignal<"photo" | "initials" | "icon">;
4614
4794
  avatarIconName: _angular_core.InputSignal<string>;
4615
4795
  /** Whitelabel corner badge (default off — same as community posts) */
4616
4796
  showBadge: _angular_core.InputSignal<boolean>;
@@ -4805,7 +4985,7 @@ declare class DsMobileGroupAvatarStackComponent {
4805
4985
  /** Full member list; {@link currentUserId} is removed for display when set. */
4806
4986
  members: _angular_core.InputSignal<ChatParticipant[]>;
4807
4987
  customAvatarUrl: _angular_core.InputSignal<string>;
4808
- size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xl">;
4988
+ size: _angular_core.InputSignal<"md" | "sm" | "lg" | "xl">;
4809
4989
  /** Row avatar (32×32, diagonal **xs** faces) vs header / hero stack. */
4810
4990
  layout: _angular_core.InputSignal<"stack" | "list">;
4811
4991
  /** When set, this participant is omitted from the stack (e.g. current user id). */
@@ -4843,7 +5023,7 @@ declare class UserService {
4843
5023
  readonly displayName: _angular_core.Signal<string>;
4844
5024
  readonly address: _angular_core.Signal<string>;
4845
5025
  readonly avatarInitials: _angular_core.Signal<string>;
4846
- readonly avatarType: _angular_core.Signal<"initials" | "photo" | "icon">;
5026
+ readonly avatarType: _angular_core.Signal<"photo" | "initials" | "icon">;
4847
5027
  readonly avatarSrc: _angular_core.Signal<string>;
4848
5028
  readonly profileMenuItems: _angular_core.Signal<ActionGroup[] | undefined>;
4849
5029
  private profileActionSelectedSubject;
@@ -8332,7 +8512,7 @@ declare class DsMobileHandbookFolderMiniComponent {
8332
8512
  * ```
8333
8513
  */
8334
8514
  declare class DsTextInputComponent implements ControlValueAccessor {
8335
- type: _angular_core.InputSignal<"search" | "text" | "email" | "tel" | "password" | "url">;
8515
+ type: _angular_core.InputSignal<"search" | "text" | "url" | "email" | "tel" | "password">;
8336
8516
  label: _angular_core.InputSignal<string>;
8337
8517
  placeholder: _angular_core.InputSignal<string>;
8338
8518
  disabled: _angular_core.InputSignal<boolean>;
@@ -8341,7 +8521,7 @@ declare class DsTextInputComponent implements ControlValueAccessor {
8341
8521
  hasError: _angular_core.InputSignal<boolean>;
8342
8522
  errorMessage: _angular_core.InputSignal<string>;
8343
8523
  autocomplete: _angular_core.InputSignal<string>;
8344
- inputmode: _angular_core.InputSignal<"search" | "text" | "email" | "tel" | "url" | "numeric" | undefined>;
8524
+ inputmode: _angular_core.InputSignal<"search" | "text" | "url" | "email" | "tel" | "numeric" | undefined>;
8345
8525
  autoClearError: _angular_core.InputSignal<boolean>;
8346
8526
  validator: _angular_core.InputSignal<((value: string) => boolean) | null>;
8347
8527
  valueChange: _angular_core.OutputEmitterRef<string>;
@@ -8414,7 +8594,7 @@ declare class DsMobileFabComponent implements AfterViewInit, OnDestroy {
8414
8594
  * Note: FAB is always 56px circular, but this affects the icon size
8415
8595
  * @default 'md'
8416
8596
  */
8417
- size: _angular_core.InputSignal<"sm" | "md" | "lg">;
8597
+ size: _angular_core.InputSignal<"md" | "sm" | "lg">;
8418
8598
  /**
8419
8599
  * ARIA label for accessibility
8420
8600
  * @required - Always provide a descriptive label
@@ -8995,6 +9175,7 @@ declare class MobileHomePageComponent implements OnInit {
8995
9175
  familyAccessService: FamilyAccessService;
8996
9176
  private peerMessaging;
8997
9177
  peerChat: PeerChatLauncherService;
9178
+ private lightboxService;
8998
9179
  pageComponent: DsMobilePageMainComponent;
8999
9180
  readonly isPeerGroupConversation: typeof isPeerGroupConversation;
9000
9181
  protected pageLoading: PageLoadingService;
@@ -9007,7 +9188,7 @@ declare class MobileHomePageComponent implements OnInit {
9007
9188
  private modalCtrl;
9008
9189
  private vendorModal;
9009
9190
  private newInquiryModal;
9010
- constructor(router: Router, navCtrl: NavController, userService: UserService, postsService: PostsService, postModal: DsMobilePostDetailModalService, trackingPermissionService: TrackingPermissionService, bottomSheet: DsMobileBottomSheetService, familyAccessService: FamilyAccessService, peerMessaging: PeerMessagingService, peerChat: PeerChatLauncherService);
9191
+ constructor(router: Router, navCtrl: NavController, userService: UserService, postsService: PostsService, postModal: DsMobilePostDetailModalService, trackingPermissionService: TrackingPermissionService, bottomSheet: DsMobileBottomSheetService, familyAccessService: FamilyAccessService, peerMessaging: PeerMessagingService, peerChat: PeerChatLauncherService, lightboxService: DsMobileLightboxService);
9011
9192
  ngOnInit(): void;
9012
9193
  private simulateLoad;
9013
9194
  handleRefresh(event: any): void;
@@ -9629,5 +9810,5 @@ declare class MediaPickerService {
9629
9810
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<MediaPickerService>;
9630
9811
  }
9631
9812
 
9632
- export { AcceptInvitePageComponent, ActionCommentComponent, ActionLikeComponent, AvatarUploadPageComponent, BaseModalService, ContentRowComponent, CreateAccountPageComponent, DEFAULT_SERVICE_PAGE_LABELS, DsAppIconComponent, DsAvatarWithBadgeComponent, DsLogoComponent, DsMobileAccessSheetComponent, DsMobileActionListItemComponent, DsMobileActionsBottomSheetComponent, DsMobileAddGroupTenantsModalComponent, DsMobileAppLoadingComponent, DsMobileAttachmentPreviewComponent, DsMobileBookingConfirmationWrapperComponent, DsMobileBookingModalComponent, DsMobileBookingModalService, DsMobileBookingSummaryComponent, DsMobileBottomSheetHeaderComponent, DsMobileBottomSheetService, DsMobileBottomSheetWrapperComponent, DsMobileCapacitySheetComponent, DsMobileCardInlineBannerComponent, DsMobileCardInlineComponent, DsMobileCardInlineContactComponent, DsMobileCardInlineFileComponent, DsMobileChatModalComponent, DsMobileChatModalService, DsMobileActionsBottomSheetComponent as DsMobileCommentActionsBottomSheetComponent, DsMobileCommentComponent, DsMobileCommunityAdminPickerComponent, DsMobileCommunityAdminsModalComponent, DsMobileConfirmationSheetComponent, DsMobileContactListItemComponent, DsMobileContentComponent, DsMobileCreateGroupModalComponent, DsMobileDropdownComponent, DsMobileEditGroupModalComponent, DsMobileEmptyStateComponent, DsMobileFabComponent, DsMobileFacilityArchiveConfirmationComponent, DsMobileFacilityCreationConfirmationWrapperComponent, DsMobileFacilityCreationModalComponent, DsMobileFacilityCreationModalService, DsMobileFacilityDeleteConfirmationComponent, DsMobileFacilityDetailModalComponent, DsMobileFacilityDetailModalService, DsMobileFileAttachmentComponent, DsMobileGlassSpinnerComponent, DsMobileGroupAvatarStackComponent, DsMobileGroupMembersModalComponent, DsMobileHandbookDetailModalComponent, DsMobileHandbookDetailModalService, DsMobileHandbookFolderComponent, DsMobileHandbookFolderMiniComponent, DsMobileHeaderContentComponent, DsMobileHeaderContentTileComponent, DsMobileIllustrationComponent, DsMobileImagePlaceholderComponent, DsMobileInlinePhotoComponent, DsMobileInlineTabsComponent, DsMobileInteractiveListItemBookingComponent, DsMobileInteractiveListItemInquiryComponent, DsMobileInteractiveListItemMessageComponent, DsMobileInteractiveListItemPostComponent, DsMobileLightboxImageComponent as DsMobileLightboxComponent, DsMobileLightboxFooterComponent, DsMobileLightboxHeaderComponent, DsMobileLightboxImageComponent, DsMobileLightboxPdfComponent, DsMobileLightboxService, DsMobileListItemComponent, DsMobileListItemStaticComponent, DsMobileListSearchComponent, DsMobileLoaderOverlayComponent, DsMobileLongPressDirective, DsMobileMediaActionsPanelComponent, DsMobileMessageBubbleComponent, DsMobileMessageComposerComponent, DsMobileModalBaseComponent, DsMobileModalService, DsMobileNewInquiryModalComponent, DsMobileNewInquiryModalService, DsMobileOfflineBannerComponent, DsMobilePageDetailsComponent, DsMobilePageMainComponent, DsMobilePillComponent, DsMobileActionsBottomSheetComponent as DsMobilePostActionsBottomSheetComponent, DsMobilePostComposerComponent, DsMobilePostCreateBottomSheetComponent, DsMobilePostDetailModalComponent, DsMobilePostDetailModalService, DsMobilePriceSheetComponent, DsMobileProfileActionsSheetComponent, DsMobilePromptBottomSheetComponent, DsMobilePropertyBannerComponent, DsMobileRichTextEditorComponent, DsMobileSectionComponent, DsMobileServiceVendorModalService, DsMobileServiceVendorSheetComponent, DsMobileSwiperComponent, DsMobileSwiperWithNavComponent, DsMobileSystemMessageBannerComponent, DsMobileTabBarComponent, DsMobileTabsComponent, DsMobileTenantPickerModalComponent, DsMobileWhenCanBookSheetComponent, DsMobileWhoCanBookSheetComponent, DsTextInputComponent, FamilyAccessPageComponent, FamilyAccessService, InquiriesService, InviteSuccessPageComponent, MediaPickerService, MobileBookingPageComponent, MobileCommunityPageComponent, MobileHandbookPageComponent, MobileHomePageComponent, MobileInquiriesPageComponent, MobileInquiryDetailPageComponent, MobileModalBase, MobilePageBase, MobilePostDetailPageComponent, MobileTabsExampleComponent, PageLoadingService, PostActionsComponent, PostAttachmentsComponent, PostContentComponent, PostCreatePageComponent, PostMediaComponent, PostPdfAttachmentComponent, PostTextComponent, PostsService, SectionHeaderComponent, ServicesPageComponent, SignInPageComponent, SignInToAcceptPageComponent, TenantChatPageComponent, TileContentComponent, TileIconComponent, TileLabelComponent, TileValueComponent, TrackingPermissionService, UserService, WhitelabelDemoModalComponent, WhitelabelDemoModalService, WhitelabelService, customBackTransition, customPageTransition };
9633
- export type { ActionGroup, ActionItem, ActionResult, AddGroupTenantPickerRow, AppIconSize, AttachmentData, AttachmentFileType, AttachmentItem, AvatarSize, AvatarType, BadgePosition, BookingModalExtras, BookingResult, BottomSheetOptions, ChatAttachment, ChatGroupPanelLabels, ChatMessage, ChatModalData, ChatModalGroupData, ChatModalLabels, ChatParticipant, Comment, ActionResult as CommentActionResult, CommentData, CommunityAdminRow, ContactItem, ContactType, ContentWidth, CreateGroupMember, CreateGroupResult, DateOption, DropdownAlign, DropdownPosition, DsMobileDropdownItem, EditGroupMember, EditGroupResult, FacilityCreationModalOptions, FacilityDetailData, FacilityDetailDisplayData, FacilityDetailEditContext, FamilyInvite, FamilyMember, FamilyMemberStatus, GroupMemberRow, HandbookDetailData, HandbookItem, InlineTabItem, Inquiry, InquiryPhoto, Language, LightboxAuthor, LightboxImage, LightboxImageOptions, LightboxMediaFile, LightboxMediaType, LightboxOptions, LightboxPdf, LightboxPdfOptions, LoadingPhase, LogoSize, LogoVariant, MediaPickerResult, ModalOptions, MoreMenuItem, NetworkStatus, NewFacilityData, NewInquiryData, NewInquiryModalOptions, Post, ActionResult as PostActionResult, PostDetailData, PromptBottomSheetResult, PromptGroupPreviewMember, ServicePageLabels, ServiceVendor, TabConfig, TimeSlot, WhitelabelConfig };
9813
+ export { AcceptInvitePageComponent, ActionCommentComponent, ActionLikeComponent, AvatarUploadPageComponent, BaseModalService, ContentRowComponent, CreateAccountPageComponent, DEFAULT_SERVICE_PAGE_LABELS, DsAppIconComponent, DsAvatarWithBadgeComponent, DsLogoComponent, DsMobileAccessSheetComponent, DsMobileActionListItemComponent, DsMobileActionsBottomSheetComponent, DsMobileAddGroupTenantsModalComponent, DsMobileAppLoadingComponent, DsMobileAttachmentPreviewComponent, DsMobileBookingConfirmationWrapperComponent, DsMobileBookingModalComponent, DsMobileBookingModalService, DsMobileBookingSummaryComponent, DsMobileBottomSheetHeaderComponent, DsMobileBottomSheetService, DsMobileBottomSheetWrapperComponent, DsMobileCapacitySheetComponent, DsMobileCardInlineBannerComponent, DsMobileCardInlineComponent, DsMobileCardInlineContactComponent, DsMobileCardInlineFileComponent, DsMobileChatModalComponent, DsMobileChatModalService, DsMobileActionsBottomSheetComponent as DsMobileCommentActionsBottomSheetComponent, DsMobileCommentComponent, DsMobileCommunityAdminPickerComponent, DsMobileCommunityAdminsModalComponent, DsMobileConfirmationSheetComponent, DsMobileContactListItemComponent, DsMobileContentComponent, DsMobileCreateGroupModalComponent, DsMobileDropdownComponent, DsMobileEditGroupModalComponent, DsMobileEmptyStateComponent, DsMobileFabComponent, DsMobileFacilityArchiveConfirmationComponent, DsMobileFacilityCreationConfirmationWrapperComponent, DsMobileFacilityCreationModalComponent, DsMobileFacilityCreationModalService, DsMobileFacilityDeleteConfirmationComponent, DsMobileFacilityDetailModalComponent, DsMobileFacilityDetailModalService, DsMobileFileAttachmentComponent, DsMobileGlassSpinnerComponent, DsMobileGroupAvatarStackComponent, DsMobileGroupMembersModalComponent, DsMobileHandbookDetailModalComponent, DsMobileHandbookDetailModalService, DsMobileHandbookFolderComponent, DsMobileHandbookFolderMiniComponent, DsMobileHeaderContentComponent, DsMobileHeaderContentTileComponent, DsMobileIllustrationComponent, DsMobileImagePlaceholderComponent, DsMobileInlinePhotoComponent, DsMobileInlineTabsComponent, DsMobileInteractiveListItemBookingComponent, DsMobileInteractiveListItemInquiryComponent, DsMobileInteractiveListItemMessageComponent, DsMobileInteractiveListItemPostComponent, DsMobileLightboxImageComponent as DsMobileLightboxComponent, DsMobileLightboxFooterComponent, DsMobileLightboxHeaderComponent, DsMobileLightboxImageComponent, DsMobileLightboxImageWithDescriptionComponent, DsMobileLightboxPdfComponent, DsMobileLightboxService, DsMobileListItemComponent, DsMobileListItemStaticComponent, DsMobileListSearchComponent, DsMobileLoaderOverlayComponent, DsMobileLongPressDirective, DsMobileMediaActionsPanelComponent, DsMobileMessageBubbleComponent, DsMobileMessageComposerComponent, DsMobileModalBaseComponent, DsMobileModalService, DsMobileNewInquiryModalComponent, DsMobileNewInquiryModalService, DsMobileOfflineBannerComponent, DsMobilePageDetailsComponent, DsMobilePageMainComponent, DsMobilePillComponent, DsMobileActionsBottomSheetComponent as DsMobilePostActionsBottomSheetComponent, DsMobilePostComposerComponent, DsMobilePostCreateBottomSheetComponent, DsMobilePostDetailModalComponent, DsMobilePostDetailModalService, DsMobilePriceSheetComponent, DsMobileProfileActionsSheetComponent, DsMobilePromptBottomSheetComponent, DsMobilePropertyBannerComponent, DsMobileRichTextEditorComponent, DsMobileSectionComponent, DsMobileServiceVendorModalService, DsMobileServiceVendorSheetComponent, DsMobileSwiperComponent, DsMobileSwiperWithNavComponent, DsMobileSystemMessageBannerComponent, DsMobileTabBarComponent, DsMobileTabsComponent, DsMobileTenantPickerModalComponent, DsMobileWhenCanBookSheetComponent, DsMobileWhoCanBookSheetComponent, DsTextInputComponent, FamilyAccessPageComponent, FamilyAccessService, InquiriesService, InviteSuccessPageComponent, MediaPickerService, MobileBookingPageComponent, MobileCommunityPageComponent, MobileHandbookPageComponent, MobileHomePageComponent, MobileInquiriesPageComponent, MobileInquiryDetailPageComponent, MobileModalBase, MobilePageBase, MobilePostDetailPageComponent, MobileTabsExampleComponent, PageLoadingService, PostActionsComponent, PostAttachmentsComponent, PostContentComponent, PostCreatePageComponent, PostMediaComponent, PostPdfAttachmentComponent, PostTextComponent, PostsService, SectionHeaderComponent, ServicesPageComponent, SignInPageComponent, SignInToAcceptPageComponent, TenantChatPageComponent, TileContentComponent, TileIconComponent, TileLabelComponent, TileValueComponent, TrackingPermissionService, UserService, WhitelabelDemoModalComponent, WhitelabelDemoModalService, WhitelabelService, customBackTransition, customPageTransition };
9814
+ export type { ActionGroup, ActionItem, ActionResult, AddGroupTenantPickerRow, AppIconSize, AttachmentData, AttachmentFileType, AttachmentItem, AvatarSize, AvatarType, BadgePosition, BookingModalExtras, BookingResult, BottomSheetOptions, ChatAttachment, ChatGroupPanelLabels, ChatMessage, ChatModalData, ChatModalGroupData, ChatModalLabels, ChatParticipant, Comment, ActionResult as CommentActionResult, CommentData, CommunityAdminRow, ContactItem, ContactType, ContentWidth, CreateGroupMember, CreateGroupResult, DateOption, DropdownAlign, DropdownPosition, DsMobileDropdownItem, EditGroupMember, EditGroupResult, FacilityCreationModalOptions, FacilityDetailData, FacilityDetailDisplayData, FacilityDetailEditContext, FamilyInvite, FamilyMember, FamilyMemberStatus, GroupMemberRow, HandbookDetailData, HandbookItem, InlineTabItem, Inquiry, InquiryPhoto, Language, LightboxAuthor, LightboxImage, LightboxImageOptions, LightboxImageWithDescription, LightboxImageWithDescriptionOptions, LightboxMediaFile, LightboxMediaType, LightboxOptions, LightboxPdf, LightboxPdfOptions, LoadingPhase, LogoSize, LogoVariant, MediaPickerResult, ModalOptions, MoreMenuItem, NetworkStatus, NewFacilityData, NewInquiryData, NewInquiryModalOptions, Post, ActionResult as PostActionResult, PostDetailData, PromptBottomSheetResult, PromptGroupPreviewMember, ServicePageLabels, ServiceVendor, TabConfig, TimeSlot, WhitelabelConfig };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@propbinder/mobile-design",
3
- "version": "0.2.85",
3
+ "version": "0.2.87",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0 || ^21.0.0",
6
6
  "@angular/core": "^20.3.0 || ^21.0.0"