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.
Files changed (92) hide show
  1. package/README.md +2 -0
  2. package/dist/{AdBanner-D-KuNTje.cjs → AnnouncementModal-Bqy0pn3V.cjs} +432 -4
  3. package/dist/AnnouncementModal-Bqy0pn3V.cjs.map +1 -0
  4. package/dist/{AdBanner-Ben0vVXV.js → AnnouncementModal-sxH4K5gy.js} +434 -6
  5. package/dist/AnnouncementModal-sxH4K5gy.js.map +1 -0
  6. package/dist/admin-notifications-D9n9h-eY.cjs +362 -0
  7. package/dist/admin-notifications-D9n9h-eY.cjs.map +1 -0
  8. package/dist/admin-notifications-p1dy3zIP.js +363 -0
  9. package/dist/admin-notifications-p1dy3zIP.js.map +1 -0
  10. package/dist/{analytics-CdpCtTpu.js → analytics-40-S_fHC.js} +3 -2
  11. package/dist/{analytics-CdpCtTpu.js.map → analytics-40-S_fHC.js.map} +1 -1
  12. package/dist/{analytics--ZSO9ova.cjs → analytics-lEzOx2vl.cjs} +2 -1
  13. package/dist/{analytics--ZSO9ova.cjs.map → analytics-lEzOx2vl.cjs.map} +1 -1
  14. package/dist/broadcasts-3_WfQMNL.cjs +278 -0
  15. package/dist/broadcasts-3_WfQMNL.cjs.map +1 -0
  16. package/dist/broadcasts-DgZUzqMf.js +257 -0
  17. package/dist/broadcasts-DgZUzqMf.js.map +1 -0
  18. package/dist/components/ads/AdModal.d.ts.map +1 -1
  19. package/dist/components/index.cjs +23 -20
  20. package/dist/components/index.cjs.map +1 -1
  21. package/dist/components/index.d.ts +1 -0
  22. package/dist/components/index.d.ts.map +1 -1
  23. package/dist/components/index.js +4 -1
  24. package/dist/components/notifications/AnnouncementModal.d.ts +21 -0
  25. package/dist/components/notifications/AnnouncementModal.d.ts.map +1 -0
  26. package/dist/components/notifications/BroadcastBanner.d.ts +55 -0
  27. package/dist/components/notifications/BroadcastBanner.d.ts.map +1 -0
  28. package/dist/components/notifications/index.d.ts +11 -0
  29. package/dist/components/notifications/index.d.ts.map +1 -0
  30. package/dist/hooks/index.cjs +9 -1
  31. package/dist/hooks/index.cjs.map +1 -1
  32. package/dist/hooks/index.d.ts +2 -0
  33. package/dist/hooks/index.d.ts.map +1 -1
  34. package/dist/hooks/index.js +9 -1
  35. package/dist/hooks/index.js.map +1 -1
  36. package/dist/hooks/useBroadcasts.d.ts +122 -0
  37. package/dist/hooks/useBroadcasts.d.ts.map +1 -0
  38. package/dist/index.cjs +99 -22
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.ts +2 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +94 -17
  43. package/dist/index.js.map +1 -1
  44. package/dist/notifications/events/index.d.ts +14 -0
  45. package/dist/notifications/events/index.d.ts.map +1 -0
  46. package/dist/notifications/events/registry.d.ts +75 -0
  47. package/dist/notifications/events/registry.d.ts.map +1 -0
  48. package/dist/notifications/events/templates/engine.d.ts +57 -0
  49. package/dist/notifications/events/templates/engine.d.ts.map +1 -0
  50. package/dist/notifications/events/templates/standard.d.ts +20 -0
  51. package/dist/notifications/events/templates/standard.d.ts.map +1 -0
  52. package/dist/notifications/events/useNotificationEvents.d.ts +36 -0
  53. package/dist/notifications/events/useNotificationEvents.d.ts.map +1 -0
  54. package/dist/notifications/index.cjs +25 -0
  55. package/dist/notifications/index.cjs.map +1 -0
  56. package/dist/notifications/index.d.ts +9 -0
  57. package/dist/notifications/index.d.ts.map +1 -0
  58. package/dist/notifications/index.js +25 -0
  59. package/dist/notifications/index.js.map +1 -0
  60. package/dist/services/admin-notifications.d.ts +95 -0
  61. package/dist/services/admin-notifications.d.ts.map +1 -0
  62. package/dist/services/broadcasts.d.ts +55 -0
  63. package/dist/services/broadcasts.d.ts.map +1 -0
  64. package/dist/services/index.cjs +34 -1
  65. package/dist/services/index.cjs.map +1 -1
  66. package/dist/services/index.d.ts +2 -0
  67. package/dist/services/index.d.ts.map +1 -1
  68. package/dist/services/index.js +35 -2
  69. package/dist/services/index.js.map +1 -1
  70. package/dist/types/index.cjs +108 -0
  71. package/dist/types/index.cjs.map +1 -1
  72. package/dist/types/index.d.ts +1 -0
  73. package/dist/types/index.d.ts.map +1 -1
  74. package/dist/types/index.js +109 -1
  75. package/dist/types/index.js.map +1 -1
  76. package/dist/types/notifications.d.ts +634 -0
  77. package/dist/types/notifications.d.ts.map +1 -0
  78. package/dist/useBroadcasts-DzpCcbC8.js +161 -0
  79. package/dist/useBroadcasts-DzpCcbC8.js.map +1 -0
  80. package/dist/useBroadcasts-FP6ZrcY_.cjs +160 -0
  81. package/dist/useBroadcasts-FP6ZrcY_.cjs.map +1 -0
  82. package/dist/{useCampaigns-Dltisb9N.cjs → useCampaigns-BOZ9dDsG.cjs} +2 -2
  83. package/dist/{useCampaigns-Dltisb9N.cjs.map → useCampaigns-BOZ9dDsG.cjs.map} +1 -1
  84. package/dist/{useCampaigns-nwfsALsN.js → useCampaigns-D46b9zuf.js} +2 -2
  85. package/dist/{useCampaigns-nwfsALsN.js.map → useCampaigns-D46b9zuf.js.map} +1 -1
  86. package/dist/useNotificationEvents-BXeMqdak.cjs +954 -0
  87. package/dist/useNotificationEvents-BXeMqdak.cjs.map +1 -0
  88. package/dist/useNotificationEvents-D8DVxah1.js +955 -0
  89. package/dist/useNotificationEvents-D8DVxah1.js.map +1 -0
  90. package/package.json +13 -5
  91. package/dist/AdBanner-Ben0vVXV.js.map +0 -1
  92. 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--ZSO9ova.cjs");
