@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.
- package/README.md +41 -0
- package/dist/cjs/{chunk-BDYEMGVY.js → chunk-YYT2PAWE.js} +84 -33
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +9 -9
- package/dist/cjs/internal/index.d.ts +1 -1
- package/dist/{esm/novu-Dnzb16Le.d.mts → cjs/novu-Dz_wNJko.d.ts} +1 -1
- package/dist/{esm/novu-event-emitter-BFZmnC3B.d.mts → cjs/novu-event-emitter-DlsghVpg.d.ts} +24 -8
- package/dist/cjs/themes/index.d.ts +3 -3
- package/dist/cjs/{types-BxUhsMdy.d.ts → types-kZC7YyfT.d.ts} +2 -2
- package/dist/cjs/ui/index.d.ts +5 -5
- package/dist/cjs/ui/index.js +9 -9
- package/dist/esm/{chunk-QFTC4N7O.mjs → chunk-DKGB4NJ7.mjs} +84 -33
- package/dist/esm/index.d.mts +3 -3
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal/index.d.mts +1 -1
- package/dist/{cjs/novu-D_YIntb9.d.ts → esm/novu-C7T9MOUL.d.mts} +1 -1
- package/dist/{cjs/novu-event-emitter-BFZmnC3B.d.ts → esm/novu-event-emitter-DlsghVpg.d.mts} +24 -8
- package/dist/esm/themes/index.d.mts +3 -3
- package/dist/esm/{types-DxJq-5Sy.d.mts → types-ChYSuHwX.d.mts} +2 -2
- package/dist/esm/ui/index.d.mts +5 -5
- package/dist/esm/ui/index.mjs +2 -2
- package/dist/novu.min.js +12 -12
- package/dist/novu.min.js.gz +0 -0
- package/package.json +1 -1
package/dist/cjs/ui/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
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
|
-
//
|
|
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
|
|
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 =
|
|
1661
|
-
const matchesDataFilterCriteria =
|
|
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 (
|
|
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}/${
|
|
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 || !
|
|
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 (
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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(
|
|
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
|
-
(
|
|
3087
|
-
(
|
|
3088
|
-
(
|
|
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
|
|
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
|
});
|
package/dist/esm/index.d.mts
CHANGED
|
@@ -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-
|
|
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,
|
|
4
|
-
export { N as Novu } from './novu-
|
|
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;
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Novu, SubscriptionPreference, TopicSubscription, areSeveritiesEqual, areTagsEqual, checkNotificationDataFilter, checkNotificationMatchesFilter, isSameFilter } from './chunk-
|
|
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,
|
|
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 {
|
|
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
|
|
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 };
|