@novu/js 3.5.0-rc.2 → 3.5.0-rc.3

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.
@@ -67,26 +67,36 @@ var isSameFilter = (filter1, filter2) => {
67
67
 
68
68
  // src/api/http-client.ts
69
69
  var DEFAULT_API_VERSION = "v1";
70
- var DEFAULT_BACKEND_URL = "https://api.novu.co";
71
70
  var DEFAULT_USER_AGENT = `${"@novu/js"}@${"3.5.0-rc.2"}`;
72
71
  var HttpClient = class {
73
72
  constructor(options = {}) {
73
+ // Environment variable for local development that overrides the default API endpoint without affecting the Inbox DX
74
+ this.DEFAULT_BACKEND_URL = typeof window !== "undefined" && window.NOVU_LOCAL_BACKEND_URL || "https://api.novu.co";
74
75
  const {
75
76
  apiVersion = DEFAULT_API_VERSION,
76
- apiUrl = DEFAULT_BACKEND_URL,
77
- userAgent = DEFAULT_USER_AGENT
77
+ apiUrl = this.DEFAULT_BACKEND_URL,
78
+ userAgent = DEFAULT_USER_AGENT,
79
+ headers = {}
78
80
  } = options || {};
79
81
  this.apiVersion = apiVersion;
80
- this.apiUrl = `${apiUrl}/${this.apiVersion}`;
81
- this.headers = {
82
+ this.apiUrl = `${apiUrl}/${apiVersion}`;
83
+ this.headers = __spreadValues({
82
84
  "Novu-API-Version": "2024-06-26",
83
85
  "Content-Type": "application/json",
84
86
  "User-Agent": userAgent
85
- };
87
+ }, headers);
86
88
  }
87
89
  setAuthorizationToken(token) {
88
90
  this.headers.Authorization = `Bearer ${token}`;
89
91
  }
92
+ setKeylessHeader(identifier) {
93
+ var _a;
94
+ const keylessAppIdentifier = identifier || typeof window !== "undefined" && ((_a = window.localStorage) == null ? void 0 : _a.getItem("novu_keyless_application_identifier"));
95
+ if (!keylessAppIdentifier || !keylessAppIdentifier.startsWith("pk_keyless_")) {
96
+ return;
97
+ }
98
+ this.headers["Novu-Application-Identifier"] = keylessAppIdentifier;
99
+ }
90
100
  setHeaders(headers) {
91
101
  this.headers = __spreadValues(__spreadValues({}, this.headers), headers);
92
102
  }
@@ -102,13 +112,14 @@ var HttpClient = class {
102
112
  });
103
113
  });
104
114
  }
105
- post(path, body) {
115
+ post(path, body, options) {
106
116
  return __async(this, null, function* () {
107
117
  return this.doFetch({
108
118
  path,
109
119
  options: {
110
120
  method: "POST",
111
- body
121
+ body,
122
+ headers: options == null ? void 0 : options.headers
112
123
  }
113
124
  });
114
125
  });
@@ -192,6 +203,7 @@ var InboxService = class {
192
203
  subscriber
193
204
  });
194
205
  __privateGet(this, _httpClient).setAuthorizationToken(response.token);
206
+ __privateGet(this, _httpClient).setKeylessHeader(response.applicationIdentifier);
195
207
  this.isSessionInitialized = true;
196
208
  return response;
197
209
  });
@@ -313,6 +325,23 @@ var InboxService = class {
313
325
  }) {
314
326
  return __privateGet(this, _httpClient).patch(`${INBOX_ROUTE}/preferences/${workflowId}`, channels);
315
327
  }
