shared-features 0.0.4 → 0.0.5

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.
Files changed (90) hide show
  1. package/dist/{AdBanner-CZz8trdz.cjs → AnnouncementModal-Bqy0pn3V.cjs} +428 -3
  2. package/dist/AnnouncementModal-Bqy0pn3V.cjs.map +1 -0
  3. package/dist/{AdBanner-DF1QuMxR.js → AnnouncementModal-sxH4K5gy.js} +430 -5
  4. package/dist/AnnouncementModal-sxH4K5gy.js.map +1 -0
  5. package/dist/admin-notifications-D9n9h-eY.cjs +362 -0
  6. package/dist/admin-notifications-D9n9h-eY.cjs.map +1 -0
  7. package/dist/admin-notifications-p1dy3zIP.js +363 -0
  8. package/dist/admin-notifications-p1dy3zIP.js.map +1 -0
  9. package/dist/{analytics-CdpCtTpu.js → analytics-40-S_fHC.js} +3 -2
  10. package/dist/{analytics-CdpCtTpu.js.map → analytics-40-S_fHC.js.map} +1 -1
  11. package/dist/{analytics--ZSO9ova.cjs → analytics-lEzOx2vl.cjs} +2 -1
  12. package/dist/{analytics--ZSO9ova.cjs.map → analytics-lEzOx2vl.cjs.map} +1 -1
  13. package/dist/broadcasts-3_WfQMNL.cjs +278 -0
  14. package/dist/broadcasts-3_WfQMNL.cjs.map +1 -0
  15. package/dist/broadcasts-DgZUzqMf.js +257 -0
  16. package/dist/broadcasts-DgZUzqMf.js.map +1 -0
  17. package/dist/components/index.cjs +23 -20
  18. package/dist/components/index.cjs.map +1 -1
  19. package/dist/components/index.d.ts +1 -0
  20. package/dist/components/index.d.ts.map +1 -1
  21. package/dist/components/index.js +4 -1
  22. package/dist/components/notifications/AnnouncementModal.d.ts +21 -0
  23. package/dist/components/notifications/AnnouncementModal.d.ts.map +1 -0
  24. package/dist/components/notifications/BroadcastBanner.d.ts +55 -0
  25. package/dist/components/notifications/BroadcastBanner.d.ts.map +1 -0
  26. package/dist/components/notifications/index.d.ts +11 -0
  27. package/dist/components/notifications/index.d.ts.map +1 -0
  28. package/dist/hooks/index.cjs +9 -1
  29. package/dist/hooks/index.cjs.map +1 -1
  30. package/dist/hooks/index.d.ts +2 -0
  31. package/dist/hooks/index.d.ts.map +1 -1
  32. package/dist/hooks/index.js +9 -1
  33. package/dist/hooks/index.js.map +1 -1
  34. package/dist/hooks/useBroadcasts.d.ts +122 -0
  35. package/dist/hooks/useBroadcasts.d.ts.map +1 -0
  36. package/dist/index.cjs +99 -22
  37. package/dist/index.cjs.map +1 -1
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +94 -17
  41. package/dist/index.js.map +1 -1
  42. package/dist/notifications/events/index.d.ts +14 -0
  43. package/dist/notifications/events/index.d.ts.map +1 -0
  44. package/dist/notifications/events/registry.d.ts +75 -0
  45. package/dist/notifications/events/registry.d.ts.map +1 -0
  46. package/dist/notifications/events/templates/engine.d.ts +57 -0
  47. package/dist/notifications/events/templates/engine.d.ts.map +1 -0
  48. package/dist/notifications/events/templates/standard.d.ts +20 -0
  49. package/dist/notifications/events/templates/standard.d.ts.map +1 -0
  50. package/dist/notifications/events/useNotificationEvents.d.ts +36 -0
  51. package/dist/notifications/events/useNotificationEvents.d.ts.map +1 -0
  52. package/dist/notifications/index.cjs +25 -0
  53. package/dist/notifications/index.cjs.map +1 -0
  54. package/dist/notifications/index.d.ts +9 -0
  55. package/dist/notifications/index.d.ts.map +1 -0
  56. package/dist/notifications/index.js +25 -0
  57. package/dist/notifications/index.js.map +1 -0
  58. package/dist/services/admin-notifications.d.ts +95 -0
  59. package/dist/services/admin-notifications.d.ts.map +1 -0
  60. package/dist/services/broadcasts.d.ts +55 -0
  61. package/dist/services/broadcasts.d.ts.map +1 -0
  62. package/dist/services/index.cjs +34 -1
  63. package/dist/services/index.cjs.map +1 -1
  64. package/dist/services/index.d.ts +2 -0
  65. package/dist/services/index.d.ts.map +1 -1
  66. package/dist/services/index.js +35 -2
  67. package/dist/services/index.js.map +1 -1
  68. package/dist/types/index.cjs +108 -0
  69. package/dist/types/index.cjs.map +1 -1
  70. package/dist/types/index.d.ts +1 -0
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/index.js +109 -1
  73. package/dist/types/index.js.map +1 -1
  74. package/dist/types/notifications.d.ts +634 -0
  75. package/dist/types/notifications.d.ts.map +1 -0
  76. package/dist/useBroadcasts-DzpCcbC8.js +161 -0
  77. package/dist/useBroadcasts-DzpCcbC8.js.map +1 -0
  78. package/dist/useBroadcasts-FP6ZrcY_.cjs +160 -0
  79. package/dist/useBroadcasts-FP6ZrcY_.cjs.map +1 -0
  80. package/dist/{useCampaigns-Dltisb9N.cjs → useCampaigns-BOZ9dDsG.cjs} +2 -2
  81. package/dist/{useCampaigns-Dltisb9N.cjs.map → useCampaigns-BOZ9dDsG.cjs.map} +1 -1
  82. package/dist/{useCampaigns-nwfsALsN.js → useCampaigns-D46b9zuf.js} +2 -2
  83. package/dist/{useCampaigns-nwfsALsN.js.map → useCampaigns-D46b9zuf.js.map} +1 -1
  84. package/dist/useNotificationEvents-BXeMqdak.cjs +954 -0
  85. package/dist/useNotificationEvents-BXeMqdak.cjs.map +1 -0
  86. package/dist/useNotificationEvents-D8DVxah1.js +955 -0
  87. package/dist/useNotificationEvents-D8DVxah1.js.map +1 -0
  88. package/package.json +11 -3
  89. package/dist/AdBanner-CZz8trdz.cjs.map +0 -1
  90. package/dist/AdBanner-DF1QuMxR.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ import { CreateUserNotificationInput, UseNotificationEventsReturn } from '../../types/notifications';
