@propbinder/mobile-design 0.2.91 → 0.2.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -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';
@@ -737,7 +737,7 @@ declare class DsMobileProfileActionsSheetComponent implements OnInit, OnChanges
737
737
  /**
738
738
  * Current view state
739
739
  */
740
- currentView: _angular_core.WritableSignal<"main" | "language">;
740
+ currentView: _angular_core.WritableSignal<"language" | "main">;
741
741
  /**
742
742
  * Reference to the view container for height calculations
743
743
  */
@@ -861,6 +861,7 @@ 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
+ notificationCount: _angular_core.InputSignal<number>;
864
865
  showRefresh: _angular_core.InputSignal<boolean>;
865
866
  showCondensedHeader: _angular_core.InputSignal<boolean>;
866
867
  scrollThreshold: _angular_core.InputSignal<number>;
@@ -909,6 +910,7 @@ declare class DsMobilePageMainComponent extends MobilePageBase implements AfterV
909
910
  * ```
910
911
  */
911
912
  profileMenuItems: _angular_core.InputSignal<ActionGroup[] | undefined>;
913
+ notificationClick: _angular_core.OutputEmitterRef<void>;
912
914
  avatarClick: _angular_core.OutputEmitterRef<void>;
913
915
  /**
914
916
  * Emitted when a profile menu action is selected.
@@ -936,7 +938,7 @@ declare class DsMobilePageMainComponent extends MobilePageBase implements AfterV
936
938
  */
937
939
  handleRefresh(event: any): Promise<void>;
938
940
  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>;
941
+ 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; }; "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
942
  }
941
943
 
942
944
  interface InlineTabItem {
@@ -1038,7 +1040,7 @@ declare class WhitelabelService {
1038
1040
  readonly logoUrl: _angular_core.Signal<string>;
1039
1041
  readonly logoMarkUrl: _angular_core.Signal<string>;
1040
1042
  readonly logoAlt: _angular_core.Signal<string>;
1041
- readonly logoSize: _angular_core.Signal<"sm" | "md" | "lg" | "xl">;
1043
+ readonly logoSize: _angular_core.Signal<"md" | "sm" | "lg" | "xl">;
1042
1044
  readonly logoHeight: _angular_core.Signal<number>;
1043
1045
  readonly appIconSurface: _angular_core.Signal<string>;
1044
1046
  readonly appIconContent: _angular_core.Signal<string>;
@@ -2803,7 +2805,7 @@ declare class DsMobileListItemComponent implements AfterViewInit {
2803
2805
  * - 'center' - Align to center
2804
2806
  * - 'bottom' - Align to bottom
2805
2807
  */
2806
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
2808
+ align: _angular_core.InputSignal<"top" | "bottom" | "center">;
2807
2809
  /**
2808
2810
  * Remove top padding — use on the first item in a section when there is
2809
2811
  * no preceding content, to avoid unnecessary whitespace.
@@ -3091,7 +3093,7 @@ declare class DsMobileInteractiveListItemPostComponent {
3091
3093
  * - 'center' - Align to center
3092
3094
  * - 'bottom' - Align to bottom
3093
3095
  */
3094
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
3096
+ align: _angular_core.InputSignal<"top" | "bottom" | "center">;
3095
3097
  /**
3096
3098
  * Whether the post card is clickable
3097
3099
  */
@@ -3319,7 +3321,7 @@ declare class DsMobileInteractiveListItemInquiryComponent {
3319
3321
  * - 'center' - Align to center
3320
3322
  * - 'bottom' - Align to bottom
3321
3323
  */
3322
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
3324
+ align: _angular_core.InputSignal<"top" | "bottom" | "center">;
3323
3325
  /**
3324
3326
  * Whether the inquiry item is clickable
3325
3327
  */
@@ -4755,7 +4757,7 @@ declare class DsMobileInteractiveListItemMessageComponent {
4755
4757
  * - 'center' - Align to center
4756
4758
  * - 'bottom' - Align to bottom
4757
4759
  */
4758
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
4760
+ align: _angular_core.InputSignal<"top" | "bottom" | "center">;
4759
4761
  /**
4760
4762
  * Whitelabel logomark on the avatar corner (e.g. org branding for staff).
4761
4763
  * Default true — preserves backward compatibility with inquiry assignee rows.
@@ -4817,7 +4819,7 @@ declare class DsMobileContactListItemComponent {
4817
4819
  /** Show a trailing trash-bin icon; emits {@link deleteClick} on tap. */
4818
4820
  showDeleteAction: _angular_core.InputSignal<boolean>;
4819
4821
  variant: _angular_core.InputSignal<"compact" | undefined>;
4820
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
4822
+ align: _angular_core.InputSignal<"top" | "bottom" | "center">;
4821
4823
  contactClick: _angular_core.OutputEmitterRef<void>;
4822
4824
  selectionToggle: _angular_core.OutputEmitterRef<void>;
4823
4825
  moreClick: _angular_core.OutputEmitterRef<void>;
@@ -4991,7 +4993,7 @@ declare class DsMobileGroupAvatarStackComponent {
4991
4993
  /** Full member list; {@link currentUserId} is removed for display when set. */
4992
4994
  members: _angular_core.InputSignal<ChatParticipant[]>;
4993
4995
  customAvatarUrl: _angular_core.InputSignal<string>;
4994
- size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xl">;
4996
+ size: _angular_core.InputSignal<"md" | "sm" | "lg" | "xl">;
4995
4997
  /** Row avatar (32×32, diagonal **xs** faces) vs header / hero stack. */
4996
4998
  layout: _angular_core.InputSignal<"stack" | "list">;
4997
4999
  /** When set, this participant is omitted from the stack (e.g. current user id). */
@@ -5304,7 +5306,7 @@ declare class DsMobileInteractiveListItemBookingComponent {
5304
5306
  * - 'center' - Align to center
5305
5307
  * - 'bottom' - Align to bottom
5306
5308
  */
5307
- align: _angular_core.InputSignal<"center" | "top" | "bottom">;
5309
+ align: _angular_core.InputSignal<"top" | "bottom" | "center">;
5308
5310
  /**
5309
5311
  * Whether the booking item is clickable
5310
5312
  */
@@ -5440,10 +5442,12 @@ declare class DsMobileTabBarComponent implements OnInit, AfterViewInit, OnDestro
5440
5442
  * ```