328
+ triggerHelloWorldEvent() {
329
+ const payload = {
330
+ name: "hello-world",
331
+ to: {
332
+ subscriberId: "keyless-subscriber-id"
333
+ },
334
+ payload: {
335
+ subject: "Novu Keyless Environment",
336
+ body: "You're using a keyless demo environment. For full access to Novu features and cloud integration, obtain your API key.",
337
+ primaryActionText: "Obtain API Key",
338
+ primaryActionUrl: "https://go.novu.co/keyless?utm_campaign=keyless-api-key",
339
+ secondaryActionText: "Explore Documentation",
340
+ secondaryActionUrl: "https://go.novu.co/keyless?utm_campaign=docs"
341
+ }
342
+ };
343
+ return __privateGet(this, _httpClient).post("/inbox/events", payload);
344
+ }
316
345
  };
317
346
  _httpClient = new WeakMap();
318
347
  var _mittEmitter;
@@ -1394,6 +1423,11 @@ var Notifications = class extends BaseModule {
1394
1423
  }
1395
1424
  return this.cache.clearAll();
1396
1425
  }
1426
+ triggerHelloWorldEvent() {
1427
+ return __async(this, null, function* () {
1428
+ return this._inboxService.triggerHelloWorldEvent();
1429
+ });
1430
+ }
1397
1431
  };
1398
1432
  _useCache = new WeakMap();
1399
1433
 
@@ -1757,18 +1791,58 @@ var Session = class {
1757
1791
  return __privateGet(this, _options).applicationIdentifier;
1758
1792
  }
1759
1793
  get subscriberId() {
1760
- return __privateGet(this, _options).subscriber.subscriberId;
1794
+ var _a;
1795
+ return (_a = __privateGet(this, _options).subscriber) == null ? void 0 : _a.subscriberId;
1796
+ }
1797
+ handleApplicationIdentifier(method, identifier) {
1798
+ if (typeof window === "undefined" || !window.localStorage) {
1799
+ return null;
1800
+ }
1801
+ const key = "novu_keyless_application_identifier";
1802
+ switch (method) {
1803
+ case "get": {
1804
+ return window.localStorage.getItem(key);
1805
+ }
1806
+ case "store": {
1807
+ if (identifier) {
1808
+ window.localStorage.setItem(key, identifier);
1809
+ }
1810
+ return null;
1811
+ }
1812
+ case "delete": {
1813
+ window.localStorage.removeItem(key);
1814
+ return null;
1815
+ }
1816
+ default:
1817
+ return null;
1818
+ }
1761
1819
  }