2
+ export interface UseNotificationEventsOptions {
3
+ /** App name for templates */
4
+ appName: string;
5
+ /** User ID for notifications */
6
+ userId?: string;
7
+ /** Callback to create notification in project's Firebase */
8
+ onCreateNotification: (input: CreateUserNotificationInput) => Promise<string>;
9
+ /** Whether to log events (debug mode) */
10
+ debug?: boolean;
11
+ }
12
+ /**
13
+ * Hook to trigger notification events
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * const { trigger, triggerAccountCreated } = useNotificationEvents({
18
+ * appName: 'My App',
19
+ * userId: currentUser?.id,
20
+ * onCreateNotification: notificationService.create,
21
+ * });
22
+ *
23
+ * // On user signup
24
+ * await triggerAccountCreated({ userName: 'John', email: 'john@example.com' });
25
+ *
26
+ * // Generic trigger
27
+ * await trigger({
28
+ * type: 'ITEM_CREATED',
29
+ * userId: currentUser.id,
30
+ * data: { entityType: 'Task', entityName: 'My Task' },
31
+ * });
32
+ * ```
33
+ */
34
+ export declare function useNotificationEvents(options: UseNotificationEventsOptions): UseNotificationEventsReturn;
35
+ export default useNotificationEvents;
36
+ //# sourceMappingURL=useNotificationEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNotificationEvents.d.ts","sourceRoot":"","sources":["../../../src/notifications/events/useNotificationEvents.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAEV,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,2BAA2B,CAAC;AAMnC,MAAM,WAAW,4BAA4B;IAC3C,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,oBAAoB,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,2BAA2B,CA2M7B;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const useNotificationEvents = require("../useNotificationEvents-BXeMqdak.cjs");
4
+ exports.ACCOUNT_TEMPLATES = useNotificationEvents.ACCOUNT_TEMPLATES;
5
+ exports.ACTIVITY_TEMPLATES = useNotificationEvents.ACTIVITY_TEMPLATES;
6
+ exports.ALL_STANDARD_TEMPLATES = useNotificationEvents.ALL_STANDARD_TEMPLATES;
7
+ exports.PROMOTIONAL_TEMPLATES = useNotificationEvents.PROMOTIONAL_TEMPLATES;
8
+ exports.REPORT_TEMPLATES = useNotificationEvents.REPORT_TEMPLATES;
9
+ exports.STANDARD_EVENTS = useNotificationEvents.STANDARD_EVENTS;
10
+ exports.SYSTEM_TEMPLATES = useNotificationEvents.SYSTEM_TEMPLATES;
11
+ exports.defaultFormatters = useNotificationEvents.defaultFormatters;
12
+ exports.eventRegistry = useNotificationEvents.eventRegistry;
13
+ exports.extractVariables = useNotificationEvents.extractVariables;
14
+ exports.getAllEventTypes = useNotificationEvents.getAllEventTypes;
15
+ exports.getEnabledTemplates = useNotificationEvents.getEnabledTemplates;
16
+ exports.getEventDefinition = useNotificationEvents.getEventDefinition;
17
+ exports.getEventsByCategory = useNotificationEvents.getEventsByCategory;
18
+ exports.getTemplateByEventType = useNotificationEvents.getTemplateByEventType;
19
+ exports.getTemplatesByCategory = useNotificationEvents.getTemplatesByCategory;
20
+ exports.interpolate = useNotificationEvents.interpolate;
21
+ exports.interpolateWithFormatters = useNotificationEvents.interpolateWithFormatters;
22
+ exports.registerCustomEvent = useNotificationEvents.registerCustomEvent;
23
+ exports.useNotificationEvents = useNotificationEvents.useNotificationEvents;
24
+ exports.validateContext = useNotificationEvents.validateContext;
25
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Notifications Module Index
3
+ *
4
+ * Exports all notification-related functionality.
5
+ *
6
+ * @author Ahsan Mahmood <aoneahsan@gmail.com>
7
+ */
8
+ export * from './events';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,UAAU,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { A, b, c, P, R, j, S, d, k, e, n, h, l, m, g, f, i, a, r, u, v } from "../useNotificationEvents-D8DVxah1.js";
2
+ export {
3
+ A as ACCOUNT_TEMPLATES,
4
+ b as ACTIVITY_TEMPLATES,
5
+ c as ALL_STANDARD_TEMPLATES,
6
+ P as PROMOTIONAL_TEMPLATES,
7
+ R as REPORT_TEMPLATES,
8
+ j as STANDARD_EVENTS,
9
+ S as SYSTEM_TEMPLATES,
10
+ d as defaultFormatters,
11
+ k as eventRegistry,
12
+ e as extractVariables,
13
+ n as getAllEventTypes,
14
+ h as getEnabledTemplates,
15
+ l as getEventDefinition,
16
+ m as getEventsByCategory,
17
+ g as getTemplateByEventType,
18
+ f as getTemplatesByCategory,
19
+ i as interpolate,
20
+ a as interpolateWithFormatters,
21
+ r as registerCustomEvent,
22
+ u as useNotificationEvents,
23
+ v as validateContext
24
+ };
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,95 @@
1
+ import { BroadcastNotification, BroadcastStatus, CreateBroadcastInput, UpdateBroadcastInput, NotificationTemplate, CreateTemplateInput, BroadcastAnalytics, NotificationAnalytics } from '../types/notifications';
2
+ /**
3
+ * Create a new broadcast
4
+ */
5
+ export declare function createBroadcast(input: CreateBroadcastInput, adminUserId: string): Promise<string>;
6
+ /**
7
+ * Update an existing broadcast
8
+ */
9
+ export declare function updateBroadcast(input: UpdateBroadcastInput, adminUserId: string): Promise<void>;
10
+ /**
11
+ * Delete a broadcast
12
+ */
13
+ export declare function deleteBroadcast(broadcastId: string): Promise<void>;
14
+ /**
15
+ * Get all broadcasts (for admin listing)
16
+ */
17
+ export declare function getAllBroadcasts(): Promise<BroadcastNotification[]>;
18
+ /**
19
+ * Get broadcasts by status
20
+ */
21
+ export declare function getBroadcastsByStatus(status: BroadcastStatus): Promise<BroadcastNotification[]>;
22
+ /**
23
+ * Get a single broadcast by ID
24
+ */
25
+ export declare function getBroadcastById(broadcastId: string): Promise<BroadcastNotification | null>;
26
+ /**
27
+ * Publish a draft broadcast (set to active)
28
+ */
29
+ export declare function publishBroadcast(broadcastId: string, adminUserId: string): Promise<void>;
30
+ /**
31
+ * Schedule a broadcast for later
32
+ */
33
+ export declare function scheduleBroadcast(broadcastId: string, scheduledDate: Date, adminUserId: string): Promise<void>;
34
+ /**
35
+ * Pause an active broadcast
36
+ */
37
+ export declare function pauseBroadcast(broadcastId: string, adminUserId: string): Promise<void>;
38
+ /**
39
+ * End a broadcast
40
+ */
41
+ export declare function endBroadcast(broadcastId: string, adminUserId: string): Promise<void>;
42
+ /**
43
+ * Create a new template
44
+ */
45
+ export declare function createTemplate(input: CreateTemplateInput): Promise<string>;
46
+ /**
47
+ * Update an existing template
48
+ */
49
+ export declare function updateTemplate(templateId: string, input: Partial<CreateTemplateInput>): Promise<void>;
50
+ /**
51
+ * Delete a template
52
+ */
53
+ export declare function deleteTemplate(templateId: string): Promise<void>;
54
+ /**
55
+ * Get all templates
56
+ */
57
+ export declare function getAllTemplates(): Promise<NotificationTemplate[]>;
58
+ /**
59
+ * Get template by ID
60
+ */
61
+ export declare function getTemplateById(templateId: string): Promise<NotificationTemplate | null>;
62
+ /**
63
+ * Get template by event type from Firestore
64
+ */
65
+ export declare function getFirestoreTemplateByEventType(eventType: string): Promise<NotificationTemplate | null>;
66
+ /**
67
+ * Get analytics for a specific broadcast
68
+ */
69
+ export declare function getBroadcastAnalytics(broadcastId: string): Promise<BroadcastAnalytics | null>;
70
+ /**
71
+ * Get overall notification analytics
72
+ */
73
+ export declare function getOverallAnalytics(startDate: Date, endDate: Date): Promise<NotificationAnalytics>;
74
+ export declare const adminNotificationService: {
75
+ createBroadcast: typeof createBroadcast;
76
+ updateBroadcast: typeof updateBroadcast;
77
+ deleteBroadcast: typeof deleteBroadcast;
78
+ getAllBroadcasts: typeof getAllBroadcasts;
79
+ getBroadcastsByStatus: typeof getBroadcastsByStatus;
80
+ getBroadcastById: typeof getBroadcastById;
81
+ publishBroadcast: typeof publishBroadcast;
82
+ scheduleBroadcast: typeof scheduleBroadcast;
83
+ pauseBroadcast: typeof pauseBroadcast;
84
+ endBroadcast: typeof endBroadcast;
85
+ createTemplate: typeof createTemplate;
86
+ updateTemplate: typeof updateTemplate;
87
+ deleteTemplate: typeof deleteTemplate;
88
+ getAllTemplates: typeof getAllTemplates;
89
+ getTemplateById: typeof getTemplateById;
90
+ getFirestoreTemplateByEventType: typeof getFirestoreTemplateByEventType;
91
+ getBroadcastAnalytics: typeof getBroadcastAnalytics;
92
+ getOverallAnalytics: typeof getOverallAnalytics;
93
+ };
94
+ export default adminNotificationService;
95
+ //# sourceMappingURL=admin-notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-notifications.d.ts","sourceRoot":"","sources":["../../src/services/admin-notifications.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AA8EhC;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAUzE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAWlC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAMvC;AAMD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,IAAI,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CASf;AAMD;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAUvE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAMtC;AAED;;GAEG;AACH,wBAAsB,+BAA+B,CACnD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAetC;AAMD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA8EpC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GACZ,OAAO,CAAC,qBAAqB,CAAC,CAoEhC;AAMD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;CAwBpC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { Unsubscribe } from 'firebase/firestore';
2
+ import { BroadcastNotification, BroadcastVariant, FetchBroadcastsOptions } from '../types/notifications';
3
+ /**
4
+ * Check if a broadcast has been dismissed
5
+ */
6
+ export declare function isBroadcastDismissed(broadcastId: string): Promise<boolean>;
7
+ /**
8
+ * Dismiss a broadcast (save locally)
9
+ */
10
+ export declare function dismissBroadcast(broadcastId: string): Promise<void>;
11
+ /**
12
+ * Clear all dismissed broadcasts (useful for testing)
13
+ */
14
+ export declare function clearDismissedBroadcasts(): Promise<void>;
15
+ /**
16
+ * Fetch broadcasts with optional filters
17
+ */
18
+ export declare function fetchBroadcasts(options?: FetchBroadcastsOptions): Promise<BroadcastNotification[]>;
19
+ /**
20
+ * Fetch active broadcasts for display, excluding dismissed ones
21
+ */
22
+ export declare function fetchActiveBroadcasts(options?: Omit<FetchBroadcastsOptions, 'status'>): Promise<BroadcastNotification[]>;
23
+ /**
24
+ * Fetch broadcasts by variant type
25
+ */
26
+ export declare function fetchBroadcastsByVariant(variant: BroadcastVariant): Promise<BroadcastNotification[]>;
27
+ /**
28
+ * Get a single broadcast by ID
29
+ */
30
+ export declare function getBroadcastById(broadcastId: string): Promise<BroadcastNotification | null>;
31
+ /**
32
+ * Subscribe to broadcast updates in real-time
33
+ */
34
+ export declare function subscribeToBroadcasts(callback: (broadcasts: BroadcastNotification[]) => void, options?: FetchBroadcastsOptions): Unsubscribe;
35
+ /**
36
+ * Record a broadcast event (impression, click, dismiss)
37
+ */
38
+ export declare function recordBroadcastEvent(broadcastId: string, action: 'impression' | 'click' | 'dismiss'): Promise<void>;
39
+ /**
40
+ * Track broadcast impression
41
+ */
42
+ export declare function trackBroadcastImpression(broadcastId: string): Promise<void>;
43
+ /**
44
+ * Track broadcast click
45
+ */
46
+ export declare function trackBroadcastClick(broadcastId: string): Promise<void>;
47
+ /**
48
+ * Track broadcast dismiss
49
+ */
50
+ export declare function trackBroadcastDismiss(broadcastId: string): Promise<void>;
51
+ /**
52
+ * Clear the broadcasts cache
53
+ */
54
+ export declare function clearBroadcastsCache(): void;
55
+ //# sourceMappingURL=broadcasts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcasts.d.ts","sourceRoot":"","sources":["../../src/services/broadcasts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAYL,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EACV,qBAAqB,EAErB,gBAAgB,EAEhB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AA2EhC;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;AAED;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAW9D;AAuDD;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAuFlC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAM,GACnD,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAKlC;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAElC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAMvC;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,CAAC,UAAU,EAAE,qBAAqB,EAAE,KAAK,IAAI,EACvD,OAAO,GAAE,sBAA2B,GACnC,WAAW,CA0Eb;AAMD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,YAAY,GAAG,OAAO,GAAG,SAAS,GACzC,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAGf;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const analytics = require("../analytics--ZSO9ova.cjs");
3
+ const analytics = require("../analytics-lEzOx2vl.cjs");
4
+ const broadcasts = require("../broadcasts-3_WfQMNL.cjs");
5
+ const adminNotifications = require("../admin-notifications-D9n9h-eY.cjs");
4
6
  exports.clearCampaignsCache = analytics.clearCampaignsCache;