5441
5443
  */
5442
5444
  profileMenuItems?: ActionGroup[];
5445
+ notificationCount: number;
5443
5446
  moreMenuItems: MoreMenuItem[];
5444
5447
  moreMenuLabel: string;
5445
5448
  moreMenuIcon: string;
5446
5449
  moreMenuIconActive: string;
5450
+ notificationClick: EventEmitter<void>;
5447
5451
  avatarClick: EventEmitter<void>;
5448
5452
  /**
5449
5453
  * Emitted when a profile menu action is selected.
@@ -5484,7 +5488,7 @@ declare class DsMobileTabBarComponent implements OnInit, AfterViewInit, OnDestro
5484
5488
  */
5485
5489
  handleAvatarClick(): Promise<void>;
5486
5490
  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>;
5491
+ 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
5492
  }
5489
5493
 
5490
5494
  /**
@@ -6449,6 +6453,7 @@ declare class DsMobileModalBaseComponent extends MobileModalBase implements OnIn
6449
6453
  * Check whether header-leading slot has actual projected content.
6450
6454
  */
6451
6455
  hasHeaderLeadingContent(): boolean;
6456
+ hasHeaderTrailingContent(): boolean;
6452
6457
  /**
6453
6458
  * Check if a content child slot has actual content
6454
6459
  */