1762
1820
  initialize() {
1763
1821
  return __async(this, null, function* () {
1822
+ var _a, _b;
1764
1823
  try {
1765
- const { applicationIdentifier, subscriberHash, subscriber } = __privateGet(this, _options);
1824
+ const { subscriber, subscriberHash, applicationIdentifier } = __privateGet(this, _options);
1825
+ let finalApplicationIdentifier = applicationIdentifier;
1826
+ if (!finalApplicationIdentifier) {
1827
+ const storedAppId = this.handleApplicationIdentifier("get");
1828
+ if (storedAppId) {
1829
+ finalApplicationIdentifier = storedAppId;
1830
+ }
1831
+ } else {
1832
+ this.handleApplicationIdentifier("delete");
1833
+ }
1766
1834
  __privateGet(this, _emitter5).emit("session.initialize.pending", { args: __privateGet(this, _options) });
1767
1835
  const response = yield __privateGet(this, _inboxService2).initializeSession({
1768
- applicationIdentifier,
1836
+ applicationIdentifier: finalApplicationIdentifier,
1769
1837
  subscriberHash,
1770
1838
  subscriber
1771
1839
  });
1840
+ if ((_a = response == null ? void 0 : response.applicationIdentifier) == null ? void 0 : _a.startsWith("pk_keyless_")) {
1841
+ this.handleApplicationIdentifier("store", response.applicationIdentifier);
1842
+ }
1843
+ if (!((_b = response == null ? void 0 : response.applicationIdentifier) == null ? void 0 : _b.startsWith("pk_keyless_"))) {
1844
+ this.handleApplicationIdentifier("delete");
1845
+ }
1772
1846
  __privateGet(this, _emitter5).emit("session.initialize.resolved", { args: __privateGet(this, _options), data: response });
1773
1847
  } catch (error) {
1774
1848
  __privateGet(this, _emitter5).emit("session.initialize.resolved", { args: __privateGet(this, _options), error });
@@ -1990,11 +2064,11 @@ var Novu = class {
1990
2064
  }));
1991
2065
  __privateSet(this, _emitter7, new NovuEventEmitter());
1992
2066
  __privateSet(this, _session, new Session(
1993
- {
2067
+ options.applicationIdentifier ? {
1994
2068
  applicationIdentifier: options.applicationIdentifier,
1995
2069
  subscriberHash: options.subscriberHash,
1996
2070
  subscriber: buildSubscriber(options)
1997
- },
2071
+ } : {},
1998
2072
  __privateGet(this, _inboxService3),
1999
2073
  __privateGet(this, _emitter7)
2000
2074
  ));
@@ -2038,13 +2112,13 @@ _emitter7 = new WeakMap();
2038
2112
  _session = new WeakMap();
2039
2113
  _inboxService3 = new WeakMap();
2040
2114
  function buildSubscriber(options) {
2041
- let subscriberObj;
2042
2115
  if (options.subscriber) {
2043
- subscriberObj = typeof options.subscriber === "string" ? { subscriberId: options.subscriber } : options.subscriber;
2044
- } else {
2045
- subscriberObj = { subscriberId: options.subscriberId };
2116
+ return typeof options.subscriber === "string" ? { subscriberId: options.subscriber } : options.subscriber;
2117
+ }
2118
+ if (options.subscriberId) {
2119
+ return { subscriberId: options.subscriberId };
2046
2120
  }
2047
- return subscriberObj;
2121
+ return { subscriberId: "" };
2048
2122
  }
2049
2123
 
2050
- export { ChannelType, NotificationStatus, Novu, PreferenceLevel, WebSocketEvent, areTagsEqual, isSameFilter };
2124
+ export { ChannelType, DEFAULT_API_VERSION, NotificationStatus, Novu, PreferenceLevel, WebSocketEvent, areTagsEqual, isSameFilter };
@@ -1,5 +1,5 @@
1
- import { N as NotificationFilter } from './novu-q3jzGeyW.mjs';
2
- export { C as ChannelPreference, c as ChannelType, E as EventHandler, a as Events, F as FiltersCountResponse, I as InboxNotification, L as ListNotificationsResponse, d as Notification, e as NotificationStatus, b as Novu, f as NovuError, g as NovuOptions, P as Preference, h as PreferenceLevel, i as PreferencesResponse, S as SocketEventNames, j as Subscriber, W as WebSocketEvent } from './novu-q3jzGeyW.mjs';
1
+ import { N as NotificationFilter } from './novu-Bocb1dH9.mjs';
2
+ export { C as ChannelPreference, c as ChannelType, E as EventHandler, a as Events, F as FiltersCountResponse, I as InboxNotification, L as ListNotificationsResponse, d as Notification, e as NotificationStatus, b as Novu, f as NovuError, g as NovuOptions, P as Preference, i as PreferenceLevel, j as PreferencesResponse, S as SocketEventNames, h as StandardNovuOptions, k as Subscriber, W as WebSocketEvent } from './novu-Bocb1dH9.mjs';
3
3
 
4
4
  declare const areTagsEqual: (tags1?: string[], tags2?: string[]) => boolean;
5
5
  declare const isSameFilter: (filter1: NotificationFilter, filter2: NotificationFilter) => boolean;
@@ -1,2 +1,2 @@
1
- export { ChannelType, NotificationStatus, Novu, PreferenceLevel, WebSocketEvent, areTagsEqual, isSameFilter } from './chunk-GPGRFVOZ.mjs';
1
+ export { ChannelType, NotificationStatus, Novu, PreferenceLevel, WebSocketEvent, areTagsEqual, isSameFilter } from './chunk-T4OFEC3E.mjs';
2
2
  import './chunk-STZMOEWR.mjs';
@@ -1,3 +1,10 @@
1
+ type HttpClientOptions = {
2
+ apiVersion?: string;
3
+ apiUrl?: string;
4
+ userAgent?: string;
5
+ headers?: Record<string, string>;
6
+ };
7
+
1
8
  declare class NovuError extends Error {
2
9
  originalError: Error;
3
10
  constructor(message: string, originalError: unknown);
@@ -88,6 +95,7 @@ type Session = {
88
95
  removeNovuBranding: boolean;
89
96
  isDevelopmentMode: boolean;
90
97
  maxSnoozeDurationHours: number;
98
+ applicationIdentifier?: string;
91
99
  };
92
100
  type Subscriber = {
93
101
  id?: string;
@@ -177,7 +185,10 @@ type Result<D = undefined, E = NovuError> = Promise<{
177
185
  data?: D;
178
186
  error?: E;
179
187
  }>;
180
- type NovuOptions = {
188
+ type KeylessNovuOptions = {} & {
189
+ [K in string]?: never;
190
+ };
191
+ type StandardNovuOptions = {
181
192
  /** @deprecated Use apiUrl instead */
182
193
  backendUrl?: string;
183
194
  /** @internal Should be used internally for testing purposes */
@@ -195,25 +206,20 @@ type NovuOptions = {
195
206
  subscriber: Subscriber | string;
196
207
  subscriberId?: never;
197
208
  });
209
+ type NovuOptions = KeylessNovuOptions | StandardNovuOptions;
198
210
  type Prettify<T> = {
199
211
  [K in keyof T]: T[K];
200
212
  } & {};
201
213
 
202
- type HttpClientOptions = {
203
- apiVersion?: string;
204
- apiUrl?: string;
205
- userAgent?: string;
206
- };
207
-
208
214
  type InboxServiceOptions = HttpClientOptions;
209
215
  declare class InboxService {
210
216
  #private;
211
217
  isSessionInitialized: boolean;
212
218
  constructor(options?: InboxServiceOptions);
213
219
  initializeSession({ applicationIdentifier, subscriberHash, subscriber, }: {
214
- applicationIdentifier: string;
220
+ applicationIdentifier?: string;
215
221
  subscriberHash?: string;
216
- subscriber: Subscriber;
222
+ subscriber?: Subscriber;
217
223
  }): Promise<Session>;
218
224
  fetchNotifications({ after, archived, limit, offset, read, tags, snoozed, data, }: {
219
225
  tags?: string[];
@@ -277,6 +283,7 @@ declare class InboxService {
277
283
  workflowId: string;
278
284
  channels: ChannelPreference;
279
285
  }): Promise<PreferencesResponse>;
286
+ triggerHelloWorldEvent(): Promise<any>;
280
287
  }
281
288
 
282
289
  declare class BaseModule {
@@ -461,9 +468,13 @@ declare class Notifications extends BaseModule {
461
468
  clearCache({ filter }?: {
462
469
  filter?: NotificationFilter;
463
470
  }): void;
471
+ triggerHelloWorldEvent(): Promise<any>;
464
472
  }
465
473
 
466
- type InitializeSessionArgs = {
474
+ type KeylessInitializeSessionArgs = {} & {
475
+ [K in string]?: never;
476
+ };
477
+ type InitializeSessionArgs = KeylessInitializeSessionArgs | {
467
478
  applicationIdentifier: string;
468
479
  subscriber: Subscriber;
469
480
  subscriberHash?: string;
@@ -599,9 +610,9 @@ declare class Novu implements Pick<NovuEventEmitter, 'on'> {
599
610
  * Use the cleanup function returned by the "on" method instead.
600
611
  */
601
612
  off: <Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>) => void;
602
- get applicationIdentifier(): string;
603
- get subscriberId(): string;
613
+ get applicationIdentifier(): string | undefined;
614
+ get subscriberId(): string | undefined;
604
615
  constructor(options: NovuOptions);
605
616
  }
606
617
 
607
- export { type ChannelPreference as C, type EventHandler as E, type FiltersCountResponse as F, type InboxNotification as I, type ListNotificationsResponse as L, type NotificationFilter as N, Preference as P, type SocketEventNames as S, WebSocketEvent as W, type Events as a, Novu as b, ChannelType as c, Notification as d, NotificationStatus as e, NovuError as f, type NovuOptions as g, PreferenceLevel as h, type PreferencesResponse as i, type Subscriber as j };
618
+ export { type ChannelPreference as C, type EventHandler as E, type FiltersCountResponse as F, type InboxNotification as I, type ListNotificationsResponse as L, type NotificationFilter as N, Preference as P, type SocketEventNames as S, WebSocketEvent as W, type Events as a, Novu as b, ChannelType as c, Notification as d, NotificationStatus as e, NovuError as f, type NovuOptions as g, type StandardNovuOptions as h, PreferenceLevel as i, type PreferencesResponse as j, type Subscriber as k };
@@ -1,5 +1,5 @@
1
- import { m as Theme } from '../types-CTQLJWIf.mjs';
2
- import '../novu-q3jzGeyW.mjs';
1
+ import { m as Theme } from '../types-CObwRGDC.mjs';
2
+ import '../novu-Bocb1dH9.mjs';
3
3
 
4
4
  declare const dark: Theme;
5
5
 
@@ -1,6 +1,6 @@
1
- import { d as Notification, N as NotificationFilter, g as NovuOptions, b as Novu, P as Preference } from './novu-q3jzGeyW.mjs';
1
+ import { d as Notification, N as NotificationFilter, g as NovuOptions, b as Novu, P as Preference } from './novu-Bocb1dH9.mjs';
2
2
 
3
- declare const appearanceKeys: readonly ["button", "input", "icon", "badge", "popoverContent", "popoverTrigger", "popoverClose", "dropdownContent", "dropdownTrigger", "dropdownItem", "dropdownItemLabel", "dropdownItemLabelContainer", "dropdownItemLeft__icon", "dropdownItemRight__icon", "dropdownItem__icon", "collapsible", "tooltipContent", "tooltipTrigger", "datePicker", "datePickerGrid", "datePickerGridRow", "datePickerGridCell", "datePickerGridCellTrigger", "datePickerTrigger", "datePickerGridHeader", "datePickerControl", "datePickerControlPrevTrigger", "datePickerControlNextTrigger", "datePickerControlPrevTrigger__icon", "datePickerControlNextTrigger__icon", "datePickerCalendar", "datePickerHeaderMonth", "datePickerCalendarDay__button", "timePicker", "timePicker__hourSelect", "timePicker__minuteSelect", "timePicker__periodSelect", "timePicker__separator", "timePickerHour__input", "timePickerMinute__input", "snoozeDatePicker", "snoozeDatePicker__actions", "snoozeDatePickerCancel__button", "snoozeDatePickerApply__button", "snoozeDatePicker__timePickerContainer", "snoozeDatePicker__timePickerLabel", "back__button", "skeletonText", "skeletonAvatar", "skeletonSwitch", "skeletonSwitchThumb", "tabsRoot", "tabsList", "tabsContent", "tabsTrigger", "dots", "root", "bellIcon", "bellContainer", "bellDot", "preferences__button", "preferencesContainer", "inboxHeader", "loading", "inboxContent", "inbox__popoverTrigger", "inbox__popoverContent", "notificationListContainer", "notificationList", "notificationListEmptyNoticeContainer", "notificationListEmptyNoticeOverlay", "notificationListEmptyNoticeIcon", "notificationListEmptyNotice", "notificationList__skeleton", "notificationList__skeletonContent", "notificationList__skeletonItem", "notificationList__skeletonAvatar", "notificationList__skeletonText", "notificationListNewNotificationsNotice__button", "notification", "notificationContent", "notificationTextContainer", "notificationDot", "notificationSubject", "notificationSubject__strong", "notificationBody", "notificationBody__strong", "notificationBodyContainer", "notificationImage", "notificationImageLoadingFallback", "notificationDate", "notificationDateActionsContainer", "notificationDefaultActions", "notificationCustomActions", "notificationPrimaryAction__button", "notificationSecondaryAction__button", "notificationRead__button", "notificationUnread__button", "notificationArchive__button", "notificationUnarchive__button", "notificationSnooze__button", "notificationUnsnooze__button", "notificationRead__icon", "notificationUnread__icon", "notificationArchive__icon", "notificationUnarchive__icon", "notificationSnooze__icon", "notificationUnsnooze__icon", "notificationsTabs__tabsRoot", "notificationsTabs__tabsList", "notificationsTabs__tabsContent", "notificationsTabs__tabsTrigger", "notificationsTabsTriggerLabel", "notificationsTabsTriggerCount", "inboxStatus__title", "inboxStatus__dropdownTrigger", "inboxStatus__dropdownContent", "inboxStatus__dropdownItem", "inboxStatus__dropdownItemLabel", "inboxStatus__dropdownItemLabelContainer", "inboxStatus__dropdownItemLeft__icon", "inboxStatus__dropdownItemRight__icon", "inboxStatus__dropdownItem__icon", "inboxStatus__dropdownItemCheck__icon", "moreActionsContainer", "moreActions__dropdownTrigger", "moreActions__dropdownContent", "moreActions__dropdownItem", "moreActions__dropdownItemLabel", "moreActions__dropdownItemLeft__icon", "moreActions__dots", "moreTabs__button", "moreTabs__icon", "moreTabs__dropdownTrigger", "moreTabs__dropdownContent", "moreTabs__dropdownItem", "moreTabs__dropdownItemLabel", "moreTabs__dropdownItemRight__icon", "workflowContainer", "workflowLabel", "workflowLabelHeader", "workflowLabelHeaderContainer", "workflowLabelIcon", "workflowLabelContainer", "workflowContainerDisabledNotice", "workflowLabelDisabled__icon", "workflowContainerRight__icon", "workflowArrow__icon", "workflowDescription", "preferencesGroupContainer", "preferencesGroupHeader", "preferencesGroupLabelContainer", "preferencesGroupLabelIcon", "preferencesGroupLabel", "preferencesGroupActionsContainer", "preferencesGroupActionsContainerRight__icon", "preferencesGroupBody", "preferencesGroupChannels", "preferencesGroupInfo", "preferencesGroupInfoIcon", "preferencesGroupWorkflows", "channelContainer", "channelIconContainer", "channel__icon", "channelsContainerCollapsible", "channelsContainer", "channelLabel", "channelLabelContainer", "channelName", "channelSwitchContainer", "channelSwitch", "channelSwitchThumb", "preferencesHeader", "preferencesHeader__back__button", "preferencesHeader__back__button__icon", "preferencesHeader__title", "preferencesHeader__icon", "preferencesListEmptyNoticeContainer", "preferencesListEmptyNotice", "preferencesList__skeleton", "preferencesList__skeletonContent", "preferencesList__skeletonItem", "preferencesList__skeletonIcon", "preferencesList__skeletonSwitch", "preferencesList__skeletonSwitchThumb", "preferencesList__skeletonText", "notificationSnooze__dropdownContent", "notificationSnooze__dropdownItem", "notificationSnooze__dropdownItem__icon", "notificationSnoozeCustomTime_popoverContent", "notificationDeliveredAt__badge", "notificationDeliveredAt__icon", "notificationSnoozedUntil__icon", "strong"];
3
+ declare const appearanceKeys: readonly ["button", "input", "icon", "badge", "popoverContent", "popoverTrigger", "popoverClose", "dropdownContent", "dropdownTrigger", "dropdownItem", "dropdownItemLabel", "dropdownItemLabelContainer", "dropdownItemLeft__icon", "dropdownItemRight__icon", "dropdownItem__icon", "collapsible", "tooltipContent", "tooltipTrigger", "datePicker", "datePickerGrid", "datePickerGridRow", "datePickerGridCell", "datePickerGridCellTrigger", "datePickerTrigger", "datePickerGridHeader", "datePickerControl", "datePickerControlPrevTrigger", "datePickerControlNextTrigger", "datePickerControlPrevTrigger__icon", "datePickerControlNextTrigger__icon", "datePickerCalendar", "datePickerHeaderMonth", "datePickerCalendarDay__button", "timePicker", "timePicker__hourSelect", "timePicker__minuteSelect", "timePicker__periodSelect", "timePicker__separator", "timePickerHour__input", "timePickerMinute__input", "snoozeDatePicker", "snoozeDatePicker__actions", "snoozeDatePickerCancel__button", "snoozeDatePickerApply__button", "snoozeDatePicker__timePickerContainer", "snoozeDatePicker__timePickerLabel", "back__button", "skeletonText", "skeletonAvatar", "skeletonSwitch", "skeletonSwitchThumb", "tabsRoot", "tabsList", "tabsContent", "tabsTrigger", "dots", "root", "bellIcon", "lockIcon", "bellContainer", "bellDot", "preferences__button", "preferencesContainer", "inboxHeader", "loading", "inboxContent", "inbox__popoverTrigger", "inbox__popoverContent", "notificationListContainer", "notificationList", "notificationListEmptyNoticeContainer", "notificationListEmptyNoticeOverlay", "notificationListEmptyNoticeIcon", "notificationListEmptyNotice", "notificationList__skeleton", "notificationList__skeletonContent", "notificationList__skeletonItem", "notificationList__skeletonAvatar", "notificationList__skeletonText", "notificationListNewNotificationsNotice__button", "notification", "notificationContent", "notificationTextContainer", "notificationDot", "notificationSubject", "notificationSubject__strong", "notificationBody", "notificationBody__strong", "notificationBodyContainer", "notificationImage", "notificationImageLoadingFallback", "notificationDate", "notificationDateActionsContainer", "notificationDefaultActions", "notificationCustomActions", "notificationPrimaryAction__button", "notificationSecondaryAction__button", "notificationRead__button", "notificationUnread__button", "notificationArchive__button", "notificationUnarchive__button", "notificationSnooze__button", "notificationUnsnooze__button", "notificationRead__icon", "notificationUnread__icon", "notificationArchive__icon", "notificationUnarchive__icon", "notificationSnooze__icon", "notificationUnsnooze__icon", "notificationsTabs__tabsRoot", "notificationsTabs__tabsList", "notificationsTabs__tabsContent", "notificationsTabs__tabsTrigger", "notificationsTabsTriggerLabel", "notificationsTabsTriggerCount", "inboxStatus__title", "inboxStatus__dropdownTrigger", "inboxStatus__dropdownContent", "inboxStatus__dropdownItem", "inboxStatus__dropdownItemLabel", "inboxStatus__dropdownItemLabelContainer", "inboxStatus__dropdownItemLeft__icon", "inboxStatus__dropdownItemRight__icon", "inboxStatus__dropdownItem__icon", "inboxStatus__dropdownItemCheck__icon", "moreActionsContainer", "moreActions__dropdownTrigger", "moreActions__dropdownContent", "moreActions__dropdownItem", "moreActions__dropdownItemLabel", "moreActions__dropdownItemLeft__icon", "moreActions__dots", "moreTabs__button", "moreTabs__icon", "moreTabs__dropdownTrigger", "moreTabs__dropdownContent", "moreTabs__dropdownItem", "moreTabs__dropdownItemLabel", "moreTabs__dropdownItemRight__icon", "workflowContainer", "workflowLabel", "workflowLabelHeader", "workflowLabelHeaderContainer", "workflowLabelIcon", "workflowLabelContainer", "workflowContainerDisabledNotice", "workflowLabelDisabled__icon", "workflowContainerRight__icon", "workflowArrow__icon", "workflowDescription", "preferencesGroupContainer", "preferencesGroupHeader", "preferencesGroupLabelContainer", "preferencesGroupLabelIcon", "preferencesGroupLabel", "preferencesGroupActionsContainer", "preferencesGroupActionsContainerRight__icon", "preferencesGroupBody", "preferencesGroupChannels", "preferencesGroupInfo", "preferencesGroupInfoIcon", "preferencesGroupWorkflows", "channelContainer", "channelIconContainer", "channel__icon", "channelsContainerCollapsible", "channelsContainer", "channelLabel", "channelLabelContainer", "channelName", "channelSwitchContainer", "channelSwitch", "channelSwitchThumb", "preferencesHeader", "preferencesHeader__back__button", "preferencesHeader__back__button__icon", "preferencesHeader__title", "preferencesHeader__icon", "preferencesListEmptyNoticeContainer", "preferencesListEmptyNotice", "preferencesList__skeleton", "preferencesList__skeletonContent", "preferencesList__skeletonItem", "preferencesList__skeletonIcon", "preferencesList__skeletonSwitch", "preferencesList__skeletonSwitchThumb", "preferencesList__skeletonText", "notificationSnooze__dropdownContent", "notificationSnooze__dropdownItem", "notificationSnooze__dropdownItem__icon", "notificationSnoozeCustomTime_popoverContent", "notificationDeliveredAt__badge", "notificationDeliveredAt__icon", "notificationSnoozedUntil__icon", "strong"];
4
4
 
5
5
  declare const defaultLocalization: {
6
6
  readonly locale: "en-US";
@@ -1,7 +1,7 @@
1
- import { g as NovuOptions } from '../novu-q3jzGeyW.mjs';
2
- export { d as Notification } from '../novu-q3jzGeyW.mjs';
3
- import { B as BellRenderer, N as NotificationClickHandler, a as NotificationActionClickHandler, b as NotificationRenderer, S as SubjectRenderer, c as BodyRenderer, d as NovuProviderProps, e as BaseNovuProviderProps, A as Appearance, L as Localization, T as Tab, P as PreferencesFilter, f as PreferenceGroups, R as RouterPush } from '../types-CTQLJWIf.mjs';
4
- export { g as AppearanceKey, h as ElementStyles, E as Elements, I as IconKey, i as IconOverrides, j as IconRenderer, k as LocalizationKey, l as NotificationStatus, m as Theme, V as Variables } from '../types-CTQLJWIf.mjs';
1
+ import { g as NovuOptions } from '../novu-Bocb1dH9.mjs';
2
+ export { d as Notification } from '../novu-Bocb1dH9.mjs';
3
+ import { B as BellRenderer, N as NotificationClickHandler, a as NotificationActionClickHandler, b as NotificationRenderer, S as SubjectRenderer, c as BodyRenderer, d as NovuProviderProps, e as BaseNovuProviderProps, A as Appearance, L as Localization, T as Tab, P as PreferencesFilter, f as PreferenceGroups, R as RouterPush } from '../types-CObwRGDC.mjs';
4
+ export { g as AppearanceKey, h as ElementStyles, E as Elements, I as IconKey, i as IconOverrides, j as IconRenderer, k as LocalizationKey, l as NotificationStatus, m as Theme, V as Variables } from '../types-CObwRGDC.mjs';
5
5
  import { Placement, OffsetOptions } from '@floating-ui/dom';
6
6
  import * as solid_js from 'solid-js';
7
7
  import { ComponentProps } from 'solid-js';