5
7
  exports.clearProductsCache = analytics.clearProductsCache;
6
8
  exports.fetchActiveCampaigns = analytics.fetchActiveCampaigns;
@@ -15,4 +17,35 @@ exports.recordImpression = analytics.recordImpression;
15
17
  exports.trackClick = analytics.trackClick;
16
18
  exports.trackClose = analytics.trackClose;
17
19
  exports.trackImpression = analytics.trackImpression;
20
+ exports.clearBroadcastsCache = broadcasts.clearBroadcastsCache;
21
+ exports.clearDismissedBroadcasts = broadcasts.clearDismissedBroadcasts;
22
+ exports.dismissBroadcast = broadcasts.dismissBroadcast;
23
+ exports.fetchActiveBroadcasts = broadcasts.fetchActiveBroadcasts;
24
+ exports.fetchBroadcasts = broadcasts.fetchBroadcasts;
25
+ exports.fetchBroadcastsByVariant = broadcasts.fetchBroadcastsByVariant;
26
+ exports.getBroadcastById = broadcasts.getBroadcastById;
27
+ exports.isBroadcastDismissed = broadcasts.isBroadcastDismissed;
28
+ exports.recordBroadcastEvent = broadcasts.recordBroadcastEvent;
29
+ exports.subscribeToBroadcasts = broadcasts.subscribeToBroadcasts;
30
+ exports.trackBroadcastClick = broadcasts.trackBroadcastClick;
31
+ exports.trackBroadcastDismiss = broadcasts.trackBroadcastDismiss;
32
+ exports.trackBroadcastImpression = broadcasts.trackBroadcastImpression;
33
+ exports.adminNotificationService = adminNotifications.adminNotificationService;
34
+ exports.createBroadcast = adminNotifications.createBroadcast;
35
+ exports.createTemplate = adminNotifications.createTemplate;
36
+ exports.deleteBroadcast = adminNotifications.deleteBroadcast;
37
+ exports.deleteTemplate = adminNotifications.deleteTemplate;
38
+ exports.endBroadcast = adminNotifications.endBroadcast;
39
+ exports.getAllBroadcasts = adminNotifications.getAllBroadcasts;
40
+ exports.getAllTemplates = adminNotifications.getAllTemplates;
41
+ exports.getBroadcastAnalytics = adminNotifications.getBroadcastAnalytics;
42
+ exports.getBroadcastsByStatus = adminNotifications.getBroadcastsByStatus;
43
+ exports.getFirestoreTemplateByEventType = adminNotifications.getFirestoreTemplateByEventType;
44
+ exports.getOverallAnalytics = adminNotifications.getOverallAnalytics;
45
+ exports.getTemplateById = adminNotifications.getTemplateById;
46
+ exports.pauseBroadcast = adminNotifications.pauseBroadcast;
47
+ exports.publishBroadcast = adminNotifications.publishBroadcast;
48
+ exports.scheduleBroadcast = adminNotifications.scheduleBroadcast;
49
+ exports.updateBroadcast = adminNotifications.updateBroadcast;
50
+ exports.updateTemplate = adminNotifications.updateTemplate;
18
51
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,4 +7,6 @@
7
7
  */
