@propbinder/mobile-design 0.2.73 → 0.2.75
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 +1337 -262
- package/fesm2022/propbinder-mobile-design.mjs.map +1 -1
- package/index.d.ts +200 -33
- package/package.json +2 -2
- package/styles/ionic.css +1 -1
package/index.d.ts
CHANGED
|
@@ -3963,6 +3963,7 @@ interface ChatParticipant {
|
|
|
3963
3963
|
avatarInitials?: string;
|
|
3964
3964
|
avatarType?: 'initials' | 'photo' | 'icon';
|
|
3965
3965
|
avatarSrc?: string;
|
|
3966
|
+
avatarShape?: 'circle' | 'squircle';
|
|
3966
3967
|
badge?: string;
|
|
3967
3968
|
verified?: boolean;
|
|
3968
3969
|
lastActive?: string;
|
|
@@ -4692,6 +4693,76 @@ declare class DsMobileGroupMembersModalComponent implements OnInit {
|
|
|
4692
4693
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileGroupMembersModalComponent, "ds-mobile-group-members-modal", never, { "getMembersSnapshot": { "alias": "getMembersSnapshot"; "required": true; }; "isAdmin": { "alias": "isAdmin"; "required": false; }; "currentUserId": { "alias": "currentUserId"; "required": false; }; "onRemoveMember": { "alias": "onRemoveMember"; "required": false; }; "onMessageMember": { "alias": "onMessageMember"; "required": false; }; "openAddMembersPicker": { "alias": "openAddMembersPicker"; "required": false; }; }, {}, never, never, true, never>;
|
|
4693
4694
|
}
|
|
4694
4695
|
|
|
4696
|
+
interface CommunityAdminRow {
|
|
4697
|
+
id: string;
|
|
4698
|
+
name: string;
|
|
4699
|
+
unit?: string;
|
|
4700
|
+
avatarInitials?: string;
|
|
4701
|
+
avatarType?: 'initials' | 'photo' | 'icon';
|
|
4702
|
+
avatarSrc?: string;
|
|
4703
|
+
}
|
|
4704
|
+
|
|
4705
|
+
interface CommunityAdminLabels {
|
|
4706
|
+
pageTitle: string;
|
|
4707
|
+
closeButton: string;
|
|
4708
|
+
addButtonAriaLabel: string;
|
|
4709
|
+
emptyState: string;
|
|
4710
|
+
emptyStateDescription: string;
|
|
4711
|
+
removeConfirmTitle: string;
|
|
4712
|
+
removeConfirmMessage: (name: string) => string;
|
|
4713
|
+
removeConfirmButton: string;
|
|
4714
|
+
cancelButton: string;
|
|
4715
|
+
addPickerTitle: string;
|
|
4716
|
+
addPickerSearchPlaceholder: string;
|
|
4717
|
+
addPickerSearchAriaLabel: string;
|
|
4718
|
+
addPickerEmpty: string;
|
|
4719
|
+
onboardingTitle: string;
|
|
4720
|
+
onboardingMessage: string;
|
|
4721
|
+
onboardingButton: string;
|
|
4722
|
+
}
|
|
4723
|
+
/**
|
|
4724
|
+
* Full-screen modal for managing community administrators.
|
|
4725
|
+
*
|
|
4726
|
+
* The main view lists current admins with a "more" menu to remove them.
|
|
4727
|
+
* Tapping the "+" header button opens a stacked picker modal to add new admins
|
|
4728
|
+
* from the available tenants list.
|
|
4729
|
+
*/
|
|
4730
|
+
declare class DsMobileCommunityAdminsModalComponent implements OnInit {
|
|
4731
|
+
private modalCtrl;
|
|
4732
|
+
private bottomSheet;
|
|
4733
|
+
getAdminsSnapshot: () => CommunityAdminRow[];
|
|
4734
|
+
availableTenants: CommunityAdminRow[];
|
|
4735
|
+
currentUserId: string;
|
|
4736
|
+
onAddAdmin?: (tenantId: string) => void | Promise<void>;
|
|
4737
|
+
onRemoveAdmin?: (adminId: string) => void | Promise<void>;
|
|
4738
|
+
labels?: Partial<CommunityAdminLabels>;
|
|
4739
|
+
lbl: CommunityAdminLabels;
|
|
4740
|
+
localAdmins: CommunityAdminRow[];
|
|
4741
|
+
get showAddButton(): boolean;
|
|
4742
|
+
ngOnInit(): void;
|
|
4743
|
+
syncAdmins(): void;
|
|
4744
|
+
confirmRemoveAdmin(admin: CommunityAdminRow): Promise<void>;
|
|
4745
|
+
openAddAdminPicker(): Promise<void>;
|
|
4746
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileCommunityAdminsModalComponent, never>;
|
|
4747
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileCommunityAdminsModalComponent, "ds-mobile-community-admins-modal", never, { "getAdminsSnapshot": { "alias": "getAdminsSnapshot"; "required": true; }; "availableTenants": { "alias": "availableTenants"; "required": false; }; "currentUserId": { "alias": "currentUserId"; "required": false; }; "onAddAdmin": { "alias": "onAddAdmin"; "required": false; }; "onRemoveAdmin": { "alias": "onRemoveAdmin"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; }, {}, never, never, true, never>;
|
|
4748
|
+
}
|
|
4749
|
+
/**
|
|
4750
|
+
* Internal stacked picker for selecting a single tenant to promote to admin.
|
|
4751
|
+
*/
|
|
4752
|
+
declare class DsMobileCommunityAdminPickerComponent implements OnInit {
|
|
4753
|
+
private modalCtrl;
|
|
4754
|
+
tenants: CommunityAdminRow[];
|
|
4755
|
+
labels?: CommunityAdminLabels;
|
|
4756
|
+
lbl: CommunityAdminLabels;
|
|
4757
|
+
searchQuery: _angular_core.WritableSignal<string>;
|
|
4758
|
+
private tenantsSig;
|
|
4759
|
+
ngOnInit(): void;
|
|
4760
|
+
filteredTenants: _angular_core.Signal<CommunityAdminRow[]>;
|
|
4761
|
+
selectTenant(tenant: CommunityAdminRow): void;
|
|
4762
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileCommunityAdminPickerComponent, never>;
|
|
4763
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileCommunityAdminPickerComponent, "ds-mobile-community-admin-picker", never, { "tenants": { "alias": "tenants"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; }, {}, never, never, true, never>;
|
|
4764
|
+
}
|
|
4765
|
+
|
|
4695
4766
|
/**
|
|
4696
4767
|
* Group thread avatar: optional custom image, or member faces.
|
|
4697
4768
|
*
|
|
@@ -4837,6 +4908,14 @@ declare class DsMobileTenantPickerModalComponent {
|
|
|
4837
4908
|
private modalCtrl;
|
|
4838
4909
|
private peerMessaging;
|
|
4839
4910
|
private peerChat;
|
|
4911
|
+
/**
|
|
4912
|
+
* When true the modal acts as a simple single-select picker:
|
|
4913
|
+
* tapping a tenant dismisses with `{ tenantId }` (role `'selected'`).
|
|
4914
|
+
* The "more" menu and group-selection footer are hidden.
|
|
4915
|
+
*/
|
|
4916
|
+
pickMode: boolean;
|
|
4917
|
+
/** Optional set of tenant IDs to exclude from the list (e.g. already-selected admins). */
|
|
4918
|
+
excludeIds?: Set<string>;
|
|
4840
4919
|
searchQuery: _angular_core.WritableSignal<string>;
|
|
4841
4920
|
selectionMode: _angular_core.WritableSignal<boolean>;
|
|
4842
4921
|
selectedIds: _angular_core.WritableSignal<Set<string>>;
|
|
@@ -4847,7 +4926,7 @@ declare class DsMobileTenantPickerModalComponent {
|
|
|
4847
4926
|
openTenantActions(tenant: PeerTenantContact): Promise<void>;
|
|
4848
4927
|
promptCreateGroup(): Promise<void>;
|
|
4849
4928
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileTenantPickerModalComponent, never>;
|
|
4850
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileTenantPickerModalComponent, "ds-mobile-tenant-picker-modal", never, {}, {}, never, never, true, never>;
|
|
4929
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileTenantPickerModalComponent, "ds-mobile-tenant-picker-modal", never, { "pickMode": { "alias": "pickMode"; "required": false; }; "excludeIds": { "alias": "excludeIds"; "required": false; }; }, {}, never, never, true, never>;
|
|
4851
4930
|
}
|
|
4852
4931
|
|
|
4853
4932
|
interface CreateGroupMember {
|
|
@@ -4868,7 +4947,7 @@ declare class DsMobileCreateGroupModalComponent implements OnInit {
|
|
|
4868
4947
|
members: CreateGroupMember[];
|
|
4869
4948
|
defaultName: string;
|
|
4870
4949
|
allTenants: CreateGroupMember[];
|
|
4871
|
-
view: _angular_core.WritableSignal<"
|
|
4950
|
+
view: _angular_core.WritableSignal<"add-members" | "main">;
|
|
4872
4951
|
groupName: _angular_core.WritableSignal<string>;
|
|
4873
4952
|
customAvatarUrl: _angular_core.WritableSignal<string>;
|
|
4874
4953
|
localMembers: _angular_core.WritableSignal<CreateGroupMember[]>;
|
|
@@ -5941,7 +6020,7 @@ declare abstract class MobileModalBase implements OnInit, OnDestroy {
|
|
|
5941
6020
|
* - 'overlay': keyboard/footer overlays lower content (no auto scroll push)
|
|
5942
6021
|
* @default 'follow'
|
|
5943
6022
|
*/
|
|
5944
|
-
keyboardContentBehavior: _angular_core.InputSignal<"
|
|
6023
|
+
keyboardContentBehavior: _angular_core.InputSignal<"overlay" | "follow">;
|
|
5945
6024
|
/**
|
|
5946
6025
|
* Optional interceptor called instead of the default dismiss when the close button is tapped.
|
|
5947
6026
|
* Return a function to take over close behavior (e.g. navigate back within the modal).
|
|
@@ -6501,7 +6580,7 @@ declare class DsMobileCardInlineComponent {
|
|
|
6501
6580
|
* - 'default' - Column layout with standard padding (gap: 12px, padding: 10px 12px)
|
|
6502
6581
|
* - 'compact' - Row layout with reduced padding (gap: 8px, padding: 10px)
|
|
6503
6582
|
*/
|
|
6504
|
-
variant: _angular_core.InputSignal<"
|
|
6583
|
+
variant: _angular_core.InputSignal<"compact" | "default">;
|
|
6505
6584
|
/**
|
|
6506
6585
|
* Whether the card is disabled
|
|
6507
6586
|
* Disables all interactions and reduces opacity
|
|
@@ -6564,7 +6643,7 @@ declare class DsMobileCardInlineBannerComponent {
|
|
|
6564
6643
|
* - 'default' - Standard padding and column layout
|
|
6565
6644
|
* - 'compact' - Reduced padding and row layout
|
|
6566
6645
|
*/
|
|
6567
|
-
layout: _angular_core.InputSignal<"
|
|
6646
|
+
layout: _angular_core.InputSignal<"compact" | "default">;
|
|
6568
6647
|
/**
|
|
6569
6648
|
* Emits when the banner is clicked
|
|
6570
6649
|
*/
|
|
@@ -6619,7 +6698,7 @@ declare class DsMobileCardInlineContactComponent {
|
|
|
6619
6698
|
* - 'default' - Standard padding and column layout
|
|
6620
6699
|
* - 'compact' - Reduced padding and row layout
|
|
6621
6700
|
*/
|
|
6622
|
-
layout: _angular_core.InputSignal<"
|
|
6701
|
+
layout: _angular_core.InputSignal<"compact" | "default">;
|
|
6623
6702
|
/**
|
|
6624
6703
|
* Whether the contact item is clickable
|
|
6625
6704
|
*/
|
|
@@ -6684,7 +6763,7 @@ declare class DsMobileCardInlineFileComponent {
|
|
|
6684
6763
|
* - 'default' - Standard padding and column layout
|
|
6685
6764
|
* - 'compact' - Reduced padding and row layout
|
|
6686
6765
|
*/
|
|
6687
|
-
layout: _angular_core.InputSignal<"
|
|
6766
|
+
layout: _angular_core.InputSignal<"compact" | "default">;
|
|
6688
6767
|
/**
|
|
6689
6768
|
* Optional URL to open when clicked
|
|
6690
6769
|
* If provided, clicking the card will open this URL in a new tab
|
|
@@ -6786,6 +6865,10 @@ declare class DsMobileNewInquiryModalComponent implements OnInit, AfterViewInit
|
|
|
6786
6865
|
* Label for the submit button
|
|
6787
6866
|
*/
|
|
6788
6867
|
submitButtonLabel: string;
|
|
6868
|
+
/**
|
|
6869
|
+
* Pre-set category included in the emitted NewInquiryData (e.g. vendor id)
|
|
6870
|
+
*/
|
|
6871
|
+
category?: string;
|
|
6789
6872
|
/**
|
|
6790
6873
|
* Form title field
|
|
6791
6874
|
*/
|
|
@@ -6871,7 +6954,7 @@ declare class DsMobileNewInquiryModalComponent implements OnInit, AfterViewInit
|
|
|
6871
6954
|
private isFormDirty;
|
|
6872
6955
|
private showUnsavedChangesSheet;
|
|
6873
6956
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileNewInquiryModalComponent, never>;
|
|
6874
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileNewInquiryModalComponent, "ds-mobile-new-inquiry-modal", never, { "loading": { "alias": "loading"; "required": false; }; "error": { "alias": "error"; "required": false; }; "onSubmit": { "alias": "onSubmit"; "required": false; }; "titlePlaceholder": { "alias": "titlePlaceholder"; "required": false; }; "descriptionPlaceholder": { "alias": "descriptionPlaceholder"; "required": false; }; "submitButtonLabel": { "alias": "submitButtonLabel"; "required": false; }; }, {}, never, never, true, never>;
|
|
6957
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileNewInquiryModalComponent, "ds-mobile-new-inquiry-modal", never, { "loading": { "alias": "loading"; "required": false; }; "error": { "alias": "error"; "required": false; }; "onSubmit": { "alias": "onSubmit"; "required": false; }; "titlePlaceholder": { "alias": "titlePlaceholder"; "required": false; }; "descriptionPlaceholder": { "alias": "descriptionPlaceholder"; "required": false; }; "submitButtonLabel": { "alias": "submitButtonLabel"; "required": false; }; "category": { "alias": "category"; "required": false; }; }, {}, never, never, true, never>;
|
|
6875
6958
|
}
|
|
6876
6959
|
|
|
6877
6960
|
/**
|
|
@@ -6890,6 +6973,8 @@ interface NewInquiryModalOptions {
|
|
|
6890
6973
|
descriptionPlaceholder?: string;
|
|
6891
6974
|
/** Custom label for submit button */
|
|
6892
6975
|
submitButtonLabel?: string;
|
|
6976
|
+
/** Pre-set category included in the emitted NewInquiryData (e.g. vendor id) */
|
|
6977
|
+
category?: string;
|
|
6893
6978
|
}
|
|
6894
6979
|
/**
|
|
6895
6980
|
* DsMobileNewInquiryModalService
|
|
@@ -8189,7 +8274,7 @@ declare class DsMobileHandbookFolderMiniComponent {
|
|
|
8189
8274
|
* ```
|
|
8190
8275
|
*/
|
|
8191
8276
|
declare class DsTextInputComponent implements ControlValueAccessor {
|
|
8192
|
-
type: _angular_core.InputSignal<"search" | "text" | "email" | "
|
|
8277
|
+
type: _angular_core.InputSignal<"search" | "text" | "email" | "password" | "tel" | "url">;
|
|
8193
8278
|
label: _angular_core.InputSignal<string>;
|
|
8194
8279
|
placeholder: _angular_core.InputSignal<string>;
|
|
8195
8280
|
disabled: _angular_core.InputSignal<boolean>;
|
|
@@ -8198,7 +8283,7 @@ declare class DsTextInputComponent implements ControlValueAccessor {
|
|
|
8198
8283
|
hasError: _angular_core.InputSignal<boolean>;
|
|
8199
8284
|
errorMessage: _angular_core.InputSignal<string>;
|
|
8200
8285
|
autocomplete: _angular_core.InputSignal<string>;
|
|
8201
|
-
inputmode: _angular_core.InputSignal<"search" | "text" | "
|
|
8286
|
+
inputmode: _angular_core.InputSignal<"search" | "text" | "numeric" | "email" | "tel" | "url" | undefined>;
|
|
8202
8287
|
autoClearError: _angular_core.InputSignal<boolean>;
|
|
8203
8288
|
validator: _angular_core.InputSignal<((value: string) => boolean) | null>;
|
|
8204
8289
|
valueChange: _angular_core.OutputEmitterRef<string>;
|
|
@@ -8506,7 +8591,7 @@ declare class DsMobileIllustrationComponent {
|
|
|
8506
8591
|
* Predefined illustration variant
|
|
8507
8592
|
* Available variants: 'post', 'inquiry', 'confirmation', 'family'
|
|
8508
8593
|
*/
|
|
8509
|
-
variant: _angular_core.InputSignal<"
|
|
8594
|
+
variant: _angular_core.InputSignal<"inquiry" | "delete-warning" | "post" | "confirmation" | "family" | "cancel-booking">;
|
|
8510
8595
|
/**
|
|
8511
8596
|
* Illustration size (width and height)
|
|
8512
8597
|
* @default '120px'
|
|
@@ -8722,6 +8807,24 @@ declare class MobileHandbookPageComponent {
|
|
|
8722
8807
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileHandbookPageComponent, "app-mobile-handbook-page", never, {}, {}, never, never, true, never>;
|
|
8723
8808
|
}
|
|
8724
8809
|
|
|
8810
|
+
interface ServiceVendor {
|
|
8811
|
+
id: string;
|
|
8812
|
+
name: string;
|
|
8813
|
+
category: string;
|
|
8814
|
+
description?: string;
|
|
8815
|
+
phone?: string;
|
|
8816
|
+
logo?: string;
|
|
8817
|
+
thumbnail?: string;
|
|
8818
|
+
heroImage?: string;
|
|
8819
|
+
fullDescription?: string;
|
|
8820
|
+
price?: string;
|
|
8821
|
+
availabilityStatus?: 'available-today' | 'available-from' | 'unavailable';
|
|
8822
|
+
statusLabel?: string;
|
|
8823
|
+
requirements?: string[];
|
|
8824
|
+
restrictions?: string[];
|
|
8825
|
+
expectations?: string;
|
|
8826
|
+
}
|
|
8827
|
+
|
|
8725
8828
|
type LoadingPhase = 'loading' | 'exiting' | 'idle';
|
|
8726
8829
|
/**
|
|
8727
8830
|
* PageLoadingService
|
|
@@ -8838,16 +8941,14 @@ declare class MobileHomePageComponent implements OnInit {
|
|
|
8838
8941
|
readonly isPeerGroupConversation: typeof isPeerGroupConversation;
|
|
8839
8942
|
protected pageLoading: PageLoadingService;
|
|
8840
8943
|
recentPosts: _angular_core.Signal<_propbinder_mobile_design.Post[]>;
|
|
8841
|
-
private
|
|
8842
|
-
openInquiries: _angular_core.Signal<
|
|
8843
|
-
id: string;
|
|
8844
|
-
title: string;
|
|
8845
|
-
description: string;
|
|
8846
|
-
status: "open";
|
|
8847
|
-
timestamp: string;
|
|
8848
|
-
}[]>;
|
|
8944
|
+
private inquiriesService;
|
|
8945
|
+
openInquiries: _angular_core.Signal<_propbinder_mobile_design.Inquiry[]>;
|
|
8849
8946
|
recentPeerMessages: _angular_core.Signal<PeerConversation[]>;
|
|
8947
|
+
private allVendors;
|
|
8948
|
+
previewVendors: _angular_core.Signal<ServiceVendor[]>;
|
|
8850
8949
|
private modalCtrl;
|
|
8950
|
+
private vendorModal;
|
|
8951
|
+
private newInquiryModal;
|
|
8851
8952
|
constructor(router: Router, navCtrl: NavController, userService: UserService, postsService: PostsService, postModal: DsMobilePostDetailModalService, trackingPermissionService: TrackingPermissionService, bottomSheet: DsMobileBottomSheetService, familyAccessService: FamilyAccessService, peerMessaging: PeerMessagingService, peerChat: PeerChatLauncherService);
|
|
8852
8953
|
ngOnInit(): void;
|
|
8853
8954
|
private simulateLoad;
|
|
@@ -8858,6 +8959,9 @@ declare class MobileHomePageComponent implements OnInit {
|
|
|
8858
8959
|
navigateToInquiries(): void;
|
|
8859
8960
|
navigateToTenants(): void;
|
|
8860
8961
|
private openTenantPicker;
|
|
8962
|
+
navigateToServices(): void;
|
|
8963
|
+
openVendorSheet(vendor: ServiceVendor): Promise<void>;
|
|
8964
|
+
private openInquiryForVendor;
|
|
8861
8965
|
navigateToMessages(): void;
|
|
8862
8966
|
openPeerMessagePreview(conv: PeerConversation): Promise<void>;
|
|
8863
8967
|
handlePostLongPress(postId: string): Promise<void>;
|
|
@@ -8871,20 +8975,29 @@ interface Inquiry {
|
|
|
8871
8975
|
description: string;
|
|
8872
8976
|
status: 'open' | 'closed';
|
|
8873
8977
|
timestamp: string;
|
|
8874
|
-
category:
|
|
8978
|
+
category: string;
|
|
8979
|
+
vendorName?: string;
|
|
8980
|
+
vendorLogo?: string;
|
|
8875
8981
|
}
|
|
8982
|
+
declare class InquiriesService {
|
|
8983
|
+
readonly inquiries: _angular_core.WritableSignal<Inquiry[]>;
|
|
8984
|
+
readonly openInquiries: _angular_core.Signal<Inquiry[]>;
|
|
8985
|
+
getById(id: string): Inquiry | undefined;
|
|
8986
|
+
addInquiry(inquiry: Inquiry): void;
|
|
8987
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InquiriesService, never>;
|
|
8988
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<InquiriesService>;
|
|
8989
|
+
}
|
|
8990
|
+
|
|
8876
8991
|
declare class MobileInquiriesPageComponent {
|
|
8877
8992
|
userService: UserService;
|
|
8878
8993
|
private navCtrl;
|
|
8879
8994
|
private newInquiryModal;
|
|
8880
8995
|
pageComponent: DsMobilePageMainComponent;
|
|
8996
|
+
private inquiriesService;
|
|
8881
8997
|
constructor(userService: UserService, navCtrl: NavController, newInquiryModal: DsMobileNewInquiryModalService);
|
|
8882
8998
|
filterStatus: _angular_core.WritableSignal<"open" | "closed" | "all">;
|
|
8883
8999
|
tabItems: InlineTabItem[];
|
|
8884
|
-
inquiries: _angular_core.WritableSignal<Inquiry[]>;
|
|
8885
9000
|
filteredInquiries: _angular_core.Signal<Inquiry[]>;
|
|
8886
|
-
openInquiries: _angular_core.Signal<Inquiry[]>;
|
|
8887
|
-
closedInquiries: _angular_core.Signal<Inquiry[]>;
|
|
8888
9001
|
setFilter(status: 'all' | 'open' | 'closed'): void;
|
|
8889
9002
|
getInquiryIcon(category: string): string;
|
|
8890
9003
|
openInquiryDetail(inquiryId: string): void;
|
|
@@ -8905,30 +9018,37 @@ interface MessageThread {
|
|
|
8905
9018
|
timestamp: string;
|
|
8906
9019
|
unread: boolean;
|
|
8907
9020
|
}
|
|
8908
|
-
declare class MobileInquiryDetailPageComponent {
|
|
9021
|
+
declare class MobileInquiryDetailPageComponent implements OnInit {
|
|
8909
9022
|
userService: UserService;
|
|
8910
9023
|
private lightbox;
|
|
8911
9024
|
private chatModal;
|
|
9025
|
+
private route;
|
|
9026
|
+
private inquiriesService;
|
|
8912
9027
|
inquiryTitle: string;
|
|
9028
|
+
inquiryDescription: string;
|
|
9029
|
+
inquiryCategory: string;
|
|
9030
|
+
inquiryTimestamp: string;
|
|
9031
|
+
vendorName: string;
|
|
9032
|
+
vendorInitials: string;
|
|
9033
|
+
vendorLogo: string;
|
|
9034
|
+
isServiceInquiry: boolean;
|
|
8913
9035
|
activeTab: _angular_core.WritableSignal<string>;
|
|
8914
9036
|
tabItems: InlineTabItem[];
|
|
9037
|
+
serviceMessageThread: MessageThread[];
|
|
9038
|
+
get activeMessages(): MessageThread[];
|
|
8915
9039
|
messageThreads: MessageThread[];
|
|
8916
|
-
|
|
9040
|
+
private updateMessagesBadge;
|
|
8917
9041
|
photos: LightboxImage[];
|
|
8918
9042
|
get photoUrls(): string[];
|
|
8919
9043
|
constructor(userService: UserService, lightbox: DsMobileLightboxService, chatModal: DsMobileChatModalService);
|
|
9044
|
+
ngOnInit(): void;
|
|
8920
9045
|
setActiveTab(tabId: string): void;
|
|
8921
9046
|
goBack(): void;
|
|
8922
9047
|
handleRefresh(event: any): void;
|
|
8923
|
-
/**
|
|
8924
|
-
* Check if there are unread messages
|
|
8925
|
-
*/
|
|
8926
9048
|
hasUnreadMessages(): boolean;
|
|
8927
|
-
/**
|
|
8928
|
-
* Navigate to messages tab when banner is clicked
|
|
8929
|
-
*/
|
|
8930
9049
|
navigateToMessagesTab(): void;
|
|
8931
9050
|
openMessage(messageId: string): Promise<void>;
|
|
9051
|
+
openVendorChat(): Promise<void>;
|
|
8932
9052
|
openPhotoLightbox(index: number): Promise<void>;
|
|
8933
9053
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MobileInquiryDetailPageComponent, never>;
|
|
8934
9054
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileInquiryDetailPageComponent, "app-mobile-inquiry-detail-page", never, {}, {}, never, never, true, never>;
|
|
@@ -9347,6 +9467,53 @@ declare class TenantChatPageComponent {
|
|
|
9347
9467
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TenantChatPageComponent, "app-tenant-chat-page", never, {}, {}, never, never, true, never>;
|
|
9348
9468
|
}
|
|
9349
9469
|
|
|
9470
|
+
interface ServicePageLabels {
|
|
9471
|
+
pageTitle: string;
|
|
9472
|
+
emptyState: string;
|
|
9473
|
+
emptyStateDescription: string;
|
|
9474
|
+
}
|
|
9475
|
+
declare const DEFAULT_SERVICE_PAGE_LABELS: ServicePageLabels;
|
|
9476
|
+
declare function stripHtml(html: string): string;
|
|
9477
|
+
declare class ServicesPageComponent {
|
|
9478
|
+
pageComponent: DsMobilePageMainComponent;
|
|
9479
|
+
private vendorModal;
|
|
9480
|
+
private newInquiryModal;
|
|
9481
|
+
private inquiriesService;
|
|
9482
|
+
private navCtrl;
|
|
9483
|
+
userService: UserService;
|
|
9484
|
+
lbl: ServicePageLabels;
|
|
9485
|
+
vendors: _angular_core.WritableSignal<ServiceVendor[]>;
|
|
9486
|
+
stripHtml: typeof stripHtml;
|
|
9487
|
+
openVendorSheet(vendor: ServiceVendor): Promise<void>;
|
|
9488
|
+
private openInquiryForVendor;
|
|
9489
|
+
handleRefresh(event: CustomEvent): void;
|
|
9490
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ServicesPageComponent, never>;
|
|
9491
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ServicesPageComponent, "app-services-page", never, {}, {}, never, never, true, never>;
|
|
9492
|
+
}
|
|
9493
|
+
|
|
9494
|
+
declare class DsMobileServiceVendorSheetComponent {
|
|
9495
|
+
vendorName: string;
|
|
9496
|
+
vendorDescription: string;
|
|
9497
|
+
vendorImage: string;
|
|
9498
|
+
vendorLogo: string;
|
|
9499
|
+
bookButtonLabel: string;
|
|
9500
|
+
private modalController;
|
|
9501
|
+
handleBook(): Promise<void>;
|
|
9502
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileServiceVendorSheetComponent, never>;
|
|
9503
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileServiceVendorSheetComponent, "ds-mobile-service-vendor-sheet", never, { "vendorName": { "alias": "vendorName"; "required": true; }; "vendorDescription": { "alias": "vendorDescription"; "required": false; }; "vendorImage": { "alias": "vendorImage"; "required": false; }; "vendorLogo": { "alias": "vendorLogo"; "required": false; }; "bookButtonLabel": { "alias": "bookButtonLabel"; "required": false; }; }, {}, never, never, true, never>;
|
|
9504
|
+
}
|
|
9505
|
+
declare class DsMobileServiceVendorModalService extends BaseModalService {
|
|
9506
|
+
constructor(modalController: ModalController);
|
|
9507
|
+
open(props: {
|
|
9508
|
+
vendorName: string;
|
|
9509
|
+
vendorDescription?: string;
|
|
9510
|
+
vendorImage?: string;
|
|
9511
|
+
vendorLogo?: string;
|
|
9512
|
+
}): Promise<HTMLIonModalElement>;
|
|
9513
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileServiceVendorModalService, never>;
|
|
9514
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DsMobileServiceVendorModalService>;
|
|
9515
|
+
}
|
|
9516
|
+
|
|
9350
9517
|
/**
|
|
9351
9518
|
* Custom page transition - iOS-style push/pop with dark overlay
|
|
9352
9519
|
*
|
|
@@ -9404,5 +9571,5 @@ declare class MediaPickerService {
|
|
|
9404
9571
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<MediaPickerService>;
|
|
9405
9572
|
}
|
|
9406
9573
|
|
|
9407
|
-
export { AcceptInvitePageComponent, ActionCommentComponent, ActionLikeComponent, AvatarUploadPageComponent, BaseModalService, ContentRowComponent, CreateAccountPageComponent, 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, DsMobileConfirmationSheetComponent, DsMobileContactListItemComponent, DsMobileContentComponent, DsMobileCreateGroupModalComponent, DsMobileDropdownComponent, DsMobileEditGroupModalComponent, DsMobileEmptyStateComponent, DsMobileFabComponent, DsMobileFacilityArchiveConfirmationComponent, DsMobileFacilityCreationConfirmationWrapperComponent, DsMobileFacilityCreationModalComponent, DsMobileFacilityCreationModalService, DsMobileFacilityDeleteConfirmationComponent, DsMobileFacilityDetailModalComponent, DsMobileFacilityDetailModalService, DsMobileFileAttachmentComponent, 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, DsMobileSwiperComponent, DsMobileSwiperWithNavComponent, DsMobileSystemMessageBannerComponent, DsMobileTabBarComponent, DsMobileTabsComponent, DsMobileTenantPickerModalComponent, DsMobileWhenCanBookSheetComponent, DsMobileWhoCanBookSheetComponent, DsTextInputComponent, FamilyAccessPageComponent, FamilyAccessService, InviteSuccessPageComponent, MediaPickerService, MobileBookingPageComponent, MobileCommunityPageComponent, MobileHandbookPageComponent, MobileHomePageComponent, MobileInquiriesPageComponent, MobileInquiryDetailPageComponent, MobileModalBase, MobilePageBase, MobilePostDetailPageComponent, MobileTabsExampleComponent, PageLoadingService, PostActionsComponent, PostAttachmentsComponent, PostContentComponent, PostCreatePageComponent, PostMediaComponent, PostPdfAttachmentComponent, PostTextComponent, PostsService, SectionHeaderComponent, SignInPageComponent, SignInToAcceptPageComponent, TenantChatPageComponent, TileContentComponent, TileIconComponent, TileLabelComponent, TileValueComponent, TrackingPermissionService, UserService, WhitelabelDemoModalComponent, WhitelabelDemoModalService, WhitelabelService, customBackTransition, customPageTransition };
|
|
9408
|
-
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, ContactItem, ContactType, ContentWidth, CreateGroupMember, CreateGroupResult, DateOption, DropdownAlign, DropdownPosition, DsMobileDropdownItem, EditGroupMember, EditGroupResult, FacilityCreationModalOptions, FacilityDetailData, FacilityDetailDisplayData, FacilityDetailEditContext, FamilyInvite, FamilyMember, FamilyMemberStatus, GroupMemberRow, HandbookDetailData, HandbookItem, InlineTabItem, 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, TabConfig, TimeSlot, WhitelabelConfig };
|
|
9574
|
+
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, 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 };
|
|
9575
|
+
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 };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@propbinder/mobile-design",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.75",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^20.3.0 || ^21.0.0",
|
|
6
6
|
"@angular/core": "^20.3.0 || ^21.0.0"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
".": {
|
|
22
22
|
"types": "./index.d.ts",
|
|
23
|
-
"default": "./fesm2022/propbinder-mobile-design
|
|
23
|
+
"default": "./fesm2022/propbinder-mobile-design.mjs"
|
|
24
24
|
},
|
|
25
25
|
"./styles/*": {
|
|
26
26
|
"default": "./styles/*"
|
package/styles/ionic.css
CHANGED