@propbinder/mobile-design 0.2.91 → 0.2.97
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 +2258 -864
- package/fesm2022/propbinder-mobile-design.mjs.map +1 -1
- package/index.d.ts +267 -20
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnDestroy, OnInit, ElementRef, EventEmitter, TemplateRef, OnChanges, SimpleChanges, AfterViewInit, Injector, ChangeDetectorRef, ApplicationRef, EnvironmentInjector, Type, AfterContentInit } from '@angular/core';
|
|
2
|
+
import { OnDestroy, OnInit, ElementRef, EventEmitter, TemplateRef, OnChanges, SimpleChanges, AfterViewInit, Injector, ChangeDetectorRef, ApplicationRef, EnvironmentInjector, Type, AfterContentInit, InjectionToken, PipeTransform } from '@angular/core';
|
|
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';
|
|
@@ -861,6 +861,8 @@ declare class DsMobilePageMainComponent extends MobilePageBase implements AfterV
|
|
|
861
861
|
avatarInitials: _angular_core.InputSignal<string>;
|
|
862
862
|
avatarSrc: _angular_core.InputSignal<string>;
|
|
863
863
|
avatarIconName: _angular_core.InputSignal<string>;
|
|
864
|
+
showNotification: _angular_core.InputSignal<boolean>;
|
|
865
|
+
notificationCount: _angular_core.InputSignal<number>;
|
|
864
866
|
showRefresh: _angular_core.InputSignal<boolean>;
|
|
865
867
|
showCondensedHeader: _angular_core.InputSignal<boolean>;
|
|
866
868
|
scrollThreshold: _angular_core.InputSignal<number>;
|
|
@@ -897,7 +899,7 @@ declare class DsMobilePageMainComponent extends MobilePageBase implements AfterV
|
|
|
897
899
|
* {
|
|
898
900
|
* actions: [
|
|
899
901
|
* { action: 'profile', title: 'Min profil', icon: 'remixUser3Line' },
|
|
900
|
-
* { action: 'settings', title: '
|
|
902
|
+
* { action: 'settings', title: 'Notifikationer', icon: 'remixNotificationLine' }
|
|
901
903
|
* ]
|
|
902
904
|
* },
|
|
903
905
|
* {
|
|
@@ -909,6 +911,7 @@ declare class DsMobilePageMainComponent extends MobilePageBase implements AfterV
|
|
|
909
911
|
* ```
|
|
910
912
|
*/
|
|
911
913
|
profileMenuItems: _angular_core.InputSignal<ActionGroup[] | undefined>;
|
|
914
|
+
notificationClick: _angular_core.OutputEmitterRef<void>;
|
|
912
915
|
avatarClick: _angular_core.OutputEmitterRef<void>;
|
|
913
916
|
/**
|
|
914
917
|
* Emitted when a profile menu action is selected.
|
|
@@ -936,7 +939,7 @@ declare class DsMobilePageMainComponent extends MobilePageBase implements AfterV
|
|
|
936
939
|
*/
|
|
937
940
|
handleRefresh(event: any): Promise<void>;
|
|
938
941
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobilePageMainComponent, never>;
|
|
939
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobilePageMainComponent, "ds-mobile-page-main", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "headerTitle": { "alias": "headerTitle"; "required": false; "isSignal": true; }; "headerSubtitle": { "alias": "headerSubtitle"; "required": false; "isSignal": true; }; "firstEntry": { "alias": "firstEntry"; "required": false; "isSignal": true; }; "avatarType": { "alias": "avatarType"; "required": false; "isSignal": true; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "avatarIconName": { "alias": "avatarIconName"; "required": false; "isSignal": true; }; "showRefresh": { "alias": "showRefresh"; "required": false; "isSignal": true; }; "showCondensedHeader": { "alias": "showCondensedHeader"; "required": false; "isSignal": true; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; "isSignal": true; }; "headerFadeDistance": { "alias": "headerFadeDistance"; "required": false; "isSignal": true; }; "contentPadding": { "alias": "contentPadding"; "required": false; "isSignal": true; }; "profileMenuItems": { "alias": "profileMenuItems"; "required": false; "isSignal": true; }; }, { "avatarClick": "avatarClick"; "profileActionSelected": "profileActionSelected"; "refresh": "refresh"; "scroll": "scroll"; }, never, ["[header-content]", "[offline-indicator]", "*"], true, never>;
|
|
942
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobilePageMainComponent, "ds-mobile-page-main", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "headerTitle": { "alias": "headerTitle"; "required": false; "isSignal": true; }; "headerSubtitle": { "alias": "headerSubtitle"; "required": false; "isSignal": true; }; "firstEntry": { "alias": "firstEntry"; "required": false; "isSignal": true; }; "avatarType": { "alias": "avatarType"; "required": false; "isSignal": true; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "avatarIconName": { "alias": "avatarIconName"; "required": false; "isSignal": true; }; "showNotification": { "alias": "showNotification"; "required": false; "isSignal": true; }; "notificationCount": { "alias": "notificationCount"; "required": false; "isSignal": true; }; "showRefresh": { "alias": "showRefresh"; "required": false; "isSignal": true; }; "showCondensedHeader": { "alias": "showCondensedHeader"; "required": false; "isSignal": true; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; "isSignal": true; }; "headerFadeDistance": { "alias": "headerFadeDistance"; "required": false; "isSignal": true; }; "contentPadding": { "alias": "contentPadding"; "required": false; "isSignal": true; }; "profileMenuItems": { "alias": "profileMenuItems"; "required": false; "isSignal": true; }; }, { "notificationClick": "notificationClick"; "avatarClick": "avatarClick"; "profileActionSelected": "profileActionSelected"; "refresh": "refresh"; "scroll": "scroll"; }, never, ["[header-content]", "[offline-indicator]", "*"], true, never>;
|
|
940
943
|
}
|
|
941
944
|
|
|
942
945
|
interface InlineTabItem {
|
|
@@ -1038,7 +1041,7 @@ declare class WhitelabelService {
|
|
|
1038
1041
|
readonly logoUrl: _angular_core.Signal<string>;
|
|
1039
1042
|
readonly logoMarkUrl: _angular_core.Signal<string>;
|
|
1040
1043
|
readonly logoAlt: _angular_core.Signal<string>;
|
|
1041
|
-
readonly logoSize: _angular_core.Signal<"
|
|
1044
|
+
readonly logoSize: _angular_core.Signal<"md" | "sm" | "lg" | "xl">;
|
|
1042
1045
|
readonly logoHeight: _angular_core.Signal<number>;
|
|
1043
1046
|
readonly appIconSurface: _angular_core.Signal<string>;
|
|
1044
1047
|
readonly appIconContent: _angular_core.Signal<string>;
|
|
@@ -2803,7 +2806,7 @@ declare class DsMobileListItemComponent implements AfterViewInit {
|
|
|
2803
2806
|
* - 'center' - Align to center
|
|
2804
2807
|
* - 'bottom' - Align to bottom
|
|
2805
2808
|
*/
|
|
2806
|
-
align: _angular_core.InputSignal<"
|
|
2809
|
+
align: _angular_core.InputSignal<"top" | "center" | "bottom">;
|
|
2807
2810
|
/**
|
|
2808
2811
|
* Remove top padding — use on the first item in a section when there is
|
|
2809
2812
|
* no preceding content, to avoid unnecessary whitespace.
|
|
@@ -3091,7 +3094,7 @@ declare class DsMobileInteractiveListItemPostComponent {
|
|
|
3091
3094
|
* - 'center' - Align to center
|
|
3092
3095
|
* - 'bottom' - Align to bottom
|
|
3093
3096
|
*/
|
|
3094
|
-
align: _angular_core.InputSignal<"
|
|
3097
|
+
align: _angular_core.InputSignal<"top" | "center" | "bottom">;
|
|
3095
3098
|
/**
|
|
3096
3099
|
* Whether the post card is clickable
|
|
3097
3100
|
*/
|
|
@@ -3319,7 +3322,7 @@ declare class DsMobileInteractiveListItemInquiryComponent {
|
|
|
3319
3322
|
* - 'center' - Align to center
|
|
3320
3323
|
* - 'bottom' - Align to bottom
|
|
3321
3324
|
*/
|
|
3322
|
-
align: _angular_core.InputSignal<"
|
|
3325
|
+
align: _angular_core.InputSignal<"top" | "center" | "bottom">;
|
|
3323
3326
|
/**
|
|
3324
3327
|
* Whether the inquiry item is clickable
|
|
3325
3328
|
*/
|
|
@@ -4755,7 +4758,7 @@ declare class DsMobileInteractiveListItemMessageComponent {
|
|
|
4755
4758
|
* - 'center' - Align to center
|
|
4756
4759
|
* - 'bottom' - Align to bottom
|
|
4757
4760
|
*/
|
|
4758
|
-
align: _angular_core.InputSignal<"
|
|
4761
|
+
align: _angular_core.InputSignal<"top" | "center" | "bottom">;
|
|
4759
4762
|
/**
|
|
4760
4763
|
* Whitelabel logomark on the avatar corner (e.g. org branding for staff).
|
|
4761
4764
|
* Default true — preserves backward compatibility with inquiry assignee rows.
|
|
@@ -4817,7 +4820,7 @@ declare class DsMobileContactListItemComponent {
|
|
|
4817
4820
|
/** Show a trailing trash-bin icon; emits {@link deleteClick} on tap. */
|
|
4818
4821
|
showDeleteAction: _angular_core.InputSignal<boolean>;
|
|
4819
4822
|
variant: _angular_core.InputSignal<"compact" | undefined>;
|
|
4820
|
-
align: _angular_core.InputSignal<"
|
|
4823
|
+
align: _angular_core.InputSignal<"top" | "center" | "bottom">;
|
|
4821
4824
|
contactClick: _angular_core.OutputEmitterRef<void>;
|
|
4822
4825
|
selectionToggle: _angular_core.OutputEmitterRef<void>;
|
|
4823
4826
|
moreClick: _angular_core.OutputEmitterRef<void>;
|
|
@@ -4991,7 +4994,7 @@ declare class DsMobileGroupAvatarStackComponent {
|
|
|
4991
4994
|
/** Full member list; {@link currentUserId} is removed for display when set. */
|
|
4992
4995
|
members: _angular_core.InputSignal<ChatParticipant[]>;
|
|
4993
4996
|
customAvatarUrl: _angular_core.InputSignal<string>;
|
|
4994
|
-
size: _angular_core.InputSignal<"
|
|
4997
|
+
size: _angular_core.InputSignal<"md" | "sm" | "lg" | "xl">;
|
|
4995
4998
|
/** Row avatar (32×32, diagonal **xs** faces) vs header / hero stack. */
|
|
4996
4999
|
layout: _angular_core.InputSignal<"stack" | "list">;
|
|
4997
5000
|
/** When set, this participant is omitted from the stack (e.g. current user id). */
|
|
@@ -5304,7 +5307,7 @@ declare class DsMobileInteractiveListItemBookingComponent {
|
|
|
5304
5307
|
* - 'center' - Align to center
|
|
5305
5308
|
* - 'bottom' - Align to bottom
|
|
5306
5309
|
*/
|
|
5307
|
-
align: _angular_core.InputSignal<"
|
|
5310
|
+
align: _angular_core.InputSignal<"top" | "center" | "bottom">;
|
|
5308
5311
|
/**
|
|
5309
5312
|
* Whether the booking item is clickable
|
|
5310
5313
|
*/
|
|
@@ -5440,10 +5443,12 @@ declare class DsMobileTabBarComponent implements OnInit, AfterViewInit, OnDestro
|
|
|
5440
5443
|
* ```
|
|
5441
5444
|
*/
|
|
5442
5445
|
profileMenuItems?: ActionGroup[];
|
|
5446
|
+
notificationCount: number;
|
|
5443
5447
|
moreMenuItems: MoreMenuItem[];
|
|
5444
5448
|
moreMenuLabel: string;
|
|
5445
5449
|
moreMenuIcon: string;
|
|
5446
5450
|
moreMenuIconActive: string;
|
|
5451
|
+
notificationClick: EventEmitter<void>;
|
|
5447
5452
|
avatarClick: EventEmitter<void>;
|
|
5448
5453
|
/**
|
|
5449
5454
|
* Emitted when a profile menu action is selected.
|
|
@@ -5484,7 +5489,7 @@ declare class DsMobileTabBarComponent implements OnInit, AfterViewInit, OnDestro
|
|
|
5484
5489
|
*/
|
|
5485
5490
|
handleAvatarClick(): Promise<void>;
|
|
5486
5491
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileTabBarComponent, never>;
|
|
5487
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileTabBarComponent, "ds-mobile-tab-bar", never, { "tabs": { "alias": "tabs"; "required": false; }; "avatarType": { "alias": "avatarType"; "required": false; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; }; "avatarIconName": { "alias": "avatarIconName"; "required": false; }; "profileMenuItems": { "alias": "profileMenuItems"; "required": false; }; "moreMenuItems": { "alias": "moreMenuItems"; "required": false; }; "moreMenuLabel": { "alias": "moreMenuLabel"; "required": false; }; "moreMenuIcon": { "alias": "moreMenuIcon"; "required": false; }; "moreMenuIconActive": { "alias": "moreMenuIconActive"; "required": false; }; }, { "avatarClick": "avatarClick"; "profileActionSelected": "profileActionSelected"; "moreMenuItemSelected": "moreMenuItemSelected"; }, never, never, true, never>;
|
|
5492
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileTabBarComponent, "ds-mobile-tab-bar", never, { "tabs": { "alias": "tabs"; "required": false; }; "avatarType": { "alias": "avatarType"; "required": false; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; }; "avatarIconName": { "alias": "avatarIconName"; "required": false; }; "profileMenuItems": { "alias": "profileMenuItems"; "required": false; }; "notificationCount": { "alias": "notificationCount"; "required": false; }; "moreMenuItems": { "alias": "moreMenuItems"; "required": false; }; "moreMenuLabel": { "alias": "moreMenuLabel"; "required": false; }; "moreMenuIcon": { "alias": "moreMenuIcon"; "required": false; }; "moreMenuIconActive": { "alias": "moreMenuIconActive"; "required": false; }; }, { "notificationClick": "notificationClick"; "avatarClick": "avatarClick"; "profileActionSelected": "profileActionSelected"; "moreMenuItemSelected": "moreMenuItemSelected"; }, never, never, true, never>;
|
|
5488
5493
|
}
|
|
5489
5494
|
|
|
5490
5495
|
/**
|
|
@@ -6449,6 +6454,7 @@ declare class DsMobileModalBaseComponent extends MobileModalBase implements OnIn
|
|
|
6449
6454
|
* Check whether header-leading slot has actual projected content.
|
|
6450
6455
|
*/
|
|
6451
6456
|
hasHeaderLeadingContent(): boolean;
|
|
6457
|
+
hasHeaderTrailingContent(): boolean;
|
|
6452
6458
|
/**
|
|
6453
6459
|
* Check if a content child slot has actual content
|
|
6454
6460
|
*/
|
|
@@ -6824,7 +6830,7 @@ declare class DsMobileCardInlineComponent {
|
|
|
6824
6830
|
* - 'default' - Column layout with standard padding (gap: 12px, padding: 10px 12px)
|
|
6825
6831
|
* - 'compact' - Row layout with reduced padding (gap: 8px, padding: 10px)
|
|
6826
6832
|
*/
|
|
6827
|
-
variant: _angular_core.InputSignal<"
|
|
6833
|
+
variant: _angular_core.InputSignal<"compact" | "default">;
|
|
6828
6834
|
/**
|
|
6829
6835
|
* Whether the card is disabled
|
|
6830
6836
|
* Disables all interactions and reduces opacity
|
|
@@ -6887,7 +6893,7 @@ declare class DsMobileCardInlineBannerComponent {
|
|
|
6887
6893
|
* - 'default' - Standard padding and column layout
|
|
6888
6894
|
* - 'compact' - Reduced padding and row layout
|
|
6889
6895
|
*/
|
|
6890
|
-
layout: _angular_core.InputSignal<"
|
|
6896
|
+
layout: _angular_core.InputSignal<"compact" | "default">;
|
|
6891
6897
|
/**
|
|
6892
6898
|
* Emits when the banner is clicked
|
|
6893
6899
|
*/
|
|
@@ -6942,7 +6948,7 @@ declare class DsMobileCardInlineContactComponent {
|
|
|
6942
6948
|
* - 'default' - Standard padding and column layout
|
|
6943
6949
|
* - 'compact' - Reduced padding and row layout
|
|
6944
6950
|
*/
|
|
6945
|
-
layout: _angular_core.InputSignal<"
|
|
6951
|
+
layout: _angular_core.InputSignal<"compact" | "default">;
|
|
6946
6952
|
/**
|
|
6947
6953
|
* Whether the contact item is clickable
|
|
6948
6954
|
*/
|
|
@@ -7007,7 +7013,7 @@ declare class DsMobileCardInlineFileComponent {
|
|
|
7007
7013
|
* - 'default' - Standard padding and column layout
|
|
7008
7014
|
* - 'compact' - Reduced padding and row layout
|
|
7009
7015
|
*/
|
|
7010
|
-
layout: _angular_core.InputSignal<"
|
|
7016
|
+
layout: _angular_core.InputSignal<"compact" | "default">;
|
|
7011
7017
|
/**
|
|
7012
7018
|
* Optional URL to open when clicked
|
|
7013
7019
|
* If provided, clicking the card will open this URL in a new tab
|
|
@@ -8600,7 +8606,7 @@ declare class DsMobileFabComponent implements AfterViewInit, OnDestroy {
|
|
|
8600
8606
|
* Note: FAB is always 56px circular, but this affects the icon size
|
|
8601
8607
|
* @default 'md'
|
|
8602
8608
|
*/
|
|
8603
|
-
size: _angular_core.InputSignal<"
|
|
8609
|
+
size: _angular_core.InputSignal<"md" | "sm" | "lg">;
|
|
8604
8610
|
/**
|
|
8605
8611
|
* ARIA label for accessibility
|
|
8606
8612
|
* @required - Always provide a descriptive label
|
|
@@ -8881,6 +8887,140 @@ declare class DsMobilePropertyBannerComponent {
|
|
|
8881
8887
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobilePropertyBannerComponent, "ds-mobile-property-banner", never, { "address": { "alias": "address"; "required": true; "isSignal": true; }; "photoUrl": { "alias": "photoUrl"; "required": true; "isSignal": true; }; "tenantCount": { "alias": "tenantCount"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8882
8888
|
}
|
|
8883
8889
|
|
|
8890
|
+
declare class DsMobileNotificationPromptComponent {
|
|
8891
|
+
protected readonly whitelabel: WhitelabelService;
|
|
8892
|
+
protected readonly dismissing: _angular_core.WritableSignal<boolean>;
|
|
8893
|
+
heading: _angular_core.InputSignal<string>;
|
|
8894
|
+
subtitle: _angular_core.InputSignal<string>;
|
|
8895
|
+
allowLabel: _angular_core.InputSignal<string>;
|
|
8896
|
+
dismissLabel: _angular_core.InputSignal<string>;
|
|
8897
|
+
allow: _angular_core.OutputEmitterRef<void>;
|
|
8898
|
+
dismiss: _angular_core.OutputEmitterRef<void>;
|
|
8899
|
+
private static readonly EXIT_DURATION;
|
|
8900
|
+
handleAllow(): void;
|
|
8901
|
+
handleDismiss(): void;
|
|
8902
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileNotificationPromptComponent, never>;
|
|
8903
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileNotificationPromptComponent, "ds-mobile-notification-prompt", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "allowLabel": { "alias": "allowLabel"; "required": false; "isSignal": true; }; "dismissLabel": { "alias": "dismissLabel"; "required": false; "isSignal": true; }; }, { "allow": "allow"; "dismiss": "dismiss"; }, never, never, true, never>;
|
|
8904
|
+
}
|
|
8905
|
+
|
|
8906
|
+
declare class DsMobileNotificationButtonComponent {
|
|
8907
|
+
count: _angular_core.InputSignal<number>;
|
|
8908
|
+
clicked: _angular_core.OutputEmitterRef<void>;
|
|
8909
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileNotificationButtonComponent, never>;
|
|
8910
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileNotificationButtonComponent, "ds-mobile-notification-button", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
|
|
8911
|
+
}
|
|
8912
|
+
|
|
8913
|
+
type NotificationType = 'inquiry_update' | 'inquiry_assigned' | 'inquiry_resolved' | 'community_post' | 'community_comment' | 'community_like' | 'community_mention' | 'booking_confirmed' | 'booking_cancelled' | 'booking_reminder' | 'facility_available' | 'message_new' | 'message_group' | 'service_update' | 'handbook_update' | 'system_announcement' | 'system_welcome' | 'invite_received' | 'family_access';
|
|
8914
|
+
type NotificationLeading = 'icon' | 'avatar' | 'image' | 'logo';
|
|
8915
|
+
interface NotificationItem {
|
|
8916
|
+
id: string;
|
|
8917
|
+
type: NotificationType;
|
|
8918
|
+
title: string;
|
|
8919
|
+
message: string;
|
|
8920
|
+
createdAt: Date;
|
|
8921
|
+
read: boolean;
|
|
8922
|
+
leading: NotificationLeading;
|
|
8923
|
+
/** ID of the target entity (inquiry ID, post ID, conversation ID, facility ID, vendor ID) */
|
|
8924
|
+
targetId?: string;
|
|
8925
|
+
avatarInitials?: string;
|
|
8926
|
+
avatarSrc?: string;
|
|
8927
|
+
imageSrc?: string;
|
|
8928
|
+
iconName?: string;
|
|
8929
|
+
}
|
|
8930
|
+
declare const NOTIFICATION_ICON_MAP: Record<NotificationType, string>;
|
|
8931
|
+
|
|
8932
|
+
interface NotificationGroup {
|
|
8933
|
+
label: string;
|
|
8934
|
+
items: NotificationItem[];
|
|
8935
|
+
}
|
|
8936
|
+
declare class DsMobileNotificationModalComponent {
|
|
8937
|
+
private modalController;
|
|
8938
|
+
private notificationService;
|
|
8939
|
+
private bottomSheet;
|
|
8940
|
+
groups: _angular_core.Signal<NotificationGroup[]>;
|
|
8941
|
+
iconFor(type: string): string;
|
|
8942
|
+
private readonly TYPE_LABELS;
|
|
8943
|
+
labelFor(type: string): string;
|
|
8944
|
+
handleNotificationClick(item: NotificationItem): void;
|
|
8945
|
+
handleLongPress(item: NotificationItem): Promise<void>;
|
|
8946
|
+
openBulkActions(): Promise<void>;
|
|
8947
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileNotificationModalComponent, never>;
|
|
8948
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileNotificationModalComponent, "ds-mobile-notification-modal", never, {}, {}, never, never, true, never>;
|
|
8949
|
+
}
|
|
8950
|
+
|
|
8951
|
+
interface VendorModalOpener {
|
|
8952
|
+
open(props: {
|
|
8953
|
+
vendorName: string;
|
|
8954
|
+
vendorDescription?: string;
|
|
8955
|
+
vendorImage?: string;
|
|
8956
|
+
vendorLogo?: string;
|
|
8957
|
+
}): Promise<unknown>;
|
|
8958
|
+
}
|
|
8959
|
+
declare const VENDOR_MODAL_SERVICE: InjectionToken<VendorModalOpener>;
|
|
8960
|
+
declare class DsMobileNotificationModalService extends BaseModalService {
|
|
8961
|
+
private router;
|
|
8962
|
+
private notificationService;
|
|
8963
|
+
private postsService;
|
|
8964
|
+
private userService;
|
|
8965
|
+
private postModal;
|
|
8966
|
+
private peerMessaging;
|
|
8967
|
+
private peerChat;
|
|
8968
|
+
private bookingDetailSheet;
|
|
8969
|
+
private vendorModal;
|
|
8970
|
+
constructor(modalController: ModalController);
|
|
8971
|
+
/**
|
|
8972
|
+
* Open the notification modal. The modal reads notifications reactively
|
|
8973
|
+
* from NotificationService, so it updates live when items are marked
|
|
8974
|
+
* read or removed via long-press actions.
|
|
8975
|
+
*
|
|
8976
|
+
* Returns the tapped notification (if the user navigated to one), or null.
|
|
8977
|
+
*/
|
|
8978
|
+
open(): Promise<NotificationItem | null>;
|
|
8979
|
+
/**
|
|
8980
|
+
* Navigate to the screen associated with a notification item.
|
|
8981
|
+
* Public so downstream devs can call it from a Capacitor
|
|
8982
|
+
* `pushNotificationActionPerformed` listener for deep-link handling.
|
|
8983
|
+
*/
|
|
8984
|
+
routeTo(item: NotificationItem): Promise<void>;
|
|
8985
|
+
private openChat;
|
|
8986
|
+
private openVendorModal;
|
|
8987
|
+
private openBookingDetail;
|
|
8988
|
+
private openPostModal;
|
|
8989
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileNotificationModalService, never>;
|
|
8990
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DsMobileNotificationModalService>;
|
|
8991
|
+
}
|
|
8992
|
+
|
|
8993
|
+
declare const SAMPLE_NOTIFICATIONS: NotificationItem[];
|
|
8994
|
+
|
|
8995
|
+
declare class RelativeTimePipe implements PipeTransform {
|
|
8996
|
+
transform(date: Date | null | undefined): string;
|
|
8997
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RelativeTimePipe, never>;
|
|
8998
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<RelativeTimePipe, "relativeTime", true>;
|
|
8999
|
+
}
|
|
9000
|
+
/**
|
|
9001
|
+
* Bucket a date into 'today' | 'yesterday' | 'earlier' for grouping notifications.
|
|
9002
|
+
*/
|
|
9003
|
+
declare function dateBucket(date: Date): 'today' | 'yesterday' | 'earlier';
|
|
9004
|
+
|
|
9005
|
+
declare class DsMobileCountBadgeComponent {
|
|
9006
|
+
count: _angular_core.InputSignal<number>;
|
|
9007
|
+
variant: _angular_core.InputSignal<"accent" | "muted" | "notification">;
|
|
9008
|
+
display: _angular_core.Signal<string>;
|
|
9009
|
+
label: _angular_core.Signal<string>;
|
|
9010
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileCountBadgeComponent, never>;
|
|
9011
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileCountBadgeComponent, "ds-mobile-count-badge", never, { "count": { "alias": "count"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
9012
|
+
}
|
|
9013
|
+
|
|
9014
|
+
declare class DsMobileToggleComponent {
|
|
9015
|
+
checked: _angular_core.ModelSignal<boolean>;
|
|
9016
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
9017
|
+
changed: _angular_core.OutputEmitterRef<boolean>;
|
|
9018
|
+
handleClick(event: Event): void;
|
|
9019
|
+
toggle(): void;
|
|
9020
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileToggleComponent, never>;
|
|
9021
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileToggleComponent, "ds-mobile-toggle", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "changed": "changed"; }, never, never, true, never>;
|
|
9022
|
+
}
|
|
9023
|
+
|
|
8884
9024
|
/**
|
|
8885
9025
|
* Post and Comment Models
|
|
8886
9026
|
* Unified data structures for community posts
|
|
@@ -8981,6 +9121,38 @@ declare class PostsService {
|
|
|
8981
9121
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PostsService>;
|
|
8982
9122
|
}
|
|
8983
9123
|
|
|
9124
|
+
type NotificationCategory = 'messages' | 'bookings' | 'community' | 'inquiries' | 'services' | 'handbook' | 'system';
|
|
9125
|
+
declare class NotificationService {
|
|
9126
|
+
readonly notifications: _angular_core.WritableSignal<NotificationItem[]>;
|
|
9127
|
+
readonly unreadCount: _angular_core.Signal<number>;
|
|
9128
|
+
/**
|
|
9129
|
+
* Push notification delivery preferences per category.
|
|
9130
|
+
* Controls which types of push notifications the device receives —
|
|
9131
|
+
* does NOT filter the in-app notification list.
|
|
9132
|
+
*/
|
|
9133
|
+
readonly disabledPushCategories: _angular_core.WritableSignal<Set<NotificationCategory>>;
|
|
9134
|
+
isPushEnabled(category: NotificationCategory): boolean;
|
|
9135
|
+
setPushEnabled(category: NotificationCategory, enabled: boolean): void;
|
|
9136
|
+
/**
|
|
9137
|
+
* Add a new notification to the top of the list.
|
|
9138
|
+
* Intended for downstream push integration — call this when a
|
|
9139
|
+
* real push payload arrives via Capacitor's `pushNotificationReceived` listener.
|
|
9140
|
+
*/
|
|
9141
|
+
addNotification(item: NotificationItem): void;
|
|
9142
|
+
markAsRead(id: string): void;
|
|
9143
|
+
markAllAsRead(): void;
|
|
9144
|
+
/**
|
|
9145
|
+
* Remove a single notification from the list permanently.
|
|
9146
|
+
*/
|
|
9147
|
+
removeNotification(id: string): void;
|
|
9148
|
+
/**
|
|
9149
|
+
* Remove all notifications from the list permanently.
|
|
9150
|
+
*/
|
|
9151
|
+
clearAll(): void;
|
|
9152
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
9153
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NotificationService>;
|
|
9154
|
+
}
|
|
9155
|
+
|
|
8984
9156
|
declare class MobileCommunityPageComponent {
|
|
8985
9157
|
private router;
|
|
8986
9158
|
private route;
|
|
@@ -8991,6 +9163,8 @@ declare class MobileCommunityPageComponent {
|
|
|
8991
9163
|
private postsService;
|
|
8992
9164
|
pageComponent: DsMobilePageMainComponent;
|
|
8993
9165
|
pinnedSwiper?: DsMobileSwiperComponent;
|
|
9166
|
+
private notificationModal;
|
|
9167
|
+
readonly notificationService: NotificationService;
|
|
8994
9168
|
allPosts: _angular_core.Signal<Post[]>;
|
|
8995
9169
|
pinnedPosts: _angular_core.Signal<Post[]>;
|
|
8996
9170
|
hasAnyPosts: _angular_core.Signal<boolean>;
|
|
@@ -9001,6 +9175,7 @@ declare class MobileCommunityPageComponent {
|
|
|
9001
9175
|
* Loads more posts when user scrolls to bottom
|
|
9002
9176
|
*/
|
|
9003
9177
|
onInfiniteScroll(event: any): Promise<void>;
|
|
9178
|
+
handleNotificationClick(): Promise<void>;
|
|
9004
9179
|
handleRefresh(event: any): void;
|
|
9005
9180
|
/**
|
|
9006
9181
|
* Open post detail modal
|
|
@@ -9041,11 +9216,14 @@ declare class MobileCommunityPageComponent {
|
|
|
9041
9216
|
declare class MobileHandbookPageComponent {
|
|
9042
9217
|
userService: UserService;
|
|
9043
9218
|
pageComponent: DsMobilePageMainComponent;
|
|
9219
|
+
private notificationModal;
|
|
9220
|
+
readonly notificationService: NotificationService;
|
|
9044
9221
|
utilitiesItems: HandbookItem[];
|
|
9045
9222
|
sikkerhedsudstyrItems: HandbookItem[];
|
|
9046
9223
|
serviceContractsItems: HandbookItem[];
|
|
9047
9224
|
equipmentItems: HandbookItem[];
|
|
9048
9225
|
constructor(userService: UserService);
|
|
9226
|
+
handleNotificationClick(): Promise<void>;
|
|
9049
9227
|
handleRefresh(event: any): void;
|
|
9050
9228
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MobileHandbookPageComponent, never>;
|
|
9051
9229
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileHandbookPageComponent, "app-mobile-handbook-page", never, {}, {}, never, never, true, never>;
|
|
@@ -9194,9 +9372,12 @@ declare class MobileHomePageComponent implements OnInit {
|
|
|
9194
9372
|
private modalCtrl;
|
|
9195
9373
|
private vendorModal;
|
|
9196
9374
|
private newInquiryModal;
|
|
9375
|
+
private notificationModal;
|
|
9376
|
+
readonly notificationService: NotificationService;
|
|
9197
9377
|
constructor(router: Router, navCtrl: NavController, userService: UserService, postsService: PostsService, postModal: DsMobilePostDetailModalService, trackingPermissionService: TrackingPermissionService, bottomSheet: DsMobileBottomSheetService, familyAccessService: FamilyAccessService, peerMessaging: PeerMessagingService, peerChat: PeerChatLauncherService, lightboxService: DsMobileLightboxService);
|
|
9198
9378
|
ngOnInit(): void;
|
|
9199
9379
|
private simulateLoad;
|
|
9380
|
+
handleNotificationClick(): Promise<void>;
|
|
9200
9381
|
handleRefresh(event: any): void;
|
|
9201
9382
|
openPost(postId: string, focusComment?: boolean): Promise<void>;
|
|
9202
9383
|
openInquiryDetail(inquiryId: string): void;
|
|
@@ -9239,6 +9420,8 @@ declare class MobileInquiriesPageComponent {
|
|
|
9239
9420
|
private newInquiryModal;
|
|
9240
9421
|
pageComponent: DsMobilePageMainComponent;
|
|
9241
9422
|
private inquiriesService;
|
|
9423
|
+
private notificationModal;
|
|
9424
|
+
readonly notificationService: NotificationService;
|
|
9242
9425
|
constructor(userService: UserService, navCtrl: NavController, newInquiryModal: DsMobileNewInquiryModalService);
|
|
9243
9426
|
filterStatus: _angular_core.WritableSignal<"open" | "closed" | "all">;
|
|
9244
9427
|
tabItems: InlineTabItem[];
|
|
@@ -9247,6 +9430,7 @@ declare class MobileInquiriesPageComponent {
|
|
|
9247
9430
|
getInquiryIcon(category: string): string;
|
|
9248
9431
|
openInquiryDetail(inquiryId: string): void;
|
|
9249
9432
|
showInquiryActions(inquiryId: string): void;
|
|
9433
|
+
handleNotificationClick(): Promise<void>;
|
|
9250
9434
|
handleRefresh(event: any): void;
|
|
9251
9435
|
createNewInquiry(): Promise<void>;
|
|
9252
9436
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MobileInquiriesPageComponent, never>;
|
|
@@ -9314,10 +9498,14 @@ declare class MobileTabsExampleComponent implements OnInit {
|
|
|
9314
9498
|
private navCtrl;
|
|
9315
9499
|
private whitelabelDemoModal;
|
|
9316
9500
|
private trackingPermissionService;
|
|
9501
|
+
private notificationModal;
|
|
9502
|
+
readonly notificationService: NotificationService;
|
|
9503
|
+
private notificationPrompt;
|
|
9317
9504
|
readonly pageLoading: PageLoadingService;
|
|
9505
|
+
readonly showNotificationPrompt: _angular_core.WritableSignal<boolean>;
|
|
9318
9506
|
private trackedProfileMenuItems;
|
|
9319
9507
|
constructor(userService: UserService, router: Router, navCtrl: NavController);
|
|
9320
|
-
ngOnInit(): void
|
|
9508
|
+
ngOnInit(): Promise<void>;
|
|
9321
9509
|
tabs: TabConfig[];
|
|
9322
9510
|
moreMenuItems: MoreMenuItem[];
|
|
9323
9511
|
/**
|
|
@@ -9337,6 +9525,9 @@ declare class MobileTabsExampleComponent implements OnInit {
|
|
|
9337
9525
|
*/
|
|
9338
9526
|
handleProfileAction(result: ActionResult): void;
|
|
9339
9527
|
handleMoreMenuAction(item: MoreMenuItem): void;
|
|
9528
|
+
handleNotificationAllow(): Promise<void>;
|
|
9529
|
+
handleNotificationDismiss(): void;
|
|
9530
|
+
handleNotificationClick(): Promise<void>;
|
|
9340
9531
|
/** Called by the error overlay retry button — clears error and re-navigates to home */
|
|
9341
9532
|
handleRetry(): void;
|
|
9342
9533
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MobileTabsExampleComponent, never>;
|
|
@@ -9403,6 +9594,8 @@ declare class MobileBookingPageComponent {
|
|
|
9403
9594
|
userService: UserService;
|
|
9404
9595
|
pageComponent: DsMobilePageMainComponent;
|
|
9405
9596
|
bookingsSwiper?: DsMobileSwiperComponent;
|
|
9597
|
+
private notificationModal;
|
|
9598
|
+
readonly notificationService: NotificationService;
|
|
9406
9599
|
cancellingBookingId: _angular_core.WritableSignal<string | null>;
|
|
9407
9600
|
private lang;
|
|
9408
9601
|
historyLinkText: _angular_core.Signal<string>;
|
|
@@ -9411,6 +9604,7 @@ declare class MobileBookingPageComponent {
|
|
|
9411
9604
|
activeBookings: _angular_core.WritableSignal<FacilityDetail[]>;
|
|
9412
9605
|
availableFacilities: _angular_core.WritableSignal<FacilityDetail[]>;
|
|
9413
9606
|
visibleFacilities: _angular_core.Signal<FacilityDetail[]>;
|
|
9607
|
+
handleNotificationClick(): Promise<void>;
|
|
9414
9608
|
handleRefresh(event: any): void;
|
|
9415
9609
|
/**
|
|
9416
9610
|
* Navigate to previous slide
|
|
@@ -9697,9 +9891,12 @@ declare class WhitelabelDemoModalService {
|
|
|
9697
9891
|
declare class TenantChatPageComponent {
|
|
9698
9892
|
private modalCtrl;
|
|
9699
9893
|
readonly userService: UserService;
|
|
9894
|
+
private notificationModal;
|
|
9895
|
+
readonly notificationService: NotificationService;
|
|
9700
9896
|
peerMessaging: PeerMessagingService;
|
|
9701
9897
|
peerChat: PeerChatLauncherService;
|
|
9702
9898
|
readonly isPeerGroupConversation: typeof isPeerGroupConversation;
|
|
9899
|
+
handleNotificationClick(): Promise<void>;
|
|
9703
9900
|
handleRefresh(event: {
|
|
9704
9901
|
target: {
|
|
9705
9902
|
complete: () => void;
|
|
@@ -9722,6 +9919,8 @@ declare function stripHtml(html: string): string;
|
|
|
9722
9919
|
declare class ServicesPageComponent {
|
|
9723
9920
|
pageComponent: DsMobilePageMainComponent;
|
|
9724
9921
|
private vendorModal;
|
|
9922
|
+
private notificationModal;
|
|
9923
|
+
readonly notificationService: NotificationService;
|
|
9725
9924
|
private newInquiryModal;
|
|
9726
9925
|
private inquiriesService;
|
|
9727
9926
|
private navCtrl;
|
|
@@ -9731,6 +9930,7 @@ declare class ServicesPageComponent {
|
|
|
9731
9930
|
stripHtml: typeof stripHtml;
|
|
9732
9931
|
openVendorSheet(vendor: ServiceVendor): Promise<void>;
|
|
9733
9932
|
private openInquiryForVendor;
|
|
9933
|
+
handleNotificationClick(): Promise<void>;
|
|
9734
9934
|
handleRefresh(event: CustomEvent): void;
|
|
9735
9935
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ServicesPageComponent, never>;
|
|
9736
9936
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ServicesPageComponent, "app-services-page", never, {}, {}, never, never, true, never>;
|
|
@@ -9816,5 +10016,52 @@ declare class MediaPickerService {
|
|
|
9816
10016
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<MediaPickerService>;
|
|
9817
10017
|
}
|
|
9818
10018
|
|
|
9819
|
-
|
|
9820
|
-
|
|
10019
|
+
/**
|
|
10020
|
+
* Manages the notification permission prompt lifecycle.
|
|
10021
|
+
*
|
|
10022
|
+
* - Stores the user's "Not now" dismissal timestamp in localStorage
|
|
10023
|
+
* - Re-shows the prompt after a 24-hour cooldown
|
|
10024
|
+
* - Skips the prompt entirely if native permissions are already granted
|
|
10025
|
+
*
|
|
10026
|
+
* Downstream integration: call `checkPermissions()` before checking
|
|
10027
|
+
* `shouldShowPrompt()` to incorporate native permission status.
|
|
10028
|
+
*/
|
|
10029
|
+
declare class NotificationPromptService {
|
|
10030
|
+
private permissionGranted;
|
|
10031
|
+
/**
|
|
10032
|
+
* Record that the user dismissed the prompt. Stores the current
|
|
10033
|
+
* timestamp so the prompt can be suppressed for 24 hours.
|
|
10034
|
+
*/
|
|
10035
|
+
dismiss(): void;
|
|
10036
|
+
/**
|
|
10037
|
+
* Whether the prompt should be displayed right now.
|
|
10038
|
+
* Returns false if:
|
|
10039
|
+
* - Native permission is already granted
|
|
10040
|
+
* - The user dismissed less than 24 hours ago
|
|
10041
|
+
*/
|
|
10042
|
+
shouldShowPrompt(): boolean;
|
|
10043
|
+
/**
|
|
10044
|
+
* Call this on app launch to check native notification permission status.
|
|
10045
|
+
* If already granted, the prompt will never be shown.
|
|
10046
|
+
*/
|
|
10047
|
+
checkPermissions(): Promise<void>;
|
|
10048
|
+
/**
|
|
10049
|
+
* Mark that the user has granted permission (called after a successful
|
|
10050
|
+
* allow flow so the prompt is permanently hidden for this session).
|
|
10051
|
+
*/
|
|
10052
|
+
markGranted(): void;
|
|
10053
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationPromptService, never>;
|
|
10054
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NotificationPromptService>;
|
|
10055
|
+
}
|
|
10056
|
+
|
|
10057
|
+
declare class SettingsModalService {
|
|
10058
|
+
private modalController;
|
|
10059
|
+
constructor(modalController: ModalController);
|
|
10060
|
+
open(): Promise<void>;
|
|
10061
|
+
close(data?: any): Promise<boolean>;
|
|
10062
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SettingsModalService, never>;
|
|
10063
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SettingsModalService>;
|
|
10064
|
+
}
|
|
10065
|
+
|
|
10066
|
+
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, DsMobileCountBadgeComponent, 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, DsMobileNotificationButtonComponent, DsMobileNotificationModalComponent, DsMobileNotificationModalService, DsMobileNotificationPromptComponent, 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, DsMobileToggleComponent, DsMobileWhenCanBookSheetComponent, DsMobileWhoCanBookSheetComponent, DsTextInputComponent, FamilyAccessPageComponent, FamilyAccessService, InquiriesService, InviteSuccessPageComponent, MediaPickerService, MobileBookingPageComponent, MobileCommunityPageComponent, MobileHandbookPageComponent, MobileHomePageComponent, MobileInquiriesPageComponent, MobileInquiryDetailPageComponent, MobileModalBase, MobilePageBase, MobilePostDetailPageComponent, MobileTabsExampleComponent, NOTIFICATION_ICON_MAP, NotificationPromptService, NotificationService, PageLoadingService, PostActionsComponent, PostAttachmentsComponent, PostContentComponent, PostCreatePageComponent, PostMediaComponent, PostPdfAttachmentComponent, PostTextComponent, PostsService, RelativeTimePipe, SAMPLE_NOTIFICATIONS, SectionHeaderComponent, ServicesPageComponent, SettingsModalService, SignInPageComponent, SignInToAcceptPageComponent, TenantChatPageComponent, TileContentComponent, TileIconComponent, TileLabelComponent, TileValueComponent, TrackingPermissionService, UserService, VENDOR_MODAL_SERVICE, WhitelabelDemoModalComponent, WhitelabelDemoModalService, WhitelabelService, customBackTransition, customPageTransition, dateBucket };
|
|
10067
|
+
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, NotificationCategory, NotificationItem, NotificationLeading, NotificationType, Post, ActionResult as PostActionResult, PostDetailData, PromptBottomSheetResult, PromptGroupPreviewMember, ServicePageLabels, ServiceVendor, TabConfig, TimeSlot, VendorModalOpener, WhitelabelConfig };
|