@novu/react 2.6.6 → 3.0.0-canary.1

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 (186) hide show
  1. package/dist/cjs/components/Bell.cjs +63 -0
  2. package/dist/cjs/components/Bell.cjs.map +1 -0
  3. package/dist/cjs/components/Bell.d.cts +12 -0
  4. package/dist/cjs/components/Inbox.cjs +198 -0
  5. package/dist/cjs/components/Inbox.cjs.map +1 -0
  6. package/dist/cjs/components/Inbox.d.cts +9 -0
  7. package/dist/cjs/components/InboxContent.cjs +94 -0
  8. package/dist/cjs/components/InboxContent.cjs.map +1 -0
  9. package/dist/cjs/components/InboxContent.d.cts +16 -0
  10. package/dist/cjs/components/Mounter.cjs +51 -0
  11. package/dist/cjs/components/Mounter.cjs.map +1 -0
  12. package/dist/cjs/components/Mounter.d.cts +11 -0
  13. package/dist/cjs/components/Notifications.cjs +88 -0
  14. package/dist/cjs/components/Notifications.cjs.map +1 -0
  15. package/dist/cjs/components/Notifications.d.cts +14 -0
  16. package/dist/cjs/components/NovuUI.cjs +60 -0
  17. package/dist/cjs/components/NovuUI.cjs.map +1 -0
  18. package/dist/cjs/components/NovuUI.d.cts +12 -0
  19. package/dist/cjs/components/Preferences.cjs +54 -0
  20. package/dist/cjs/components/Preferences.cjs.map +1 -0
  21. package/dist/cjs/components/Preferences.d.cts +5 -0
  22. package/dist/cjs/components/Renderer.cjs +70 -0
  23. package/dist/cjs/components/Renderer.cjs.map +1 -0
  24. package/dist/cjs/components/Renderer.d.cts +8 -0
  25. package/dist/cjs/components/index.cjs +35 -0
  26. package/dist/cjs/components/index.cjs.map +1 -0
  27. package/dist/cjs/components/index.d.cts +11 -0
  28. package/dist/cjs/context/NovuUIContext.cjs +40 -0
  29. package/dist/cjs/context/NovuUIContext.cjs.map +1 -0
  30. package/dist/cjs/context/NovuUIContext.d.cts +14 -0
  31. package/dist/cjs/context/RendererContext.cjs +40 -0
  32. package/dist/cjs/context/RendererContext.cjs.map +1 -0
  33. package/dist/cjs/context/RendererContext.d.cts +15 -0
  34. package/dist/cjs/hooks/NovuProvider.cjs +101 -0
  35. package/dist/cjs/hooks/NovuProvider.cjs.map +1 -0
  36. package/dist/cjs/hooks/NovuProvider.d.cts +20 -0
  37. package/dist/cjs/hooks/index.cjs +40 -0
  38. package/dist/cjs/hooks/index.cjs.map +1 -0
  39. package/dist/cjs/hooks/index.d.cts +7 -0
  40. package/dist/cjs/hooks/internal/useBrowserTabsChannel.cjs +52 -0
  41. package/dist/cjs/hooks/internal/useBrowserTabsChannel.cjs.map +1 -0
  42. package/dist/cjs/hooks/internal/useBrowserTabsChannel.d.cts +8 -0
  43. package/dist/cjs/hooks/internal/useDataRef.cjs +36 -0
  44. package/dist/cjs/hooks/internal/useDataRef.cjs.map +1 -0
  45. package/dist/cjs/hooks/internal/useDataRef.d.cts +5 -0
  46. package/dist/cjs/hooks/internal/useWebsocketEvent.cjs +57 -0
  47. package/dist/cjs/hooks/internal/useWebsocketEvent.cjs.map +1 -0
  48. package/dist/cjs/hooks/internal/useWebsocketEvent.d.cts +8 -0
  49. package/dist/cjs/hooks/useCounts.cjs +104 -0
  50. package/dist/cjs/hooks/useCounts.cjs.map +1 -0
  51. package/dist/cjs/hooks/useCounts.d.cts +21 -0
  52. package/dist/cjs/hooks/useNotifications.cjs +121 -0
  53. package/dist/cjs/hooks/useNotifications.cjs.map +1 -0
  54. package/dist/cjs/hooks/useNotifications.d.cts +34 -0
  55. package/dist/cjs/hooks/usePreferences.cjs +80 -0
  56. package/dist/cjs/hooks/usePreferences.cjs.map +1 -0
  57. package/dist/cjs/hooks/usePreferences.d.cts +19 -0
  58. package/dist/cjs/index.cjs +27 -0
  59. package/dist/cjs/index.cjs.map +1 -0
  60. package/dist/cjs/index.d.cts +14 -0
  61. package/dist/cjs/server/index.cjs +95 -0
  62. package/dist/cjs/server/index.cjs.map +1 -0
  63. package/dist/cjs/server/index.d.cts +29 -0
  64. package/dist/cjs/themes/index.cjs +25 -0
  65. package/dist/cjs/themes/index.cjs.map +1 -0
  66. package/dist/cjs/utils/createContextAndHook.cjs +63 -0
  67. package/dist/cjs/utils/createContextAndHook.cjs.map +1 -0
  68. package/dist/cjs/utils/createContextAndHook.d.cts +19 -0
  69. package/dist/cjs/utils/requestLock.cjs +52 -0
  70. package/dist/cjs/utils/requestLock.cjs.map +1 -0
  71. package/dist/cjs/utils/requestLock.d.cts +3 -0
  72. package/dist/cjs/utils/types.cjs +19 -0
  73. package/dist/cjs/utils/types.cjs.map +1 -0
  74. package/dist/cjs/utils/types.d.cts +54 -0
  75. package/dist/client/{index.d.mts → components/index.d.mts} +23 -6
  76. package/dist/client/{index.d.ts → components/index.d.ts} +23 -6
  77. package/dist/client/{index.js → components/index.js} +92 -8
  78. package/dist/client/components/index.js.map +1 -0
  79. package/dist/client/{index.mjs → components/index.mjs} +77 -8
  80. package/dist/client/components/index.mjs.map +1 -0
  81. package/dist/{hooks → client/hooks}/index.js +8 -0
  82. package/dist/client/hooks/index.js.map +1 -0
  83. package/dist/client/hooks/index.mjs.map +1 -0
  84. package/dist/client/themes/index.d.ts +1 -0
  85. package/dist/{themes → client/themes}/index.js +4 -0
  86. package/dist/client/themes/index.js.map +1 -0
  87. package/dist/client/themes/index.mjs.map +1 -0
  88. package/dist/esm/components/Bell.d.ts +12 -0
  89. package/dist/esm/components/Bell.js +28 -0
  90. package/dist/esm/components/Bell.js.map +1 -0
  91. package/dist/esm/components/Inbox.d.ts +9 -0
  92. package/dist/esm/components/Inbox.js +163 -0
  93. package/dist/esm/components/Inbox.js.map +1 -0
  94. package/dist/esm/components/InboxContent.d.ts +16 -0
  95. package/dist/esm/components/InboxContent.js +59 -0
  96. package/dist/esm/components/InboxContent.js.map +1 -0
  97. package/dist/esm/components/Mounter.d.ts +11 -0
  98. package/dist/esm/components/Mounter.js +26 -0
  99. package/dist/esm/components/Mounter.js.map +1 -0
  100. package/dist/esm/components/Notifications.d.ts +14 -0
  101. package/dist/esm/components/Notifications.js +53 -0
  102. package/dist/esm/components/Notifications.js.map +1 -0
  103. package/dist/esm/components/NovuUI.d.ts +12 -0
  104. package/dist/esm/components/NovuUI.js +35 -0
  105. package/dist/esm/components/NovuUI.js.map +1 -0
  106. package/dist/esm/components/Preferences.d.ts +5 -0
  107. package/dist/esm/components/Preferences.js +19 -0
  108. package/dist/esm/components/Preferences.js.map +1 -0
  109. package/dist/esm/components/Renderer.d.ts +8 -0
  110. package/dist/esm/components/Renderer.js +44 -0
  111. package/dist/esm/components/Renderer.js.map +1 -0
  112. package/dist/esm/components/index.d.ts +11 -0
  113. package/dist/esm/components/index.js +8 -0
  114. package/dist/esm/components/index.js.map +1 -0
  115. package/dist/esm/context/NovuUIContext.d.ts +14 -0
  116. package/dist/esm/context/NovuUIContext.js +13 -0
  117. package/dist/esm/context/NovuUIContext.js.map +1 -0
  118. package/dist/esm/context/RendererContext.d.ts +15 -0
  119. package/dist/esm/context/RendererContext.js +13 -0
  120. package/dist/esm/context/RendererContext.js.map +1 -0
  121. package/dist/esm/hooks/NovuProvider.d.ts +20 -0
  122. package/dist/esm/hooks/NovuProvider.js +73 -0
  123. package/dist/esm/hooks/NovuProvider.js.map +1 -0
  124. package/dist/esm/hooks/index.d.ts +7 -0
  125. package/dist/esm/hooks/index.js +10 -0
  126. package/dist/esm/hooks/index.js.map +1 -0
  127. package/dist/esm/hooks/internal/useBrowserTabsChannel.d.ts +8 -0
  128. package/dist/esm/hooks/internal/useBrowserTabsChannel.js +27 -0
  129. package/dist/esm/hooks/internal/useBrowserTabsChannel.js.map +1 -0
  130. package/dist/esm/hooks/internal/useDataRef.d.ts +5 -0
  131. package/dist/esm/hooks/internal/useDataRef.js +11 -0
  132. package/dist/esm/hooks/internal/useDataRef.js.map +1 -0
  133. package/dist/esm/hooks/internal/useWebsocketEvent.d.ts +8 -0
  134. package/dist/esm/hooks/internal/useWebsocketEvent.js +32 -0
  135. package/dist/esm/hooks/internal/useWebsocketEvent.js.map +1 -0
  136. package/dist/esm/hooks/useCounts.d.ts +21 -0
  137. package/dist/esm/hooks/useCounts.js +76 -0
  138. package/dist/esm/hooks/useCounts.js.map +1 -0
  139. package/dist/esm/hooks/useNotifications.d.ts +34 -0
  140. package/dist/esm/hooks/useNotifications.js +96 -0
  141. package/dist/esm/hooks/useNotifications.js.map +1 -0
  142. package/dist/esm/hooks/usePreferences.d.ts +19 -0
  143. package/dist/esm/hooks/usePreferences.js +55 -0
  144. package/dist/esm/hooks/usePreferences.js.map +1 -0
  145. package/dist/esm/index.d.ts +14 -0
  146. package/dist/esm/index.js +4 -0
  147. package/dist/esm/index.js.map +1 -0
  148. package/dist/esm/server/index.d.ts +29 -0
  149. package/dist/esm/server/index.js +59 -0
  150. package/dist/esm/server/index.js.map +1 -0
  151. package/dist/esm/themes/index.d.ts +1 -0
  152. package/dist/esm/themes/index.js +3 -0
  153. package/dist/esm/themes/index.js.map +1 -0
  154. package/dist/esm/utils/createContextAndHook.d.ts +19 -0
  155. package/dist/esm/utils/createContextAndHook.js +27 -0
  156. package/dist/esm/utils/createContextAndHook.js.map +1 -0
  157. package/dist/esm/utils/requestLock.d.ts +3 -0
  158. package/dist/esm/utils/requestLock.js +27 -0
  159. package/dist/esm/utils/requestLock.js.map +1 -0
  160. package/dist/esm/utils/types.d.ts +54 -0
  161. package/dist/esm/utils/types.js +1 -0
  162. package/dist/esm/utils/types.js.map +1 -0
  163. package/dist/server/{server.d.mts → index.d.mts} +26 -5
  164. package/dist/server/{server.d.ts → index.d.ts} +26 -5
  165. package/dist/server/{server.js → index.js} +17 -20
  166. package/dist/server/index.js.map +1 -0
  167. package/dist/server/{server.mjs → index.mjs} +16 -19
  168. package/dist/server/index.mjs.map +1 -0
  169. package/hooks/package.json +3 -3
  170. package/package.json +54 -32
  171. package/server/package.json +5 -0
  172. package/themes/package.json +3 -3
  173. package/dist/client/index.js.map +0 -1
  174. package/dist/client/index.mjs.map +0 -1
  175. package/dist/hooks/index.js.map +0 -1
  176. package/dist/hooks/index.mjs.map +0 -1
  177. package/dist/server/server.js.map +0 -1
  178. package/dist/server/server.mjs.map +0 -1
  179. package/dist/themes/index.js.map +0 -1
  180. package/dist/themes/index.mjs.map +0 -1
  181. /package/dist/{themes/index.d.mts → cjs/themes/index.d.cts} +0 -0
  182. /package/dist/{hooks → client/hooks}/index.d.mts +0 -0
  183. /package/dist/{hooks → client/hooks}/index.d.ts +0 -0
  184. /package/dist/{hooks → client/hooks}/index.mjs +0 -0
  185. /package/dist/{themes/index.d.ts → client/themes/index.d.mts} +0 -0
  186. /package/dist/{themes → client/themes}/index.mjs +0 -0
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/NovuUI.tsx
21
+ var NovuUI_exports = {};
22
+ __export(NovuUI_exports, {
23
+ NovuUI: () => NovuUI
24
+ });
25
+ module.exports = __toCommonJS(NovuUI_exports);
26
+ var import_ui = require("@novu/js/ui");
27
+ var import_react = require("react");
28
+ var import_NovuUIContext = require("../context/NovuUIContext.cjs");
29
+ var import_useDataRef = require("../hooks/internal/useDataRef.cjs");
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var NovuUI = ({ options, novu, children }) => {
32
+ const optionsRef = (0, import_useDataRef.useDataRef)({ ...options, novu });
33
+ const [novuUI, setNovuUI] = (0, import_react.useState)();
34
+ (0, import_react.useEffect)(() => {
35
+ const novu2 = new import_ui.NovuUI(optionsRef.current);
36
+ setNovuUI(novu2);
37
+ return () => {
38
+ novu2.unmount();
39
+ };
40
+ }, []);
41
+ (0, import_react.useEffect)(() => {
42
+ if (!novuUI) {
43
+ return;
44
+ }
45
+ novuUI.updateAppearance(options.appearance);
46
+ novuUI.updateLocalization(options.localization);
47
+ novuUI.updateTabs(options.tabs);
48
+ novuUI.updateOptions(options.options);
49
+ novuUI.updateRouterPush(options.routerPush);
50
+ }, [options]);
51
+ if (!novuUI) {
52
+ return null;
53
+ }
54
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NovuUIContext.NovuUIProvider, { value: { novuUI }, children });
55
+ };
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ NovuUI
59
+ });
60
+ //# sourceMappingURL=NovuUI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/NovuUI.tsx"],"sourcesContent":["import { Novu } from '@novu/js';\nimport type { NovuUIOptions } from '@novu/js/ui';\nimport { NovuUI as NovuUIClass } from '@novu/js/ui';\nimport React, { useEffect, useState } from 'react';\nimport { NovuUIProvider } from '../context/NovuUIContext';\nimport { useDataRef } from '../hooks/internal/useDataRef';\n\ntype RendererProps = React.PropsWithChildren<{\n options: NovuUIOptions;\n novu?: Novu;\n}>;\n\nexport const NovuUI = ({ options, novu, children }: RendererProps) => {\n const optionsRef = useDataRef({ ...options, novu });\n const [novuUI, setNovuUI] = useState<NovuUIClass | undefined>();\n\n useEffect(() => {\n const novu = new NovuUIClass(optionsRef.current);\n setNovuUI(novu);\n\n return () => {\n novu.unmount();\n };\n }, []);\n\n useEffect(() => {\n if (!novuUI) {\n return;\n }\n\n novuUI.updateAppearance(options.appearance);\n novuUI.updateLocalization(options.localization);\n novuUI.updateTabs(options.tabs);\n novuUI.updateOptions(options.options);\n novuUI.updateRouterPush(options.routerPush);\n }, [options]);\n\n if (!novuUI) {\n return null;\n }\n\n return <NovuUIProvider value={{ novuUI }}>{children}</NovuUIProvider>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gBAAsC;AACtC,mBAA2C;AAC3C,2BAA+B;AAC/B,wBAA2B;AAoClB;AA7BF,IAAM,SAAS,CAAC,EAAE,SAAS,MAAM,SAAS,MAAqB;AACpE,QAAM,iBAAa,8BAAW,EAAE,GAAG,SAAS,KAAK,CAAC;AAClD,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAkC;AAE9D,8BAAU,MAAM;AACd,UAAMA,QAAO,IAAI,UAAAC,OAAY,WAAW,OAAO;AAC/C,cAAUD,KAAI;AAEd,WAAO,MAAM;AACX,MAAAA,MAAK,QAAQ;AAAA,IACf;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,8BAAU,MAAM;AACd,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AAEA,WAAO,iBAAiB,QAAQ,UAAU;AAC1C,WAAO,mBAAmB,QAAQ,YAAY;AAC9C,WAAO,WAAW,QAAQ,IAAI;AAC9B,WAAO,cAAc,QAAQ,OAAO;AACpC,WAAO,iBAAiB,QAAQ,UAAU;AAAA,EAC5C,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,SAAO,4CAAC,uCAAe,OAAO,EAAE,OAAO,GAAI,UAAS;AACtD;","names":["novu","NovuUIClass"]}
@@ -0,0 +1,12 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { Novu } from '@novu/js';
3
+ import { NovuUIOptions } from '@novu/js/ui';
4
+ import React__default from 'react';
5
+
6
+ type RendererProps = React__default.PropsWithChildren<{
7
+ options: NovuUIOptions;
8
+ novu?: Novu;
9
+ }>;
10
+ declare const NovuUI: ({ options, novu, children }: RendererProps) => react_jsx_runtime.JSX.Element | null;
11
+
12
+ export { NovuUI };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/components/Preferences.tsx
31
+ var Preferences_exports = {};
32
+ __export(Preferences_exports, {
33
+ Preferences: () => Preferences
34
+ });
35
+ module.exports = __toCommonJS(Preferences_exports);
36
+ var import_react = __toESM(require("react"), 1);
37
+ var import_Mounter = require("./Mounter.cjs");
38
+ var import_NovuUIContext = require("../context/NovuUIContext.cjs");
39
+ var import_jsx_runtime = require("react/jsx-runtime");
40
+ var Preferences = () => {
41
+ const { novuUI } = (0, import_NovuUIContext.useNovuUI)();
42
+ const mount = import_react.default.useCallback((element) => {
43
+ return novuUI.mountComponent({
44
+ name: "Preferences",
45
+ element
46
+ });
47
+ }, []);
48
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Mounter.Mounter, { mount });
49
+ };
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ Preferences
53
+ });
54
+ //# sourceMappingURL=Preferences.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/Preferences.tsx"],"sourcesContent":["import React from 'react';\nimport { Mounter } from './Mounter';\nimport { useNovuUI } from '../context/NovuUIContext';\n\nexport const Preferences = () => {\n const { novuUI } = useNovuUI();\n\n const mount = React.useCallback((element: HTMLElement) => {\n return novuUI.mountComponent({\n name: 'Preferences',\n element,\n });\n }, []);\n\n return <Mounter mount={mount} />;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,qBAAwB;AACxB,2BAA0B;AAYjB;AAVF,IAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,OAAO,QAAI,gCAAU;AAE7B,QAAM,QAAQ,aAAAA,QAAM,YAAY,CAAC,YAAyB;AACxD,WAAO,OAAO,eAAe;AAAA,MAC3B,MAAM;AAAA,MACN;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,SAAO,4CAAC,0BAAQ,OAAc;AAChC;","names":["React"]}
@@ -0,0 +1,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare const Preferences: () => react_jsx_runtime.JSX.Element;
4
+
5
+ export { Preferences };
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/Renderer.tsx
21
+ var Renderer_exports = {};
22
+ __export(Renderer_exports, {
23
+ Renderer: () => Renderer,
24
+ withRenderer: () => withRenderer
25
+ });
26
+ module.exports = __toCommonJS(Renderer_exports);
27
+ var import_react = require("react");
28
+ var import_react_dom = require("react-dom");
29
+ var import_RendererContext = require("../context/RendererContext.cjs");
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var Renderer = (props) => {
32
+ const { children } = props;
33
+ const [mountedElements, setMountedElements] = (0, import_react.useState)(/* @__PURE__ */ new Map());
34
+ const mountElement = (0, import_react.useCallback)(
35
+ (el, mountedElement) => {
36
+ setMountedElements((prev) => {
37
+ const newMountedElements = new Map(prev);
38
+ newMountedElements.set(el, mountedElement);
39
+ return newMountedElements;
40
+ });
41
+ return () => {
42
+ setMountedElements((prev) => {
43
+ const newMountedElements = new Map(prev);
44
+ newMountedElements.delete(el);
45
+ return newMountedElements;
46
+ });
47
+ };
48
+ },
49
+ [setMountedElements]
50
+ );
51
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_RendererContext.RendererProvider, { value: { mountElement }, children: [
52
+ [...mountedElements].map(([element, mountedElement]) => {
53
+ return (0, import_react_dom.createPortal)(mountedElement, element);
54
+ }),
55
+ children
56
+ ] });
57
+ };
58
+ var withRenderer = (WrappedComponent) => {
59
+ const HOC = (props) => {
60
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Renderer, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(WrappedComponent, { ...props }) });
61
+ };
62
+ HOC.displayName = `WithRenderer(${WrappedComponent.displayName || WrappedComponent.name || "Component"})`;
63
+ return HOC;
64
+ };
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ Renderer,
68
+ withRenderer
69
+ });
70
+ //# sourceMappingURL=Renderer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/Renderer.tsx"],"sourcesContent":["import { ComponentType, PropsWithChildren, useCallback, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { MountedElement, RendererProvider } from '../context/RendererContext';\n\ntype RendererProps = PropsWithChildren;\nexport const Renderer = (props: RendererProps) => {\n const { children } = props;\n const [mountedElements, setMountedElements] = useState(new Map<HTMLElement, MountedElement>());\n\n const mountElement = useCallback(\n (el: HTMLElement, mountedElement: MountedElement) => {\n setMountedElements((prev) => {\n const newMountedElements = new Map(prev);\n newMountedElements.set(el, mountedElement);\n\n return newMountedElements;\n });\n\n return () => {\n setMountedElements((prev) => {\n const newMountedElements = new Map(prev);\n newMountedElements.delete(el);\n\n return newMountedElements;\n });\n };\n },\n [setMountedElements]\n );\n\n return (\n <RendererProvider value={{ mountElement }}>\n {[...mountedElements].map(([element, mountedElement]) => {\n return createPortal(mountedElement, element);\n })}\n\n {children}\n </RendererProvider>\n );\n};\n\nexport const withRenderer = <P extends object>(\n WrappedComponent: ComponentType<P>\n): ComponentType<P & PropsWithChildren<{}>> => {\n const HOC = (props: P) => {\n return (\n <Renderer>\n <WrappedComponent {...props} />\n </Renderer>\n );\n };\n\n HOC.displayName = `WithRenderer(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n\n return HOC;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwE;AACxE,uBAA6B;AAC7B,6BAAiD;AA6B7C;AA1BG,IAAM,WAAW,CAAC,UAAyB;AAChD,QAAM,EAAE,SAAS,IAAI;AACrB,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAAS,oBAAI,IAAiC,CAAC;AAE7F,QAAM,mBAAe;AAAA,IACnB,CAAC,IAAiB,mBAAmC;AACnD,yBAAmB,CAAC,SAAS;AAC3B,cAAM,qBAAqB,IAAI,IAAI,IAAI;AACvC,2BAAmB,IAAI,IAAI,cAAc;AAEzC,eAAO;AAAA,MACT,CAAC;AAED,aAAO,MAAM;AACX,2BAAmB,CAAC,SAAS;AAC3B,gBAAM,qBAAqB,IAAI,IAAI,IAAI;AACvC,6BAAmB,OAAO,EAAE;AAE5B,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEA,SACE,6CAAC,2CAAiB,OAAO,EAAE,aAAa,GACrC;AAAA,KAAC,GAAG,eAAe,EAAE,IAAI,CAAC,CAAC,SAAS,cAAc,MAAM;AACvD,iBAAO,+BAAa,gBAAgB,OAAO;AAAA,IAC7C,CAAC;AAAA,IAEA;AAAA,KACH;AAEJ;AAEO,IAAM,eAAe,CAC1B,qBAC6C;AAC7C,QAAM,MAAM,CAAC,UAAa;AACxB,WACE,4CAAC,YACC,sDAAC,oBAAkB,GAAG,OAAO,GAC/B;AAAA,EAEJ;AAEA,MAAI,cAAc,gBAAgB,iBAAiB,eAAe,iBAAiB,QAAQ,WAAW;AAEtG,SAAO;AACT;","names":[]}
@@ -0,0 +1,8 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentType, PropsWithChildren } from 'react';
3
+
4
+ type RendererProps = PropsWithChildren;
5
+ declare const Renderer: (props: RendererProps) => react_jsx_runtime.JSX.Element;
6
+ declare const withRenderer: <P extends object>(WrappedComponent: ComponentType<P>) => ComponentType<P & PropsWithChildren<{}>>;
7
+
8
+ export { Renderer, withRenderer };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+
17
+ // src/components/index.ts
18
+ var components_exports = {};
19
+ module.exports = __toCommonJS(components_exports);
20
+ __reExport(components_exports, require("./Bell.cjs"), module.exports);
21
+ __reExport(components_exports, require("./Inbox.cjs"), module.exports);
22
+ __reExport(components_exports, require("./Preferences.cjs"), module.exports);
23
+ __reExport(components_exports, require("./Notifications.cjs"), module.exports);
24
+ __reExport(components_exports, require("./InboxContent.cjs"), module.exports);
25
+ __reExport(components_exports, require("../hooks/NovuProvider.cjs"), module.exports);
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ ...require("./Bell.cjs"),
29
+ ...require("./Inbox.cjs"),
30
+ ...require("./Preferences.cjs"),
31
+ ...require("./Notifications.cjs"),
32
+ ...require("./InboxContent.cjs"),
33
+ ...require("../hooks/NovuProvider.cjs")
34
+ });
35
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from './Bell';\nexport * from './Inbox';\nexport * from './Preferences';\nexport * from './Notifications';\nexport * from './InboxContent';\nexport * from '../hooks/NovuProvider';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAc,uBAAd;AACA,+BAAc,wBADd;AAEA,+BAAc,8BAFd;AAGA,+BAAc,gCAHd;AAIA,+BAAc,+BAJd;AAKA,+BAAc,sCALd;","names":[]}
@@ -0,0 +1,11 @@
1
+ export { Bell, BellProps } from './Bell.cjs';
2
+ export { Inbox, InboxProps } from './Inbox.cjs';
3
+ export { Preferences } from './Preferences.cjs';
4
+ export { NotificationProps, Notifications } from './Notifications.cjs';
5
+ export { InboxContent, InboxContentProps } from './InboxContent.cjs';
6
+ export { InternalNovuProvider, NovuProvider, NovuProviderProps, useNovu, useUnsafeNovu } from '../hooks/NovuProvider.cjs';
7
+ import 'react';
8
+ import '../utils/types.cjs';
9
+ import '@novu/js/ui';
10
+ import 'react/jsx-runtime';
11
+ import '@novu/js';
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/context/NovuUIContext.tsx
21
+ var NovuUIContext_exports = {};
22
+ __export(NovuUIContext_exports, {
23
+ NovuUIProvider: () => NovuUIProvider,
24
+ useNovuUI: () => useNovuUIContext,
25
+ useUnsafeNovuUI: () => useUnsafeNovuUIContext
26
+ });
27
+ module.exports = __toCommonJS(NovuUIContext_exports);
28
+ var import_createContextAndHook = require("../utils/createContextAndHook.cjs");
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ var [NovuUIContext, useNovuUIContext, useUnsafeNovuUIContext] = (0, import_createContextAndHook.createContextAndHook)("NovuUIContext");
31
+ var NovuUIProvider = (props) => {
32
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NovuUIContext.Provider, { value: { value: props.value }, children: props.children });
33
+ };
34
+ // Annotate the CommonJS export names for ESM import in node:
35
+ 0 && (module.exports = {
36
+ NovuUIProvider,
37
+ useNovuUI,
38
+ useUnsafeNovuUI
39
+ });
40
+ //# sourceMappingURL=NovuUIContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/context/NovuUIContext.tsx"],"sourcesContent":["import React from 'react';\nimport type { NovuUI } from '@novu/js/ui';\nimport { createContextAndHook } from '../utils/createContextAndHook';\n\ntype NovuUIContextValue = {\n novuUI: NovuUI;\n};\n\nconst [NovuUIContext, useNovuUIContext, useUnsafeNovuUIContext] =\n createContextAndHook<NovuUIContextValue>('NovuUIContext');\n\nconst NovuUIProvider = (props: React.PropsWithChildren<{ value: NovuUIContextValue }>) => {\n return <NovuUIContext.Provider value={{ value: props.value }}>{props.children}</NovuUIContext.Provider>;\n};\n\nexport { useNovuUIContext as useNovuUI, useUnsafeNovuUIContext as useUnsafeNovuUI, NovuUIProvider };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kCAAqC;AAU5B;AAJT,IAAM,CAAC,eAAe,kBAAkB,sBAAsB,QAC5D,kDAAyC,eAAe;AAE1D,IAAM,iBAAiB,CAAC,UAAkE;AACxF,SAAO,4CAAC,cAAc,UAAd,EAAuB,OAAO,EAAE,OAAO,MAAM,MAAM,GAAI,gBAAM,UAAS;AAChF;","names":[]}
@@ -0,0 +1,14 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { NovuUI } from '@novu/js/ui';
4
+
5
+ type NovuUIContextValue = {
6
+ novuUI: NovuUI;
7
+ };
8
+ declare const useNovuUIContext: () => NovuUIContextValue;
9
+ declare const useUnsafeNovuUIContext: () => NovuUIContextValue | Partial<NovuUIContextValue>;
10
+ declare const NovuUIProvider: (props: React__default.PropsWithChildren<{
11
+ value: NovuUIContextValue;
12
+ }>) => react_jsx_runtime.JSX.Element;
13
+
14
+ export { NovuUIProvider, useNovuUIContext as useNovuUI, useUnsafeNovuUIContext as useUnsafeNovuUI };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/context/RendererContext.tsx
21
+ var RendererContext_exports = {};
22
+ __export(RendererContext_exports, {
23
+ RendererProvider: () => RendererProvider,
24
+ useRenderer: () => useRendererContext,
25
+ useUnsafeRenderer: () => useUnsafeRendererContext
26
+ });
27
+ module.exports = __toCommonJS(RendererContext_exports);
28
+ var import_createContextAndHook = require("../utils/createContextAndHook.cjs");
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ var [RendererContext, useRendererContext, useUnsafeRendererContext] = (0, import_createContextAndHook.createContextAndHook)("RendererContext");
31
+ var RendererProvider = (props) => {
32
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RendererContext.Provider, { value: { value: props.value }, children: props.children });
33
+ };
34
+ // Annotate the CommonJS export names for ESM import in node:
35
+ 0 && (module.exports = {
36
+ RendererProvider,
37
+ useRenderer,
38
+ useUnsafeRenderer
39
+ });
40
+ //# sourceMappingURL=RendererContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/context/RendererContext.tsx"],"sourcesContent":["import React from 'react';\nimport type { NovuUI } from '@novu/js/ui';\nimport { createContextAndHook } from '../utils/createContextAndHook';\n\nexport type MountedElement = React.ReactNode;\nexport type MountedElements = Map<HTMLElement, MountedElement>;\n\ntype RendererContextValue = {\n mountElement: (el: HTMLElement, mountedElement: MountedElement) => () => void;\n};\n\nconst [RendererContext, useRendererContext, useUnsafeRendererContext] =\n createContextAndHook<RendererContextValue>('RendererContext');\n\nconst RendererProvider = (props: React.PropsWithChildren<{ value: RendererContextValue }>) => {\n return <RendererContext.Provider value={{ value: props.value }}>{props.children}</RendererContext.Provider>;\n};\n\nexport { useRendererContext as useRenderer, useUnsafeRendererContext as useUnsafeRenderer, RendererProvider };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kCAAqC;AAa5B;AAJT,IAAM,CAAC,iBAAiB,oBAAoB,wBAAwB,QAClE,kDAA2C,iBAAiB;AAE9D,IAAM,mBAAmB,CAAC,UAAoE;AAC5F,SAAO,4CAAC,gBAAgB,UAAhB,EAAyB,OAAO,EAAE,OAAO,MAAM,MAAM,GAAI,gBAAM,UAAS;AAClF;","names":[]}
@@ -0,0 +1,15 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+
4
+ type MountedElement = React__default.ReactNode;
5
+ type MountedElements = Map<HTMLElement, MountedElement>;
6
+ type RendererContextValue = {
7
+ mountElement: (el: HTMLElement, mountedElement: MountedElement) => () => void;
8
+ };
9
+ declare const useRendererContext: () => RendererContextValue;
10
+ declare const useUnsafeRendererContext: () => RendererContextValue | Partial<RendererContextValue>;
11
+ declare const RendererProvider: (props: React__default.PropsWithChildren<{
12
+ value: RendererContextValue;
13
+ }>) => react_jsx_runtime.JSX.Element;
14
+
15
+ export { type MountedElement, type MountedElements, RendererProvider, useRendererContext as useRenderer, useUnsafeRendererContext as useUnsafeRenderer };
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name2 in all)
8
+ __defProp(target, name2, { get: all[name2], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/hooks/NovuProvider.tsx
21
+ var NovuProvider_exports = {};
22
+ __export(NovuProvider_exports, {
23
+ InternalNovuProvider: () => InternalNovuProvider,
24
+ NovuProvider: () => NovuProvider,
25
+ useNovu: () => useNovu,
26
+ useUnsafeNovu: () => useUnsafeNovu
27
+ });
28
+ module.exports = __toCommonJS(NovuProvider_exports);
29
+ var import_js = require("@novu/js");
30
+ var import_react = require("react");
31
+ var import_jsx_runtime = require("react/jsx-runtime");
32
+ var version = "2.6.6";
33
+ var name = "@novu/react";
34
+ var baseUserAgent = `${name}@${version}`;
35
+ var NovuContext = (0, import_react.createContext)(void 0);
36
+ var NovuProvider = ({
37
+ children,
38
+ applicationIdentifier,
39
+ subscriberId,
40
+ subscriberHash,
41
+ backendUrl,
42
+ socketUrl,
43
+ useCache
44
+ }) => {
45
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
46
+ InternalNovuProvider,
47
+ {
48
+ applicationIdentifier,
49
+ subscriberId,
50
+ subscriberHash,
51
+ backendUrl,
52
+ socketUrl,
53
+ useCache,
54
+ userAgentType: "hooks",
55
+ children
56
+ }
57
+ );
58
+ };
59
+ var InternalNovuProvider = ({
60
+ children,
61
+ applicationIdentifier,
62
+ subscriberId,
63
+ subscriberHash,
64
+ backendUrl,
65
+ socketUrl,
66
+ useCache,
67
+ userAgentType
68
+ }) => {
69
+ const novu = (0, import_react.useMemo)(
70
+ () => new import_js.Novu({
71
+ applicationIdentifier,
72
+ subscriberId,
73
+ subscriberHash,
74
+ backendUrl,
75
+ socketUrl,
76
+ useCache,
77
+ __userAgent: `${baseUserAgent} ${userAgentType}`
78
+ }),
79
+ [applicationIdentifier, subscriberId, subscriberHash, backendUrl, socketUrl, useCache, userAgentType]
80
+ );
81
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NovuContext.Provider, { value: novu, children });
82
+ };
83
+ var useNovu = () => {
84
+ const context = (0, import_react.useContext)(NovuContext);
85
+ if (!context) {
86
+ throw new Error("useNovu must be used within a <NovuProvider />");
87
+ }
88
+ return context;
89
+ };
90
+ var useUnsafeNovu = () => {
91
+ const context = (0, import_react.useContext)(NovuContext);
92
+ return context;
93
+ };
94
+ // Annotate the CommonJS export names for ESM import in node:
95
+ 0 && (module.exports = {
96
+ InternalNovuProvider,
97
+ NovuProvider,
98
+ useNovu,
99
+ useUnsafeNovu
100
+ });
101
+ //# sourceMappingURL=NovuProvider.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/NovuProvider.tsx"],"sourcesContent":["import { Novu, NovuOptions } from '@novu/js';\nimport { ReactNode, createContext, useContext, useMemo } from 'react';\n\n// @ts-ignore\nconst version = PACKAGE_VERSION;\n// @ts-ignore\nconst name = PACKAGE_NAME;\nconst baseUserAgent = `${name}@${version}`;\n\nexport type NovuProviderProps = NovuOptions & {\n children: ReactNode;\n};\n\nconst NovuContext = createContext<Novu | undefined>(undefined);\n\nexport const NovuProvider = ({\n children,\n applicationIdentifier,\n subscriberId,\n subscriberHash,\n backendUrl,\n socketUrl,\n useCache,\n}: NovuProviderProps) => {\n return (\n <InternalNovuProvider\n applicationIdentifier={applicationIdentifier}\n subscriberId={subscriberId}\n subscriberHash={subscriberHash}\n backendUrl={backendUrl}\n socketUrl={socketUrl}\n useCache={useCache}\n userAgentType=\"hooks\"\n >\n {children}\n </InternalNovuProvider>\n );\n};\n\n/**\n * @internal Should be used internally not to be exposed outside of the library\n * This is needed to differentiate between the hooks and components user agents\n * Better to use this internally to avoid confusion.\n */\nexport const InternalNovuProvider = ({\n children,\n applicationIdentifier,\n subscriberId,\n subscriberHash,\n backendUrl,\n socketUrl,\n useCache,\n userAgentType,\n}: NovuProviderProps & { userAgentType: 'components' | 'hooks' }) => {\n const novu = useMemo(\n () =>\n new Novu({\n applicationIdentifier,\n subscriberId,\n subscriberHash,\n backendUrl,\n socketUrl,\n useCache,\n __userAgent: `${baseUserAgent} ${userAgentType}`,\n }),\n [applicationIdentifier, subscriberId, subscriberHash, backendUrl, socketUrl, useCache, userAgentType]\n );\n\n return <NovuContext.Provider value={novu}>{children}</NovuContext.Provider>;\n};\n\nexport const useNovu = () => {\n const context = useContext(NovuContext);\n if (!context) {\n throw new Error('useNovu must be used within a <NovuProvider />');\n }\n\n return context;\n};\n\nexport const useUnsafeNovu = () => {\n const context = useContext(NovuContext);\n\n return context;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAkC;AAClC,mBAA8D;AAwB1D;AArBJ,IAAM,UAAU;AAEhB,IAAM,OAAO;AACb,IAAM,gBAAgB,GAAG,IAAI,IAAI,OAAO;AAMxC,IAAM,kBAAc,4BAAgC,MAAS;AAEtD,IAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAc;AAAA,MAEb;AAAA;AAAA,EACH;AAEJ;AAOO,IAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAqE;AACnE,QAAM,WAAO;AAAA,IACX,MACE,IAAI,eAAK;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa,GAAG,aAAa,IAAI,aAAa;AAAA,IAChD,CAAC;AAAA,IACH,CAAC,uBAAuB,cAAc,gBAAgB,YAAY,WAAW,UAAU,aAAa;AAAA,EACtG;AAEA,SAAO,4CAAC,YAAY,UAAZ,EAAqB,OAAO,MAAO,UAAS;AACtD;AAEO,IAAM,UAAU,MAAM;AAC3B,QAAM,cAAU,yBAAW,WAAW;AACtC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEA,SAAO;AACT;AAEO,IAAM,gBAAgB,MAAM;AACjC,QAAM,cAAU,yBAAW,WAAW;AAEtC,SAAO;AACT;","names":[]}
@@ -0,0 +1,20 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { NovuOptions, Novu } from '@novu/js';
3
+ import { ReactNode } from 'react';
4
+
5
+ type NovuProviderProps = NovuOptions & {
6
+ children: ReactNode;
7
+ };
8
+ declare const NovuProvider: ({ children, applicationIdentifier, subscriberId, subscriberHash, backendUrl, socketUrl, useCache, }: NovuProviderProps) => react_jsx_runtime.JSX.Element;
9
+ /**
10
+ * @internal Should be used internally not to be exposed outside of the library
11
+ * This is needed to differentiate between the hooks and components user agents
12
+ * Better to use this internally to avoid confusion.
13
+ */
14
+ declare const InternalNovuProvider: ({ children, applicationIdentifier, subscriberId, subscriberHash, backendUrl, socketUrl, useCache, userAgentType, }: NovuProviderProps & {
15
+ userAgentType: "components" | "hooks";
16
+ }) => react_jsx_runtime.JSX.Element;
17
+ declare const useNovu: () => Novu;
18
+ declare const useUnsafeNovu: () => Novu | undefined;
19
+
20
+ export { InternalNovuProvider, NovuProvider, type NovuProviderProps, useNovu, useUnsafeNovu };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/hooks/index.ts
22
+ var hooks_exports = {};
23
+ __export(hooks_exports, {
24
+ NovuProvider: () => import_NovuProvider.NovuProvider,
25
+ useNovu: () => import_NovuProvider.useNovu
26
+ });
27
+ module.exports = __toCommonJS(hooks_exports);
28
+ __reExport(hooks_exports, require("./useNotifications.cjs"), module.exports);
29
+ __reExport(hooks_exports, require("./usePreferences.cjs"), module.exports);
30
+ __reExport(hooks_exports, require("./useCounts.cjs"), module.exports);
31
+ var import_NovuProvider = require("./NovuProvider.cjs");
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ NovuProvider,
35
+ useNovu,
36
+ ...require("./useNotifications.cjs"),
37
+ ...require("./usePreferences.cjs"),
38
+ ...require("./useCounts.cjs")
39
+ });
40
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useNotifications';\nexport * from './usePreferences';\nexport * from './useCounts';\nexport { NovuProvider, useNovu } from './NovuProvider';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAc,mCAAd;AACA,0BAAc,iCADd;AAEA,0BAAc,4BAFd;AAGA,0BAAsC;","names":[]}
@@ -0,0 +1,7 @@
1
+ export { UseNotificationsProps, UseNotificationsResult, useNotifications } from './useNotifications.cjs';
2
+ export { UsePreferencesProps, UsePreferencesResult, usePreferences } from './usePreferences.cjs';
3
+ export { UseCountsProps, UseCountsResult, useCounts } from './useCounts.cjs';
4
+ export { NovuProvider, useNovu } from './NovuProvider.cjs';
5
+ import '@novu/js';
6
+ import 'react/jsx-runtime';
7
+ import 'react';
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/hooks/internal/useBrowserTabsChannel.ts
21
+ var useBrowserTabsChannel_exports = {};
22
+ __export(useBrowserTabsChannel_exports, {
23
+ useBrowserTabsChannel: () => useBrowserTabsChannel
24
+ });
25
+ module.exports = __toCommonJS(useBrowserTabsChannel_exports);
26
+ var import_react = require("react");
27
+ var useBrowserTabsChannel = ({
28
+ channelName,
29
+ onMessage
30
+ }) => {
31
+ const [tabsChannel] = (0, import_react.useState)(
32
+ typeof BroadcastChannel !== "undefined" ? new BroadcastChannel(channelName) : void 0
33
+ );
34
+ const postMessage = (data) => {
35
+ tabsChannel == null ? void 0 : tabsChannel.postMessage(data);
36
+ };
37
+ (0, import_react.useEffect)(() => {
38
+ const listener = (event) => {
39
+ onMessage(event.data);
40
+ };
41
+ tabsChannel == null ? void 0 : tabsChannel.addEventListener("message", listener);
42
+ return () => {
43
+ tabsChannel == null ? void 0 : tabsChannel.removeEventListener("message", listener);
44
+ };
45
+ }, []);
46
+ return { postMessage };
47
+ };
48
+ // Annotate the CommonJS export names for ESM import in node:
49
+ 0 && (module.exports = {
50
+ useBrowserTabsChannel
51
+ });
52
+ //# sourceMappingURL=useBrowserTabsChannel.cjs.map