@novu/react 3.15.0 → 3.17.0-rc.d0046861c6

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 (151) hide show
  1. package/dist/cjs/components/NovuUI.cjs.map +1 -1
  2. package/dist/cjs/components/NovuUI.d.cts +2 -2
  3. package/dist/cjs/components/connect-chat/ConnectChat.cjs +63 -0
  4. package/dist/cjs/components/connect-chat/ConnectChat.cjs.map +1 -0
  5. package/dist/cjs/components/connect-chat/ConnectChat.d.cts +12 -0
  6. package/dist/cjs/components/connect-chat/DefaultConnectChat.cjs +83 -0
  7. package/dist/cjs/components/connect-chat/DefaultConnectChat.cjs.map +1 -0
  8. package/dist/cjs/components/connect-chat/DefaultConnectChat.d.cts +7 -0
  9. package/dist/cjs/components/index.cjs +8 -0
  10. package/dist/cjs/components/index.cjs.map +1 -1
  11. package/dist/cjs/components/index.d.cts +9 -1
  12. package/dist/cjs/components/msteams-connect-button/DefaultMsTeamsConnectButton.cjs +92 -0
  13. package/dist/cjs/components/msteams-connect-button/DefaultMsTeamsConnectButton.cjs.map +1 -0
  14. package/dist/cjs/components/msteams-connect-button/DefaultMsTeamsConnectButton.d.cts +7 -0
  15. package/dist/cjs/components/msteams-connect-button/MsTeamsConnectButton.cjs +63 -0
  16. package/dist/cjs/components/msteams-connect-button/MsTeamsConnectButton.cjs.map +1 -0
  17. package/dist/cjs/components/msteams-connect-button/MsTeamsConnectButton.d.cts +12 -0
  18. package/dist/cjs/components/msteams-link-user/DefaultMsTeamsLinkUser.cjs +80 -0
  19. package/dist/cjs/components/msteams-link-user/DefaultMsTeamsLinkUser.cjs.map +1 -0
  20. package/dist/cjs/components/msteams-link-user/DefaultMsTeamsLinkUser.d.cts +7 -0
  21. package/dist/cjs/components/msteams-link-user/MsTeamsLinkUser.cjs +63 -0
  22. package/dist/cjs/components/msteams-link-user/MsTeamsLinkUser.cjs.map +1 -0
  23. package/dist/cjs/components/msteams-link-user/MsTeamsLinkUser.d.cts +12 -0
  24. package/dist/cjs/components/slack-connect-button/DefaultSlackConnectButton.cjs +92 -0
  25. package/dist/cjs/components/slack-connect-button/DefaultSlackConnectButton.cjs.map +1 -0
  26. package/dist/cjs/components/slack-connect-button/DefaultSlackConnectButton.d.cts +7 -0
  27. package/dist/cjs/components/slack-connect-button/SlackConnectButton.cjs +63 -0
  28. package/dist/cjs/components/slack-connect-button/SlackConnectButton.cjs.map +1 -0
  29. package/dist/cjs/components/slack-connect-button/SlackConnectButton.d.cts +12 -0
  30. package/dist/cjs/components/slack-link-user/DefaultSlackLinkUser.cjs +80 -0
  31. package/dist/cjs/components/slack-link-user/DefaultSlackLinkUser.cjs.map +1 -0
  32. package/dist/cjs/components/slack-link-user/DefaultSlackLinkUser.d.cts +7 -0
  33. package/dist/cjs/components/slack-link-user/SlackLinkUser.cjs +63 -0
  34. package/dist/cjs/components/slack-link-user/SlackLinkUser.cjs.map +1 -0
  35. package/dist/cjs/components/slack-link-user/SlackLinkUser.d.cts +12 -0
  36. package/dist/cjs/hooks/NovuProvider.cjs +34 -22
  37. package/dist/cjs/hooks/NovuProvider.cjs.map +1 -1
  38. package/dist/cjs/hooks/NovuProvider.d.cts +13 -2
  39. package/dist/cjs/hooks/index.cjs +10 -0
  40. package/dist/cjs/hooks/index.cjs.map +1 -1
  41. package/dist/cjs/hooks/index.d.cts +5 -0
  42. package/dist/cjs/hooks/internal/useBrowserTabsChannel.cjs +5 -2
  43. package/dist/cjs/hooks/internal/useBrowserTabsChannel.cjs.map +1 -1
  44. package/dist/cjs/hooks/internal/useBrowserTabsChannel.d.cts +2 -1
  45. package/dist/cjs/hooks/internal/useWebsocketEvent.cjs +6 -3
  46. package/dist/cjs/hooks/internal/useWebsocketEvent.cjs.map +1 -1
  47. package/dist/cjs/hooks/internal/useWebsocketEvent.d.cts +2 -1
  48. package/dist/cjs/hooks/useChannelConnection.cjs +107 -0
  49. package/dist/cjs/hooks/useChannelConnection.cjs.map +1 -0
  50. package/dist/cjs/hooks/useChannelConnection.d.cts +20 -0
  51. package/dist/cjs/hooks/useChannelConnections.cjs +85 -0
  52. package/dist/cjs/hooks/useChannelConnections.cjs.map +1 -0
  53. package/dist/cjs/hooks/useChannelConnections.d.cts +24 -0
  54. package/dist/cjs/hooks/useChannelEndpoint.cjs +110 -0
  55. package/dist/cjs/hooks/useChannelEndpoint.cjs.map +1 -0
  56. package/dist/cjs/hooks/useChannelEndpoint.d.cts +20 -0
  57. package/dist/cjs/hooks/useCounts.cjs +5 -1
  58. package/dist/cjs/hooks/useCounts.cjs.map +1 -1
  59. package/dist/cjs/hooks/useCounts.d.cts +18 -0
  60. package/dist/cjs/hooks/useCreateChannelEndpoint.cjs +61 -0
  61. package/dist/cjs/hooks/useCreateChannelEndpoint.cjs.map +1 -0
  62. package/dist/cjs/hooks/useCreateChannelEndpoint.d.cts +17 -0
  63. package/dist/cjs/hooks/useDeleteChannelEndpoint.cjs +69 -0
  64. package/dist/cjs/hooks/useDeleteChannelEndpoint.cjs.map +1 -0
  65. package/dist/cjs/hooks/useDeleteChannelEndpoint.d.cts +17 -0
  66. package/dist/cjs/hooks/useNotifications.cjs +4 -0
  67. package/dist/cjs/hooks/useNotifications.cjs.map +1 -1
  68. package/dist/cjs/hooks/useNotifications.d.cts +18 -0
  69. package/dist/cjs/index.cjs +18 -0
  70. package/dist/cjs/index.cjs.map +1 -1
  71. package/dist/cjs/index.d.cts +15 -2
  72. package/dist/cjs/internal/index.d.cts +1 -0
  73. package/dist/cjs/server/index.d.cts +1 -1
  74. package/dist/cjs/themes/index.d.cts +0 -1
  75. package/dist/cjs/utils/appearance.cjs.map +1 -1
  76. package/dist/cjs/utils/appearance.d.cts +2 -2
  77. package/dist/esm/components/NovuUI.d.ts +2 -2
  78. package/dist/esm/components/NovuUI.js.map +1 -1
  79. package/dist/esm/components/connect-chat/ConnectChat.d.ts +12 -0
  80. package/dist/esm/components/connect-chat/ConnectChat.js +28 -0
  81. package/dist/esm/components/connect-chat/ConnectChat.js.map +1 -0
  82. package/dist/esm/components/connect-chat/DefaultConnectChat.d.ts +7 -0
  83. package/dist/esm/components/connect-chat/DefaultConnectChat.js +58 -0
  84. package/dist/esm/components/connect-chat/DefaultConnectChat.js.map +1 -0
  85. package/dist/esm/components/index.d.ts +9 -1
  86. package/dist/esm/components/index.js +4 -0
  87. package/dist/esm/components/index.js.map +1 -1
  88. package/dist/esm/components/msteams-connect-button/DefaultMsTeamsConnectButton.d.ts +7 -0
  89. package/dist/esm/components/msteams-connect-button/DefaultMsTeamsConnectButton.js +67 -0
  90. package/dist/esm/components/msteams-connect-button/DefaultMsTeamsConnectButton.js.map +1 -0
  91. package/dist/esm/components/msteams-connect-button/MsTeamsConnectButton.d.ts +12 -0
  92. package/dist/esm/components/msteams-connect-button/MsTeamsConnectButton.js +28 -0
  93. package/dist/esm/components/msteams-connect-button/MsTeamsConnectButton.js.map +1 -0
  94. package/dist/esm/components/msteams-link-user/DefaultMsTeamsLinkUser.d.ts +7 -0
  95. package/dist/esm/components/msteams-link-user/DefaultMsTeamsLinkUser.js +55 -0
  96. package/dist/esm/components/msteams-link-user/DefaultMsTeamsLinkUser.js.map +1 -0
  97. package/dist/esm/components/msteams-link-user/MsTeamsLinkUser.d.ts +12 -0
  98. package/dist/esm/components/msteams-link-user/MsTeamsLinkUser.js +28 -0
  99. package/dist/esm/components/msteams-link-user/MsTeamsLinkUser.js.map +1 -0
  100. package/dist/esm/components/slack-connect-button/DefaultSlackConnectButton.d.ts +7 -0
  101. package/dist/esm/components/slack-connect-button/DefaultSlackConnectButton.js +67 -0
  102. package/dist/esm/components/slack-connect-button/DefaultSlackConnectButton.js.map +1 -0
  103. package/dist/esm/components/slack-connect-button/SlackConnectButton.d.ts +12 -0
  104. package/dist/esm/components/slack-connect-button/SlackConnectButton.js +28 -0
  105. package/dist/esm/components/slack-connect-button/SlackConnectButton.js.map +1 -0
  106. package/dist/esm/components/slack-link-user/DefaultSlackLinkUser.d.ts +7 -0
  107. package/dist/esm/components/slack-link-user/DefaultSlackLinkUser.js +55 -0
  108. package/dist/esm/components/slack-link-user/DefaultSlackLinkUser.js.map +1 -0
  109. package/dist/esm/components/slack-link-user/SlackLinkUser.d.ts +12 -0
  110. package/dist/esm/components/slack-link-user/SlackLinkUser.js +28 -0
  111. package/dist/esm/components/slack-link-user/SlackLinkUser.js.map +1 -0
  112. package/dist/esm/hooks/NovuProvider.d.ts +13 -2
  113. package/dist/esm/hooks/NovuProvider.js +33 -22
  114. package/dist/esm/hooks/NovuProvider.js.map +1 -1
  115. package/dist/esm/hooks/index.d.ts +5 -0
  116. package/dist/esm/hooks/index.js +5 -0
  117. package/dist/esm/hooks/index.js.map +1 -1
  118. package/dist/esm/hooks/internal/useBrowserTabsChannel.d.ts +2 -1
  119. package/dist/esm/hooks/internal/useBrowserTabsChannel.js +5 -2
  120. package/dist/esm/hooks/internal/useBrowserTabsChannel.js.map +1 -1
  121. package/dist/esm/hooks/internal/useWebsocketEvent.d.ts +2 -1
  122. package/dist/esm/hooks/internal/useWebsocketEvent.js +6 -3
  123. package/dist/esm/hooks/internal/useWebsocketEvent.js.map +1 -1
  124. package/dist/esm/hooks/useChannelConnection.d.ts +20 -0
  125. package/dist/esm/hooks/useChannelConnection.js +81 -0
  126. package/dist/esm/hooks/useChannelConnection.js.map +1 -0
  127. package/dist/esm/hooks/useChannelConnections.d.ts +24 -0
  128. package/dist/esm/hooks/useChannelConnections.js +60 -0
  129. package/dist/esm/hooks/useChannelConnections.js.map +1 -0
  130. package/dist/esm/hooks/useChannelEndpoint.d.ts +20 -0
  131. package/dist/esm/hooks/useChannelEndpoint.js +83 -0
  132. package/dist/esm/hooks/useChannelEndpoint.js.map +1 -0
  133. package/dist/esm/hooks/useCounts.d.ts +18 -0
  134. package/dist/esm/hooks/useCounts.js +6 -2
  135. package/dist/esm/hooks/useCounts.js.map +1 -1
  136. package/dist/esm/hooks/useCreateChannelEndpoint.d.ts +17 -0
  137. package/dist/esm/hooks/useCreateChannelEndpoint.js +36 -0
  138. package/dist/esm/hooks/useCreateChannelEndpoint.js.map +1 -0
  139. package/dist/esm/hooks/useDeleteChannelEndpoint.d.ts +17 -0
  140. package/dist/esm/hooks/useDeleteChannelEndpoint.js +43 -0
  141. package/dist/esm/hooks/useDeleteChannelEndpoint.js.map +1 -0
  142. package/dist/esm/hooks/useNotifications.d.ts +18 -0
  143. package/dist/esm/hooks/useNotifications.js +5 -1
  144. package/dist/esm/hooks/useNotifications.js.map +1 -1
  145. package/dist/esm/index.d.ts +15 -2
  146. package/dist/esm/index.js +18 -0
  147. package/dist/esm/index.js.map +1 -1
  148. package/dist/esm/server/index.d.ts +1 -1
  149. package/dist/esm/utils/appearance.d.ts +2 -2
  150. package/dist/esm/utils/appearance.js.map +1 -1
  151. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/msteams-link-user/MsTeamsLinkUser.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { useNovu } from '../../hooks/NovuProvider';\nimport { NovuUI, NovuUIOptions } from '../NovuUI';\nimport { withRenderer } from '../Renderer';\nimport { DefaultMsTeamsLinkUser, DefaultMsTeamsLinkUserProps } from './DefaultMsTeamsLinkUser';\n\nexport type MsTeamsLinkUserProps = DefaultMsTeamsLinkUserProps & Pick<NovuUIOptions, 'container' | 'appearance'>;\n\nconst MsTeamsLinkUserInternal = withRenderer<MsTeamsLinkUserProps>((props) => {\n const { container, appearance, ...defaultProps } = props;\n const novu = useNovu();\n\n const options: NovuUIOptions = useMemo(() => {\n return {\n container,\n appearance,\n options: novu.options,\n };\n }, [container, appearance, novu.options]);\n\n return (\n <NovuUI options={options} novu={novu}>\n <DefaultMsTeamsLinkUser {...defaultProps} />\n </NovuUI>\n );\n});\n\nMsTeamsLinkUserInternal.displayName = 'MsTeamsLinkUserInternal';\n\nexport const MsTeamsLinkUser = React.memo((props: MsTeamsLinkUserProps) => {\n return <MsTeamsLinkUserInternal {...props} />;\n});\n\nMsTeamsLinkUser.displayName = 'MsTeamsLinkUser';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+B;AAC/B,0BAAwB;AACxB,oBAAsC;AACtC,sBAA6B;AAC7B,oCAAoE;AAkB9D;AAdN,IAAM,8BAA0B,8BAAmC,CAAC,UAAU;AAC5E,QAAM,EAAE,WAAW,YAAY,GAAG,aAAa,IAAI;AACnD,QAAM,WAAO,6BAAQ;AAErB,QAAM,cAAyB,sBAAQ,MAAM;AAC3C,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,SAAS,KAAK;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,WAAW,YAAY,KAAK,OAAO,CAAC;AAExC,SACE,4CAAC,wBAAO,SAAkB,MACxB,sDAAC,wDAAwB,GAAG,cAAc,GAC5C;AAEJ,CAAC;AAED,wBAAwB,cAAc;AAE/B,IAAM,kBAAkB,aAAAA,QAAM,KAAK,CAAC,UAAgC;AACzE,SAAO,4CAAC,2BAAyB,GAAG,OAAO;AAC7C,CAAC;AAED,gBAAgB,cAAc;","names":["React"]}
