@novu/js 3.0.0 → 3.0.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.
@@ -84,7 +84,7 @@ var isSameFilter = (filter1, filter2) => {
84
84
  // src/api/http-client.ts
85
85
  var DEFAULT_API_VERSION = "v1";
86
86
  var DEFAULT_BACKEND_URL = "https://api.novu.co";
87
- var DEFAULT_USER_AGENT = `${"@novu/js"}@${"3.0.0"}`;
87
+ var DEFAULT_USER_AGENT = `${"@novu/js"}@${"3.0.3"}`;
88
88
  var HttpClient = class {
89
89
  constructor(options = {}) {
90
90
  const {
@@ -407,6 +407,7 @@ var Notification = class {
407
407
  this.tags = notification.tags;
408
408
  this.redirect = notification.redirect;
409
409
  this.data = notification.data;
410
+ this.workflowId = notification.workflowId;
410
411
  }
411
412
  read() {
412
413
  return read({
@@ -1515,6 +1516,12 @@ var Session = class {
1515
1516
  __privateSet(this, _inboxService2, inboxServiceInstance);
1516
1517
  __privateSet(this, _options, options);
1517
1518
  }
1519
+ get applicationIdentifier() {
1520
+ return __privateGet(this, _options).applicationIdentifier;
1521
+ }
1522
+ get subscriberId() {
1523
+ return __privateGet(this, _options).subscriberId;
1524
+ }
1518
1525
  initialize() {
1519
1526
  return __async(this, null, function* () {
1520
1527
  try {
@@ -1553,7 +1560,8 @@ var mapToNotification = ({
1553
1560
  avatar,
1554
1561
  cta,
1555
1562
  tags,
1556
- data
1563
+ data,
1564
+ workflowId
1557
1565
  }) => {
1558
1566
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
1559
1567
  const to = {
@@ -1600,7 +1608,8 @@ var mapToNotification = ({
1600
1608
  url: cta.data.url,
1601
1609
  target: cta.data.target
1602
1610
  } : void 0,
1603
- data
1611
+ data,
1612
+ workflowId
1604
1613
  };
1605
1614
  };
1606
1615
  var _token, _emitter6, _socketIo, _socketUrl, _notificationReceived, _unseenCountChanged, _unreadCountChanged, _Socket_instances, initializeSocket_fn, handleConnectSocket_fn, handleDisconnectSocket_fn;
@@ -1768,6 +1777,12 @@ var Novu = class {
1768
1777
  __privateGet(this, _emitter7).off(eventName, listener);
1769
1778
  };
1770
1779
  }
1780
+ get applicationIdentifier() {
1781
+ return __privateGet(this, _session).applicationIdentifier;
1782
+ }
1783
+ get subscriberId() {
1784
+ return __privateGet(this, _session).subscriberId;
1785
+ }
1771
1786
  };
1772
1787
  _emitter7 = new WeakMap();
1773
1788
  _session = new WeakMap();
@@ -1,5 +1,5 @@
1
- import { N as NotificationFilter } from './novu-C2hAbM3b.mjs';
2
- export { k as Action, A as ActionTypeEnum, m as ChannelPreference, f as ChannelType, C as CtaType, E as EventHandler, a as Events, F as FiltersCountResponse, q as IPreferenceOverride, I as InboxNotification, L as ListNotificationsResponse, i as MessageAction, M as MessageButton, u as Notification, e as NotificationActionStatus, d as NotificationButton, c as NotificationStatus, b as Novu, w as NovuError, s as NovuOptions, n as PaginatedResponse, v as Preference, P as PreferenceLevel, g as PreferenceOverrideSource, p as PreferenceOverrideSourceEnum, o as PreferencesResponse, t as Prettify, R as Redirect, r as Result, h as Session, S as SocketEventNames, j as Subscriber, T as TODO, W as WebSocketEvent, l as Workflow } from './novu-C2hAbM3b.mjs';
1
+ import { N as NotificationFilter } from './novu-BXVPjTIj.mjs';
2
+ export { k as Action, A as ActionTypeEnum, m as ChannelPreference, f as ChannelType, C as CtaType, E as EventHandler, a as Events, F as FiltersCountResponse, q as IPreferenceOverride, I as InboxNotification, L as ListNotificationsResponse, i as MessageAction, M as MessageButton, u as Notification, e as NotificationActionStatus, d as NotificationButton, c as NotificationStatus, b as Novu, w as NovuError, s as NovuOptions, n as PaginatedResponse, v as Preference, P as PreferenceLevel, g as PreferenceOverrideSource, p as PreferenceOverrideSourceEnum, o as PreferencesResponse, t as Prettify, R as Redirect, r as Result, h as Session, S as SocketEventNames, j as Subscriber, T as TODO, W as WebSocketEvent, l as Workflow } from './novu-BXVPjTIj.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 { ActionTypeEnum, ChannelType, CtaType, NotificationActionStatus, NotificationButton, NotificationStatus, Novu, PreferenceLevel, PreferenceOverrideSource, PreferenceOverrideSourceEnum, WebSocketEvent, areTagsEqual, isSameFilter } from './chunk-2RBV57OQ.mjs';
1
+ export { ActionTypeEnum, ChannelType, CtaType, NotificationActionStatus, NotificationButton, NotificationStatus, Novu, PreferenceLevel, PreferenceOverrideSource, PreferenceOverrideSourceEnum, WebSocketEvent, areTagsEqual, isSameFilter } from './chunk-GCPLP2EW.mjs';
2
2
  import './chunk-STZMOEWR.mjs';
@@ -50,6 +50,16 @@ declare class Preference {
50
50
  channelPreferences, }: Prettify<Pick<UpdatePreferencesArgs, 'channels' | 'channelPreferences'>>): Result<Preference>;
51
51
  }
52
52
 
53
+ declare global {
54
+ /**
55
+ * If you want to provide custom types for the notification.data object,
56
+ * simply redeclare this rule in the global namespace.
57
+ * Every notification object will use the provided type.
58
+ */
59
+ interface NotificationData {
60
+ [k: string]: unknown;
61
+ }
62
+ }
53
63
  declare enum NotificationStatus {
54
64
  READ = "read",
55
65
  SEEN = "seen",
@@ -96,6 +106,7 @@ type Session = {
96
106
  token: string;
97
107
  totalUnreadCount: number;
98
108
  removeNovuBranding: boolean;
109
+ isDevelopmentMode: boolean;
99
110
  };
100
111
  type MessageButton = {
101
112
  type: NotificationButton;
@@ -141,8 +152,9 @@ type InboxNotification = {
141
152
  secondaryAction?: Action;
142
153
  channelType: ChannelType;
143
154
  tags?: string[];
144
- data?: Record<string, unknown>;
155
+ data?: NotificationData;
145
156
  redirect?: Redirect;
157
+ workflowId: string;
146
158
  };
147
159
  type NotificationFilter = {
148
160
  tags?: string[];
@@ -307,6 +319,7 @@ declare class Notification implements Pick<NovuEventEmitter, 'on'>, InboxNotific
307
319
  readonly tags: InboxNotification['tags'];
308
320
  readonly redirect: InboxNotification['redirect'];
309
321
  readonly data?: InboxNotification['data'];
322
+ readonly workflowId: InboxNotification['workflowId'];
310
323
  constructor(notification: InboxNotification, emitter: NovuEventEmitter, inboxService: InboxService);
311
324
  read(): Result<Notification>;
312
325
  unread(): Result<Notification>;
@@ -564,6 +577,8 @@ declare class Novu implements Pick<NovuEventEmitter, 'on'> {
564
577
  * Use the cleanup function returned by the "on" method instead.
565
578
  */
566
579
  off: <Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>) => void;
580
+ get applicationIdentifier(): string;
581
+ get subscriberId(): string;
567
582
  constructor(options: NovuOptions);
568
583
  }
569
584
 
@@ -1,5 +1,5 @@
1
- import { h as Theme } from '../types-Bi5NkU2g.mjs';
2
- import '../novu-C2hAbM3b.mjs';
1
+ import { h as Theme } from '../types-Du_GH8TU.mjs';
2
+ import '../novu-BXVPjTIj.mjs';
3
3
 
4
4
  declare const dark: Theme;
5
5
 
@@ -9,7 +9,8 @@ var dark = {
9
9
  colorSecondary: "#383838",
10
10
  colorSecondaryForeground: "#EDEDEF",
11
11
  colorShadow: "black",
12
- colorRing: "#E1E4EA"
12
+ colorRing: "#E1E4EA",
13
+ colorStripes: "#FF8447"
13
14
  }
14
15
  };
15
16
 
@@ -1,4 +1,4 @@
1
- import { u as Notification, N as NotificationFilter, s as NovuOptions, b as Novu } from './novu-C2hAbM3b.js';
1
+ import { u as Notification, N as NotificationFilter, s as NovuOptions, b as Novu } from './novu-BXVPjTIj.mjs';
2
2
 
3
3
  declare const appearanceKeys: readonly ["button", "icon", "popoverContent", "popoverTrigger", "dropdownContent", "dropdownTrigger", "dropdownItem", "dropdownItemLabel", "dropdownItemLabelContainer", "dropdownItemLeft__icon", "dropdownItemRight__icon", "dropdownItem__icon", "collapsible", "tooltipContent", "tooltipTrigger", "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", "notificationRead__icon", "notificationUnread__icon", "notificationArchive__icon", "notificationUnarchive__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", "workflowLabelContainer", "workflowContainerDisabledNotice", "workflowLabelDisabled__icon", "workflowContainerRight__icon", "workflowArrow__icon", "workflowDescription", "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", "strong"];
4
4
 
@@ -68,6 +68,7 @@ type Variables = {
68
68
  colorRing?: string;
69
69
  fontSize?: string;
70
70
  borderRadius?: string;
71
+ colorStripes?: string;
71
72
  };
72
73
  type AppearanceKey = (typeof appearanceKeys)[number];
73
74
  type Elements = Partial<Record<AppearanceKey, ElementStyles>>;
@@ -1,7 +1,7 @@
1
- import { s as NovuOptions } from '../novu-C2hAbM3b.mjs';
2
- export { u as Notification } from '../novu-C2hAbM3b.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, R as RouterPush } from '../types-Bi5NkU2g.mjs';
4
- export { f as AppearanceKey, C as CSSProperties, E as ElementStyles, g as Elements, j as LocalizationKey, i as NotificationStatus, h as Theme, V as Variables } from '../types-Bi5NkU2g.mjs';
1
+ import { s as NovuOptions } from '../novu-BXVPjTIj.mjs';
2
+ export { u as Notification } from '../novu-BXVPjTIj.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, R as RouterPush } from '../types-Du_GH8TU.mjs';
4
+ export { f as AppearanceKey, C as CSSProperties, E as ElementStyles, g as Elements, j as LocalizationKey, i as NotificationStatus, h as Theme, V as Variables } from '../types-Du_GH8TU.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';