shared-features 0.0.3 → 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.
- package/README.md +2 -0
- package/dist/{AdBanner-D-KuNTje.cjs → AnnouncementModal-Bqy0pn3V.cjs} +432 -4
- package/dist/AnnouncementModal-Bqy0pn3V.cjs.map +1 -0
- package/dist/{AdBanner-Ben0vVXV.js → AnnouncementModal-sxH4K5gy.js} +434 -6
- package/dist/AnnouncementModal-sxH4K5gy.js.map +1 -0
- package/dist/admin-notifications-D9n9h-eY.cjs +362 -0
- package/dist/admin-notifications-D9n9h-eY.cjs.map +1 -0
- package/dist/admin-notifications-p1dy3zIP.js +363 -0
- package/dist/admin-notifications-p1dy3zIP.js.map +1 -0
- package/dist/{analytics-CdpCtTpu.js → analytics-40-S_fHC.js} +3 -2
- package/dist/{analytics-CdpCtTpu.js.map → analytics-40-S_fHC.js.map} +1 -1
- package/dist/{analytics--ZSO9ova.cjs → analytics-lEzOx2vl.cjs} +2 -1
- package/dist/{analytics--ZSO9ova.cjs.map → analytics-lEzOx2vl.cjs.map} +1 -1
- package/dist/broadcasts-3_WfQMNL.cjs +278 -0
- package/dist/broadcasts-3_WfQMNL.cjs.map +1 -0
- package/dist/broadcasts-DgZUzqMf.js +257 -0
- package/dist/broadcasts-DgZUzqMf.js.map +1 -0
- package/dist/components/ads/AdModal.d.ts.map +1 -1
- package/dist/components/index.cjs +23 -20
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +4 -1
- package/dist/components/notifications/AnnouncementModal.d.ts +21 -0
- package/dist/components/notifications/AnnouncementModal.d.ts.map +1 -0
- package/dist/components/notifications/BroadcastBanner.d.ts +55 -0
- package/dist/components/notifications/BroadcastBanner.d.ts.map +1 -0
- package/dist/components/notifications/index.d.ts +11 -0
- package/dist/components/notifications/index.d.ts.map +1 -0
- package/dist/hooks/index.cjs +9 -1
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +9 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useBroadcasts.d.ts +122 -0
- package/dist/hooks/useBroadcasts.d.ts.map +1 -0
- package/dist/index.cjs +99 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +94 -17
- package/dist/index.js.map +1 -1
- package/dist/notifications/events/index.d.ts +14 -0
- package/dist/notifications/events/index.d.ts.map +1 -0
- package/dist/notifications/events/registry.d.ts +75 -0
- package/dist/notifications/events/registry.d.ts.map +1 -0
- package/dist/notifications/events/templates/engine.d.ts +57 -0
- package/dist/notifications/events/templates/engine.d.ts.map +1 -0
- package/dist/notifications/events/templates/standard.d.ts +20 -0
- package/dist/notifications/events/templates/standard.d.ts.map +1 -0
- package/dist/notifications/events/useNotificationEvents.d.ts +36 -0
- package/dist/notifications/events/useNotificationEvents.d.ts.map +1 -0
- package/dist/notifications/index.cjs +25 -0
- package/dist/notifications/index.cjs.map +1 -0
- package/dist/notifications/index.d.ts +9 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +25 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/services/admin-notifications.d.ts +95 -0
- package/dist/services/admin-notifications.d.ts.map +1 -0
- package/dist/services/broadcasts.d.ts +55 -0
- package/dist/services/broadcasts.d.ts.map +1 -0
- package/dist/services/index.cjs +34 -1
- package/dist/services/index.cjs.map +1 -1
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +35 -2
- package/dist/services/index.js.map +1 -1
- package/dist/types/index.cjs +108 -0
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +109 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/notifications.d.ts +634 -0
- package/dist/types/notifications.d.ts.map +1 -0
- package/dist/useBroadcasts-DzpCcbC8.js +161 -0
- package/dist/useBroadcasts-DzpCcbC8.js.map +1 -0
- package/dist/useBroadcasts-FP6ZrcY_.cjs +160 -0
- package/dist/useBroadcasts-FP6ZrcY_.cjs.map +1 -0
- package/dist/{useCampaigns-Dltisb9N.cjs → useCampaigns-BOZ9dDsG.cjs} +2 -2
- package/dist/{useCampaigns-Dltisb9N.cjs.map → useCampaigns-BOZ9dDsG.cjs.map} +1 -1
- package/dist/{useCampaigns-nwfsALsN.js → useCampaigns-D46b9zuf.js} +2 -2
- package/dist/{useCampaigns-nwfsALsN.js.map → useCampaigns-D46b9zuf.js.map} +1 -1
- package/dist/useNotificationEvents-BXeMqdak.cjs +954 -0
- package/dist/useNotificationEvents-BXeMqdak.cjs.map +1 -0
- package/dist/useNotificationEvents-D8DVxah1.js +955 -0
- package/dist/useNotificationEvents-D8DVxah1.js.map +1 -0
- package/package.json +13 -5
- package/dist/AdBanner-Ben0vVXV.js.map +0 -1
- package/dist/AdBanner-D-KuNTje.cjs.map +0 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { BroadcastNotification, BroadcastVariant, NotificationPlatform, UseBroadcastsReturn } from '../types/notifications';
|
|
2
|
+
export interface UseBroadcastsOptions {
|
|
3
|
+
/** Filter by variant type */
|
|
4
|
+
variant?: BroadcastVariant;
|
|
5
|
+
/** Override platform detection */
|
|
6
|
+
platform?: NotificationPlatform;
|
|
7
|
+
/** Maximum number of broadcasts to return */
|
|
8
|
+
maxBroadcasts?: number;
|
|
9
|
+
/** Whether to auto-fetch on mount (default: true) */
|
|
10
|
+
autoFetch?: boolean;
|
|
11
|
+
/** Whether to subscribe to real-time updates (default: false) */
|
|
12
|
+
realtime?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Hook to fetch and manage broadcast notifications
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* const { broadcasts, isLoading, dismissBroadcast, trackClick } = useBroadcasts({
|
|
20
|
+
* variant: 'banner',
|
|
21
|
+
* maxBroadcasts: 3,
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* return (
|
|
25
|
+
* <div>
|
|
26
|
+
* {broadcasts.map(broadcast => (
|
|
27
|
+
* <BroadcastBanner
|
|
28
|
+
* key={broadcast.id}
|
|
29
|
+
* broadcast={broadcast}
|
|
30
|
+
* onDismiss={() => dismissBroadcast(broadcast.id)}
|
|
31
|
+
* onActionClick={() => trackClick(broadcast.id)}
|
|
32
|
+
* />
|
|
33
|
+
* ))}
|
|
34
|
+
* </div>
|
|
35
|
+
* );
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function useBroadcasts(options?: UseBroadcastsOptions): UseBroadcastsReturn;
|
|
39
|
+
/**
|
|
40
|
+
* Hook specifically for banner broadcasts
|
|
41
|
+
*/
|
|
42
|
+
export declare function useBannerBroadcasts(options?: Omit<UseBroadcastsOptions, 'variant'>): UseBroadcastsReturn;
|
|
43
|
+
/**
|
|
44
|
+
* Hook specifically for modal broadcasts
|
|
45
|
+
*/
|
|
46
|
+
export declare function useModalBroadcasts(options?: Omit<UseBroadcastsOptions, 'variant'>): UseBroadcastsReturn;
|
|
47
|
+
/**
|
|
48
|
+
* Hook specifically for toast broadcasts
|
|
49
|
+
*/
|
|
50
|
+
export declare function useToastBroadcasts(options?: Omit<UseBroadcastsOptions, 'variant'>): UseBroadcastsReturn;
|
|
51
|
+
/**
|
|
52
|
+
* Hook specifically for bell/notification center broadcasts
|
|
53
|
+
*/
|
|
54
|
+
export declare function useBellBroadcasts(options?: Omit<UseBroadcastsOptions, 'variant'>): UseBroadcastsReturn;
|
|
55
|
+
export interface UseSingleBroadcastReturn {
|
|
56
|
+
/** The broadcast (first matching one) */
|
|
57
|
+
broadcast: BroadcastNotification | null;
|
|
58
|
+
/** Whether loading */
|
|
59
|
+
isLoading: boolean;
|
|
60
|
+
/** Error if any */
|
|
61
|
+
error: Error | null;
|
|
62
|
+
/** Dismiss the broadcast */
|
|
63
|
+
dismiss: () => void;
|
|
64
|
+
/** Track impression */
|
|
65
|
+
trackImpression: () => void;
|
|
66
|
+
/** Track click */
|
|
67
|
+
trackClick: () => void;
|
|
68
|
+
/** Whether broadcast was dismissed */
|
|
69
|
+
isDismissed: boolean;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Hook to get a single broadcast (convenience wrapper)
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```tsx
|
|
76
|
+
* const { broadcast, dismiss, trackClick } = useSingleBroadcast({ variant: 'modal' });
|
|
77
|
+
*
|
|
78
|
+
* if (!broadcast) return null;
|
|
79
|
+
*
|
|
80
|
+
* return (
|
|
81
|
+
* <AnnouncementModal
|
|
82
|
+
* broadcast={broadcast}
|
|
83
|
+
* onClose={dismiss}
|
|
84
|
+
* onActionClick={trackClick}
|
|
85
|
+
* />
|
|
86
|
+
* );
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare function useSingleBroadcast(options?: Omit<UseBroadcastsOptions, 'maxBroadcasts'>): UseSingleBroadcastReturn;
|
|
90
|
+
export interface UseAnnouncementModalReturn {
|
|
91
|
+
/** The modal broadcast to display */
|
|
92
|
+
broadcast: BroadcastNotification | null;
|
|
93
|
+
/** Whether the modal should be shown */
|
|
94
|
+
isOpen: boolean;
|
|
95
|
+
/** Close the modal */
|
|
96
|
+
close: () => void;
|
|
97
|
+
/** Handle action button click */
|
|
98
|
+
handleAction: () => void;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Hook for managing announcement modal display
|
|
102
|
+
* Automatically tracks impressions and handles dismissal
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```tsx
|
|
106
|
+
* const { broadcast, isOpen, close, handleAction } = useAnnouncementModal();
|
|
107
|
+
*
|
|
108
|
+
* return (
|
|
109
|
+
* <Dialog open={isOpen} onOpenChange={(open) => !open && close()}>
|
|
110
|
+
* <DialogContent>
|
|
111
|
+
* <h2>{broadcast?.title}</h2>
|
|
112
|
+
* <p>{broadcast?.message}</p>
|
|
113
|
+
* {broadcast?.actionUrl && (
|
|
114
|
+
* <Button onClick={handleAction}>{broadcast.actionText || 'Learn More'}</Button>
|
|
115
|
+
* )}
|
|
116
|
+
* </DialogContent>
|
|
117
|
+
* </Dialog>
|
|
118
|
+
* );
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
export declare function useAnnouncementModal(): UseAnnouncementModalReturn;
|
|
122
|
+
//# sourceMappingURL=useBroadcasts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBroadcasts.d.ts","sourceRoot":"","sources":["../../src/hooks/useBroadcasts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,kCAAkC;IAClC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAiIrB;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAM,uBAGpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAM,uBAGpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAM,uBAGpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAM,uBAGpD;AAMD,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACxC,sBAAsB;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,uBAAuB;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,kBAAkB;IAClB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,sCAAsC;IACtC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAM,GACxD,wBAAwB,CAa1B;AAMD,MAAM,WAAW,0BAA0B;IACzC,qCAAqC;IACrC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACxC,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,iCAAiC;IACjC,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,IAAI,0BAA0B,CAoCjE"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const analytics = require("./analytics
|
|
3
|
+
const analytics = require("./analytics-lEzOx2vl.cjs");
|
|
4
4
|
const types_index = require("./types/index.cjs");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const broadcasts = require("./broadcasts-3_WfQMNL.cjs");
|
|
6
|
+
const adminNotifications = require("./admin-notifications-D9n9h-eY.cjs");
|
|
7
|
+
const useCampaigns = require("./useCampaigns-BOZ9dDsG.cjs");
|
|
8
|
+
const useBroadcasts = require("./useBroadcasts-FP6ZrcY_.cjs");
|
|
9
|
+
const AnnouncementModal = require("./AnnouncementModal-Bqy0pn3V.cjs");
|
|
10
|
+
const useNotificationEvents = require("./useNotificationEvents-BXeMqdak.cjs");
|
|
7
11
|
exports.clearCampaignsCache = analytics.clearCampaignsCache;
|
|
8
12
|
exports.clearProductsCache = analytics.clearProductsCache;
|
|
9
13
|
exports.fetchActiveCampaigns = analytics.fetchActiveCampaigns;
|
|
@@ -25,33 +29,106 @@ exports.recordImpression = analytics.recordImpression;
|
|
|
25
29
|
exports.trackClick = analytics.trackClick;
|
|
26
30
|
exports.trackClose = analytics.trackClose;
|
|
27
31
|
exports.trackImpression = analytics.trackImpression;
|
|
32
|
+
exports.CATEGORY_DESCRIPTIONS = types_index.CATEGORY_DESCRIPTIONS;
|
|
33
|
+
exports.CATEGORY_NAMES = types_index.CATEGORY_NAMES;
|
|
28
34
|
exports.COLLECTIONS = types_index.COLLECTIONS;
|
|
35
|
+
exports.DEFAULT_BROADCAST_PRIORITY = types_index.DEFAULT_BROADCAST_PRIORITY;
|
|
29
36
|
exports.DEFAULT_CAMPAIGN_PRIORITY = types_index.DEFAULT_CAMPAIGN_PRIORITY;
|
|
30
37
|
exports.DEFAULT_FREQUENCY_DAYS = types_index.DEFAULT_FREQUENCY_DAYS;
|
|
38
|
+
exports.DEFAULT_NOTIFICATION_PREFERENCES = types_index.DEFAULT_NOTIFICATION_PREFERENCES;
|
|
39
|
+
exports.EVENT_TYPE_NAMES = types_index.EVENT_TYPE_NAMES;
|
|
40
|
+
exports.MAX_NOTIFICATION_MESSAGE_LENGTH = types_index.MAX_NOTIFICATION_MESSAGE_LENGTH;
|
|
41
|
+
exports.MAX_NOTIFICATION_TITLE_LENGTH = types_index.MAX_NOTIFICATION_TITLE_LENGTH;
|
|
42
|
+
exports.NOTIFICATION_COLLECTIONS = types_index.NOTIFICATION_COLLECTIONS;
|
|
31
43
|
exports.PLACEMENT_NAMES = types_index.PLACEMENT_NAMES;
|
|
32
44
|
exports.PLATFORM_NAMES = types_index.PLATFORM_NAMES;
|
|
45
|
+
exports.PRIORITY_NAMES = types_index.PRIORITY_NAMES;
|
|
46
|
+
exports.TYPE_NAMES = types_index.TYPE_NAMES;
|
|
33
47
|
exports.VARIANT_NAMES = types_index.VARIANT_NAMES;
|
|
48
|
+
exports.getNotificationCollections = types_index.getNotificationCollections;
|
|
49
|
+
exports.clearBroadcastsCache = broadcasts.clearBroadcastsCache;
|
|
50
|
+
exports.clearDismissedBroadcasts = broadcasts.clearDismissedBroadcasts;
|
|
51
|
+
exports.dismissBroadcast = broadcasts.dismissBroadcast;
|
|
52
|
+
exports.fetchActiveBroadcasts = broadcasts.fetchActiveBroadcasts;
|
|
53
|
+
exports.fetchBroadcasts = broadcasts.fetchBroadcasts;
|
|
54
|
+
exports.fetchBroadcastsByVariant = broadcasts.fetchBroadcastsByVariant;
|
|
55
|
+
exports.getBroadcastById = broadcasts.getBroadcastById;
|
|
56
|
+
exports.isBroadcastDismissed = broadcasts.isBroadcastDismissed;
|
|
57
|
+
exports.recordBroadcastEvent = broadcasts.recordBroadcastEvent;
|
|
58
|
+
exports.subscribeToBroadcasts = broadcasts.subscribeToBroadcasts;
|
|
59
|
+
exports.trackBroadcastClick = broadcasts.trackBroadcastClick;
|
|
60
|
+
exports.trackBroadcastDismiss = broadcasts.trackBroadcastDismiss;
|
|
61
|
+
exports.trackBroadcastImpression = broadcasts.trackBroadcastImpression;
|
|
62
|
+
exports.adminNotificationService = adminNotifications.adminNotificationService;
|
|
63
|
+
exports.createBroadcast = adminNotifications.createBroadcast;
|
|
64
|
+
exports.createTemplate = adminNotifications.createTemplate;
|
|
65
|
+
exports.deleteBroadcast = adminNotifications.deleteBroadcast;
|
|
66
|
+
exports.deleteTemplate = adminNotifications.deleteTemplate;
|
|
67
|
+
exports.endBroadcast = adminNotifications.endBroadcast;
|
|
68
|
+
exports.getAllBroadcasts = adminNotifications.getAllBroadcasts;
|
|
69
|
+
exports.getAllTemplates = adminNotifications.getAllTemplates;
|
|
70
|
+
exports.getBroadcastAnalytics = adminNotifications.getBroadcastAnalytics;
|
|
71
|
+
exports.getBroadcastsByStatus = adminNotifications.getBroadcastsByStatus;
|
|
72
|
+
exports.getFirestoreTemplateByEventType = adminNotifications.getFirestoreTemplateByEventType;
|
|
73
|
+
exports.getOverallAnalytics = adminNotifications.getOverallAnalytics;
|
|
74
|
+
exports.getTemplateById = adminNotifications.getTemplateById;
|
|
75
|
+
exports.pauseBroadcast = adminNotifications.pauseBroadcast;
|
|
76
|
+
exports.publishBroadcast = adminNotifications.publishBroadcast;
|
|
77
|
+
exports.scheduleBroadcast = adminNotifications.scheduleBroadcast;
|
|
78
|
+
exports.updateBroadcast = adminNotifications.updateBroadcast;
|
|
79
|
+
exports.updateTemplate = adminNotifications.updateTemplate;
|
|
34
80
|
exports.useCampaign = useCampaigns.useCampaign;
|
|
35
81
|
exports.useCampaigns = useCampaigns.useCampaigns;
|
|
36
82
|
exports.useOneTimeAdModal = useCampaigns.useOneTimeAdModal;
|
|
37
83
|
exports.useUpdateAdModal = useCampaigns.useUpdateAdModal;
|
|
38
|
-
exports.
|
|
39
|
-
exports.
|
|
40
|
-
exports.
|
|
41
|
-
exports.
|
|
42
|
-
exports.
|
|
43
|
-
exports.
|
|
44
|
-
exports.
|
|
45
|
-
exports.
|
|
46
|
-
exports.
|
|
47
|
-
exports.
|
|
48
|
-
exports.
|
|
49
|
-
exports.
|
|
50
|
-
exports.
|
|
51
|
-
exports.
|
|
52
|
-
exports.
|
|
53
|
-
exports.
|
|
54
|
-
exports.
|
|
55
|
-
exports.
|
|
56
|
-
exports.
|
|
84
|
+
exports.useAnnouncementModal = useBroadcasts.useAnnouncementModal;
|
|
85
|
+
exports.useBannerBroadcasts = useBroadcasts.useBannerBroadcasts;
|
|
86
|
+
exports.useBellBroadcasts = useBroadcasts.useBellBroadcasts;
|
|
87
|
+
exports.useBroadcasts = useBroadcasts.useBroadcasts;
|
|
88
|
+
exports.useModalBroadcasts = useBroadcasts.useModalBroadcasts;
|
|
89
|
+
exports.useSingleBroadcast = useBroadcasts.useSingleBroadcast;
|
|
90
|
+
exports.useToastBroadcasts = useBroadcasts.useToastBroadcasts;
|
|
91
|
+
exports.AdBanner = AnnouncementModal.AdBanner;
|
|
92
|
+
exports.AdModal = AnnouncementModal.AdModal;
|
|
93
|
+
exports.AdPanel = AnnouncementModal.AdPanel;
|
|
94
|
+
exports.AdSlider = AnnouncementModal.AdSlider;
|
|
95
|
+
exports.AdUpdateModal = AnnouncementModal.AdUpdateModal;
|
|
96
|
+
exports.AnnouncementModal = AnnouncementModal.AnnouncementModal;
|
|
97
|
+
exports.BroadcastBanner = AnnouncementModal.BroadcastBanner;
|
|
98
|
+
exports.BroadcastBanners = AnnouncementModal.BroadcastBanners;
|
|
99
|
+
exports.CardVariant = AnnouncementModal.CardVariant;
|
|
100
|
+
exports.ComparisonVariant = AnnouncementModal.ComparisonVariant;
|
|
101
|
+
exports.FeatureGridVariant = AnnouncementModal.FeatureGridVariant;
|
|
102
|
+
exports.FeaturesVariant = AnnouncementModal.FeaturesVariant;
|
|
103
|
+
exports.GradientVariant = AnnouncementModal.GradientVariant;
|
|
104
|
+
exports.HeroVariant = AnnouncementModal.HeroVariant;
|
|
105
|
+
exports.LARGE_PANEL_VARIANTS = AnnouncementModal.LARGE_PANEL_VARIANTS;
|
|
106
|
+
exports.MinimalVariant = AnnouncementModal.MinimalVariant;
|
|
107
|
+
exports.SMALL_PANEL_VARIANTS = AnnouncementModal.SMALL_PANEL_VARIANTS;
|
|
108
|
+
exports.TaglineVariant = AnnouncementModal.TaglineVariant;
|
|
109
|
+
exports.TestimonialVariant = AnnouncementModal.TestimonialVariant;
|
|
110
|
+
exports.VideoVariant = AnnouncementModal.VideoVariant;
|
|
111
|
+
exports.getLargePanelVariant = AnnouncementModal.getLargePanelVariant;
|
|
112
|
+
exports.getSmallPanelVariant = AnnouncementModal.getSmallPanelVariant;
|
|
113
|
+
exports.ACCOUNT_TEMPLATES = useNotificationEvents.ACCOUNT_TEMPLATES;
|
|
114
|
+
exports.ACTIVITY_TEMPLATES = useNotificationEvents.ACTIVITY_TEMPLATES;
|
|
115
|
+
exports.ALL_STANDARD_TEMPLATES = useNotificationEvents.ALL_STANDARD_TEMPLATES;
|
|
116
|
+
exports.PROMOTIONAL_TEMPLATES = useNotificationEvents.PROMOTIONAL_TEMPLATES;
|
|
117
|
+
exports.REPORT_TEMPLATES = useNotificationEvents.REPORT_TEMPLATES;
|
|
118
|
+
exports.STANDARD_EVENTS = useNotificationEvents.STANDARD_EVENTS;
|
|
119
|
+
exports.SYSTEM_TEMPLATES = useNotificationEvents.SYSTEM_TEMPLATES;
|
|
120
|
+
exports.defaultFormatters = useNotificationEvents.defaultFormatters;
|
|
121
|
+
exports.eventRegistry = useNotificationEvents.eventRegistry;
|
|
122
|
+
exports.extractVariables = useNotificationEvents.extractVariables;
|
|
123
|
+
exports.getAllEventTypes = useNotificationEvents.getAllEventTypes;
|
|
124
|
+
exports.getEnabledTemplates = useNotificationEvents.getEnabledTemplates;
|
|
125
|
+
exports.getEventDefinition = useNotificationEvents.getEventDefinition;
|
|
126
|
+
exports.getEventsByCategory = useNotificationEvents.getEventsByCategory;
|
|
127
|
+
exports.getTemplateByEventType = useNotificationEvents.getTemplateByEventType;
|
|
128
|
+
exports.getTemplatesByCategory = useNotificationEvents.getTemplatesByCategory;
|
|
129
|
+
exports.interpolate = useNotificationEvents.interpolate;
|
|
130
|
+
exports.interpolateWithFormatters = useNotificationEvents.interpolateWithFormatters;
|
|
131
|
+
exports.registerCustomEvent = useNotificationEvents.registerCustomEvent;
|
|
132
|
+
exports.useNotificationEvents = useNotificationEvents.useNotificationEvents;
|
|
133
|
+
exports.validateContext = useNotificationEvents.validateContext;
|
|
57
134
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Features:
|
|
8
8
|
* - Advertising campaigns (cross-promotion)
|
|
9
9
|
* - Products catalog
|
|
10
|
+
* - In-App Notifications (broadcasts, events, templates)
|
|
10
11
|
* - Contact forms (coming soon)
|
|
11
12
|
* - Feature requests (coming soon)
|
|
12
13
|
* - Payment options (coming soon)
|
|
@@ -22,4 +23,5 @@ export * from './types';
|
|
|
22
23
|
export * from './services';
|
|
23
24
|
export * from './hooks';
|
|
24
25
|
export * from './components';
|
|
26
|
+
export * from './notifications';
|
|
25
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,SAAS,EACT,aAAa,GACd,MAAM,mBAAmB,CAAC;AAM3B,cAAc,SAAS,CAAC;AAMxB,cAAc,YAAY,CAAC;AAM3B,cAAc,SAAS,CAAC;AAMxB,cAAc,cAAc,CAAC;AAM7B,cAAc,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,57 +1,134 @@
|
|
|
1
|
-
import { m, n, h, f, k, j, u, d, c, s, l, g, b, a, i, q, e, r, o, p, t } from "./analytics-
|
|
2
|
-
import { COLLECTIONS, DEFAULT_CAMPAIGN_PRIORITY, DEFAULT_FREQUENCY_DAYS, PLACEMENT_NAMES, PLATFORM_NAMES, VARIANT_NAMES } from "./types/index.js";
|
|
3
|
-
import { a as a2,
|
|
4
|
-
import {
|
|
1
|
+
import { m, n, h, f, k, j, u, d, c, s, l, g, b, a, i, q, e, r, o, p, t } from "./analytics-40-S_fHC.js";
|
|
2
|
+
import { CATEGORY_DESCRIPTIONS, CATEGORY_NAMES, COLLECTIONS, DEFAULT_BROADCAST_PRIORITY, DEFAULT_CAMPAIGN_PRIORITY, DEFAULT_FREQUENCY_DAYS, DEFAULT_NOTIFICATION_PREFERENCES, EVENT_TYPE_NAMES, MAX_NOTIFICATION_MESSAGE_LENGTH, MAX_NOTIFICATION_TITLE_LENGTH, NOTIFICATION_COLLECTIONS, PLACEMENT_NAMES, PLATFORM_NAMES, PRIORITY_NAMES, TYPE_NAMES, VARIANT_NAMES, getNotificationCollections } from "./types/index.js";
|
|
3
|
+
import { j as j2, h as h2, e as e2, a as a2, f as f2, b as b2, g as g2, i as i2, r as r2, s as s2, c as c2, d as d2, t as t2 } from "./broadcasts-DgZUzqMf.js";
|
|
4
|
+
import { a as a3, c as c3, h as h3, d as d3, j as j3, f as f3, g as g3, k as k2, n as n2, b as b3, m as m2, o as o2, l as l2, e as e3, p as p2, s as s3, u as u2, i as i3 } from "./admin-notifications-p1dy3zIP.js";
|
|
5
|
+
import { a as a4, u as u3, b as b4, c as c4 } from "./useCampaigns-D46b9zuf.js";
|
|
6
|
+
import { f as f4, a as a5, d as d4, u as u4, b as b5, e as e4, c as c5 } from "./useBroadcasts-DzpCcbC8.js";
|
|
7
|
+
import { d as d5, b as b6, A, a as a6, c as c6, k as k3, B, j as j4, C, h as h4, e as e5, F, G, H, L, M, S, T, f as f5, V, i as i4, g as g4 } from "./AnnouncementModal-sxH4K5gy.js";
|
|
8
|
+
import { A as A2, b as b7, c as c7, P, R, j as j5, S as S2, d as d6, k as k4, e as e6, n as n3, h as h5, l as l3, m as m3, g as g5, f as f6, i as i5, a as a7, r as r3, u as u5, v } from "./useNotificationEvents-D8DVxah1.js";
|
|
5
9
|
export {
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
A2 as ACCOUNT_TEMPLATES,
|
|
11
|
+
b7 as ACTIVITY_TEMPLATES,
|
|
12
|
+
c7 as ALL_STANDARD_TEMPLATES,
|
|
13
|
+
d5 as AdBanner,
|
|
14
|
+
b6 as AdModal,
|
|
8
15
|
A as AdPanel,
|
|
9
|
-
|
|
10
|
-
|
|
16
|
+
a6 as AdSlider,
|
|
17
|
+
c6 as AdUpdateModal,
|
|
18
|
+
k3 as AnnouncementModal,
|
|
19
|
+
B as BroadcastBanner,
|
|
20
|
+
j4 as BroadcastBanners,
|
|
21
|
+
CATEGORY_DESCRIPTIONS,
|
|
22
|
+
CATEGORY_NAMES,
|
|
11
23
|
COLLECTIONS,
|
|
12
24
|
C as CardVariant,
|
|
13
|
-
|
|
25
|
+
h4 as ComparisonVariant,
|
|
26
|
+
DEFAULT_BROADCAST_PRIORITY,
|
|
14
27
|
DEFAULT_CAMPAIGN_PRIORITY,
|
|
15
28
|
DEFAULT_FREQUENCY_DAYS,
|
|
16
|
-
|
|
29
|
+
DEFAULT_NOTIFICATION_PREFERENCES,
|
|
30
|
+
EVENT_TYPE_NAMES,
|
|
31
|
+
e5 as FeatureGridVariant,
|
|
17
32
|
F as FeaturesVariant,
|
|
18
33
|
G as GradientVariant,
|
|
19
34
|
H as HeroVariant,
|
|
20
35
|
L as LARGE_PANEL_VARIANTS,
|
|
36
|
+
MAX_NOTIFICATION_MESSAGE_LENGTH,
|
|
37
|
+
MAX_NOTIFICATION_TITLE_LENGTH,
|
|
21
38
|
M as MinimalVariant,
|
|
39
|
+
NOTIFICATION_COLLECTIONS,
|
|
22
40
|
PLACEMENT_NAMES,
|
|
23
41
|
PLATFORM_NAMES,
|
|
42
|
+
PRIORITY_NAMES,
|
|
43
|
+
P as PROMOTIONAL_TEMPLATES,
|
|
44
|
+
R as REPORT_TEMPLATES,
|
|
24
45
|
S as SMALL_PANEL_VARIANTS,
|
|
46
|
+
j5 as STANDARD_EVENTS,
|
|
47
|
+
S2 as SYSTEM_TEMPLATES,
|
|
48
|
+
TYPE_NAMES,
|
|
25
49
|
T as TaglineVariant,
|
|
26
|
-
|
|
50
|
+
f5 as TestimonialVariant,
|
|
27
51
|
VARIANT_NAMES,
|
|
28
52
|
V as VideoVariant,
|
|
53
|
+
a3 as adminNotificationService,
|
|
54
|
+
j2 as clearBroadcastsCache,
|
|
29
55
|
m as clearCampaignsCache,
|
|
56
|
+
h2 as clearDismissedBroadcasts,
|
|
30
57
|
n as clearProductsCache,
|
|
58
|
+
c3 as createBroadcast,
|
|
59
|
+
h3 as createTemplate,
|
|
60
|
+
d6 as defaultFormatters,
|
|
61
|
+
d3 as deleteBroadcast,
|
|
62
|
+
j3 as deleteTemplate,
|
|
63
|
+
e2 as dismissBroadcast,
|
|
64
|
+
f3 as endBroadcast,
|
|
65
|
+
k4 as eventRegistry,
|
|
66
|
+
e6 as extractVariables,
|
|
67
|
+
a2 as fetchActiveBroadcasts,
|
|
31
68
|
h as fetchActiveCampaigns,
|
|
69
|
+
f2 as fetchBroadcasts,
|
|
70
|
+
b2 as fetchBroadcastsByVariant,
|
|
32
71
|
f as fetchCampaigns,
|
|
33
72
|
k as fetchProducts,
|
|
73
|
+
g3 as getAllBroadcasts,
|
|
74
|
+
n3 as getAllEventTypes,
|
|
75
|
+
k2 as getAllTemplates,
|
|
76
|
+
n2 as getBroadcastAnalytics,
|
|
77
|
+
g2 as getBroadcastById,
|
|
78
|
+
b3 as getBroadcastsByStatus,
|
|
34
79
|
j as getCampaignById,
|
|
35
80
|
u as getCampaignHistory,
|
|
36
81
|
d as getConfig,
|
|
37
82
|
c as getDeviceId,
|
|
38
83
|
s as getEligibleCampaignIds,
|
|
39
|
-
|
|
84
|
+
h5 as getEnabledTemplates,
|
|
85
|
+
l3 as getEventDefinition,
|
|
86
|
+
m3 as getEventsByCategory,
|
|
87
|
+
m2 as getFirestoreTemplateByEventType,
|
|
88
|
+
i4 as getLargePanelVariant,
|
|
89
|
+
getNotificationCollections,
|
|
90
|
+
o2 as getOverallAnalytics,
|
|
40
91
|
l as getProductById,
|
|
41
92
|
g as getSharedFeaturesApp,
|
|
42
93
|
b as getSharedFeaturesAuth,
|
|
43
94
|
a as getSharedFeaturesDb,
|
|
44
|
-
|
|
95
|
+
g4 as getSmallPanelVariant,
|
|
96
|
+
g5 as getTemplateByEventType,
|
|
97
|
+
l2 as getTemplateById,
|
|
98
|
+
f6 as getTemplatesByCategory,
|
|
45
99
|
i as initSharedFeatures,
|
|
100
|
+
i5 as interpolate,
|
|
101
|
+
a7 as interpolateWithFormatters,
|
|
102
|
+
i2 as isBroadcastDismissed,
|
|
46
103
|
q as isEligibleForCampaign,
|
|
47
104
|
e as isInitialized,
|
|
105
|
+
e3 as pauseBroadcast,
|
|
106
|
+
p2 as publishBroadcast,
|
|
107
|
+
r2 as recordBroadcastEvent,
|
|
48
108
|
r as recordImpression,
|
|
109
|
+
r3 as registerCustomEvent,
|
|
110
|
+
s3 as scheduleBroadcast,
|
|
111
|
+
s2 as subscribeToBroadcasts,
|
|
112
|
+
c2 as trackBroadcastClick,
|
|
113
|
+
d2 as trackBroadcastDismiss,
|
|
114
|
+
t2 as trackBroadcastImpression,
|
|
49
115
|
o as trackClick,
|
|
50
116
|
p as trackClose,
|
|
51
117
|
t as trackImpression,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
118
|
+
u2 as updateBroadcast,
|
|
119
|
+
i3 as updateTemplate,
|
|
120
|
+
f4 as useAnnouncementModal,
|
|
121
|
+
a5 as useBannerBroadcasts,
|
|
122
|
+
d4 as useBellBroadcasts,
|
|
123
|
+
u4 as useBroadcasts,
|
|
124
|
+
a4 as useCampaign,
|
|
125
|
+
u3 as useCampaigns,
|
|
126
|
+
b5 as useModalBroadcasts,
|
|
127
|
+
u5 as useNotificationEvents,
|
|
128
|
+
b4 as useOneTimeAdModal,
|
|
129
|
+
e4 as useSingleBroadcast,
|
|
130
|
+
c5 as useToastBroadcasts,
|
|
131
|
+
c4 as useUpdateAdModal,
|
|
132
|
+
v as validateContext
|
|
56
133
|
};
|
|
57
134
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Notification Events Index
|
|
3
|
+
*
|
|
4
|
+
* Exports all event system components.
|
|
5
|
+
*
|
|
6
|
+
* @author Ahsan Mahmood <aoneahsan@gmail.com>
|
|
7
|
+
*/
|
|
8
|
+
export { interpolate, interpolateWithFormatters, extractVariables, validateContext, defaultFormatters, } from './templates/engine';
|
|
9
|
+
export type { TemplateContext, InterpolateOptions } from './templates/engine';
|
|
10
|
+
export { ACCOUNT_TEMPLATES, REPORT_TEMPLATES, PROMOTIONAL_TEMPLATES, SYSTEM_TEMPLATES, ACTIVITY_TEMPLATES, ALL_STANDARD_TEMPLATES, getTemplateByEventType, getTemplatesByCategory, getEnabledTemplates, } from './templates/standard';
|
|
11
|
+
export { STANDARD_EVENTS, eventRegistry, getEventDefinition, getEventsByCategory, registerCustomEvent, getAllEventTypes, } from './registry';
|
|
12
|
+
export { useNotificationEvents, } from './useNotificationEvents';
|
|
13
|
+
export type { UseNotificationEventsOptions } from './useNotificationEvents';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/notifications/events/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { NotificationEventDefinition, StandardEventType, NotificationCategory } from '../../types/notifications';
|
|
2
|
+
/**
|
|
3
|
+
* Standard event definitions with metadata
|
|
4
|
+
*/
|
|
5
|
+
export declare const STANDARD_EVENTS: Record<StandardEventType, NotificationEventDefinition>;
|
|
6
|
+
/**
|
|
7
|
+
* Event registry for managing notification events
|
|
8
|
+
*/
|
|
9
|
+
declare class EventRegistry {
|
|
10
|
+
private events;
|
|
11
|
+
private customEvents;
|
|
12
|
+
constructor();
|
|
13
|
+
/**
|
|
14
|
+
* Register a custom event
|
|
15
|
+
*/
|
|
16
|
+
register(event: NotificationEventDefinition): void;
|
|
17
|
+
/**
|
|
18
|
+
* Unregister a custom event
|
|
19
|
+
*/
|
|
20
|
+
unregister(eventType: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Get event definition by type
|
|
23
|
+
*/
|
|
24
|
+
get(eventType: string): NotificationEventDefinition | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Check if event type exists
|
|
27
|
+
*/
|
|
28
|
+
has(eventType: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Get all events
|
|
31
|
+
*/
|
|
32
|
+
getAll(): NotificationEventDefinition[];
|
|
33
|
+
/**
|
|
34
|
+
* Get events by category
|
|
35
|
+
*/
|
|
36
|
+
getByCategory(category: NotificationCategory): NotificationEventDefinition[];
|
|
37
|
+
/**
|
|
38
|
+
* Get all custom events
|
|
39
|
+
*/
|
|
40
|
+
getCustomEvents(): NotificationEventDefinition[];
|
|
41
|
+
/**
|
|
42
|
+
* Get all standard events
|
|
43
|
+
*/
|
|
44
|
+
getStandardEvents(): NotificationEventDefinition[];
|
|
45
|
+
/**
|
|
46
|
+
* Check if event type is standard
|
|
47
|
+
*/
|
|
48
|
+
isStandardEvent(eventType: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Reset registry to standard events only
|
|
51
|
+
*/
|
|
52
|
+
reset(): void;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Global event registry instance
|
|
56
|
+
*/
|
|
57
|
+
export declare const eventRegistry: EventRegistry;
|
|
58
|
+
/**
|
|
59
|
+
* Get event definition
|
|
60
|
+
*/
|
|
61
|
+
export declare function getEventDefinition(eventType: StandardEventType | string): NotificationEventDefinition | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Get events by category
|
|
64
|
+
*/
|
|
65
|
+
export declare function getEventsByCategory(category: NotificationCategory): NotificationEventDefinition[];
|
|
66
|
+
/**
|
|
67
|
+
* Register a custom event
|
|
68
|
+
*/
|
|
69
|
+
export declare function registerCustomEvent(event: NotificationEventDefinition): void;
|
|
70
|
+
/**
|
|
71
|
+
* Get all event types
|
|
72
|
+
*/
|
|
73
|
+
export declare function getAllEventTypes(): string[];
|
|
74
|
+
export {};
|
|
75
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/notifications/events/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAMnC;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAsOlF,CAAC;AAMF;;GAEG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAuD;IACrE,OAAO,CAAC,YAAY,CAAuD;;IAS3E;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI;IAKlD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAStC;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS;IAI/D;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI/B;;OAEG;IACH,MAAM,IAAI,2BAA2B,EAAE;IAIvC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,oBAAoB,GAAG,2BAA2B,EAAE;IAI5E;;OAEG;IACH,eAAe,IAAI,2BAA2B,EAAE;IAIhD;;OAEG;IACH,iBAAiB,IAAI,2BAA2B,EAAE;IAIlD;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI3C;;OAEG;IACH,KAAK,IAAI,IAAI;CAOd;AAMD;;GAEG;AACH,eAAO,MAAM,aAAa,eAAsB,CAAC;AAMjD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,iBAAiB,GAAG,MAAM,GACpC,2BAA2B,GAAG,SAAS,CAEzC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,GAC7B,2BAA2B,EAAE,CAE/B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,2BAA2B,GACjC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Engine
|
|
3
|
+
*
|
|
4
|
+
* Simple template interpolation for notification messages.
|
|
5
|
+
* Supports {{variable}} syntax for dynamic content.
|
|
6
|
+
*
|
|
7
|
+
* @author Ahsan Mahmood <aoneahsan@gmail.com>
|
|
8
|
+
*/
|
|
9
|
+
export interface TemplateContext {
|
|
10
|
+
[key: string]: string | number | boolean | undefined | null;
|
|
11
|
+
}
|
|
12
|
+
export interface InterpolateOptions {
|
|
13
|
+
/** Whether to throw on missing variables (default: false) */
|
|
14
|
+
strict?: boolean;
|
|
15
|
+
/** Default value for missing variables (default: '') */
|
|
16
|
+
defaultValue?: string;
|
|
17
|
+
/** Custom formatters for values */
|
|
18
|
+
formatters?: Record<string, (value: unknown) => string>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Interpolate template variables in a string
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* interpolate('Hello, {{name}}!', { name: 'John' });
|
|
26
|
+
* // => 'Hello, John!'
|
|
27
|
+
*
|
|
28
|
+
* interpolate('You have {{count}} items', { count: 5 });
|
|
29
|
+
* // => 'You have 5 items'
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function interpolate(template: string, context: TemplateContext, options?: InterpolateOptions): string;
|
|
33
|
+
/**
|
|
34
|
+
* Extract all variable names from a template
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* extractVariables('Hello, {{name}}! You have {{count}} items.');
|
|
39
|
+
* // => ['name', 'count']
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function extractVariables(template: string): string[];
|
|
43
|
+
/**
|
|
44
|
+
* Validate that all required variables are provided
|
|
45
|
+
*/
|
|
46
|
+
export declare function validateContext(template: string, context: TemplateContext): {
|
|
47
|
+
valid: boolean;
|
|
48
|
+
missing: string[];
|
|
49
|
+
};
|
|
50
|
+
export declare const defaultFormatters: Record<string, (value: unknown) => string>;
|
|
51
|
+
/**
|
|
52
|
+
* Interpolate with default formatters
|
|
53
|
+
*/
|
|
54
|
+
export declare function interpolateWithFormatters(template: string, context: TemplateContext, options?: Omit<InterpolateOptions, 'formatters'> & {
|
|
55
|
+
customFormatters?: Record<string, (value: unknown) => string>;
|
|
56
|
+
}): string;
|
|
57
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../src/notifications/events/templates/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;CAC7D;AAED,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;CACzD;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CA6BR;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAgB3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,GACvB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAUvC;AAMD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAwExE,CAAC;AAEF;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,GAAG;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;CAC1D,GACL,MAAM,CAOR"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NotificationTemplate, StandardEventType, NotificationCategory } from '../../../types/notifications';
|
|
2
|
+
export declare const ACCOUNT_TEMPLATES: NotificationTemplate[];
|
|
3
|
+
export declare const REPORT_TEMPLATES: NotificationTemplate[];
|
|
4
|
+
export declare const PROMOTIONAL_TEMPLATES: NotificationTemplate[];
|
|
5
|
+
export declare const SYSTEM_TEMPLATES: NotificationTemplate[];
|
|
6
|
+
export declare const ACTIVITY_TEMPLATES: NotificationTemplate[];
|
|
7
|
+
export declare const ALL_STANDARD_TEMPLATES: NotificationTemplate[];
|
|
8
|
+
/**
|
|
9
|
+
* Get template by event type
|
|
10
|
+
*/
|
|
11
|
+
export declare function getTemplateByEventType(eventType: StandardEventType | string): NotificationTemplate | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Get templates by category
|
|
14
|
+
*/
|
|
15
|
+
export declare function getTemplatesByCategory(category: NotificationCategory): NotificationTemplate[];
|
|
16
|
+
/**
|
|
17
|
+
* Get all enabled templates
|
|
18
|
+
*/
|
|
19
|
+
export declare function getEnabledTemplates(): NotificationTemplate[];
|
|
20
|
+
//# sourceMappingURL=standard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard.d.ts","sourceRoot":"","sources":["../../../../src/notifications/events/templates/standard.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AAMtC,eAAO,MAAM,iBAAiB,EAAE,oBAAoB,EAmFnD,CAAC;AAMF,eAAO,MAAM,gBAAgB,EAAE,oBAAoB,EAqElD,CAAC;AAMF,eAAO,MAAM,qBAAqB,EAAE,oBAAoB,EA6DvD,CAAC;AAMF,eAAO,MAAM,gBAAgB,EAAE,oBAAoB,EAkDlD,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,oBAAoB,EA0DpD,CAAC;AAMF,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,EAMxD,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,iBAAiB,GAAG,MAAM,GACpC,oBAAoB,GAAG,SAAS,CAElC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,oBAAoB,GAC7B,oBAAoB,EAAE,CAExB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,oBAAoB,EAAE,CAE5D"}
|