@novu/react 3.19.2 → 3.20.0-rc.569d407fd0
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.
- package/dist/cjs/components/Bell.cjs +6 -21
- package/dist/cjs/components/Bell.cjs.map +1 -1
- package/dist/cjs/components/Bell.d.cts +2 -3
- package/dist/cjs/components/Inbox.cjs +100 -138
- package/dist/cjs/components/Inbox.cjs.map +1 -1
- package/dist/cjs/components/InboxContent.cjs +9 -65
- package/dist/cjs/components/InboxContent.cjs.map +1 -1
- package/dist/cjs/components/InboxContent.d.cts +2 -3
- package/dist/cjs/components/Mounter.cjs +20 -13
- package/dist/cjs/components/Mounter.cjs.map +1 -1
- package/dist/cjs/components/Mounter.d.cts +12 -4
- package/dist/cjs/components/Notifications.cjs +9 -59
- package/dist/cjs/components/Notifications.cjs.map +1 -1
- package/dist/cjs/components/Notifications.d.cts +2 -3
- package/dist/cjs/components/NovuUI.cjs +17 -6
- package/dist/cjs/components/NovuUI.cjs.map +1 -1
- package/dist/cjs/components/NovuUI.d.cts +4 -0
- package/dist/cjs/{context/RendererContext.cjs → components/OutletHost.cjs} +15 -15
- package/dist/cjs/components/OutletHost.cjs.map +1 -0
- package/dist/cjs/components/OutletHost.d.cts +14 -0
- package/dist/cjs/components/Preferences.cjs +1 -20
- package/dist/cjs/components/Preferences.cjs.map +1 -1
- package/dist/cjs/components/connect-chat/ConnectChat.cjs +2 -3
- package/dist/cjs/components/connect-chat/ConnectChat.cjs.map +1 -1
- package/dist/cjs/components/connect-chat/DefaultConnectChat.cjs +14 -23
- package/dist/cjs/components/connect-chat/DefaultConnectChat.cjs.map +1 -1
- package/dist/cjs/components/index.cjs +2 -0
- package/dist/cjs/components/index.cjs.map +1 -1
- package/dist/cjs/components/index.d.cts +6 -0
- package/dist/cjs/components/msteams-connect-button/DefaultMsTeamsConnectButton.cjs +17 -26
- package/dist/cjs/components/msteams-connect-button/DefaultMsTeamsConnectButton.cjs.map +1 -1
- package/dist/cjs/components/msteams-connect-button/MsTeamsConnectButton.cjs +2 -3
- package/dist/cjs/components/msteams-connect-button/MsTeamsConnectButton.cjs.map +1 -1
- package/dist/cjs/components/msteams-link-user/DefaultMsTeamsLinkUser.cjs +13 -22
- package/dist/cjs/components/msteams-link-user/DefaultMsTeamsLinkUser.cjs.map +1 -1
- package/dist/cjs/components/msteams-link-user/MsTeamsLinkUser.cjs +2 -3
- package/dist/cjs/components/msteams-link-user/MsTeamsLinkUser.cjs.map +1 -1
- package/dist/cjs/components/notification-item/ClockIcon.cjs +43 -0
- package/dist/cjs/components/notification-item/ClockIcon.cjs.map +1 -0
- package/dist/cjs/components/notification-item/ClockIcon.d.cts +7 -0
- package/dist/cjs/components/notification-item/Markdown.cjs +53 -0
- package/dist/cjs/components/notification-item/Markdown.cjs.map +1 -0
- package/dist/cjs/components/notification-item/Markdown.d.cts +12 -0
- package/dist/cjs/components/notification-item/NotificationItem.cjs +146 -0
- package/dist/cjs/components/notification-item/NotificationItem.cjs.map +1 -0
- package/dist/cjs/components/notification-item/NotificationItem.d.cts +40 -0
- package/dist/cjs/components/notification-item/context.cjs +49 -0
- package/dist/cjs/components/notification-item/context.cjs.map +1 -0
- package/dist/cjs/components/notification-item/context.d.cts +23 -0
- package/dist/cjs/components/notification-item/parts/Actions.cjs +56 -0
- package/dist/cjs/components/notification-item/parts/Actions.cjs.map +1 -0
- package/dist/cjs/components/notification-item/parts/Actions.d.cts +11 -0
- package/dist/cjs/components/notification-item/parts/Avatar.cjs +65 -0
- package/dist/cjs/components/notification-item/parts/Avatar.cjs.map +1 -0
- package/dist/cjs/components/notification-item/parts/Avatar.d.cts +8 -0
- package/dist/cjs/components/notification-item/parts/Content.cjs +66 -0
- package/dist/cjs/components/notification-item/parts/Content.cjs.map +1 -0
- package/dist/cjs/components/notification-item/parts/Content.d.cts +17 -0
- package/dist/cjs/components/notification-item/parts/Date.cjs +114 -0
- package/dist/cjs/components/notification-item/parts/Date.cjs.map +1 -0
- package/dist/cjs/components/notification-item/parts/Date.d.cts +11 -0
- package/dist/cjs/components/notification-item/parts/Dot.cjs +48 -0
- package/dist/cjs/components/notification-item/parts/Dot.cjs.map +1 -0
- package/dist/cjs/components/notification-item/parts/Dot.d.cts +9 -0
- package/dist/cjs/components/notification-item/parts/Subject.cjs +92 -0
- package/dist/cjs/components/notification-item/parts/Subject.cjs.map +1 -0
- package/dist/cjs/components/notification-item/parts/Subject.d.cts +15 -0
- package/dist/cjs/components/slack-connect-button/DefaultSlackConnectButton.cjs +18 -27
- package/dist/cjs/components/slack-connect-button/DefaultSlackConnectButton.cjs.map +1 -1
- package/dist/cjs/components/slack-connect-button/SlackConnectButton.cjs +2 -3
- package/dist/cjs/components/slack-connect-button/SlackConnectButton.cjs.map +1 -1
- package/dist/cjs/components/slack-link-user/DefaultSlackLinkUser.cjs +13 -22
- package/dist/cjs/components/slack-link-user/DefaultSlackLinkUser.cjs.map +1 -1
- package/dist/cjs/components/slack-link-user/SlackLinkUser.cjs +2 -3
- package/dist/cjs/components/slack-link-user/SlackLinkUser.cjs.map +1 -1
- package/dist/cjs/components/subscription/DefaultSubscription.cjs +14 -22
- package/dist/cjs/components/subscription/DefaultSubscription.cjs.map +1 -1
- package/dist/cjs/components/subscription/Subscription.cjs +2 -3
- package/dist/cjs/components/subscription/Subscription.cjs.map +1 -1
- package/dist/cjs/components/subscription/SubscriptionButton.cjs +9 -26
- package/dist/cjs/components/subscription/SubscriptionButton.cjs.map +1 -1
- package/dist/cjs/components/subscription/SubscriptionButton.d.cts +1 -1
- package/dist/cjs/components/subscription/SubscriptionPreferences.cjs +9 -26
- package/dist/cjs/components/subscription/SubscriptionPreferences.cjs.map +1 -1
- package/dist/cjs/components/subscription/SubscriptionPreferences.d.cts +1 -1
- package/dist/cjs/components/telegram-connect-button/DefaultTelegramConnectButton.cjs +14 -23
- package/dist/cjs/components/telegram-connect-button/DefaultTelegramConnectButton.cjs.map +1 -1
- package/dist/cjs/components/telegram-connect-button/TelegramConnectButton.cjs +2 -3
- package/dist/cjs/components/telegram-connect-button/TelegramConnectButton.cjs.map +1 -1
- package/dist/cjs/context/NovuUIContext.cjs +3 -0
- package/dist/cjs/context/NovuUIContext.cjs.map +1 -1
- package/dist/cjs/context/NovuUIContext.d.cts +8 -1
- package/dist/cjs/context/OutletStore.cjs +97 -0
- package/dist/cjs/context/OutletStore.cjs.map +1 -0
- package/dist/cjs/context/OutletStore.d.cts +31 -0
- package/dist/cjs/hooks/internal/useEngineAccessor.cjs +36 -0
- package/dist/cjs/hooks/internal/useEngineAccessor.cjs.map +1 -0
- package/dist/cjs/hooks/internal/useEngineAccessor.d.cts +4 -0
- package/dist/cjs/hooks/internal/useEngineStores.cjs +54 -0
- package/dist/cjs/hooks/internal/useEngineStores.cjs.map +1 -0
- package/dist/cjs/hooks/internal/useEngineStores.d.cts +13 -0
- package/dist/cjs/hooks/internal/useIsomorphicLayoutEffect.cjs +32 -0
- package/dist/cjs/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -0
- package/dist/cjs/hooks/internal/useIsomorphicLayoutEffect.d.cts +5 -0
- package/dist/cjs/hooks/internal/useNotificationOutlets.cjs +57 -0
- package/dist/cjs/hooks/internal/useNotificationOutlets.cjs.map +1 -0
- package/dist/cjs/hooks/internal/useNotificationOutlets.d.cts +33 -0
- package/dist/cjs/hooks/internal/useOutletRenderer.cjs +53 -0
- package/dist/cjs/hooks/internal/useOutletRenderer.cjs.map +1 -0
- package/dist/cjs/hooks/internal/useOutletRenderer.d.cts +14 -0
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +6 -0
- package/dist/cjs/server/index.cjs +14 -0
- package/dist/cjs/server/index.cjs.map +1 -1
- package/dist/cjs/server/index.d.cts +15 -1
- package/dist/cjs/utils/appearance.cjs +2 -2
- package/dist/cjs/utils/appearance.cjs.map +1 -1
- package/dist/cjs/utils/appearance.d.cts +2 -3
- package/dist/esm/components/Bell.d.ts +2 -3
- package/dist/esm/components/Bell.js +7 -22
- package/dist/esm/components/Bell.js.map +1 -1
- package/dist/esm/components/Inbox.js +100 -138
- package/dist/esm/components/Inbox.js.map +1 -1
- package/dist/esm/components/InboxContent.d.ts +2 -3
- package/dist/esm/components/InboxContent.js +10 -66
- package/dist/esm/components/InboxContent.js.map +1 -1
- package/dist/esm/components/Mounter.d.ts +12 -4
- package/dist/esm/components/Mounter.js +19 -14
- package/dist/esm/components/Mounter.js.map +1 -1
- package/dist/esm/components/Notifications.d.ts +2 -3
- package/dist/esm/components/Notifications.js +10 -60
- package/dist/esm/components/Notifications.js.map +1 -1
- package/dist/esm/components/NovuUI.d.ts +4 -0
- package/dist/esm/components/NovuUI.js +16 -6
- package/dist/esm/components/NovuUI.js.map +1 -1
- package/dist/esm/components/OutletHost.d.ts +14 -0
- package/dist/esm/components/OutletHost.js +15 -0
- package/dist/esm/components/OutletHost.js.map +1 -0
- package/dist/esm/components/Preferences.js +1 -10
- package/dist/esm/components/Preferences.js.map +1 -1
- package/dist/esm/components/connect-chat/ConnectChat.js +2 -3
- package/dist/esm/components/connect-chat/ConnectChat.js.map +1 -1
- package/dist/esm/components/connect-chat/DefaultConnectChat.js +15 -24
- package/dist/esm/components/connect-chat/DefaultConnectChat.js.map +1 -1
- package/dist/esm/components/index.d.ts +6 -0
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/msteams-connect-button/DefaultMsTeamsConnectButton.js +18 -27
- package/dist/esm/components/msteams-connect-button/DefaultMsTeamsConnectButton.js.map +1 -1
- package/dist/esm/components/msteams-connect-button/MsTeamsConnectButton.js +2 -3
- package/dist/esm/components/msteams-connect-button/MsTeamsConnectButton.js.map +1 -1
- package/dist/esm/components/msteams-link-user/DefaultMsTeamsLinkUser.js +14 -23
- package/dist/esm/components/msteams-link-user/DefaultMsTeamsLinkUser.js.map +1 -1
- package/dist/esm/components/msteams-link-user/MsTeamsLinkUser.js +2 -3
- package/dist/esm/components/msteams-link-user/MsTeamsLinkUser.js.map +1 -1
- package/dist/esm/components/notification-item/ClockIcon.d.ts +7 -0
- package/dist/esm/components/notification-item/ClockIcon.js +18 -0
- package/dist/esm/components/notification-item/ClockIcon.js.map +1 -0
- package/dist/esm/components/notification-item/Markdown.d.ts +12 -0
- package/dist/esm/components/notification-item/Markdown.js +28 -0
- package/dist/esm/components/notification-item/Markdown.js.map +1 -0
- package/dist/esm/components/notification-item/NotificationItem.d.ts +40 -0
- package/dist/esm/components/notification-item/NotificationItem.js +131 -0
- package/dist/esm/components/notification-item/NotificationItem.js.map +1 -0
- package/dist/esm/components/notification-item/context.d.ts +23 -0
- package/dist/esm/components/notification-item/context.js +21 -0
- package/dist/esm/components/notification-item/context.js.map +1 -0
- package/dist/esm/components/notification-item/parts/Actions.d.ts +11 -0
- package/dist/esm/components/notification-item/parts/Actions.js +30 -0
- package/dist/esm/components/notification-item/parts/Actions.js.map +1 -0
- package/dist/esm/components/notification-item/parts/Avatar.d.ts +8 -0
- package/dist/esm/components/notification-item/parts/Avatar.js +40 -0
- package/dist/esm/components/notification-item/parts/Avatar.js.map +1 -0
- package/dist/esm/components/notification-item/parts/Content.d.ts +17 -0
- package/dist/esm/components/notification-item/parts/Content.js +40 -0
- package/dist/esm/components/notification-item/parts/Content.js.map +1 -0
- package/dist/esm/components/notification-item/parts/Date.d.ts +11 -0
- package/dist/esm/components/notification-item/parts/Date.js +89 -0
- package/dist/esm/components/notification-item/parts/Date.js.map +1 -0
- package/dist/esm/components/notification-item/parts/Dot.d.ts +9 -0
- package/dist/esm/components/notification-item/parts/Dot.js +23 -0
- package/dist/esm/components/notification-item/parts/Dot.js.map +1 -0
- package/dist/esm/components/notification-item/parts/Subject.d.ts +15 -0
- package/dist/esm/components/notification-item/parts/Subject.js +66 -0
- package/dist/esm/components/notification-item/parts/Subject.js.map +1 -0
- package/dist/esm/components/slack-connect-button/DefaultSlackConnectButton.js +19 -28
- package/dist/esm/components/slack-connect-button/DefaultSlackConnectButton.js.map +1 -1
- package/dist/esm/components/slack-connect-button/SlackConnectButton.js +2 -3
- package/dist/esm/components/slack-connect-button/SlackConnectButton.js.map +1 -1
- package/dist/esm/components/slack-link-user/DefaultSlackLinkUser.js +14 -23
- package/dist/esm/components/slack-link-user/DefaultSlackLinkUser.js.map +1 -1
- package/dist/esm/components/slack-link-user/SlackLinkUser.js +2 -3
- package/dist/esm/components/slack-link-user/SlackLinkUser.js.map +1 -1
- package/dist/esm/components/subscription/DefaultSubscription.js +15 -23
- package/dist/esm/components/subscription/DefaultSubscription.js.map +1 -1
- package/dist/esm/components/subscription/Subscription.js +2 -3
- package/dist/esm/components/subscription/Subscription.js.map +1 -1
- package/dist/esm/components/subscription/SubscriptionButton.d.ts +1 -1
- package/dist/esm/components/subscription/SubscriptionButton.js +10 -27
- package/dist/esm/components/subscription/SubscriptionButton.js.map +1 -1
- package/dist/esm/components/subscription/SubscriptionPreferences.d.ts +1 -1
- package/dist/esm/components/subscription/SubscriptionPreferences.js +10 -27
- package/dist/esm/components/subscription/SubscriptionPreferences.js.map +1 -1
- package/dist/esm/components/telegram-connect-button/DefaultTelegramConnectButton.js +15 -24
- package/dist/esm/components/telegram-connect-button/DefaultTelegramConnectButton.js.map +1 -1
- package/dist/esm/components/telegram-connect-button/TelegramConnectButton.js +2 -3
- package/dist/esm/components/telegram-connect-button/TelegramConnectButton.js.map +1 -1
- package/dist/esm/context/NovuUIContext.d.ts +8 -1
- package/dist/esm/context/NovuUIContext.js +2 -0
- package/dist/esm/context/NovuUIContext.js.map +1 -1
- package/dist/esm/context/OutletStore.d.ts +31 -0
- package/dist/esm/context/OutletStore.js +61 -0
- package/dist/esm/context/OutletStore.js.map +1 -0
- package/dist/esm/hooks/internal/useEngineAccessor.d.ts +4 -0
- package/dist/esm/hooks/internal/useEngineAccessor.js +11 -0
- package/dist/esm/hooks/internal/useEngineAccessor.js.map +1 -0
- package/dist/esm/hooks/internal/useEngineStores.d.ts +13 -0
- package/dist/esm/hooks/internal/useEngineStores.js +27 -0
- package/dist/esm/hooks/internal/useEngineStores.js.map +1 -0
- package/dist/esm/hooks/internal/useIsomorphicLayoutEffect.d.ts +5 -0
- package/dist/esm/hooks/internal/useIsomorphicLayoutEffect.js +7 -0
- package/dist/esm/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/esm/hooks/internal/useNotificationOutlets.d.ts +33 -0
- package/dist/esm/hooks/internal/useNotificationOutlets.js +32 -0
- package/dist/esm/hooks/internal/useNotificationOutlets.js.map +1 -0
- package/dist/esm/hooks/internal/useOutletRenderer.d.ts +14 -0
- package/dist/esm/hooks/internal/useOutletRenderer.js +25 -0
- package/dist/esm/hooks/internal/useOutletRenderer.js.map +1 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.js +5 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/server/index.d.ts +15 -1
- package/dist/esm/server/index.js +14 -1
- package/dist/esm/server/index.js.map +1 -1
- package/dist/esm/utils/appearance.d.ts +2 -3
- package/dist/esm/utils/appearance.js +2 -2
- package/dist/esm/utils/appearance.js.map +1 -1
- package/package.json +10 -4
- package/dist/cjs/components/Renderer.cjs +0 -70
- package/dist/cjs/components/Renderer.cjs.map +0 -1
- package/dist/cjs/components/Renderer.d.cts +0 -8
- package/dist/cjs/context/RendererContext.cjs.map +0 -1
- package/dist/cjs/context/RendererContext.d.cts +0 -15
- package/dist/esm/components/Renderer.d.ts +0 -8
- package/dist/esm/components/Renderer.js +0 -44
- package/dist/esm/components/Renderer.js.map +0 -1
- package/dist/esm/context/RendererContext.d.ts +0 -15
- package/dist/esm/context/RendererContext.js +0 -13
- package/dist/esm/context/RendererContext.js.map +0 -1
|
@@ -0,0 +1,97 @@
|
|
|
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 __typeError = (msg) => {
|
|
7
|
+
throw TypeError(msg);
|
|
8
|
+
};
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
23
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
24
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
25
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
26
|
+
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
27
|
+
|
|
28
|
+
// src/context/OutletStore.ts
|
|
29
|
+
var OutletStore_exports = {};
|
|
30
|
+
__export(OutletStore_exports, {
|
|
31
|
+
OutletStore: () => OutletStore
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(OutletStore_exports);
|
|
34
|
+
var fallbackOutletCounter = 0;
|
|
35
|
+
var _entries, _snapshot, _listeners, _OutletStore_instances, set_fn, publish_fn;
|
|
36
|
+
var OutletStore = class {
|
|
37
|
+
constructor() {
|
|
38
|
+
__privateAdd(this, _OutletStore_instances);
|
|
39
|
+
__privateAdd(this, _entries, /* @__PURE__ */ new Map());
|
|
40
|
+
__privateAdd(this, _snapshot, { entries: __privateGet(this, _entries), version: 0 });
|
|
41
|
+
__privateAdd(this, _listeners, /* @__PURE__ */ new Set());
|
|
42
|
+
this.subscribe = (listener) => {
|
|
43
|
+
__privateGet(this, _listeners).add(listener);
|
|
44
|
+
return () => {
|
|
45
|
+
__privateGet(this, _listeners).delete(listener);
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
this.getSnapshot = () => __privateGet(this, _snapshot);
|
|
49
|
+
}
|
|
50
|
+
/** Re-renders every outlet. Called when a host render prop changed identity. */
|
|
51
|
+
invalidate() {
|
|
52
|
+
__privateMethod(this, _OutletStore_instances, publish_fn).call(this);
|
|
53
|
+
}
|
|
54
|
+
mount(el, render, args) {
|
|
55
|
+
const id = el.dataset.novuOutlet ?? `nv-host-outlet-${fallbackOutletCounter++}`;
|
|
56
|
+
__privateMethod(this, _OutletStore_instances, set_fn).call(this, { id, el, render, args });
|
|
57
|
+
return {
|
|
58
|
+
update: (...nextArgs) => {
|
|
59
|
+
const current = __privateGet(this, _entries).get(id);
|
|
60
|
+
if (!current) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
__privateMethod(this, _OutletStore_instances, set_fn).call(this, { ...current, args: nextArgs });
|
|
64
|
+
},
|
|
65
|
+
unmount: () => {
|
|
66
|
+
if (!__privateGet(this, _entries).has(id)) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const next = new Map(__privateGet(this, _entries));
|
|
70
|
+
next.delete(id);
|
|
71
|
+
__privateSet(this, _entries, next);
|
|
72
|
+
__privateMethod(this, _OutletStore_instances, publish_fn).call(this);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
_entries = new WeakMap();
|
|
78
|
+
_snapshot = new WeakMap();
|
|
79
|
+
_listeners = new WeakMap();
|
|
80
|
+
_OutletStore_instances = new WeakSet();
|
|
81
|
+
set_fn = function(entry) {
|
|
82
|
+
const next = new Map(__privateGet(this, _entries));
|
|
83
|
+
next.set(entry.id, entry);
|
|
84
|
+
__privateSet(this, _entries, next);
|
|
85
|
+
__privateMethod(this, _OutletStore_instances, publish_fn).call(this);
|
|
86
|
+
};
|
|
87
|
+
publish_fn = function() {
|
|
88
|
+
__privateSet(this, _snapshot, { entries: __privateGet(this, _entries), version: __privateGet(this, _snapshot).version + 1 });
|
|
89
|
+
for (const listener of __privateGet(this, _listeners)) {
|
|
90
|
+
listener();
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
94
|
+
0 && (module.exports = {
|
|
95
|
+
OutletStore
|
|
96
|
+
});
|
|
97
|
+
//# sourceMappingURL=OutletStore.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/context/OutletStore.ts"],"sourcesContent":["import type { OutletHandle } from '@novu/js/ui';\nimport type { ReactNode } from 'react';\n\nexport type OutletRender = (...args: unknown[]) => ReactNode;\n\nexport type OutletEntry = {\n id: string;\n el: HTMLElement;\n render: OutletRender;\n args: unknown[];\n};\n\nexport type OutletSnapshot = {\n entries: ReadonlyMap<string, OutletEntry>;\n /** Bumped when a render prop changed identity, so outlets re-render with the latest one even if they rendered first. */\n version: number;\n};\n\nlet fallbackOutletCounter = 0;\n\n/**\n * The host side of the bridge for outlets: DOM nodes the engine hands to React so React can render into them.\n *\n * One store exists per engine instance. Every mutation replaces the map, so `useSyncExternalStore` sees a new\n * snapshot only when something changed, and portals keyed by outlet id are reconciled in place.\n */\nexport class OutletStore {\n #entries: Map<string, OutletEntry> = new Map();\n #snapshot: OutletSnapshot = { entries: this.#entries, version: 0 };\n #listeners = new Set<() => void>();\n\n subscribe = (listener: () => void) => {\n this.#listeners.add(listener);\n\n return () => {\n this.#listeners.delete(listener);\n };\n };\n\n getSnapshot = (): OutletSnapshot => this.#snapshot;\n\n /** Re-renders every outlet. Called when a host render prop changed identity. */\n invalidate() {\n this.#publish();\n }\n\n mount<TArgs extends unknown[]>(\n el: HTMLElement,\n render: (...args: TArgs) => ReactNode,\n args: TArgs\n ): OutletHandle<TArgs> {\n // engine outlets carry an id that is unique per outlet instance; anything else gets one from the host\n const id = el.dataset.novuOutlet ?? `nv-host-outlet-${fallbackOutletCounter++}`;\n this.#set({ id, el, render: render as OutletRender, args });\n\n return {\n update: (...nextArgs: TArgs) => {\n const current = this.#entries.get(id);\n if (!current) {\n return;\n }\n\n this.#set({ ...current, args: nextArgs });\n },\n unmount: () => {\n if (!this.#entries.has(id)) {\n return;\n }\n\n const next = new Map(this.#entries);\n next.delete(id);\n this.#entries = next;\n this.#publish();\n },\n };\n }\n\n #set(entry: OutletEntry) {\n const next = new Map(this.#entries);\n next.set(entry.id, entry);\n this.#entries = next;\n this.#publish();\n }\n\n #publish() {\n this.#snapshot = { entries: this.#entries, version: this.#snapshot.version + 1 };\n for (const listener of this.#listeners) {\n listener();\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBA,IAAI,wBAAwB;AAlB5B;AA0BO,IAAM,cAAN,MAAkB;AAAA,EAAlB;AAAA;AACL,iCAAqC,oBAAI,IAAI;AAC7C,kCAA4B,EAAE,SAAS,mBAAK,WAAU,SAAS,EAAE;AACjE,mCAAa,oBAAI,IAAgB;AAEjC,qBAAY,CAAC,aAAyB;AACpC,yBAAK,YAAW,IAAI,QAAQ;AAE5B,aAAO,MAAM;AACX,2BAAK,YAAW,OAAO,QAAQ;AAAA,MACjC;AAAA,IACF;AAEA,uBAAc,MAAsB,mBAAK;AAAA;AAAA;AAAA,EAGzC,aAAa;AACX,0BAAK,oCAAL;AAAA,EACF;AAAA,EAEA,MACE,IACA,QACA,MACqB;AAErB,UAAM,KAAK,GAAG,QAAQ,cAAc,kBAAkB,uBAAuB;AAC7E,0BAAK,gCAAL,WAAU,EAAE,IAAI,IAAI,QAAgC,KAAK;AAEzD,WAAO;AAAA,MACL,QAAQ,IAAI,aAAoB;AAC9B,cAAM,UAAU,mBAAK,UAAS,IAAI,EAAE;AACpC,YAAI,CAAC,SAAS;AACZ;AAAA,QACF;AAEA,8BAAK,gCAAL,WAAU,EAAE,GAAG,SAAS,MAAM,SAAS;AAAA,MACzC;AAAA,MACA,SAAS,MAAM;AACb,YAAI,CAAC,mBAAK,UAAS,IAAI,EAAE,GAAG;AAC1B;AAAA,QACF;AAEA,cAAM,OAAO,IAAI,IAAI,mBAAK,SAAQ;AAClC,aAAK,OAAO,EAAE;AACd,2BAAK,UAAW;AAChB,8BAAK,oCAAL;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAeF;AA/DE;AACA;AACA;AAHK;AAmDL,SAAI,SAAC,OAAoB;AACvB,QAAM,OAAO,IAAI,IAAI,mBAAK,SAAQ;AAClC,OAAK,IAAI,MAAM,IAAI,KAAK;AACxB,qBAAK,UAAW;AAChB,wBAAK,oCAAL;AACF;AAEA,aAAQ,WAAG;AACT,qBAAK,WAAY,EAAE,SAAS,mBAAK,WAAU,SAAS,mBAAK,WAAU,UAAU,EAAE;AAC/E,aAAW,YAAY,mBAAK,aAAY;AACtC,aAAS;AAAA,EACX;AACF;","names":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { OutletHandle } from '@novu/js/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type OutletRender = (...args: unknown[]) => ReactNode;
|
|
5
|
+
type OutletEntry = {
|
|
6
|
+
id: string;
|
|
7
|
+
el: HTMLElement;
|
|
8
|
+
render: OutletRender;
|
|
9
|
+
args: unknown[];
|
|
10
|
+
};
|
|
11
|
+
type OutletSnapshot = {
|
|
12
|
+
entries: ReadonlyMap<string, OutletEntry>;
|
|
13
|
+
/** Bumped when a render prop changed identity, so outlets re-render with the latest one even if they rendered first. */
|
|
14
|
+
version: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* The host side of the bridge for outlets: DOM nodes the engine hands to React so React can render into them.
|
|
18
|
+
*
|
|
19
|
+
* One store exists per engine instance. Every mutation replaces the map, so `useSyncExternalStore` sees a new
|
|
20
|
+
* snapshot only when something changed, and portals keyed by outlet id are reconciled in place.
|
|
21
|
+
*/
|
|
22
|
+
declare class OutletStore {
|
|
23
|
+
#private;
|
|
24
|
+
subscribe: (listener: () => void) => () => void;
|
|
25
|
+
getSnapshot: () => OutletSnapshot;
|
|
26
|
+
/** Re-renders every outlet. Called when a host render prop changed identity. */
|
|
27
|
+
invalidate(): void;
|
|
28
|
+
mount<TArgs extends unknown[]>(el: HTMLElement, render: (...args: TArgs) => ReactNode, args: TArgs): OutletHandle<TArgs>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { type OutletEntry, type OutletRender, type OutletSnapshot, OutletStore };
|
|
@@ -0,0 +1,36 @@
|
|
|
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/useEngineAccessor.ts
|
|
21
|
+
var useEngineAccessor_exports = {};
|
|
22
|
+
__export(useEngineAccessor_exports, {
|
|
23
|
+
useEngineAccessor: () => useEngineAccessor
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(useEngineAccessor_exports);
|
|
26
|
+
var import_ui_core = require("@novu/js/ui-core");
|
|
27
|
+
var import_react = require("react");
|
|
28
|
+
function useEngineAccessor(accessor) {
|
|
29
|
+
const subscribe = (0, import_react.useCallback)((onChange) => (0, import_ui_core.subscribeAccessor)(accessor, onChange), [accessor]);
|
|
30
|
+
return (0, import_react.useSyncExternalStore)(subscribe, accessor, accessor);
|
|
31
|
+
}
|
|
32
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
33
|
+
0 && (module.exports = {
|
|
34
|
+
useEngineAccessor
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=useEngineAccessor.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/hooks/internal/useEngineAccessor.ts"],"sourcesContent":["import { subscribeAccessor } from '@novu/js/ui-core';\nimport { useCallback, useSyncExternalStore } from 'react';\n\n/** Reads a core store accessor and re-renders when it changes. Accessors return stable references until they change. */\nexport function useEngineAccessor<T>(accessor: () => T): T {\n const subscribe = useCallback((onChange: () => void) => subscribeAccessor(accessor, onChange), [accessor]);\n\n return useSyncExternalStore(subscribe, accessor, accessor);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAkC;AAClC,mBAAkD;AAG3C,SAAS,kBAAqB,UAAsB;AACzD,QAAM,gBAAY,0BAAY,CAAC,iBAAyB,kCAAkB,UAAU,QAAQ,GAAG,CAAC,QAAQ,CAAC;AAEzG,aAAO,mCAAqB,WAAW,UAAU,QAAQ;AAC3D;","names":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
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/useEngineStores.ts
|
|
21
|
+
var useEngineStores_exports = {};
|
|
22
|
+
__export(useEngineStores_exports, {
|
|
23
|
+
useEngineStores: () => useEngineStores,
|
|
24
|
+
useLocalization: () => useLocalization,
|
|
25
|
+
useStyle: () => useStyle
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(useEngineStores_exports);
|
|
28
|
+
var import_ui_core = require("@novu/js/ui-core");
|
|
29
|
+
var import_react = require("react");
|
|
30
|
+
var import_NovuUIContext = require("../../context/NovuUIContext.cjs");
|
|
31
|
+
var import_useEngineAccessor = require("./useEngineAccessor.cjs");
|
|
32
|
+
var useEngineStores = () => (0, import_NovuUIContext.useNovuUI)().novuUI.stores;
|
|
33
|
+
var useStyle = () => {
|
|
34
|
+
const { appearance } = useEngineStores();
|
|
35
|
+
const elements = (0, import_useEngineAccessor.useEngineAccessor)(appearance.elements);
|
|
36
|
+
const appearanceKeyToCssInJsClass = (0, import_useEngineAccessor.useEngineAccessor)(appearance.appearanceKeyToCssInJsClass);
|
|
37
|
+
return (0, import_react.useCallback)(
|
|
38
|
+
(args) => (0, import_ui_core.resolveStyle)(args, { elements, appearanceKeyToCssInJsClass }),
|
|
39
|
+
[elements, appearanceKeyToCssInJsClass]
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
var useLocalization = () => {
|
|
43
|
+
const { localization } = useEngineStores();
|
|
44
|
+
(0, import_useEngineAccessor.useEngineAccessor)(localization.dictionary);
|
|
45
|
+
const locale = (0, import_useEngineAccessor.useEngineAccessor)(localization.locale);
|
|
46
|
+
return { t: localization.t, locale };
|
|
47
|
+
};
|
|
48
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
+
0 && (module.exports = {
|
|
50
|
+
useEngineStores,
|
|
51
|
+
useLocalization,
|
|
52
|
+
useStyle
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=useEngineStores.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/hooks/internal/useEngineStores.ts"],"sourcesContent":["import { type ResolveStyleArgs, resolveStyle } from '@novu/js/ui-core';\nimport { useCallback } from 'react';\nimport { useNovuUI } from '../../context/NovuUIContext';\nimport { useEngineAccessor } from './useEngineAccessor';\n\nexport const useEngineStores = () => useNovuUI().novuUI.stores;\n\n/** The React twin of the engine's `useStyle`: same appearance keys, same classes, same host overrides. */\nexport const useStyle = () => {\n const { appearance } = useEngineStores();\n const elements = useEngineAccessor(appearance.elements);\n const appearanceKeyToCssInJsClass = useEngineAccessor(appearance.appearanceKeyToCssInJsClass);\n\n return useCallback(\n (args: ResolveStyleArgs) => resolveStyle(args, { elements, appearanceKeyToCssInJsClass }),\n [elements, appearanceKeyToCssInJsClass]\n );\n};\n\nexport const useLocalization = () => {\n const { localization } = useEngineStores();\n // subscribe to the dictionary so any string change re-renders, even when the locale stays the same\n useEngineAccessor(localization.dictionary);\n const locale = useEngineAccessor(localization.locale);\n\n return { t: localization.t, locale };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoD;AACpD,mBAA4B;AAC5B,2BAA0B;AAC1B,+BAAkC;AAE3B,IAAM,kBAAkB,UAAM,gCAAU,EAAE,OAAO;AAGjD,IAAM,WAAW,MAAM;AAC5B,QAAM,EAAE,WAAW,IAAI,gBAAgB;AACvC,QAAM,eAAW,4CAAkB,WAAW,QAAQ;AACtD,QAAM,kCAA8B,4CAAkB,WAAW,2BAA2B;AAE5F,aAAO;AAAA,IACL,CAAC,aAA2B,6BAAa,MAAM,EAAE,UAAU,4BAA4B,CAAC;AAAA,IACxF,CAAC,UAAU,2BAA2B;AAAA,EACxC;AACF;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,EAAE,aAAa,IAAI,gBAAgB;AAEzC,kDAAkB,aAAa,UAAU;AACzC,QAAM,aAAS,4CAAkB,aAAa,MAAM;AAEpD,SAAO,EAAE,GAAG,aAAa,GAAG,OAAO;AACrC;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as _novu_js_ui_core from '@novu/js/ui-core';
|
|
2
|
+
import { ResolveStyleArgs } from '@novu/js/ui-core';
|
|
3
|
+
import * as _novu_js_ui from '@novu/js/ui';
|
|
4
|
+
|
|
5
|
+
declare const useEngineStores: () => _novu_js_ui.EngineStores;
|
|
6
|
+
/** The React twin of the engine's `useStyle`: same appearance keys, same classes, same host overrides. */
|
|
7
|
+
declare const useStyle: () => (args: ResolveStyleArgs) => string;
|
|
8
|
+
declare const useLocalization: () => {
|
|
9
|
+
t: _novu_js_ui_core.TranslateFunction;
|
|
10
|
+
locale: string;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { useEngineStores, useLocalization, useStyle };
|
|
@@ -0,0 +1,32 @@
|
|
|
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/useIsomorphicLayoutEffect.ts
|
|
21
|
+
var useIsomorphicLayoutEffect_exports = {};
|
|
22
|
+
__export(useIsomorphicLayoutEffect_exports, {
|
|
23
|
+
useIsomorphicLayoutEffect: () => useIsomorphicLayoutEffect
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(useIsomorphicLayoutEffect_exports);
|
|
26
|
+
var import_react = require("react");
|
|
27
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react.useLayoutEffect : import_react.useEffect;
|
|
28
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
29
|
+
0 && (module.exports = {
|
|
30
|
+
useIsomorphicLayoutEffect
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=useIsomorphicLayoutEffect.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/hooks/internal/useIsomorphicLayoutEffect.ts"],"sourcesContent":["import { useEffect, useLayoutEffect } from 'react';\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2C;AAEpC,IAAM,4BAA4B,OAAO,WAAW,cAAc,+BAAkB;","names":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
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/useNotificationOutlets.tsx
|
|
21
|
+
var useNotificationOutlets_exports = {};
|
|
22
|
+
__export(useNotificationOutlets_exports, {
|
|
23
|
+
useNotificationOutlets: () => useNotificationOutlets
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(useNotificationOutlets_exports);
|
|
26
|
+
var import_react = require("react");
|
|
27
|
+
var import_context = require("../../components/notification-item/context.cjs");
|
|
28
|
+
var import_useOutletRenderer = require("./useOutletRenderer.cjs");
|
|
29
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
30
|
+
function useNotificationOutlets(props) {
|
|
31
|
+
const { onNotificationClick, onPrimaryActionClick, onSecondaryActionClick, renderNotification: renderItem } = props;
|
|
32
|
+
const handlers = (0, import_react.useMemo)(
|
|
33
|
+
() => ({ onNotificationClick, onPrimaryActionClick, onSecondaryActionClick }),
|
|
34
|
+
[onNotificationClick, onPrimaryActionClick, onSecondaryActionClick]
|
|
35
|
+
);
|
|
36
|
+
const renderNotificationWithHandlers = (0, import_react.useMemo)(
|
|
37
|
+
() => renderItem ? (notification) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.NotificationHandlersProvider, { value: handlers, children: renderItem(notification) }) : void 0,
|
|
38
|
+
[renderItem, handlers]
|
|
39
|
+
);
|
|
40
|
+
const renderNotification = (0, import_useOutletRenderer.useOutletRenderer)(renderNotificationWithHandlers);
|
|
41
|
+
const renderAvatar = (0, import_useOutletRenderer.useOutletRenderer)(props.renderAvatar);
|
|
42
|
+
const renderSubject = (0, import_useOutletRenderer.useOutletRenderer)(props.renderSubject);
|
|
43
|
+
const renderBody = (0, import_useOutletRenderer.useOutletRenderer)(props.renderBody);
|
|
44
|
+
const renderDefaultActions = (0, import_useOutletRenderer.useOutletRenderer)(props.renderDefaultActions);
|
|
45
|
+
const renderCustomActions = (0, import_useOutletRenderer.useOutletRenderer)(props.renderCustomActions);
|
|
46
|
+
return (0, import_react.useMemo)(() => {
|
|
47
|
+
if (renderNotification) {
|
|
48
|
+
return { renderNotification };
|
|
49
|
+
}
|
|
50
|
+
return { renderAvatar, renderSubject, renderBody, renderDefaultActions, renderCustomActions };
|
|
51
|
+
}, [renderNotification, renderAvatar, renderSubject, renderBody, renderDefaultActions, renderCustomActions]);
|
|
52
|
+
}
|
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
54
|
+
0 && (module.exports = {
|
|
55
|
+
useNotificationOutlets
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=useNotificationOutlets.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/hooks/internal/useNotificationOutlets.tsx"],"sourcesContent":["import type {\n AvatarRenderer as JsAvatarRenderer,\n BodyRenderer as JsBodyRenderer,\n CustomActionsRenderer as JsCustomActionsRenderer,\n DefaultActionsRenderer as JsDefaultActionsRenderer,\n NotificationRenderer as JsNotificationRenderer,\n SubjectRenderer as JsSubjectRenderer,\n NotificationActionClickHandler,\n NotificationClickHandler,\n} from '@novu/js/ui';\nimport React, { useMemo } from 'react';\nimport { NotificationHandlersProvider } from '../../components/notification-item/context';\nimport type {\n AvatarRenderer,\n BodyRenderer,\n CustomActionsRenderer,\n DefaultActionsRenderer,\n NotificationsRenderer,\n SubjectRenderer,\n} from '../../utils/types';\nimport { useOutletRenderer } from './useOutletRenderer';\n\ntype NotificationRenderProps = {\n onNotificationClick?: NotificationClickHandler;\n onPrimaryActionClick?: NotificationActionClickHandler;\n onSecondaryActionClick?: NotificationActionClickHandler;\n renderNotification?: NotificationsRenderer;\n renderAvatar?: AvatarRenderer;\n renderSubject?: SubjectRenderer;\n renderBody?: BodyRenderer;\n renderDefaultActions?: DefaultActionsRenderer;\n renderCustomActions?: CustomActionsRenderer;\n};\n\nexport type NotificationOutlets =\n | { renderNotification: JsNotificationRenderer }\n | {\n renderAvatar?: JsAvatarRenderer;\n renderSubject?: JsSubjectRenderer;\n renderBody?: JsBodyRenderer;\n renderDefaultActions?: JsDefaultActionsRenderer;\n renderCustomActions?: JsCustomActionsRenderer;\n };\n\n/**\n * Adapts the notification render props shared by `Inbox`, `Notifications` and `InboxContent` into engine outlets.\n * `renderNotification` wins over the part renderers, exactly as the engine's prop types demand. Whatever it\n * renders sees the component's click handlers, so a `NotificationItem` inside it inherits them.\n */\nexport function useNotificationOutlets(props: NotificationRenderProps): NotificationOutlets {\n const { onNotificationClick, onPrimaryActionClick, onSecondaryActionClick, renderNotification: renderItem } = props;\n const handlers = useMemo(\n () => ({ onNotificationClick, onPrimaryActionClick, onSecondaryActionClick }),\n [onNotificationClick, onPrimaryActionClick, onSecondaryActionClick]\n );\n const renderNotificationWithHandlers = useMemo<NotificationsRenderer | undefined>(\n () =>\n renderItem\n ? (notification) => (\n <NotificationHandlersProvider value={handlers}>{renderItem(notification)}</NotificationHandlersProvider>\n )\n : undefined,\n [renderItem, handlers]\n );\n const renderNotification = useOutletRenderer(renderNotificationWithHandlers);\n const renderAvatar = useOutletRenderer(props.renderAvatar);\n const renderSubject = useOutletRenderer(props.renderSubject);\n const renderBody = useOutletRenderer(props.renderBody);\n const renderDefaultActions = useOutletRenderer(props.renderDefaultActions);\n const renderCustomActions = useOutletRenderer(props.renderCustomActions);\n\n return useMemo<NotificationOutlets>(() => {\n if (renderNotification) {\n return { renderNotification };\n }\n\n return { renderAvatar, renderSubject, renderBody, renderDefaultActions, renderCustomActions };\n }, [renderNotification, renderAvatar, renderSubject, renderBody, renderDefaultActions, renderCustomActions]);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,mBAA+B;AAC/B,qBAA6C;AAS7C,+BAAkC;AAuCtB;AAVL,SAAS,uBAAuB,OAAqD;AAC1F,QAAM,EAAE,qBAAqB,sBAAsB,wBAAwB,oBAAoB,WAAW,IAAI;AAC9G,QAAM,eAAW;AAAA,IACf,OAAO,EAAE,qBAAqB,sBAAsB,uBAAuB;AAAA,IAC3E,CAAC,qBAAqB,sBAAsB,sBAAsB;AAAA,EACpE;AACA,QAAM,qCAAiC;AAAA,IACrC,MACE,aACI,CAAC,iBACC,4CAAC,+CAA6B,OAAO,UAAW,qBAAW,YAAY,GAAE,IAE3E;AAAA,IACN,CAAC,YAAY,QAAQ;AAAA,EACvB;AACA,QAAM,yBAAqB,4CAAkB,8BAA8B;AAC3E,QAAM,mBAAe,4CAAkB,MAAM,YAAY;AACzD,QAAM,oBAAgB,4CAAkB,MAAM,aAAa;AAC3D,QAAM,iBAAa,4CAAkB,MAAM,UAAU;AACrD,QAAM,2BAAuB,4CAAkB,MAAM,oBAAoB;AACzE,QAAM,0BAAsB,4CAAkB,MAAM,mBAAmB;AAEvE,aAAO,sBAA6B,MAAM;AACxC,QAAI,oBAAoB;AACtB,aAAO,EAAE,mBAAmB;AAAA,IAC9B;AAEA,WAAO,EAAE,cAAc,eAAe,YAAY,sBAAsB,oBAAoB;AAAA,EAC9F,GAAG,CAAC,oBAAoB,cAAc,eAAe,YAAY,sBAAsB,mBAAmB,CAAC;AAC7G;","names":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { NotificationRenderer, AvatarRenderer, SubjectRenderer, BodyRenderer, DefaultActionsRenderer, CustomActionsRenderer, NotificationClickHandler, NotificationActionClickHandler } from '@novu/js/ui';
|
|
2
|
+
import { NotificationsRenderer, AvatarRenderer as AvatarRenderer$1, SubjectRenderer as SubjectRenderer$1, BodyRenderer as BodyRenderer$1, DefaultActionsRenderer as DefaultActionsRenderer$1, CustomActionsRenderer as CustomActionsRenderer$1 } from '../../utils/types.cjs';
|
|
3
|
+
import '@novu/js';
|
|
4
|
+
import 'react';
|
|
5
|
+
|
|
6
|
+
type NotificationRenderProps = {
|
|
7
|
+
onNotificationClick?: NotificationClickHandler;
|
|
8
|
+
onPrimaryActionClick?: NotificationActionClickHandler;
|
|
9
|
+
onSecondaryActionClick?: NotificationActionClickHandler;
|
|
10
|
+
renderNotification?: NotificationsRenderer;
|
|
11
|
+
renderAvatar?: AvatarRenderer$1;
|
|
12
|
+
renderSubject?: SubjectRenderer$1;
|
|
13
|
+
renderBody?: BodyRenderer$1;
|
|
14
|
+
renderDefaultActions?: DefaultActionsRenderer$1;
|
|
15
|
+
renderCustomActions?: CustomActionsRenderer$1;
|
|
16
|
+
};
|
|
17
|
+
type NotificationOutlets = {
|
|
18
|
+
renderNotification: NotificationRenderer;
|
|
19
|
+
} | {
|
|
20
|
+
renderAvatar?: AvatarRenderer;
|
|
21
|
+
renderSubject?: SubjectRenderer;
|
|
22
|
+
renderBody?: BodyRenderer;
|
|
23
|
+
renderDefaultActions?: DefaultActionsRenderer;
|
|
24
|
+
renderCustomActions?: CustomActionsRenderer;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Adapts the notification render props shared by `Inbox`, `Notifications` and `InboxContent` into engine outlets.
|
|
28
|
+
* `renderNotification` wins over the part renderers, exactly as the engine's prop types demand. Whatever it
|
|
29
|
+
* renders sees the component's click handlers, so a `NotificationItem` inside it inherits them.
|
|
30
|
+
*/
|
|
31
|
+
declare function useNotificationOutlets(props: NotificationRenderProps): NotificationOutlets;
|
|
32
|
+
|
|
33
|
+
export { type NotificationOutlets, useNotificationOutlets };
|
|
@@ -0,0 +1,53 @@
|
|
|
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/useOutletRenderer.ts
|
|
21
|
+
var useOutletRenderer_exports = {};
|
|
22
|
+
__export(useOutletRenderer_exports, {
|
|
23
|
+
useOutletRenderer: () => useOutletRenderer
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(useOutletRenderer_exports);
|
|
26
|
+
var import_react = require("react");
|
|
27
|
+
var import_NovuUIContext = require("../../context/NovuUIContext.cjs");
|
|
28
|
+
var import_useDataRef = require("./useDataRef.cjs");
|
|
29
|
+
var import_useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect.cjs");
|
|
30
|
+
function useOutletRenderer(renderProp) {
|
|
31
|
+
const outlets = (0, import_NovuUIContext.useOutlets)();
|
|
32
|
+
const latest = (0, import_useDataRef.useDataRef)(renderProp);
|
|
33
|
+
const hasRenderer = !!renderProp;
|
|
34
|
+
(0, import_useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(() => {
|
|
35
|
+
if (hasRenderer) {
|
|
36
|
+
outlets.invalidate();
|
|
37
|
+
}
|
|
38
|
+
}, [outlets, hasRenderer, renderProp]);
|
|
39
|
+
return (0, import_react.useMemo)(() => {
|
|
40
|
+
if (!hasRenderer) {
|
|
41
|
+
return void 0;
|
|
42
|
+
}
|
|
43
|
+
return (el, ...args) => outlets.mount(el, (...renderArgs) => {
|
|
44
|
+
var _a;
|
|
45
|
+
return (_a = latest.current) == null ? void 0 : _a.call(latest, ...renderArgs);
|
|
46
|
+
}, args);
|
|
47
|
+
}, [latest, outlets, hasRenderer]);
|
|
48
|
+
}
|
|
49
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
50
|
+
0 && (module.exports = {
|
|
51
|
+
useOutletRenderer
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=useOutletRenderer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/hooks/internal/useOutletRenderer.ts"],"sourcesContent":["import type { OutletHandle } from '@novu/js/ui';\nimport { type ReactNode, useMemo } from 'react';\nimport { useOutlets } from '../../context/NovuUIContext';\nimport { useDataRef } from './useDataRef';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\nexport type OutletRenderer<TArgs extends unknown[]> = (el: HTMLDivElement, ...args: TArgs) => OutletHandle<TArgs>;\n\n/**\n * Turns a React render prop into the renderer the engine expects.\n *\n * The engine only ever sees one function per outlet kind, so a new inline arrow on the host side never remounts\n * anything: the latest render prop is kept in a ref and called during the outlet's own render. A change of the\n * render prop invalidates the outlet store after commit, so outlets that rendered earlier in the same pass catch up.\n */\nexport function useOutletRenderer<TArgs extends unknown[]>(\n renderProp: ((...args: TArgs) => ReactNode) | undefined\n): OutletRenderer<TArgs> | undefined {\n const outlets = useOutlets();\n const latest = useDataRef(renderProp);\n const hasRenderer = !!renderProp;\n\n useIsomorphicLayoutEffect(() => {\n if (hasRenderer) {\n outlets.invalidate();\n }\n }, [outlets, hasRenderer, renderProp]);\n\n return useMemo(() => {\n if (!hasRenderer) {\n return undefined;\n }\n\n return (el: HTMLDivElement, ...args: TArgs) =>\n outlets.mount<TArgs>(el, (...renderArgs: TArgs) => latest.current?.(...renderArgs), args);\n }, [latest, outlets, hasRenderer]);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAwC;AACxC,2BAA2B;AAC3B,wBAA2B;AAC3B,uCAA0C;AAWnC,SAAS,kBACd,YACmC;AACnC,QAAM,cAAU,iCAAW;AAC3B,QAAM,aAAS,8BAAW,UAAU;AACpC,QAAM,cAAc,CAAC,CAAC;AAEtB,kEAA0B,MAAM;AAC9B,QAAI,aAAa;AACf,cAAQ,WAAW;AAAA,IACrB;AAAA,EACF,GAAG,CAAC,SAAS,aAAa,UAAU,CAAC;AAErC,aAAO,sBAAQ,MAAM;AACnB,QAAI,CAAC,aAAa;AAChB,aAAO;AAAA,IACT;AAEA,WAAO,CAAC,OAAuB,SAC7B,QAAQ,MAAa,IAAI,IAAI,eAAmB;AAlCtD;AAkCyD,0BAAO,YAAP,gCAAiB,GAAG;AAAA,OAAa,IAAI;AAAA,EAC5F,GAAG,CAAC,QAAQ,SAAS,WAAW,CAAC;AACnC;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OutletHandle } from '@novu/js/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type OutletRenderer<TArgs extends unknown[]> = (el: HTMLDivElement, ...args: TArgs) => OutletHandle<TArgs>;
|
|
5
|
+
/**
|
|
6
|
+
* Turns a React render prop into the renderer the engine expects.
|
|
7
|
+
*
|
|
8
|
+
* The engine only ever sees one function per outlet kind, so a new inline arrow on the host side never remounts
|
|
9
|
+
* anything: the latest render prop is kept in a ref and called during the outlet's own render. A change of the
|
|
10
|
+
* render prop invalidates the outlet store after commit, so outlets that rendered earlier in the same pass catch up.
|
|
11
|
+
*/
|
|
12
|
+
declare function useOutletRenderer<TArgs extends unknown[]>(renderProp: ((...args: TArgs) => ReactNode) | undefined): OutletRenderer<TArgs> | undefined;
|
|
13
|
+
|
|
14
|
+
export { type OutletRenderer, useOutletRenderer };
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -25,6 +25,7 @@ __export(index_exports, {
|
|
|
25
25
|
InboxContent: () => import_components.InboxContent,
|
|
26
26
|
MsTeamsConnectButton: () => import_components.MsTeamsConnectButton,
|
|
27
27
|
MsTeamsLinkUser: () => import_components.MsTeamsLinkUser,
|
|
28
|
+
NotificationItem: () => import_components.NotificationItem,
|
|
28
29
|
Notifications: () => import_components.Notifications,
|
|
29
30
|
NovuProvider: () => import_components.NovuProvider,
|
|
30
31
|
PreferenceLevel: () => import_js.PreferenceLevel,
|
|
@@ -67,6 +68,7 @@ var import_hooks = require("./hooks/index.cjs");
|
|
|
67
68
|
InboxContent,
|
|
68
69
|
MsTeamsConnectButton,
|
|
69
70
|
MsTeamsLinkUser,
|
|
71
|
+
NotificationItem,
|
|
70
72
|
Notifications,
|
|
71
73
|
NovuProvider,
|
|
72
74
|
PreferenceLevel,
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export type * from '@novu/js';\nexport {
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export type * from '@novu/js';\nexport { PreferenceLevel, pendingActionKey, SeverityLevelEnum, WorkflowCriticalityEnum } from '@novu/js';\n\nexport type {\n AllLocalization,\n AllLocalizationKey,\n ChannelConnectButtonIconKey,\n ElementStyles,\n InboxAppearance,\n InboxAppearanceCallback,\n InboxAppearanceCallbackFunction,\n InboxAppearanceCallbackKeys,\n InboxAppearanceKey,\n InboxElements,\n InboxLocalization,\n InboxLocalizationKey,\n InboxTheme,\n NotificationActionClickHandler,\n NotificationClickHandler,\n NotificationRenderer,\n PreferenceGroups,\n PreferencesFilter,\n RouterPush,\n SubscriptionAppearance,\n SubscriptionAppearanceCallback,\n SubscriptionAppearanceCallbackFunction,\n SubscriptionAppearanceCallbackKeys,\n SubscriptionAppearanceKey,\n SubscriptionElements,\n SubscriptionLocalization,\n SubscriptionLocalizationKey,\n SubscriptionTheme,\n Tab,\n Variables,\n} from '@novu/js/ui';\nexport type {\n BellProps,\n InboxContentProps,\n InboxProps,\n MsTeamsConnectButtonProps,\n MsTeamsLinkUserProps,\n NotificationItemProps,\n NotificationProps,\n NovuProviderProps,\n SlackConnectButtonProps,\n SlackLinkUserProps,\n SubscriptionButtonProps,\n SubscriptionPreferencesProps,\n SubscriptionProps,\n TelegramConnectButtonProps,\n} from './components';\nexport {\n Bell,\n Inbox,\n InboxContent,\n MsTeamsConnectButton,\n MsTeamsLinkUser,\n NotificationItem,\n Notifications,\n NovuProvider,\n Preferences,\n SlackConnectButton,\n SlackLinkUser,\n Subscription,\n SubscriptionButton,\n SubscriptionPreferences,\n TelegramConnectButton,\n} from './components';\nexport type {\n UseChannelConnectionProps,\n UseChannelConnectionResult,\n UseChannelConnectionsProps,\n UseChannelConnectionsResult,\n UseChannelEndpointProps,\n UseChannelEndpointResult,\n UseCountsProps,\n UseCountsResult,\n UseCreateChannelEndpointProps,\n UseCreateChannelEndpointResult,\n UseDeleteChannelEndpointProps,\n UseDeleteChannelEndpointResult,\n UseNotificationsProps,\n UseNotificationsResult,\n UsePreferencesResult,\n UseScheduleProps as UsePreferencesProps,\n UseTelegramSubscriberLinkProps,\n UseTelegramSubscriberLinkResult,\n UseWebChatProps,\n UseWebChatResult,\n} from './hooks';\nexport {\n useChannelConnection,\n useChannelConnections,\n useChannelEndpoint,\n useCounts,\n useCreateChannelEndpoint,\n useCreateSubscription,\n useDeleteChannelEndpoint,\n useNotifications,\n useNovu,\n usePreferences,\n useRemoveSubscription,\n useSchedule,\n useSubscription,\n useSubscriptions,\n useTelegramSubscriberLink,\n useUpdateSubscription,\n useWebChat,\n} from './hooks';\n\nexport type {\n BaseProps,\n BellRenderer,\n BodyRenderer,\n DefaultInboxProps,\n DefaultProps,\n NoRendererProps,\n NotificationRendererProps,\n NotificationsRenderer,\n ReactAllAppearance,\n ReactInboxAppearance,\n ReactInboxTheme,\n ReactSubscriptionAppearance,\n ReactSubscriptionTheme,\n SubjectBodyRendererProps,\n SubjectRenderer,\n WithChildrenProps,\n} from './utils/types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAA8F;AAkD9F,wBAgBO;AAuBP,mBAkBO;","names":[]}
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -8,6 +8,7 @@ export { InboxContent, InboxContentProps } from './components/InboxContent.cjs';
|
|
|
8
8
|
export { MsTeamsConnectButton, MsTeamsConnectButtonProps } from './components/msteams-connect-button/MsTeamsConnectButton.cjs';
|
|
9
9
|
export { MsTeamsLinkUser, MsTeamsLinkUserProps } from './components/msteams-link-user/MsTeamsLinkUser.cjs';
|
|
10
10
|
export { NotificationProps, Notifications } from './components/Notifications.cjs';
|
|
11
|
+
export { NotificationItem, NotificationItemProps } from './components/notification-item/NotificationItem.cjs';
|
|
11
12
|
export { Preferences } from './components/Preferences.cjs';
|
|
12
13
|
export { SlackConnectButton, SlackConnectButtonProps } from './components/slack-connect-button/SlackConnectButton.cjs';
|
|
13
14
|
export { SlackLinkUser, SlackLinkUserProps } from './components/slack-link-user/SlackLinkUser.cjs';
|
|
@@ -37,6 +38,11 @@ import 'react';
|
|
|
37
38
|
import './components/NovuUI.cjs';
|
|
38
39
|
import './components/msteams-connect-button/DefaultMsTeamsConnectButton.cjs';
|
|
39
40
|
import './components/msteams-link-user/DefaultMsTeamsLinkUser.cjs';
|
|
41
|
+
import './components/notification-item/parts/Dot.cjs';
|
|
42
|
+
import './components/notification-item/parts/Date.cjs';
|
|
43
|
+
import './components/notification-item/parts/Subject.cjs';
|
|
44
|
+
import './components/notification-item/parts/Content.cjs';
|
|
45
|
+
import './components/notification-item/parts/Avatar.cjs';
|
|
40
46
|
import './components/slack-connect-button/DefaultSlackConnectButton.cjs';
|
|
41
47
|
import './components/slack-link-user/DefaultSlackLinkUser.cjs';
|
|
42
48
|
import './components/subscription/DefaultSubscription.cjs';
|
|
@@ -25,6 +25,7 @@ __export(server_exports, {
|
|
|
25
25
|
InboxContent: () => InboxContent,
|
|
26
26
|
MsTeamsConnectButton: () => MsTeamsConnectButton,
|
|
27
27
|
MsTeamsLinkUser: () => MsTeamsLinkUser,
|
|
28
|
+
NotificationItem: () => NotificationItem,
|
|
28
29
|
Notifications: () => Notifications,
|
|
29
30
|
NovuProvider: () => NovuProvider,
|
|
30
31
|
PreferenceLevel: () => import_js.PreferenceLevel,
|
|
@@ -61,6 +62,18 @@ function InboxContent() {
|
|
|
61
62
|
}
|
|
62
63
|
function Notifications() {
|
|
63
64
|
}
|
|
65
|
+
var createStub = () => () => null;
|
|
66
|
+
var NotificationItem = Object.assign(createStub(), {
|
|
67
|
+
Avatar: createStub(),
|
|
68
|
+
Content: createStub(),
|
|
69
|
+
Text: createStub(),
|
|
70
|
+
Subject: createStub(),
|
|
71
|
+
Body: createStub(),
|
|
72
|
+
DefaultActions: createStub(),
|
|
73
|
+
CustomActions: createStub(),
|
|
74
|
+
Date: createStub(),
|
|
75
|
+
Dot: createStub()
|
|
76
|
+
});
|
|
64
77
|
function Preferences() {
|
|
65
78
|
}
|
|
66
79
|
function Bell() {
|
|
@@ -194,6 +207,7 @@ function useSubscriptions(_) {
|
|
|
194
207
|
InboxContent,
|
|
195
208
|
MsTeamsConnectButton,
|
|
196
209
|
MsTeamsLinkUser,
|
|
210
|
+
NotificationItem,
|
|
197
211
|
Notifications,
|
|
198
212
|
NovuProvider,
|
|
199
213
|
PreferenceLevel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/index.tsx"],"sourcesContent":["import type { InboxProps } from '../components/Inbox';\nimport { ShadowRootDetector } from '../components/ShadowRootDetector';\nimport type {\n UseWebChatProps,\n UseWebChatResult,\n UseCreateSubscriptionProps,\n UseCreateSubscriptionResult,\n UseNotificationsProps,\n UseNotificationsResult,\n UsePreferencesProps,\n UsePreferencesResult,\n UseRemoveSubscriptionProps,\n UseRemoveSubscriptionResult,\n UseScheduleProps,\n UseScheduleResult,\n UseSubscriptionProps,\n UseSubscriptionResult,\n UseSubscriptionsProps,\n UseSubscriptionsResult,\n UseUpdateSubscriptionProps,\n UseUpdateSubscriptionResult,\n} from '../hooks';\nimport type { NovuProviderProps } from '../hooks/NovuProvider';\nimport type { UseCountsProps, UseCountsResult } from '../hooks/useCounts';\n\n/**\n * Exporting all components from the components folder\n * as empty functions to fix build errors in SSR\n * This will be replaced with actual components\n * when we implement the SSR components in @novu/js/ui\n */\nexport function Inbox(props: InboxProps) {\n return <ShadowRootDetector />;\n}\n\nexport function InboxContent() {}\n\nexport function Notifications() {}\n\nexport function Preferences() {}\n\nexport function Bell() {}\n\nexport function NovuProvider(props: NovuProviderProps) {\n return <>{props.children}</>;\n}\n\nexport function Subscription() {\n return <ShadowRootDetector />;\n}\n\nexport function SubscriptionButton() {}\n\nexport function SubscriptionPreferences() {}\n\nexport function SlackConnectButton() {\n return <ShadowRootDetector />;\n}\n\nexport function SlackLinkUser() {\n return <ShadowRootDetector />;\n}\n\nexport function MsTeamsConnectButton() {\n return <ShadowRootDetector />;\n}\n\nexport function MsTeamsLinkUser() {\n return <ShadowRootDetector />;\n}\n\nexport function TelegramConnectButton() {\n return <ShadowRootDetector />;\n}\n\nexport function useNovu() {\n return null;\n}\n\nexport function useWebChat(_: UseWebChatProps): UseWebChatResult {\n return {\n messages: [],\n pendingActions: [],\n isLoading: true,\n isRunning: false,\n typing: undefined,\n conversationStatus: 'active',\n run: { isRunning: false },\n pagination: {\n status: 'idle',\n hasMore: false,\n fetchMore: () => Promise.resolve({ data: undefined, error: undefined }),\n },\n isRecovering: false,\n catchUpError: undefined,\n refetch: () => Promise.resolve(),\n sendMessage: () => Promise.resolve({ data: undefined, error: undefined }),\n respondToAction: () => Promise.resolve({ data: undefined, error: undefined }),\n sendAction: () => Promise.resolve({ data: undefined, error: undefined }),\n retryMessage: () => Promise.resolve({ data: undefined, error: undefined }),\n startNewConversation: () => {},\n };\n}\n\nexport function useCounts(_: UseCountsProps): UseCountsResult {\n return {\n isLoading: false,\n isFetching: false,\n refetch: () => Promise.resolve(),\n };\n}\n\nexport function useNotifications(_: UseNotificationsProps): UseNotificationsResult {\n return {\n isLoading: false,\n isFetching: false,\n hasMore: false,\n readAll: () => Promise.resolve({ data: undefined, error: undefined }),\n seenAll: () => Promise.resolve({ data: undefined, error: undefined }),\n archiveAll: () => Promise.resolve({ data: undefined, error: undefined }),\n archiveAllRead: () => Promise.resolve({ data: undefined, error: undefined }),\n refetch: () => Promise.resolve(),\n fetchMore: () => Promise.resolve(),\n };\n}\n\nexport function usePreferences(_: UsePreferencesProps): UsePreferencesResult {\n return {\n isLoading: false,\n isFetching: false,\n refetch: () => Promise.resolve(),\n };\n}\n\nexport function useSchedule(_: UseScheduleProps): UseScheduleResult {\n return {\n isLoading: false,\n isFetching: false,\n refetch: () => Promise.resolve(),\n };\n}\n\nexport function useSubscription(_: UseSubscriptionProps): UseSubscriptionResult {\n return {\n isLoading: false,\n isFetching: false,\n refetch: () => Promise.resolve(),\n };\n}\n\nexport function useCreateSubscription(_: UseCreateSubscriptionProps = {}): UseCreateSubscriptionResult {\n return {\n isCreating: false,\n error: undefined,\n create: () => Promise.resolve({ data: undefined, error: undefined }),\n };\n}\n\nexport function useUpdateSubscription(_: UseUpdateSubscriptionProps = {}): UseUpdateSubscriptionResult {\n return {\n isUpdating: false,\n error: undefined,\n update: () => Promise.resolve({ data: undefined, error: undefined }),\n };\n}\n\nexport function useRemoveSubscription(_: UseRemoveSubscriptionProps = {}): UseRemoveSubscriptionResult {\n return {\n isRemoving: false,\n error: undefined,\n remove: () => Promise.resolve({ data: undefined, error: undefined }),\n };\n}\n\nexport function useSubscriptions(_: UseSubscriptionsProps): UseSubscriptionsResult {\n return {\n isLoading: false,\n isFetching: false,\n refetch: () => Promise.resolve(),\n };\n}\n\nexport type * from '@novu/js';\nexport { pendingActionKey, PreferenceLevel, SeverityLevelEnum, WorkflowCriticalityEnum } from '@novu/js';\n\nexport type {\n AllLocalization,\n AllLocalizationKey,\n ElementStyles,\n InboxAppearance,\n InboxAppearanceCallback,\n InboxAppearanceCallbackFunction,\n InboxAppearanceCallbackKeys,\n InboxAppearanceKey,\n InboxElements,\n InboxLocalization,\n InboxLocalizationKey,\n InboxTheme,\n NotificationActionClickHandler,\n NotificationClickHandler,\n NotificationRenderer,\n PreferenceGroups,\n PreferencesFilter,\n RouterPush,\n SubscriptionAppearance,\n SubscriptionAppearanceCallback,\n SubscriptionAppearanceCallbackFunction,\n SubscriptionAppearanceCallbackKeys,\n SubscriptionAppearanceKey,\n SubscriptionElements,\n SubscriptionLocalization,\n SubscriptionLocalizationKey,\n SubscriptionTheme,\n Tab,\n Variables,\n} from '@novu/js/ui';\n\nexport type { BellProps, InboxContentProps, InboxProps, NotificationProps, NovuProviderProps } from '../components';\n\nexport type {\n UseWebChatProps,\n UseWebChatResult,\n UseCountsProps,\n UseCountsResult,\n UseNotificationsProps,\n UseNotificationsResult,\n UsePreferencesResult,\n UseScheduleProps as UsePreferencesProps,\n} from '../hooks';\n\nexport type {\n BaseProps,\n BellRenderer,\n BodyRenderer,\n DefaultInboxProps,\n DefaultProps,\n NoRendererProps,\n NotificationRendererProps,\n NotificationsRenderer,\n SubjectBodyRendererProps,\n SubjectRenderer,\n WithChildrenProps,\n} from '../utils/types';\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/server/index.tsx"],"sourcesContent":["import type { InboxProps } from '../components/Inbox';\nimport type { NotificationItem as ClientNotificationItem } from '../components/notification-item/NotificationItem';\nimport { ShadowRootDetector } from '../components/ShadowRootDetector';\nimport type {\n UseCreateSubscriptionProps,\n UseCreateSubscriptionResult,\n UseNotificationsProps,\n UseNotificationsResult,\n UsePreferencesProps,\n UsePreferencesResult,\n UseRemoveSubscriptionProps,\n UseRemoveSubscriptionResult,\n UseScheduleProps,\n UseScheduleResult,\n UseSubscriptionProps,\n UseSubscriptionResult,\n UseSubscriptionsProps,\n UseSubscriptionsResult,\n UseUpdateSubscriptionProps,\n UseUpdateSubscriptionResult,\n UseWebChatProps,\n UseWebChatResult,\n} from '../hooks';\nimport type { NovuProviderProps } from '../hooks/NovuProvider';\nimport type { UseCountsProps, UseCountsResult } from '../hooks/useCounts';\n\n/**\n * Exporting all components from the components folder\n * as empty functions to fix build errors in SSR\n * This will be replaced with actual components\n * when we implement the SSR components in @novu/js/ui\n */\nexport function Inbox(props: InboxProps) {\n return <ShadowRootDetector />;\n}\n\nexport function InboxContent() {}\n\nexport function Notifications() {}\n\n/** The server stand-in for a client component: it takes exactly the client's props and renders nothing. */\ntype ServerStub<TComponent> = TComponent extends (...args: infer TArgs) => unknown ? (...args: TArgs) => null : never;\n\n/** A stubbed component together with the stubs of its static parts, so a part missing here fails to compile. */\ntype ServerCounterpart<TComponent> = ServerStub<TComponent> & {\n [TPart in keyof TComponent as TComponent[TPart] extends (...args: never) => unknown ? TPart : never]: ServerStub<\n TComponent[TPart]\n >;\n};\n\nconst createStub = () => () => null;\n\nexport const NotificationItem: ServerCounterpart<typeof ClientNotificationItem> = Object.assign(createStub(), {\n Avatar: createStub(),\n Content: createStub(),\n Text: createStub(),\n Subject: createStub(),\n Body: createStub(),\n DefaultActions: createStub(),\n CustomActions: createStub(),\n Date: createStub(),\n Dot: createStub(),\n});\n\nexport function Preferences() {}\n\nexport function Bell() {}\n\nexport function NovuProvider(props: NovuProviderProps) {\n return <>{props.children}</>;\n}\n\nexport function Subscription() {\n return <ShadowRootDetector />;\n}\n\nexport function SubscriptionButton() {}\n\nexport function SubscriptionPreferences() {}\n\nexport function SlackConnectButton() {\n return <ShadowRootDetector />;\n}\n\nexport function SlackLinkUser() {\n return <ShadowRootDetector />;\n}\n\nexport function MsTeamsConnectButton() {\n return <ShadowRootDetector />;\n}\n\nexport function MsTeamsLinkUser() {\n return <ShadowRootDetector />;\n}\n\nexport function TelegramConnectButton() {\n return <ShadowRootDetector />;\n}\n\nexport function useNovu() {\n return null;\n}\n\nexport function useWebChat(_: UseWebChatProps): UseWebChatResult {\n return {\n messages: [],\n pendingActions: [],\n isLoading: true,\n isRunning: false,\n typing: undefined,\n conversationStatus: 'active',\n run: { isRunning: false },\n pagination: {\n status: 'idle',\n hasMore: false,\n fetchMore: () => Promise.resolve({ data: undefined, error: undefined }),\n },\n isRecovering: false,\n catchUpError: undefined,\n refetch: () => Promise.resolve(),\n sendMessage: () => Promise.resolve({ data: undefined, error: undefined }),\n respondToAction: () => Promise.resolve({ data: undefined, error: undefined }),\n sendAction: () => Promise.resolve({ data: undefined, error: undefined }),\n retryMessage: () => Promise.resolve({ data: undefined, error: undefined }),\n startNewConversation: () => {},\n };\n}\n\nexport function useCounts(_: UseCountsProps): UseCountsResult {\n return {\n isLoading: false,\n isFetching: false,\n refetch: () => Promise.resolve(),\n };\n}\n\nexport function useNotifications(_: UseNotificationsProps): UseNotificationsResult {\n return {\n isLoading: false,\n isFetching: false,\n hasMore: false,\n readAll: () => Promise.resolve({ data: undefined, error: undefined }),\n seenAll: () => Promise.resolve({ data: undefined, error: undefined }),\n archiveAll: () => Promise.resolve({ data: undefined, error: undefined }),\n archiveAllRead: () => Promise.resolve({ data: undefined, error: undefined }),\n refetch: () => Promise.resolve(),\n fetchMore: () => Promise.resolve(),\n };\n}\n\nexport function usePreferences(_: UsePreferencesProps): UsePreferencesResult {\n return {\n isLoading: false,\n isFetching: false,\n refetch: () => Promise.resolve(),\n };\n}\n\nexport function useSchedule(_: UseScheduleProps): UseScheduleResult {\n return {\n isLoading: false,\n isFetching: false,\n refetch: () => Promise.resolve(),\n };\n}\n\nexport function useSubscription(_: UseSubscriptionProps): UseSubscriptionResult {\n return {\n isLoading: false,\n isFetching: false,\n refetch: () => Promise.resolve(),\n };\n}\n\nexport function useCreateSubscription(_: UseCreateSubscriptionProps = {}): UseCreateSubscriptionResult {\n return {\n isCreating: false,\n error: undefined,\n create: () => Promise.resolve({ data: undefined, error: undefined }),\n };\n}\n\nexport function useUpdateSubscription(_: UseUpdateSubscriptionProps = {}): UseUpdateSubscriptionResult {\n return {\n isUpdating: false,\n error: undefined,\n update: () => Promise.resolve({ data: undefined, error: undefined }),\n };\n}\n\nexport function useRemoveSubscription(_: UseRemoveSubscriptionProps = {}): UseRemoveSubscriptionResult {\n return {\n isRemoving: false,\n error: undefined,\n remove: () => Promise.resolve({ data: undefined, error: undefined }),\n };\n}\n\nexport function useSubscriptions(_: UseSubscriptionsProps): UseSubscriptionsResult {\n return {\n isLoading: false,\n isFetching: false,\n refetch: () => Promise.resolve(),\n };\n}\n\nexport type * from '@novu/js';\nexport { PreferenceLevel, pendingActionKey, SeverityLevelEnum, WorkflowCriticalityEnum } from '@novu/js';\n\nexport type {\n AllLocalization,\n AllLocalizationKey,\n ElementStyles,\n InboxAppearance,\n InboxAppearanceCallback,\n InboxAppearanceCallbackFunction,\n InboxAppearanceCallbackKeys,\n InboxAppearanceKey,\n InboxElements,\n InboxLocalization,\n InboxLocalizationKey,\n InboxTheme,\n NotificationActionClickHandler,\n NotificationClickHandler,\n NotificationRenderer,\n PreferenceGroups,\n PreferencesFilter,\n RouterPush,\n SubscriptionAppearance,\n SubscriptionAppearanceCallback,\n SubscriptionAppearanceCallbackFunction,\n SubscriptionAppearanceCallbackKeys,\n SubscriptionAppearanceKey,\n SubscriptionElements,\n SubscriptionLocalization,\n SubscriptionLocalizationKey,\n SubscriptionTheme,\n Tab,\n Variables,\n} from '@novu/js/ui';\n\nexport type {\n BellProps,\n InboxContentProps,\n InboxProps,\n NotificationItemProps,\n NotificationProps,\n NovuProviderProps,\n} from '../components';\n\nexport type {\n UseCountsProps,\n UseCountsResult,\n UseNotificationsProps,\n UseNotificationsResult,\n UsePreferencesResult,\n UseScheduleProps as UsePreferencesProps,\n UseWebChatProps,\n UseWebChatResult,\n} from '../hooks';\n\nexport type {\n BaseProps,\n BellRenderer,\n BodyRenderer,\n DefaultInboxProps,\n DefaultProps,\n NoRendererProps,\n NotificationRendererProps,\n NotificationsRenderer,\n SubjectBodyRendererProps,\n SubjectRenderer,\n WithChildrenProps,\n} from '../utils/types';\n"],"mappings":"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","names":[]}
|