8
8
  export { fetchCampaigns, fetchActiveCampaigns, getCampaignById, fetchProducts, getProductById, clearCampaignsCache, clearProductsCache, } from './campaigns';
9
9
  export { recordImpression, trackImpression, trackClick, trackClose, isEligibleForCampaign, getEligibleCampaignIds, getCampaignHistory, } from './analytics';
10
+ export { fetchBroadcasts, fetchActiveBroadcasts, fetchBroadcastsByVariant, getBroadcastById, subscribeToBroadcasts, recordBroadcastEvent, trackBroadcastImpression, trackBroadcastClick, trackBroadcastDismiss, isBroadcastDismissed, dismissBroadcast, clearDismissedBroadcasts, clearBroadcastsCache, } from './broadcasts';
11
+ export { adminNotificationService, createBroadcast, updateBroadcast, deleteBroadcast, getAllBroadcasts, getBroadcastsByStatus, publishBroadcast, scheduleBroadcast, pauseBroadcast, endBroadcast, createTemplate, updateTemplate, deleteTemplate, getAllTemplates, getTemplateById, getFirestoreTemplateByEventType, getBroadcastAnalytics, getOverallAnalytics, } from './admin-notifications';
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,+BAA+B,EAC/B,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC"}
@@ -1,18 +1,51 @@
1
- import { m, n, h, f, k, j, u, s, l, q, r, o, p, t } from "../analytics-CdpCtTpu.js";
1
+ import { m, n, h, f, k, j, u, s, l, q, r, o, p, t } from "../analytics-40-S_fHC.js";
2
+ import { j as j2, h as h2, e, a, f as f2, b, g, i, r as r2, s as s2, c, d, t as t2 } from "../broadcasts-DgZUzqMf.js";
3
+ import { a as a2, c as c2, h as h3, d as d2, j as j3, f as f3, g as g2, k as k2, n as n2, b as b2, m as m2, o as o2, l as l2, e as e2, p as p2, s as s3, u as u2, i as i2 } from "../admin-notifications-p1dy3zIP.js";
2
4
  export {
5
+ a2 as adminNotificationService,
6
+ j2 as clearBroadcastsCache,
3
7
  m as clearCampaignsCache,
8
+ h2 as clearDismissedBroadcasts,
4
9
  n as clearProductsCache,
10
+ c2 as createBroadcast,
11
+ h3 as createTemplate,
12
+ d2 as deleteBroadcast,
13
+ j3 as deleteTemplate,
14
+ e as dismissBroadcast,
15
+ f3 as endBroadcast,
16
+ a as fetchActiveBroadcasts,
5
17
  h as fetchActiveCampaigns,
18
+ f2 as fetchBroadcasts,
19
+ b as fetchBroadcastsByVariant,
6
20
  f as fetchCampaigns,
7
21
  k as fetchProducts,
22
+ g2 as getAllBroadcasts,
23
+ k2 as getAllTemplates,
24
+ n2 as getBroadcastAnalytics,
25
+ g as getBroadcastById,
26
+ b2 as getBroadcastsByStatus,
8
27
  j as getCampaignById,
9
28
  u as getCampaignHistory,
10
29
  s as getEligibleCampaignIds,
30
+ m2 as getFirestoreTemplateByEventType,
31
+ o2 as getOverallAnalytics,
11
32
  l as getProductById,
33
+ l2 as getTemplateById,
34
+ i as isBroadcastDismissed,
12
35
  q as isEligibleForCampaign,
36
+ e2 as pauseBroadcast,
37
+ p2 as publishBroadcast,
38
+ r2 as recordBroadcastEvent,
13
39
  r as recordImpression,
40
+ s3 as scheduleBroadcast,
41
+ s2 as subscribeToBroadcasts,
42
+ c as trackBroadcastClick,
43
+ d as trackBroadcastDismiss,
44
+ t2 as trackBroadcastImpression,
14
45
  o as trackClick,
15
46
  p as trackClose,
16
- t as trackImpression
47
+ t as trackImpression,
48
+ u2 as updateBroadcast,
49
+ i2 as updateTemplate
17
50
  };