@@ -0,0 +1,12 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { NovuUIOptions } from '../NovuUI.cjs';
4
+ import { DefaultMsTeamsLinkUserProps } from './DefaultMsTeamsLinkUser.cjs';
5
+ import '@novu/js';
6
+ import '@novu/js/ui';
7
+ import '../../utils/types.cjs';
8
+
9
+ type MsTeamsLinkUserProps = DefaultMsTeamsLinkUserProps & Pick<NovuUIOptions, 'container' | 'appearance'>;
10
+ declare const MsTeamsLinkUser: React__default.MemoExoticComponent<(props: MsTeamsLinkUserProps) => react_jsx_runtime.JSX.Element>;
11
+
12
+ export { MsTeamsLinkUser, type MsTeamsLinkUserProps };
@@ -0,0 +1,92 @@
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/slack-connect-button/DefaultSlackConnectButton.tsx
21
+ var DefaultSlackConnectButton_exports = {};
22
+ __export(DefaultSlackConnectButton_exports, {
23
+ DefaultSlackConnectButton: () => DefaultSlackConnectButton
24
+ });
25
+ module.exports = __toCommonJS(DefaultSlackConnectButton_exports);
26
+ var import_react = require("react");
27
+ var import_NovuUIContext = require("../../context/NovuUIContext.cjs");
28
+ var import_Mounter = require("../Mounter.cjs");
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ var DefaultSlackConnectButton = (props) => {
31
+ const {
32
+ integrationIdentifier,
33
+ connectionIdentifier,
34
+ subscriberId,
35
+ context,
36
+ scope,
37
+ connectionMode,
38
+ autoLinkUser,
39
+ onConnectSuccess,
40
+ onConnectError,
41
+ onDisconnectSuccess,
42
+ onDisconnectError,
43
+ connectLabel,
44
+ connectedLabel
45
+ } = props;
46
+ const { novuUI } = (0, import_NovuUIContext.useNovuUI)();
47
+ const mount = (0, import_react.useCallback)(
48
+ (element) => {
49
+ return novuUI.mountComponent({
50
+ name: "SlackConnectButton",
51
+ props: {
52
+ integrationIdentifier,
53
+ connectionIdentifier,
54
+ subscriberId,
55
+ context,
56
+ scope,
57
+ connectionMode,
58
+ autoLinkUser,
59
+ onConnectSuccess,
60
+ onConnectError,
61
+ onDisconnectSuccess,
62
+ onDisconnectError,
63
+ connectLabel,
64
+ connectedLabel
65
+ },
66
+ element
67
+ });
68
+ },
69
+ [
70
+ novuUI,
71
+ integrationIdentifier,
72
+ connectionIdentifier,
73
+ subscriberId,
74
+ context,
75
+ scope,
76
+ connectionMode,
77
+ autoLinkUser,
78
+ onConnectSuccess,
79
+ onConnectError,
80
+ onDisconnectSuccess,
81
+ onDisconnectError,
82
+ connectLabel,
83
+ connectedLabel
84
+ ]
85
+ );
86
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Mounter.Mounter, { mount });
87
+ };
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ DefaultSlackConnectButton
91
+ });
92
+ //# sourceMappingURL=DefaultSlackConnectButton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/slack-connect-button/DefaultSlackConnectButton.tsx"],"sourcesContent":["import { SlackConnectButtonProps } from '@novu/js/ui';\nimport { useCallback } from 'react';\nimport { useNovuUI } from '../../context/NovuUIContext';\nimport { Mounter } from '../Mounter';\n\nexport type DefaultSlackConnectButtonProps = Pick<\n SlackConnectButtonProps,\n | 'integrationIdentifier'\n | 'connectionIdentifier'\n | 'subscriberId'\n | 'context'\n | 'scope'\n | 'connectionMode'\n | 'autoLinkUser'\n | 'onConnectSuccess'\n | 'onConnectError'\n | 'onDisconnectSuccess'\n | 'onDisconnectError'\n | 'connectLabel'\n | 'connectedLabel'\n>;\n\nexport const DefaultSlackConnectButton = (props: DefaultSlackConnectButtonProps) => {\n const {\n integrationIdentifier,\n connectionIdentifier,\n subscriberId,\n context,\n scope,\n connectionMode,\n autoLinkUser,\n onConnectSuccess,\n onConnectError,\n onDisconnectSuccess,\n onDisconnectError,\n connectLabel,\n connectedLabel,\n } = props;\n const { novuUI } = useNovuUI();\n\n const mount = useCallback(\n (element: HTMLElement) => {\n return novuUI.mountComponent({\n name: 'SlackConnectButton',\n props: {\n integrationIdentifier,\n connectionIdentifier,\n subscriberId,\n context,\n scope,\n connectionMode,\n autoLinkUser,\n onConnectSuccess,\n onConnectError,\n onDisconnectSuccess,\n onDisconnectError,\n connectLabel,\n connectedLabel,\n },\n element,\n });\n },\n [\n novuUI,\n integrationIdentifier,\n connectionIdentifier,\n subscriberId,\n context,\n scope,\n connectionMode,\n autoLinkUser,\n onConnectSuccess,\n onConnectError,\n onDisconnectSuccess,\n onDisconnectError,\n connectLabel,\n connectedLabel,\n ]\n );\n\n return <Mounter mount={mount} />;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA4B;AAC5B,2BAA0B;AAC1B,qBAAwB;AA6Ef;AA1DF,IAAM,4BAA4B,CAAC,UAA0C;AAClF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,EAAE,OAAO,QAAI,gCAAU;AAE7B,QAAM,YAAQ;AAAA,IACZ,CAAC,YAAyB;AACxB,aAAO,OAAO,eAAe;AAAA,QAC3B,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO,4CAAC,0BAAQ,OAAc;AAChC;","names":[]}
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { SlackConnectButtonProps } from '@novu/js/ui';
3
+
4
+ type DefaultSlackConnectButtonProps = Pick<SlackConnectButtonProps, 'integrationIdentifier' | 'connectionIdentifier' | 'subscriberId' | 'context' | 'scope' | 'connectionMode' | 'autoLinkUser' | 'onConnectSuccess' | 'onConnectError' | 'onDisconnectSuccess' | 'onDisconnectError' | 'connectLabel' | 'connectedLabel'>;
5
+ declare const DefaultSlackConnectButton: (props: DefaultSlackConnectButtonProps) => react_jsx_runtime.JSX.Element;
6
+
7
+ export { DefaultSlackConnectButton, type DefaultSlackConnectButtonProps };
@@ -0,0 +1,63 @@
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/slack-connect-button/SlackConnectButton.tsx
31
+ var SlackConnectButton_exports = {};
32
+ __export(SlackConnectButton_exports, {
33
+ SlackConnectButton: () => SlackConnectButton
34
+ });
35
+ module.exports = __toCommonJS(SlackConnectButton_exports);
36
+ var import_react = __toESM(require("react"), 1);
37
+ var import_NovuProvider = require("../../hooks/NovuProvider.cjs");
38
+ var import_NovuUI = require("../NovuUI.cjs");
39
+ var import_Renderer = require("../Renderer.cjs");
40
+ var import_DefaultSlackConnectButton = require("./DefaultSlackConnectButton.cjs");
41
+ var import_jsx_runtime = require("react/jsx-runtime");
42
+ var SlackConnectButtonInternal = (0, import_Renderer.withRenderer)((props) => {
43
+ const { container, appearance, ...defaultProps } = props;
44
+ const novu = (0, import_NovuProvider.useNovu)();
45
+ const options = (0, import_react.useMemo)(() => {
46
+ return {
47
+ container,
48
+ appearance,
49
+ options: novu.options
50
+ };
51
+ }, [container, appearance, novu.options]);
52
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NovuUI.NovuUI, { options, novu, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DefaultSlackConnectButton.DefaultSlackConnectButton, { ...defaultProps }) });
53
+ });
54
+ SlackConnectButtonInternal.displayName = "SlackConnectButtonInternal";
55
+ var SlackConnectButton = import_react.default.memo((props) => {
56
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlackConnectButtonInternal, { ...props });
57
+ });
58
+ SlackConnectButton.displayName = "SlackConnectButton";
59
+ // Annotate the CommonJS export names for ESM import in node:
60
+ 0 && (module.exports = {
61
+ SlackConnectButton
62
+ });
63
+ //# sourceMappingURL=SlackConnectButton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/slack-connect-button/SlackConnectButton.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { useNovu } from '../../hooks/NovuProvider';\nimport { NovuUI, NovuUIOptions } from '../NovuUI';\nimport { withRenderer } from '../Renderer';\nimport { DefaultSlackConnectButton, DefaultSlackConnectButtonProps } from './DefaultSlackConnectButton';\n\nexport type SlackConnectButtonProps = DefaultSlackConnectButtonProps & Pick<NovuUIOptions, 'container' | 'appearance'>;\n\nconst SlackConnectButtonInternal = withRenderer<SlackConnectButtonProps>((props) => {\n const { container, appearance, ...defaultProps } = props;\n const novu = useNovu();\n\n const options: NovuUIOptions = useMemo(() => {\n return {\n container,\n appearance,\n options: novu.options,\n };\n }, [container, appearance, novu.options]);\n\n return (\n <NovuUI options={options} novu={novu}>\n <DefaultSlackConnectButton {...defaultProps} />\n </NovuUI>\n );\n});\n\nSlackConnectButtonInternal.displayName = 'SlackConnectButtonInternal';\n\nexport const SlackConnectButton = React.memo((props: SlackConnectButtonProps) => {\n return <SlackConnectButtonInternal {...props} />;\n});\n\nSlackConnectButton.displayName = 'SlackConnectButton';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+B;AAC/B,0BAAwB;AACxB,oBAAsC;AACtC,sBAA6B;AAC7B,uCAA0E;AAkBpE;AAdN,IAAM,iCAA6B,8BAAsC,CAAC,UAAU;AAClF,QAAM,EAAE,WAAW,YAAY,GAAG,aAAa,IAAI;AACnD,QAAM,WAAO,6BAAQ;AAErB,QAAM,cAAyB,sBAAQ,MAAM;AAC3C,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,SAAS,KAAK;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,WAAW,YAAY,KAAK,OAAO,CAAC;AAExC,SACE,4CAAC,wBAAO,SAAkB,MACxB,sDAAC,8DAA2B,GAAG,cAAc,GAC/C;AAEJ,CAAC;AAED,2BAA2B,cAAc;AAElC,IAAM,qBAAqB,aAAAA,QAAM,KAAK,CAAC,UAAmC;AAC/E,SAAO,4CAAC,8BAA4B,GAAG,OAAO;AAChD,CAAC;AAED,mBAAmB,cAAc;","names":["React"]}
@@ -0,0 +1,12 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { NovuUIOptions } from '../NovuUI.cjs';
4
+ import { DefaultSlackConnectButtonProps } from './DefaultSlackConnectButton.cjs';
5
+ import '@novu/js';
6
+ import '@novu/js/ui';
7
+ import '../../utils/types.cjs';
8
+
9
+ type SlackConnectButtonProps = DefaultSlackConnectButtonProps & Pick<NovuUIOptions, 'container' | 'appearance'>;
10
+ declare const SlackConnectButton: React__default.MemoExoticComponent<(props: SlackConnectButtonProps) => react_jsx_runtime.JSX.Element>;
11
+
12
+ export { SlackConnectButton, type SlackConnectButtonProps };
@@ -0,0 +1,80 @@
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/slack-link-user/DefaultSlackLinkUser.tsx
21
+ var DefaultSlackLinkUser_exports = {};
22
+ __export(DefaultSlackLinkUser_exports, {
23
+ DefaultSlackLinkUser: () => DefaultSlackLinkUser
24
+ });
25
+ module.exports = __toCommonJS(DefaultSlackLinkUser_exports);
26
+ var import_react = require("react");
27
+ var import_NovuUIContext = require("../../context/NovuUIContext.cjs");
28
+ var import_Mounter = require("../Mounter.cjs");
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ var DefaultSlackLinkUser = (props) => {
31
+ const {
32
+ integrationIdentifier,
33
+ connectionIdentifier,
34
+ context,
35
+ onLinkSuccess,
36
+ onLinkError,
37
+ onUnlinkSuccess,
38
+ onUnlinkError,
39
+ linkLabel,
40
+ unlinkLabel
41
+ } = props;
42
+ const { novuUI } = (0, import_NovuUIContext.useNovuUI)();
43
+ const mount = (0, import_react.useCallback)(
44
+ (element) => {
45
+ return novuUI.mountComponent({
46
+ name: "SlackLinkUser",
47
+ props: {
48
+ integrationIdentifier,
49
+ connectionIdentifier,
50
+ context,
51
+ onLinkSuccess,
52
+ onLinkError,
53
+ onUnlinkSuccess,
54
+ onUnlinkError,
55
+ linkLabel,
56
+ unlinkLabel
57
+ },
58
+ element
59
+ });
60
+ },
61
+ [
62
+ novuUI,
63
+ integrationIdentifier,
64
+ connectionIdentifier,
65
+ context,
66
+ onLinkSuccess,
67
+ onLinkError,
68
+ onUnlinkSuccess,
69
+ onUnlinkError,
70
+ linkLabel,
71
+ unlinkLabel
72
+ ]
73
+ );
74
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Mounter.Mounter, { mount });
75
+ };
76
+ // Annotate the CommonJS export names for ESM import in node:
77
+ 0 && (module.exports = {
78
+ DefaultSlackLinkUser
79
+ });
80
+ //# sourceMappingURL=DefaultSlackLinkUser.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/slack-link-user/DefaultSlackLinkUser.tsx"],"sourcesContent":["import { SlackLinkUserProps } from '@novu/js/ui';\nimport { useCallback } from 'react';\nimport { useNovuUI } from '../../context/NovuUIContext';\nimport { Mounter } from '../Mounter';\n\nexport type DefaultSlackLinkUserProps = Pick<\n SlackLinkUserProps,\n | 'integrationIdentifier'\n | 'connectionIdentifier'\n | 'context'\n | 'onLinkSuccess'\n | 'onLinkError'\n | 'onUnlinkSuccess'\n | 'onUnlinkError'\n | 'linkLabel'\n | 'unlinkLabel'\n>;\n\nexport const DefaultSlackLinkUser = (props: DefaultSlackLinkUserProps) => {\n const {\n integrationIdentifier,\n connectionIdentifier,\n context,\n onLinkSuccess,\n onLinkError,\n onUnlinkSuccess,\n onUnlinkError,\n linkLabel,\n unlinkLabel,\n } = props;\n const { novuUI } = useNovuUI();\n\n const mount = useCallback(\n (element: HTMLElement) => {\n return novuUI.mountComponent({\n name: 'SlackLinkUser',\n props: {\n integrationIdentifier,\n connectionIdentifier,\n context,\n onLinkSuccess,\n onLinkError,\n onUnlinkSuccess,\n onUnlinkError,\n linkLabel,\n unlinkLabel,\n },\n element,\n });\n },\n [\n novuUI,\n integrationIdentifier,\n connectionIdentifier,\n context,\n onLinkSuccess,\n onLinkError,\n onUnlinkSuccess,\n onUnlinkError,\n linkLabel,\n unlinkLabel,\n ]\n );\n\n return <Mounter mount={mount} />;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA4B;AAC5B,2BAA0B;AAC1B,qBAAwB;AA6Df;AA9CF,IAAM,uBAAuB,CAAC,UAAqC;AACxE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,EAAE,OAAO,QAAI,gCAAU;AAE7B,QAAM,YAAQ;AAAA,IACZ,CAAC,YAAyB;AACxB,aAAO,OAAO,eAAe;AAAA,QAC3B,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO,4CAAC,0BAAQ,OAAc;AAChC;","names":[]}
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { SlackLinkUserProps } from '@novu/js/ui';
3
+
4
+ type DefaultSlackLinkUserProps = Pick<SlackLinkUserProps, 'integrationIdentifier' | 'connectionIdentifier' | 'context' | 'onLinkSuccess' | 'onLinkError' | 'onUnlinkSuccess' | 'onUnlinkError' | 'linkLabel' | 'unlinkLabel'>;
5
+ declare const DefaultSlackLinkUser: (props: DefaultSlackLinkUserProps) => react_jsx_runtime.JSX.Element;
6
+
7
+ export { DefaultSlackLinkUser, type DefaultSlackLinkUserProps };
@@ -0,0 +1,63 @@
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/slack-link-user/SlackLinkUser.tsx
31
+ var SlackLinkUser_exports = {};
32
+ __export(SlackLinkUser_exports, {
33
+ SlackLinkUser: () => SlackLinkUser
34
+ });
35
+ module.exports = __toCommonJS(SlackLinkUser_exports);
36
+ var import_react = __toESM(require("react"), 1);
37
+ var import_NovuProvider = require("../../hooks/NovuProvider.cjs");
38
+ var import_NovuUI = require("../NovuUI.cjs");
39
+ var import_Renderer = require("../Renderer.cjs");
40
+ var import_DefaultSlackLinkUser = require("./DefaultSlackLinkUser.cjs");
41
+ var import_jsx_runtime = require("react/jsx-runtime");
42
+ var SlackLinkUserInternal = (0, import_Renderer.withRenderer)((props) => {
43
+ const { container, appearance, ...defaultProps } = props;
44
+ const novu = (0, import_NovuProvider.useNovu)();
45
+ const options = (0, import_react.useMemo)(() => {
46
+ return {
47
+ container,
48
+ appearance,
49
+ options: novu.options
50
+ };
51
+ }, [container, appearance, novu.options]);
52
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NovuUI.NovuUI, { options, novu, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DefaultSlackLinkUser.DefaultSlackLinkUser, { ...defaultProps }) });
53
+ });
54
+ SlackLinkUserInternal.displayName = "SlackLinkUserInternal";
55
+ var SlackLinkUser = import_react.default.memo((props) => {
56
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlackLinkUserInternal, { ...props });
57
+ });
58
+ SlackLinkUser.displayName = "SlackLinkUser";
59
+ // Annotate the CommonJS export names for ESM import in node:
60
+ 0 && (module.exports = {
61
+ SlackLinkUser
62
+ });
63
+ //# sourceMappingURL=SlackLinkUser.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/slack-link-user/SlackLinkUser.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { useNovu } from '../../hooks/NovuProvider';\nimport { NovuUI, NovuUIOptions } from '../NovuUI';\nimport { withRenderer } from '../Renderer';\nimport { DefaultSlackLinkUser, DefaultSlackLinkUserProps } from './DefaultSlackLinkUser';\n\nexport type SlackLinkUserProps = DefaultSlackLinkUserProps & Pick<NovuUIOptions, 'container' | 'appearance'>;\n\nconst SlackLinkUserInternal = withRenderer<SlackLinkUserProps>((props) => {\n const { container, appearance, ...defaultProps } = props;\n const novu = useNovu();\n\n const options: NovuUIOptions = useMemo(() => {\n return {\n container,\n appearance,\n options: novu.options,\n };\n }, [container, appearance, novu.options]);\n\n return (\n <NovuUI options={options} novu={novu}>\n <DefaultSlackLinkUser {...defaultProps} />\n </NovuUI>\n );\n});\n\nSlackLinkUserInternal.displayName = 'SlackLinkUserInternal';\n\nexport const SlackLinkUser = React.memo((props: SlackLinkUserProps) => {\n return <SlackLinkUserInternal {...props} />;\n});\n\nSlackLinkUser.displayName = 'SlackLinkUser';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+B;AAC/B,0BAAwB;AACxB,oBAAsC;AACtC,sBAA6B;AAC7B,kCAAgE;AAkB1D;AAdN,IAAM,4BAAwB,8BAAiC,CAAC,UAAU;AACxE,QAAM,EAAE,WAAW,YAAY,GAAG,aAAa,IAAI;AACnD,QAAM,WAAO,6BAAQ;AAErB,QAAM,cAAyB,sBAAQ,MAAM;AAC3C,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,SAAS,KAAK;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,WAAW,YAAY,KAAK,OAAO,CAAC;AAExC,SACE,4CAAC,wBAAO,SAAkB,MACxB,sDAAC,oDAAsB,GAAG,cAAc,GAC1C;AAEJ,CAAC;AAED,sBAAsB,cAAc;AAE7B,IAAM,gBAAgB,aAAAA,QAAM,KAAK,CAAC,UAA8B;AACrE,SAAO,4CAAC,yBAAuB,GAAG,OAAO;AAC3C,CAAC;AAED,cAAc,cAAc;","names":["React"]}
@@ -0,0 +1,12 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { NovuUIOptions } from '../NovuUI.cjs';
4
+ import { DefaultSlackLinkUserProps } from './DefaultSlackLinkUser.cjs';
5
+ import '@novu/js';
6
+ import '@novu/js/ui';
7
+ import '../../utils/types.cjs';
8
+
9
+ type SlackLinkUserProps = DefaultSlackLinkUserProps & Pick<NovuUIOptions, 'container' | 'appearance'>;
10
+ declare const SlackLinkUser: React__default.MemoExoticComponent<(props: SlackLinkUserProps) => react_jsx_runtime.JSX.Element>;
11
+
12
+ export { SlackLinkUser, type SlackLinkUserProps };
@@ -23,6 +23,7 @@ __export(NovuProvider_exports, {
23
23
  InternalNovuProvider: () => InternalNovuProvider,
24
24
  NovuProvider: () => NovuProvider,
25
25
  useNovu: () => useNovu,
26
+ useRealtime: () => useRealtime,
26
27
  useUnsafeNovu: () => useUnsafeNovu
27
28
  });
