@novu/js 3.0.3 → 3.2.0

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 chunk47NZ3DJQ_js = require('../chunk-47NZ3DJQ.js');
3
+ var chunk4KMXR5HJ_js = require('../chunk-4KMXR5HJ.js');
4
4
  var chunkERC62PGI_js = require('../chunk-ERC62PGI.js');
5
5
  var chunk7B52C2XE_js = require('../chunk-7B52C2XE.js');
6
6
  var web = require('solid-js/web');
@@ -17,75 +17,8 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
17
 
18
18
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
19
19
 
20
- var defaultLocalization = {
21
- locale: "en-US",
22
- "inbox.filters.dropdownOptions.unread": "Unread only",
23
- "inbox.filters.dropdownOptions.default": "Unread & read",
24
- "inbox.filters.dropdownOptions.archived": "Archived",
25
- "inbox.filters.labels.unread": "Unread",
26
- "inbox.filters.labels.default": "Inbox",
27
- "inbox.filters.labels.archived": "Archived",
28
- "notifications.emptyNotice": "Quiet for now. Check back later.",
29
- "notifications.actions.readAll": "Mark all as read",
30
- "notifications.actions.archiveAll": "Archive all",
31
- "notifications.actions.archiveRead": "Archive read",
32
- "notifications.newNotifications": ({ notificationCount }) => `${notificationCount > 99 ? "99+" : notificationCount} new ${notificationCount === 1 ? "notification" : "notifications"}`,
33
- "notification.actions.read.tooltip": "Mark as read",
34
- "notification.actions.unread.tooltip": "Mark as unread",
35
- "notification.actions.archive.tooltip": "Archive",
36
- "notification.actions.unarchive.tooltip": "Unarchive",
37
- "preferences.title": "Preferences",
38
- "preferences.emptyNotice": "No notification specific preferences yet.",
39
- "preferences.global": "Global Preferences",
40
- "preferences.workflow.disabled.notice": "Contact admin to enable subscription management for this critical notification.",
41
- "preferences.workflow.disabled.tooltip": "Contact admin to edit"
42
- };
43
- var [dynamicLocalization, setDynamicLocalization] = solidJs.createSignal({});
44
-
45
- // src/ui/context/LocalizationContext.tsx
46
- var LocalizationContext = solidJs.createContext(void 0);
47
- var LocalizationProvider = (props) => {
48
- const localization = solidJs.createMemo(() => {
49
- const _a = props.localization || {}, {
50
- dynamic
51
- } = _a, localizationObject = chunk7B52C2XE_js.__objRest(_a, [
52
- "dynamic"
53
- ]);
54
- return chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues({}, defaultLocalization), dynamicLocalization()), dynamic || {}), localizationObject);
55
- });
56
- const t = (key, ...args) => {
57
- const value = localization()[key];
58
- if (typeof value === "function") {
59
- return value(args[0]);
60
- }
61
- return value;
62
- };
63
- const locale = solidJs.createMemo(() => localization().locale);
64
- return web.createComponent(LocalizationContext.Provider, {
65
- value: {
66
- t,
67
- locale
68
- },
69
- get children() {
70
- return props.children;
71
- }
72
- });
73
- };
74
- function useLocalization() {
75
- const context = solidJs.useContext(LocalizationContext);
76
- if (!context) {
77
- throw new Error("useLocalization must be used within an LocalizationProvider");
78
- }
79
- return context;
80
- }
81
-
82
- // src/ui/types.ts
83
- var NotificationStatus = /* @__PURE__ */ ((NotificationStatus2) => {
84
- NotificationStatus2["UNREAD_READ"] = "unreadRead";
85
- NotificationStatus2["UNREAD"] = "unread";
86
- NotificationStatus2["ARCHIVED"] = "archived";
87
- return NotificationStatus2;
88
- })(NotificationStatus || {});
20
+ // _tt392r98u:/Users/sokratisvidros/Workspace/novu/packages/js/src/ui/index.directcss
21
+ var ui_default = `.novu{scrollbar-color:var(--nv-color-secondary-foreground-alpha-300) #0000;:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{border:0 solid #e5e7eb;box-sizing:border-box}:where(html,:host){line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}:where(body){line-height:inherit;margin:0}:where(hr){border-top-width:1px;color:inherit;height:0}:where(abbr:where([title])){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(a){color:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small){font-size:80%}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:initial}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button]),input:where([type=reset]),input:where([type=submit])){-webkit-appearance:button;background-color:initial;background-image:none}:where(:-moz-focusring){outline:auto}:where(:-moz-ui-invalid){box-shadow:none}:where(progress){vertical-align:initial}:where(*)::-webkit-inner-spin-button,:where(*)::-webkit-outer-spin-button{height:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(*)::-webkit-search-decoration{-webkit-appearance:none}:where(*)::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre){margin:0}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(ol,ul,menu){list-style:none;margin:0;padding:0}:where(dialog){padding:0}:where(textarea){resize:vertical}:where(input)::placeholder,:where(textarea)::placeholder{color:#9ca3af;opacity:1}:where(button,[role=button]){cursor:pointer}:where(:disabled){cursor:default}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block;vertical-align:middle}:where(img,video){height:auto;max-width:100%}:where([hidden]){display:none}:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(*) ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-thumb{background-clip:"padding-box";background-color:var(--nv-color-secondary-foreground-alpha-300);border-radius:.25rem}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background-color:initial}}.nt-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.nt-invisible{visibility:hidden}.nt-absolute{position:absolute}.nt-relative{position:relative}.nt-inset-0{inset:0}.nt-inset-2{inset:.5rem}.nt-left-0{left:0}.nt-left-0\\.5{left:.125rem}.nt-right-0{right:0}.nt-right-3{right:.75rem}.nt-top-0{top:0}.nt-top-0\\.5{top:.125rem}.nt-top-3{top:.75rem}.nt-z-10{z-index:10}.nt-z-\\[-1\\]{z-index:-1}.nt-mx-auto{margin-left:auto;margin-right:auto}.nt-mb-4{margin-bottom:1rem}.nt-mb-\\[0\\.625rem\\]{margin-bottom:.625rem}.nt-ml-auto{margin-left:auto}.nt-mr-auto{margin-right:auto}.nt-mt-auto{margin-top:auto}.nt-block{display:block}.nt-flex{display:flex}.nt-inline-flex{display:inline-flex}.nt-hidden{display:none}.nt-aspect-square{aspect-ratio:1/1}.nt-size-1{height:.25rem;width:.25rem}.nt-size-1\\.5{height:.375rem;width:.375rem}.nt-size-2{height:.5rem;width:.5rem}.nt-size-2\\.5{height:.625rem;width:.625rem}.nt-size-3{height:.75rem;width:.75rem}.nt-size-4{height:1rem;width:1rem}.nt-size-5{height:1.25rem;width:1.25rem}.nt-size-8{height:2rem;width:2rem}.nt-size-full{height:100%;width:100%}.nt-h-2{height:.5rem}.nt-h-3{height:.75rem}.nt-h-4{height:1rem}.nt-h-8{height:2rem}.nt-h-\\[600px\\]{height:600px}.nt-h-fit{height:-moz-fit-content;height:fit-content}.nt-h-full{height:100%}.nt-min-h-0{min-height:0}.nt-w-1\\/3{width:33.333333%}.nt-w-2\\/3{width:66.666667%}.nt-w-7{width:1.75rem}.nt-w-8{width:2rem}.nt-w-\\[400px\\]{width:400px}.nt-w-fit{width:-moz-fit-content;width:fit-content}.nt-w-full{width:100%}.nt-w-max{width:max-content}.nt-min-w-52{min-width:13rem}.nt-flex-1{flex:1 1 0%}.nt-shrink-0{flex-shrink:0}.nt-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.nt-cursor-default{cursor:default}.nt-cursor-pointer{cursor:pointer}.nt-flex-col{flex-direction:column}.nt-flex-wrap{flex-wrap:wrap}.nt-flex-nowrap{flex-wrap:nowrap}.nt-items-start{align-items:flex-start}.nt-items-center{align-items:center}.nt-justify-center{justify-content:center}.nt-justify-between{justify-content:space-between}.nt-gap-0{gap:0}.nt-gap-0\\.5{gap:.125rem}.nt-gap-1{gap:.25rem}.nt-gap-2{gap:.5rem}.nt-gap-3{gap:.75rem}.nt-gap-4{gap:1rem}.nt-gap-6{gap:1.5rem}.nt-gap-8{gap:2rem}.nt-self-stretch{align-self:stretch}.nt-overflow-auto{overflow:auto}.nt-overflow-hidden{overflow:hidden}.nt-overflow-y-auto{overflow-y:auto}.nt-truncate{overflow:hidden;text-overflow:ellipsis}.nt-truncate,.nt-whitespace-nowrap{white-space:nowrap}.nt-whitespace-pre-wrap{white-space:pre-wrap}.nt-rounded{border-radius:var(--nv-radius-base)}.nt-rounded-full{border-radius:var(--nv-radius-full)}.nt-rounded-lg{border-radius:var(--nv-radius-lg)}.nt-rounded-md{border-radius:var(--nv-radius-md)}.nt-rounded-xl{border-radius:var(--nv-radius-xl)}.nt-border{border-width:1px}.nt-border-b{border-bottom-width:1px}.nt-border-t{border-top-width:1px}.nt-border-background{border-color:var(--nv-color-background)}.nt-border-border,.nt-border-neutral-alpha-100{border-color:var(--nv-color-neutral-alpha-100)}.nt-border-neutral-alpha-50{border-color:var(--nv-color-neutral-alpha-50)}.nt-border-t-neutral-alpha-200{border-top-color:var(--nv-color-neutral-alpha-200)}.nt-bg-\\[oklch\\(from_var\\(--nv-color-stripes\\)_l_c_h_\\/_0\\.1\\)\\]{background-color:oklch(from var(--nv-color-stripes) l c h/.1)}.nt-bg-background{background-color:var(--nv-color-background)}.nt-bg-counter{background-color:var(--nv-color-counter)}.nt-bg-foreground{background-color:var(--nv-color-foreground)}.nt-bg-neutral-alpha-100{background-color:var(--nv-color-neutral-alpha-100)}.nt-bg-neutral-alpha-25{background-color:var(--nv-color-neutral-alpha-25)}.nt-bg-neutral-alpha-300{background-color:var(--nv-color-neutral-alpha-300)}.nt-bg-neutral-alpha-50{background-color:var(--nv-color-neutral-alpha-50)}.nt-bg-primary{background-color:var(--nv-color-primary)}.nt-bg-secondary{background-color:var(--nv-color-secondary)}.nt-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.nt-bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.nt-from-foreground-alpha-50{--tw-gradient-from:var(--nv-color-foreground-alpha-50) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.nt-from-primary-foreground-alpha-200{--tw-gradient-from:var(--nv-color-primary-foreground-alpha-200) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.nt-from-transparent{--tw-gradient-from:#0000 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.nt-from-20\\%{--tw-gradient-from-position:20%}.nt-to-background{--tw-gradient-to:var(--nv-color-background) var(--tw-gradient-to-position)}.nt-to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.nt-object-cover{object-fit:cover}.nt-p-0{padding:0}.nt-p-0\\.5{padding:.125rem}.nt-p-1{padding:.25rem}.nt-p-2{padding:.5rem}.nt-p-2\\.5{padding:.625rem}.nt-p-3{padding:.75rem}.nt-p-4{padding:1rem}.nt-px-1{padding-left:.25rem;padding-right:.25rem}.nt-px-2{padding-left:.5rem;padding-right:.5rem}.nt-px-3{padding-left:.75rem;padding-right:.75rem}.nt-px-4{padding-left:1rem;padding-right:1rem}.nt-px-8{padding-left:2rem;padding-right:2rem}.nt-px-\\[6px\\]{padding-left:6px;padding-right:6px}.nt-py-1{padding-bottom:.25rem;padding-top:.25rem}.nt-py-2{padding-bottom:.5rem;padding-top:.5rem}.nt-py-3{padding-bottom:.75rem;padding-top:.75rem}.nt-py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.nt-py-4{padding-bottom:1rem;padding-top:1rem}.nt-py-px{padding-bottom:1px;padding-top:1px}.nt-pb-2{padding-bottom:.5rem}.nt-pb-\\[0\\.625rem\\]{padding-bottom:.625rem}.nt-pt-2{padding-top:.5rem}.nt-pt-2\\.5{padding-top:.625rem}.nt-text-center{text-align:center}.nt-text-start{text-align:start}.nt-text-base{font-size:var(--nv-font-size-base);line-height:var(--nv-line-height-base)}.nt-text-sm{font-size:var(--nv-font-size-sm);line-height:var(--nv-line-height-sm)}.nt-text-xs{font-size:var(--nv-font-size-xs);line-height:var(--nv-line-height-xs)}.nt-font-medium{font-weight:500}.nt-font-semibold{font-weight:600}.nt-leading-none{line-height:1}.nt-text-background{color:var(--nv-color-background)}.nt-text-counter-foreground{color:var(--nv-color-counter-foreground)}.nt-text-foreground{color:var(--nv-color-foreground)}.nt-text-foreground-alpha-300{color:var(--nv-color-foreground-alpha-300)}.nt-text-foreground-alpha-400{color:var(--nv-color-foreground-alpha-400)}.nt-text-foreground-alpha-600{color:var(--nv-color-foreground-alpha-600)}.nt-text-foreground-alpha-700{color:var(--nv-color-foreground-alpha-700)}.nt-text-primary-foreground{color:var(--nv-color-primary-foreground)}.nt-text-secondary-foreground{color:var(--nv-color-secondary-foreground)}.nt-text-stripes{color:var(--nv-color-stripes)}.nt-opacity-0{opacity:0}.nt-shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-\\[0_0_0_0\\.5px_var\\(--nv-color-primary-600\\)\\]{--tw-shadow:0 0 0 0.5px var(--nv-color-primary-600);--tw-shadow-colored:0 0 0 0.5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-\\[0_0_0_0\\.5px_var\\(--nv-color-secondary-600\\)\\]{--tw-shadow:0 0 0 0.5px var(--nv-color-secondary-600);--tw-shadow-colored:0 0 0 0.5px var(--tw-shadow-color)}.nt-shadow-\\[0_0_0_0\\.5px_var\\(--nv-color-secondary-600\\)\\],.nt-shadow-dropdown{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-dropdown{--tw-shadow:0px 12px 16px -4px oklch(from var(--nv-color-shadow) l c h/0.08),0px 4px 6px -2px oklch(from var(--nv-color-shadow) l c h/0.03);--tw-shadow-colored:0px 12px 16px -4px var(--tw-shadow-color),0px 4px 6px -2px var(--tw-shadow-color)}.nt-shadow-popover{--tw-shadow:0px 8px 26px 0px oklch(from var(--nv-color-shadow) l c h/0.08),0px 2px 6px 0px oklch(from var(--nv-color-shadow) l c h/0.12);--tw-shadow-colored:0px 8px 26px 0px var(--tw-shadow-color),0px 2px 6px 0px var(--tw-shadow-color)}.nt-shadow-popover,.nt-shadow-tooltip{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-tooltip{--tw-shadow:0 5px 20px 0 oklch(from var(--nv-color-shadow) l c h/0.08);--tw-shadow-colored:0 5px 20px 0 var(--tw-shadow-color)}.nt-outline-none{outline:2px solid #0000;outline-offset:2px}.nt-backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.nt-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-duration-100{transition-duration:.1s}.nt-duration-200{transition-duration:.2s}.nt-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.nt-animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.nt-fade-in{--tw-enter-opacity:0}.nt-slide-in-from-top-2{--tw-enter-translate-y:-0.5rem}.nt-duration-100{animation-duration:.1s}.nt-duration-200{animation-duration:.2s}.nt-ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.before\\:nt-absolute:before{content:var(--tw-content);position:absolute}.before\\:nt-inset-0:before{content:var(--tw-content);inset:0}.before\\:-nt-right-\\[calc\\(0\\+var\\(--stripes-size\\)\\)\\]:before{content:var(--tw-content);right:calc(var(--stripes-size)*-1)}@keyframes nt-stripes{0%{content:var(--tw-content);transform:translateX(0)}to{content:var(--tw-content);transform:translateX(calc(var(--stripes-size)*-1))}}.before\\:nt-animate-stripes:before{animation:nt-stripes 1s linear infinite paused;content:var(--tw-content)}.before\\:nt-rounded-lg:before{border-radius:var(--nv-radius-lg);content:var(--tw-content)}.before\\:nt-rounded-md:before{border-radius:var(--nv-radius-md);content:var(--tw-content)}.before\\:nt-rounded-xl:before{border-radius:var(--nv-radius-xl);content:var(--tw-content)}.before\\:nt-border:before{border-width:1px;content:var(--tw-content)}.before\\:nt-border-primary-foreground-alpha-100:before{border-color:var(--nv-color-primary-foreground-alpha-100);content:var(--tw-content)}.before\\:nt-border-secondary-foreground-alpha-100:before{border-color:var(--nv-color-secondary-foreground-alpha-100);content:var(--tw-content)}.before\\:nt-bg-dev-stripes-gradient:before{background-image:repeating-linear-gradient(135deg,oklch(from var(--nv-color-stripes) l c h/.1) 25%,oklch(from var(--nv-color-stripes) l c h/.1) 50%,oklch(from var(--nv-color-stripes) l c h/.2) 50%,oklch(from var(--nv-color-stripes) l c h/.2) 75%);content:var(--tw-content)}.before\\:nt-bg-\\[length\\:var\\(--stripes-size\\)_var\\(--stripes-size\\)\\]:before{background-size:var(--stripes-size) var(--stripes-size);content:var(--tw-content)}.before\\:nt-content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.before\\:\\[mask-image\\:linear-gradient\\(transparent_0\\%\\2c black\\)\\]:before{content:var(--tw-content);-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.after\\:nt-absolute:after{content:var(--tw-content);position:absolute}.after\\:nt-inset-0:after{content:var(--tw-content);inset:0}.after\\:-nt-top-12:after{content:var(--tw-content);top:-3rem}.after\\:nt-bottom-0:after{bottom:0;content:var(--tw-content)}.after\\:nt-left-0:after{content:var(--tw-content);left:0}.after\\:nt-left-0\\.5:after{content:var(--tw-content);left:.125rem}.after\\:nt-top-0:after{content:var(--tw-content);top:0}.after\\:nt-top-0\\.5:after{content:var(--tw-content);top:.125rem}.after\\:nt-size-3:after{content:var(--tw-content);height:.75rem;width:.75rem}.after\\:nt-h-\\[2px\\]:after{content:var(--tw-content);height:2px}.after\\:nt-w-full:after{content:var(--tw-content);width:100%}.after\\:nt-rounded-full:after{border-radius:var(--nv-radius-full);content:var(--tw-content)}.after\\:nt-rounded-lg:after{border-radius:var(--nv-radius-lg);content:var(--tw-content)}.after\\:nt-rounded-md:after{border-radius:var(--nv-radius-md);content:var(--tw-content)}.after\\:nt-rounded-xl:after{border-radius:var(--nv-radius-xl);content:var(--tw-content)}.after\\:nt-border-b-2:after{border-bottom-width:2px;content:var(--tw-content)}.after\\:nt-border-b-primary:after{border-bottom-color:var(--nv-color-primary);content:var(--tw-content)}.after\\:nt-border-b-transparent:after{border-bottom-color:#0000;content:var(--tw-content)}.after\\:nt-bg-background:after{background-color:var(--nv-color-background);content:var(--tw-content)}.after\\:nt-bg-\\[linear-gradient\\(180deg\\2c transparent\\2c oklch\\(from_var\\(--nv-color-background\\)_l_c_h_\\/_0\\.9\\)_55\\%\\2c transparent\\)\\]:after{background-image:linear-gradient(180deg,#0000,oklch(from var(--nv-color-background) l c h/.9) 55%,#0000);content:var(--tw-content)}.after\\:nt-bg-\\[linear-gradient\\(180deg\\2c transparent\\2c oklch\\(from_var\\(--nv-color-stripes\\)_l_c_h_\\/_0\\.07\\)_55\\%\\2c transparent\\)\\2c linear-gradient\\(180deg\\2c transparent\\2c oklch\\(from_var\\(--nv-color-background\\)_l_c_h_\\/_0\\.9\\)_55\\%\\2c transparent\\)\\]:after{background-image:linear-gradient(180deg,#0000,oklch(from var(--nv-color-stripes) l c h/.07) 55%,#0000),linear-gradient(180deg,#0000,oklch(from var(--nv-color-background) l c h/.9) 55%,#0000);content:var(--tw-content)}.after\\:nt-bg-gradient-to-b:after{background-image:linear-gradient(to bottom,var(--tw-gradient-stops));content:var(--tw-content)}.after\\:nt-from-primary-foreground-alpha-50:after{content:var(--tw-content);--tw-gradient-from:var(--nv-color-primary-foreground-alpha-50) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.after\\:nt-from-secondary-foreground-alpha-50:after{content:var(--tw-content);--tw-gradient-from:var(--nv-color-secondary-foreground-alpha-50) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.after\\:nt-to-transparent:after{content:var(--tw-content);--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.after\\:nt-opacity-0:after{content:var(--tw-content);opacity:0}.after\\:nt-transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:nt-transition-opacity:after{content:var(--tw-content);transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:nt-duration-200:after{transition-duration:.2s}.after\\:nt-content-\\[\\"\\"\\]:after,.after\\:nt-content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.after\\:nt-duration-200:after{animation-duration:.2s;content:var(--tw-content)}.hover\\:nt-bg-neutral-alpha-100:hover{background-color:var(--nv-color-neutral-alpha-100)}.hover\\:nt-bg-neutral-alpha-50:hover{background-color:var(--nv-color-neutral-alpha-50)}.hover\\:nt-bg-primary-600:hover{background-color:var(--nv-color-primary-600)}.hover\\:nt-bg-primary-alpha-25:hover{background-color:var(--nv-color-primary-alpha-25)}.hover\\:nt-text-foreground-alpha-800:hover{color:var(--nv-color-foreground-alpha-800)}.before\\:hover\\:\\[animation-play-state\\:running\\]:hover:before{animation-play-state:running;content:var(--tw-content)}.hover\\:after\\:nt-opacity-100:hover:after{content:var(--tw-content);opacity:1}.focus\\:nt-outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus-visible\\:nt-rounded-lg:focus-visible{border-radius:var(--nv-radius-lg)}.focus-visible\\:nt-rounded-md:focus-visible{border-radius:var(--nv-radius-md)}.focus-visible\\:nt-rounded-xl:focus-visible{border-radius:var(--nv-radius-xl)}.focus-visible\\:nt-bg-neutral-alpha-50:focus-visible{background-color:var(--nv-color-neutral-alpha-50)}.focus-visible\\:nt-outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\\:nt-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:nt-ring-primary:focus-visible{--tw-ring-color:var(--nv-color-primary)}.focus-visible\\:nt-ring-ring:focus-visible{--tw-ring-color:var(--nv-color-ring)}.focus-visible\\:nt-ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:nt-pointer-events-none:disabled{pointer-events:none}.disabled\\:nt-opacity-50:disabled{opacity:.5}.nt-group:focus-within .group-focus-within\\:nt-opacity-100,.nt-group:hover .group-hover\\:nt-opacity-100{opacity:1}.nt-peer:checked~.peer-checked\\:nt-border-neutral-alpha-400{border-color:var(--nv-color-neutral-alpha-400)}.nt-peer:checked~.peer-checked\\:nt-bg-primary{background-color:var(--nv-color-primary)}.nt-peer:checked~.peer-checked\\:nt-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-peer:checked~.peer-checked\\:after\\:nt-translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.nt-peer:checked~.peer-checked\\:after\\:nt-border-background:after{border-color:var(--nv-color-background);content:var(--tw-content)}.data-\\[open\\=true\\]\\:nt-rotate-180[data-open=true]{--tw-rotate:180deg}.data-\\[open\\=true\\]\\:nt-rotate-180[data-open=true],.data-\\[open\\=true\\]\\:nt-transform[data-open=true]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[disabled\\=true\\]\\:nt-text-foreground-alpha-400[data-disabled=true]{color:var(--nv-color-foreground-alpha-400)}.data-\\[disabled\\=true\\]\\:nt-text-foreground-alpha-600[data-disabled=true]{color:var(--nv-color-foreground-alpha-600)}.data-\\[state\\=active\\]\\:nt-text-foreground[data-state=active]{color:var(--nv-color-foreground)}.data-\\[state\\=active\\]\\:after\\:nt-border-b-2[data-state=active]:after{border-bottom-width:2px;content:var(--tw-content)}.data-\\[state\\=active\\]\\:after\\:nt-border-primary[data-state=active]:after{border-color:var(--nv-color-primary);content:var(--tw-content)}.data-\\[state\\=active\\]\\:after\\:nt-opacity-100[data-state=active]:after{content:var(--tw-content);opacity:1}.\\[\\&\\:not\\(\\:first-child\\)\\]\\:nt-border-t:not(:first-child){border-top-width:1px}.\\[\\&_svg\\]\\:nt-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:nt-shrink-0 svg{flex-shrink:0}`;
89
22
 
