@novu/js 3.0.3 → 3.1.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 chunkWONVNOTK_js = require('../chunk-WONVNOTK.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
+ // _ocwnno0ue:/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 chunkWONVNOTK_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 || !chunkWONVNOTK_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 (chunkWONVNOTK_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.1.0"}`;
88
57
  var HttpClient = class {
89
58
  constructor(options = {}) {
90
59
  const {
@@ -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({
@@ -1561,7 +1530,7 @@ var mapToNotification = ({
1561
1530
  cta,
1562
1531
  tags,
1563
1532
  data,
1564
- workflowId
1533
+ workflow
1565
1534
  }) => {
1566
1535
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
1567
1536
  const to = {
@@ -1609,7 +1578,7 @@ var mapToNotification = ({
1609
1578
  target: cta.data.target
1610
1579
  } : void 0,
1611
1580
  data,
1612
- workflowId
1581
+ workflow
1613
1582
  };
1614
1583
  };
1615
1584
  var _token, _emitter6, _socketIo, _socketUrl, _notificationReceived, _unseenCountChanged, _unreadCountChanged, _Socket_instances, initializeSocket_fn, handleConnectSocket_fn, handleDisconnectSocket_fn;
@@ -1788,4 +1757,4 @@ _emitter7 = new WeakMap();
1788
1757
  _session = new WeakMap();
1789
1758
  _inboxService3 = new WeakMap();
1790
1759
 
1791
- export { ActionTypeEnum, ChannelType, CtaType, NotificationActionStatus, NotificationButton, NotificationStatus, Novu, PreferenceLevel, PreferenceOverrideSource, PreferenceOverrideSourceEnum, WebSocketEvent, areTagsEqual, isSameFilter };
1760
+ 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-DDPQzl99.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, W as WebSocketEvent } from './novu-DDPQzl99.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-WQDFFXIB.mjs';
2
2
  import './chunk-STZMOEWR.mjs';
@@ -66,17 +66,6 @@ declare enum NotificationStatus {
66
66
  UNREAD = "unread",
67
67
  UNSEEN = "unseen"
68
68
  }
69
- declare enum NotificationButton {
70
- PRIMARY = "primary",
71
- SECONDARY = "secondary"
72
- }
73
- declare enum NotificationActionStatus {
74
- PENDING = "pending",
75
- DONE = "done"
76
- }
77
- declare enum CtaType {
78
- REDIRECT = "redirect"
79
- }
80
69
  declare enum PreferenceLevel {
81
70
  GLOBAL = "global",
82
71
  TEMPLATE = "template"
@@ -88,39 +77,17 @@ declare enum ChannelType {
88
77
  CHAT = "chat",
89
78
  PUSH = "push"
90
79
  }
91
- declare enum PreferenceOverrideSource {
92
- SUBSCRIBER = "subscriber",
93
- TEMPLATE = "template",
94
- WORKFLOW_OVERRIDE = "workflowOverride"
95
- }
96
80
  declare enum WebSocketEvent {
97
81
  RECEIVED = "notification_received",
98
82
  UNREAD = "unread_count_changed",
99
83
  UNSEEN = "unseen_count_changed"
100
84
  }
101
- declare enum ActionTypeEnum {
102
- PRIMARY = "primary",
103
- SECONDARY = "secondary"
104
- }
105
85
  type Session = {
106
86
  token: string;
107
87
  totalUnreadCount: number;
108
88
  removeNovuBranding: boolean;
109
89
  isDevelopmentMode: boolean;
110
90
  };
111
- type MessageButton = {
112
- type: NotificationButton;
113
- content: string;
114
- resultContent?: string;
115
- };
116
- type MessageAction = {
117
- status?: NotificationActionStatus;
118
- buttons?: MessageButton[];
119
- result: {
120
- payload?: Record<string, unknown>;
121
- type?: NotificationButton;
122
- };
123
- };
124
91
  type Subscriber = {
125
92
  id: string;
126
93
  firstName?: string;
@@ -132,11 +99,22 @@ type Redirect = {
132
99
  url: string;
133
100
  target?: '_self' | '_blank' | '_parent' | '_top' | '_unfencedTop';
134
101
  };
102
+ declare enum ActionTypeEnum {
103
+ PRIMARY = "primary",
104
+ SECONDARY = "secondary"
105
+ }
135
106
  type Action = {
136
107
  label: string;
137
108
  isCompleted: boolean;
138
109
  redirect?: Redirect;
139
110
  };
111
+ type Workflow = {
112
+ id: string;
113
+ identifier: string;
114
+ name: string;
115
+ critical: boolean;
116
+ tags?: string[];
117
+ };
140
118
  type InboxNotification = {
141
119
  id: string;
142
120
  subject?: string;
@@ -154,20 +132,13 @@ type InboxNotification = {
154
132
  tags?: string[];
155
133
  data?: NotificationData;
156
134
  redirect?: Redirect;
157
- workflowId: string;
135
+ workflow?: Workflow;
158
136
  };
159
137
  type NotificationFilter = {
160
138
  tags?: string[];
161
139
  read?: boolean;
162
140
  archived?: boolean;
163
141
  };
164
- type Workflow = {
165
- id: string;
166
- identifier: string;
167
- name: string;
168
- critical: boolean;
169
- tags?: string[];
170
- };
171
142
  type ChannelPreference = {
172
143
  email?: boolean;
173
144
  sms?: boolean;
@@ -175,13 +146,6 @@ type ChannelPreference = {
175
146
  chat?: boolean;
176
147
  push?: boolean;
177
148
  };
178
- type PaginatedResponse<T = unknown> = {
179
- data: T[];
180
- hasMore: boolean;
181
- totalCount: number;
182
- pageSize: number;
183
- page: number;
184
- };
185
149
  type PreferencesResponse = {
186
150
  level: PreferenceLevel;
187
151
  enabled: boolean;
@@ -198,7 +162,6 @@ type IPreferenceOverride = {
198
162
  channel: ChannelType;
199
163
  source: PreferenceOverrideSourceEnum;
200
164
  };
201
- type TODO = any;
202
165
  type Result<D = undefined, E = NovuError> = Promise<{
203
166
  data?: D;
204
167
  error?: E;
@@ -319,7 +282,7 @@ declare class Notification implements Pick<NovuEventEmitter, 'on'>, InboxNotific
319
282
  readonly tags: InboxNotification['tags'];
320
283
  readonly redirect: InboxNotification['redirect'];
321
284
  readonly data?: InboxNotification['data'];
322
- readonly workflowId: InboxNotification['workflowId'];
285
+ readonly workflow?: InboxNotification['workflow'];
323
286
  constructor(notification: InboxNotification, emitter: NovuEventEmitter, inboxService: InboxService);
324
287
  read(): Result<Notification>;
325
288
  unread(): Result<Notification>;
@@ -582,4 +545,4 @@ declare class Novu implements Pick<NovuEventEmitter, 'on'> {
582
545
  constructor(options: NovuOptions);
583
546
  }
584
547
 
585
- export { ActionTypeEnum as A, CtaType as C, type EventHandler as E, type FiltersCountResponse as F, type InboxNotification as I, type ListNotificationsResponse as L, type MessageButton as M, type NotificationFilter as N, PreferenceLevel as P, type Redirect as R, type SocketEventNames as S, type TODO as T, WebSocketEvent as W, type Events as a, Novu as b, NotificationStatus as c, NotificationButton as d, NotificationActionStatus as e, ChannelType as f, PreferenceOverrideSource as g, type Session as h, type MessageAction as i, type Subscriber as j, type Action as k, type Workflow as l, type ChannelPreference as m, type PaginatedResponse as n, type PreferencesResponse as o, PreferenceOverrideSourceEnum as p, type IPreferenceOverride as q, type Result as r, type NovuOptions as s, type Prettify as t, Notification as u, Preference as v, NovuError as w };
548
+ export { type ChannelPreference as C, type EventHandler as E, type FiltersCountResponse as F, type InboxNotification as I, type ListNotificationsResponse as L, type NotificationFilter as N, Preference as P, type SocketEventNames as S, WebSocketEvent as W, type Events as a, Novu as b, ChannelType as c, Notification as d, NotificationStatus as e, NovuError as f, type NovuOptions as g, PreferenceLevel as h, type PreferencesResponse as i };
@@ -1,5 +1,5 @@
1
- import { h as Theme } from '../types-Du_GH8TU.mjs';
2
- import '../novu-BXVPjTIj.mjs';
1
+ import { j as Theme } from '../types-DFXwHejb.mjs';
2
+ import '../novu-DDPQzl99.mjs';
3
3
 
4
4
  declare const dark: Theme;
5
5
 
@@ -1,4 +1,4 @@
1
- import { u as Notification, N as NotificationFilter, s as NovuOptions, b as Novu } from './novu-BXVPjTIj.mjs';
1
+ import { d as Notification, N as NotificationFilter, g as NovuOptions, b as Novu } from './novu-DDPQzl99.mjs';
2
2
 
3
3
  declare const appearanceKeys: readonly ["button", "icon", "popoverContent", "popoverTrigger", "dropdownContent", "dropdownTrigger", "dropdownItem", "dropdownItemLabel", "dropdownItemLabelContainer", "dropdownItemLeft__icon", "dropdownItemRight__icon", "dropdownItem__icon", "collapsible", "tooltipContent", "tooltipTrigger", "back__button", "skeletonText", "skeletonAvatar", "skeletonSwitch", "skeletonSwitchThumb", "tabsRoot", "tabsList", "tabsContent", "tabsTrigger", "dots", "root", "bellIcon", "bellContainer", "bellDot", "preferences__button", "preferencesContainer", "inboxHeader", "loading", "inboxContent", "inbox__popoverTrigger", "inbox__popoverContent", "notificationListContainer", "notificationList", "notificationListEmptyNoticeContainer", "notificationListEmptyNoticeOverlay", "notificationListEmptyNoticeIcon", "notificationListEmptyNotice", "notificationList__skeleton", "notificationList__skeletonContent", "notificationList__skeletonItem", "notificationList__skeletonAvatar", "notificationList__skeletonText", "notificationListNewNotificationsNotice__button", "notification", "notificationContent", "notificationTextContainer", "notificationDot", "notificationSubject", "notificationSubject__strong", "notificationBody", "notificationBody__strong", "notificationBodyContainer", "notificationImage", "notificationImageLoadingFallback", "notificationDate", "notificationDateActionsContainer", "notificationDefaultActions", "notificationCustomActions", "notificationPrimaryAction__button", "notificationSecondaryAction__button", "notificationRead__button", "notificationUnread__button", "notificationArchive__button", "notificationUnarchive__button", "notificationRead__icon", "notificationUnread__icon", "notificationArchive__icon", "notificationUnarchive__icon", "notificationsTabs__tabsRoot", "notificationsTabs__tabsList", "notificationsTabs__tabsContent", "notificationsTabs__tabsTrigger", "notificationsTabsTriggerLabel", "notificationsTabsTriggerCount", "inboxStatus__title", "inboxStatus__dropdownTrigger", "inboxStatus__dropdownContent", "inboxStatus__dropdownItem", "inboxStatus__dropdownItemLabel", "inboxStatus__dropdownItemLabelContainer", "inboxStatus__dropdownItemLeft__icon", "inboxStatus__dropdownItemRight__icon", "inboxStatus__dropdownItem__icon", "inboxStatus__dropdownItemCheck__icon", "moreActionsContainer", "moreActions__dropdownTrigger", "moreActions__dropdownContent", "moreActions__dropdownItem", "moreActions__dropdownItemLabel", "moreActions__dropdownItemLeft__icon", "moreActions__dots", "moreTabs__button", "moreTabs__icon", "moreTabs__dropdownTrigger", "moreTabs__dropdownContent", "moreTabs__dropdownItem", "moreTabs__dropdownItemLabel", "moreTabs__dropdownItemRight__icon", "workflowContainer", "workflowLabel", "workflowLabelHeader", "workflowLabelContainer", "workflowContainerDisabledNotice", "workflowLabelDisabled__icon", "workflowContainerRight__icon", "workflowArrow__icon", "workflowDescription", "channelContainer", "channelIconContainer", "channel__icon", "channelsContainerCollapsible", "channelsContainer", "channelLabel", "channelLabelContainer", "channelName", "channelSwitchContainer", "channelSwitch", "channelSwitchThumb", "preferencesHeader", "preferencesHeader__back__button", "preferencesHeader__back__button__icon", "preferencesHeader__title", "preferencesHeader__icon", "preferencesListEmptyNoticeContainer", "preferencesListEmptyNotice", "preferencesList__skeleton", "preferencesList__skeletonContent", "preferencesList__skeletonItem", "preferencesList__skeletonIcon", "preferencesList__skeletonSwitch", "preferencesList__skeletonSwitchThumb", "preferencesList__skeletonText", "strong"];
4
4
 
@@ -100,4 +100,4 @@ declare enum NotificationStatus {
100
100
  }
101
101
  type PreferencesFilter = Pick<NotificationFilter, 'tags'>;
102
102
 
103
- export { type Appearance as A, type BellRenderer as B, type CSSProperties as C, type ElementStyles as E, type Localization as L, type NotificationClickHandler as N, type PreferencesFilter as P, type RouterPush as R, type SubjectRenderer as S, type Tab as T, type Variables as V, type NotificationActionClickHandler as a, type NotificationRenderer as b, type BodyRenderer as c, type NovuProviderProps as d, type BaseNovuProviderProps as e, type AppearanceKey as f, type Elements as g, type Theme as h, NotificationStatus as i, type LocalizationKey as j };
103
+ export { type Appearance as A, type BellRenderer as B, type Elements as E, type Localization as L, type NotificationClickHandler as N, type PreferencesFilter as P, type RouterPush as R, type SubjectRenderer as S, type Tab as T, type Variables as V, type NotificationActionClickHandler as a, type NotificationRenderer as b, type BodyRenderer as c, type NovuProviderProps as d, type BaseNovuProviderProps as e, type AppearanceKey as f, type ElementStyles as g, type LocalizationKey as h, NotificationStatus as i, type Theme as j };
@@ -1,7 +1,7 @@
1
- import { s as NovuOptions } from '../novu-BXVPjTIj.mjs';
2
- export { u as Notification } from '../novu-BXVPjTIj.mjs';
3
- import { B as BellRenderer, N as NotificationClickHandler, a as NotificationActionClickHandler, b as NotificationRenderer, S as SubjectRenderer, c as BodyRenderer, d as NovuProviderProps, e as BaseNovuProviderProps, A as Appearance, L as Localization, T as Tab, P as PreferencesFilter, R as RouterPush } from '../types-Du_GH8TU.mjs';
4
- export { f as AppearanceKey, C as CSSProperties, E as ElementStyles, g as Elements, j as LocalizationKey, i as NotificationStatus, h as Theme, V as Variables } from '../types-Du_GH8TU.mjs';
1
+ import { g as NovuOptions } from '../novu-DDPQzl99.mjs';
2
+ export { d as Notification } from '../novu-DDPQzl99.mjs';
3
+ import { B as BellRenderer, N as NotificationClickHandler, a as NotificationActionClickHandler, b as NotificationRenderer, S as SubjectRenderer, c as BodyRenderer, d as NovuProviderProps, e as BaseNovuProviderProps, A as Appearance, L as Localization, T as Tab, P as PreferencesFilter, R as RouterPush } from '../types-DFXwHejb.mjs';
4
+ export { f as AppearanceKey, g as ElementStyles, E as Elements, h as LocalizationKey, i as NotificationStatus, V as Variables } from '../types-DFXwHejb.mjs';
5
5
  import { Placement, OffsetOptions } from '@floating-ui/dom';
6
6
  import * as solid_js from 'solid-js';
7
7
  import { ComponentProps } from 'solid-js';
@@ -75,4 +75,4 @@ declare class NovuUI {
75
75
  unmount(): void;
76
76
  }
77
77
 
78
- export { Appearance, BaseNovuProviderProps, type BaseNovuUIOptions, BellRenderer, BodyRenderer, InboxPage, type InboxProps, Localization, NotificationActionClickHandler, NotificationClickHandler, NotificationRenderer, NovuProviderProps, NovuUI, type NovuUIOptions, PreferencesFilter, RouterPush, SubjectRenderer, Tab };
78
+ export { Appearance, type BaseNovuUIOptions, BellRenderer, BodyRenderer, InboxPage, type InboxProps, Localization, NotificationActionClickHandler, NotificationClickHandler, NotificationRenderer, NovuProviderProps, NovuUI, type NovuUIOptions, PreferencesFilter, RouterPush, SubjectRenderer, Tab };