@@ -8600,7 +8605,7 @@ declare class DsMobileFabComponent implements AfterViewInit, OnDestroy {
8600
8605
  * Note: FAB is always 56px circular, but this affects the icon size
8601
8606
  * @default 'md'
8602
8607
  */
8603
- size: _angular_core.InputSignal<"sm" | "md" | "lg">;
8608
+ size: _angular_core.InputSignal<"md" | "sm" | "lg">;
8604
8609
  /**
8605
8610
  * ARIA label for accessibility
8606
8611
  * @required - Always provide a descriptive label
@@ -8881,6 +8886,130 @@ declare class DsMobilePropertyBannerComponent {
8881
8886
  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
8887
  }
8883
8888
 
8889
+ declare class DsMobileNotificationPromptComponent {
8890
+ protected readonly whitelabel: WhitelabelService;
8891
+ protected readonly dismissing: _angular_core.WritableSignal<boolean>;
8892
+ heading: _angular_core.InputSignal<string>;
8893
+ subtitle: _angular_core.InputSignal<string>;
8894
+ allowLabel: _angular_core.InputSignal<string>;
8895
+ dismissLabel: _angular_core.InputSignal<string>;
8896
+ allow: _angular_core.OutputEmitterRef<void>;
8897
+ dismiss: _angular_core.OutputEmitterRef<void>;
8898
+ private static readonly EXIT_DURATION;
8899
+ handleAllow(): void;
8900
+ handleDismiss(): void;
8901
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileNotificationPromptComponent, never>;
8902
+ 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>;
8903
+ }
8904
+
8905
+ declare class DsMobileNotificationButtonComponent {
8906
+ count: _angular_core.InputSignal<number>;
8907
+ clicked: _angular_core.OutputEmitterRef<void>;
8908
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileNotificationButtonComponent, never>;
8909
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileNotificationButtonComponent, "ds-mobile-notification-button", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
8910
+ }
8911
+
8912
+ 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';
8913
+ type NotificationLeading = 'icon' | 'avatar' | 'image' | 'logo';
8914
+ interface NotificationItem {
8915
+ id: string;
8916
+ type: NotificationType;
8917
+ title: string;
8918
+ message: string;
8919
+ createdAt: Date;
8920
+ read: boolean;
8921
+ leading: NotificationLeading;
8922
+ /** ID of the target entity (inquiry ID, post ID, conversation ID, facility ID, vendor ID) */
8923
+ targetId?: string;
8924
+ avatarInitials?: string;
8925
+ avatarSrc?: string;
8926
+ imageSrc?: string;
8927
+ iconName?: string;
8928
+ }
8929
+ declare const NOTIFICATION_ICON_MAP: Record<NotificationType, string>;
8930
+
8931
+ interface NotificationGroup {
8932
+ label: string;
8933
+ items: NotificationItem[];
8934
+ }
8935
+ declare class DsMobileNotificationModalComponent {
8936
+ private modalController;
8937
+ private notificationService;
8938
+ private bottomSheet;
8939
+ groups: _angular_core.Signal<NotificationGroup[]>;
8940
+ iconFor(type: string): string;
8941
+ private readonly TYPE_LABELS;
8942
+ labelFor(type: string): string;
8943
+ handleNotificationClick(item: NotificationItem): void;
8944
+ handleLongPress(item: NotificationItem): Promise<void>;
8945
+ openBulkActions(): Promise<void>;
8946
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileNotificationModalComponent, never>;
8947
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsMobileNotificationModalComponent, "ds-mobile-notification-modal", never, {}, {}, never, never, true, never>;
8948
+ }
8949
+
8950
+ interface VendorModalOpener {
8951
+ open(props: {
8952
+ vendorName: string;
8953
+ vendorDescription?: string;
8954
+ vendorImage?: string;
8955
+ vendorLogo?: string;
8956
+ }): Promise<unknown>;
8957
+ }
8958
+ declare const VENDOR_MODAL_SERVICE: InjectionToken<VendorModalOpener>;
8959
+ declare class DsMobileNotificationModalService extends BaseModalService {
8960
+ private router;
8961
+ private notificationService;
8962
+ private postsService;
8963
+ private userService;
8964
+ private postModal;
8965
+ private peerMessaging;
8966
+ private peerChat;
8967
+ private bookingDetailSheet;
8968
+ private vendorModal;
8969
+ constructor(modalController: ModalController);
8970
+ /**
8971
+ * Open the notification modal. The modal reads notifications reactively
8972
+ * from NotificationService, so it updates live when items are marked
8973
+ * read or removed via long-press actions.
8974
+ *
8975
+ * Returns the tapped notification (if the user navigated to one), or null.
8976
+ */
8977
+ open(): Promise<NotificationItem | null>;
8978
+ /**
8979
+ * Navigate to the screen associated with a notification item.
8980
+ * Public so downstream devs can call it from a Capacitor
8981
+ * `pushNotificationActionPerformed` listener for deep-link handling.
8982
+ */
8983
+ routeTo(item: NotificationItem): Promise<void>;
8984
+ private openChat;
8985
+ private openVendorModal;
8986
+ private openBookingDetail;
8987
+ private openPostModal;
8988
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileNotificationModalService, never>;
8989
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DsMobileNotificationModalService>;
8990
+ }
8991
+
8992
+ declare const SAMPLE_NOTIFICATIONS: NotificationItem[];
8993
+
8994
+ declare class RelativeTimePipe implements PipeTransform {
8995
+ transform(date: Date | null | undefined): string;
8996
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RelativeTimePipe, never>;
8997
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<RelativeTimePipe, "relativeTime", true>;
8998
+ }
8999
+ /**
9000
+ * Bucket a date into 'today' | 'yesterday' | 'earlier' for grouping notifications.
9001
+ */
9002
+ declare function dateBucket(date: Date): 'today' | 'yesterday' | 'earlier';
9003
+
9004
+ declare class DsMobileCountBadgeComponent {
9005
+ count: _angular_core.InputSignal<number>;
9006
+ variant: _angular_core.InputSignal<"accent" | "muted" | "notification">;
9007
+ display: _angular_core.Signal<string>;
9008
+ label: _angular_core.Signal<string>;
9009
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsMobileCountBadgeComponent, never>;
9010
+ 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>;
9011
+ }
9012
+
8884
9013
  /**
8885
9014
  * Post and Comment Models
8886
9015
  * Unified data structures for community posts
@@ -8981,6 +9110,29 @@ declare class PostsService {
8981
9110
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PostsService>;
8982
9111
  }
8983
9112
 
9113
+ declare class NotificationService {
9114
+ readonly notifications: _angular_core.WritableSignal<NotificationItem[]>;
9115
+ readonly unreadCount: _angular_core.Signal<number>;
9116
+ /**
9117
+ * Add a new notification to the top of the list.
9118
+ * Intended for downstream push integration — call this when a
9119
+ * real push payload arrives via Capacitor's `pushNotificationReceived` listener.
9120
+ */
9121
+ addNotification(item: NotificationItem): void;
9122
+ markAsRead(id: string): void;
9123
+ markAllAsRead(): void;
9124
+ /**
9125
+ * Remove a single notification from the list permanently.
9126
+ */
9127
+ removeNotification(id: string): void;
9128
+ /**
9129
+ * Remove all notifications from the list permanently.
9130
+ */
9131
+ clearAll(): void;
9132
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationService, never>;
9133
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<NotificationService>;
9134
+ }
9135
+
8984
9136
  declare class MobileCommunityPageComponent {
8985
9137
  private router;
8986
9138
  private route;
@@ -8991,6 +9143,8 @@ declare class MobileCommunityPageComponent {
8991
9143
  private postsService;
8992
9144
  pageComponent: DsMobilePageMainComponent;
8993
9145
  pinnedSwiper?: DsMobileSwiperComponent;
9146
+ private notificationModal;
9147
+ readonly notificationService: NotificationService;
8994
9148
  allPosts: _angular_core.Signal<Post[]>;
8995
9149
  pinnedPosts: _angular_core.Signal<Post[]>;
8996
9150
  hasAnyPosts: _angular_core.Signal<boolean>;
@@ -9001,6 +9155,7 @@ declare class MobileCommunityPageComponent {
9001
9155
  * Loads more posts when user scrolls to bottom
9002
9156
  */
9003
9157
  onInfiniteScroll(event: any): Promise<void>;
9158
+ handleNotificationClick(): Promise<void>;
9004
9159
  handleRefresh(event: any): void;
9005
9160
  /**
9006
9161
  * Open post detail modal
@@ -9041,11 +9196,14 @@ declare class MobileCommunityPageComponent {
9041
9196
  declare class MobileHandbookPageComponent {
9042
9197
  userService: UserService;
9043
9198
  pageComponent: DsMobilePageMainComponent;
9199
+ private notificationModal;
9200
+ readonly notificationService: NotificationService;
9044
9201
  utilitiesItems: HandbookItem[];
9045
9202
  sikkerhedsudstyrItems: HandbookItem[];
9046
9203
  serviceContractsItems: HandbookItem[];
9047
9204
  equipmentItems: HandbookItem[];
9048
9205
  constructor(userService: UserService);
9206
+ handleNotificationClick(): Promise<void>;
9049
9207
  handleRefresh(event: any): void;
9050
9208
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MobileHandbookPageComponent, never>;
9051
9209
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileHandbookPageComponent, "app-mobile-handbook-page", never, {}, {}, never, never, true, never>;
@@ -9194,9 +9352,12 @@ declare class MobileHomePageComponent implements OnInit {
9194
9352
  private modalCtrl;
9195
9353
  private vendorModal;
9196
9354
  private newInquiryModal;
9355
+ private notificationModal;
9356
+ readonly notificationService: NotificationService;
9197
9357
  constructor(router: Router, navCtrl: NavController, userService: UserService, postsService: PostsService, postModal: DsMobilePostDetailModalService, trackingPermissionService: TrackingPermissionService, bottomSheet: DsMobileBottomSheetService, familyAccessService: FamilyAccessService, peerMessaging: PeerMessagingService, peerChat: PeerChatLauncherService, lightboxService: DsMobileLightboxService);
9198
9358
  ngOnInit(): void;
9199
9359
  private simulateLoad;
9360
+ handleNotificationClick(): Promise<void>;
9200
9361
  handleRefresh(event: any): void;
9201
9362
  openPost(postId: string, focusComment?: boolean): Promise<void>;
9202
9363
  openInquiryDetail(inquiryId: string): void;
@@ -9239,6 +9400,8 @@ declare class MobileInquiriesPageComponent {
9239
9400
  private newInquiryModal;
9240
9401
  pageComponent: DsMobilePageMainComponent;
9241
9402
  private inquiriesService;
9403
+ private notificationModal;
9404
+ readonly notificationService: NotificationService;
9242
9405
  constructor(userService: UserService, navCtrl: NavController, newInquiryModal: DsMobileNewInquiryModalService);
9243
9406
  filterStatus: _angular_core.WritableSignal<"open" | "closed" | "all">;
9244
9407
  tabItems: InlineTabItem[];
@@ -9247,6 +9410,7 @@ declare class MobileInquiriesPageComponent {
9247
9410
  getInquiryIcon(category: string): string;
9248
9411
  openInquiryDetail(inquiryId: string): void;
9249
9412
  showInquiryActions(inquiryId: string): void;
9413
+ handleNotificationClick(): Promise<void>;
9250
9414
  handleRefresh(event: any): void;
9251
9415
  createNewInquiry(): Promise<void>;
9252
9416
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MobileInquiriesPageComponent, never>;
@@ -9314,10 +9478,14 @@ declare class MobileTabsExampleComponent implements OnInit {
9314
9478
  private navCtrl;
9315
9479
  private whitelabelDemoModal;
9316
9480
  private trackingPermissionService;
9481
+ private notificationModal;
9482
+ readonly notificationService: NotificationService;
9483
+ private notificationPrompt;
9317
9484
  readonly pageLoading: PageLoadingService;
9485
+ readonly showNotificationPrompt: _angular_core.WritableSignal<boolean>;
9318
9486
  private trackedProfileMenuItems;
9319
9487
  constructor(userService: UserService, router: Router, navCtrl: NavController);
9320
- ngOnInit(): void;
9488
+ ngOnInit(): Promise<void>;
9321
9489
  tabs: TabConfig[];
9322
9490
  moreMenuItems: MoreMenuItem[];
9323
9491
  /**
@@ -9337,6 +9505,9 @@ declare class MobileTabsExampleComponent implements OnInit {
9337
9505
  */
9338
9506
  handleProfileAction(result: ActionResult): void;
9339
9507
  handleMoreMenuAction(item: MoreMenuItem): void;
9508
+ handleNotificationAllow(): Promise<void>;
9509
+ handleNotificationDismiss(): void;
9510
+ handleNotificationClick(): Promise<void>;
9340
9511
  /** Called by the error overlay retry button — clears error and re-navigates to home */
9341
9512
  handleRetry(): void;
9342
9513
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MobileTabsExampleComponent, never>;
@@ -9403,6 +9574,8 @@ declare class MobileBookingPageComponent {
9403
9574
  userService: UserService;
9404
9575
  pageComponent: DsMobilePageMainComponent;
9405
9576
  bookingsSwiper?: DsMobileSwiperComponent;
9577
+ private notificationModal;
9578
+ readonly notificationService: NotificationService;
9406
9579
  cancellingBookingId: _angular_core.WritableSignal<string | null>;
9407
9580
  private lang;
9408
9581
  historyLinkText: _angular_core.Signal<string>;
@@ -9411,6 +9584,7 @@ declare class MobileBookingPageComponent {
9411
9584
  activeBookings: _angular_core.WritableSignal<FacilityDetail[]>;
9412
9585
  availableFacilities: _angular_core.WritableSignal<FacilityDetail[]>;
9413
9586
  visibleFacilities: _angular_core.Signal<FacilityDetail[]>;
9587
+ handleNotificationClick(): Promise<void>;
9414
9588
  handleRefresh(event: any): void;
9415
9589
  /**
9416
9590
  * Navigate to previous slide
@@ -9697,9 +9871,12 @@ declare class WhitelabelDemoModalService {
9697
9871
  declare class TenantChatPageComponent {
9698
9872
  private modalCtrl;
9699
9873
  readonly userService: UserService;
9874
+ private notificationModal;
9875
+ readonly notificationService: NotificationService;
9700
9876
  peerMessaging: PeerMessagingService;
9701
9877
  peerChat: PeerChatLauncherService;
9702
9878
  readonly isPeerGroupConversation: typeof isPeerGroupConversation;
9879
+ handleNotificationClick(): Promise<void>;
9703
9880
  handleRefresh(event: {
9704
9881
  target: {
9705
9882
  complete: () => void;
@@ -9722,6 +9899,8 @@ declare function stripHtml(html: string): string;
9722
9899
  declare class ServicesPageComponent {
9723
9900
  pageComponent: DsMobilePageMainComponent;
9724
9901
  private vendorModal;
9902
+ private notificationModal;
9903
+ readonly notificationService: NotificationService;
9725
9904
  private newInquiryModal;
9726
9905
  private inquiriesService;
9727
9906
  private navCtrl;
@@ -9731,6 +9910,7 @@ declare class ServicesPageComponent {
9731
9910
  stripHtml: typeof stripHtml;
9732
9911
  openVendorSheet(vendor: ServiceVendor): Promise<void>;
9733
9912
  private openInquiryForVendor;
9913
+ handleNotificationClick(): Promise<void>;
9734
9914
  handleRefresh(event: CustomEvent): void;
9735
9915
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ServicesPageComponent, never>;
9736
9916
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ServicesPageComponent, "app-services-page", never, {}, {}, never, never, true, never>;
@@ -9816,5 +9996,43 @@ declare class MediaPickerService {
9816
9996
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<MediaPickerService>;
9817
9997
  }
9818
9998
 
9819
- 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 };
9820
- 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 };
9999
+ /**
10000
+ * Manages the notification permission prompt lifecycle.
10001
+ *
10002
+ * - Stores the user's "Not now" dismissal timestamp in localStorage
10003
+ * - Re-shows the prompt after a 24-hour cooldown
10004
+ * - Skips the prompt entirely if native permissions are already granted
10005
+ *
10006
+ * Downstream integration: call `checkPermissions()` before checking
10007
+ * `shouldShowPrompt()` to incorporate native permission status.
10008
+ */
10009
+ declare class NotificationPromptService {
10010
+ private permissionGranted;
10011
+ /**
10012
+ * Record that the user dismissed the prompt. Stores the current
10013
+ * timestamp so the prompt can be suppressed for 24 hours.
10014
+ */
10015
+ dismiss(): void;
10016
+ /**
10017
+ * Whether the prompt should be displayed right now.
10018
+ * Returns false if:
10019
+ * - Native permission is already granted
10020
+ * - The user dismissed less than 24 hours ago
10021
+ */
10022
+ shouldShowPrompt(): boolean;
10023
+ /**
10024
+ * Call this on app launch to check native notification permission status.
10025
+ * If already granted, the prompt will never be shown.
10026
+ */
10027
+ checkPermissions(): Promise<void>;
10028
+ /**
10029
+ * Mark that the user has granted permission (called after a successful
10030
+ * allow flow so the prompt is permanently hidden for this session).
10031
+ */
10032
+ markGranted(): void;
10033
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationPromptService, never>;
10034
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<NotificationPromptService>;
10035
+ }
10036
+
10037
+ 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, 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, SignInPageComponent, SignInToAcceptPageComponent, TenantChatPageComponent, TileContentComponent, TileIconComponent, TileLabelComponent, TileValueComponent, TrackingPermissionService, UserService, VENDOR_MODAL_SERVICE, WhitelabelDemoModalComponent, WhitelabelDemoModalService, WhitelabelService, customBackTransition, customPageTransition, dateBucket };
10038
+ 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, NotificationItem, NotificationLeading, NotificationType, Post, ActionResult as PostActionResult, PostDetailData, PromptBottomSheetResult, PromptGroupPreviewMember, ServicePageLabels, ServiceVendor, TabConfig, TimeSlot, VendorModalOpener, WhitelabelConfig };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@propbinder/mobile-design",
3
- "version": "0.2.91",
3
+ "version": "0.2.92",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0 || ^21.0.0",
6
6
  "@angular/core": "^20.3.0 || ^21.0.0"