18
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -40,10 +40,118 @@ const COLLECTIONS = {
40
40
  SOCIAL_LINKS: "zaions_social_links",
41
41
  DEVELOPER_INFO: "zaions_developer_info"
42
42
  };
43
+ const DEFAULT_NOTIFICATION_PREFERENCES = {
44
+ categories: {
45
+ system: { inApp: true, push: true, email: false },
46
+ account: { inApp: true, push: true, email: true },
47
+ activity: { inApp: true, push: false, email: false },
48
+ report: { inApp: true, push: false, email: true },
49
+ promotional: { inApp: true, push: false, email: false },
50
+ social: { inApp: true, push: true, email: false }
51
+ },
52
+ quietHours: {
53
+ enabled: false,
54
+ start: "22:00",
55
+ end: "08:00",
56
+ timezone: "UTC"
57
+ },
58
+ emailDigest: {
59
+ enabled: false,
60
+ frequency: "none"
61
+ },
62
+ push: {
63
+ enabled: false
64
+ }
65
+ };
66
+ const NOTIFICATION_COLLECTIONS = {
67
+ /** Cross-project broadcasts */
68
+ BROADCASTS: "zaions_broadcasts",
69
+ /** Notification templates */
70
+ TEMPLATES: "zaions_notification_templates",
71
+ /** Broadcast events/analytics */
72
+ BROADCAST_EVENTS: "zaions_broadcast_events"
73
+ };
74
+ const getNotificationCollections = (prefix) => ({
75
+ /** User notifications */
76
+ NOTIFICATIONS: `${prefix}_notifications`,
77
+ /** User notification preferences */
78
+ PREFERENCES: `${prefix}_notification_preferences`,
79
+ /** Push subscriptions */
80
+ PUSH_SUBSCRIPTIONS: `${prefix}_push_subscriptions`
81
+ });
82
+ const CATEGORY_NAMES = {
83
+ system: "System",
84
+ account: "Account",
85
+ activity: "Activity",
86
+ report: "Reports",
87
+ promotional: "Tips & Updates",
88
+ social: "Social"
89
+ };
90
+ const CATEGORY_DESCRIPTIONS = {
91
+ system: "Maintenance updates, outages, and system alerts",
92
+ account: "Welcome messages, security alerts, and profile changes",
93
+ activity: "Updates about your actions and changes",
94
+ report: "Weekly and monthly summaries of your activity",
95
+ promotional: "Tips, new features, and holiday greetings",
96
+ social: "Mentions, shares, and comments from others"
97
+ };
98
+ const TYPE_NAMES = {
99
+ info: "Information",
100
+ success: "Success",
101
+ warning: "Warning",
102
+ error: "Error",
103
+ reminder: "Reminder",
104
+ milestone: "Milestone",
105
+ announcement: "Announcement"
106
+ };
107
+ const PRIORITY_NAMES = {
108
+ urgent: "Urgent",
109
+ high: "High",
110
+ normal: "Normal",
111
+ low: "Low"
112
+ };
113
+ const EVENT_TYPE_NAMES = {
114
+ ACCOUNT_CREATED: "Account Created",
115
+ ACCOUNT_WELCOME: "Welcome Message",
116
+ NEW_DEVICE_SIGNIN: "New Device Sign-in",
117
+ PASSWORD_CHANGED: "Password Changed",
118
+ PROFILE_UPDATED: "Profile Updated",
119
+ ACCOUNT_DELETED: "Account Deleted",
120
+ DAILY_SUMMARY: "Daily Summary",
121
+ WEEKLY_SUMMARY: "Weekly Summary",
122
+ MONTHLY_SUMMARY: "Monthly Summary",
123
+ QUARTERLY_SUMMARY: "Quarterly Summary",
124
+ YEARLY_SUMMARY: "Yearly Summary",
125
+ APP_TIP: "App Tip",
126
+ HIDDEN_FEATURE: "Hidden Feature",
127
+ NEW_FEATURE_ANNOUNCEMENT: "New Feature",
128
+ HOLIDAY_GREETING: "Holiday Greeting",
129
+ SYSTEM_MAINTENANCE: "System Maintenance",
130
+ APP_UPDATE_AVAILABLE: "App Update Available",
131
+ DATA_EXPORT_READY: "Data Export Ready",
132
+ ITEM_CREATED: "Item Created",
133
+ ITEM_UPDATED: "Item Updated",
134
+ ITEM_DELETED: "Item Deleted",
135
+ BULK_OPERATION_COMPLETE: "Bulk Operation Complete"
136
+ };
137
+ const DEFAULT_BROADCAST_PRIORITY = 50;
138
+ const MAX_NOTIFICATION_TITLE_LENGTH = 100;
139
+ const MAX_NOTIFICATION_MESSAGE_LENGTH = 500;
140
+ exports.CATEGORY_DESCRIPTIONS = CATEGORY_DESCRIPTIONS;
141
+ exports.CATEGORY_NAMES = CATEGORY_NAMES;
43
142
  exports.COLLECTIONS = COLLECTIONS;