3
+ const analytics = require("./analytics-lEzOx2vl.cjs");
4
4
  const types_index = require("./types/index.cjs");
5
- const useCampaigns = require("./useCampaigns-Dltisb9N.cjs");
6
- const AdBanner = require("./AdBanner-D-KuNTje.cjs");
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.AdBanner = AdBanner.AdBanner;
39
- exports.AdModal = AdBanner.AdModal;
40
- exports.AdPanel = AdBanner.AdPanel;
41
- exports.AdSlider = AdBanner.AdSlider;
42
- exports.AdUpdateModal = AdBanner.AdUpdateModal;
43
- exports.CardVariant = AdBanner.CardVariant;
44
- exports.ComparisonVariant = AdBanner.ComparisonVariant;
45
- exports.FeatureGridVariant = AdBanner.FeatureGridVariant;
46
- exports.FeaturesVariant = AdBanner.FeaturesVariant;
47
- exports.GradientVariant = AdBanner.GradientVariant;
48
- exports.HeroVariant = AdBanner.HeroVariant;
49
- exports.LARGE_PANEL_VARIANTS = AdBanner.LARGE_PANEL_VARIANTS;
50
- exports.MinimalVariant = AdBanner.MinimalVariant;
51
- exports.SMALL_PANEL_VARIANTS = AdBanner.SMALL_PANEL_VARIANTS;
52
- exports.TaglineVariant = AdBanner.TaglineVariant;
53
- exports.TestimonialVariant = AdBanner.TestimonialVariant;
54
- exports.VideoVariant = AdBanner.VideoVariant;
55
- exports.getLargePanelVariant = AdBanner.getLargePanelVariant;
56
- exports.getSmallPanelVariant = AdBanner.getSmallPanelVariant;
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
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;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"}
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-CdpCtTpu.js";
2
- import { COLLECTIONS, DEFAULT_CAMPAIGN_PRIORITY, DEFAULT_FREQUENCY_DAYS, PLACEMENT_NAMES, PLATFORM_NAMES, VARIANT_NAMES } from "./types/index.js";
3
- import { a as a2, u as u2, b as b2, c as c2 } from "./useCampaigns-nwfsALsN.js";
4
- import { d as d2, b as b3, A, a as a3, c as c3, C, h as h2, e as e2, F, G, H, L, M, S, T, f as f2, V, i as i2, g as g2 } from "./AdBanner-Ben0vVXV.js";
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
- d2 as AdBanner,
7
- b3 as AdModal,
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
- a3 as AdSlider,
10
- c3 as AdUpdateModal,
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
- h2 as ComparisonVariant,
25
+ h4 as ComparisonVariant,
26
+ DEFAULT_BROADCAST_PRIORITY,
14
27
  DEFAULT_CAMPAIGN_PRIORITY,
15
28
  DEFAULT_FREQUENCY_DAYS,
16
- e2 as FeatureGridVariant,
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
- f2 as TestimonialVariant,
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
- i2 as getLargePanelVariant,
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
- g2 as getSmallPanelVariant,
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
- a2 as useCampaign,
53
- u2 as useCampaigns,
54
- b2 as useOneTimeAdModal,
55
- c2 as useUpdateAdModal
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"}