90
23
  // src/ui/config/appearanceKeys.ts
91
24
  var appearanceKeys = [
@@ -241,6 +174,30 @@ var appearanceKeys = [
241
174
  // Text formatting
242
175
  "strong"
243
176
  ];
177
+ var defaultLocalization = {
178
+ locale: "en-US",
179
+ "inbox.filters.dropdownOptions.unread": "Unread only",
180
+ "inbox.filters.dropdownOptions.default": "Unread & read",
181
+ "inbox.filters.dropdownOptions.archived": "Archived",
182
+ "inbox.filters.labels.unread": "Unread",
183
+ "inbox.filters.labels.default": "Inbox",
184
+ "inbox.filters.labels.archived": "Archived",
185
+ "notifications.emptyNotice": "Quiet for now. Check back later.",
186
+ "notifications.actions.readAll": "Mark all as read",
187
+ "notifications.actions.archiveAll": "Archive all",
188
+ "notifications.actions.archiveRead": "Archive read",
189
+ "notifications.newNotifications": ({ notificationCount }) => `${notificationCount > 99 ? "99+" : notificationCount} new ${notificationCount === 1 ? "notification" : "notifications"}`,
190
+ "notification.actions.read.tooltip": "Mark as read",
191
+ "notification.actions.unread.tooltip": "Mark as unread",
192
+ "notification.actions.archive.tooltip": "Archive",
193
+ "notification.actions.unarchive.tooltip": "Unarchive",
194
+ "preferences.title": "Preferences",
195
+ "preferences.emptyNotice": "No notification specific preferences yet.",
196
+ "preferences.global": "Global Preferences",
197
+ "preferences.workflow.disabled.notice": "Contact admin to enable subscription management for this critical notification.",
198
+ "preferences.workflow.disabled.tooltip": "Contact admin to edit"
199
+ };
200
+ var [dynamicLocalization, setDynamicLocalization] = solidJs.createSignal({});
244
201
 
245
202
  // src/ui/config/defaultVariables.ts
246
203
  var defaultVariables = {
@@ -780,9 +737,9 @@ var useBrowserTabsChannel = ({
780
737
  onMessage
781
738
  }) => {
782
739
  const [tabsChannel] = solidJs.createSignal(new BroadcastChannel(channelName));
783
- const postMessage = (data) => {
740
+ const postMessage = (args) => {
784
741
  const channel = tabsChannel();
785
- channel.postMessage(data);
742
+ channel.postMessage(args);
786
743
  };
787
744
  solidJs.onMount(() => {
788
745
  const listener = (event) => {
@@ -803,7 +760,7 @@ var useWebSocketEvent = ({
803
760
  eventHandler: onMessage
804
761
  }) => {
805
762
  const novu = useNovu();
806
- const channelName = `nv_ws_connection:a=${novu.applicationIdentifier}:s=${novu.subscriberId}`;
763
+ const channelName = `nv_ws_connection:a=${novu.applicationIdentifier}:s=${novu.subscriberId}:e=${webSocketEvent}`;
807
764
  const { postMessage } = useBrowserTabsChannel({ channelName, onMessage });
808
765
  const updateReadCount = (data) => {
809
766
  onMessage(data);
@@ -822,6 +779,51 @@ var useWebSocketEvent = ({
822
779
  });
823
780
  });
824
781
  };
782
+ var LocalizationContext = solidJs.createContext(void 0);
783
+ var LocalizationProvider = (props) => {
784
+ const localization = solidJs.createMemo(() => {
785
+ const _a = props.localization || {}, {
786
+ dynamic
787
+ } = _a, localizationObject = chunk7B52C2XE_js.__objRest(_a, [
788
+ "dynamic"
789
+ ]);
790
+ return chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues({}, defaultLocalization), dynamicLocalization()), dynamic || {}), localizationObject);
791
+ });
792
+ const t = (key, ...args) => {
793
+ const value = localization()[key];
794
+ if (typeof value === "function") {
795
+ return value(args[0]);
796
+ }
797
+ return value;
798
+ };
799
+ const locale = solidJs.createMemo(() => localization().locale);
800
+ return web.createComponent(LocalizationContext.Provider, {
801
+ value: {
802
+ t,
803
+ locale
804
+ },
805
+ get children() {
806
+ return props.children;
807
+ }
808
+ });
809
+ };
810
+ function useLocalization() {
811
+ const context = solidJs.useContext(LocalizationContext);
812
+ if (!context) {
813
+ throw new Error("useLocalization must be used within an LocalizationProvider");
814
+ }
815
+ return context;
816
+ }
817
+
818
+ // src/ui/types.ts
819
+ var NotificationStatus = /* @__PURE__ */ ((NotificationStatus2) => {
820
+ NotificationStatus2["UNREAD_READ"] = "unreadRead";
821
+ NotificationStatus2["UNREAD"] = "unread";
822
+ NotificationStatus2["ARCHIVED"] = "archived";
823
+ return NotificationStatus2;
824
+ })(NotificationStatus || {});
825
+
826
+ // src/ui/context/InboxContext.tsx
825
827
  var InboxContext = solidJs.createContext(void 0);
826
828
  var STATUS_TO_FILTER = {
827
829
  ["unreadRead" /* UNREAD_READ */]: {
@@ -936,7 +938,7 @@ var useInboxContext = () => {
936
938
  };
937
939
  var NovuContext = solidJs.createContext(void 0);
938
940
  function NovuProvider(props) {
939
- const novu = solidJs.createMemo(() => props.novu || new chunk47NZ3DJQ_js.Novu(props.options));
941
+ const novu = solidJs.createMemo(() => props.novu || new chunk4KMXR5HJ_js.Novu(props.options));
940
942
  return web.createComponent(NovuContext.Provider, {
941
943
  get value() {
942
944
  return novu();
@@ -2311,7 +2313,7 @@ var useNotificationsInfiniteScroll = (props) => {
2311
2313
  );
2312
2314
  solidJs.onMount(() => {
2313
2315
  const listener = ({ data: data2 }) => {
2314
- if (!data2 || !chunk47NZ3DJQ_js.isSameFilter(filter, data2.filter)) {
2316
+ if (!data2 || !chunk4KMXR5HJ_js.isSameFilter(filter, data2.filter)) {
2315
2317
  return;
2316
2318
  }
2317
2319
  mutate({ data: data2.notifications, hasMore: data2.hasMore });
@@ -2321,7 +2323,7 @@ var useNotificationsInfiniteScroll = (props) => {
2321
2323
  });
2322
2324
  solidJs.createEffect(() => chunk7B52C2XE_js.__async(void 0, null, function* () {
2323
2325
  const newFilter = chunk7B52C2XE_js.__spreadValues({}, props.options());
2324
- if (chunk47NZ3DJQ_js.isSameFilter(filter, newFilter)) {
2326
+ if (chunk4KMXR5HJ_js.isSameFilter(filter, newFilter)) {
2325
2327
  return;
2326
2328
  }
2327
2329
  novu.notifications.clearCache();
@@ -4486,11 +4488,10 @@ var Renderer = (props) => {
4486
4488
  if (el) {
4487
4489
  return;
4488
4490
  }
4489
- const link = document.createElement("link");
4490
- link.id = id;
4491
- link.rel = "stylesheet";
4492
- link.href = props.cssHref;
4493
- document.head.insertBefore(link, document.head.firstChild);
4491
+ const styleEl = document.createElement("style");
4492
+ styleEl.id = id;
4493
+ document.head.insertBefore(styleEl, document.head.firstChild);
4494
+ styleEl.innerHTML = ui_default;
4494
4495
  solidJs.onCleanup(() => {
4495
4496
  const element = document.getElementById(id);
4496
4497
  element == null ? void 0 : element.remove();
@@ -4577,8 +4578,8 @@ var Renderer = (props) => {
4577
4578
  }
4578
4579
  });
4579
4580
  };
4580
- var version = "3.0.3";
4581
- var cssHref = `https://cdn.jsdelivr.net/npm/@novu/js@${version}/dist/index.css`;
4581
+
4582
+ // src/ui/novuUI.tsx
4582
4583
  var _dispose, _rootElement, _mountedElements, _setMountedElements, _appearance, _setAppearance, _localization, _setLocalization, _options, _setOptions, _tabs, _setTabs, _routerPush, _setRouterPush, _preferencesFilter, _setPreferencesFilter, _predefinedNovu, _NovuUI_instances, mountComponentRenderer_fn, updateComponentProps_fn;
4583
4584
  var NovuUI = class {
4584
4585
  constructor(props) {
@@ -4703,7 +4704,6 @@ mountComponentRenderer_fn = function() {
4703
4704
  const dispose = web.render(() => {
4704
4705
  const _self$ = this;
4705
4706
  return web.createComponent(Renderer, {
4706
- cssHref,
4707
4707
  novuUI: _self$,
4708
4708
  get nodes() {
4709
4709
  var _a;
@@ -10,20 +10,6 @@ var NotificationStatus = /* @__PURE__ */ ((NotificationStatus2) => {
10
10
  NotificationStatus2["UNSEEN"] = "unseen";
11
11
  return NotificationStatus2;
12
12
  })(NotificationStatus || {});
13
- var NotificationButton = /* @__PURE__ */ ((NotificationButton2) => {
14
- NotificationButton2["PRIMARY"] = "primary";
15
- NotificationButton2["SECONDARY"] = "secondary";
16
- return NotificationButton2;
17
- })(NotificationButton || {});
18
- var NotificationActionStatus = /* @__PURE__ */ ((NotificationActionStatus2) => {
19
- NotificationActionStatus2["PENDING"] = "pending";
20
- NotificationActionStatus2["DONE"] = "done";
21
- return NotificationActionStatus2;
22
- })(NotificationActionStatus || {});
23
- var CtaType = /* @__PURE__ */ ((CtaType2) => {
24
- CtaType2["REDIRECT"] = "redirect";
25
- return CtaType2;
26
- })(CtaType || {});
27
13
  var PreferenceLevel = /* @__PURE__ */ ((PreferenceLevel2) => {
28
14
  PreferenceLevel2["GLOBAL"] = "global";
29
15
  PreferenceLevel2["TEMPLATE"] = "template";
@@ -37,29 +23,12 @@ var ChannelType = /* @__PURE__ */ ((ChannelType2) => {
37
23
  ChannelType2["PUSH"] = "push";
38
24
  return ChannelType2;
39
25
  })(ChannelType || {});
40
- var PreferenceOverrideSource = /* @__PURE__ */ ((PreferenceOverrideSource2) => {
41
- PreferenceOverrideSource2["SUBSCRIBER"] = "subscriber";
42
- PreferenceOverrideSource2["TEMPLATE"] = "template";
43
- PreferenceOverrideSource2["WORKFLOW_OVERRIDE"] = "workflowOverride";
44
- return PreferenceOverrideSource2;
45
- })(PreferenceOverrideSource || {});
46
26
  var WebSocketEvent = /* @__PURE__ */ ((WebSocketEvent2) => {
47
27
  WebSocketEvent2["RECEIVED"] = "notification_received";
48
28
  WebSocketEvent2["UNREAD"] = "unread_count_changed";
49
29
  WebSocketEvent2["UNSEEN"] = "unseen_count_changed";
50
30
  return WebSocketEvent2;
51
31
  })(WebSocketEvent || {});
52
- var ActionTypeEnum = /* @__PURE__ */ ((ActionTypeEnum2) => {
53
- ActionTypeEnum2["PRIMARY"] = "primary";
54
- ActionTypeEnum2["SECONDARY"] = "secondary";
55
- return ActionTypeEnum2;
56
- })(ActionTypeEnum || {});
57
- var PreferenceOverrideSourceEnum = /* @__PURE__ */ ((PreferenceOverrideSourceEnum2) => {
58
- PreferenceOverrideSourceEnum2["SUBSCRIBER"] = "subscriber";
59
- PreferenceOverrideSourceEnum2["TEMPLATE"] = "template";
60
- PreferenceOverrideSourceEnum2["WORKFLOW_OVERRIDE"] = "workflowOverride";
61
- return PreferenceOverrideSourceEnum2;
62
- })(PreferenceOverrideSourceEnum || {});
63
32
 
64
33
  // src/utils/arrays.ts
65
34
  var arrayValuesEqual = (arr1, arr2) => {
@@ -84,7 +53,7 @@ var isSameFilter = (filter1, filter2) => {
84
53
  // src/api/http-client.ts
85
54
  var DEFAULT_API_VERSION = "v1";
86
55
  var DEFAULT_BACKEND_URL = "https://api.novu.co";
87
- var DEFAULT_USER_AGENT = `${"@novu/js"}@${"3.0.3"}`;
56
+ var DEFAULT_USER_AGENT = `${"@novu/js"}@${"3.2.0"}`;
88
57
  var HttpClient = class {
89
58
  constructor(options = {}) {
90
59
  const {
@@ -199,13 +168,13 @@ var InboxService = class {
199
168
  initializeSession(_0) {
200
169
  return __async(this, arguments, function* ({
201
170
  applicationIdentifier,
202
- subscriberId,
203
- subscriberHash
171
+ subscriberHash,
172
+ subscriber
204
173
  }) {
205
174
  const response = yield __privateGet(this, _httpClient).post(`${INBOX_ROUTE}/session`, {
206
175
  applicationIdentifier,
207
- subscriberId,
208
- subscriberHash
176
+ subscriberHash,
177
+ subscriber
209
178
  });
210
179
  __privateGet(this, _httpClient).setAuthorizationToken(response.token);
211
180
  this.isSessionInitialized = true;
@@ -407,7 +376,7 @@ var Notification = class {
407
376
  this.tags = notification.tags;
408
377
  this.redirect = notification.redirect;
409
378
  this.data = notification.data;
410
- this.workflowId = notification.workflowId;
379
+ this.workflow = notification.workflow;
411
380
  }
412
381
  read() {
413
382
  return read({
@@ -1520,17 +1489,17 @@ var Session = class {
1520
1489
  return __privateGet(this, _options).applicationIdentifier;
1521
1490
  }
1522
1491
  get subscriberId() {
1523
- return __privateGet(this, _options).subscriberId;
1492
+ return __privateGet(this, _options).subscriber.subscriberId;
1524
1493
  }
1525
1494
  initialize() {
1526
1495
  return __async(this, null, function* () {
1527
1496
  try {
1528
- const { applicationIdentifier, subscriberId, subscriberHash } = __privateGet(this, _options);
1497
+ const { applicationIdentifier, subscriberHash, subscriber } = __privateGet(this, _options);
1529
1498
  __privateGet(this, _emitter5).emit("session.initialize.pending", { args: __privateGet(this, _options) });
1530
1499
  const response = yield __privateGet(this, _inboxService2).initializeSession({
1531
1500
  applicationIdentifier,
1532
- subscriberId,
1533
- subscriberHash
1501
+ subscriberHash,
1502
+ subscriber
1534
1503
  });
1535
1504
  __privateGet(this, _emitter5).emit("session.initialize.resolved", { args: __privateGet(this, _options), data: response });
1536
1505
  } catch (error) {
@@ -1561,20 +1530,25 @@ var mapToNotification = ({
1561
1530
  cta,
1562
1531
  tags,
1563
1532
  data,
1564
- workflowId
1533
+ workflow
1565
1534
  }) => {
1566
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
1535
+ var _a, _b, _c, _d, _e, _f, _g, _h;
1567
1536
  const to = {
1568
- id: (_a = subscriber == null ? void 0 : subscriber._id) != null ? _a : "",
1537
+ id: subscriber == null ? void 0 : subscriber._id,
1538
+ subscriberId: subscriber == null ? void 0 : subscriber.subscriberId,
1569
1539
  firstName: subscriber == null ? void 0 : subscriber.firstName,
1570
1540
  lastName: subscriber == null ? void 0 : subscriber.lastName,
1571
1541
  avatar: subscriber == null ? void 0 : subscriber.avatar,
1572
- subscriberId: (_b = subscriber == null ? void 0 : subscriber.subscriberId) != null ? _b : ""
1542
+ locale: subscriber == null ? void 0 : subscriber.locale,
1543
+ data: subscriber == null ? void 0 : subscriber.data,
1544
+ timezone: subscriber == null ? void 0 : subscriber.timezone,
1545
+ email: subscriber == null ? void 0 : subscriber.email,
1546
+ phone: subscriber == null ? void 0 : subscriber.phone
1573
1547
  };
1574
- const primaryCta = (_d = (_c = cta.action) == null ? void 0 : _c.buttons) == null ? void 0 : _d.find((button) => button.type === "primary" /* PRIMARY */);
1575
- const secondaryCta = (_f = (_e = cta.action) == null ? void 0 : _e.buttons) == null ? void 0 : _f.find((button) => button.type === "secondary" /* SECONDARY */);
1576
- const actionType = (_h = (_g = cta.action) == null ? void 0 : _g.result) == null ? void 0 : _h.type;
1577
- const actionStatus = (_i = cta.action) == null ? void 0 : _i.status;
1548
+ const primaryCta = (_b = (_a = cta.action) == null ? void 0 : _a.buttons) == null ? void 0 : _b.find((button) => button.type === "primary" /* PRIMARY */);
1549
+ const secondaryCta = (_d = (_c = cta.action) == null ? void 0 : _c.buttons) == null ? void 0 : _d.find((button) => button.type === "secondary" /* SECONDARY */);
1550
+ const actionType = (_f = (_e = cta.action) == null ? void 0 : _e.result) == null ? void 0 : _f.type;
1551
+ const actionStatus = (_g = cta.action) == null ? void 0 : _g.status;
1578
1552
  return {
1579
1553
  id: _id,
1580
1554
  subject,
@@ -1604,12 +1578,12 @@ var mapToNotification = ({
1604
1578
  },
1605
1579
  channelType: channel,
1606
1580
  tags,
1607
- redirect: ((_j = cta.data) == null ? void 0 : _j.url) ? {
1581
+ redirect: ((_h = cta.data) == null ? void 0 : _h.url) ? {
1608
1582
  url: cta.data.url,
1609
1583
  target: cta.data.target
1610
1584
  } : void 0,
1611
1585
  data,
1612
- workflowId
1586
+ workflow
1613
1587
  };
1614
1588
  };
1615
1589
  var _token, _emitter6, _socketIo, _socketUrl, _notificationReceived, _unseenCountChanged, _unreadCountChanged, _Socket_instances, initializeSocket_fn, handleConnectSocket_fn, handleDisconnectSocket_fn;
@@ -1742,8 +1716,8 @@ var Novu = class {
1742
1716
  __privateSet(this, _session, new Session(
1743
1717
  {
1744
1718
  applicationIdentifier: options.applicationIdentifier,
1745
- subscriberId: options.subscriberId,
1746
- subscriberHash: options.subscriberHash
1719
+ subscriberHash: options.subscriberHash,
1720
+ subscriber: buildSubscriber(options)
1747
1721
  },
1748
1722
  __privateGet(this, _inboxService3),
1749
1723
  __privateGet(this, _emitter7)
@@ -1787,5 +1761,14 @@ var Novu = class {
1787
1761
  _emitter7 = new WeakMap();
1788
1762
  _session = new WeakMap();
1789
1763
  _inboxService3 = new WeakMap();
1764
+ function buildSubscriber(options) {
1765
+ let subscriberObj;
1766
+ if (options.subscriber) {
1767
+ subscriberObj = typeof options.subscriber === "string" ? { subscriberId: options.subscriber } : options.subscriber;
1768
+ } else {
1769
+ subscriberObj = { subscriberId: options.subscriberId };
1770
+ }
1771
+ return subscriberObj;
1772
+ }
1790
1773
 
1791
- export { ActionTypeEnum, ChannelType, CtaType, NotificationActionStatus, NotificationButton, NotificationStatus, Novu, PreferenceLevel, PreferenceOverrideSource, PreferenceOverrideSourceEnum, WebSocketEvent, areTagsEqual, isSameFilter };
1774
+ export { ChannelType, NotificationStatus, Novu, PreferenceLevel, WebSocketEvent, areTagsEqual, isSameFilter };
@@ -1,5 +1,5 @@
1
- import { N as NotificationFilter } from './novu-BXVPjTIj.mjs';
2
- export { k as Action, A as ActionTypeEnum, m as ChannelPreference, f as ChannelType, C as CtaType, E as EventHandler, a as Events, F as FiltersCountResponse, q as IPreferenceOverride, I as InboxNotification, L as ListNotificationsResponse, i as MessageAction, M as MessageButton, u as Notification, e as NotificationActionStatus, d as NotificationButton, c as NotificationStatus, b as Novu, w as NovuError, s as NovuOptions, n as PaginatedResponse, v as Preference, P as PreferenceLevel, g as PreferenceOverrideSource, p as PreferenceOverrideSourceEnum, o as PreferencesResponse, t as Prettify, R as Redirect, r as Result, h as Session, S as SocketEventNames, j as Subscriber, T as TODO, W as WebSocketEvent, l as Workflow } from './novu-BXVPjTIj.mjs';
1
+ import { N as NotificationFilter } from './novu-jtIKy6p0.mjs';
2
+ export { C as ChannelPreference, c as ChannelType, E as EventHandler, a as Events, F as FiltersCountResponse, I as InboxNotification, L as ListNotificationsResponse, d as Notification, e as NotificationStatus, b as Novu, f as NovuError, g as NovuOptions, P as Preference, h as PreferenceLevel, i as PreferencesResponse, S as SocketEventNames, j as Subscriber, W as WebSocketEvent } from './novu-jtIKy6p0.mjs';
3
3
 
4
4
  declare const areTagsEqual: (tags1?: string[], tags2?: string[]) => boolean;
5
5
  declare const isSameFilter: (filter1: NotificationFilter, filter2: NotificationFilter) => boolean;
@@ -1,2 +1,2 @@
1
- export { ActionTypeEnum, ChannelType, CtaType, NotificationActionStatus, NotificationButton, NotificationStatus, Novu, PreferenceLevel, PreferenceOverrideSource, PreferenceOverrideSourceEnum, WebSocketEvent, areTagsEqual, isSameFilter } from './chunk-GCPLP2EW.mjs';
1
+ export { ChannelType, NotificationStatus, Novu, PreferenceLevel, WebSocketEvent, areTagsEqual, isSameFilter } from './chunk-3SPOLIN3.mjs';
2
2
  import './chunk-STZMOEWR.mjs';