143
+ exports.DEFAULT_BROADCAST_PRIORITY = DEFAULT_BROADCAST_PRIORITY;
44
144
  exports.DEFAULT_CAMPAIGN_PRIORITY = DEFAULT_CAMPAIGN_PRIORITY;
45
145
  exports.DEFAULT_FREQUENCY_DAYS = DEFAULT_FREQUENCY_DAYS;
146
+ exports.DEFAULT_NOTIFICATION_PREFERENCES = DEFAULT_NOTIFICATION_PREFERENCES;
147
+ exports.EVENT_TYPE_NAMES = EVENT_TYPE_NAMES;
148
+ exports.MAX_NOTIFICATION_MESSAGE_LENGTH = MAX_NOTIFICATION_MESSAGE_LENGTH;
149
+ exports.MAX_NOTIFICATION_TITLE_LENGTH = MAX_NOTIFICATION_TITLE_LENGTH;
150
+ exports.NOTIFICATION_COLLECTIONS = NOTIFICATION_COLLECTIONS;
46
151
  exports.PLACEMENT_NAMES = PLACEMENT_NAMES;
47
152
  exports.PLATFORM_NAMES = PLATFORM_NAMES;
153
+ exports.PRIORITY_NAMES = PRIORITY_NAMES;
154
+ exports.TYPE_NAMES = TYPE_NAMES;
48
155
  exports.VARIANT_NAMES = VARIANT_NAMES;
156
+ exports.getNotificationCollections = getNotificationCollections;
49
157
  //# sourceMappingURL=index.cjs.map