@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.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUUYKXZBW_js = require('../chunk-UUYKXZBW.js');
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 = () => chunkUUYKXZBW_js.__async(this, null, function* () {
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 = chunkUUYKXZBW_js.__spreadValues(chunkUUYKXZBW_js.__spreadValues({}, defaultVariables), themes().reduce((acc, obj) => chunkUUYKXZBW_js.__spreadValues(chunkUUYKXZBW_js.__spreadValues({}, acc), obj.variables || {}), {}));
451
- setVariableRules(parseVariables(chunkUUYKXZBW_js.__spreadValues(chunkUUYKXZBW_js.__spreadValues({}, baseVariables), ((_a = props.appearance) == null ? void 0 : _a.variables) || {}), props.id));
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) => chunkUUYKXZBW_js.__spreadValues(chunkUUYKXZBW_js.__spreadValues({}, acc), obj.elements || {}), {});
460
- const elementsStyleData = parseElements(chunkUUYKXZBW_js.__spreadValues(chunkUUYKXZBW_js.__spreadValues({}, baseElements), ((_a = props.appearance) == null ? void 0 : _a.elements) || {}));
461
- setStore("appearanceKeyToCssInJsClass", (obj) => chunkUUYKXZBW_js.__spreadValues(chunkUUYKXZBW_js.__spreadValues({}, obj), elementsStyleData.reduce((acc, item) => {
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 = chunkUUYKXZBW_js.__objRest(_a, [
578
+ } = _a, localizationObject = chunkD7P7KCZI_js.__objRest(_a, [
575
579
  "dynamic"
576
580
  ]);
577
- return chunkUUYKXZBW_js.__spreadValues(chunkUUYKXZBW_js.__spreadValues(chunkUUYKXZBW_js.__spreadValues(chunkUUYKXZBW_js.__spreadValues({}, defaultLocalization), dynamicLocalization()), dynamic || {}), localizationObject);
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(chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, STATUS_TO_FILTER["unreadRead" /* UNREAD_READ */]), {
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) => chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, STATUS_TO_FILTER[newStatus]), {
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) => chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, 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 chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, old), {
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 chunkUUYKXZBW_js.Novu(props.options));
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 = () => chunkUUYKXZBW_js.__async(void 0, null, function* () {
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 = chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, filter()), {
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, chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, cachedData), {
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) => chunkUUYKXZBW_js.__async(void 0, [_0], function* ({
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 = chunkUUYKXZBW_js.__objRest(_b, [
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 = chunkUUYKXZBW_js.__spreadValues({}, props.options());
1928
- const [data, { initialLoading, setEl, end, mutate, reset }] = createInfiniteScroll((offset3) => chunkUUYKXZBW_js.__async(void 0, null, function* () {
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(chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, props.options() || {}), { offset: offset3 }));
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 || !chunkUUYKXZBW_js.isSameFilter(filter, data2.filter)) {
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 = chunkUUYKXZBW_js.__spreadValues({}, props.options());
1945
- if (chunkUUYKXZBW_js.isSameFilter(filter, newFilter)) {
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 || {}, () => chunkUUYKXZBW_js.__async(void 0, null, function* () {
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) => chunkUUYKXZBW_js.__async(void 0, [..._0], function* ({ tags } = {}) {
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) => chunkUUYKXZBW_js.__async(void 0, [..._0], function* ({ tags } = {}) {
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) => chunkUUYKXZBW_js.__async(void 0, [..._0], function* ({ tags } = {}) {
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) => chunkUUYKXZBW_js.__async(void 0, null, function* () {
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 chunkUUYKXZBW_js.__spreadValues(chunkUUYKXZBW_js.__spreadValues({}, prev), (_a = allPreferences().workflowPreferences) == null ? void 0 : _a.reduce((acc, preference) => {
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(`<span>`);
2819
- var _tmpl$213 = /* @__PURE__ */ web.template(`<img>`);
2820
- var _tmpl$311 = /* @__PURE__ */ web.template(`<p>`);
2821
- 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>`);
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$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;
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$46();
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$213();
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
- var _el$8 = _tmpl$311();
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$9);
3037
- web.insert(_el$9, () => props.notification.body);
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$10, web.createComponent(solidJs.Show, {
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("notificationBody", "nt-text-start"), _v$8 = style("notificationCustomActions", "nt-flex nt-gap-4 nt-mt-4");
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$9, _p$.i = _v$7);
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$214 = /* @__PURE__ */ web.template(`<div>`);
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(() => chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, props.filter), {
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) => chunkUUYKXZBW_js.__async(void 0, null, function* () {
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$214();
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) => chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, 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 chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, filter()), {
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.0";
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
- chunkUUYKXZBW_js.__privateAdd(this, _NovuUI_instances);
3890
- chunkUUYKXZBW_js.__privateAdd(this, _dispose, null);
3891
- chunkUUYKXZBW_js.__privateAdd(this, _rootElement);
3892
- chunkUUYKXZBW_js.__privateAdd(this, _mountedElements);
3893
- chunkUUYKXZBW_js.__privateAdd(this, _setMountedElements);
3894
- chunkUUYKXZBW_js.__privateAdd(this, _appearance);
3895
- chunkUUYKXZBW_js.__privateAdd(this, _setAppearance);
3896
- chunkUUYKXZBW_js.__privateAdd(this, _localization);
3897
- chunkUUYKXZBW_js.__privateAdd(this, _setLocalization);
3898
- chunkUUYKXZBW_js.__privateAdd(this, _options);
3899
- chunkUUYKXZBW_js.__privateAdd(this, _setOptions);
3900
- chunkUUYKXZBW_js.__privateAdd(this, _tabs);
3901
- chunkUUYKXZBW_js.__privateAdd(this, _setTabs);
3902
- chunkUUYKXZBW_js.__privateAdd(this, _routerPush);
3903
- chunkUUYKXZBW_js.__privateAdd(this, _setRouterPush);
3904
- chunkUUYKXZBW_js.__privateAdd(this, _predefinedNovu);
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
- chunkUUYKXZBW_js.__privateSet(this, _mountedElements, mountedElements);
3914
- chunkUUYKXZBW_js.__privateSet(this, _setMountedElements, setMountedElements);
3915
- chunkUUYKXZBW_js.__privateSet(this, _appearance, appearance);
3916
- chunkUUYKXZBW_js.__privateSet(this, _setAppearance, setAppearance);
3917
- chunkUUYKXZBW_js.__privateSet(this, _localization, localization);
3918
- chunkUUYKXZBW_js.__privateSet(this, _setLocalization, setLocalization);
3919
- chunkUUYKXZBW_js.__privateSet(this, _options, options);
3920
- chunkUUYKXZBW_js.__privateSet(this, _setOptions, setOptions);
3921
- chunkUUYKXZBW_js.__privateSet(this, _tabs, tabs);
3922
- chunkUUYKXZBW_js.__privateSet(this, _setTabs, setTabs);
3923
- chunkUUYKXZBW_js.__privateSet(this, _routerPush, routerPush);
3924
- chunkUUYKXZBW_js.__privateSet(this, _setRouterPush, setRouterPush);
3925
- chunkUUYKXZBW_js.__privateSet(this, _predefinedNovu, props.novu);
3926
- chunkUUYKXZBW_js.__privateMethod(this, _NovuUI_instances, mountComponentRenderer_fn).call(this);
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 (chunkUUYKXZBW_js.__privateGet(this, _mountedElements).call(this).has(element)) {
3934
- return chunkUUYKXZBW_js.__privateMethod(this, _NovuUI_instances, updateComponentProps_fn).call(this, element, componentProps);
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
- chunkUUYKXZBW_js.__privateGet(this, _setMountedElements).call(this, (oldNodes) => {
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
- chunkUUYKXZBW_js.__privateGet(this, _setMountedElements).call(this, (oldMountedElements) => {
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
- chunkUUYKXZBW_js.__privateGet(this, _setAppearance).call(this, appearance);
4046
+ chunkD7P7KCZI_js.__privateGet(this, _setAppearance).call(this, appearance);
3954
4047
  }
3955
4048
  updateLocalization(localization) {
3956
- chunkUUYKXZBW_js.__privateGet(this, _setLocalization).call(this, localization);
4049
+ chunkD7P7KCZI_js.__privateGet(this, _setLocalization).call(this, localization);
3957
4050
  }
3958
4051
  updateOptions(options) {
3959
- chunkUUYKXZBW_js.__privateGet(this, _setOptions).call(this, options);
4052
+ chunkD7P7KCZI_js.__privateGet(this, _setOptions).call(this, options);
3960
4053
  }
3961
4054
  updateTabs(tabs) {
3962
- chunkUUYKXZBW_js.__privateGet(this, _setTabs).call(this, tabs != null ? tabs : []);
4055
+ chunkD7P7KCZI_js.__privateGet(this, _setTabs).call(this, tabs != null ? tabs : []);
3963
4056
  }
3964
4057
  updateRouterPush(routerPush) {
3965
- chunkUUYKXZBW_js.__privateGet(this, _setRouterPush).call(this, () => routerPush);
4058
+ chunkD7P7KCZI_js.__privateGet(this, _setRouterPush).call(this, () => routerPush);
3966
4059
  }
3967
4060
  unmount() {
3968
4061
  var _a, _b;
3969
- (_a = chunkUUYKXZBW_js.__privateGet(this, _dispose)) == null ? void 0 : _a.call(this);
3970
- chunkUUYKXZBW_js.__privateSet(this, _dispose, null);
3971
- (_b = chunkUUYKXZBW_js.__privateGet(this, _rootElement)) == null ? void 0 : _b.remove();
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 (chunkUUYKXZBW_js.__privateGet(this, _dispose) !== null) {
4084
+ if (chunkD7P7KCZI_js.__privateGet(this, _dispose) !== null) {
3992
4085
  return;
3993
4086
  }
3994
- chunkUUYKXZBW_js.__privateSet(this, _rootElement, document.createElement("div"));
3995
- chunkUUYKXZBW_js.__privateGet(this, _rootElement).setAttribute("id", `novu-ui-${this.id}`);
3996
- document.body.appendChild(chunkUUYKXZBW_js.__privateGet(this, _rootElement));
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 chunkUUYKXZBW_js.__privateGet(_a = _self$, _mountedElements).call(_a);
4097
+ return chunkD7P7KCZI_js.__privateGet(_a = _self$, _mountedElements).call(_a);
4005
4098
  },
4006
4099
  get options() {
4007
4100
  var _a;
4008
- return chunkUUYKXZBW_js.__privateGet(_a = _self$, _options).call(_a);
4101
+ return chunkD7P7KCZI_js.__privateGet(_a = _self$, _options).call(_a);
4009
4102
  },
4010
4103
  get appearance() {
4011
4104
  var _a;
4012
- return chunkUUYKXZBW_js.__privateGet(_a = _self$, _appearance).call(_a);
4105
+ return chunkD7P7KCZI_js.__privateGet(_a = _self$, _appearance).call(_a);
4013
4106
  },
4014
4107
  get localization() {
4015
4108
  var _a;
4016
- return chunkUUYKXZBW_js.__privateGet(_a = _self$, _localization).call(_a);
4109
+ return chunkD7P7KCZI_js.__privateGet(_a = _self$, _localization).call(_a);
4017
4110
  },
4018
4111
  get tabs() {
4019
4112
  var _a;
4020
- return chunkUUYKXZBW_js.__privateGet(_a = _self$, _tabs).call(_a);
4113
+ return chunkD7P7KCZI_js.__privateGet(_a = _self$, _tabs).call(_a);
4021
4114
  },
4022
4115
  get routerPush() {
4023
4116
  var _a;
4024
- return chunkUUYKXZBW_js.__privateGet(_a = _self$, _routerPush).call(_a);
4117
+ return chunkD7P7KCZI_js.__privateGet(_a = _self$, _routerPush).call(_a);
4025
4118
  },
4026
4119
  get novu() {
4027
- return chunkUUYKXZBW_js.__privateGet(_self$, _predefinedNovu);
4120
+ return chunkD7P7KCZI_js.__privateGet(_self$, _predefinedNovu);
4028
4121
  }
4029
4122
  });
4030
- }, chunkUUYKXZBW_js.__privateGet(this, _rootElement));
4031
- chunkUUYKXZBW_js.__privateSet(this, _dispose, dispose);
4123
+ }, chunkD7P7KCZI_js.__privateGet(this, _rootElement));
4124
+ chunkD7P7KCZI_js.__privateSet(this, _dispose, dispose);
4032
4125
  };
4033
4126
  updateComponentProps_fn = function(element, props) {
4034
- chunkUUYKXZBW_js.__privateGet(this, _setMountedElements).call(this, (oldMountedElements) => {
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, chunkUUYKXZBW_js.__spreadProps(chunkUUYKXZBW_js.__spreadValues({}, mountedElement), {
4131
+ newMountedElements.set(element, chunkD7P7KCZI_js.__spreadProps(chunkD7P7KCZI_js.__spreadValues({}, mountedElement), {
4039
4132
  props
4040
4133
  }));
4041
4134
  }