@novu/js 3.13.0 → 3.14.1-rc.4ba98f00f2

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 chunkBDYEMGVY_js = require('../chunk-BDYEMGVY.js');
3
+ var chunkYYT2PAWE_js = require('../chunk-YYT2PAWE.js');
4
4
  var chunkCCAUG7YI_js = require('../chunk-CCAUG7YI.js');
5
5
  var chunk7B52C2XE_js = require('../chunk-7B52C2XE.js');
6
6
  var web = require('solid-js/web');
@@ -37,7 +37,7 @@ function _interopNamespace(e) {
37
37
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
38
38
  var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
39
39
 
40
- // _g4becnl7c:/home/runner/_work/novu/novu/packages/js/src/ui/index.directcss
40
+ // _vakwufiga:/home/runner/work/novu/novu/packages/js/src/ui/index.directcss
41
41
  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}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}}.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-pointer-events-auto{pointer-events:auto!important}.nt-invisible{visibility:hidden}.nt-absolute{position:absolute}.nt-relative{position:relative}.nt-inset-0{inset:0}.nt-inset-2{inset:.5rem}.nt-bottom-0{bottom:0}.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-m-1{margin:-.25rem}.nt-mx-auto{margin-left:auto;margin-right:auto}.-nt-mt-2{margin-top:-.5rem}.-nt-mt-\\[2px\\]{margin-top:-2px}.nt--mt-\\[50px\\]{margin-top:-50px}.nt-mb-1{margin-bottom:.25rem}.nt-mb-2{margin-bottom:.5rem}.nt-mb-3{margin-bottom:.75rem}.nt-mb-4{margin-bottom:1rem}.nt-mb-\\[0\\.625rem\\]{margin-bottom:.625rem}.nt-ml-1{margin-left:.25rem}.nt-ml-2{margin-left:.5rem}.nt-ml-auto{margin-left:auto}.nt-mr-2{margin-right:.5rem}.nt-mr-auto{margin-right:auto}.nt-mt-1{margin-top:.25rem}.nt-mt-1\\.5{margin-top:.375rem}.nt-mt-auto{margin-top:auto}.nt-block{display:block}.nt-flex{display:flex}.nt-inline-flex{display:inline-flex}.nt-grid{display:grid}.nt-hidden{display:none}.nt-aspect-square{aspect-ratio:1/1}.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-3\\.5{height:.875rem;width:.875rem}.nt-size-4{height:1rem;width:1rem}.nt-size-5{height:1.25rem;width:1.25rem}.nt-size-6{height:1.5rem;width:1.5rem}.nt-size-8{height:2rem;width:2rem}.nt-size-fit{height:-webkit-fit-content;height:fit-content;width:-webkit-fit-content;width:fit-content}.nt-size-full{height:100%;width:100%}.nt-h-2{height:.5rem}.nt-h-3{height:.75rem}.nt-h-3\\.5{height:.875rem}.nt-h-4{height:1rem}.nt-h-5{height:1.25rem}.nt-h-6{height:1.5rem}.nt-h-7{height:1.75rem}.nt-h-8{height:2rem}.nt-h-9{height:2.25rem}.nt-h-\\[600px\\]{height:600px}.nt-h-auto{height:auto}.nt-h-fit{height:-webkit-fit-content;height:fit-content}.nt-h-full{height:100%}.nt-max-h-\\[160px\\]{max-height:160px}.nt-min-h-0{min-height:0}.nt-min-h-\\[272px\\]{min-height:272px}.nt-w-1\\.5{width:.375rem}.nt-w-1\\/3{width:33.333333%}.nt-w-2\\/3{width:66.666667%}.nt-w-5{width:1.25rem}.nt-w-7{width:1.75rem}.nt-w-8{width:2rem}.nt-w-\\[260px\\]{width:260px}.nt-w-\\[350px\\]{width:350px}.nt-w-\\[3px\\]{width:3px}.nt-w-\\[400px\\]{width:400px}.nt-w-\\[60px\\]{width:60px}.nt-w-\\[calc\\(2ch\\+2rem\\)\\]{width:calc(2ch + 2rem)}.nt-w-fit{width:-webkit-fit-content;width:fit-content}.nt-w-full{width:100%}.nt-w-max{width:-webkit-max-content;width:max-content}.nt-min-w-52{min-width:13rem}.nt-min-w-\\[120px\\]{min-width:120px}.nt-min-w-\\[220px\\]{min-width:220px}.nt-min-w-\\[74px\\]{min-width:74px}.nt-max-w-56{max-width:14rem}.nt-max-w-\\[120px\\]{max-width:120px}.nt-max-w-\\[220px\\]{max-width:220px}.nt-flex-1{flex:1 1 0%}.nt-shrink-0{flex-shrink:0}.nt-translate-x-1\\/2{--tw-translate-x:50%}.nt-transform,.nt-translate-x-1\\/2{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))}@keyframes nt-shimmer{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.nt-animate-shimmer{animation:nt-shimmer 1.5s ease-in-out infinite}@keyframes nt-spin{to{transform:rotate(1turn)}}.nt-animate-spin{animation:nt-spin 1s linear infinite}.nt-cursor-default{cursor:default}.nt-cursor-not-allowed{cursor:not-allowed}.nt-cursor-pointer{cursor:pointer}.nt-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.nt-flex-row{flex-direction:row}.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-end{justify-content:flex-end}.nt-justify-center{justify-content:center}.nt-justify-between{justify-content:space-between}.nt-gap-0\\.5{gap:.125rem}.nt-gap-1{gap:.25rem}.nt-gap-1\\.5{gap:.375rem}.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-overflow-x-hidden{overflow-x:hidden}.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-sm{border-radius:var(--nv-radius-sm)}.nt-rounded-xl{border-radius:var(--nv-radius-xl)}.nt-rounded-b-lg{border-bottom-left-radius:var(--nv-radius-lg);border-bottom-right-radius:var(--nv-radius-lg)}.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{border-color:var(--nv-color-neutral-alpha-100)}.nt-border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.nt-border-neutral-alpha-100{border-color:var(--nv-color-neutral-alpha-100)}.nt-border-neutral-alpha-200{border-color:var(--nv-color-neutral-alpha-200)}.nt-border-neutral-alpha-400{border-color:var(--nv-color-neutral-alpha-400)}.nt-border-neutral-alpha-50{border-color:var(--nv-color-neutral-alpha-50)}.nt-border-primary{border-color:var(--nv-color-primary)}.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-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.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-primary-alpha-300{background-color:var(--nv-color-primary-alpha-300)}.nt-bg-primary-alpha-400{background-color:var(--nv-color-primary-alpha-400)}.nt-bg-secondary{background-color:var(--nv-color-secondary)}.nt-bg-severity-high{background-color:var(--nv-color-severity-high)}.nt-bg-severity-high-alpha-100{background-color:var(--nv-color-severity-high-alpha-100)}.nt-bg-severity-high-alpha-200{background-color:var(--nv-color-severity-high-alpha-200)}.nt-bg-severity-high-alpha-300{background-color:var(--nv-color-severity-high-alpha-300)}.nt-bg-severity-high-alpha-50{background-color:var(--nv-color-severity-high-alpha-50)}.nt-bg-severity-low{background-color:var(--nv-color-severity-low)}.nt-bg-severity-low-alpha-100{background-color:var(--nv-color-severity-low-alpha-100)}.nt-bg-severity-low-alpha-200{background-color:var(--nv-color-severity-low-alpha-200)}.nt-bg-severity-low-alpha-300{background-color:var(--nv-color-severity-low-alpha-300)}.nt-bg-severity-low-alpha-50{background-color:var(--nv-color-severity-low-alpha-50)}.nt-bg-severity-medium{background-color:var(--nv-color-severity-medium)}.nt-bg-severity-medium-alpha-100{background-color:var(--nv-color-severity-medium-alpha-100)}.nt-bg-severity-medium-alpha-200{background-color:var(--nv-color-severity-medium-alpha-200)}.nt-bg-severity-medium-alpha-300{background-color:var(--nv-color-severity-medium-alpha-300)}.nt-bg-severity-medium-alpha-50{background-color:var(--nv-color-severity-medium-alpha-50)}.nt-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.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-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.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-12{padding-bottom:3rem}.nt-pb-2{padding-bottom:.5rem}.nt-pb-\\[0\\.625rem\\]{padding-bottom:.625rem}.nt-pr-0{padding-right:0}.nt-pt-2{padding-top:.5rem}.nt-pt-2\\.5{padding-top:.625rem}.nt-pt-8{padding-top:2rem}.nt-text-left{text-align:left}.nt-text-center{text-align:center}.nt-text-start{text-align:start}.nt-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.nt-text-\\[0\\.8rem\\]{font-size:.8rem}.nt-text-\\[12px\\]{font-size:12px}.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-xl{font-size:var(--nv-font-size-xl);line-height:var(--nv-line-height-xl)}.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-normal{font-weight:400}.nt-font-semibold{font-weight:600}.nt-italic{font-style:italic}.nt-leading-none{line-height:1}.nt-text-\\[\\#000000\\]{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,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-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.nt-text-neutral-alpha-500{color:var(--nv-color-neutral-alpha-500)}.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-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nt-underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.nt-opacity-0{opacity:0}.nt-opacity-20{opacity:.2}.nt-opacity-50{opacity:.5}.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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-\\[0px_1px_2px_0px_rgba\\(10\\,13\\,20\\,0\\.03\\)\\]{--tw-shadow:0px 1px 2px 0px #0a0d1408;--tw-shadow-colored:0px 1px 2px 0px var(--tw-shadow-color)}.nt-shadow-\\[0px_1px_2px_0px_rgba\\(10\\,13\\,20\\,0\\.03\\)\\],.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-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.nt-shadow-lg,.nt-shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.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-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-outline-none{outline:2px solid #0000;outline-offset:2px}.nt-ring-offset-background{--tw-ring-offset-color:var(--nv-color-background)}.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,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-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-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-transition-\\[width\\]{transition-duration:.15s;transition-property:width;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,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-transition-opacity{transition-duration:.15s;transition-property:opacity;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)}.nt-will-change-\\[width\\]{will-change:width}@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)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-foreground\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-foreground) 80% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-high\\)_45\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-high) 45% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-high\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-high) 80% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-low\\)_45\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-low) 45% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-low\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-low) 80% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-medium\\)_45\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-medium) 45% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-medium\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-medium) 80% c h)}.\\[--bell-gradient-start\\:var\\(--nv-color-foreground\\)\\]{--bell-gradient-start:var(--nv-color-foreground)}.\\[--bell-gradient-start\\:var\\(--nv-color-severity-high\\)\\]{--bell-gradient-start:var(--nv-color-severity-high)}.\\[--bell-gradient-start\\:var\\(--nv-color-severity-low\\)\\]{--bell-gradient-start:var(--nv-color-severity-low)}.\\[--bell-gradient-start\\:var\\(--nv-color-severity-medium\\)\\]{--bell-gradient-start:var(--nv-color-severity-medium)}.\\[interpolate-size\\:allow-keywords\\]{interpolate-size:allow-keywords}.\\[line-height\\:16px\\]{line-height:16px}.\\[scrollbar-gutter\\:stable\\]{scrollbar-gutter:stable}.\\[word-break\\:break-word\\]{word-break:break-word}.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)}.before\\:nt-m-1:before{content:var(--tw-content);margin:.25rem}@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-full:before{border-radius:var(--nv-radius-full);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-severity-high-alpha-200:before{background-color:var(--nv-color-severity-high-alpha-200);content:var(--tw-content)}.before\\:nt-bg-severity-high-alpha-300:before{background-color:var(--nv-color-severity-high-alpha-300);content:var(--tw-content)}.before\\:nt-bg-severity-low-alpha-200:before{background-color:var(--nv-color-severity-low-alpha-200);content:var(--tw-content)}.before\\:nt-bg-severity-low-alpha-300:before{background-color:var(--nv-color-severity-low-alpha-300);content:var(--tw-content)}.before\\:nt-bg-severity-medium-alpha-200:before{background-color:var(--nv-color-severity-medium-alpha-200);content:var(--tw-content)}.before\\:nt-bg-severity-medium-alpha-300:before{background-color:var(--nv-color-severity-medium-alpha-300);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\\.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-translate-x-1\\/2:after{--tw-translate-x:50%}.after\\:nt-translate-x-1\\/2:after,.after\\:nt-translate-x-full:after{content:var(--tw-content);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))}.after\\:nt-translate-x-full:after{--tw-translate-x:100%}.after\\:nt-rounded-full:after{border-radius:var(--nv-radius-full);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-background:after{border-color:var(--nv-color-background);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-bg-primary-alpha-400:hover{background-color:var(--nv-color-primary-alpha-400)}.hover\\:nt-bg-severity-high-alpha-50:hover{background-color:var(--nv-color-severity-high-alpha-50)}.hover\\:nt-bg-severity-low-alpha-50:hover{background-color:var(--nv-color-severity-low-alpha-50)}.hover\\:nt-bg-severity-medium-alpha-50:hover{background-color:var(--nv-color-severity-medium-alpha-50)}.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-20:disabled{opacity:.2}.disabled\\:nt-opacity-50:disabled{opacity:.5}.nt-group:focus-within .group-focus-within\\:nt-opacity-100{opacity:1}.nt-group:hover .group-hover\\:nt-bg-severity-high-alpha-500{background-color:var(--nv-color-severity-high-alpha-500)}.nt-group:hover .group-hover\\:nt-bg-severity-low-alpha-500{background-color:var(--nv-color-severity-low-alpha-500)}.nt-group:hover .group-hover\\:nt-bg-severity-medium-alpha-500{background-color:var(--nv-color-severity-medium-alpha-500)}.nt-group:hover .group-hover\\:nt-opacity-0{opacity:0}.nt-group:hover .group-hover\\:nt-opacity-100{opacity:1}.nt-peer:focus-visible~.peer-focus-visible\\:nt-outline-none{outline:2px solid #0000;outline-offset:2px}.nt-peer:focus-visible~.peer-focus-visible\\:nt-ring-2{--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)}.nt-peer:focus-visible~.peer-focus-visible\\:nt-ring-offset-2{--tw-ring-offset-width:2px}.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\\]\\:nt-cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\\[checked\\]\\:nt-border-none[data-checked],.data-\\[indeterminate\\]\\:nt-border-none[data-indeterminate]{border-style:none}.data-\\[checked\\]\\:nt-bg-primary[data-checked],.data-\\[indeterminate\\]\\:nt-bg-primary[data-indeterminate]{background-color:var(--nv-color-primary)}.data-\\[checked\\]\\:nt-text-primary-foreground[data-checked]{color:var(--nv-color-primary-foreground)}.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-\\[indeterminate\\]\\:nt-text-primary-foreground[data-indeterminate]{color:var(--nv-color-primary-foreground)}.data-\\[state\\=active\\]\\:nt-text-foreground[data-state=active]{color:var(--nv-color-foreground)}.data-\\[disabled\\]\\:nt-opacity-50[data-disabled]{opacity:.5}.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}.\\[\\&_\\.nv-notificationList\\]\\:nt-pb-12 .nv-notificationList{padding-bottom:3rem}.\\[\\&_\\.nv-notificationList\\]\\:nt-pb-8 .nv-notificationList{padding-bottom:2rem}.\\[\\&_\\.nv-preferencesContainer\\]\\:nt-pb-12 .nv-preferencesContainer{padding-bottom:3rem}.\\[\\&_\\.nv-preferencesContainer\\]\\:nt-pb-8 .nv-preferencesContainer{padding-bottom:2rem}.\\[\\&_stop\\]\\:nt-transition-\\[stop-color\\] stop{transition-duration:.15s;transition-property:stop-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\\[\\&_svg\\]\\:nt-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:nt-shrink-0 svg{flex-shrink:0}`;
42
42
 
43
43
  // src/ui/config/appearanceKeys.ts
@@ -1505,7 +1505,7 @@ var NovuContext = solidJs.createContext(void 0);
1505
1505
  function NovuProvider(props) {
1506
1506
  const novu = solidJs.createMemo(() => {
1507
1507
  const novuValue = typeof props.novu === "function" ? props.novu() : props.novu;
1508
- return novuValue || new chunkBDYEMGVY_js.Novu(props.options);
1508
+ return novuValue || new chunkYYT2PAWE_js.Novu(props.options);
1509
1509
  });
1510
1510
  return web.createComponent(NovuContext.Provider, {
1511
1511
  value: novu,
@@ -1657,8 +1657,8 @@ var CountProvider = (props) => {
1657
1657
  const tabTags = getTagsFromTab(tab);
1658
1658
  const tabDataFilterCriteria = (_a = tab.filter) == null ? void 0 : _a.data;
1659
1659
  const tabSeverityFilterCriteria = (_b = tab.filter) == null ? void 0 : _b.severity;
1660
- const matchesTagFilter = chunkBDYEMGVY_js.checkNotificationTagFilter(notification.tags, tabTags);
1661
- const matchesDataFilterCriteria = chunkBDYEMGVY_js.checkNotificationDataFilter(notification.data, tabDataFilterCriteria);
1660
+ const matchesTagFilter = chunkYYT2PAWE_js.checkNotificationTagFilter(notification.tags, tabTags);
1661
+ const matchesDataFilterCriteria = chunkYYT2PAWE_js.checkNotificationDataFilter(notification.data, tabDataFilterCriteria);
1662
1662
  const matchesSeverityFilterCriteria = !tabSeverityFilterCriteria || Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria.length === 0 || Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria.includes(notification.severity) || !Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria === notification.severity;
1663
1663
  if (matchesTagFilter && matchesDataFilterCriteria && matchesSeverityFilterCriteria) {
1664
1664
  const filterKey = createKey({
@@ -2673,7 +2673,7 @@ var Footer = (props) => {
2673
2673
  });
2674
2674
  };
2675
2675
  function getCurrentDomain() {
2676
- if (chunkBDYEMGVY_js.isBrowser()) {
2676
+ if (chunkYYT2PAWE_js.isBrowser()) {
2677
2677
  return window.location.hostname;
2678
2678
  }
2679
2679
  return "";
@@ -2685,7 +2685,7 @@ function getCurlCommand() {
2685
2685
  return "";
2686
2686
  }
2687
2687
  const DEFAULT_BACKEND_URL = typeof window !== "undefined" && window.NOVU_LOCAL_BACKEND_URL || "https://api.novu.co";
2688
- return `curl -X POST ${DEFAULT_BACKEND_URL}/${chunkBDYEMGVY_js.DEFAULT_API_VERSION}/events/trigger -H 'Authorization: Keyless ${identifier}' -H 'Content-Type: application/json' -d '{
2688
+ return `curl -X POST ${DEFAULT_BACKEND_URL}/${chunkYYT2PAWE_js.DEFAULT_API_VERSION}/events/trigger -H 'Authorization: Keyless ${identifier}' -H 'Content-Type: application/json' -d '{
2689
2689
  "name": "hello-world",
2690
2690
  "to": {
2691
2691
  "subscriberId": "keyless-subscriber-id"
@@ -4148,7 +4148,7 @@ var useNotificationsInfiniteScroll = (props) => {
4148
4148
  );
4149
4149
  solidJs.createEffect(() => {
4150
4150
  const listener = ({ data: data2 }) => {
4151
- if (!data2 || !chunkBDYEMGVY_js.isSameFilter(filter, data2.filter)) {
4151
+ if (!data2 || !chunkYYT2PAWE_js.isSameFilter(filter, data2.filter)) {
4152
4152
  return;
4153
4153
  }
4154
4154
  mutate({ data: data2.notifications, hasMore: data2.hasMore });
@@ -4158,7 +4158,7 @@ var useNotificationsInfiniteScroll = (props) => {
4158
4158
  });
4159
4159
  solidJs.createEffect(() => chunk7B52C2XE_js.__async(void 0, null, function* () {
4160
4160
  const newFilter = chunk7B52C2XE_js.__spreadValues({}, props.options());
4161
- if (chunkBDYEMGVY_js.isSameFilter(filter, newFilter)) {
4161
+ if (chunkYYT2PAWE_js.isSameFilter(filter, newFilter)) {
4162
4162
  return;
4163
4163
  }
4164
4164
  novuAccessor().notifications.clearCache();
@@ -40,7 +40,7 @@ var areDataEqual = (data1, data2) => {
40
40
  }
41
41
  };
42
42
  var isSameFilter = (filter1, filter2) => {
43
- return areDataEqual(filter1.data, filter2.data) && areTagsEqual(filter1.tags, filter2.tags) && filter1.read === filter2.read && filter1.archived === filter2.archived && filter1.snoozed === filter2.snoozed && filter1.seen === filter2.seen && areSeveritiesEqual(filter1.severity, filter2.severity);
43
+ return areDataEqual(filter1.data, filter2.data) && areTagsEqual(filter1.tags, filter2.tags) && filter1.read === filter2.read && filter1.archived === filter2.archived && filter1.snoozed === filter2.snoozed && filter1.seen === filter2.seen && areSeveritiesEqual(filter1.severity, filter2.severity) && filter1.createdGte === filter2.createdGte && filter1.createdLte === filter2.createdLte;
44
44
  };
45
45
  function checkNotificationDataFilter(notificationData, filterData) {
46
46
  if (!filterData || Object.keys(filterData).length === 0) {
@@ -92,8 +92,25 @@ function checkBasicFilters(notification, filter) {
92
92
  }
93
93
  return true;
94
94
  }
95
+ function checkNotificationTimeframeFilter(notificationCreatedAt, createdGte, createdLte) {
96
+ if (!createdGte && !createdLte) {
97
+ return true;
98
+ }
99
+ const createdAtDate = new Date(notificationCreatedAt).getTime();
100
+ if (createdGte) {
101
+ if (createdAtDate < createdGte) {
102
+ return false;
103
+ }
104
+ }
105
+ if (createdLte) {
106
+ if (createdAtDate > createdLte) {
107
+ return false;
108
+ }
109
+ }
110
+ return true;
111
+ }
95
112
  function checkNotificationMatchesFilter(notification, filter) {
96
- return checkBasicFilters(notification, filter) && checkNotificationTagFilter(notification.tags, filter.tags) && checkNotificationDataFilter(notification.data, filter.data);
113
+ return checkBasicFilters(notification, filter) && checkNotificationTagFilter(notification.tags, filter.tags) && checkNotificationDataFilter(notification.data, filter.data) && checkNotificationTimeframeFilter(notification.createdAt, filter.createdGte, filter.createdLte);
97
114
  }
98
115
 
99
116
  // src/subscriptions/subscription.ts
@@ -587,7 +604,7 @@ var SubscriptionsCache = class {
587
604
  if (!subscriptions) continue;
588
605
  let hasUpdates = false;
589
606
  const updatedSubscriptions = subscriptions.map((subscription) => {
590
- const subscriptionPreferences = preferencesBySubscription.get(subscription.id);
607
+ const subscriptionPreferences = preferencesBySubscription.get(subscription.identifier);
591
608
  if (subscriptionPreferences) {
592
609
  hasUpdates = true;
593
610
  return this.createUpdatedSubscription(subscription, subscriptionPreferences);
@@ -605,7 +622,7 @@ var SubscriptionsCache = class {
605
622
  for (const key of allItemKeys) {
606
623
  const subscription = __privateGet(this, _itemCache).get(key);
607
624
  if (!subscription) continue;
608
- const subscriptionPreferences = preferencesBySubscription.get(subscription.id);
625
+ const subscriptionPreferences = preferencesBySubscription.get(subscription.identifier);
609
626
  if (subscriptionPreferences) {
610
627
  const updatedSubscription = this.createUpdatedSubscription(subscription, subscriptionPreferences);
611
628
  __privateGet(this, _itemCache).set(key, updatedSubscription);
@@ -876,24 +893,18 @@ _contextKey = new WeakMap();
876
893
 
877
894
  // src/api/http-client.ts
878
895
  var DEFAULT_API_VERSION = "v1";
879
- var DEFAULT_CLIENT_VERSION = `${"@novu/js"}@${"3.13.0"}`;
896
+ var DEFAULT_CLIENT_VERSION = `${"@novu/js"}@${"3.14.1-rc.4ba98f00f2"}`;
880
897
  var HttpClient = class {
881
898
  constructor(options = {}) {
882
899
  // Environment variable for local development that overrides the default API endpoint without affecting the Inbox DX
883
900
  this.DEFAULT_BACKEND_URL = typeof window !== "undefined" && window.NOVU_LOCAL_BACKEND_URL || "https://api.novu.co";
884
- const {
885
- apiVersion = DEFAULT_API_VERSION,
886
- apiUrl = this.DEFAULT_BACKEND_URL,
887
- userAgent = DEFAULT_CLIENT_VERSION,
888
- headers = {}
889
- } = options || {};
901
+ const { apiVersion = DEFAULT_API_VERSION, apiUrl = this.DEFAULT_BACKEND_URL, headers = {} } = options || {};
890
902
  this.apiVersion = apiVersion;
891
903
  this.apiUrl = `${apiUrl}/${apiVersion}`;
892
904
  this.headers = __spreadValues({
893
905
  "Novu-API-Version": "2024-06-26",
894
906
  "Novu-Client-Version": DEFAULT_CLIENT_VERSION,
895
- "Content-Type": "application/json",
896
- "User-Agent": userAgent
907
+ "Content-Type": "application/json"
897
908
  }, headers);
898
909
  }
899
910
  setAuthorizationToken(token) {
@@ -1036,7 +1047,9 @@ var InboxService = class {
1036
1047
  snoozed,
1037
1048
  seen: seen2,
1038
1049
  data,
1039
- severity
1050
+ severity,
1051
+ createdGte,
1052
+ createdLte
1040
1053
  }) {
1041
1054
  const searchParams = new URLSearchParams(`limit=${limit}`);
1042
1055
  if (after) {
@@ -1072,6 +1085,12 @@ var InboxService = class {
1072
1085
  } else if (severity) {
1073
1086
  searchParams.append("severity", severity);
1074
1087
  }
1088
+ if (createdGte) {
1089
+ searchParams.append("createdGte", `${createdGte}`);
1090
+ }
1091
+ if (createdLte) {
1092
+ searchParams.append("createdLte", `${createdLte}`);
1093
+ }
1075
1094
  return __privateGet(this, _httpClient).get(INBOX_NOTIFICATIONS_ROUTE, searchParams, false);
1076
1095
  }
1077
1096
  count({
@@ -1310,8 +1329,10 @@ var excludeEmpty = ({
1310
1329
  severity,
1311
1330
  limit,
1312
1331
  offset,
1313
- after
1314
- }) => Object.entries({ tags, data, read: read2, archived, snoozed, seen: seen2, severity, limit, offset, after }).filter(([_, value]) => value !== null && value !== void 0 && !(Array.isArray(value) && value.length === 0)).reduce((acc, [key, value]) => {
1332
+ after,
1333
+ createdGte,
1334
+ createdLte
1335
+ }) => Object.entries({ tags, data, read: read2, archived, snoozed, seen: seen2, severity, limit, offset, after, createdGte, createdLte }).filter(([_, value]) => value !== null && value !== void 0 && !(Array.isArray(value) && value.length === 0)).reduce((acc, [key, value]) => {
1315
1336
  acc[key] = value;
1316
1337
  return acc;
1317
1338
  }, {});
@@ -1325,9 +1346,13 @@ var getCacheKey = ({
1325
1346
  severity,
1326
1347
  limit,
1327
1348
  offset,
1328
- after
1349
+ after,
1350
+ createdGte,
1351
+ createdLte
1329
1352
  }) => {
1330
- return JSON.stringify(excludeEmpty({ tags, data, read: read2, archived, snoozed, seen: seen2, severity, limit, offset, after }));
1353
+ return JSON.stringify(
1354
+ excludeEmpty({ tags, data, read: read2, archived, snoozed, seen: seen2, severity, limit, offset, after, createdGte, createdLte })
1355
+ );
1331
1356
  };
1332
1357
  var getFilterKey = ({
1333
1358
  tags,
@@ -1336,9 +1361,11 @@ var getFilterKey = ({
1336
1361
  archived,
1337
1362
  snoozed,
1338
1363
  seen: seen2,
1339
- severity
1364
+ severity,
1365
+ createdGte,
1366
+ createdLte
1340
1367
  }) => {
1341
- return JSON.stringify(excludeEmpty({ tags, data, read: read2, archived, snoozed, seen: seen2, severity }));
1368
+ return JSON.stringify(excludeEmpty({ tags, data, read: read2, archived, snoozed, seen: seen2, severity, createdGte, createdLte }));
1342
1369
  };
1343
1370
  var getFilter = (key) => {
1344
1371
  return JSON.parse(key);
@@ -1524,7 +1551,9 @@ var NotificationsCache = class {
1524
1551
  snoozed: args.snoozed,
1525
1552
  archived: args.archived,
1526
1553
  seen: args.seen,
1527
- severity: args.severity
1554
+ severity: args.severity,
1555
+ createdGte: args.createdGte,
1556
+ createdLte: args.createdLte
1528
1557
  });
1529
1558
  }
1530
1559
  }
@@ -2762,10 +2791,11 @@ var mapToNotification = ({
2762
2791
  severity
2763
2792
  });
2764
2793
  };
2765
- var _token, _emitter10, _partySocket, _socketUrl, _notificationReceived, _unseenCountChanged, _unreadCountChanged, _handleMessage, _PartySocketClient_instances, initializeSocket_fn, handleConnectSocket_fn, handleDisconnectSocket_fn;
2794
+ var _token, _emitter10, _partySocket, _socketUrl, _socketOptions, _notificationReceived, _unseenCountChanged, _unreadCountChanged, _handleMessage, _PartySocketClient_instances, initializeSocket_fn, handleConnectSocket_fn, handleDisconnectSocket_fn;
2766
2795
  var PartySocketClient = class extends BaseModule {
2767
2796
  constructor({
2768
2797
  socketUrl,
2798
+ socketOptions,
2769
2799
  inboxServiceInstance,
2770
2800
  eventEmitterInstance
2771
2801
  }) {
@@ -2778,6 +2808,7 @@ var PartySocketClient = class extends BaseModule {
2778
2808
  __privateAdd(this, _emitter10);
2779
2809
  __privateAdd(this, _partySocket);
2780
2810
  __privateAdd(this, _socketUrl);
2811
+ __privateAdd(this, _socketOptions);
2781
2812
  __privateAdd(this, _notificationReceived, (event) => {
2782
2813
  try {
2783
2814
  const data = JSON.parse(event.data);
@@ -2832,6 +2863,7 @@ var PartySocketClient = class extends BaseModule {
2832
2863
  });
2833
2864
  __privateSet(this, _emitter10, eventEmitterInstance);
2834
2865
  __privateSet(this, _socketUrl, socketUrl != null ? socketUrl : PRODUCTION_SOCKET_URL);
2866
+ __privateSet(this, _socketOptions, socketOptions);
2835
2867
  }
2836
2868
  onSessionSuccess({ token }) {
2837
2869
  __privateSet(this, _token, token);
@@ -2860,6 +2892,7 @@ _token = new WeakMap();
2860
2892
  _emitter10 = new WeakMap();
2861
2893
  _partySocket = new WeakMap();
2862
2894
  _socketUrl = new WeakMap();
2895
+ _socketOptions = new WeakMap();
2863
2896
  _notificationReceived = new WeakMap();
2864
2897
  _unseenCountChanged = new WeakMap();
2865
2898
  _unreadCountChanged = new WeakMap();
@@ -2874,7 +2907,7 @@ initializeSocket_fn = function() {
2874
2907
  __privateGet(this, _emitter10).emit("socket.connect.pending", { args });
2875
2908
  const url = new URL(__privateGet(this, _socketUrl));
2876
2909
  url.searchParams.set("token", __privateGet(this, _token));
2877
- __privateSet(this, _partySocket, new WebSocket(url.toString()));
2910
+ __privateSet(this, _partySocket, new WebSocket(url.toString(), void 0, __privateGet(this, _socketOptions)));
2878
2911
  __privateGet(this, _partySocket).addEventListener("open", () => {
2879
2912
  __privateGet(this, _emitter10).emit("socket.connect.resolved", { args });
2880
2913
  });
@@ -2997,10 +3030,11 @@ var mapToNotification2 = ({
2997
3030
  severity
2998
3031
  });
2999
3032
  };
3000
- var _token2, _emitter11, _socketIo, _socketUrl2, _notificationReceived2, _unseenCountChanged2, _unreadCountChanged2, _Socket_instances, initializeSocket_fn2, handleConnectSocket_fn2, handleDisconnectSocket_fn2;
3033
+ var _token2, _emitter11, _socketIo, _socketUrl2, _socketOptions2, _notificationReceived2, _unseenCountChanged2, _unreadCountChanged2, _Socket_instances, initializeSocket_fn2, handleConnectSocket_fn2, handleDisconnectSocket_fn2;
3001
3034
  var Socket = class extends BaseModule {
3002
3035
  constructor({
3003
3036
  socketUrl,
3037
+ socketOptions,
3004
3038
  inboxServiceInstance,
3005
3039
  eventEmitterInstance
3006
3040
  }) {
@@ -3013,6 +3047,7 @@ var Socket = class extends BaseModule {
3013
3047
  __privateAdd(this, _emitter11);
3014
3048
  __privateAdd(this, _socketIo);
3015
3049
  __privateAdd(this, _socketUrl2);
3050
+ __privateAdd(this, _socketOptions2);
3016
3051
  __privateAdd(this, _notificationReceived2, ({ message }) => {
3017
3052
  __privateGet(this, _emitter11).emit(NOTIFICATION_RECEIVED2, {
3018
3053
  result: new Notification(mapToNotification2(message), __privateGet(this, _emitter11), this._inboxService)
@@ -3030,6 +3065,7 @@ var Socket = class extends BaseModule {
3030
3065
  });
3031
3066
  __privateSet(this, _emitter11, eventEmitterInstance);
3032
3067
  __privateSet(this, _socketUrl2, socketUrl != null ? socketUrl : PRODUCTION_SOCKET_URL2);
3068
+ __privateSet(this, _socketOptions2, socketOptions);
3033
3069
  }
3034
3070
  onSessionSuccess({ token }) {
3035
3071
  __privateSet(this, _token2, token);
@@ -3058,34 +3094,35 @@ _token2 = new WeakMap();
3058
3094
  _emitter11 = new WeakMap();
3059
3095
  _socketIo = new WeakMap();
3060
3096
  _socketUrl2 = new WeakMap();
3097
+ _socketOptions2 = new WeakMap();
3061
3098
  _notificationReceived2 = new WeakMap();
3062
3099
  _unseenCountChanged2 = new WeakMap();
3063
3100
  _unreadCountChanged2 = new WeakMap();
3064
3101
  _Socket_instances = new WeakSet();
3065
3102
  initializeSocket_fn2 = function() {
3066
3103
  return __async(this, null, function* () {
3067
- var _a, _b, _c;
3104
+ var _a, _b, _c, _d;
3068
3105
  if (__privateGet(this, _socketIo)) {
3069
3106
  return;
3070
3107
  }
3071
3108
  const args = { socketUrl: __privateGet(this, _socketUrl2) };
3072
3109
  __privateGet(this, _emitter11).emit("socket.connect.pending", { args });
3073
- __privateSet(this, _socketIo, io(__privateGet(this, _socketUrl2), {
3110
+ __privateSet(this, _socketIo, io(__privateGet(this, _socketUrl2), __spreadValues({
3074
3111
  reconnectionDelayMax: 1e4,
3075
3112
  transports: ["websocket"],
3076
3113
  query: {
3077
3114
  token: `${__privateGet(this, _token2)}`
3078
3115
  }
3079
- }));
3116
+ }, (_a = __privateGet(this, _socketOptions2)) != null ? _a : {})));
3080
3117
  __privateGet(this, _socketIo).on("connect", () => {
3081
3118
  __privateGet(this, _emitter11).emit("socket.connect.resolved", { args });
3082
3119
  });
3083
3120
  __privateGet(this, _socketIo).on("connect_error", (error) => {
3084
3121
  __privateGet(this, _emitter11).emit("socket.connect.resolved", { args, error });
3085
3122
  });
3086
- (_a = __privateGet(this, _socketIo)) == null ? void 0 : _a.on("notification_received" /* RECEIVED */, __privateGet(this, _notificationReceived2));
3087
- (_b = __privateGet(this, _socketIo)) == null ? void 0 : _b.on("unseen_count_changed" /* UNSEEN */, __privateGet(this, _unseenCountChanged2));
3088
- (_c = __privateGet(this, _socketIo)) == null ? void 0 : _c.on("unread_count_changed" /* UNREAD */, __privateGet(this, _unreadCountChanged2));
3123
+ (_b = __privateGet(this, _socketIo)) == null ? void 0 : _b.on("notification_received" /* RECEIVED */, __privateGet(this, _notificationReceived2));
3124
+ (_c = __privateGet(this, _socketIo)) == null ? void 0 : _c.on("unseen_count_changed" /* UNSEEN */, __privateGet(this, _unseenCountChanged2));
3125
+ (_d = __privateGet(this, _socketIo)) == null ? void 0 : _d.on("unread_count_changed" /* UNREAD */, __privateGet(this, _unreadCountChanged2));
3089
3126
  });
3090
3127
  };
3091
3128
  handleConnectSocket_fn2 = function() {
@@ -3123,6 +3160,10 @@ var URL_TRANSFORMATIONS = {
3123
3160
  "https://ws.novu.co": PRODUCTION_SOCKET_URL,
3124
3161
  "https://dev.ws.novu.co": "wss://socket.novu-staging.co"
3125
3162
  };
3163
+ var SOCKET_TYPE_OPTION_MAP = {
3164
+ cloud: "partysocket" /* PARTY_SOCKET */,
3165
+ "self-hosted": "socket.io" /* SOCKET_IO */
3166
+ };
3126
3167
  function transformSocketUrl(socketUrl) {
3127
3168
  if (!socketUrl) return PRODUCTION_SOCKET_URL;
3128
3169
  return URL_TRANSFORMATIONS[socketUrl] || socketUrl;
@@ -3130,17 +3171,26 @@ function transformSocketUrl(socketUrl) {
3130
3171
  function shouldUsePartySocket(socketUrl) {
3131
3172
  return !socketUrl || PARTY_SOCKET_URLS.includes(socketUrl);
3132
3173
  }
3174
+ function resolveSocketType(socketUrl, explicitType) {
3175
+ if (explicitType) {
3176
+ return SOCKET_TYPE_OPTION_MAP[explicitType];
3177
+ }
3178
+ return shouldUsePartySocket(socketUrl) ? "partysocket" /* PARTY_SOCKET */ : "socket.io" /* SOCKET_IO */;
3179
+ }
3133
3180
  function createSocket({
3134
3181
  socketUrl,
3182
+ socketOptions,
3135
3183
  inboxServiceInstance,
3136
3184
  eventEmitterInstance
3137
3185
  }) {
3138
3186
  const transformedSocketUrl = transformSocketUrl(socketUrl);
3139
- const socketType = shouldUsePartySocket(transformedSocketUrl) ? "partysocket" /* PARTY_SOCKET */ : "socket.io" /* SOCKET_IO */;
3187
+ const _a = socketOptions || {}, { socketType: explicitSocketType } = _a, restSocketOptions = __objRest(_a, ["socketType"]);
3188
+ const socketType = resolveSocketType(transformedSocketUrl, explicitSocketType);
3140
3189
  switch (socketType) {
3141
3190
  case "partysocket" /* PARTY_SOCKET */:
3142
3191
  return new PartySocketClient({
3143
3192
  socketUrl: transformedSocketUrl,
3193
+ socketOptions: restSocketOptions,
3144
3194
  inboxServiceInstance,
3145
3195
  eventEmitterInstance
3146
3196
  });
@@ -3148,6 +3198,7 @@ function createSocket({
3148
3198
  default:
3149
3199
  return new Socket({
3150
3200
  socketUrl: transformedSocketUrl,
3201
+ socketOptions: restSocketOptions,
3151
3202
  inboxServiceInstance,
3152
3203
  eventEmitterInstance
3153
3204
  });
@@ -3165,8 +3216,7 @@ var Novu = class {
3165
3216
  var _a, _b, _c;
3166
3217
  __privateSet(this, _options2, options);
3167
3218
  __privateSet(this, _inboxService6, new InboxService({
3168
- apiUrl: options.apiUrl || options.backendUrl,
3169
- userAgent: options.__userAgent
3219
+ apiUrl: options.apiUrl || options.backendUrl
3170
3220
  }));
3171
3221
  __privateSet(this, _emitter12, new NovuEventEmitter());
3172
3222
  const subscriber = buildSubscriber({ subscriberId: options.subscriberId, subscriber: options.subscriber });
@@ -3203,6 +3253,7 @@ var Novu = class {
3203
3253
  });
3204
3254
  this.socket = createSocket({
3205
3255
  socketUrl: options.socketUrl,
3256
+ socketOptions: options.socketOptions,
3206
3257
  eventEmitterInstance: __privateGet(this, _emitter12),
3207
3258
  inboxServiceInstance: __privateGet(this, _inboxService6)
3208
3259
  });
@@ -1,7 +1,7 @@
1
1
  export * from 'json-logic-js';
2
- import { S as SeverityLevelEnum, N as NotificationFilter, a as Notification } from './novu-event-emitter-BFZmnC3B.mjs';
3
- export { B as BaseDeleteSubscriptionArgs, f as BaseUpdateSubscriptionArgs, j as ChannelPreference, k as ChannelType, l as Context, C as CreateSubscriptionArgs, m as DaySchedule, n as DefaultSchedule, D as DeleteSubscriptionArgs, E as EventHandler, b as Events, F as FiltersCountResponse, G as GetSubscriptionArgs, o as InboxNotification, I as InstanceDeleteSubscriptionArgs, g as InstanceUpdateSubscriptionArgs, p as ListNotificationsResponse, L as ListSubscriptionsArgs, q as NotificationStatus, K as NovuError, r as NovuOptions, s as Preference, P as PreferenceFilter, t as PreferenceLevel, u as PreferencesResponse, v as Schedule, c as SocketEventNames, w as StandardNovuOptions, x as Subscriber, h as SubscriptionPreference, y as TimeRange, T as TopicSubscription, z as UnreadCount, U as UpdateSubscriptionArgs, i as UpdateSubscriptionPreferenceArgs, A as WebSocketEvent, H as WeeklySchedule, J as WorkflowCriticalityEnum, W as WorkflowFilter, d as WorkflowGroupFilter, e as WorkflowIdentifierOrId } from './novu-event-emitter-BFZmnC3B.mjs';
4
- export { N as Novu } from './novu-Dnzb16Le.mjs';
2
+ import { S as SeverityLevelEnum, N as NotificationFilter, a as Notification } from './novu-event-emitter-DlsghVpg.mjs';
3
+ export { B as BaseDeleteSubscriptionArgs, f as BaseUpdateSubscriptionArgs, j as ChannelPreference, k as ChannelType, l as Context, C as CreateSubscriptionArgs, m as DaySchedule, n as DefaultSchedule, D as DeleteSubscriptionArgs, E as EventHandler, b as Events, F as FiltersCountResponse, G as GetSubscriptionArgs, o as InboxNotification, I as InstanceDeleteSubscriptionArgs, g as InstanceUpdateSubscriptionArgs, p as ListNotificationsResponse, L as ListSubscriptionsArgs, q as NotificationStatus, O as NovuError, r as NovuOptions, s as NovuSocketOptions, t as Preference, P as PreferenceFilter, u as PreferenceLevel, v as PreferencesResponse, w as Schedule, c as SocketEventNames, x as SocketTypeOption, y as StandardNovuOptions, z as Subscriber, h as SubscriptionPreference, A as TimeRange, T as TopicSubscription, H as UnreadCount, U as UpdateSubscriptionArgs, i as UpdateSubscriptionPreferenceArgs, J as WebSocketEvent, K as WeeklySchedule, M as WorkflowCriticalityEnum, W as WorkflowFilter, d as WorkflowGroupFilter, e as WorkflowIdentifierOrId } from './novu-event-emitter-DlsghVpg.mjs';
4
+ export { N as Novu } from './novu-C7T9MOUL.mjs';
5
5
 
6
6
  declare const areTagsEqual: (tags1?: string[], tags2?: string[]) => boolean;
7
7
  declare const areSeveritiesEqual: (el1?: SeverityLevelEnum | SeverityLevelEnum[], el2?: SeverityLevelEnum | SeverityLevelEnum[]) => boolean;
@@ -1,3 +1,3 @@
1
- export { Novu, SubscriptionPreference, TopicSubscription, areSeveritiesEqual, areTagsEqual, checkNotificationDataFilter, checkNotificationMatchesFilter, isSameFilter } from './chunk-QFTC4N7O.mjs';
1
+ export { Novu, SubscriptionPreference, TopicSubscription, areSeveritiesEqual, areTagsEqual, checkNotificationDataFilter, checkNotificationMatchesFilter, isSameFilter } from './chunk-DKGB4NJ7.mjs';
2
2
  export { ChannelType, NotificationStatus, NovuError, PreferenceLevel, SeverityLevelEnum, WebSocketEvent, WorkflowCriticalityEnum } from './chunk-W4JUMCRN.mjs';
3
3
  import './chunk-STZMOEWR.mjs';
@@ -1,4 +1,4 @@
1
- import { l as Context, x as Subscriber, O as NovuEventEmitter, M as InboxService, o as InboxNotification, a as Notification } from '../novu-event-emitter-BFZmnC3B.mjs';
1
+ import { l as Context, z as Subscriber, R as NovuEventEmitter, Q as InboxService, o as InboxNotification, a as Notification } from '../novu-event-emitter-DlsghVpg.mjs';
2
2
  import 'json-logic-js';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { M as InboxService, O as NovuEventEmitter, Q as Session, R as Result, V as ScheduleCache, v as Schedule, X as UpdateScheduleArgs, Y as PreferencesCache, Z as ListPreferencesArgs, s as Preference, _ as BasePreferenceArgs, $ as InstancePreferenceArgs, a0 as ListNotificationsArgs, p as ListNotificationsResponse, o as InboxNotification, a as Notification, N as NotificationFilter, a1 as FilterCountArgs, a2 as FilterCountResponse, a3 as FiltersCountArgs, F as FiltersCountResponse, a4 as BaseArgs, a5 as InstanceArgs, a6 as SnoozeArgs, a7 as SubscriptionsCache, x as Subscriber, L as ListSubscriptionsArgs, a8 as Options, T as TopicSubscription, G as GetSubscriptionArgs, C as CreateSubscriptionArgs, f as BaseUpdateSubscriptionArgs, g as InstanceUpdateSubscriptionArgs, B as BaseDeleteSubscriptionArgs, I as InstanceDeleteSubscriptionArgs, c as SocketEventNames, a9 as EventNames, E as EventHandler, b as Events, aa as ContextValue, r as NovuOptions, l as Context } from './novu-event-emitter-BFZmnC3B.js';
1
+ import { Q as InboxService, R as NovuEventEmitter, V as Session, X as Result, Y as ScheduleCache, w as Schedule, Z as UpdateScheduleArgs, _ as PreferencesCache, $ as ListPreferencesArgs, t as Preference, a0 as BasePreferenceArgs, a1 as InstancePreferenceArgs, a2 as ListNotificationsArgs, p as ListNotificationsResponse, o as InboxNotification, a as Notification, N as NotificationFilter, a3 as FilterCountArgs, a4 as FilterCountResponse, a5 as FiltersCountArgs, F as FiltersCountResponse, a6 as BaseArgs, a7 as InstanceArgs, a8 as SnoozeArgs, a9 as SubscriptionsCache, z as Subscriber, L as ListSubscriptionsArgs, aa as Options, T as TopicSubscription, G as GetSubscriptionArgs, C as CreateSubscriptionArgs, f as BaseUpdateSubscriptionArgs, g as InstanceUpdateSubscriptionArgs, B as BaseDeleteSubscriptionArgs, I as InstanceDeleteSubscriptionArgs, c as SocketEventNames, ab as EventNames, E as EventHandler, b as Events, ac as ContextValue, r as NovuOptions, l as Context } from './novu-event-emitter-DlsghVpg.mjs';
2
2
 
3
3
  declare class BaseModule {
4
4
  #private;
@@ -3,10 +3,6 @@ import { RulesLogic } from 'json-logic-js';
3
3
  type HttpClientOptions = {
4
4
  apiVersion?: string;
5
5
  apiUrl?: string;
6
- /**
7
- * @deprecated User-Agent header is not reliable in browsers. Use Novu-Client-Version instead.
8
- */
9
- userAgent?: string;
10
6
  headers?: Record<string, string>;
11
7
  };
12
8
 
@@ -159,6 +155,11 @@ declare enum WebSocketEvent {
159
155
  UNREAD = "unread_count_changed",
160
156
  UNSEEN = "unseen_count_changed"
161
157
  }
158
+ type SocketTypeOption = 'cloud' | 'self-hosted';
159
+ type NovuSocketOptions = {
160
+ socketType?: SocketTypeOption;
161
+ [key: string]: unknown;
162
+ };
162
163
  declare enum SeverityLevelEnum {
163
164
  HIGH = "high",
164
165
  MEDIUM = "medium",
@@ -252,6 +253,8 @@ type NotificationFilter = {
252
253
  seen?: boolean;
253
254
  data?: Record<string, unknown>;
254
255
  severity?: SeverityLevelEnum | SeverityLevelEnum[];
256
+ createdGte?: number;
257
+ createdLte?: number;
255
258
  };
256
259
  type ChannelPreference = {
257
260
  email?: boolean;
@@ -332,13 +335,18 @@ type KeylessNovuOptions = {} & {
332
335
  type StandardNovuOptions = {
333
336
  /** @deprecated Use apiUrl instead */
334
337
  backendUrl?: string;
335
- /** @internal Should be used internally for testing purposes */
336
- __userAgent?: string;
337
338
  applicationIdentifier: string;
338
339
  subscriberHash?: string;
339
340
  contextHash?: string;
340
341
  apiUrl?: string;
341
342
  socketUrl?: string;
343
+ /**
344
+ * Custom socket configuration options. These options will be merged with the default socket configuration.
345
+ * Use `socketType` to explicitly select the socket implementation: `'cloud'` for PartySocket or `'self-hosted'` for socket.io.
346
+ * For socket.io-client connections, supports all socket.io-client options (e.g., `path`, `reconnectionDelay`, `timeout`, etc.).
347
+ * For PartySocket connections, options are applied to the WebSocket instance.
348
+ */
349
+ socketOptions?: NovuSocketOptions;
342
350
  useCache?: boolean;
343
351
  defaultSchedule?: DefaultSchedule;
344
352
  context?: Context;
@@ -461,7 +469,7 @@ declare class InboxService {
461
469
  defaultSchedule?: DefaultSchedule;
462
470
  context?: Context;
463
471
  }): Promise<Session>;
464
- fetchNotifications({ after, archived, limit, offset, read, tags, snoozed, seen, data, severity, }: {
472
+ fetchNotifications({ after, archived, limit, offset, read, tags, snoozed, seen, data, severity, createdGte, createdLte, }: {
465
473
  tags?: string[];
466
474
  read?: boolean;
467
475
  archived?: boolean;
@@ -472,6 +480,8 @@ declare class InboxService {
472
480
  offset?: number;
473
481
  data?: Record<string, unknown>;
474
482
  severity?: SeverityLevelEnum | SeverityLevelEnum[];
483
+ createdGte?: number;
484
+ createdLte?: number;
475
485
  }): Promise<{
476
486
  data: InboxNotification[];
477
487
  hasMore: boolean;
@@ -652,6 +662,8 @@ type ListNotificationsArgs = {
652
662
  after?: string;
653
663
  offset?: number;
654
664
  useCache?: boolean;
665
+ createdGte?: number;
666
+ createdLte?: number;
655
667
  };
656
668
  type ListNotificationsResponse = {
657
669
  notifications: Notification[];
@@ -666,6 +678,8 @@ type FilterCountArgs = {
666
678
  snoozed?: boolean;
667
679
  seen?: boolean;
668
680
  severity?: SeverityLevelEnum | SeverityLevelEnum[];
681
+ createdGte?: number;
682
+ createdLte?: number;
669
683
  };
670
684
  type FiltersCountArgs = {
671
685
  filters: Array<{
@@ -676,6 +690,8 @@ type FiltersCountArgs = {
676
690
  seen?: boolean;
677
691
  data?: Record<string, unknown>;
678
692
  severity?: SeverityLevelEnum | SeverityLevelEnum[];
693
+ createdGte?: number;
694
+ createdLte?: number;
679
695
  }>;
680
696
  };
681
697
  type CountArgs = undefined | FilterCountArgs | FiltersCountArgs;
@@ -849,4 +865,4 @@ declare class NovuEventEmitter {
849
865
  emit<Key extends EventNames>(type: Key, event?: Events[Key]): void;
850
866
  }
851
867
 
852
- export { type InstancePreferenceArgs as $, WebSocketEvent as A, type BaseDeleteSubscriptionArgs as B, type CreateSubscriptionArgs as C, type DeleteSubscriptionArgs as D, type EventHandler as E, type FiltersCountResponse as F, type GetSubscriptionArgs as G, type WeeklySchedule as H, type InstanceDeleteSubscriptionArgs as I, WorkflowCriticalityEnum as J, NovuError as K, type ListSubscriptionsArgs as L, InboxService as M, type NotificationFilter as N, NovuEventEmitter as O, type PreferenceFilter as P, type Session as Q, type Result as R, SeverityLevelEnum as S, TopicSubscription as T, type UpdateSubscriptionArgs as U, ScheduleCache as V, type WorkflowFilter as W, type UpdateScheduleArgs as X, PreferencesCache as Y, type ListPreferencesArgs as Z, type BasePreferenceArgs as _, Notification as a, type ListNotificationsArgs as a0, type FilterCountArgs as a1, type FilterCountResponse as a2, type FiltersCountArgs as a3, type BaseArgs as a4, type InstanceArgs as a5, type SnoozeArgs as a6, SubscriptionsCache as a7, type Options as a8, type EventNames as a9, type ContextValue as aa, type Events as b, type SocketEventNames as c, type WorkflowGroupFilter as d, type WorkflowIdentifierOrId as e, type BaseUpdateSubscriptionArgs as f, type InstanceUpdateSubscriptionArgs as g, SubscriptionPreference as h, type UpdateSubscriptionPreferenceArgs as i, type ChannelPreference as j, ChannelType as k, type Context as l, type DaySchedule as m, type DefaultSchedule as n, type InboxNotification as o, type ListNotificationsResponse as p, NotificationStatus as q, type NovuOptions as r, Preference as s, PreferenceLevel as t, type PreferencesResponse as u, Schedule as v, type StandardNovuOptions as w, type Subscriber as x, type TimeRange as y, type UnreadCount as z };
868
+ export { type ListPreferencesArgs as $, type TimeRange as A, type BaseDeleteSubscriptionArgs as B, type CreateSubscriptionArgs as C, type DeleteSubscriptionArgs as D, type EventHandler as E, type FiltersCountResponse as F, type GetSubscriptionArgs as G, type UnreadCount as H, type InstanceDeleteSubscriptionArgs as I, WebSocketEvent as J, type WeeklySchedule as K, type ListSubscriptionsArgs as L, WorkflowCriticalityEnum as M, type NotificationFilter as N, NovuError as O, type PreferenceFilter as P, InboxService as Q, NovuEventEmitter as R, SeverityLevelEnum as S, TopicSubscription as T, type UpdateSubscriptionArgs as U, type Session as V, type WorkflowFilter as W, type Result as X, ScheduleCache as Y, type UpdateScheduleArgs as Z, PreferencesCache as _, Notification as a, type BasePreferenceArgs as a0, type InstancePreferenceArgs as a1, type ListNotificationsArgs as a2, type FilterCountArgs as a3, type FilterCountResponse as a4, type FiltersCountArgs as a5, type BaseArgs as a6, type InstanceArgs as a7, type SnoozeArgs as a8, SubscriptionsCache as a9, type Options as aa, type EventNames as ab, type ContextValue as ac, type Events as b, type SocketEventNames as c, type WorkflowGroupFilter as d, type WorkflowIdentifierOrId as e, type BaseUpdateSubscriptionArgs as f, type InstanceUpdateSubscriptionArgs as g, SubscriptionPreference as h, type UpdateSubscriptionPreferenceArgs as i, type ChannelPreference as j, ChannelType as k, type Context as l, type DaySchedule as m, type DefaultSchedule as n, type InboxNotification as o, type ListNotificationsResponse as p, NotificationStatus as q, type NovuOptions as r, type NovuSocketOptions as s, Preference as t, PreferenceLevel as u, type PreferencesResponse as v, Schedule as w, type SocketTypeOption as x, type StandardNovuOptions as y, type Subscriber as z };