@novu/js 2.1.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{chunk-UUYKXZBW.js → chunk-D7P7KCZI.js} +361 -271
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +14 -14
- package/dist/cjs/{novu-PgupDkfH.d.ts → novu-04KlkBy4.d.ts} +24 -14
- package/dist/cjs/ui/index.d.ts +2 -2
- package/dist/cjs/ui/index.js +209 -116
- package/dist/esm/{chunk-PCEUODSO.mjs → chunk-APRCCICD.mjs} +361 -271
- package/dist/esm/index.d.mts +2 -2
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/{novu-PgupDkfH.d.mts → novu-04KlkBy4.d.mts} +24 -14
- package/dist/esm/ui/index.d.mts +2 -2
- package/dist/esm/ui/index.mjs +118 -25
- package/dist/novu.min.js +10 -10
- package/dist/novu.min.js.gz +0 -0
- package/package.json +1 -1
package/dist/cjs/ui/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkD7P7KCZI_js = require('../chunk-D7P7KCZI.js');
|
|
4
4
|
var web = require('solid-js/web');
|
|
5
5
|
var solidJs = require('solid-js');
|
|
6
6
|
var store = require('solid-js/store');
|
|
@@ -98,7 +98,9 @@ var appearanceKeys = [
|
|
|
98
98
|
"notification",
|
|
99
99
|
"notificationDot",
|
|
100
100
|
"notificationSubject",
|
|
101
|
+
"notificationSubject__strong",
|
|
101
102
|
"notificationBody",
|
|
103
|
+
"notificationBody__strong",
|
|
102
104
|
"notificationBodyContainer",
|
|
103
105
|
"notificationImage",
|
|
104
106
|
"notificationDate",
|
|
@@ -165,7 +167,9 @@ var appearanceKeys = [
|
|
|
165
167
|
"preferencesHeader__back__button",
|
|
166
168
|
"preferencesHeader__title",
|
|
167
169
|
// Preferences Loading
|
|
168
|
-
"preferencesLoadingContainer"
|
|
170
|
+
"preferencesLoadingContainer",
|
|
171
|
+
// Text formatting
|
|
172
|
+
"strong"
|
|
169
173
|
];
|
|
170
174
|
function createInfiniteScroll(fetcher) {
|
|
171
175
|
const [data, setData] = solidJs.createSignal([]);
|
|
@@ -196,7 +200,7 @@ function createInfiniteScroll(fetcher) {
|
|
|
196
200
|
setData(content.data);
|
|
197
201
|
});
|
|
198
202
|
});
|
|
199
|
-
const reset = () =>
|
|
203
|
+
const reset = () => chunkD7P7KCZI_js.__async(this, null, function* () {
|
|
200
204
|
setData([]);
|
|
201
205
|
setInitialLoading(true);
|
|
202
206
|
setEnd(false);
|
|
@@ -447,8 +451,8 @@ var AppearanceProvider = (props) => {
|
|
|
447
451
|
if (!styleEl) {
|
|
448
452
|
return;
|
|
449
453
|
}
|
|
450
|
-
const baseVariables =
|
|
451
|
-
setVariableRules(parseVariables(
|
|
454
|
+
const baseVariables = chunkD7P7KCZI_js.__spreadValues(chunkD7P7KCZI_js.__spreadValues({}, defaultVariables), themes().reduce((acc, obj) => chunkD7P7KCZI_js.__spreadValues(chunkD7P7KCZI_js.__spreadValues({}, acc), obj.variables || {}), {}));
|
|
455
|
+
setVariableRules(parseVariables(chunkD7P7KCZI_js.__spreadValues(chunkD7P7KCZI_js.__spreadValues({}, baseVariables), ((_a = props.appearance) == null ? void 0 : _a.variables) || {}), props.id));
|
|
452
456
|
});
|
|
453
457
|
solidJs.createEffect(() => {
|
|
454
458
|
var _a;
|
|
@@ -456,9 +460,9 @@ var AppearanceProvider = (props) => {
|
|
|
456
460
|
if (!styleEl) {
|
|
457
461
|
return;
|
|
458
462
|
}
|
|
459
|
-
const baseElements = themes().reduce((acc, obj) =>
|
|
460
|
-
const elementsStyleData = parseElements(
|
|
461
|
-
setStore("appearanceKeyToCssInJsClass", (obj) =>
|
|
463
|
+
const baseElements = themes().reduce((acc, obj) => chunkD7P7KCZI_js.__spreadValues(chunkD7P7KCZI_js.__spreadValues({}, acc), obj.elements || {}), {});
|
|
464
|
+
const elementsStyleData = parseElements(chunkD7P7KCZI_js.__spreadValues(chunkD7P7KCZI_js.__spreadValues({}, baseElements), ((_a = props.appearance) == null ? void 0 : _a.elements) || {}));
|
|
465
|
+
setStore("appearanceKeyToCssInJsClass", (obj) => chunkD7P7KCZI_js.__spreadValues(chunkD7P7KCZI_js.__spreadValues({}, obj), elementsStyleData.reduce((acc, item) => {
|
|
462
466
|
acc[item.key] = item.className;
|
|
463
467
|
return acc;
|
|
464
468
|
}, {})));
|
|
@@ -571,10 +575,10 @@ var LocalizationProvider = (props) => {
|
|
|
571
575
|
const localization = solidJs.createMemo(() => {
|
|
572
576
|
const _a = props.localization || {}, {
|
|
573
577
|
dynamic
|
|
574
|
-
} = _a, localizationObject =
|
|
578
|
+
} = _a, localizationObject = chunkD7P7KCZI_js.__objRest(_a, [
|
|
575
579
|
"dynamic"
|
|
576
580
|
]);
|
|
577
|
-
return
|
|
581
|
+
return chunkD7P7KCZI_js.__spreadValues(chunkD7P7KCZI_js.__spreadValues(chunkD7P7KCZI_js.__spreadValues(chunkD7P7KCZI_js.__spreadValues({}, defaultLocalization), dynamicLocalization()), dynamic || {}), localizationObject);
|
|
578
582
|
});
|
|
579
583
|
const t = (key, ...args) => {
|
|
580
584
|
const value = localization()[key];
|
|
@@ -631,12 +635,12 @@ var InboxProvider = (props) => {
|
|
|
631
635
|
const [activeTab, setActiveTab] = solidJs.createSignal((_a = props.tabs[0] && props.tabs[0].label) != null ? _a : "");
|
|
632
636
|
const [status, setStatus] = solidJs.createSignal("unreadRead" /* UNREAD_READ */);
|
|
633
637
|
const [limit, setLimit] = solidJs.createSignal(DEFAULT_LIMIT);
|
|
634
|
-
const [filter, setFilter] = solidJs.createSignal(
|
|
638
|
+
const [filter, setFilter] = solidJs.createSignal(chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, STATUS_TO_FILTER["unreadRead" /* UNREAD_READ */]), {
|
|
635
639
|
tags: props.tabs.length > 0 ? props.tabs[0].value : []
|
|
636
640
|
}));
|
|
637
641
|
const setNewStatus = (newStatus) => {
|
|
638
642
|
setStatus(newStatus);
|
|
639
|
-
setFilter((old) =>
|
|
643
|
+
setFilter((old) => chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, STATUS_TO_FILTER[newStatus]), {
|
|
640
644
|
tags: old.tags
|
|
641
645
|
}));
|
|
642
646
|
};
|
|
@@ -647,7 +651,7 @@ var InboxProvider = (props) => {
|
|
|
647
651
|
return;
|
|
648
652
|
}
|
|
649
653
|
setActiveTab(newActiveTab);
|
|
650
|
-
setFilter((old) =>
|
|
654
|
+
setFilter((old) => chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, old), {
|
|
651
655
|
tags
|
|
652
656
|
}));
|
|
653
657
|
};
|
|
@@ -675,7 +679,7 @@ var InboxProvider = (props) => {
|
|
|
675
679
|
setActiveTab((_a2 = firstTab == null ? void 0 : firstTab.label) != null ? _a2 : "");
|
|
676
680
|
setFilter((old) => {
|
|
677
681
|
var _a3;
|
|
678
|
-
return
|
|
682
|
+
return chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, old), {
|
|
679
683
|
tags: (_a3 = firstTab == null ? void 0 : firstTab.value) != null ? _a3 : []
|
|
680
684
|
});
|
|
681
685
|
});
|
|
@@ -708,7 +712,7 @@ var useInboxContext = () => {
|
|
|
708
712
|
};
|
|
709
713
|
var NovuContext = solidJs.createContext(void 0);
|
|
710
714
|
function NovuProvider(props) {
|
|
711
|
-
const novu = solidJs.createMemo(() => props.novu || new
|
|
715
|
+
const novu = solidJs.createMemo(() => props.novu || new chunkD7P7KCZI_js.Novu(props.options));
|
|
712
716
|
return web.createComponent(NovuContext.Provider, {
|
|
713
717
|
get value() {
|
|
714
718
|
return novu();
|
|
@@ -740,7 +744,7 @@ var CountProvider = (props) => {
|
|
|
740
744
|
const [totalUnreadCount, setTotalUnreadCount] = solidJs.createSignal(0);
|
|
741
745
|
const [unreadCounts, setUnreadCounts] = solidJs.createSignal(/* @__PURE__ */ new Map());
|
|
742
746
|
const [newNotificationCounts, setNewNotificationCounts] = solidJs.createSignal(/* @__PURE__ */ new Map());
|
|
743
|
-
const updateTabCounts = () =>
|
|
747
|
+
const updateTabCounts = () => chunkD7P7KCZI_js.__async(void 0, null, function* () {
|
|
744
748
|
if (tabs().length === 0) {
|
|
745
749
|
return;
|
|
746
750
|
}
|
|
@@ -791,7 +795,7 @@ var CountProvider = (props) => {
|
|
|
791
795
|
const updateNewNotificationCountsOrCache = (notification, tags) => {
|
|
792
796
|
const notificationsCache = novu.notifications.cache;
|
|
793
797
|
const limitValue = limit();
|
|
794
|
-
const tabFilter =
|
|
798
|
+
const tabFilter = chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, filter()), {
|
|
795
799
|
tags,
|
|
796
800
|
offset: 0,
|
|
797
801
|
limit: limitValue
|
|
@@ -807,7 +811,7 @@ var CountProvider = (props) => {
|
|
|
807
811
|
};
|
|
808
812
|
const hasLessThenMinAmount = ((cachedData == null ? void 0 : cachedData.notifications.length) || 0) < MIN_AMOUNT_OF_NOTIFICATIONS;
|
|
809
813
|
if (hasLessThenMinAmount) {
|
|
810
|
-
notificationsCache.update(tabFilter,
|
|
814
|
+
notificationsCache.update(tabFilter, chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, cachedData), {
|
|
811
815
|
notifications: [notification, ...cachedData.notifications]
|
|
812
816
|
}));
|
|
813
817
|
return;
|
|
@@ -821,7 +825,7 @@ var CountProvider = (props) => {
|
|
|
821
825
|
};
|
|
822
826
|
useWebSocketEvent({
|
|
823
827
|
event: "notifications.notification_received",
|
|
824
|
-
eventHandler: (_0) =>
|
|
828
|
+
eventHandler: (_0) => chunkD7P7KCZI_js.__async(void 0, [_0], function* ({
|
|
825
829
|
result: notification
|
|
826
830
|
}) {
|
|
827
831
|
if (filter().archived) {
|
|
@@ -992,7 +996,7 @@ var _tmpl$ = /* @__PURE__ */ web.template(`<div>`);
|
|
|
992
996
|
var ExternalElementRenderer = (_a) => {
|
|
993
997
|
var _b = _a, {
|
|
994
998
|
render: render2
|
|
995
|
-
} = _b, rest =
|
|
999
|
+
} = _b, rest = chunkD7P7KCZI_js.__objRest(_b, [
|
|
996
1000
|
"render"
|
|
997
1001
|
]);
|
|
998
1002
|
let ref;
|
|
@@ -1924,15 +1928,15 @@ var StatusDropdown = () => {
|
|
|
1924
1928
|
};
|
|
1925
1929
|
var useNotificationsInfiniteScroll = (props) => {
|
|
1926
1930
|
const novu = useNovu();
|
|
1927
|
-
let filter =
|
|
1928
|
-
const [data, { initialLoading, setEl, end, mutate, reset }] = createInfiniteScroll((offset3) =>
|
|
1931
|
+
let filter = chunkD7P7KCZI_js.__spreadValues({}, props.options());
|
|
1932
|
+
const [data, { initialLoading, setEl, end, mutate, reset }] = createInfiniteScroll((offset3) => chunkD7P7KCZI_js.__async(void 0, null, function* () {
|
|
1929
1933
|
var _a, _b;
|
|
1930
|
-
const { data: data2 } = yield novu.notifications.list(
|
|
1934
|
+
const { data: data2 } = yield novu.notifications.list(chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, props.options() || {}), { offset: offset3 }));
|
|
1931
1935
|
return { data: (_a = data2 == null ? void 0 : data2.notifications) != null ? _a : [], hasMore: (_b = data2 == null ? void 0 : data2.hasMore) != null ? _b : false };
|
|
1932
1936
|
}));
|
|
1933
1937
|
solidJs.onMount(() => {
|
|
1934
1938
|
const listener = ({ data: data2 }) => {
|
|
1935
|
-
if (!data2 || !
|
|
1939
|
+
if (!data2 || !chunkD7P7KCZI_js.isSameFilter(filter, data2.filter)) {
|
|
1936
1940
|
return;
|
|
1937
1941
|
}
|
|
1938
1942
|
mutate({ data: data2.notifications, hasMore: data2.hasMore });
|
|
@@ -1941,8 +1945,8 @@ var useNotificationsInfiniteScroll = (props) => {
|
|
|
1941
1945
|
solidJs.onCleanup(() => novu.off("notifications.list.updated", listener));
|
|
1942
1946
|
});
|
|
1943
1947
|
solidJs.createEffect(() => {
|
|
1944
|
-
const newFilter =
|
|
1945
|
-
if (
|
|
1948
|
+
const newFilter = chunkD7P7KCZI_js.__spreadValues({}, props.options());
|
|
1949
|
+
if (chunkD7P7KCZI_js.isSameFilter(filter, newFilter)) {
|
|
1946
1950
|
return;
|
|
1947
1951
|
}
|
|
1948
1952
|
novu.notifications.clearCache();
|
|
@@ -1958,7 +1962,7 @@ var useNotificationsInfiniteScroll = (props) => {
|
|
|
1958
1962
|
var usePreferences = (options) => {
|
|
1959
1963
|
const novu = useNovu();
|
|
1960
1964
|
const [loading, setLoading] = solidJs.createSignal(true);
|
|
1961
|
-
const [preferences, { mutate, refetch }] = solidJs.createResource(options || {}, () =>
|
|
1965
|
+
const [preferences, { mutate, refetch }] = solidJs.createResource(options || {}, () => chunkD7P7KCZI_js.__async(void 0, null, function* () {
|
|
1962
1966
|
try {
|
|
1963
1967
|
const response = yield novu.preferences.list();
|
|
1964
1968
|
return response.data;
|
|
@@ -1986,7 +1990,7 @@ var usePreferences = (options) => {
|
|
|
1986
1990
|
// src/ui/api/hooks/useReadAll.ts
|
|
1987
1991
|
var useReadAll = (props) => {
|
|
1988
1992
|
const novu = useNovu();
|
|
1989
|
-
const readAll = (..._0) =>
|
|
1993
|
+
const readAll = (..._0) => chunkD7P7KCZI_js.__async(void 0, [..._0], function* ({ tags } = {}) {
|
|
1990
1994
|
var _a, _b;
|
|
1991
1995
|
try {
|
|
1992
1996
|
yield novu.notifications.readAll({ tags });
|
|
@@ -2001,7 +2005,7 @@ var useReadAll = (props) => {
|
|
|
2001
2005
|
// src/ui/api/hooks/useArchiveAll.ts
|
|
2002
2006
|
var useArchiveAll = (props) => {
|
|
2003
2007
|
const novu = useNovu();
|
|
2004
|
-
const archiveAll = (..._0) =>
|
|
2008
|
+
const archiveAll = (..._0) => chunkD7P7KCZI_js.__async(void 0, [..._0], function* ({ tags } = {}) {
|
|
2005
2009
|
var _a, _b;
|
|
2006
2010
|
try {
|
|
2007
2011
|
yield novu.notifications.archiveAll({ tags });
|
|
@@ -2016,7 +2020,7 @@ var useArchiveAll = (props) => {
|
|
|
2016
2020
|
// src/ui/api/hooks/useArchiveAllRead.ts
|
|
2017
2021
|
var useArchiveAllRead = (props) => {
|
|
2018
2022
|
const novu = useNovu();
|
|
2019
|
-
const archiveAllRead = (..._0) =>
|
|
2023
|
+
const archiveAllRead = (..._0) => chunkD7P7KCZI_js.__async(void 0, [..._0], function* ({ tags } = {}) {
|
|
2020
2024
|
var _a, _b;
|
|
2021
2025
|
try {
|
|
2022
2026
|
yield novu.notifications.archiveAllRead({ tags });
|
|
@@ -2437,7 +2441,7 @@ var Switch = (props) => {
|
|
|
2437
2441
|
var _tmpl$41 = /* @__PURE__ */ web.template(`<div><div><div></div><span></span></div><div>`);
|
|
2438
2442
|
var ChannelRow = (props) => {
|
|
2439
2443
|
const style = useStyle();
|
|
2440
|
-
const updatePreference = (enabled) =>
|
|
2444
|
+
const updatePreference = (enabled) => chunkD7P7KCZI_js.__async(void 0, null, function* () {
|
|
2441
2445
|
if (props.isCritical) {
|
|
2442
2446
|
return;
|
|
2443
2447
|
}
|
|
@@ -2588,7 +2592,7 @@ var Preferences = () => {
|
|
|
2588
2592
|
solidJs.createEffect(() => {
|
|
2589
2593
|
setDynamicLocalization((prev) => {
|
|
2590
2594
|
var _a;
|
|
2591
|
-
return
|
|
2595
|
+
return chunkD7P7KCZI_js.__spreadValues(chunkD7P7KCZI_js.__spreadValues({}, prev), (_a = allPreferences().workflowPreferences) == null ? void 0 : _a.reduce((acc, preference) => {
|
|
2592
2596
|
acc[preference.workflow.identifier] = preference.workflow.name;
|
|
2593
2597
|
return acc;
|
|
2594
2598
|
}, {}));
|
|
@@ -2815,10 +2819,90 @@ var PreferencesRow = (props) => {
|
|
|
2815
2819
|
});
|
|
2816
2820
|
};
|
|
2817
2821
|
web.delegateEvents(["click"]);
|
|
2818
|
-
var _tmpl$46 = /* @__PURE__ */ web.template(`<
|
|
2819
|
-
var _tmpl$213 = /* @__PURE__ */ web.template(`<
|
|
2820
|
-
var
|
|
2821
|
-
|
|
2822
|
+
var _tmpl$46 = /* @__PURE__ */ web.template(`<strong>`);
|
|
2823
|
+
var _tmpl$213 = /* @__PURE__ */ web.template(`<p>`);
|
|
2824
|
+
var parseMarkdownIntoTokens = (text) => {
|
|
2825
|
+
const tokens = [];
|
|
2826
|
+
let buffer = "";
|
|
2827
|
+
let inBold = false;
|
|
2828
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
2829
|
+
if (text[i] === "\\" && text[i + 1] === "*") {
|
|
2830
|
+
buffer += "*";
|
|
2831
|
+
i += 1;
|
|
2832
|
+
} else if (text[i] === "*" && text[i + 1] === "*") {
|
|
2833
|
+
if (buffer) {
|
|
2834
|
+
tokens.push({
|
|
2835
|
+
type: inBold ? "bold" : "text",
|
|
2836
|
+
content: buffer
|
|
2837
|
+
});
|
|
2838
|
+
buffer = "";
|
|
2839
|
+
}
|
|
2840
|
+
inBold = !inBold;
|
|
2841
|
+
i += 1;
|
|
2842
|
+
} else {
|
|
2843
|
+
buffer += text[i];
|
|
2844
|
+
}
|
|
2845
|
+
}
|
|
2846
|
+
if (buffer) {
|
|
2847
|
+
tokens.push({
|
|
2848
|
+
type: inBold ? "bold" : "text",
|
|
2849
|
+
content: buffer
|
|
2850
|
+
});
|
|
2851
|
+
}
|
|
2852
|
+
return tokens;
|
|
2853
|
+
};
|
|
2854
|
+
var Bold = (props) => {
|
|
2855
|
+
const style = useStyle();
|
|
2856
|
+
return (() => {
|
|
2857
|
+
var _el$ = _tmpl$46();
|
|
2858
|
+
web.insert(_el$, () => props.children);
|
|
2859
|
+
web.effect(() => web.className(_el$, style(props.appearanceKey || "strong", "nt-font-semibold")));
|
|
2860
|
+
return _el$;
|
|
2861
|
+
})();
|
|
2862
|
+
};
|
|
2863
|
+
var Text = (props) => props.children;
|
|
2864
|
+
var Markdown = (props) => {
|
|
2865
|
+
const _a = props, {
|
|
2866
|
+
children,
|
|
2867
|
+
strongAppearanceKey
|
|
2868
|
+
} = _a, rest = chunkD7P7KCZI_js.__objRest(_a, [
|
|
2869
|
+
"children",
|
|
2870
|
+
"strongAppearanceKey"
|
|
2871
|
+
]);
|
|
2872
|
+
const tokens = solidJs.createMemo(() => parseMarkdownIntoTokens(children));
|
|
2873
|
+
return (() => {
|
|
2874
|
+
var _el$2 = _tmpl$213();
|
|
2875
|
+
web.spread(_el$2, rest, false, true);
|
|
2876
|
+
web.insert(_el$2, web.createComponent(solidJs.For, {
|
|
2877
|
+
get each() {
|
|
2878
|
+
return tokens();
|
|
2879
|
+
},
|
|
2880
|
+
children: (token) => {
|
|
2881
|
+
if (token.type === "bold") {
|
|
2882
|
+
return web.createComponent(Bold, {
|
|
2883
|
+
appearanceKey: strongAppearanceKey,
|
|
2884
|
+
get children() {
|
|
2885
|
+
return token.content;
|
|
2886
|
+
}
|
|
2887
|
+
});
|
|
2888
|
+
} else {
|
|
2889
|
+
return web.createComponent(Text, {
|
|
2890
|
+
get children() {
|
|
2891
|
+
return token.content;
|
|
2892
|
+
}
|
|
2893
|
+
});
|
|
2894
|
+
}
|
|
2895
|
+
}
|
|
2896
|
+
}));
|
|
2897
|
+
return _el$2;
|
|
2898
|
+
})();
|
|
2899
|
+
};
|
|
2900
|
+
var Markdown_default = Markdown;
|
|
2901
|
+
|
|
2902
|
+
// src/ui/components/Notification/DefaultNotification.tsx
|
|
2903
|
+
var _tmpl$47 = /* @__PURE__ */ web.template(`<span>`);
|
|
2904
|
+
var _tmpl$214 = /* @__PURE__ */ web.template(`<img>`);
|
|
2905
|
+
var _tmpl$311 = /* @__PURE__ */ web.template(`<a><div><div class="nt-relative nt-shrink-0 nt-float-right"><p></p><div></div></div><div>`);
|
|
2822
2906
|
var DefaultNotification = (props) => {
|
|
2823
2907
|
const style = useStyle();
|
|
2824
2908
|
const {
|
|
@@ -2867,14 +2951,14 @@ var DefaultNotification = (props) => {
|
|
|
2867
2951
|
}
|
|
2868
2952
|
};
|
|
2869
2953
|
return (() => {
|
|
2870
|
-
var _el$ = _tmpl$
|
|
2954
|
+
var _el$ = _tmpl$311(), _el$4 = _el$.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling, _el$8 = _el$5.nextSibling;
|
|
2871
2955
|
_el$.$$click = handleNotificationClick;
|
|
2872
2956
|
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
2873
2957
|
get when() {
|
|
2874
2958
|
return !props.notification.isRead;
|
|
2875
2959
|
},
|
|
2876
2960
|
get children() {
|
|
2877
|
-
var _el$2 = _tmpl$
|
|
2961
|
+
var _el$2 = _tmpl$47();
|
|
2878
2962
|
web.effect(() => web.className(_el$2, style("notificationDot", "nt-absolute -nt-translate-x-[1.0625rem] nt-translate-y-1/2 nt-size-2.5 nt-bg-primary nt-rounded-full nt-border")));
|
|
2879
2963
|
return _el$2;
|
|
2880
2964
|
}
|
|
@@ -2884,7 +2968,7 @@ var DefaultNotification = (props) => {
|
|
|
2884
2968
|
return props.notification.avatar;
|
|
2885
2969
|
},
|
|
2886
2970
|
get children() {
|
|
2887
|
-
var _el$3 = _tmpl$
|
|
2971
|
+
var _el$3 = _tmpl$214();
|
|
2888
2972
|
web.effect((_p$) => {
|
|
2889
2973
|
var _v$ = style("notificationImage", "nt-size-8 nt-rounded-lg"), _v$2 = props.notification.avatar;
|
|
2890
2974
|
_v$ !== _p$.e && web.className(_el$3, _p$.e = _v$);
|
|
@@ -3027,15 +3111,26 @@ var DefaultNotification = (props) => {
|
|
|
3027
3111
|
get when() {
|
|
3028
3112
|
return props.notification.subject;
|
|
3029
3113
|
},
|
|
3114
|
+
children: (subject) => web.createComponent(Markdown_default, {
|
|
3115
|
+
get ["class"]() {
|
|
3116
|
+
return style("notificationSubject", "nt-text-start");
|
|
3117
|
+
},
|
|
3118
|
+
strongAppearanceKey: "notificationSubject__strong",
|
|
3119
|
+
get children() {
|
|
3120
|
+
return subject();
|
|
3121
|
+
}
|
|
3122
|
+
})
|
|
3123
|
+
}), _el$8);
|
|
3124
|
+
web.insert(_el$4, web.createComponent(Markdown_default, {
|
|
3125
|
+
get ["class"]() {
|
|
3126
|
+
return style("notificationBody", "nt-text-start");
|
|
3127
|
+
},
|
|
3128
|
+
strongAppearanceKey: "notificationBody__strong",
|
|
3030
3129
|
get children() {
|
|
3031
|
-
|
|
3032
|
-
web.insert(_el$8, () => props.notification.subject);
|
|
3033
|
-
web.effect(() => web.className(_el$8, style("notificationSubject", "nt-text-start nt-font-semibold")));
|
|
3034
|
-
return _el$8;
|
|
3130
|
+
return props.notification.body;
|
|
3035
3131
|
}
|
|
3036
|
-
}), _el$
|
|
3037
|
-
web.insert(_el$
|
|
3038
|
-
web.insert(_el$10, web.createComponent(solidJs.Show, {
|
|
3132
|
+
}), _el$8);
|
|
3133
|
+
web.insert(_el$8, web.createComponent(solidJs.Show, {
|
|
3039
3134
|
get when() {
|
|
3040
3135
|
return props.notification.primaryAction;
|
|
3041
3136
|
},
|
|
@@ -3049,7 +3144,7 @@ var DefaultNotification = (props) => {
|
|
|
3049
3144
|
}
|
|
3050
3145
|
})
|
|
3051
3146
|
}), null);
|
|
3052
|
-
web.insert(_el$
|
|
3147
|
+
web.insert(_el$8, web.createComponent(solidJs.Show, {
|
|
3053
3148
|
get when() {
|
|
3054
3149
|
return props.notification.secondaryAction;
|
|
3055
3150
|
},
|
|
@@ -3070,21 +3165,19 @@ var DefaultNotification = (props) => {
|
|
|
3070
3165
|
})), _v$4 = style("notificationBody", "nt-overflow-hidden nt-w-full"), _v$5 = style("notificationDate", `nt-transition nt-duration-100 nt-ease-out nt-text-foreground-alpha-400 nt-shrink-0
|
|
3071
3166
|
nt-float-right nt-text-right group-hover:nt-opacity-0`), _v$6 = style("notificationDefaultActions", `nt-transition nt-duration-100 nt-ease-out nt-gap-2 nt-flex nt-shrink-0
|
|
3072
3167
|
nt-opacity-0 group-hover:nt-opacity-100 nt-justify-center nt-items-center
|
|
3073
|
-
nt-absolute nt-top-0 nt-right-0 nt-bg-neutral-100 nt-p-0.5 nt-rounded nt-z-50`), _v$7 = style("
|
|
3168
|
+
nt-absolute nt-top-0 nt-right-0 nt-bg-neutral-100 nt-p-0.5 nt-rounded nt-z-50`), _v$7 = style("notificationCustomActions", "nt-flex nt-gap-4 nt-mt-4");
|
|
3074
3169
|
_v$3 !== _p$.e && web.className(_el$, _p$.e = _v$3);
|
|
3075
3170
|
_v$4 !== _p$.t && web.className(_el$4, _p$.t = _v$4);
|
|
3076
3171
|
_v$5 !== _p$.a && web.className(_el$6, _p$.a = _v$5);
|
|
3077
3172
|
_v$6 !== _p$.o && web.className(_el$7, _p$.o = _v$6);
|
|
3078
|
-
_v$7 !== _p$.i && web.className(_el$
|
|
3079
|
-
_v$8 !== _p$.n && web.className(_el$10, _p$.n = _v$8);
|
|
3173
|
+
_v$7 !== _p$.i && web.className(_el$8, _p$.i = _v$7);
|
|
3080
3174
|
return _p$;
|
|
3081
3175
|
}, {
|
|
3082
3176
|
e: void 0,
|
|
3083
3177
|
t: void 0,
|
|
3084
3178
|
a: void 0,
|
|
3085
3179
|
o: void 0,
|
|
3086
|
-
i: void 0
|
|
3087
|
-
n: void 0
|
|
3180
|
+
i: void 0
|
|
3088
3181
|
});
|
|
3089
3182
|
return _el$;
|
|
3090
3183
|
})();
|
|
@@ -3195,7 +3288,7 @@ var NotificationListSkeleton = (props) => {
|
|
|
3195
3288
|
|
|
3196
3289
|
// src/ui/components/Notification/NotificationList.tsx
|
|
3197
3290
|
var _tmpl$50 = /* @__PURE__ */ web.template(`<div><p data-localization=notifications.emptyNotice>`);
|
|
3198
|
-
var _tmpl$
|
|
3291
|
+
var _tmpl$215 = /* @__PURE__ */ web.template(`<div>`);
|
|
3199
3292
|
var _tmpl$312 = /* @__PURE__ */ web.template(`<div><div>`);
|
|
3200
3293
|
var EmptyNotificationList = () => {
|
|
3201
3294
|
const style = useStyle();
|
|
@@ -3224,7 +3317,7 @@ var EmptyNotificationList = () => {
|
|
|
3224
3317
|
};
|
|
3225
3318
|
var NotificationList = (props) => {
|
|
3226
3319
|
var _a, _b;
|
|
3227
|
-
const options = solidJs.createMemo(() =>
|
|
3320
|
+
const options = solidJs.createMemo(() => chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, props.filter), {
|
|
3228
3321
|
limit: props.limit
|
|
3229
3322
|
}));
|
|
3230
3323
|
const style = useStyle();
|
|
@@ -3253,7 +3346,7 @@ var NotificationList = (props) => {
|
|
|
3253
3346
|
solidJs.createEffect(() => {
|
|
3254
3347
|
setLimit(props.limit || DEFAULT_LIMIT);
|
|
3255
3348
|
});
|
|
3256
|
-
const handleOnNewMessagesClick = (e) =>
|
|
3349
|
+
const handleOnNewMessagesClick = (e) => chunkD7P7KCZI_js.__async(void 0, null, function* () {
|
|
3257
3350
|
e.stopPropagation();
|
|
3258
3351
|
resetNewMessagesCount();
|
|
3259
3352
|
refetch({
|
|
@@ -3321,7 +3414,7 @@ var NotificationList = (props) => {
|
|
|
3321
3414
|
return !end();
|
|
3322
3415
|
},
|
|
3323
3416
|
get children() {
|
|
3324
|
-
var _el$5 = _tmpl$
|
|
3417
|
+
var _el$5 = _tmpl$215();
|
|
3325
3418
|
web.use(setEl, _el$5);
|
|
3326
3419
|
web.insert(_el$5, web.createComponent(solidJs.For, {
|
|
3327
3420
|
get each() {
|
|
@@ -3487,7 +3580,7 @@ var InboxTabs = (props) => {
|
|
|
3487
3580
|
tags: tab.value
|
|
3488
3581
|
}))
|
|
3489
3582
|
});
|
|
3490
|
-
const options = solidJs.createMemo(() => dropdownTabs().map((tab) =>
|
|
3583
|
+
const options = solidJs.createMemo(() => dropdownTabs().map((tab) => chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, tab), {
|
|
3491
3584
|
rightIcon: tab.label === activeTab() ? web.createComponent(Check, {
|
|
3492
3585
|
get ["class"]() {
|
|
3493
3586
|
return style("moreTabs__dropdownItemRight__icon");
|
|
@@ -3604,7 +3697,7 @@ var InboxTabs = (props) => {
|
|
|
3604
3697
|
return props.onSecondaryActionClick;
|
|
3605
3698
|
},
|
|
3606
3699
|
get filter() {
|
|
3607
|
-
return
|
|
3700
|
+
return chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, filter()), {
|
|
3608
3701
|
tags: tab.value
|
|
3609
3702
|
});
|
|
3610
3703
|
}
|
|
@@ -3881,27 +3974,27 @@ var Renderer = (props) => {
|
|
|
3881
3974
|
}
|
|
3882
3975
|
});
|
|
3883
3976
|
};
|
|
3884
|
-
var version = "2.1.
|
|
3977
|
+
var version = "2.1.1";
|
|
3885
3978
|
var cssHref = `https://cdn.jsdelivr.net/npm/@novu/js@${version}/dist/index.css`;
|
|
3886
3979
|
var _dispose, _rootElement, _mountedElements, _setMountedElements, _appearance, _setAppearance, _localization, _setLocalization, _options, _setOptions, _tabs, _setTabs, _routerPush, _setRouterPush, _predefinedNovu, _NovuUI_instances, mountComponentRenderer_fn, updateComponentProps_fn;
|
|
3887
3980
|
var NovuUI = class {
|
|
3888
3981
|
constructor(props) {
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
|
|
3896
|
-
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
|
|
3900
|
-
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3982
|
+
chunkD7P7KCZI_js.__privateAdd(this, _NovuUI_instances);
|
|
3983
|
+
chunkD7P7KCZI_js.__privateAdd(this, _dispose, null);
|
|
3984
|
+
chunkD7P7KCZI_js.__privateAdd(this, _rootElement);
|
|
3985
|
+
chunkD7P7KCZI_js.__privateAdd(this, _mountedElements);
|
|
3986
|
+
chunkD7P7KCZI_js.__privateAdd(this, _setMountedElements);
|
|
3987
|
+
chunkD7P7KCZI_js.__privateAdd(this, _appearance);
|
|
3988
|
+
chunkD7P7KCZI_js.__privateAdd(this, _setAppearance);
|
|
3989
|
+
chunkD7P7KCZI_js.__privateAdd(this, _localization);
|
|
3990
|
+
chunkD7P7KCZI_js.__privateAdd(this, _setLocalization);
|
|
3991
|
+
chunkD7P7KCZI_js.__privateAdd(this, _options);
|
|
3992
|
+
chunkD7P7KCZI_js.__privateAdd(this, _setOptions);
|
|
3993
|
+
chunkD7P7KCZI_js.__privateAdd(this, _tabs);
|
|
3994
|
+
chunkD7P7KCZI_js.__privateAdd(this, _setTabs);
|
|
3995
|
+
chunkD7P7KCZI_js.__privateAdd(this, _routerPush);
|
|
3996
|
+
chunkD7P7KCZI_js.__privateAdd(this, _setRouterPush);
|
|
3997
|
+
chunkD7P7KCZI_js.__privateAdd(this, _predefinedNovu);
|
|
3905
3998
|
var _a;
|
|
3906
3999
|
this.id = generateRandomString(16);
|
|
3907
4000
|
const [appearance, setAppearance] = solidJs.createSignal(props.appearance);
|
|
@@ -3910,30 +4003,30 @@ var NovuUI = class {
|
|
|
3910
4003
|
const [mountedElements, setMountedElements] = solidJs.createSignal(/* @__PURE__ */ new Map());
|
|
3911
4004
|
const [tabs, setTabs] = solidJs.createSignal((_a = props.tabs) != null ? _a : []);
|
|
3912
4005
|
const [routerPush, setRouterPush] = solidJs.createSignal(props.routerPush);
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
4006
|
+
chunkD7P7KCZI_js.__privateSet(this, _mountedElements, mountedElements);
|
|
4007
|
+
chunkD7P7KCZI_js.__privateSet(this, _setMountedElements, setMountedElements);
|
|
4008
|
+
chunkD7P7KCZI_js.__privateSet(this, _appearance, appearance);
|
|
4009
|
+
chunkD7P7KCZI_js.__privateSet(this, _setAppearance, setAppearance);
|
|
4010
|
+
chunkD7P7KCZI_js.__privateSet(this, _localization, localization);
|
|
4011
|
+
chunkD7P7KCZI_js.__privateSet(this, _setLocalization, setLocalization);
|
|
4012
|
+
chunkD7P7KCZI_js.__privateSet(this, _options, options);
|
|
4013
|
+
chunkD7P7KCZI_js.__privateSet(this, _setOptions, setOptions);
|
|
4014
|
+
chunkD7P7KCZI_js.__privateSet(this, _tabs, tabs);
|
|
4015
|
+
chunkD7P7KCZI_js.__privateSet(this, _setTabs, setTabs);
|
|
4016
|
+
chunkD7P7KCZI_js.__privateSet(this, _routerPush, routerPush);
|
|
4017
|
+
chunkD7P7KCZI_js.__privateSet(this, _setRouterPush, setRouterPush);
|
|
4018
|
+
chunkD7P7KCZI_js.__privateSet(this, _predefinedNovu, props.novu);
|
|
4019
|
+
chunkD7P7KCZI_js.__privateMethod(this, _NovuUI_instances, mountComponentRenderer_fn).call(this);
|
|
3927
4020
|
}
|
|
3928
4021
|
mountComponent({
|
|
3929
4022
|
name,
|
|
3930
4023
|
element,
|
|
3931
4024
|
props: componentProps
|
|
3932
4025
|
}) {
|
|
3933
|
-
if (
|
|
3934
|
-
return
|
|
4026
|
+
if (chunkD7P7KCZI_js.__privateGet(this, _mountedElements).call(this).has(element)) {
|
|
4027
|
+
return chunkD7P7KCZI_js.__privateMethod(this, _NovuUI_instances, updateComponentProps_fn).call(this, element, componentProps);
|
|
3935
4028
|
}
|
|
3936
|
-
|
|
4029
|
+
chunkD7P7KCZI_js.__privateGet(this, _setMountedElements).call(this, (oldNodes) => {
|
|
3937
4030
|
const newNodes = new Map(oldNodes);
|
|
3938
4031
|
newNodes.set(element, {
|
|
3939
4032
|
name,
|
|
@@ -3943,32 +4036,32 @@ var NovuUI = class {
|
|
|
3943
4036
|
});
|
|
3944
4037
|
}
|
|
3945
4038
|
unmountComponent(element) {
|
|
3946
|
-
|
|
4039
|
+
chunkD7P7KCZI_js.__privateGet(this, _setMountedElements).call(this, (oldMountedElements) => {
|
|
3947
4040
|
const newMountedElements = new Map(oldMountedElements);
|
|
3948
4041
|
newMountedElements.delete(element);
|
|
3949
4042
|
return newMountedElements;
|
|
3950
4043
|
});
|
|
3951
4044
|
}
|
|
3952
4045
|
updateAppearance(appearance) {
|
|
3953
|
-
|
|
4046
|
+
chunkD7P7KCZI_js.__privateGet(this, _setAppearance).call(this, appearance);
|
|
3954
4047
|
}
|
|
3955
4048
|
updateLocalization(localization) {
|
|
3956
|
-
|
|
4049
|
+
chunkD7P7KCZI_js.__privateGet(this, _setLocalization).call(this, localization);
|
|
3957
4050
|
}
|
|
3958
4051
|
updateOptions(options) {
|
|
3959
|
-
|
|
4052
|
+
chunkD7P7KCZI_js.__privateGet(this, _setOptions).call(this, options);
|
|
3960
4053
|
}
|
|
3961
4054
|
updateTabs(tabs) {
|
|
3962
|
-
|
|
4055
|
+
chunkD7P7KCZI_js.__privateGet(this, _setTabs).call(this, tabs != null ? tabs : []);
|
|
3963
4056
|
}
|
|
3964
4057
|
updateRouterPush(routerPush) {
|
|
3965
|
-
|
|
4058
|
+
chunkD7P7KCZI_js.__privateGet(this, _setRouterPush).call(this, () => routerPush);
|
|
3966
4059
|
}
|
|
3967
4060
|
unmount() {
|
|
3968
4061
|
var _a, _b;
|
|
3969
|
-
(_a =
|
|
3970
|
-
|
|
3971
|
-
(_b =
|
|
4062
|
+
(_a = chunkD7P7KCZI_js.__privateGet(this, _dispose)) == null ? void 0 : _a.call(this);
|
|
4063
|
+
chunkD7P7KCZI_js.__privateSet(this, _dispose, null);
|
|
4064
|
+
(_b = chunkD7P7KCZI_js.__privateGet(this, _rootElement)) == null ? void 0 : _b.remove();
|
|
3972
4065
|
}
|
|
3973
4066
|
};
|
|
3974
4067
|
_dispose = new WeakMap();
|
|
@@ -3988,12 +4081,12 @@ _setRouterPush = new WeakMap();
|
|
|
3988
4081
|
_predefinedNovu = new WeakMap();
|
|
3989
4082
|
_NovuUI_instances = new WeakSet();
|
|
3990
4083
|
mountComponentRenderer_fn = function() {
|
|
3991
|
-
if (
|
|
4084
|
+
if (chunkD7P7KCZI_js.__privateGet(this, _dispose) !== null) {
|
|
3992
4085
|
return;
|
|
3993
4086
|
}
|
|
3994
|
-
|
|
3995
|
-
|
|
3996
|
-
document.body.appendChild(
|
|
4087
|
+
chunkD7P7KCZI_js.__privateSet(this, _rootElement, document.createElement("div"));
|
|
4088
|
+
chunkD7P7KCZI_js.__privateGet(this, _rootElement).setAttribute("id", `novu-ui-${this.id}`);
|
|
4089
|
+
document.body.appendChild(chunkD7P7KCZI_js.__privateGet(this, _rootElement));
|
|
3997
4090
|
const dispose = web.render(() => {
|
|
3998
4091
|
const _self$ = this;
|
|
3999
4092
|
return web.createComponent(Renderer, {
|
|
@@ -4001,41 +4094,41 @@ mountComponentRenderer_fn = function() {
|
|
|
4001
4094
|
novuUI: _self$,
|
|
4002
4095
|
get nodes() {
|
|
4003
4096
|
var _a;
|
|
4004
|
-
return
|
|
4097
|
+
return chunkD7P7KCZI_js.__privateGet(_a = _self$, _mountedElements).call(_a);
|
|
4005
4098
|
},
|
|
4006
4099
|
get options() {
|
|
4007
4100
|
var _a;
|
|
4008
|
-
return
|
|
4101
|
+
return chunkD7P7KCZI_js.__privateGet(_a = _self$, _options).call(_a);
|
|
4009
4102
|
},
|
|
4010
4103
|
get appearance() {
|
|
4011
4104
|
var _a;
|
|
4012
|
-
return
|
|
4105
|
+
return chunkD7P7KCZI_js.__privateGet(_a = _self$, _appearance).call(_a);
|
|
4013
4106
|
},
|
|
4014
4107
|
get localization() {
|
|
4015
4108
|
var _a;
|
|
4016
|
-
return
|
|
4109
|
+
return chunkD7P7KCZI_js.__privateGet(_a = _self$, _localization).call(_a);
|
|
4017
4110
|
},
|
|
4018
4111
|
get tabs() {
|
|
4019
4112
|
var _a;
|
|
4020
|
-
return
|
|
4113
|
+
return chunkD7P7KCZI_js.__privateGet(_a = _self$, _tabs).call(_a);
|
|
4021
4114
|
},
|
|
4022
4115
|
get routerPush() {
|
|
4023
4116
|
var _a;
|
|
4024
|
-
return
|
|
4117
|
+
return chunkD7P7KCZI_js.__privateGet(_a = _self$, _routerPush).call(_a);
|
|
4025
4118
|
},
|
|
4026
4119
|
get novu() {
|
|
4027
|
-
return
|
|
4120
|
+
return chunkD7P7KCZI_js.__privateGet(_self$, _predefinedNovu);
|
|
4028
4121
|
}
|
|
4029
4122
|
});
|
|
4030
|
-
},
|
|
4031
|
-
|
|
4123
|
+
}, chunkD7P7KCZI_js.__privateGet(this, _rootElement));
|
|
4124
|
+
chunkD7P7KCZI_js.__privateSet(this, _dispose, dispose);
|
|
4032
4125
|
};
|
|
4033
4126
|
updateComponentProps_fn = function(element, props) {
|
|
4034
|
-
|
|
4127
|
+
chunkD7P7KCZI_js.__privateGet(this, _setMountedElements).call(this, (oldMountedElements) => {
|
|
4035
4128
|
const newMountedElements = new Map(oldMountedElements);
|
|
4036
4129
|
const mountedElement = newMountedElements.get(element);
|
|
4037
4130
|
if (mountedElement) {
|
|
4038
|
-
newMountedElements.set(element,
|
|
4131
|
+
newMountedElements.set(element, chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, mountedElement), {
|
|
4039
4132
|
props
|
|
4040
4133
|
}));
|
|
4041
4134
|
}
|