@novu/js 2.0.0-canary.1 → 2.0.0-canary.2
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-2C4L4ZUQ.cjs → chunk-NEEKTCEQ.cjs} +17 -5
- package/dist/cjs/index.cjs +12 -12
- package/dist/cjs/ui/index.cjs +284 -217
- package/dist/esm/{chunk-Y6CIZNAK.mjs → chunk-YOLQVRKF.mjs} +17 -5
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/ui/index.mjs +208 -141
- package/dist/index.css +1 -1
- package/dist/novu.min.js +7 -7
- package/dist/novu.min.js.gz +0 -0
- package/dist/types/base-module.d.ts +0 -2
- package/dist/types/base-module.d.ts.map +1 -1
- package/dist/types/notifications/notification.d.ts +1 -0
- package/dist/types/notifications/notification.d.ts.map +1 -1
- package/dist/types/types.d.ts +9 -5
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/ui/components/ExternalElementRenderer.d.ts +7 -0
- package/dist/types/ui/components/ExternalElementRenderer.d.ts.map +1 -0
- package/dist/types/ui/components/Inbox.d.ts +4 -4
- package/dist/types/ui/components/Inbox.d.ts.map +1 -1
- package/dist/types/ui/components/InboxTabs/InboxTabs.d.ts +5 -1
- package/dist/types/ui/components/InboxTabs/InboxTabs.d.ts.map +1 -1
- package/dist/types/ui/components/Notification/DefaultNotification.d.ts.map +1 -1
- package/dist/types/ui/components/Notification/NewMessagesCta.d.ts.map +1 -1
- package/dist/types/ui/components/Notification/Notification.d.ts +2 -2
- package/dist/types/ui/components/Notification/Notification.d.ts.map +1 -1
- package/dist/types/ui/components/Notification/NotificationList.d.ts +2 -2
- package/dist/types/ui/components/Notification/NotificationList.d.ts.map +1 -1
- package/dist/types/ui/components/Renderer.d.ts +1 -1
- package/dist/types/ui/components/elements/Bell/Bell.d.ts +2 -2
- package/dist/types/ui/components/elements/Bell/Bell.d.ts.map +1 -1
- package/dist/types/ui/components/elements/Header/MoreActionsOptions.d.ts +2 -1
- package/dist/types/ui/components/elements/Header/MoreActionsOptions.d.ts.map +1 -1
- package/dist/types/ui/components/elements/Header/PreferencesHeader.d.ts.map +1 -1
- package/dist/types/ui/components/elements/InboxStatus/InboxStatusDropdown.d.ts.map +1 -1
- package/dist/types/ui/components/elements/InboxStatus/InboxStatusOptions.d.ts +2 -1
- package/dist/types/ui/components/elements/InboxStatus/InboxStatusOptions.d.ts.map +1 -1
- package/dist/types/ui/components/elements/InboxStatus/constants.d.ts +7 -7
- package/dist/types/ui/components/elements/Preferences/Preferences.d.ts.map +1 -1
- package/dist/types/ui/config/defaultLocalization.d.ts +11 -10
- package/dist/types/ui/config/defaultLocalization.d.ts.map +1 -1
- package/dist/types/ui/context/LocalizationContext.d.ts +12 -4
- package/dist/types/ui/context/LocalizationContext.d.ts.map +1 -1
- package/dist/types/ui/helpers/constants.d.ts +2 -0
- package/dist/types/ui/helpers/constants.d.ts.map +1 -1
- package/dist/types/ui/helpers/index.d.ts +1 -0
- package/dist/types/ui/helpers/index.d.ts.map +1 -1
- package/dist/types/ui/types.d.ts +7 -7
- package/dist/types/ui/types.d.ts.map +1 -1
- package/dist/types/ws/socket.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/types/ui/components/ExternalElementMounter.d.ts +0 -7
- package/dist/types/ui/components/ExternalElementMounter.d.ts.map +0 -1
package/dist/cjs/ui/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkNEEKTCEQ_cjs = require('../chunk-NEEKTCEQ.cjs');
|
|
4
4
|
var web = require('solid-js/web');
|
|
5
5
|
var solidJs = require('solid-js');
|
|
6
6
|
var store = require('solid-js/store');
|
|
@@ -28,30 +28,29 @@ var defaultVariables = {
|
|
|
28
28
|
fontSize: "inherit",
|
|
29
29
|
borderRadius: "0.375rem"
|
|
30
30
|
};
|
|
31
|
-
|
|
32
|
-
// src/ui/config/defaultLocalization.ts
|
|
33
31
|
var defaultLocalization = {
|
|
34
32
|
locale: "en-US",
|
|
35
|
-
"inbox.
|
|
36
|
-
"inbox.
|
|
37
|
-
"inbox.
|
|
38
|
-
"inbox.
|
|
39
|
-
"inbox.
|
|
40
|
-
"inbox.
|
|
33
|
+
"inbox.filters.dropdownOptions.unread": "Unread only",
|
|
34
|
+
"inbox.filters.dropdownOptions.default": "Unread & read",
|
|
35
|
+
"inbox.filters.dropdownOptions.archived": "Archived",
|
|
36
|
+
"inbox.filters.labels.unread": "Unread",
|
|
37
|
+
"inbox.filters.labels.default": "Inbox",
|
|
38
|
+
"inbox.filters.labels.archived": "Archived",
|
|
41
39
|
"notifications.emptyNotice": "No notifications",
|
|
42
40
|
"notifications.actions.readAll": "Mark all as read",
|
|
43
41
|
"notifications.actions.archiveAll": "Archive all",
|
|
44
42
|
"notifications.actions.archiveRead": "Archive read",
|
|
45
43
|
"notifications.newNotifications": ({ notificationCount }) => `${notificationCount > 99 ? "99+" : notificationCount} new ${notificationCount === 1 ? "notification" : "notifications"}`,
|
|
46
|
-
"notification.actions.read.
|
|
47
|
-
"notification.actions.unread.
|
|
48
|
-
"notification.actions.archive.
|
|
49
|
-
"notification.actions.unarchive.
|
|
44
|
+
"notification.actions.read.tooltip": "Mark as read",
|
|
45
|
+
"notification.actions.unread.tooltip": "Mark as unread",
|
|
46
|
+
"notification.actions.archive.tooltip": "Archive",
|
|
47
|
+
"notification.actions.unarchive.tooltip": "Unarchive",
|
|
50
48
|
"preferences.title": "Notification Preferences",
|
|
51
49
|
"preferences.global": "Global Preferences",
|
|
52
50
|
"preferences.workflow.disabled.notice": "Contact admin to enable subscription management for this critical notification.",
|
|
53
51
|
"preferences.workflow.disabled.tooltip": "Contact admin to edit"
|
|
54
52
|
};
|
|
53
|
+
var [dynamicLocalization, setDynamicLocalization] = solidJs.createSignal({});
|
|
55
54
|
|
|
56
55
|
// src/ui/config/appearanceKeys.ts
|
|
57
56
|
var appearanceKeys = [
|
|
@@ -222,7 +221,7 @@ function createInfiniteScroll(fetcher) {
|
|
|
222
221
|
setData(content.data);
|
|
223
222
|
});
|
|
224
223
|
});
|
|
225
|
-
const reset = () =>
|
|
224
|
+
const reset = () => chunkNEEKTCEQ_cjs.__async(this, null, function* () {
|
|
226
225
|
setData([]);
|
|
227
226
|
setInitialLoading(true);
|
|
228
227
|
setEnd(false);
|
|
@@ -433,6 +432,10 @@ function useUncontrolledState(props) {
|
|
|
433
432
|
return [uncontrolledValue, setUncontrolledValue];
|
|
434
433
|
}
|
|
435
434
|
|
|
435
|
+
// src/ui/helpers/constants.ts
|
|
436
|
+
var DEFAULT_TARGET = "_blank";
|
|
437
|
+
var DEFAULT_REFERRER = "noopener noreferrer";
|
|
438
|
+
|
|
436
439
|
// src/ui/context/AppearanceContext.tsx
|
|
437
440
|
var AppearanceContext = solidJs.createContext(void 0);
|
|
438
441
|
var AppearanceProvider = (props) => {
|
|
@@ -469,8 +472,8 @@ var AppearanceProvider = (props) => {
|
|
|
469
472
|
if (!styleEl) {
|
|
470
473
|
return;
|
|
471
474
|
}
|
|
472
|
-
const baseVariables =
|
|
473
|
-
setVariableRules(parseVariables(
|
|
475
|
+
const baseVariables = chunkNEEKTCEQ_cjs.__spreadValues(chunkNEEKTCEQ_cjs.__spreadValues({}, defaultVariables), themes().reduce((acc, obj) => chunkNEEKTCEQ_cjs.__spreadValues(chunkNEEKTCEQ_cjs.__spreadValues({}, acc), obj.variables || {}), {}));
|
|
476
|
+
setVariableRules(parseVariables(chunkNEEKTCEQ_cjs.__spreadValues(chunkNEEKTCEQ_cjs.__spreadValues({}, baseVariables), ((_a = props.appearance) == null ? void 0 : _a.variables) || {}), props.id));
|
|
474
477
|
});
|
|
475
478
|
solidJs.createEffect(() => {
|
|
476
479
|
var _a;
|
|
@@ -478,9 +481,9 @@ var AppearanceProvider = (props) => {
|
|
|
478
481
|
if (!styleEl) {
|
|
479
482
|
return;
|
|
480
483
|
}
|
|
481
|
-
const baseElements = themes().reduce((acc, obj) =>
|
|
482
|
-
const elementsStyleData = parseElements(
|
|
483
|
-
setStore("appearanceKeyToCssInJsClass", (obj) =>
|
|
484
|
+
const baseElements = themes().reduce((acc, obj) => chunkNEEKTCEQ_cjs.__spreadValues(chunkNEEKTCEQ_cjs.__spreadValues({}, acc), obj.elements || {}), {});
|
|
485
|
+
const elementsStyleData = parseElements(chunkNEEKTCEQ_cjs.__spreadValues(chunkNEEKTCEQ_cjs.__spreadValues({}, baseElements), ((_a = props.appearance) == null ? void 0 : _a.elements) || {}));
|
|
486
|
+
setStore("appearanceKeyToCssInJsClass", (obj) => chunkNEEKTCEQ_cjs.__spreadValues(chunkNEEKTCEQ_cjs.__spreadValues({}, obj), elementsStyleData.reduce((acc, item) => {
|
|
484
487
|
acc[item.key] = item.className;
|
|
485
488
|
return acc;
|
|
486
489
|
}, {})));
|
|
@@ -588,6 +591,41 @@ var useWebSocketEvent = ({
|
|
|
588
591
|
});
|
|
589
592
|
});
|
|
590
593
|
};
|
|
594
|
+
var LocalizationContext = solidJs.createContext(void 0);
|
|
595
|
+
var LocalizationProvider = (props) => {
|
|
596
|
+
const localization = solidJs.createMemo(() => {
|
|
597
|
+
const _a = props.localization || {}, {
|
|
598
|
+
dynamic
|
|
599
|
+
} = _a, localizationObject = chunkNEEKTCEQ_cjs.__objRest(_a, [
|
|
600
|
+
"dynamic"
|
|
601
|
+
]);
|
|
602
|
+
return chunkNEEKTCEQ_cjs.__spreadValues(chunkNEEKTCEQ_cjs.__spreadValues(chunkNEEKTCEQ_cjs.__spreadValues(chunkNEEKTCEQ_cjs.__spreadValues({}, defaultLocalization), dynamicLocalization()), dynamic || {}), localizationObject);
|
|
603
|
+
});
|
|
604
|
+
const t = (key, ...args) => {
|
|
605
|
+
const value = localization()[key];
|
|
606
|
+
if (typeof value === "function") {
|
|
607
|
+
return value(args[0]);
|
|
608
|
+
}
|
|
609
|
+
return value;
|
|
610
|
+
};
|
|
611
|
+
const locale = solidJs.createMemo(() => localization().locale);
|
|
612
|
+
return web.createComponent(LocalizationContext.Provider, {
|
|
613
|
+
value: {
|
|
614
|
+
t,
|
|
615
|
+
locale
|
|
616
|
+
},
|
|
617
|
+
get children() {
|
|
618
|
+
return props.children;
|
|
619
|
+
}
|
|
620
|
+
});
|
|
621
|
+
};
|
|
622
|
+
function useLocalization() {
|
|
623
|
+
const context = solidJs.useContext(LocalizationContext);
|
|
624
|
+
if (!context) {
|
|
625
|
+
throw new Error("useLocalization must be used within an LocalizationProvider");
|
|
626
|
+
}
|
|
627
|
+
return context;
|
|
628
|
+
}
|
|
591
629
|
|
|
592
630
|
// src/ui/types.ts
|
|
593
631
|
var NotificationStatus = /* @__PURE__ */ ((NotificationStatus2) => {
|
|
@@ -615,12 +653,12 @@ var InboxProvider = (props) => {
|
|
|
615
653
|
const [tabs, setTabs] = solidJs.createSignal(props.tabs);
|
|
616
654
|
const [activeTab, setActiveTab] = solidJs.createSignal((_a = props.tabs[0] && props.tabs[0].label) != null ? _a : "");
|
|
617
655
|
const [status, setStatus] = solidJs.createSignal("unreadRead" /* UNREAD_READ */);
|
|
618
|
-
const [filter, setFilter] = solidJs.createSignal(
|
|
656
|
+
const [filter, setFilter] = solidJs.createSignal(chunkNEEKTCEQ_cjs.__spreadProps(chunkNEEKTCEQ_cjs.__spreadValues({}, STATUS_TO_FILTER["unreadRead" /* UNREAD_READ */]), {
|
|
619
657
|
tags: props.tabs.length > 0 ? props.tabs[0].value : []
|
|
620
658
|
}));
|
|
621
659
|
const setNewStatus = (newStatus) => {
|
|
622
660
|
setStatus(newStatus);
|
|
623
|
-
setFilter((old) =>
|
|
661
|
+
setFilter((old) => chunkNEEKTCEQ_cjs.__spreadProps(chunkNEEKTCEQ_cjs.__spreadValues({}, STATUS_TO_FILTER[newStatus]), {
|
|
624
662
|
tags: old.tags
|
|
625
663
|
}));
|
|
626
664
|
};
|
|
@@ -631,7 +669,7 @@ var InboxProvider = (props) => {
|
|
|
631
669
|
return;
|
|
632
670
|
}
|
|
633
671
|
setActiveTab(newActiveTab);
|
|
634
|
-
setFilter((old) =>
|
|
672
|
+
setFilter((old) => chunkNEEKTCEQ_cjs.__spreadProps(chunkNEEKTCEQ_cjs.__spreadValues({}, old), {
|
|
635
673
|
tags
|
|
636
674
|
}));
|
|
637
675
|
};
|
|
@@ -642,7 +680,7 @@ var InboxProvider = (props) => {
|
|
|
642
680
|
setActiveTab((_a2 = firstTab == null ? void 0 : firstTab.label) != null ? _a2 : "");
|
|
643
681
|
setFilter((old) => {
|
|
644
682
|
var _a3;
|
|
645
|
-
return
|
|
683
|
+
return chunkNEEKTCEQ_cjs.__spreadProps(chunkNEEKTCEQ_cjs.__spreadValues({}, old), {
|
|
646
684
|
tags: (_a3 = firstTab == null ? void 0 : firstTab.value) != null ? _a3 : []
|
|
647
685
|
});
|
|
648
686
|
});
|
|
@@ -670,7 +708,7 @@ var useInboxContext = () => {
|
|
|
670
708
|
};
|
|
671
709
|
var NovuContext = solidJs.createContext(void 0);
|
|
672
710
|
function NovuProvider(props) {
|
|
673
|
-
const novu = solidJs.createMemo(() => new
|
|
711
|
+
const novu = solidJs.createMemo(() => new chunkNEEKTCEQ_cjs.Novu(props.options));
|
|
674
712
|
return web.createComponent(NovuContext.Provider, {
|
|
675
713
|
get value() {
|
|
676
714
|
return novu();
|
|
@@ -698,7 +736,7 @@ var CountProvider = (props) => {
|
|
|
698
736
|
const [totalUnreadCount, setTotalUnreadCount] = solidJs.createSignal(0);
|
|
699
737
|
const [unreadCounts, setUnreadCounts] = solidJs.createSignal(/* @__PURE__ */ new Map());
|
|
700
738
|
const [newNotificationCounts, setNewNotificationCounts] = solidJs.createSignal(/* @__PURE__ */ new Map());
|
|
701
|
-
const updateTabCounts = () =>
|
|
739
|
+
const updateTabCounts = () => chunkNEEKTCEQ_cjs.__async(void 0, null, function* () {
|
|
702
740
|
if (tabs().length === 0) {
|
|
703
741
|
return;
|
|
704
742
|
}
|
|
@@ -746,7 +784,7 @@ var CountProvider = (props) => {
|
|
|
746
784
|
});
|
|
747
785
|
useWebSocketEvent({
|
|
748
786
|
event: "notifications.notification_received",
|
|
749
|
-
eventHandler: (data) =>
|
|
787
|
+
eventHandler: (data) => chunkNEEKTCEQ_cjs.__async(void 0, null, function* () {
|
|
750
788
|
var _a;
|
|
751
789
|
const notification = data.result;
|
|
752
790
|
const allTabs = tabs();
|
|
@@ -917,44 +955,16 @@ function useFocusManager() {
|
|
|
917
955
|
}
|
|
918
956
|
return context;
|
|
919
957
|
}
|
|
920
|
-
var LocalizationContext = solidJs.createContext(void 0);
|
|
921
|
-
var LocalizationProvider = (props) => {
|
|
922
|
-
const localization = solidJs.createMemo(() => chunk2C4L4ZUQ_cjs.__spreadValues(chunk2C4L4ZUQ_cjs.__spreadValues({}, defaultLocalization), props.localization || {}));
|
|
923
|
-
const t = (key, ...args) => {
|
|
924
|
-
const value = localization()[key];
|
|
925
|
-
if (typeof value === "function") {
|
|
926
|
-
return value(args[0]);
|
|
927
|
-
}
|
|
928
|
-
return value;
|
|
929
|
-
};
|
|
930
|
-
const locale = solidJs.createMemo(() => localization().locale);
|
|
931
|
-
return web.createComponent(LocalizationContext.Provider, {
|
|
932
|
-
value: {
|
|
933
|
-
t,
|
|
934
|
-
locale
|
|
935
|
-
},
|
|
936
|
-
get children() {
|
|
937
|
-
return props.children;
|
|
938
|
-
}
|
|
939
|
-
});
|
|
940
|
-
};
|
|
941
|
-
function useLocalization() {
|
|
942
|
-
const context = solidJs.useContext(LocalizationContext);
|
|
943
|
-
if (!context) {
|
|
944
|
-
throw new Error("useLocalization must be used within an LocalizationProvider");
|
|
945
|
-
}
|
|
946
|
-
return context;
|
|
947
|
-
}
|
|
948
958
|
var _tmpl$ = /* @__PURE__ */ web.template(`<div>`);
|
|
949
|
-
var
|
|
959
|
+
var ExternalElementRenderer = (_a) => {
|
|
950
960
|
var _b = _a, {
|
|
951
|
-
|
|
952
|
-
} = _b, rest =
|
|
953
|
-
"
|
|
961
|
+
render: render2
|
|
962
|
+
} = _b, rest = chunkNEEKTCEQ_cjs.__objRest(_b, [
|
|
963
|
+
"render"
|
|
954
964
|
]);
|
|
955
965
|
let ref;
|
|
956
|
-
solidJs.
|
|
957
|
-
const unmount =
|
|
966
|
+
solidJs.createEffect(() => {
|
|
967
|
+
const unmount = render2(ref);
|
|
958
968
|
solidJs.onCleanup(() => {
|
|
959
969
|
unmount();
|
|
960
970
|
});
|
|
@@ -1150,7 +1160,7 @@ var Bell = (props) => {
|
|
|
1150
1160
|
} = useTotalUnreadCount();
|
|
1151
1161
|
return web.createComponent(solidJs.Show, {
|
|
1152
1162
|
get when() {
|
|
1153
|
-
return props.
|
|
1163
|
+
return props.renderBell;
|
|
1154
1164
|
},
|
|
1155
1165
|
get fallback() {
|
|
1156
1166
|
return web.createComponent(BellContainer, {
|
|
@@ -1160,8 +1170,8 @@ var Bell = (props) => {
|
|
|
1160
1170
|
});
|
|
1161
1171
|
},
|
|
1162
1172
|
get children() {
|
|
1163
|
-
return web.createComponent(
|
|
1164
|
-
|
|
1173
|
+
return web.createComponent(ExternalElementRenderer, {
|
|
1174
|
+
render: (el) => props.renderBell(el, totalUnreadCount())
|
|
1165
1175
|
});
|
|
1166
1176
|
}
|
|
1167
1177
|
});
|
|
@@ -1727,14 +1737,14 @@ var Tabs = {
|
|
|
1727
1737
|
|
|
1728
1738
|
// src/ui/components/elements/InboxStatus/constants.ts
|
|
1729
1739
|
var notificationStatusOptionsLocalizationKeys = {
|
|
1730
|
-
unreadRead: "inbox.
|
|
1731
|
-
unread: "inbox.
|
|
1732
|
-
archived: "inbox.
|
|
1740
|
+
unreadRead: "inbox.filters.dropdownOptions.default",
|
|
1741
|
+
unread: "inbox.filters.dropdownOptions.unread",
|
|
1742
|
+
archived: "inbox.filters.dropdownOptions.archived"
|
|
1733
1743
|
};
|
|
1734
|
-
var
|
|
1735
|
-
unreadRead: "inbox.
|
|
1736
|
-
unread: "inbox.
|
|
1737
|
-
archived: "inbox.
|
|
1744
|
+
var inboxFilterLocalizationKeys = {
|
|
1745
|
+
unreadRead: "inbox.filters.labels.default",
|
|
1746
|
+
unread: "inbox.filters.labels.unread",
|
|
1747
|
+
archived: "inbox.filters.labels.archived"
|
|
1738
1748
|
};
|
|
1739
1749
|
var _tmpl$31 = /* @__PURE__ */ web.template(`<span><span></span><span>`);
|
|
1740
1750
|
var _tmpl$210 = /* @__PURE__ */ web.template(`<span>`);
|
|
@@ -1749,14 +1759,11 @@ var cases = [{
|
|
|
1749
1759
|
icon: Archive
|
|
1750
1760
|
}];
|
|
1751
1761
|
var StatusOptions = (props) => {
|
|
1752
|
-
const {
|
|
1753
|
-
t
|
|
1754
|
-
} = useLocalization();
|
|
1755
1762
|
return web.createComponent(solidJs.For, {
|
|
1756
1763
|
each: cases,
|
|
1757
1764
|
children: (c) => web.createComponent(StatusItem, {
|
|
1758
|
-
get
|
|
1759
|
-
return
|
|
1765
|
+
get localizationKey() {
|
|
1766
|
+
return notificationStatusOptionsLocalizationKeys[c.status];
|
|
1760
1767
|
},
|
|
1761
1768
|
onClick: () => {
|
|
1762
1769
|
props.setStatus(c.status);
|
|
@@ -1772,6 +1779,9 @@ var StatusOptions = (props) => {
|
|
|
1772
1779
|
};
|
|
1773
1780
|
var StatusItem = (props) => {
|
|
1774
1781
|
const style = useStyle();
|
|
1782
|
+
const {
|
|
1783
|
+
t
|
|
1784
|
+
} = useLocalization();
|
|
1775
1785
|
return web.createComponent(Dropdown.Item, {
|
|
1776
1786
|
get ["class"]() {
|
|
1777
1787
|
return style("inboxStatus__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-8 nt-justify-between"));
|
|
@@ -1783,17 +1793,19 @@ var StatusItem = (props) => {
|
|
|
1783
1793
|
return [(() => {
|
|
1784
1794
|
var _el$ = _tmpl$31(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
|
|
1785
1795
|
web.insert(_el$2, () => props.icon());
|
|
1786
|
-
web.insert(_el$3, () => props.
|
|
1796
|
+
web.insert(_el$3, () => t(props.localizationKey));
|
|
1787
1797
|
web.effect((_p$) => {
|
|
1788
|
-
var _v$ = style("inboxStatus__dropdownItemLabelContainer", "nt-flex nt-gap-2 nt-items-center"), _v$2 = style("inboxStatus__dropdownItemLeft__icon"), _v$3 = style("inboxStatus__dropdownItemLabel");
|
|
1798
|
+
var _v$ = style("inboxStatus__dropdownItemLabelContainer", "nt-flex nt-gap-2 nt-items-center"), _v$2 = style("inboxStatus__dropdownItemLeft__icon"), _v$3 = props.localizationKey, _v$4 = style("inboxStatus__dropdownItemLabel");
|
|
1789
1799
|
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
1790
1800
|
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
1791
|
-
_v$3 !== _p$.a && web.
|
|
1801
|
+
_v$3 !== _p$.a && web.setAttribute(_el$3, "data-localization", _p$.a = _v$3);
|
|
1802
|
+
_v$4 !== _p$.o && web.className(_el$3, _p$.o = _v$4);
|
|
1792
1803
|
return _p$;
|
|
1793
1804
|
}, {
|
|
1794
1805
|
e: void 0,
|
|
1795
1806
|
t: void 0,
|
|
1796
|
-
a: void 0
|
|
1807
|
+
a: void 0,
|
|
1808
|
+
o: void 0
|
|
1797
1809
|
});
|
|
1798
1810
|
return _el$;
|
|
1799
1811
|
})(), web.createComponent(solidJs.Show, {
|
|
@@ -1838,8 +1850,16 @@ var StatusDropdown = () => {
|
|
|
1838
1850
|
get children() {
|
|
1839
1851
|
return [(() => {
|
|
1840
1852
|
var _el$ = _tmpl$32();
|
|
1841
|
-
web.insert(_el$, () => t(
|
|
1842
|
-
web.effect(() =>
|
|
1853
|
+
web.insert(_el$, () => t(inboxFilterLocalizationKeys[status()]));
|
|
1854
|
+
web.effect((_p$) => {
|
|
1855
|
+
var _v$ = inboxFilterLocalizationKeys[status()], _v$2 = style("inboxStatus__title", "nt-text-xl nt-font-semibold");
|
|
1856
|
+
_v$ !== _p$.e && web.setAttribute(_el$, "data-localization", _p$.e = _v$);
|
|
1857
|
+
_v$2 !== _p$.t && web.className(_el$, _p$.t = _v$2);
|
|
1858
|
+
return _p$;
|
|
1859
|
+
}, {
|
|
1860
|
+
e: void 0,
|
|
1861
|
+
t: void 0
|
|
1862
|
+
});
|
|
1843
1863
|
return _el$;
|
|
1844
1864
|
})(), (() => {
|
|
1845
1865
|
var _el$2 = _tmpl$32();
|
|
@@ -1865,15 +1885,15 @@ var StatusDropdown = () => {
|
|
|
1865
1885
|
};
|
|
1866
1886
|
var useNotificationsInfiniteScroll = (props) => {
|
|
1867
1887
|
const novu = useNovu();
|
|
1868
|
-
let filter =
|
|
1869
|
-
const [data, { initialLoading, setEl, end, mutate, reset }] = createInfiniteScroll((offset3) =>
|
|
1888
|
+
let filter = chunkNEEKTCEQ_cjs.__spreadValues({}, props.options());
|
|
1889
|
+
const [data, { initialLoading, setEl, end, mutate, reset }] = createInfiniteScroll((offset3) => chunkNEEKTCEQ_cjs.__async(void 0, null, function* () {
|
|
1870
1890
|
var _a, _b;
|
|
1871
|
-
const { data: data2 } = yield novu.notifications.list(
|
|
1891
|
+
const { data: data2 } = yield novu.notifications.list(chunkNEEKTCEQ_cjs.__spreadProps(chunkNEEKTCEQ_cjs.__spreadValues({}, props.options() || {}), { offset: offset3 }));
|
|
1872
1892
|
return { data: (_a = data2 == null ? void 0 : data2.notifications) != null ? _a : [], hasMore: (_b = data2 == null ? void 0 : data2.hasMore) != null ? _b : false };
|
|
1873
1893
|
}));
|
|
1874
1894
|
solidJs.onMount(() => {
|
|
1875
1895
|
const listener = ({ data: data2 }) => {
|
|
1876
|
-
if (!data2 || !
|
|
1896
|
+
if (!data2 || !chunkNEEKTCEQ_cjs.isSameFilter(filter, data2.filter)) {
|
|
1877
1897
|
return;
|
|
1878
1898
|
}
|
|
1879
1899
|
mutate({ data: data2.notifications, hasMore: data2.hasMore });
|
|
@@ -1882,8 +1902,8 @@ var useNotificationsInfiniteScroll = (props) => {
|
|
|
1882
1902
|
solidJs.onCleanup(() => novu.off("notifications.list.updated", listener));
|
|
1883
1903
|
});
|
|
1884
1904
|
solidJs.createEffect(() => {
|
|
1885
|
-
const newFilter =
|
|
1886
|
-
if (
|
|
1905
|
+
const newFilter = chunkNEEKTCEQ_cjs.__spreadValues({}, props.options());
|
|
1906
|
+
if (chunkNEEKTCEQ_cjs.isSameFilter(filter, newFilter)) {
|
|
1887
1907
|
return;
|
|
1888
1908
|
}
|
|
1889
1909
|
novu.notifications.clearCache();
|
|
@@ -1899,7 +1919,7 @@ var useNotificationsInfiniteScroll = (props) => {
|
|
|
1899
1919
|
var usePreferences = (options) => {
|
|
1900
1920
|
const novu = useNovu();
|
|
1901
1921
|
const [loading, setLoading] = createDelayedLoading(true, 300);
|
|
1902
|
-
const [preferences, { mutate, refetch }] = solidJs.createResource(options || {}, () =>
|
|
1922
|
+
const [preferences, { mutate, refetch }] = solidJs.createResource(options || {}, () => chunkNEEKTCEQ_cjs.__async(void 0, null, function* () {
|
|
1903
1923
|
try {
|
|
1904
1924
|
const response = yield novu.preferences.list();
|
|
1905
1925
|
return response.data;
|
|
@@ -1917,7 +1937,7 @@ var usePreferences = (options) => {
|
|
|
1917
1937
|
// src/ui/api/hooks/useReadAll.ts
|
|
1918
1938
|
var useReadAll = (props) => {
|
|
1919
1939
|
const novu = useNovu();
|
|
1920
|
-
const readAll = (..._0) =>
|
|
1940
|
+
const readAll = (..._0) => chunkNEEKTCEQ_cjs.__async(void 0, [..._0], function* ({ tags } = {}) {
|
|
1921
1941
|
var _a, _b;
|
|
1922
1942
|
try {
|
|
1923
1943
|
yield novu.notifications.readAll({ tags });
|
|
@@ -1932,7 +1952,7 @@ var useReadAll = (props) => {
|
|
|
1932
1952
|
// src/ui/api/hooks/useArchiveAll.ts
|
|
1933
1953
|
var useArchiveAll = (props) => {
|
|
1934
1954
|
const novu = useNovu();
|
|
1935
|
-
const archiveAll = (..._0) =>
|
|
1955
|
+
const archiveAll = (..._0) => chunkNEEKTCEQ_cjs.__async(void 0, [..._0], function* ({ tags } = {}) {
|
|
1936
1956
|
var _a, _b;
|
|
1937
1957
|
try {
|
|
1938
1958
|
yield novu.notifications.archiveAll({ tags });
|
|
@@ -1947,7 +1967,7 @@ var useArchiveAll = (props) => {
|
|
|
1947
1967
|
// src/ui/api/hooks/useArchiveAllRead.ts
|
|
1948
1968
|
var useArchiveAllRead = (props) => {
|
|
1949
1969
|
const novu = useNovu();
|
|
1950
|
-
const archiveAllRead = (..._0) =>
|
|
1970
|
+
const archiveAllRead = (..._0) => chunkNEEKTCEQ_cjs.__async(void 0, [..._0], function* ({ tags } = {}) {
|
|
1951
1971
|
var _a, _b;
|
|
1952
1972
|
try {
|
|
1953
1973
|
yield novu.notifications.archiveAllRead({ tags });
|
|
@@ -1962,9 +1982,6 @@ var useArchiveAllRead = (props) => {
|
|
|
1962
1982
|
// src/ui/components/elements/Header/MoreActionsOptions.tsx
|
|
1963
1983
|
var _tmpl$33 = /* @__PURE__ */ web.template(`<span>`);
|
|
1964
1984
|
var MoreActionsOptions = () => {
|
|
1965
|
-
const {
|
|
1966
|
-
t
|
|
1967
|
-
} = useLocalization();
|
|
1968
1985
|
const {
|
|
1969
1986
|
filter
|
|
1970
1987
|
} = useInboxContext();
|
|
@@ -1978,25 +1995,19 @@ var MoreActionsOptions = () => {
|
|
|
1978
1995
|
archiveAllRead
|
|
1979
1996
|
} = useArchiveAllRead();
|
|
1980
1997
|
return [web.createComponent(ActionsItem, {
|
|
1981
|
-
|
|
1982
|
-
return t("notifications.actions.readAll");
|
|
1983
|
-
},
|
|
1998
|
+
localizationKey: "notifications.actions.readAll",
|
|
1984
1999
|
onClick: () => readAll({
|
|
1985
2000
|
tags: filter().tags
|
|
1986
2001
|
}),
|
|
1987
2002
|
icon: ReadAll
|
|
1988
2003
|
}), web.createComponent(ActionsItem, {
|
|
1989
|
-
|
|
1990
|
-
return t("notifications.actions.archiveAll");
|
|
1991
|
-
},
|
|
2004
|
+
localizationKey: "notifications.actions.archiveAll",
|
|
1992
2005
|
onClick: () => archiveAll({
|
|
1993
2006
|
tags: filter().tags
|
|
1994
2007
|
}),
|
|
1995
2008
|
icon: Archive
|
|
1996
2009
|
}), web.createComponent(ActionsItem, {
|
|
1997
|
-
|
|
1998
|
-
return t("notifications.actions.archiveRead");
|
|
1999
|
-
},
|
|
2010
|
+
localizationKey: "notifications.actions.archiveRead",
|
|
2000
2011
|
onClick: () => archiveAllRead({
|
|
2001
2012
|
tags: filter().tags
|
|
2002
2013
|
}),
|
|
@@ -2005,6 +2016,9 @@ var MoreActionsOptions = () => {
|
|
|
2005
2016
|
};
|
|
2006
2017
|
var ActionsItem = (props) => {
|
|
2007
2018
|
const style = useStyle();
|
|
2019
|
+
const {
|
|
2020
|
+
t
|
|
2021
|
+
} = useLocalization();
|
|
2008
2022
|
return web.createComponent(Dropdown.Item, {
|
|
2009
2023
|
get ["class"]() {
|
|
2010
2024
|
return style("moreActions__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-2"));
|
|
@@ -2020,8 +2034,16 @@ var ActionsItem = (props) => {
|
|
|
2020
2034
|
return _el$;
|
|
2021
2035
|
})(), (() => {
|
|
2022
2036
|
var _el$2 = _tmpl$33();
|
|
2023
|
-
web.insert(_el$2, () => props.
|
|
2024
|
-
web.effect(() =>
|
|
2037
|
+
web.insert(_el$2, () => t(props.localizationKey));
|
|
2038
|
+
web.effect((_p$) => {
|
|
2039
|
+
var _v$ = props.localizationKey, _v$2 = style("moreActions__dropdownItemLabel");
|
|
2040
|
+
_v$ !== _p$.e && web.setAttribute(_el$2, "data-localization", _p$.e = _v$);
|
|
2041
|
+
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
2042
|
+
return _p$;
|
|
2043
|
+
}, {
|
|
2044
|
+
e: void 0,
|
|
2045
|
+
t: void 0
|
|
2046
|
+
});
|
|
2025
2047
|
return _el$2;
|
|
2026
2048
|
})()];
|
|
2027
2049
|
}
|
|
@@ -2113,7 +2135,7 @@ var Header = (props) => {
|
|
|
2113
2135
|
return _el$;
|
|
2114
2136
|
})();
|
|
2115
2137
|
};
|
|
2116
|
-
var _tmpl$36 = /* @__PURE__ */ web.template(`<div><div>`);
|
|
2138
|
+
var _tmpl$36 = /* @__PURE__ */ web.template(`<div><div data-localization=preferences.title>`);
|
|
2117
2139
|
var _tmpl$211 = /* @__PURE__ */ web.template(`<button>`);
|
|
2118
2140
|
var PreferencesHeader = (props) => {
|
|
2119
2141
|
const style = useStyle();
|
|
@@ -2367,7 +2389,7 @@ var _tmpl$41 = /* @__PURE__ */ web.template(`<div><div><div></div><span></span><
|
|
|
2367
2389
|
var ChannelRow = (props) => {
|
|
2368
2390
|
const novu = useNovu();
|
|
2369
2391
|
const style = useStyle();
|
|
2370
|
-
const updatePreference = (enabled) =>
|
|
2392
|
+
const updatePreference = (enabled) => chunkNEEKTCEQ_cjs.__async(void 0, null, function* () {
|
|
2371
2393
|
if (props.isCritical) {
|
|
2372
2394
|
return;
|
|
2373
2395
|
}
|
|
@@ -2508,12 +2530,10 @@ var LoadingSkeleton = () => {
|
|
|
2508
2530
|
// src/ui/components/elements/Preferences/Preferences.tsx
|
|
2509
2531
|
var _tmpl$44 = /* @__PURE__ */ web.template(`<div>`);
|
|
2510
2532
|
var _tmpl$212 = /* @__PURE__ */ web.template(`<span>`);
|
|
2511
|
-
var _tmpl$310 = /* @__PURE__ */ web.template(`<
|
|
2533
|
+
var _tmpl$310 = /* @__PURE__ */ web.template(`<span data-localization=preferences.workflow.disabled.notice>`);
|
|
2534
|
+
var _tmpl$45 = /* @__PURE__ */ web.template(`<div><div><div><div></div></div><span>`);
|
|
2512
2535
|
var Preferences = () => {
|
|
2513
2536
|
const style = useStyle();
|
|
2514
|
-
const {
|
|
2515
|
-
t
|
|
2516
|
-
} = useLocalization();
|
|
2517
2537
|
const {
|
|
2518
2538
|
preferences,
|
|
2519
2539
|
loading,
|
|
@@ -2528,6 +2548,15 @@ var Preferences = () => {
|
|
|
2528
2548
|
workflowPreferences
|
|
2529
2549
|
};
|
|
2530
2550
|
});
|
|
2551
|
+
solidJs.createEffect(() => {
|
|
2552
|
+
setDynamicLocalization((prev) => {
|
|
2553
|
+
var _a;
|
|
2554
|
+
return chunkNEEKTCEQ_cjs.__spreadValues(chunkNEEKTCEQ_cjs.__spreadValues({}, prev), (_a = allPreferences().workflowPreferences) == null ? void 0 : _a.reduce((acc, preference) => {
|
|
2555
|
+
acc[preference.workflow.identifier] = preference.workflow.name;
|
|
2556
|
+
return acc;
|
|
2557
|
+
}, {}));
|
|
2558
|
+
});
|
|
2559
|
+
});
|
|
2531
2560
|
const optimisticUpdate = ({
|
|
2532
2561
|
channel,
|
|
2533
2562
|
enabled,
|
|
@@ -2557,9 +2586,7 @@ var Preferences = () => {
|
|
|
2557
2586
|
},
|
|
2558
2587
|
get children() {
|
|
2559
2588
|
return [web.createComponent(PreferencesRow, {
|
|
2560
|
-
|
|
2561
|
-
return t("preferences.global");
|
|
2562
|
-
},
|
|
2589
|
+
localizationKey: "preferences.global",
|
|
2563
2590
|
get channels() {
|
|
2564
2591
|
var _a;
|
|
2565
2592
|
return ((_a = allPreferences().globalPreference) == null ? void 0 : _a.channels) || {};
|
|
@@ -2570,9 +2597,8 @@ var Preferences = () => {
|
|
|
2570
2597
|
return allPreferences().workflowPreferences;
|
|
2571
2598
|
},
|
|
2572
2599
|
children: (preference) => web.createComponent(PreferencesRow, {
|
|
2573
|
-
get
|
|
2574
|
-
|
|
2575
|
-
return (_a = preference.workflow) == null ? void 0 : _a.name;
|
|
2600
|
+
get localizationKey() {
|
|
2601
|
+
return preference.workflow.identifier;
|
|
2576
2602
|
},
|
|
2577
2603
|
get channels() {
|
|
2578
2604
|
return preference.channels;
|
|
@@ -2632,7 +2658,7 @@ var PreferencesRow = (props) => {
|
|
|
2632
2658
|
return channels().length > 0;
|
|
2633
2659
|
},
|
|
2634
2660
|
get children() {
|
|
2635
|
-
var _el$4 = _tmpl$
|
|
2661
|
+
var _el$4 = _tmpl$45(), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.firstChild, _el$8 = _el$6.nextSibling;
|
|
2636
2662
|
_el$5.$$click = () => setIsOpen((prev) => !prev);
|
|
2637
2663
|
web.insert(_el$7, web.createComponent(solidJs.Show, {
|
|
2638
2664
|
get when() {
|
|
@@ -2653,6 +2679,7 @@ var PreferencesRow = (props) => {
|
|
|
2653
2679
|
return _el$11;
|
|
2654
2680
|
})()
|
|
2655
2681
|
}), web.createComponent(Tooltip.Content, {
|
|
2682
|
+
"data-localization": "preferences.workflow.disabled.tooltip",
|
|
2656
2683
|
get children() {
|
|
2657
2684
|
return t("preferences.workflow.disabled.tooltip");
|
|
2658
2685
|
}
|
|
@@ -2661,7 +2688,7 @@ var PreferencesRow = (props) => {
|
|
|
2661
2688
|
});
|
|
2662
2689
|
}
|
|
2663
2690
|
}), null);
|
|
2664
|
-
web.insert(_el$7, () => props.
|
|
2691
|
+
web.insert(_el$7, () => t(props.localizationKey), null);
|
|
2665
2692
|
web.insert(_el$6, web.createComponent(ChannelsLabel, {
|
|
2666
2693
|
get channels() {
|
|
2667
2694
|
return props.channels;
|
|
@@ -2683,7 +2710,7 @@ var PreferencesRow = (props) => {
|
|
|
2683
2710
|
return props.isCritical;
|
|
2684
2711
|
},
|
|
2685
2712
|
get children() {
|
|
2686
|
-
var _el$10 = _tmpl$
|
|
2713
|
+
var _el$10 = _tmpl$310();
|
|
2687
2714
|
web.insert(_el$10, () => t("preferences.workflow.disabled.notice"));
|
|
2688
2715
|
web.effect(() => web.className(_el$10, style("workflowContainerDisabledNotice", "nt-text-sm nt-text-foreground-alpha-600 nt-text-start")));
|
|
2689
2716
|
return _el$10;
|
|
@@ -2715,7 +2742,7 @@ var PreferencesRow = (props) => {
|
|
|
2715
2742
|
}), null);
|
|
2716
2743
|
web.effect((_p$) => {
|
|
2717
2744
|
var _v$ = style("workflowContainer", `nt-p-4 nt-flex nt-flex-col nt-gap-1 nt-items-start nt-self-stretch
|
|
2718
|
-
hover:nt-bg-neutral-100 nt-rounded-lg data-[disabled=true]:nt-bg-neutral-alpha-50`), _v$2 = props.isCritical, _v$3 = isOpen(), _v$4 = style("workflowLabelContainer", "nt-flex nt-justify-between nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center"), _v$5 = props.isCritical, _v$6 = isOpen(), _v$7 = style("workflowLabel", "nt-text-base nt-font-semibold nt-text-start nt-flex nt-items-center nt-gap-1"), _v$8 = props.isCritical, _v$9 = isOpen(), _v$
|
|
2745
|
+
hover:nt-bg-neutral-100 nt-rounded-lg data-[disabled=true]:nt-bg-neutral-alpha-50`), _v$2 = props.isCritical, _v$3 = isOpen(), _v$4 = style("workflowLabelContainer", "nt-flex nt-justify-between nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center"), _v$5 = props.isCritical, _v$6 = isOpen(), _v$7 = style("workflowLabel", "nt-text-base nt-font-semibold nt-text-start nt-flex nt-items-center nt-gap-1"), _v$8 = props.isCritical, _v$9 = props.localizationKey, _v$10 = isOpen(), _v$11 = style("workflowContainerRight__icon", `nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180`), _v$12 = props.isCritical, _v$13 = isOpen();
|
|
2719
2746
|
_v$ !== _p$.e && web.className(_el$4, _p$.e = _v$);
|
|
2720
2747
|
_v$2 !== _p$.t && web.setAttribute(_el$4, "data-disabled", _p$.t = _v$2);
|
|
2721
2748
|
_v$3 !== _p$.a && web.setAttribute(_el$4, "data-open", _p$.a = _v$3);
|
|
@@ -2724,10 +2751,11 @@ var PreferencesRow = (props) => {
|
|
|
2724
2751
|
_v$6 !== _p$.n && web.setAttribute(_el$5, "data-open", _p$.n = _v$6);
|
|
2725
2752
|
_v$7 !== _p$.s && web.className(_el$7, _p$.s = _v$7);
|
|
2726
2753
|
_v$8 !== _p$.h && web.setAttribute(_el$7, "data-disabled", _p$.h = _v$8);
|
|
2727
|
-
_v$9 !== _p$.r && web.setAttribute(_el$7, "data-
|
|
2728
|
-
_v$10 !== _p$.d && web.
|
|
2729
|
-
_v$11 !== _p$.l && web.
|
|
2730
|
-
_v$12 !== _p$.u && web.setAttribute(_el$8, "data-
|
|
2754
|
+
_v$9 !== _p$.r && web.setAttribute(_el$7, "data-localization", _p$.r = _v$9);
|
|
2755
|
+
_v$10 !== _p$.d && web.setAttribute(_el$7, "data-open", _p$.d = _v$10);
|
|
2756
|
+
_v$11 !== _p$.l && web.className(_el$8, _p$.l = _v$11);
|
|
2757
|
+
_v$12 !== _p$.u && web.setAttribute(_el$8, "data-disabled", _p$.u = _v$12);
|
|
2758
|
+
_v$13 !== _p$.c && web.setAttribute(_el$8, "data-open", _p$.c = _v$13);
|
|
2731
2759
|
return _p$;
|
|
2732
2760
|
}, {
|
|
2733
2761
|
e: void 0,
|
|
@@ -2741,17 +2769,18 @@ var PreferencesRow = (props) => {
|
|
|
2741
2769
|
r: void 0,
|
|
2742
2770
|
d: void 0,
|
|
2743
2771
|
l: void 0,
|
|
2744
|
-
u: void 0
|
|
2772
|
+
u: void 0,
|
|
2773
|
+
c: void 0
|
|
2745
2774
|
});
|
|
2746
2775
|
return _el$4;
|
|
2747
2776
|
}
|
|
2748
2777
|
});
|
|
2749
2778
|
};
|
|
2750
2779
|
web.delegateEvents(["click"]);
|
|
2751
|
-
var _tmpl$
|
|
2780
|
+
var _tmpl$46 = /* @__PURE__ */ web.template(`<span>`);
|
|
2752
2781
|
var _tmpl$213 = /* @__PURE__ */ web.template(`<img>`);
|
|
2753
2782
|
var _tmpl$311 = /* @__PURE__ */ web.template(`<p>`);
|
|
2754
|
-
var _tmpl$
|
|
2783
|
+
var _tmpl$47 = /* @__PURE__ */ web.template(`<a><div><div class="nt-relative nt-shrink-0 nt-float-right"><p></p><div></div></div><p></p><div>`);
|
|
2755
2784
|
var DefaultNotification = (props) => {
|
|
2756
2785
|
const style = useStyle();
|
|
2757
2786
|
const {
|
|
@@ -2776,7 +2805,7 @@ var DefaultNotification = (props) => {
|
|
|
2776
2805
|
return () => clearInterval(interval);
|
|
2777
2806
|
});
|
|
2778
2807
|
const handleNotificationClick = (e) => {
|
|
2779
|
-
var _a, _b, _c;
|
|
2808
|
+
var _a, _b, _c, _d;
|
|
2780
2809
|
e.stopPropagation();
|
|
2781
2810
|
e.preventDefault();
|
|
2782
2811
|
if (!props.notification.isRead) {
|
|
@@ -2784,29 +2813,38 @@ var DefaultNotification = (props) => {
|
|
|
2784
2813
|
}
|
|
2785
2814
|
(_a = props.onNotificationClick) == null ? void 0 : _a.call(props, props.notification);
|
|
2786
2815
|
if ((_b = props.notification.redirect) == null ? void 0 : _b.url) {
|
|
2787
|
-
|
|
2816
|
+
const target = ((_c = props.notification.redirect) == null ? void 0 : _c.target) || DEFAULT_TARGET;
|
|
2817
|
+
window.open((_d = props.notification.redirect) == null ? void 0 : _d.url, target, DEFAULT_REFERRER);
|
|
2788
2818
|
}
|
|
2789
2819
|
};
|
|
2790
2820
|
const handleActionButtonClick = (action, e) => {
|
|
2791
|
-
var _a, _b;
|
|
2821
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
2792
2822
|
e.stopPropagation();
|
|
2793
2823
|
if (action === "primary" /* PRIMARY */) {
|
|
2794
2824
|
props.notification.completePrimary();
|
|
2795
2825
|
(_a = props.onPrimaryActionClick) == null ? void 0 : _a.call(props, props.notification);
|
|
2826
|
+
if ((_c = (_b = props.notification.primaryAction) == null ? void 0 : _b.redirect) == null ? void 0 : _c.url) {
|
|
2827
|
+
const target = ((_e = (_d = props.notification.primaryAction) == null ? void 0 : _d.redirect) == null ? void 0 : _e.target) || DEFAULT_TARGET;
|
|
2828
|
+
window.open((_g = (_f = props.notification.primaryAction) == null ? void 0 : _f.redirect) == null ? void 0 : _g.url, target, DEFAULT_REFERRER);
|
|
2829
|
+
}
|
|
2796
2830
|
} else {
|
|
2797
2831
|
props.notification.completeSecondary();
|
|
2798
|
-
(
|
|
2832
|
+
(_h = props.onSecondaryActionClick) == null ? void 0 : _h.call(props, props.notification);
|
|
2833
|
+
if ((_j = (_i = props.notification.secondaryAction) == null ? void 0 : _i.redirect) == null ? void 0 : _j.url) {
|
|
2834
|
+
const target = ((_l = (_k = props.notification.secondaryAction) == null ? void 0 : _k.redirect) == null ? void 0 : _l.target) || DEFAULT_TARGET;
|
|
2835
|
+
window.open((_n = (_m = props.notification.secondaryAction) == null ? void 0 : _m.redirect) == null ? void 0 : _n.url, target, DEFAULT_REFERRER);
|
|
2836
|
+
}
|
|
2799
2837
|
}
|
|
2800
2838
|
};
|
|
2801
2839
|
return (() => {
|
|
2802
|
-
var _el$ = _tmpl$
|
|
2840
|
+
var _el$ = _tmpl$47(), _el$4 = _el$.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling, _el$9 = _el$5.nextSibling, _el$10 = _el$9.nextSibling;
|
|
2803
2841
|
_el$.$$click = handleNotificationClick;
|
|
2804
2842
|
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
2805
2843
|
get when() {
|
|
2806
2844
|
return !props.notification.isRead;
|
|
2807
2845
|
},
|
|
2808
2846
|
get children() {
|
|
2809
|
-
var _el$2 = _tmpl$
|
|
2847
|
+
var _el$2 = _tmpl$46();
|
|
2810
2848
|
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")));
|
|
2811
2849
|
return _el$2;
|
|
2812
2850
|
}
|
|
@@ -2858,8 +2896,9 @@ var DefaultNotification = (props) => {
|
|
|
2858
2896
|
}
|
|
2859
2897
|
}))
|
|
2860
2898
|
}), web.createComponent(Tooltip.Content, {
|
|
2899
|
+
"data-localization": "notification.actions.read.tooltip",
|
|
2861
2900
|
get children() {
|
|
2862
|
-
return t("notification.actions.read.
|
|
2901
|
+
return t("notification.actions.read.tooltip");
|
|
2863
2902
|
}
|
|
2864
2903
|
})];
|
|
2865
2904
|
}
|
|
@@ -2884,8 +2923,9 @@ var DefaultNotification = (props) => {
|
|
|
2884
2923
|
}
|
|
2885
2924
|
}))
|
|
2886
2925
|
}), web.createComponent(Tooltip.Content, {
|
|
2926
|
+
"data-localization": "notification.actions.unread.tooltip",
|
|
2887
2927
|
get children() {
|
|
2888
|
-
return t("notification.actions.unread.
|
|
2928
|
+
return t("notification.actions.unread.tooltip");
|
|
2889
2929
|
}
|
|
2890
2930
|
})];
|
|
2891
2931
|
}
|
|
@@ -2917,8 +2957,9 @@ var DefaultNotification = (props) => {
|
|
|
2917
2957
|
}
|
|
2918
2958
|
}))
|
|
2919
2959
|
}), web.createComponent(Tooltip.Content, {
|
|
2960
|
+
"data-localization": "notification.actions.archive.tooltip",
|
|
2920
2961
|
get children() {
|
|
2921
|
-
return t("notification.actions.archive.
|
|
2962
|
+
return t("notification.actions.archive.tooltip");
|
|
2922
2963
|
}
|
|
2923
2964
|
})];
|
|
2924
2965
|
}
|
|
@@ -2943,8 +2984,9 @@ var DefaultNotification = (props) => {
|
|
|
2943
2984
|
}
|
|
2944
2985
|
}))
|
|
2945
2986
|
}), web.createComponent(Tooltip.Content, {
|
|
2987
|
+
"data-localization": "notification.actions.unarchive.tooltip",
|
|
2946
2988
|
get children() {
|
|
2947
|
-
return t("notification.actions.unarchive.
|
|
2989
|
+
return t("notification.actions.unarchive.tooltip");
|
|
2948
2990
|
}
|
|
2949
2991
|
})];
|
|
2950
2992
|
}
|
|
@@ -2958,7 +3000,7 @@ var DefaultNotification = (props) => {
|
|
|
2958
3000
|
get children() {
|
|
2959
3001
|
var _el$8 = _tmpl$311();
|
|
2960
3002
|
web.insert(_el$8, () => props.notification.subject);
|
|
2961
|
-
web.effect(() => web.className(_el$8, style("notificationSubject", "nt-font-semibold")));
|
|
3003
|
+
web.effect(() => web.className(_el$8, style("notificationSubject", "nt-text-start nt-font-semibold")));
|
|
2962
3004
|
return _el$8;
|
|
2963
3005
|
}
|
|
2964
3006
|
}), _el$9);
|
|
@@ -2998,7 +3040,7 @@ var DefaultNotification = (props) => {
|
|
|
2998
3040
|
})), _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
|
|
2999
3041
|
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
|
|
3000
3042
|
nt-opacity-0 group-hover:nt-opacity-100 nt-justify-center nt-items-center
|
|
3001
|
-
nt-absolute nt-top-0 nt-right-0 nt-bg-neutral-100 nt-p-0.5 nt-rounded nt-z-50`), _v$7 = style("notificationBody"), _v$8 = style("notificationCustomActions", "nt-flex nt-gap-4 nt-mt-4");
|
|
3043
|
+
nt-absolute nt-top-0 nt-right-0 nt-bg-neutral-100 nt-p-0.5 nt-rounded nt-z-50`), _v$7 = style("notificationBody", "nt-text-start"), _v$8 = style("notificationCustomActions", "nt-flex nt-gap-4 nt-mt-4");
|
|
3002
3044
|
_v$3 !== _p$.e && web.className(_el$, _p$.e = _v$3);
|
|
3003
3045
|
_v$4 !== _p$.t && web.className(_el$4, _p$.t = _v$4);
|
|
3004
3046
|
_v$5 !== _p$.a && web.className(_el$6, _p$.a = _v$5);
|
|
@@ -3023,7 +3065,7 @@ web.delegateEvents(["click"]);
|
|
|
3023
3065
|
var Notification = (props) => {
|
|
3024
3066
|
return web.createComponent(solidJs.Show, {
|
|
3025
3067
|
get when() {
|
|
3026
|
-
return props.
|
|
3068
|
+
return props.renderNotification;
|
|
3027
3069
|
},
|
|
3028
3070
|
get fallback() {
|
|
3029
3071
|
return web.createComponent(DefaultNotification, {
|
|
@@ -3042,25 +3084,25 @@ var Notification = (props) => {
|
|
|
3042
3084
|
});
|
|
3043
3085
|
},
|
|
3044
3086
|
get children() {
|
|
3045
|
-
return web.createComponent(
|
|
3046
|
-
|
|
3087
|
+
return web.createComponent(ExternalElementRenderer, {
|
|
3088
|
+
render: (el) => props.renderNotification(el, props.notification)
|
|
3047
3089
|
});
|
|
3048
3090
|
}
|
|
3049
3091
|
});
|
|
3050
3092
|
};
|
|
3051
|
-
var _tmpl$
|
|
3093
|
+
var _tmpl$48 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg width=48 height=48 viewBox="0 0 48 48"fill=none><path fill=currentColor d="M35.2 21.62L32.38 18.8L39.5 11.7L42.32 14.52C42.1 14.58 35.2 21.62 35.2 21.62ZM26 6H22V16H26V6ZM12.8 21.62L15.62 18.8L8.52 11.68L5.68 14.52C5.9 14.58 12.8 21.62 12.8 21.62ZM40 28H33.16C31.62 31.52 28.08 34 24 34C19.92 34 16.38 31.52 14.84 28H8V38H40V28ZM40 24C42.2 24 44 25.8 44 28V38C44 40.2 42.2 42 40 42H8C5.8 42 4 40.2 4 38V28C4 25.8 5.8 24 8 24H18C18 27.32 20.68 30 24 30C27.32 30 30 27.32 30 24H40Z">`);
|
|
3052
3094
|
function EmptyIcon(props) {
|
|
3053
3095
|
return (() => {
|
|
3054
|
-
var _el$ = _tmpl$
|
|
3096
|
+
var _el$ = _tmpl$48();
|
|
3055
3097
|
web.spread(_el$, props, true, true);
|
|
3056
3098
|
return _el$;
|
|
3057
3099
|
})();
|
|
3058
3100
|
}
|
|
3059
3101
|
var NewMessagesCta = (props) => {
|
|
3102
|
+
const shouldRender = solidJs.createMemo(() => !!props.count);
|
|
3060
3103
|
const {
|
|
3061
3104
|
t
|
|
3062
3105
|
} = useLocalization();
|
|
3063
|
-
const shouldRender = solidJs.createMemo(() => !!props.count);
|
|
3064
3106
|
return web.createComponent(solidJs.Show, {
|
|
3065
3107
|
get when() {
|
|
3066
3108
|
return shouldRender();
|
|
@@ -3072,6 +3114,7 @@ var NewMessagesCta = (props) => {
|
|
|
3072
3114
|
get onClick() {
|
|
3073
3115
|
return props.onClick;
|
|
3074
3116
|
},
|
|
3117
|
+
"data-localization": "notifications.newNotifications",
|
|
3075
3118
|
get children() {
|
|
3076
3119
|
return t("notifications.newNotifications", {
|
|
3077
3120
|
notificationCount: props.count
|
|
@@ -3081,10 +3124,10 @@ var NewMessagesCta = (props) => {
|
|
|
3081
3124
|
}
|
|
3082
3125
|
});
|
|
3083
3126
|
};
|
|
3084
|
-
var _tmpl$
|
|
3127
|
+
var _tmpl$49 = /* @__PURE__ */ web.template(`<div class="nt-flex nt-gap-2 nt-p-4 nt-w-full"><div class="nt-flex nt-flex-col nt-self-stretch nt-gap-3 nt-flex-1"><div class="nt-flex nt-gap-1"></div><div class="nt-flex nt-gap-1">`);
|
|
3085
3128
|
var NotificationSkeleton = () => {
|
|
3086
3129
|
return (() => {
|
|
3087
|
-
var _el$ = _tmpl$
|
|
3130
|
+
var _el$ = _tmpl$49(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
|
|
3088
3131
|
web.insert(_el$, web.createComponent(SkeletonAvatar, {
|
|
3089
3132
|
appearanceKey: "skeletonAvatar"
|
|
3090
3133
|
}), _el$2);
|
|
@@ -3121,7 +3164,7 @@ var NotificationListSkeleton = (props) => {
|
|
|
3121
3164
|
};
|
|
3122
3165
|
|
|
3123
3166
|
// src/ui/components/Notification/NotificationList.tsx
|
|
3124
|
-
var _tmpl$
|
|
3167
|
+
var _tmpl$50 = /* @__PURE__ */ web.template(`<div><p data-localization=notifications.emptyNotice>`);
|
|
3125
3168
|
var _tmpl$214 = /* @__PURE__ */ web.template(`<div>`);
|
|
3126
3169
|
var _tmpl$312 = /* @__PURE__ */ web.template(`<div><div>`);
|
|
3127
3170
|
var EmptyNotificationList = () => {
|
|
@@ -3130,7 +3173,7 @@ var EmptyNotificationList = () => {
|
|
|
3130
3173
|
t
|
|
3131
3174
|
} = useLocalization();
|
|
3132
3175
|
return (() => {
|
|
3133
|
-
var _el$ = _tmpl$
|
|
3176
|
+
var _el$ = _tmpl$50(), _el$2 = _el$.firstChild;
|
|
3134
3177
|
web.insert(_el$, web.createComponent(EmptyIcon, {
|
|
3135
3178
|
get ["class"]() {
|
|
3136
3179
|
return style("notificationListEmptyNoticeIcon");
|
|
@@ -3151,7 +3194,7 @@ var EmptyNotificationList = () => {
|
|
|
3151
3194
|
};
|
|
3152
3195
|
var NotificationList = (props) => {
|
|
3153
3196
|
var _a, _b;
|
|
3154
|
-
const options = solidJs.createMemo(() =>
|
|
3197
|
+
const options = solidJs.createMemo(() => chunkNEEKTCEQ_cjs.__spreadProps(chunkNEEKTCEQ_cjs.__spreadValues({}, props.filter), {
|
|
3155
3198
|
limit: props.limit
|
|
3156
3199
|
}));
|
|
3157
3200
|
const style = useStyle();
|
|
@@ -3173,7 +3216,7 @@ var NotificationList = (props) => {
|
|
|
3173
3216
|
}
|
|
3174
3217
|
});
|
|
3175
3218
|
let notificationListElement;
|
|
3176
|
-
const handleOnNewMessagesClick = (e) =>
|
|
3219
|
+
const handleOnNewMessagesClick = (e) => chunkNEEKTCEQ_cjs.__async(void 0, null, function* () {
|
|
3177
3220
|
e.stopPropagation();
|
|
3178
3221
|
resetNewMessagesCount();
|
|
3179
3222
|
refetch({
|
|
@@ -3218,8 +3261,8 @@ var NotificationList = (props) => {
|
|
|
3218
3261
|
},
|
|
3219
3262
|
children: (notification) => web.createComponent(Notification, {
|
|
3220
3263
|
notification,
|
|
3221
|
-
get
|
|
3222
|
-
return props.
|
|
3264
|
+
get renderNotification() {
|
|
3265
|
+
return props.renderNotification;
|
|
3223
3266
|
},
|
|
3224
3267
|
get onNotificationClick() {
|
|
3225
3268
|
return props.onNotificationClick;
|
|
@@ -3265,13 +3308,13 @@ var NotificationList = (props) => {
|
|
|
3265
3308
|
return _el$3;
|
|
3266
3309
|
})();
|
|
3267
3310
|
};
|
|
3268
|
-
var _tmpl$
|
|
3311
|
+
var _tmpl$51 = /* @__PURE__ */ web.template(`<span>`);
|
|
3269
3312
|
var getDisplayCount = (count) => count >= 100 ? "99+" : count;
|
|
3270
3313
|
var InboxTabUnreadNotificationsCount = (props) => {
|
|
3271
3314
|
const style = useStyle();
|
|
3272
3315
|
const displayCount = solidJs.createMemo(() => getDisplayCount(props.count));
|
|
3273
3316
|
return (() => {
|
|
3274
|
-
var _el$ = _tmpl$
|
|
3317
|
+
var _el$ = _tmpl$51();
|
|
3275
3318
|
web.insert(_el$, displayCount);
|
|
3276
3319
|
web.effect(() => web.className(_el$, style("notificationsTabsTriggerCount", "nt-rounded-full nt-bg-counter nt-px-[6px] nt-text-counter-foreground nt-text-sm")));
|
|
3277
3320
|
return _el$;
|
|
@@ -3296,7 +3339,7 @@ var InboxTab = (props) => {
|
|
|
3296
3339
|
},
|
|
3297
3340
|
get children() {
|
|
3298
3341
|
return [(() => {
|
|
3299
|
-
var _el$2 = _tmpl$
|
|
3342
|
+
var _el$2 = _tmpl$51();
|
|
3300
3343
|
web.insert(_el$2, () => props.label);
|
|
3301
3344
|
web.effect(() => web.className(_el$2, style("notificationsTabsTriggerLabel", "nt-text-sm nt-font-medium")));
|
|
3302
3345
|
return _el$2;
|
|
@@ -3331,7 +3374,7 @@ var InboxDropdownTab = (props) => {
|
|
|
3331
3374
|
},
|
|
3332
3375
|
get children() {
|
|
3333
3376
|
return [(() => {
|
|
3334
|
-
var _el$3 = _tmpl$
|
|
3377
|
+
var _el$3 = _tmpl$51();
|
|
3335
3378
|
web.insert(_el$3, () => props.label);
|
|
3336
3379
|
web.effect(() => web.className(_el$3, style("moreTabs__dropdownItemLabel", "nt-mr-auto")));
|
|
3337
3380
|
return _el$3;
|
|
@@ -3402,7 +3445,7 @@ var InboxTabs = (props) => {
|
|
|
3402
3445
|
tags: tab.value
|
|
3403
3446
|
}))
|
|
3404
3447
|
});
|
|
3405
|
-
const options = solidJs.createMemo(() => dropdownTabs().map((tab) =>
|
|
3448
|
+
const options = solidJs.createMemo(() => dropdownTabs().map((tab) => chunkNEEKTCEQ_cjs.__spreadProps(chunkNEEKTCEQ_cjs.__spreadValues({}, tab), {
|
|
3406
3449
|
rightIcon: tab.label === activeTab() ? web.createComponent(Check, {
|
|
3407
3450
|
get ["class"]() {
|
|
3408
3451
|
return style("moreTabs__dropdownItemRight__icon");
|
|
@@ -3506,8 +3549,20 @@ var InboxTabs = (props) => {
|
|
|
3506
3549
|
},
|
|
3507
3550
|
get children() {
|
|
3508
3551
|
return web.createComponent(NotificationList, {
|
|
3552
|
+
get renderNotification() {
|
|
3553
|
+
return props.renderNotification;
|
|
3554
|
+
},
|
|
3555
|
+
get onNotificationClick() {
|
|
3556
|
+
return props.onNotificationClick;
|
|
3557
|
+
},
|
|
3558
|
+
get onPrimaryActionClick() {
|
|
3559
|
+
return props.onPrimaryActionClick;
|
|
3560
|
+
},
|
|
3561
|
+
get onSecondaryActionClick() {
|
|
3562
|
+
return props.onSecondaryActionClick;
|
|
3563
|
+
},
|
|
3509
3564
|
get filter() {
|
|
3510
|
-
return
|
|
3565
|
+
return chunkNEEKTCEQ_cjs.__spreadProps(chunkNEEKTCEQ_cjs.__spreadValues({}, filter()), {
|
|
3511
3566
|
tags: tab.value
|
|
3512
3567
|
});
|
|
3513
3568
|
}
|
|
@@ -3519,7 +3574,7 @@ var InboxTabs = (props) => {
|
|
|
3519
3574
|
};
|
|
3520
3575
|
|
|
3521
3576
|
// src/ui/components/Inbox.tsx
|
|
3522
|
-
var _tmpl$
|
|
3577
|
+
var _tmpl$52 = /* @__PURE__ */ web.template(`<div>`);
|
|
3523
3578
|
var InboxPage = /* @__PURE__ */ function(InboxPage2) {
|
|
3524
3579
|
InboxPage2["Notifications"] = "notifications";
|
|
3525
3580
|
InboxPage2["Preferences"] = "preferences";
|
|
@@ -3541,7 +3596,7 @@ var InboxContent = (props) => {
|
|
|
3541
3596
|
};
|
|
3542
3597
|
});
|
|
3543
3598
|
return (() => {
|
|
3544
|
-
var _el$ = _tmpl$
|
|
3599
|
+
var _el$ = _tmpl$52();
|
|
3545
3600
|
web.insert(_el$, web.createComponent(solidJs.Switch, {
|
|
3546
3601
|
get children() {
|
|
3547
3602
|
return [web.createComponent(solidJs.Match, {
|
|
@@ -3560,8 +3615,8 @@ var InboxContent = (props) => {
|
|
|
3560
3615
|
},
|
|
3561
3616
|
get fallback() {
|
|
3562
3617
|
return web.createComponent(NotificationList, {
|
|
3563
|
-
get
|
|
3564
|
-
return props.
|
|
3618
|
+
get renderNotification() {
|
|
3619
|
+
return props.renderNotification;
|
|
3565
3620
|
},
|
|
3566
3621
|
get onNotificationClick() {
|
|
3567
3622
|
return props.onNotificationClick;
|
|
@@ -3579,6 +3634,18 @@ var InboxContent = (props) => {
|
|
|
3579
3634
|
},
|
|
3580
3635
|
get children() {
|
|
3581
3636
|
return web.createComponent(InboxTabs, {
|
|
3637
|
+
get renderNotification() {
|
|
3638
|
+
return props.renderNotification;
|
|
3639
|
+
},
|
|
3640
|
+
get onNotificationClick() {
|
|
3641
|
+
return props.onNotificationClick;
|
|
3642
|
+
},
|
|
3643
|
+
get onPrimaryActionClick() {
|
|
3644
|
+
return props.onPrimaryActionClick;
|
|
3645
|
+
},
|
|
3646
|
+
get onSecondaryActionClick() {
|
|
3647
|
+
return props.onSecondaryActionClick;
|
|
3648
|
+
},
|
|
3582
3649
|
get tabs() {
|
|
3583
3650
|
return tabs();
|
|
3584
3651
|
}
|
|
@@ -3622,8 +3689,8 @@ var Inbox2 = (props) => {
|
|
|
3622
3689
|
}, triggerProps, {
|
|
3623
3690
|
get children() {
|
|
3624
3691
|
return web.createComponent(Bell, {
|
|
3625
|
-
get
|
|
3626
|
-
return props.
|
|
3692
|
+
get renderBell() {
|
|
3693
|
+
return props.renderBell;
|
|
3627
3694
|
}
|
|
3628
3695
|
});
|
|
3629
3696
|
}
|
|
@@ -3632,8 +3699,8 @@ var Inbox2 = (props) => {
|
|
|
3632
3699
|
appearanceKey: "inbox__popoverContent",
|
|
3633
3700
|
get children() {
|
|
3634
3701
|
return web.createComponent(InboxContent, {
|
|
3635
|
-
get
|
|
3636
|
-
return props.
|
|
3702
|
+
get renderNotification() {
|
|
3703
|
+
return props.renderNotification;
|
|
3637
3704
|
},
|
|
3638
3705
|
get onNotificationClick() {
|
|
3639
3706
|
return props.onNotificationClick;
|
|
@@ -3755,24 +3822,24 @@ var Renderer = (props) => {
|
|
|
3755
3822
|
}
|
|
3756
3823
|
});
|
|
3757
3824
|
};
|
|
3758
|
-
var version = "2.0.0-canary.
|
|
3825
|
+
var version = "2.0.0-canary.2";
|
|
3759
3826
|
var cssHref = `https://cdn.jsdelivr.net/npm/@novu/js@${version}/dist/index.css`;
|
|
3760
3827
|
var _dispose, _rootElement, _mountedElements, _setMountedElements, _appearance, _setAppearance, _localization, _setLocalization, _options, _setOptions, _tabs, _setTabs, _NovuUI_instances, mountComponentRenderer_fn, updateComponentProps_fn;
|
|
3761
3828
|
var NovuUI = class {
|
|
3762
3829
|
constructor(props) {
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3830
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _NovuUI_instances);
|
|
3831
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _dispose, null);
|
|
3832
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _rootElement);
|
|
3833
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _mountedElements);
|
|
3834
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _setMountedElements);
|
|
3835
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _appearance);
|
|
3836
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _setAppearance);
|
|
3837
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _localization);
|
|
3838
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _setLocalization);
|
|
3839
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _options);
|
|
3840
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _setOptions);
|
|
3841
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _tabs);
|
|
3842
|
+
chunkNEEKTCEQ_cjs.__privateAdd(this, _setTabs);
|
|
3776
3843
|
var _a;
|
|
3777
3844
|
this.id = generateRandomString(16);
|
|
3778
3845
|
const [appearance, setAppearance] = solidJs.createSignal(props.appearance);
|
|
@@ -3780,27 +3847,27 @@ var NovuUI = class {
|
|
|
3780
3847
|
const [options, setOptions] = solidJs.createSignal(props.options);
|
|
3781
3848
|
const [mountedElements, setMountedElements] = solidJs.createSignal(/* @__PURE__ */ new Map());
|
|
3782
3849
|
const [tabs, setTabs] = solidJs.createSignal((_a = props.tabs) != null ? _a : []);
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
|
|
3793
|
-
|
|
3850
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _mountedElements, mountedElements);
|
|
3851
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _setMountedElements, setMountedElements);
|
|
3852
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _appearance, appearance);
|
|
3853
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _setAppearance, setAppearance);
|
|
3854
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _localization, localization);
|
|
3855
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _setLocalization, setLocalization);
|
|
3856
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _options, options);
|
|
3857
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _setOptions, setOptions);
|
|
3858
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _tabs, tabs);
|
|
3859
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _setTabs, setTabs);
|
|
3860
|
+
chunkNEEKTCEQ_cjs.__privateMethod(this, _NovuUI_instances, mountComponentRenderer_fn).call(this);
|
|
3794
3861
|
}
|
|
3795
3862
|
mountComponent({
|
|
3796
3863
|
name,
|
|
3797
3864
|
element,
|
|
3798
3865
|
props: componentProps
|
|
3799
3866
|
}) {
|
|
3800
|
-
if (
|
|
3801
|
-
return
|
|
3867
|
+
if (chunkNEEKTCEQ_cjs.__privateGet(this, _mountedElements).call(this).has(element)) {
|
|
3868
|
+
return chunkNEEKTCEQ_cjs.__privateMethod(this, _NovuUI_instances, updateComponentProps_fn).call(this, element, componentProps);
|
|
3802
3869
|
}
|
|
3803
|
-
|
|
3870
|
+
chunkNEEKTCEQ_cjs.__privateGet(this, _setMountedElements).call(this, (oldNodes) => {
|
|
3804
3871
|
const newNodes = new Map(oldNodes);
|
|
3805
3872
|
newNodes.set(element, {
|
|
3806
3873
|
name,
|
|
@@ -3810,29 +3877,29 @@ var NovuUI = class {
|
|
|
3810
3877
|
});
|
|
3811
3878
|
}
|
|
3812
3879
|
unmountComponent(element) {
|
|
3813
|
-
|
|
3880
|
+
chunkNEEKTCEQ_cjs.__privateGet(this, _setMountedElements).call(this, (oldMountedElements) => {
|
|
3814
3881
|
const newMountedElements = new Map(oldMountedElements);
|
|
3815
3882
|
newMountedElements.delete(element);
|
|
3816
3883
|
return newMountedElements;
|
|
3817
3884
|
});
|
|
3818
3885
|
}
|
|
3819
3886
|
updateAppearance(appearance) {
|
|
3820
|
-
|
|
3887
|
+
chunkNEEKTCEQ_cjs.__privateGet(this, _setAppearance).call(this, appearance);
|
|
3821
3888
|
}
|
|
3822
3889
|
updateLocalization(localization) {
|
|
3823
|
-
|
|
3890
|
+
chunkNEEKTCEQ_cjs.__privateGet(this, _setLocalization).call(this, localization);
|
|
3824
3891
|
}
|
|
3825
3892
|
updateOptions(options) {
|
|
3826
|
-
|
|
3893
|
+
chunkNEEKTCEQ_cjs.__privateGet(this, _setOptions).call(this, options);
|
|
3827
3894
|
}
|
|
3828
3895
|
updateTabs(tabs) {
|
|
3829
|
-
|
|
3896
|
+
chunkNEEKTCEQ_cjs.__privateGet(this, _setTabs).call(this, tabs != null ? tabs : []);
|
|
3830
3897
|
}
|
|
3831
3898
|
unmount() {
|
|
3832
3899
|
var _a, _b;
|
|
3833
|
-
(_a =
|
|
3834
|
-
|
|
3835
|
-
(_b =
|
|
3900
|
+
(_a = chunkNEEKTCEQ_cjs.__privateGet(this, _dispose)) == null ? void 0 : _a.call(this);
|
|
3901
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _dispose, null);
|
|
3902
|
+
(_b = chunkNEEKTCEQ_cjs.__privateGet(this, _rootElement)) == null ? void 0 : _b.remove();
|
|
3836
3903
|
}
|
|
3837
3904
|
};
|
|
3838
3905
|
_dispose = new WeakMap();
|
|
@@ -3849,12 +3916,12 @@ _tabs = new WeakMap();
|
|
|
3849
3916
|
_setTabs = new WeakMap();
|
|
3850
3917
|
_NovuUI_instances = new WeakSet();
|
|
3851
3918
|
mountComponentRenderer_fn = function() {
|
|
3852
|
-
if (
|
|
3919
|
+
if (chunkNEEKTCEQ_cjs.__privateGet(this, _dispose) !== null) {
|
|
3853
3920
|
return;
|
|
3854
3921
|
}
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
document.body.appendChild(
|
|
3922
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _rootElement, document.createElement("div"));
|
|
3923
|
+
chunkNEEKTCEQ_cjs.__privateGet(this, _rootElement).setAttribute("id", `novu-ui-${this.id}`);
|
|
3924
|
+
document.body.appendChild(chunkNEEKTCEQ_cjs.__privateGet(this, _rootElement));
|
|
3858
3925
|
const dispose = web.render(() => {
|
|
3859
3926
|
const _self$ = this;
|
|
3860
3927
|
return web.createComponent(Renderer, {
|
|
@@ -3862,34 +3929,34 @@ mountComponentRenderer_fn = function() {
|
|
|
3862
3929
|
novuUI: _self$,
|
|
3863
3930
|
get nodes() {
|
|
3864
3931
|
var _a;
|
|
3865
|
-
return
|
|
3932
|
+
return chunkNEEKTCEQ_cjs.__privateGet(_a = _self$, _mountedElements).call(_a);
|
|
3866
3933
|
},
|
|
3867
3934
|
get options() {
|
|
3868
3935
|
var _a;
|
|
3869
|
-
return
|
|
3936
|
+
return chunkNEEKTCEQ_cjs.__privateGet(_a = _self$, _options).call(_a);
|
|
3870
3937
|
},
|
|
3871
3938
|
get appearance() {
|
|
3872
3939
|
var _a;
|
|
3873
|
-
return
|
|
3940
|
+
return chunkNEEKTCEQ_cjs.__privateGet(_a = _self$, _appearance).call(_a);
|
|
3874
3941
|
},
|
|
3875
3942
|
get localization() {
|
|
3876
3943
|
var _a;
|
|
3877
|
-
return
|
|
3944
|
+
return chunkNEEKTCEQ_cjs.__privateGet(_a = _self$, _localization).call(_a);
|
|
3878
3945
|
},
|
|
3879
3946
|
get tabs() {
|
|
3880
3947
|
var _a;
|
|
3881
|
-
return
|
|
3948
|
+
return chunkNEEKTCEQ_cjs.__privateGet(_a = _self$, _tabs).call(_a);
|
|
3882
3949
|
}
|
|
3883
3950
|
});
|
|
3884
|
-
},
|
|
3885
|
-
|
|
3951
|
+
}, chunkNEEKTCEQ_cjs.__privateGet(this, _rootElement));
|
|
3952
|
+
chunkNEEKTCEQ_cjs.__privateSet(this, _dispose, dispose);
|
|
3886
3953
|
};
|
|
3887
3954
|
updateComponentProps_fn = function(element, props) {
|
|
3888
|
-
|
|
3955
|
+
chunkNEEKTCEQ_cjs.__privateGet(this, _setMountedElements).call(this, (oldMountedElements) => {
|
|
3889
3956
|
const newMountedElements = new Map(oldMountedElements);
|
|
3890
3957
|
const mountedElement = newMountedElements.get(element);
|
|
3891
3958
|
if (mountedElement) {
|
|
3892
|
-
newMountedElements.set(element,
|
|
3959
|
+
newMountedElements.set(element, chunkNEEKTCEQ_cjs.__spreadProps(chunkNEEKTCEQ_cjs.__spreadValues({}, mountedElement), {
|
|
3893
3960
|
props
|
|
3894
3961
|
}));
|
|
3895
3962
|
}
|