28
29
  module.exports = __toCommonJS(NovuProvider_exports);
@@ -30,9 +31,9 @@ var import_js = require("@novu/js");
30
31
  var import_internal = require("@novu/js/internal");
31
32
  var import_react = require("react");
32
33
  var import_jsx_runtime = require("react/jsx-runtime");
33
- var NovuContext = (0, import_react.createContext)(void 0);
34
+ var NovuContext = (0, import_react.createContext)({ novu: void 0, realtime: true });
34
35
  var NovuProvider = (props) => {
35
- const { subscriberId, ...propsWithoutSubscriberId } = props;
36
+ const { subscriberId, realtime = true, ...propsWithoutSubscriberId } = props;
36
37
  const subscriberObj = (0, import_react.useMemo)(
37
38
  () => (0, import_internal.buildSubscriber)({ subscriberId, subscriber: props.subscriber }),
38
39
  [subscriberId, props.subscriber]
@@ -41,7 +42,8 @@ var NovuProvider = (props) => {
41
42
  const providerProps = {
42
43
  ...propsWithoutSubscriberId,
43
44
  applicationIdentifier,
44
- subscriber: subscriberObj
45
+ subscriber: subscriberObj,
46
+ realtime
45
47
  };
46
48
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(InternalNovuProvider, { ...providerProps, applicationIdentifier, children: props.children });
47
49
  };
@@ -61,21 +63,25 @@ var InternalNovuProvider = (props) => {
61
63
  socketOptions,
62
64
  useCache,
63
65
  defaultSchedule,
64
- context
66
+ context,
67
+ realtime = true
65
68
  } = props;
66
- const novu = (0, import_react.useMemo)(
67
- () => new import_js.Novu({
68
- applicationIdentifier,
69
- subscriberHash,
70
- contextHash,
71
- backendUrl,
72
- apiUrl,
73
- socketUrl,
74
- socketOptions,
75
- useCache,
76
- subscriber: subscriberObj,
77
- defaultSchedule,
78
- context
69
+ const value = (0, import_react.useMemo)(
70
+ () => ({
71
+ novu: new import_js.Novu({
72
+ applicationIdentifier,
73
+ subscriberHash,
74
+ contextHash,
75
+ backendUrl,
76
+ apiUrl,
77
+ socketUrl,
78
+ socketOptions,
79
+ useCache,
80
+ subscriber: subscriberObj,
81
+ defaultSchedule,
82
+ context
83
+ }),
84
+ realtime
79
85
  }),
80
86
  [
81
87
  applicationIdentifier,
@@ -87,27 +93,33 @@ var InternalNovuProvider = (props) => {
87
93
  apiUrl,
88
94
  socketUrl,
89
95
  socketOptions,
90
- useCache
96
+ useCache,
97
+ realtime
91
98
  ]
92
99
  );
93
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NovuContext.Provider, { value: novu, children });
100
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NovuContext.Provider, { value, children });
94
101
  };
95
102
  var useNovu = () => {
96
103
  const context = (0, import_react.useContext)(NovuContext);
97
- if (!context) {
104
+ if (!context.novu) {
98
105
  throw new Error("useNovu must be used within a <NovuProvider />");
99
106
  }
100
- return context;
107
+ return context.novu;
101
108
  };
102
109
  var useUnsafeNovu = () => {
103
110
  const context = (0, import_react.useContext)(NovuContext);
104
- return context;
111
+ return context.novu;
112
+ };
113
+ var useRealtime = () => {
114
+ const context = (0, import_react.useContext)(NovuContext);
115
+ return context.realtime;
105
116
  };
106
117
  // Annotate the CommonJS export names for ESM import in node:
107
118
  0 && (module.exports = {
108
119
  InternalNovuProvider,
109
120
  NovuProvider,
110
121
  useNovu,
122
+ useRealtime,
111
123
  useUnsafeNovu
112
124
  });
113
125
  //# sourceMappingURL=NovuProvider.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/NovuProvider.tsx"],"sourcesContent":["import { Novu, NovuOptions } from '@novu/js';\nimport { buildSubscriber } from '@novu/js/internal';\nimport { createContext, ReactNode, useContext, useMemo } from 'react';\n\nexport type NovuProviderProps = NovuOptions & {\n children: ReactNode;\n};\n\nconst NovuContext = createContext<Novu | undefined>(undefined);\n\nexport const NovuProvider = (props: NovuProviderProps) => {\n const { subscriberId, ...propsWithoutSubscriberId } = props;\n const subscriberObj = useMemo(\n () => buildSubscriber({ subscriberId, subscriber: props.subscriber }),\n [subscriberId, props.subscriber]\n );\n const applicationIdentifier = propsWithoutSubscriberId.applicationIdentifier\n ? propsWithoutSubscriberId.applicationIdentifier\n : '';\n\n const providerProps: NovuProviderProps = {\n ...propsWithoutSubscriberId,\n applicationIdentifier,\n subscriber: subscriberObj,\n };\n\n return (\n <InternalNovuProvider {...providerProps} applicationIdentifier={applicationIdentifier}>\n {props.children}\n </InternalNovuProvider>\n );\n};\n\n/**\n * @internal Should be used internally not to be exposed outside of the library\n */\nexport const InternalNovuProvider = (props: NovuProviderProps) => {\n const applicationIdentifier = props.applicationIdentifier || '';\n const subscriberObj = useMemo(\n () => buildSubscriber({ subscriberId: props.subscriberId, subscriber: props.subscriber }),\n [props.subscriberId, props.subscriber]\n );\n\n const {\n children,\n subscriberHash,\n contextHash,\n backendUrl,\n apiUrl,\n socketUrl,\n socketOptions,\n useCache,\n defaultSchedule,\n context,\n } = props;\n\n const novu = useMemo(\n () =>\n new Novu({\n applicationIdentifier,\n subscriberHash,\n contextHash,\n backendUrl,\n apiUrl,\n socketUrl,\n socketOptions,\n useCache,\n subscriber: subscriberObj,\n defaultSchedule,\n context,\n }),\n [\n applicationIdentifier,\n subscriberHash,\n subscriberObj,\n context,\n contextHash,\n backendUrl,\n apiUrl,\n socketUrl,\n socketOptions,\n useCache,\n ]\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,sBAAgC;AAChC,mBAA8D;AAyB1D;AAnBJ,IAAM,kBAAc,4BAAgC,MAAS;AAEtD,IAAM,eAAe,CAAC,UAA6B;AACxD,QAAM,EAAE,cAAc,GAAG,yBAAyB,IAAI;AACtD,QAAM,oBAAgB;AAAA,IACpB,UAAM,iCAAgB,EAAE,cAAc,YAAY,MAAM,WAAW,CAAC;AAAA,IACpE,CAAC,cAAc,MAAM,UAAU;AAAA,EACjC;AACA,QAAM,wBAAwB,yBAAyB,wBACnD,yBAAyB,wBACzB;AAEJ,QAAM,gBAAmC;AAAA,IACvC,GAAG;AAAA,IACH;AAAA,IACA,YAAY;AAAA,EACd;AAEA,SACE,4CAAC,wBAAsB,GAAG,eAAe,uBACtC,gBAAM,UACT;AAEJ;AAKO,IAAM,uBAAuB,CAAC,UAA6B;AAChE,QAAM,wBAAwB,MAAM,yBAAyB;AAC7D,QAAM,oBAAgB;AAAA,IACpB,UAAM,iCAAgB,EAAE,cAAc,MAAM,cAAc,YAAY,MAAM,WAAW,CAAC;AAAA,IACxF,CAAC,MAAM,cAAc,MAAM,UAAU;AAAA,EACvC;AAEA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,WAAO;AAAA,IACX,MACE,IAAI,eAAK;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;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":[]}
1
+ {"version":3,"sources":["../../../src/hooks/NovuProvider.tsx"],"sourcesContent":["import { Novu, NovuOptions } from '@novu/js';\nimport { buildSubscriber } from '@novu/js/internal';\nimport { createContext, ReactNode, useContext, useMemo } from 'react';\n\nexport type NovuProviderProps = NovuOptions & {\n /**\n * When `false`, disables the WebSocket subscription that auto-injects\n * newly received notifications into the list and subscription that auto-resync\n * notification counts. Built-in mutations like\n * `readAll`, `seenAll`, `archiveAll`, and `archiveAllRead` continue to\n * update local state. Use this when you want to drive new-notification updates yourself (e.g.\n * via your own `novu.on('notifications.notification_received', ...)`\n * handler combined with `refetch()`). Defaults to `true`.\n */\n realtime?: boolean;\n children: ReactNode;\n};\n\nconst NovuContext = createContext<{ novu: Novu; realtime: boolean }>({ novu: undefined as any, realtime: true });\n\nexport const NovuProvider = (props: NovuProviderProps) => {\n const { subscriberId, realtime = true, ...propsWithoutSubscriberId } = props;\n const subscriberObj = useMemo(\n () => buildSubscriber({ subscriberId, subscriber: props.subscriber }),\n [subscriberId, props.subscriber]\n );\n const applicationIdentifier = propsWithoutSubscriberId.applicationIdentifier\n ? propsWithoutSubscriberId.applicationIdentifier\n : '';\n\n const providerProps: NovuProviderProps = {\n ...propsWithoutSubscriberId,\n applicationIdentifier,\n subscriber: subscriberObj,\n realtime,\n };\n\n return (\n <InternalNovuProvider {...providerProps} applicationIdentifier={applicationIdentifier}>\n {props.children}\n </InternalNovuProvider>\n );\n};\n\n/**\n * @internal Should be used internally not to be exposed outside of the library\n */\nexport const InternalNovuProvider = (props: NovuProviderProps) => {\n const applicationIdentifier = props.applicationIdentifier || '';\n const subscriberObj = useMemo(\n () => buildSubscriber({ subscriberId: props.subscriberId, subscriber: props.subscriber }),\n [props.subscriberId, props.subscriber]\n );\n\n const {\n children,\n subscriberHash,\n contextHash,\n backendUrl,\n apiUrl,\n socketUrl,\n socketOptions,\n useCache,\n defaultSchedule,\n context,\n realtime = true,\n } = props;\n\n const value = useMemo(\n () => ({\n novu: new Novu({\n applicationIdentifier,\n subscriberHash,\n contextHash,\n backendUrl,\n apiUrl,\n socketUrl,\n socketOptions,\n useCache,\n subscriber: subscriberObj,\n defaultSchedule,\n context,\n }),\n realtime,\n }),\n [\n applicationIdentifier,\n subscriberHash,\n subscriberObj,\n context,\n contextHash,\n backendUrl,\n apiUrl,\n socketUrl,\n socketOptions,\n useCache,\n realtime,\n ]\n );\n\n return <NovuContext.Provider value={value}>{children}</NovuContext.Provider>;\n};\n\nexport const useNovu = () => {\n const context = useContext(NovuContext);\n if (!context.novu) {\n throw new Error('useNovu must be used within a <NovuProvider />');\n }\n\n return context.novu;\n};\n\nexport const useUnsafeNovu = () => {\n const context = useContext(NovuContext);\n\n return context.novu;\n};\n\nexport const useRealtime = () => {\n const context = useContext(NovuContext);\n\n return context.realtime;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAkC;AAClC,sBAAgC;AAChC,mBAA8D;AAoC1D;AApBJ,IAAM,kBAAc,4BAAiD,EAAE,MAAM,QAAkB,UAAU,KAAK,CAAC;AAExG,IAAM,eAAe,CAAC,UAA6B;AACxD,QAAM,EAAE,cAAc,WAAW,MAAM,GAAG,yBAAyB,IAAI;AACvE,QAAM,oBAAgB;AAAA,IACpB,UAAM,iCAAgB,EAAE,cAAc,YAAY,MAAM,WAAW,CAAC;AAAA,IACpE,CAAC,cAAc,MAAM,UAAU;AAAA,EACjC;AACA,QAAM,wBAAwB,yBAAyB,wBACnD,yBAAyB,wBACzB;AAEJ,QAAM,gBAAmC;AAAA,IACvC,GAAG;AAAA,IACH;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,EACF;AAEA,SACE,4CAAC,wBAAsB,GAAG,eAAe,uBACtC,gBAAM,UACT;AAEJ;AAKO,IAAM,uBAAuB,CAAC,UAA6B;AAChE,QAAM,wBAAwB,MAAM,yBAAyB;AAC7D,QAAM,oBAAgB;AAAA,IACpB,UAAM,iCAAgB,EAAE,cAAc,MAAM,cAAc,YAAY,MAAM,WAAW,CAAC;AAAA,IACxF,CAAC,MAAM,cAAc,MAAM,UAAU;AAAA,EACvC;AAEA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,EACb,IAAI;AAEJ,QAAM,YAAQ;AAAA,IACZ,OAAO;AAAA,MACL,MAAM,IAAI,eAAK;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO,4CAAC,YAAY,UAAZ,EAAqB,OAAe,UAAS;AACvD;AAEO,IAAM,UAAU,MAAM;AAC3B,QAAM,cAAU,yBAAW,WAAW;AACtC,MAAI,CAAC,QAAQ,MAAM;AACjB,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEA,SAAO,QAAQ;AACjB;AAEO,IAAM,gBAAgB,MAAM;AACjC,QAAM,cAAU,yBAAW,WAAW;AAEtC,SAAO,QAAQ;AACjB;AAEO,IAAM,cAAc,MAAM;AAC/B,QAAM,cAAU,yBAAW,WAAW;AAEtC,SAAO,QAAQ;AACjB;","names":[]}
@@ -3,6 +3,16 @@ import { NovuOptions, Novu } from '@novu/js';
3
3
  import { ReactNode } from 'react';
4
4
 
5
5
  type NovuProviderProps = NovuOptions & {
6
+ /**
7
+ * When `false`, disables the WebSocket subscription that auto-injects
8
+ * newly received notifications into the list and subscription that auto-resync
9
+ * notification counts. Built-in mutations like
10
+ * `readAll`, `seenAll`, `archiveAll`, and `archiveAllRead` continue to
11
+ * update local state. Use this when you want to drive new-notification updates yourself (e.g.
12
+ * via your own `novu.on('notifications.notification_received', ...)`
13
+ * handler combined with `refetch()`). Defaults to `true`.
14
+ */
15
+ realtime?: boolean;
6
16
  children: ReactNode;
7
17
  };
8
18
  declare const NovuProvider: (props: NovuProviderProps) => react_jsx_runtime.JSX.Element;
@@ -11,6 +21,7 @@ declare const NovuProvider: (props: NovuProviderProps) => react_jsx_runtime.JSX.
11
21
  */
12
22
  declare const InternalNovuProvider: (props: NovuProviderProps) => react_jsx_runtime.JSX.Element;
13
23
  declare const useNovu: () => Novu;
14
- declare const useUnsafeNovu: () => Novu | undefined;
24
+ declare const useUnsafeNovu: () => Novu;
25
+ declare const useRealtime: () => boolean;
15
26
 
16
- export { InternalNovuProvider, NovuProvider, type NovuProviderProps, useNovu, useUnsafeNovu };
27
+ export { InternalNovuProvider, NovuProvider, type NovuProviderProps, useNovu, useRealtime, useUnsafeNovu };
@@ -30,8 +30,13 @@ __export(hooks_exports, {
30
30
  module.exports = __toCommonJS(hooks_exports);
31
31
  var import_js = require("@novu/js");
32
32
  var import_NovuProvider = require("./NovuProvider.cjs");
33
+ __reExport(hooks_exports, require("./useChannelConnection.cjs"), module.exports);
34
+ __reExport(hooks_exports, require("./useChannelConnections.cjs"), module.exports);
35
+ __reExport(hooks_exports, require("./useChannelEndpoint.cjs"), module.exports);
33
36
  __reExport(hooks_exports, require("./useCounts.cjs"), module.exports);
37
+ __reExport(hooks_exports, require("./useCreateChannelEndpoint.cjs"), module.exports);
34
38
  __reExport(hooks_exports, require("./useCreateSubscription.cjs"), module.exports);
39
+ __reExport(hooks_exports, require("./useDeleteChannelEndpoint.cjs"), module.exports);
35
40
  __reExport(hooks_exports, require("./useNotifications.cjs"), module.exports);
36
41
  __reExport(hooks_exports, require("./usePreferences.cjs"), module.exports);
37
42
  __reExport(hooks_exports, require("./useRemoveSubscription.cjs"), module.exports);
@@ -46,8 +51,13 @@ __reExport(hooks_exports, require("./useUpdateSubscription.cjs"), module.exports
46
51
  SeverityLevelEnum,
47
52
  WorkflowCriticalityEnum,
48
53
  useNovu,
54
+ ...require("./useChannelConnection.cjs"),
55
+ ...require("./useChannelConnections.cjs"),
56
+ ...require("./useChannelEndpoint.cjs"),
49
57
  ...require("./useCounts.cjs"),
58
+ ...require("./useCreateChannelEndpoint.cjs"),
50
59
  ...require("./useCreateSubscription.cjs"),
60
+ ...require("./useDeleteChannelEndpoint.cjs"),
51
61
  ...require("./useNotifications.cjs"),
52
62
  ...require("./usePreferences.cjs"),
53
63
  ...require("./useRemoveSubscription.cjs"),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export type * from '@novu/js';\nexport { PreferenceLevel, SeverityLevelEnum, WorkflowCriticalityEnum } from '@novu/js';\nexport { NovuProvider, useNovu } from './NovuProvider';\nexport * from './useCounts';\nexport * from './useCreateSubscription';\nexport * from './useNotifications';\nexport * from './usePreferences';\nexport * from './useRemoveSubscription';\nexport * from './useSchedule';\nexport * from './useSubscription';\nexport * from './useSubscriptions';\nexport * from './useUpdateSubscription';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAA4E;AAC5E,0BAAsC;AACtC,0BAAc,4BAHd;AAIA,0BAAc,wCAJd;AAKA,0BAAc,mCALd;AAMA,0BAAc,iCANd;AAOA,0BAAc,wCAPd;AAQA,0BAAc,8BARd;AASA,0BAAc,kCATd;AAUA,0BAAc,mCAVd;AAWA,0BAAc,wCAXd;","names":[]}
1
+ {"version":3,"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export type * from '@novu/js';\nexport { PreferenceLevel, SeverityLevelEnum, WorkflowCriticalityEnum } from '@novu/js';\nexport { NovuProvider, useNovu } from './NovuProvider';\nexport * from './useChannelConnection';\nexport * from './useChannelConnections';\nexport * from './useChannelEndpoint';\nexport * from './useCounts';\nexport * from './useCreateChannelEndpoint';\nexport * from './useCreateSubscription';\nexport * from './useDeleteChannelEndpoint';\nexport * from './useNotifications';\nexport * from './usePreferences';\nexport * from './useRemoveSubscription';\nexport * from './useSchedule';\nexport * from './useSubscription';\nexport * from './useSubscriptions';\nexport * from './useUpdateSubscription';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAA4E;AAC5E,0BAAsC;AACtC,0BAAc,uCAHd;AAIA,0BAAc,wCAJd;AAKA,0BAAc,qCALd;AAMA,0BAAc,4BANd;AAOA,0BAAc,2CAPd;AAQA,0BAAc,wCARd;AASA,0BAAc,2CATd;AAUA,0BAAc,mCAVd;AAWA,0BAAc,iCAXd;AAYA,0BAAc,wCAZd;AAaA,0BAAc,8BAbd;AAcA,0BAAc,kCAdd;AAeA,0BAAc,mCAfd;AAgBA,0BAAc,wCAhBd;","names":[]}
@@ -1,8 +1,13 @@
1
1
  export * from '@novu/js';
2
2
  export { PreferenceLevel, SeverityLevelEnum, WorkflowCriticalityEnum } from '@novu/js';
3
3
  export { NovuProvider, useNovu } from './NovuProvider.cjs';
4
+ export { UseChannelConnectionProps, UseChannelConnectionResult, useChannelConnection } from './useChannelConnection.cjs';
5
+ export { UseChannelConnectionsProps, UseChannelConnectionsResult, useChannelConnections } from './useChannelConnections.cjs';
6
+ export { UseChannelEndpointProps, UseChannelEndpointResult, useChannelEndpoint } from './useChannelEndpoint.cjs';
4
7
  export { UseCountsProps, UseCountsResult, useCounts } from './useCounts.cjs';
8
+ export { UseCreateChannelEndpointProps, UseCreateChannelEndpointResult, useCreateChannelEndpoint } from './useCreateChannelEndpoint.cjs';
5
9
  export { UseCreateSubscriptionProps, UseCreateSubscriptionResult, useCreateSubscription } from './useCreateSubscription.cjs';
10
+ export { UseDeleteChannelEndpointProps, UseDeleteChannelEndpointResult, useDeleteChannelEndpoint } from './useDeleteChannelEndpoint.cjs';
6
11
  export { UseNotificationsProps, UseNotificationsResult, useNotifications } from './useNotifications.cjs';
7
12
  export { UsePreferencesProps, UsePreferencesResult, usePreferences } from './usePreferences.cjs';
8
13
  export { UseRemoveSubscriptionProps, UseRemoveSubscriptionResult, useRemoveSubscription } from './useRemoveSubscription.cjs';
@@ -26,15 +26,18 @@ module.exports = __toCommonJS(useBrowserTabsChannel_exports);
26
26
  var import_react = require("react");
27
27
  var useBrowserTabsChannel = ({
28
28
  channelName,
29
- onMessage
29
+ onMessage,
30
+ enabled = true
30
31
  }) => {
31
32
  const [tabsChannel] = (0, import_react.useState)(
32
33
  typeof BroadcastChannel !== "undefined" ? new BroadcastChannel(channelName) : void 0
33
34
  );
34
35
  const postMessage = (data) => {
36
+ if (!enabled) return;
35
37
  tabsChannel == null ? void 0 : tabsChannel.postMessage(data);
36
38
  };
37
39
  (0, import_react.useEffect)(() => {
40
+ if (!enabled) return;
38
41
  const listener = (event) => {
39
42
  onMessage(event.data);
40
43
  };
@@ -42,7 +45,7 @@ var useBrowserTabsChannel = ({
42
45
  return () => {
43
46
  tabsChannel == null ? void 0 : tabsChannel.removeEventListener("message", listener);
44
47
  };
45
- }, []);
48
+ }, [enabled]);
46
49
  return { postMessage };
47
50
  };
48
51
  // Annotate the CommonJS export names for ESM import in node: