@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/fesm2022/propbinder-mobile-design.mjs +740 -20
- package/fesm2022/propbinder-mobile-design.mjs.map +1 -1
- package/index.d.ts +201 -20
- package/package.json +1 -1
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<"
|
|
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<"
|
|
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<"
|
|
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<"
|
|
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<"
|
|
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<"
|
|
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<"
|
|
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<"
|
|
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<"
|
|
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<"
|
|
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<"
|
|
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<"
|
|
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" | "
|
|
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" | "
|
|
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<"
|
|
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 };
|