@novu/js 3.8.1 → 3.9.2

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 chunkJOKRZMGH_js = require('../chunk-JOKRZMGH.js');
3
+ var chunkVEX66SK3_js = require('../chunk-VEX66SK3.js');
4
4
  var chunkZB7IPCHY_js = require('../chunk-ZB7IPCHY.js');
5
5
  var chunk7B52C2XE_js = require('../chunk-7B52C2XE.js');
6
6
  var web = require('solid-js/web');
@@ -17,8 +17,8 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
17
 
18
18
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
19
19
 
20
- // _j9cq3718i:/home/runner/work/novu/novu/packages/js/src/ui/index.directcss
21
- var ui_default = `.novu{scrollbar-color:var(--nv-color-secondary-foreground-alpha-300) #0000;:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{border:0 solid #e5e7eb;box-sizing:border-box}:where(html,:host){line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}:where(body){line-height:inherit;margin:0}:where(hr){border-top-width:1px;color:inherit;height:0}:where(abbr:where([title])){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(a){color:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small){font-size:80%}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:initial}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button]),input:where([type=reset]),input:where([type=submit])){-webkit-appearance:button;background-color:initial;background-image:none}:where(:-moz-focusring){outline:auto}:where(:-moz-ui-invalid){box-shadow:none}:where(progress){vertical-align:initial}:where(*)::-webkit-inner-spin-button,:where(*)::-webkit-outer-spin-button{height:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(*)::-webkit-search-decoration{-webkit-appearance:none}:where(*)::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre){margin:0}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(ol,ul,menu){list-style:none;margin:0;padding:0}:where(dialog){padding:0}:where(textarea){resize:vertical}:where(input)::placeholder,:where(textarea)::placeholder{color:#9ca3af;opacity:1}:where(button,[role=button]){cursor:pointer}:where(:disabled){cursor:default}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block;vertical-align:middle}:where(img,video){height:auto;max-width:100%}:where([hidden]){display:none}:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(*) ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-thumb{background-clip:"padding-box";background-color:var(--nv-color-secondary-foreground-alpha-300);border-radius:.25rem}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background-color:initial}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-left-0\\.5{left:.125rem}.nt-right-0{right:0}.nt-right-3{right:.75rem}.nt-top-0{top:0}.nt-top-0\\.5{top:.125rem}.nt-top-3{top:.75rem}.nt-z-10{z-index:10}.nt-z-\\[-1\\]{z-index:-1}.nt-mx-auto{margin-left:auto;margin-right:auto}.nt--mt-\\[50px\\]{margin-top:-50px}.nt-mb-1{margin-bottom:.25rem}.nt-mb-2{margin-bottom:.5rem}.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-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-8{height:2rem;width:2rem}.nt-size-fit{height:fit-content;width:fit-content}.nt-size-full{height:100%;width:100%}.nt-h-2{height:.5rem}.nt-h-3{height:.75rem}.nt-h-4{height:1rem}.nt-h-5{height:1.25rem}.nt-h-7{height:1.75rem}.nt-h-8{height:2rem}.nt-h-9{height:2.25rem}.nt-h-\\[600px\\]{height:600px}.nt-h-fit{height:fit-content}.nt-h-full{height:100%}.nt-min-h-0{min-height:0}.nt-w-1\\/3{width:33.333333%}.nt-w-2\\/3{width:66.666667%}.nt-w-5{width:1.25rem}.nt-w-7{width:1.75rem}.nt-w-8{width:2rem}.nt-w-\\[260px\\]{width:260px}.nt-w-\\[400px\\]{width:400px}.nt-w-\\[60px\\]{width:60px}.nt-w-\\[calc\\(2ch\\+2rem\\)\\]{width:calc(2ch + 2rem)}.nt-w-fit{width:fit-content}.nt-w-full{width:100%}.nt-w-max{width:max-content}.nt-min-w-52{min-width:13rem}.nt-flex-1{flex:1 1 0%}.nt-shrink-0{flex-shrink:0}.nt-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))}.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-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-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-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-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-2{padding-bottom:.5rem;padding-top:.5rem}.nt-py-3{padding-bottom:.75rem;padding-top:.75rem}.nt-py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.nt-py-4{padding-bottom:1rem;padding-top:1rem}.nt-py-px{padding-bottom:1px;padding-top:1px}.nt-pb-2{padding-bottom:.5rem}.nt-pb-\\[0\\.625rem\\]{padding-bottom:.625rem}.nt-pr-0{padding-right:0}.nt-pt-2\\.5{padding-top:.625rem}.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-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-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{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-backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.nt-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-duration-100{transition-duration:.1s}.nt-duration-200{transition-duration:.2s}.nt-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.nt-animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.nt-fade-in{--tw-enter-opacity:0}.nt-slide-in-from-top-2{--tw-enter-translate-y:-0.5rem}.nt-duration-100{animation-duration:.1s}.nt-duration-200{animation-duration:.2s}.nt-ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\\[interpolate-size\\:allow-keywords\\]{interpolate-size:allow-keywords}.\\[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)}@keyframes nt-stripes{0%{content:var(--tw-content);transform:translateX(0)}to{content:var(--tw-content);transform:translateX(calc(var(--stripes-size)*-1))}}.before\\:nt-animate-stripes:before{animation:nt-stripes 1s linear infinite paused;content:var(--tw-content)}.before\\:nt-rounded-lg:before{border-radius:var(--nv-radius-lg);content:var(--tw-content)}.before\\:nt-rounded-md:before{border-radius:var(--nv-radius-md);content:var(--tw-content)}.before\\:nt-rounded-xl:before{border-radius:var(--nv-radius-xl);content:var(--tw-content)}.before\\:nt-border:before{border-width:1px;content:var(--tw-content)}.before\\:nt-border-primary-foreground-alpha-100:before{border-color:var(--nv-color-primary-foreground-alpha-100);content:var(--tw-content)}.before\\:nt-border-secondary-foreground-alpha-100:before{border-color:var(--nv-color-secondary-foreground-alpha-100);content:var(--tw-content)}.before\\:nt-bg-dev-stripes-gradient:before{background-image:repeating-linear-gradient(135deg,oklch(from var(--nv-color-stripes) l c h/.1) 25%,oklch(from var(--nv-color-stripes) l c h/.1) 50%,oklch(from var(--nv-color-stripes) l c h/.2) 50%,oklch(from var(--nv-color-stripes) l c h/.2) 75%);content:var(--tw-content)}.before\\:nt-bg-\\[length\\:var\\(--stripes-size\\)_var\\(--stripes-size\\)\\]:before{background-size:var(--stripes-size) var(--stripes-size);content:var(--tw-content)}.before\\:nt-content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.before\\:\\[mask-image\\:linear-gradient\\(transparent_0\\%\\2c black\\)\\]:before{content:var(--tw-content);-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.after\\:nt-absolute:after{content:var(--tw-content);position:absolute}.after\\:nt-inset-0:after{content:var(--tw-content);inset:0}.after\\:-nt-top-12:after{content:var(--tw-content);top:-3rem}.after\\:nt-bottom-0:after{bottom:0;content:var(--tw-content)}.after\\:nt-left-0:after{content:var(--tw-content);left:0}.after\\:nt-left-0\\.5:after{content:var(--tw-content);left:.125rem}.after\\:nt-top-0\\.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-lg:after{border-radius:var(--nv-radius-lg);content:var(--tw-content)}.after\\:nt-rounded-md:after{border-radius:var(--nv-radius-md);content:var(--tw-content)}.after\\:nt-rounded-xl:after{border-radius:var(--nv-radius-xl);content:var(--tw-content)}.after\\:nt-border-b-2:after{border-bottom-width:2px;content:var(--tw-content)}.after\\:nt-border-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-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,.nt-group:hover .group-hover\\:nt-opacity-100{opacity:1}.data-\\[open\\=true\\]\\:nt-rotate-180[data-open=true]{--tw-rotate:180deg}.data-\\[open\\=true\\]\\:nt-rotate-180[data-open=true],.data-\\[open\\=true\\]\\:nt-transform[data-open=true]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[disabled\\=true\\]\\:nt-text-foreground-alpha-400[data-disabled=true]{color:var(--nv-color-foreground-alpha-400)}.data-\\[disabled\\=true\\]\\:nt-text-foreground-alpha-600[data-disabled=true]{color:var(--nv-color-foreground-alpha-600)}.data-\\[state\\=active\\]\\:nt-text-foreground[data-state=active]{color:var(--nv-color-foreground)}.data-\\[state\\=active\\]\\:after\\:nt-border-b-2[data-state=active]:after{border-bottom-width:2px;content:var(--tw-content)}.data-\\[state\\=active\\]\\:after\\:nt-border-primary[data-state=active]:after{border-color:var(--nv-color-primary);content:var(--tw-content)}.data-\\[state\\=active\\]\\:after\\:nt-opacity-100[data-state=active]:after{content:var(--tw-content);opacity:1}.\\[\\&\\:not\\(\\:first-child\\)\\]\\:nt-border-t:not(:first-child){border-top-width:1px}.\\[\\&_\\.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}.\\[\\&_svg\\]\\:nt-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:nt-shrink-0 svg{flex-shrink:0}`;
20
+ // _vxjvi57ta:/home/runner/work/novu/novu/packages/js/src/ui/index.directcss
21
+ var ui_default = `.novu{scrollbar-color:var(--nv-color-secondary-foreground-alpha-300) #0000;:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{border:0 solid #e5e7eb;box-sizing:border-box}:where(html,:host){line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}:where(body){line-height:inherit;margin:0}:where(hr){border-top-width:1px;color:inherit;height:0}:where(abbr:where([title])){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(a){color:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small){font-size:80%}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:initial}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button]),input:where([type=reset]),input:where([type=submit])){-webkit-appearance:button;background-color:initial;background-image:none}:where(:-moz-focusring){outline:auto}:where(:-moz-ui-invalid){box-shadow:none}:where(progress){vertical-align:initial}:where(*)::-webkit-inner-spin-button,:where(*)::-webkit-outer-spin-button{height:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(*)::-webkit-search-decoration{-webkit-appearance:none}:where(*)::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre){margin:0}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(ol,ul,menu){list-style:none;margin:0;padding:0}:where(dialog){padding:0}:where(textarea){resize:vertical}:where(input)::placeholder,:where(textarea)::placeholder{color:#9ca3af;opacity:1}:where(button,[role=button]){cursor:pointer}:where(:disabled){cursor:default}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block;vertical-align:middle}:where(img,video){height:auto;max-width:100%}:where([hidden]){display:none}:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(*) ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-thumb{background-clip:"padding-box";background-color:var(--nv-color-secondary-foreground-alpha-300);border-radius:.25rem}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background-color:initial}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-\\[50px\\]{margin-top:-50px}.nt-mb-1{margin-bottom:.25rem}.nt-mb-2{margin-bottom:.5rem}.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-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-8{height:2rem;width:2rem}.nt-size-fit{height:fit-content;width:fit-content}.nt-size-full{height:100%;width:100%}.nt-h-2{height:.5rem}.nt-h-3{height:.75rem}.nt-h-4{height:1rem}.nt-h-5{height:1.25rem}.nt-h-7{height:1.75rem}.nt-h-8{height:2rem}.nt-h-9{height:2.25rem}.nt-h-\\[600px\\]{height:600px}.nt-h-fit{height:fit-content}.nt-h-full{height:100%}.nt-min-h-0{min-height:0}.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-\\[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:fit-content}.nt-w-full{width:100%}.nt-w-max{width:max-content}.nt-min-w-52{min-width:13rem}.nt-flex-1{flex:1 1 0%}.nt-shrink-0{flex-shrink:0}.nt-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))}.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-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-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-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-2{padding-bottom:.5rem;padding-top:.5rem}.nt-py-3{padding-bottom:.75rem;padding-top:.75rem}.nt-py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.nt-py-4{padding-bottom:1rem;padding-top:1rem}.nt-py-px{padding-bottom:1px;padding-top:1px}.nt-pb-2{padding-bottom:.5rem}.nt-pb-\\[0\\.625rem\\]{padding-bottom:.625rem}.nt-pr-0{padding-right:0}.nt-pt-2\\.5{padding-top:.625rem}.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-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-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{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-backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.nt-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-duration-100{transition-duration:.1s}.nt-duration-200{transition-duration:.2s}.nt-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.nt-animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.nt-fade-in{--tw-enter-opacity:0}.nt-slide-in-from-top-2{--tw-enter-translate-y:-0.5rem}.nt-duration-100{animation-duration:.1s}.nt-duration-200{animation-duration:.2s}.nt-ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\\[--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}.\\[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-lg:before{border-radius:var(--nv-radius-lg);content:var(--tw-content)}.before\\:nt-rounded-md:before{border-radius:var(--nv-radius-md);content:var(--tw-content)}.before\\:nt-rounded-xl:before{border-radius:var(--nv-radius-xl);content:var(--tw-content)}.before\\:nt-border:before{border-width:1px;content:var(--tw-content)}.before\\:nt-border-primary-foreground-alpha-100:before{border-color:var(--nv-color-primary-foreground-alpha-100);content:var(--tw-content)}.before\\:nt-border-secondary-foreground-alpha-100:before{border-color:var(--nv-color-secondary-foreground-alpha-100);content:var(--tw-content)}.before\\:nt-bg-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-lg:after{border-radius:var(--nv-radius-lg);content:var(--tw-content)}.after\\:nt-rounded-md:after{border-radius:var(--nv-radius-md);content:var(--tw-content)}.after\\:nt-rounded-xl:after{border-radius:var(--nv-radius-xl);content:var(--tw-content)}.after\\:nt-border-b-2:after{border-bottom-width:2px;content:var(--tw-content)}.after\\:nt-border-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-100{opacity:1}.data-\\[open\\=true\\]\\:nt-rotate-180[data-open=true]{--tw-rotate:180deg}.data-\\[open\\=true\\]\\:nt-rotate-180[data-open=true],.data-\\[open\\=true\\]\\:nt-transform[data-open=true]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[disabled\\=true\\]\\:nt-text-foreground-alpha-400[data-disabled=true]{color:var(--nv-color-foreground-alpha-400)}.data-\\[disabled\\=true\\]\\:nt-text-foreground-alpha-600[data-disabled=true]{color:var(--nv-color-foreground-alpha-600)}.data-\\[state\\=active\\]\\:nt-text-foreground[data-state=active]{color:var(--nv-color-foreground)}.data-\\[state\\=active\\]\\:after\\:nt-border-b-2[data-state=active]:after{border-bottom-width:2px;content:var(--tw-content)}.data-\\[state\\=active\\]\\:after\\:nt-border-primary[data-state=active]:after{border-color:var(--nv-color-primary);content:var(--tw-content)}.data-\\[state\\=active\\]\\:after\\:nt-opacity-100[data-state=active]:after{content:var(--tw-content);opacity:1}.\\[\\&\\:not\\(\\:first-child\\)\\]\\:nt-border-t:not(:first-child){border-top-width:1px}.\\[\\&_\\.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}`;
22
22
 
23
23
  // src/ui/config/appearanceKeys.ts
24
24
  var appearanceKeys = [
@@ -84,6 +84,13 @@ var appearanceKeys = [
84
84
  "bellIcon",
85
85
  "lockIcon",
86
86
  "bellContainer",
87
+ "severityHigh__bellContainer",
88
+ "severityMedium__bellContainer",
89
+ "severityLow__bellContainer",
90
+ "bellSeverityGlow",
91
+ "severityGlowHigh__bellSeverityGlow",
92
+ "severityGlowMedium__bellSeverityGlow",
93
+ "severityGlowLow__bellSeverityGlow",
87
94
  "bellDot",
88
95
  "preferences__button",
89
96
  "preferencesContainer",
@@ -107,6 +114,13 @@ var appearanceKeys = [
107
114
  "notificationList__skeletonText",
108
115
  "notificationListNewNotificationsNotice__button",
109
116
  "notification",
117
+ "severityHigh__notification",
118
+ "severityMedium__notification",
119
+ "severityLow__notification",
120
+ "notificationBar",
121
+ "severityHigh__notificationBar",
122
+ "severityMedium__notificationBar",
123
+ "severityLow__notificationBar",
110
124
  "notificationContent",
111
125
  "notificationTextContainer",
112
126
  "notificationDot",
@@ -290,7 +304,10 @@ var defaultVariables = {
290
304
  colorShadow: "rgb(0,0,0)",
291
305
  fontSize: "1rem",
292
306
  borderRadius: "0.375rem",
293
- colorStripes: "#FF9A68"
307
+ colorStripes: "#FF9A68",
308
+ colorSeverityHigh: "#FB3748",
309
+ colorSeverityMedium: "#FF8447",
310
+ colorSeverityLow: "transparent"
294
311
  };
295
312
 
296
313
  // src/ui/helpers/constants.ts
@@ -827,6 +844,16 @@ var parseVariables = (variables, id) => {
827
844
  generateDefaultColor({ color: variables.colorShadow, key: "color-shadow", id }),
828
845
  generateDefaultColor({ color: variables.colorRing, key: "color-ring", id }),
829
846
  generateDefaultColor({ color: variables.colorStripes, key: "color-stripes", id }),
847
+ generateDefaultColor({ color: variables.colorSeverityHigh, key: "color-severity-high", id }),
848
+ generateDefaultColor({ color: variables.colorSeverityMedium, key: "color-severity-medium", id }),
849
+ generateDefaultColor({ color: variables.colorSeverityLow, key: "color-severity-low", id }),
850
+ ...generateAlphaShadeRulesFromColor({ color: variables.colorSeverityHigh, key: "color-severity-high-alpha", id }),
851
+ ...generateAlphaShadeRulesFromColor({
852
+ color: variables.colorSeverityMedium,
853
+ key: "color-severity-medium-alpha",
854
+ id
855
+ }),
856
+ ...generateAlphaShadeRulesFromColor({ color: variables.colorSeverityLow, key: "color-severity-low-alpha", id }),
830
857
  ...generateAlphaShadeRulesFromColor({ color: variables.colorBackground, key: "color-background-alpha", id }),
831
858
  ...generateAlphaShadeRulesFromColor({ color: variables.colorForeground, key: "color-foreground-alpha", id }),
832
859
  ...generateSolidShadeRulesFromColor({ color: variables.colorPrimary, key: "color-primary", id }),
@@ -883,10 +910,13 @@ var useStyle = () => {
883
910
  setIsServer(false);
884
911
  });
885
912
  const styleFuncMemo = solidJs.createMemo(
886
- () => (appearanceKey, className, {
887
- iconKey
888
- } = {}) => {
889
- const appearanceKeyParts = appearanceKey.split("__");
913
+ () => ({
914
+ key,
915
+ className,
916
+ iconKey,
917
+ context
918
+ }) => {
919
+ const appearanceKeyParts = key.split("__");
890
920
  let finalAppearanceKeys = [];
891
921
  for (let i = 0; i < appearanceKeyParts.length; i += 1) {
892
922
  const accumulated = appearanceKeyParts.slice(i).join("__");
@@ -910,14 +940,17 @@ var useStyle = () => {
910
940
  let appearanceClassnames = [];
911
941
  const reversedFinalAppearanceKeys = finalAppearanceKeys.reverse();
912
942
  for (let i = 0; i < reversedFinalAppearanceKeys.length; i += 1) {
913
- if (typeof appearance.elements()[reversedFinalAppearanceKeys[i]] === "string") {
914
- appearanceClassnames.push(appearance.elements()[reversedFinalAppearanceKeys[i]]);
943
+ const elementStyles = appearance.elements()[reversedFinalAppearanceKeys[i]];
944
+ if (typeof elementStyles === "string") {
945
+ appearanceClassnames.push(elementStyles);
946
+ } else if (typeof elementStyles === "function") {
947
+ appearanceClassnames.push(elementStyles(context));
915
948
  }
916
949
  }
917
950
  appearanceClassnames = [publicFacingTwMerge(appearanceClassnames)];
918
951
  const cssInJsClasses = !!finalAppearanceKeys.length && !isServer() ? finalAppearanceKeys.map((appKey) => appearance.appearanceKeyToCssInJsClass[appKey]) : [];
919
952
  return cn(
920
- ...finalAppearanceKeys.map((key) => `nv-${key}`),
953
+ ...finalAppearanceKeys.map((key2) => `nv-${key2}`),
921
954
  "\u{1F514}",
922
955
  iconKey ? `nv-${iconKey} \u{1F5BC}\uFE0F` : "",
923
956
  finalClassName,
@@ -1209,7 +1242,7 @@ var STATUS_TO_FILTER = {
1209
1242
  };
1210
1243
  var DEFAULT_LIMIT = 10;
1211
1244
  var InboxProvider = (props) => {
1212
- var _a, _b;
1245
+ var _a, _b, _c;
1213
1246
  const [isOpened, setIsOpened] = solidJs.createSignal(false);
1214
1247
  const [tabs, setTabs] = solidJs.createSignal(props.tabs);
1215
1248
  const [activeTab, setActiveTab] = solidJs.createSignal((_a = props.tabs[0] && props.tabs[0].label) != null ? _a : "");
@@ -1217,7 +1250,8 @@ var InboxProvider = (props) => {
1217
1250
  const [limit, setLimit] = solidJs.createSignal(DEFAULT_LIMIT);
1218
1251
  const [filter, setFilter] = solidJs.createSignal(chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, STATUS_TO_FILTER["unreadRead" /* UNREAD_READ */]), {
1219
1252
  tags: props.tabs.length > 0 ? getTagsFromTab(props.tabs[0]) : [],
1220
- data: props.tabs.length > 0 ? (_b = props.tabs[0].filter) == null ? void 0 : _b.data : {}
1253
+ data: props.tabs.length > 0 ? (_b = props.tabs[0].filter) == null ? void 0 : _b.data : {},
1254
+ severity: props.tabs.length > 0 ? (_c = props.tabs[0].filter) == null ? void 0 : _c.severity : void 0
1221
1255
  }));
1222
1256
  const [hideBranding, setHideBranding] = solidJs.createSignal(false);
1223
1257
  const [isDevelopmentMode, setIsDevelopmentMode] = solidJs.createSignal(false);
@@ -1231,7 +1265,8 @@ var InboxProvider = (props) => {
1231
1265
  setStatus(newStatus);
1232
1266
  setFilter((old) => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, STATUS_TO_FILTER[newStatus]), {
1233
1267
  tags: old.tags,
1234
- data: old.data
1268
+ data: old.data,
1269
+ severity: old.severity
1235
1270
  }));
1236
1271
  };
1237
1272
  const setNewActiveTab = (newActiveTab) => {
@@ -1242,10 +1277,11 @@ var InboxProvider = (props) => {
1242
1277
  }
1243
1278
  setActiveTab(newActiveTab);
1244
1279
  setFilter((old) => {
1245
- var _a2;
1280
+ var _a2, _b2;
1246
1281
  return chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, old), {
1247
1282
  tags,
1248
- data: (_a2 = tab == null ? void 0 : tab.filter) == null ? void 0 : _a2.data
1283
+ data: (_a2 = tab == null ? void 0 : tab.filter) == null ? void 0 : _a2.data,
1284
+ severity: (_b2 = tab == null ? void 0 : tab.filter) == null ? void 0 : _b2.severity
1249
1285
  });
1250
1286
  });
1251
1287
  };
@@ -1273,10 +1309,11 @@ var InboxProvider = (props) => {
1273
1309
  const tags = getTagsFromTab(firstTab);
1274
1310
  setActiveTab((_a2 = firstTab == null ? void 0 : firstTab.label) != null ? _a2 : "");
1275
1311
  setFilter((old) => {
1276
- var _a3;
1312
+ var _a3, _b2;
1277
1313
  return chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, old), {
1278
1314
  tags,
1279
- data: (_a3 = firstTab == null ? void 0 : firstTab.filter) == null ? void 0 : _a3.data
1315
+ data: (_a3 = firstTab == null ? void 0 : firstTab.filter) == null ? void 0 : _a3.data,
1316
+ severity: (_b2 = firstTab == null ? void 0 : firstTab.filter) == null ? void 0 : _b2.severity
1280
1317
  });
1281
1318
  });
1282
1319
  setPreferencesFilter(props.preferencesFilter);
@@ -1339,7 +1376,7 @@ var useInboxContext = () => {
1339
1376
  };
1340
1377
  var NovuContext = solidJs.createContext(void 0);
1341
1378
  function NovuProvider(props) {
1342
- const novu = solidJs.createMemo(() => props.novu || new chunkJOKRZMGH_js.Novu(props.options));
1379
+ const novu = solidJs.createMemo(() => props.novu || new chunkVEX66SK3_js.Novu(props.options));
1343
1380
  return web.createComponent(NovuContext.Provider, {
1344
1381
  get value() {
1345
1382
  return novu();
@@ -1366,9 +1403,18 @@ var CountProvider = (props) => {
1366
1403
  isOpened,
1367
1404
  tabs,
1368
1405
  filter,
1369
- limit
1406
+ limit,
1407
+ activeTab
1370
1408
  } = useInboxContext();
1371
- const [totalUnreadCount, setTotalUnreadCount] = solidJs.createSignal(0);
1409
+ const [unreadCount, setUnreadCount] = solidJs.createSignal({
1410
+ total: 0,
1411
+ severity: {
1412
+ ["high" /* HIGH */]: 0,
1413
+ ["medium" /* MEDIUM */]: 0,
1414
+ ["low" /* LOW */]: 0,
1415
+ ["none" /* NONE */]: 0
1416
+ }
1417
+ });
1372
1418
  const [unreadCounts, setUnreadCounts] = solidJs.createSignal(/* @__PURE__ */ new Map());
1373
1419
  const [newNotificationCounts, setNewNotificationCounts] = solidJs.createSignal(/* @__PURE__ */ new Map());
1374
1420
  const updateTabCounts = () => chunk7B52C2XE_js.__async(void 0, null, function* () {
@@ -1376,13 +1422,14 @@ var CountProvider = (props) => {
1376
1422
  return;
1377
1423
  }
1378
1424
  const filters = tabs().map((tab) => {
1379
- var _a;
1425
+ var _a, _b;
1380
1426
  return {
1381
1427
  tags: getTagsFromTab(tab),
1382
1428
  read: false,
1383
1429
  archived: false,
1384
1430
  snoozed: false,
1385
- data: (_a = tab.filter) == null ? void 0 : _a.data
1431
+ data: (_a = tab.filter) == null ? void 0 : _a.data,
1432
+ severity: (_b = tab.filter) == null ? void 0 : _b.severity
1386
1433
  };
1387
1434
  });
1388
1435
  const {
@@ -1398,7 +1445,11 @@ var CountProvider = (props) => {
1398
1445
  counts
1399
1446
  } = data;
1400
1447
  for (let i = 0; i < counts.length; i += 1) {
1401
- const tagsKey = createKey(counts[i].filter.tags, counts[i].filter.data);
1448
+ const tagsKey = createKey({
1449
+ tags: counts[i].filter.tags,
1450
+ data: counts[i].filter.data,
1451
+ severity: counts[i].filter.severity
1452
+ });
1402
1453
  newMap.set(tagsKey, data == null ? void 0 : data.counts[i].count);
1403
1454
  }
1404
1455
  setUnreadCounts(newMap);
@@ -1409,7 +1460,7 @@ var CountProvider = (props) => {
1409
1460
  useWebSocketEvent({
1410
1461
  event: "notifications.unread_count_changed",
1411
1462
  eventHandler: (data) => {
1412
- setTotalUnreadCount(data.result);
1463
+ setUnreadCount(data.result);
1413
1464
  updateTabCounts();
1414
1465
  }
1415
1466
  });
@@ -1421,20 +1472,21 @@ var CountProvider = (props) => {
1421
1472
  if (!data) {
1422
1473
  return;
1423
1474
  }
1424
- setTotalUnreadCount(data.totalUnreadCount);
1475
+ setUnreadCount(data.unreadCount);
1425
1476
  }
1426
1477
  });
1427
- const updateNewNotificationCountsOrCache = (notification, tags, data) => {
1478
+ const updateNewNotificationCountsOrCache = (tabLabel, notification, tags, data, severity) => {
1428
1479
  const notificationsCache = novu.notifications.cache;
1429
1480
  const limitValue = limit();
1430
1481
  const tabSpecificFilterForCache = chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, filter()), {
1431
1482
  tags,
1432
1483
  data,
1484
+ severity,
1433
1485
  after: void 0,
1434
1486
  limit: limitValue
1435
1487
  });
1436
1488
  const hasEmptyCache = !notificationsCache.has(tabSpecificFilterForCache);
1437
- if (!isOpened() && hasEmptyCache) {
1489
+ if (hasEmptyCache && (!isOpened() || activeTab() !== tabLabel)) {
1438
1490
  return;
1439
1491
  }
1440
1492
  const cachedData = notificationsCache.getAll(tabSpecificFilterForCache) || {
@@ -1443,14 +1495,18 @@ var CountProvider = (props) => {
1443
1495
  notifications: []
1444
1496
  };
1445
1497
  const hasLessThenMinAmount = ((cachedData == null ? void 0 : cachedData.notifications.length) || 0) < MIN_AMOUNT_OF_NOTIFICATIONS;
1446
- if (hasLessThenMinAmount) {
1498
+ if (hasLessThenMinAmount || !isOpened()) {
1447
1499
  notificationsCache.update(tabSpecificFilterForCache, chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, cachedData), {
1448
1500
  notifications: [notification, ...cachedData.notifications]
1449
1501
  }));
1450
1502
  return;
1451
1503
  }
1452
1504
  setNewNotificationCounts((oldMap) => {
1453
- const key = createKey(tags, data);
1505
+ const key = createKey({
1506
+ tags,
1507
+ data,
1508
+ severity
1509
+ });
1454
1510
  const newMap = new Map(oldMap);
1455
1511
  newMap.set(key, (oldMap.get(key) || 0) + 1);
1456
1512
  return newMap;
@@ -1461,23 +1517,34 @@ var CountProvider = (props) => {
1461
1517
  eventHandler: (_0) => chunk7B52C2XE_js.__async(void 0, [_0], function* ({
1462
1518
  result: notification
1463
1519
  }) {
1464
- var _a;
1520
+ var _a, _b;
1465
1521
  if (filter().archived || filter().snoozed) {
1466
1522
  return;
1467
1523
  }
1468
1524
  const currentTabs = tabs();
1525
+ const processedFilters = /* @__PURE__ */ new Set();
1469
1526
  if (currentTabs.length > 0) {
1470
1527
  for (const tab of currentTabs) {
1471
1528
  const tabTags = getTagsFromTab(tab);
1472
1529
  const tabDataFilterCriteria = (_a = tab.filter) == null ? void 0 : _a.data;
1473
- const matchesTagFilter = chunkJOKRZMGH_js.checkNotificationTagFilter(notification.tags, tabTags);
1474
- const matchesDataFilterCriteria = chunkJOKRZMGH_js.checkNotificationDataFilter(notification.data, tabDataFilterCriteria);
1475
- if (matchesTagFilter && matchesDataFilterCriteria) {
1476
- updateNewNotificationCountsOrCache(notification, tabTags, tabDataFilterCriteria);
1530
+ const tabSeverityFilterCriteria = (_b = tab.filter) == null ? void 0 : _b.severity;
1531
+ const matchesTagFilter = chunkVEX66SK3_js.checkNotificationTagFilter(notification.tags, tabTags);
1532
+ const matchesDataFilterCriteria = chunkVEX66SK3_js.checkNotificationDataFilter(notification.data, tabDataFilterCriteria);
1533
+ const matchesSeverityFilterCriteria = !tabSeverityFilterCriteria || Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria.length === 0 || Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria.includes(notification.severity) || !Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria === notification.severity;
1534
+ if (matchesTagFilter && matchesDataFilterCriteria && matchesSeverityFilterCriteria) {
1535
+ const filterKey = createKey({
1536
+ tags: tabTags,
1537
+ data: tabDataFilterCriteria,
1538
+ severity: tabSeverityFilterCriteria
1539
+ });
1540
+ if (!processedFilters.has(filterKey)) {
1541
+ processedFilters.add(filterKey);
1542
+ updateNewNotificationCountsOrCache(tab.label, notification, tabTags, tabDataFilterCriteria, tabSeverityFilterCriteria);
1543
+ }
1477
1544
  }
1478
1545
  }
1479
1546
  } else {
1480
- updateNewNotificationCountsOrCache(notification, [], void 0);
1547
+ updateNewNotificationCountsOrCache("", notification, [], void 0, void 0);
1481
1548
  }
1482
1549
  })
1483
1550
  });
@@ -1494,7 +1561,7 @@ var CountProvider = (props) => {
1494
1561
  };
1495
1562
  return web.createComponent(CountContext.Provider, {
1496
1563
  value: {
1497
- totalUnreadCount,
1564
+ unreadCount,
1498
1565
  unreadCounts,
1499
1566
  newNotificationCounts,
1500
1567
  resetNewNotificationCounts
@@ -1504,19 +1571,21 @@ var CountProvider = (props) => {
1504
1571
  }
1505
1572
  });
1506
1573
  };
1507
- var createKey = (tags, data) => {
1574
+ var createKey = (filter) => {
1575
+ var _a, _b;
1508
1576
  return JSON.stringify({
1509
- tags: tags != null ? tags : [],
1510
- data: data != null ? data : {}
1577
+ tags: (_a = filter.tags) != null ? _a : [],
1578
+ data: (_b = filter.data) != null ? _b : {},
1579
+ severity: filter.severity
1511
1580
  });
1512
1581
  };
1513
- var useTotalUnreadCount = () => {
1582
+ var useUnreadCount = () => {
1514
1583
  const context = solidJs.useContext(CountContext);
1515
1584
  if (!context) {
1516
- throw new Error("useTotalUnreadCount must be used within a CountProvider");
1585
+ throw new Error("useUnreadCount must be used within a CountProvider");
1517
1586
  }
1518
1587
  return {
1519
- totalUnreadCount: context.totalUnreadCount
1588
+ unreadCount: context.unreadCount
1520
1589
  };
1521
1590
  };
1522
1591
  var useNewMessagesCount = (props) => {
@@ -1524,7 +1593,7 @@ var useNewMessagesCount = (props) => {
1524
1593
  if (!context) {
1525
1594
  throw new Error("useNewMessagesCount must be used within a CountProvider");
1526
1595
  }
1527
- const key = solidJs.createMemo(() => createKey(props.filter.tags, props.filter.data));
1596
+ const key = solidJs.createMemo(() => createKey(props.filter));
1528
1597
  const count = solidJs.createMemo(() => context.newNotificationCounts().get(key()) || 0);
1529
1598
  const reset = () => context.resetNewNotificationCounts(key());
1530
1599
  return {
@@ -1532,12 +1601,12 @@ var useNewMessagesCount = (props) => {
1532
1601
  reset
1533
1602
  };
1534
1603
  };
1535
- var useUnreadCount = (props) => {
1604
+ var useFilteredUnreadCount = (props) => {
1536
1605
  const context = solidJs.useContext(CountContext);
1537
1606
  if (!context) {
1538
- throw new Error("useUnreadCount must be used within a CountProvider");
1607
+ throw new Error("useFilteredUnreadCount must be used within a CountProvider");
1539
1608
  }
1540
- const count = solidJs.createMemo(() => context.unreadCounts().get(createKey(props.filter.tags, props.filter.data)) || 0);
1609
+ const count = solidJs.createMemo(() => context.unreadCounts().get(createKey(props.filter)) || 0);
1541
1610
  return count;
1542
1611
  };
1543
1612
  var useUnreadCounts = (props) => {
@@ -1546,7 +1615,7 @@ var useUnreadCounts = (props) => {
1546
1615
  throw new Error("useUnreadCounts must be used within a CountProvider");
1547
1616
  }
1548
1617
  const counts = solidJs.createMemo(() => props.filters.map((filter) => {
1549
- return context.unreadCounts().get(createKey(filter.tags, filter.data)) || 0;
1618
+ return context.unreadCounts().get(createKey(filter)) || 0;
1550
1619
  }));
1551
1620
  return counts;
1552
1621
  };
@@ -1677,7 +1746,7 @@ var ArrowRight = (props) => {
1677
1746
  return _el$;
1678
1747
  })();
1679
1748
  };
1680
- var _tmpl$6 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 12"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5 12C5.6875 12 6.25 11.4462 6.25 10.7692H3.75C3.75 11.4462 4.3125 12 5 12ZM8.75 8.30769V5.23077C8.75 3.34154 7.73125 1.76 5.9375 1.34154V0.923077C5.9375 0.412308 5.51875 0 5 0C4.48125 0 4.0625 0.412308 4.0625 0.923077V1.34154C2.275 1.76 1.25 3.33538 1.25 5.23077V8.30769L0 9.53846V10.1538H10V9.53846L8.75 8.30769ZM7.5 8.92308H2.5V5.23077C2.5 3.70462 3.44375 2.46154 5 2.46154C6.55625 2.46154 7.5 3.70462 7.5 5.23077V8.92308Z"fill=currentColor>`);
1749
+ var _tmpl$6 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 12 14"><path fill=url(#nv_bell_gradient) d="M6 0c-.435 0-.786.391-.786.875V1.4C3.42 1.805 2.07 3.571 2.07 5.687v.515c0 1.285-.425 2.526-1.19 3.489l-.183.227a.957.957 0 0 0-.13.94c.126.315.408.517.717.517h9.429c.31 0 .589-.202.717-.517a.95.95 0 0 0-.13-.94l-.182-.227c-.766-.963-1.191-2.202-1.191-3.49v-.513c0-2.117-1.35-3.883-3.143-4.288V.875C6.785.391 6.434 0 6 0Zm1.112 13.489c.294-.329.459-.774.459-1.239H4.429c-.001.465.164.91.458 1.239.295.328.695.511 1.112.511.418 0 .818-.183 1.113-.511Z"></path><defs><linearGradient id=nv_bell_gradient x1=6 y1=0 x2=6 y2=14 gradientUnits=userSpaceOnUse><stop stop-color="var(--bell-gradient-start, currentColor)"></stop><stop offset=1 stop-color="var(--bell-gradient-end, currentColor)">`);
1681
1750
  function Bell(props) {
1682
1751
  return (() => {
1683
1752
  var _el$ = _tmpl$6();
@@ -1846,31 +1915,104 @@ var IconRendererWrapper = (props) => {
1846
1915
 
1847
1916
  // src/ui/components/elements/Bell/DefaultBellContainer.tsx
1848
1917
  var _tmpl$24 = /* @__PURE__ */ web.template(`<span>`);
1918
+ var _tmpl$25 = /* @__PURE__ */ web.template(`<span><div>`);
1919
+ var SEVERITY_GLOW_KEYS = {
1920
+ ["none" /* NONE */]: "bellSeverityGlow",
1921
+ ["high" /* HIGH */]: "severityGlowHigh__bellSeverityGlow",
1922
+ ["medium" /* MEDIUM */]: "severityGlowMedium__bellSeverityGlow",
1923
+ ["low" /* LOW */]: "severityGlowLow__bellSeverityGlow"
1924
+ };
1925
+ var SEVERITY_TO_CONTAINER_KEYS = {
1926
+ ["none" /* NONE */]: "bellContainer",
1927
+ ["high" /* HIGH */]: "severityHigh__bellContainer",
1928
+ ["medium" /* MEDIUM */]: "severityMedium__bellContainer",
1929
+ ["low" /* LOW */]: "severityLow__bellContainer"
1930
+ };
1849
1931
  var BellContainer = (props) => {
1850
1932
  const style = useStyle();
1851
- const bellIconStyle = style("bellIcon", "nt-size-4");
1933
+ const severity = solidJs.createMemo(() => {
1934
+ if (props.unreadCount.severity["high" /* HIGH */] > 0) {
1935
+ return "high" /* HIGH */;
1936
+ } else if (props.unreadCount.severity["medium" /* MEDIUM */] > 0) {
1937
+ return "medium" /* MEDIUM */;
1938
+ } else if (props.unreadCount.severity["low" /* LOW */] > 0) {
1939
+ return "low" /* LOW */;
1940
+ }
1941
+ return "none" /* NONE */;
1942
+ });
1943
+ const unreadCount = solidJs.createMemo(() => props.unreadCount);
1852
1944
  return (() => {
1853
- var _el$ = _tmpl$24();
1945
+ var _el$ = _tmpl$25(), _el$2 = _el$.firstChild;
1854
1946
  web.insert(_el$, web.createComponent(IconRendererWrapper, {
1855
1947
  iconKey: "bell",
1856
- "class": bellIconStyle,
1948
+ get ["class"]() {
1949
+ return style({
1950
+ key: "bellIcon",
1951
+ className: "nt-size-4",
1952
+ context: {
1953
+ unreadCount: unreadCount()
1954
+ }
1955
+ });
1956
+ },
1857
1957
  get fallback() {
1858
1958
  return web.createComponent(Bell, {
1859
- "class": bellIconStyle
1959
+ get ["class"]() {
1960
+ return style({
1961
+ key: "bellIcon",
1962
+ className: "nt-size-4",
1963
+ context: {
1964
+ unreadCount: unreadCount()
1965
+ }
1966
+ });
1967
+ }
1860
1968
  });
1861
1969
  }
1862
1970
  }), null);
1863
1971
  web.insert(_el$, web.createComponent(solidJs.Show, {
1864
1972
  get when() {
1865
- return props.unreadCount > 0;
1973
+ return props.unreadCount.total > 0;
1866
1974
  },
1867
1975
  get children() {
1868
- var _el$2 = _tmpl$24();
1869
- web.effect(() => web.className(_el$2, style("bellDot", "nt-absolute nt-top-0 nt-right-0 nt-block nt-size-2 nt-transform nt-bg-counter nt-rounded-full nt-border nt-border-background")));
1870
- return _el$2;
1976
+ var _el$3 = _tmpl$24();
1977
+ web.effect(() => web.className(_el$3, style({
1978
+ key: "bellDot",
1979
+ className: "nt-absolute nt-top-0 nt-right-0 nt-block nt-size-2 nt-transform nt-bg-counter nt-rounded-full nt-border nt-border-background",
1980
+ context: {
1981
+ unreadCount: unreadCount()
1982
+ }
1983
+ })));
1984
+ return _el$3;
1871
1985
  }
1872
1986
  }), null);
1873
- web.effect(() => web.className(_el$, style("bellContainer", `nt-size-4 nt-flex nt-justify-center nt-items-center nt-relative nt-text-foreground nt-cursor-pointer`)));
1987
+ web.effect((_p$) => {
1988
+ var _v$ = style({
1989
+ key: SEVERITY_TO_CONTAINER_KEYS[severity()],
1990
+ className: cn("nt-size-4 nt-flex nt-justify-center nt-items-center nt-relative nt-text-foreground nt-cursor-pointer [&_stop]:nt-transition-[stop-color]", {
1991
+ "[--bell-gradient-start:var(--nv-color-severity-high)] [--bell-gradient-end:oklch(from_var(--nv-color-severity-high)_45%_c_h)]": severity() === "high" /* HIGH */,
1992
+ "[--bell-gradient-start:var(--nv-color-severity-medium)] [--bell-gradient-end:oklch(from_var(--nv-color-severity-medium)_45%_c_h)]": severity() === "medium" /* MEDIUM */,
1993
+ "[--bell-gradient-start:var(--nv-color-severity-low)] [--bell-gradient-end:oklch(from_var(--nv-color-severity-low)_45%_c_h)]": severity() === "low" /* LOW */
1994
+ }),
1995
+ context: {
1996
+ unreadCount: unreadCount()
1997
+ }
1998
+ }), _v$2 = style({
1999
+ key: SEVERITY_GLOW_KEYS[severity()],
2000
+ className: cn('nt-transition nt-absolute nt-inset-0 -nt-m-1 nt-rounded-full before:nt-content-[""] before:nt-absolute before:nt-inset-0 before:nt-rounded-full before:nt-m-1', {
2001
+ "nt-bg-severity-high-alpha-100 before:nt-bg-severity-high-alpha-200": severity() === "high" /* HIGH */,
2002
+ "nt-bg-severity-medium-alpha-100 before:nt-bg-severity-medium-alpha-200": severity() === "medium" /* MEDIUM */,
2003
+ "nt-bg-severity-low-alpha-100 before:nt-bg-severity-low-alpha-200": severity() === "low" /* LOW */
2004
+ }),
2005
+ context: {
2006
+ unreadCount: unreadCount()
2007
+ }
2008
+ });
2009
+ _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
2010
+ _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
2011
+ return _p$;
2012
+ }, {
2013
+ e: void 0,
2014
+ t: void 0
2015
+ });
1874
2016
  return _el$;
1875
2017
  })();
1876
2018
  };
@@ -1878,8 +2020,8 @@ var BellContainer = (props) => {
1878
2020
  // src/ui/components/elements/Bell/Bell.tsx
1879
2021
  var Bell2 = (props) => {
1880
2022
  const {
1881
- totalUnreadCount
1882
- } = useTotalUnreadCount();
2023
+ unreadCount
2024
+ } = useUnreadCount();
1883
2025
  return web.createComponent(solidJs.Show, {
1884
2026
  get when() {
1885
2027
  return props.renderBell;
@@ -1887,21 +2029,22 @@ var Bell2 = (props) => {
1887
2029
  get fallback() {
1888
2030
  return web.createComponent(BellContainer, {
1889
2031
  get unreadCount() {
1890
- return totalUnreadCount();
2032
+ return unreadCount();
1891
2033
  }
1892
2034
  });
1893
2035
  },
1894
2036
  get children() {
1895
2037
  return web.createComponent(ExternalElementRenderer, {
1896
- render: (el) => props.renderBell(el, totalUnreadCount())
2038
+ render: (el) => props.renderBell ? props.renderBell(el, unreadCount()) : () => {
2039
+ }
1897
2040
  });
1898
2041
  }
1899
2042
  });
1900
2043
  };
1901
- var _tmpl$25 = /* @__PURE__ */ web.template(`<svg width=6 height=6 viewBox="0 0 6 6"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5.00175 1.70402L0.705765 6L0 5.29424L4.29548 0.998253H0.509608V0H6V5.49039H5.00175V1.70402Z"fill=currentColor>`);
2044
+ var _tmpl$26 = /* @__PURE__ */ web.template(`<svg width=6 height=6 viewBox="0 0 6 6"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5.00175 1.70402L0.705765 6L0 5.29424L4.29548 0.998253H0.509608V0H6V5.49039H5.00175V1.70402Z"fill=currentColor>`);
1902
2045
  var ArrowUpRight = (props) => {
1903
2046
  return (() => {
1904
- var _el$ = _tmpl$25();
2047
+ var _el$ = _tmpl$26();
1905
2048
  web.spread(_el$, props, true, true);
1906
2049
  return _el$;
1907
2050
  })();
@@ -2052,7 +2195,10 @@ var TooltipContentBody = (props) => {
2052
2195
  },
2053
2196
  ref: setFloating,
2054
2197
  get ["class"]() {
2055
- return web.memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "tooltipContent", tooltipContentVariants());
2198
+ return web.memo(() => !!local.class)() ? local.class : style({
2199
+ key: local.appearanceKey || "tooltipContent",
2200
+ className: tooltipContentVariants()
2201
+ });
2056
2202
  },
2057
2203
  get style() {
2058
2204
  return chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, floatingStyles()), {
@@ -2108,7 +2254,7 @@ function mergeRefs(...refs) {
2108
2254
  }
2109
2255
 
2110
2256
  // src/ui/components/primitives/Tooltip/TooltipTrigger.tsx
2111
- var _tmpl$26 = /* @__PURE__ */ web.template(`<button>`);
2257
+ var _tmpl$27 = /* @__PURE__ */ web.template(`<button>`);
2112
2258
  var TooltipTrigger = (props) => {
2113
2259
  const {
2114
2260
  setReference,
@@ -2143,7 +2289,7 @@ var TooltipTrigger = (props) => {
2143
2289
  }, rest));
2144
2290
  }
2145
2291
  return (() => {
2146
- var _el$ = _tmpl$26();
2292
+ var _el$ = _tmpl$27();
2147
2293
  _el$.addEventListener("mouseleave", () => {
2148
2294
  setOpen(false);
2149
2295
  });
@@ -2154,7 +2300,9 @@ var TooltipTrigger = (props) => {
2154
2300
  typeof _ref$2 === "function" && web.use(_ref$2, _el$);
2155
2301
  web.spread(_el$, web.mergeProps({
2156
2302
  get ["class"]() {
2157
- return style(local.appearanceKey || "tooltipTrigger");
2303
+ return style({
2304
+ key: local.appearanceKey || "tooltipTrigger"
2305
+ });
2158
2306
  }
2159
2307
  }, rest), false, true);
2160
2308
  web.insert(_el$, () => props.children);
@@ -2176,7 +2324,7 @@ var Tooltip = {
2176
2324
  };
2177
2325
 
2178
2326
  // src/ui/components/primitives/CopyToClipboard.tsx
2179
- var _tmpl$27 = /* @__PURE__ */ web.template(`<button type=button>`);
2327
+ var _tmpl$28 = /* @__PURE__ */ web.template(`<button type=button>`);
2180
2328
  function CopyToClipboard(props) {
2181
2329
  const [isCopied, setIsCopied] = solidJs.createSignal(false);
2182
2330
  const style = useStyle();
@@ -2210,11 +2358,14 @@ function CopyToClipboard(props) {
2210
2358
  get children() {
2211
2359
  return [web.createComponent(Tooltip.Trigger, {
2212
2360
  asChild: (triggerProps) => (() => {
2213
- var _el$ = _tmpl$27();
2361
+ var _el$ = _tmpl$28();
2214
2362
  web.spread(_el$, web.mergeProps(triggerProps, {
2215
2363
  "onClick": handleCopy,
2216
2364
  get ["class"]() {
2217
- return style("button", "nt-cursor-pointer");
2365
+ return style({
2366
+ key: "button",
2367
+ className: "nt-cursor-pointer"
2368
+ });
2218
2369
  }
2219
2370
  }), false, true);
2220
2371
  web.insert(_el$, () => props.children);
@@ -2231,8 +2382,8 @@ function CopyToClipboard(props) {
2231
2382
  }
2232
2383
 
2233
2384
  // src/ui/components/elements/Footer.tsx
2234
- var _tmpl$28 = /* @__PURE__ */ web.template(`<span class="nt-z-10 nt-text-xs nt-text-stripes">`);
2235
- var _tmpl$29 = /* @__PURE__ */ web.template(`<span class="nt-z-10 nt-text-xs">\u2022`);
2385
+ var _tmpl$29 = /* @__PURE__ */ web.template(`<span class="nt-z-10 nt-text-xs nt-text-stripes">`);
2386
+ var _tmpl$210 = /* @__PURE__ */ web.template(`<span class="nt-z-10 nt-text-xs">\u2022`);
2236
2387
  var _tmpl$32 = /* @__PURE__ */ web.template(`<a target=_blank class="nt-z-10 nt-flex nt-items-center nt-gap-1 nt-justify-center"><span class=nt-text-xs>Inbox by</span><span class=nt-text-xs>Novu`);
2237
2388
  var _tmpl$42 = /* @__PURE__ */ web.template(`<span class=nt-underline>Copy cURL`);
2238
2389
  var _tmpl$52 = /* @__PURE__ */ web.template(`<div class="nt-z-10 nt-flex nt-items-center nt-gap-1 nt-text-xs nt-text-secondary-foreground"><a href=https://go.novu.co/keyless class="nt-underline nt-flex nt-items-center nt-gap-0.5"target=_blank rel="noopener noreferrer">Get API key</a><span>\u2022</span><span>\u2022</span><button type=button class=nt-underline>Send notification`);
@@ -2271,7 +2422,7 @@ var Footer = () => {
2271
2422
  return isDevelopmentMode();
2272
2423
  },
2273
2424
  get children() {
2274
- var _el$3 = _tmpl$28();
2425
+ var _el$3 = _tmpl$29();
2275
2426
  web.insert(_el$3, (() => {
2276
2427
  var _c$ = web.memo(() => !!isKeyless());
2277
2428
  return () => _c$() ? web.createComponent(Tooltip.Root, {
@@ -2297,7 +2448,7 @@ var Footer = () => {
2297
2448
  return web.memo(() => !!isDevelopmentMode())() && !hideBranding();
2298
2449
  },
2299
2450
  get children() {
2300
- return _tmpl$29();
2451
+ return _tmpl$210();
2301
2452
  }
2302
2453
  }), null);
2303
2454
  web.insert(_el$2, web.createComponent(solidJs.Show, {
@@ -2348,7 +2499,7 @@ var Footer = () => {
2348
2499
  });
2349
2500
  };
2350
2501
  function getCurrentDomain() {
2351
- if (chunkJOKRZMGH_js.isBrowser()) {
2502
+ if (chunkVEX66SK3_js.isBrowser()) {
2352
2503
  return window.location.hostname;
2353
2504
  }
2354
2505
  return "";
@@ -2360,7 +2511,7 @@ function getCurlCommand() {
2360
2511
  return "";
2361
2512
  }
2362
2513
  const DEFAULT_BACKEND_URL = typeof window !== "undefined" && window.NOVU_LOCAL_BACKEND_URL || "https://api.novu.co";
2363
- return `curl -X POST ${DEFAULT_BACKEND_URL}/${chunkJOKRZMGH_js.DEFAULT_API_VERSION}/events/trigger -H 'Authorization: Keyless ${identifier}' -H 'Content-Type: application/json' -d '{
2514
+ return `curl -X POST ${DEFAULT_BACKEND_URL}/${chunkVEX66SK3_js.DEFAULT_API_VERSION}/events/trigger -H 'Authorization: Keyless ${identifier}' -H 'Content-Type: application/json' -d '{
2364
2515
  "name": "hello-world",
2365
2516
  "to": {
2366
2517
  "subscriberId": "keyless-subscriber-id"
@@ -2396,7 +2547,7 @@ var buttonVariants = classVarianceAuthority.cva(cn('nt-inline-flex nt-gap-4 nt-i
2396
2547
  }
2397
2548
  });
2398
2549
  var Button = (props) => {
2399
- const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey"]);
2550
+ const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey", "context"]);
2400
2551
  const style = useStyle();
2401
2552
  return (() => {
2402
2553
  var _el$ = _tmpl$30();
@@ -2408,17 +2559,21 @@ var Button = (props) => {
2408
2559
  return props.size;
2409
2560
  },
2410
2561
  get ["class"]() {
2411
- return style(local.appearanceKey || "button", cn(buttonVariants({
2412
- variant: props.variant,
2413
- size: props.size
2414
- }), local.class));
2562
+ return style({
2563
+ key: local.appearanceKey || "button",
2564
+ className: cn(buttonVariants({
2565
+ variant: props.variant,
2566
+ size: props.size
2567
+ }), local.class),
2568
+ context: local.context
2569
+ });
2415
2570
  }
2416
2571
  }, rest), false, false);
2417
2572
  return _el$;
2418
2573
  })();
2419
2574
  };
2420
2575
  var _tmpl$31 = /* @__PURE__ */ web.template(`<div>`);
2421
- var _tmpl$210 = /* @__PURE__ */ web.template(`<div><span>`);
2576
+ var _tmpl$211 = /* @__PURE__ */ web.template(`<div><span>`);
2422
2577
  var DatePickerContext = solidJs.createContext({
2423
2578
  currentDate: () => /* @__PURE__ */ new Date(),
2424
2579
  setCurrentDate: () => {
@@ -2460,7 +2615,10 @@ var DatePicker = (props) => {
2460
2615
  var _el$ = _tmpl$31();
2461
2616
  web.spread(_el$, web.mergeProps({
2462
2617
  get ["class"]() {
2463
- return style("datePicker", cn("nt-p-2", local.class));
2618
+ return style({
2619
+ key: "datePicker",
2620
+ className: cn("nt-p-2", local.class)
2621
+ });
2464
2622
  }
2465
2623
  }, rest), false, true);
2466
2624
  web.insert(_el$, () => local.children);
@@ -2477,11 +2635,14 @@ var DatePickerHeader = (props) => {
2477
2635
  currentDate,
2478
2636
  maxDays
2479
2637
  } = useDatePicker();
2480
- useAppearance();
2481
- const prevIconClass = style("datePickerControlPrevTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700", {
2638
+ const prevIconClass = style({
2639
+ key: "datePickerControlPrevTrigger__icon",
2640
+ className: "nt-size-4 nt-text-foreground-alpha-700",
2482
2641
  iconKey: "arrowLeft"
2483
2642
  });
2484
- const nextIconClass = style("datePickerControlNextTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700", {
2643
+ const nextIconClass = style({
2644
+ key: "datePickerControlNextTrigger__icon",
2645
+ className: "nt-size-4 nt-text-foreground-alpha-700",
2485
2646
  iconKey: "arrowRight"
2486
2647
  });
2487
2648
  const handlePrevMonth = () => {
@@ -2520,10 +2681,13 @@ var DatePickerHeader = (props) => {
2520
2681
  return view.getFullYear() === maxDate.getFullYear() && view.getMonth() === maxDate.getMonth();
2521
2682
  };
2522
2683
  return (() => {
2523
- var _el$2 = _tmpl$210(), _el$3 = _el$2.firstChild;
2684
+ var _el$2 = _tmpl$211(), _el$3 = _el$2.firstChild;
2524
2685
  web.spread(_el$2, web.mergeProps({
2525
2686
  get ["class"]() {
2526
- return style(local.appearanceKey || "datePickerControl", cn("nt-flex nt-items-center nt-justify-between nt-gap-1.5 nt-h-7 nt-p-1 nt-mb-2 nt-rounded-lg nt-bg-background", local.class));
2687
+ return style({
2688
+ key: local.appearanceKey || "datePickerControl",
2689
+ className: cn("nt-flex nt-items-center nt-justify-between nt-gap-1.5 nt-h-7 nt-p-1 nt-mb-2 nt-rounded-lg nt-bg-background", local.class)
2690
+ });
2527
2691
  }
2528
2692
  }, rest), false, true);
2529
2693
  web.insert(_el$2, web.createComponent(Button, {
@@ -2576,7 +2740,10 @@ var DatePickerHeader = (props) => {
2576
2740
  });
2577
2741
  }
2578
2742
  }), null);
2579
- web.effect(() => web.className(_el$3, style("datePickerHeaderMonth", "nt-text-sm nt-font-medium nt-text-foreground-alpha-700")));
2743
+ web.effect(() => web.className(_el$3, style({
2744
+ key: "datePickerHeaderMonth",
2745
+ className: "nt-text-sm nt-font-medium nt-text-foreground-alpha-700"
2746
+ })));
2580
2747
  return _el$2;
2581
2748
  })();
2582
2749
  };
@@ -2680,7 +2847,10 @@ var DatePickerCalendar = (props) => {
2680
2847
  _el$8.$$click = (e) => e.stopPropagation();
2681
2848
  web.spread(_el$8, web.mergeProps({
2682
2849
  get ["class"]() {
2683
- return style(local.appearanceKey || "datePickerCalendar", cn("nt-grid nt-grid-cols-7 nt-gap-1", local.class));
2850
+ return style({
2851
+ key: local.appearanceKey || "datePickerCalendar",
2852
+ className: cn("nt-grid nt-grid-cols-7 nt-gap-1", local.class)
2853
+ });
2684
2854
  }
2685
2855
  }, rest), false, true);
2686
2856
  web.insert(_el$8, () => getDaysInMonth().map((date) => {
@@ -2718,7 +2888,10 @@ var PopoverClose = (props) => {
2718
2888
  _el$.$$click = handleClick;
2719
2889
  web.spread(_el$, web.mergeProps({
2720
2890
  get ["class"]() {
2721
- return style(local.appearanceKey || "popoverClose", local.class);
2891
+ return style({
2892
+ key: local.appearanceKey || "popoverClose",
2893
+ className: local.class
2894
+ });
2722
2895
  }
2723
2896
  }, rest), false, false);
2724
2897
  return _el$;
@@ -2840,7 +3013,10 @@ var PopoverContentBody = (props) => {
2840
3013
  web.use(setFloating, _el$);
2841
3014
  web.spread(_el$, web.mergeProps({
2842
3015
  get ["class"]() {
2843
- return style(local.appearanceKey || "popoverContent", cn(popoverContentVariants(), local.class));
3016
+ return style({
3017
+ key: local.appearanceKey || "popoverContent",
3018
+ className: cn(popoverContentVariants(), local.class)
3019
+ });
2844
3020
  },
2845
3021
  get style() {
2846
3022
  return floatingStyles();
@@ -2943,7 +3119,9 @@ var PopoverTrigger = (props) => {
2943
3119
  typeof _ref$2 === "function" && web.use(_ref$2, _el$);
2944
3120
  web.spread(_el$, web.mergeProps({
2945
3121
  get ["class"]() {
2946
- return style(local.appearanceKey || "dropdownTrigger");
3122
+ return style({
3123
+ key: local.appearanceKey || "dropdownTrigger"
3124
+ });
2947
3125
  }
2948
3126
  }, rest), false, true);
2949
3127
  web.insert(_el$, () => props.children);
@@ -3029,7 +3207,10 @@ var DropdownTrigger = (props) => {
3029
3207
  const [local, rest] = solidJs.splitProps(props, ["appearanceKey", "class"]);
3030
3208
  return web.createComponent(Popover.Trigger, web.mergeProps({
3031
3209
  get ["class"]() {
3032
- return style(local.appearanceKey || "dropdownTrigger", cn(dropdownTriggerButtonVariants(), local.class));
3210
+ return style({
3211
+ key: local.appearanceKey || "dropdownTrigger",
3212
+ className: cn(dropdownTriggerButtonVariants(), local.class)
3213
+ });
3033
3214
  }
3034
3215
  }, rest));
3035
3216
  };
@@ -3155,7 +3336,10 @@ var TabsRoot = (props) => {
3155
3336
  web.use(setTabsContainer, _el$);
3156
3337
  web.spread(_el$, web.mergeProps({
3157
3338
  get ["class"]() {
3158
- return style(local.appearanceKey || "tabsRoot", cn(tabsRootVariants(), local.class));
3339
+ return style({
3340
+ key: local.appearanceKey || "tabsRoot",
3341
+ className: cn(tabsRootVariants(), local.class)
3342
+ });
3159
3343
  }
3160
3344
  }, rest), false, true);
3161
3345
  web.insert(_el$, () => local.children);
@@ -3180,7 +3364,10 @@ var TabsContent = (props) => {
3180
3364
  var _el$ = _tmpl$38();
3181
3365
  web.spread(_el$, web.mergeProps({
3182
3366
  get ["class"]() {
3183
- return web.memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "tabsContent", activeTab() === local.value ? "nt-block" : "nt-hidden");
3367
+ return style({
3368
+ key: local.appearanceKey || "tabsContent",
3369
+ className: cn(local.class, activeTab() === local.value ? "nt-block" : "nt-hidden")
3370
+ });
3184
3371
  },
3185
3372
  get id() {
3186
3373
  return `tabpanel-${local.value}`;
@@ -3198,7 +3385,7 @@ var TabsContent = (props) => {
3198
3385
  });
3199
3386
  };
3200
3387
  var _tmpl$39 = /* @__PURE__ */ web.template(`<div role=tablist>`);
3201
- var _tmpl$211 = /* @__PURE__ */ web.template(`<div class="nt-relative nt-z-[-1]">`);
3388
+ var _tmpl$212 = /* @__PURE__ */ web.template(`<div class="nt-relative nt-z-[-1]">`);
3202
3389
  var tabsListVariants = () => "nt-flex nt-gap-6";
3203
3390
  var TabsList = (props) => {
3204
3391
  const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey", "ref", "children"]);
@@ -3209,12 +3396,15 @@ var TabsList = (props) => {
3209
3396
  typeof _ref$ === "function" ? web.use(_ref$, _el$) : local.ref = _el$;
3210
3397
  web.spread(_el$, web.mergeProps({
3211
3398
  get ["class"]() {
3212
- return style(local.appearanceKey || "tabsList", cn(tabsListVariants(), local.class));
3399
+ return style({
3400
+ key: local.appearanceKey || "tabsList",
3401
+ className: cn(tabsListVariants(), local.class)
3402
+ });
3213
3403
  }
3214
3404
  }, rest), false, true);
3215
3405
  web.insert(_el$, () => local.children);
3216
3406
  return _el$;
3217
- })(), _tmpl$211()];
3407
+ })(), _tmpl$212()];
3218
3408
  };
3219
3409
  var tabsTriggerVariants = () => cn("nt-relative nt-transition nt-outline-none nt-text-foreground-alpha-600 nt-pb-[0.625rem]", `after:nt-absolute after:nt-content-[''] after:nt-bottom-0 after:nt-left-0 after:nt-w-full after:nt-h-[2px]`, "after:nt-transition-opacity after:nt-duration-200", "data-[state=active]:after:nt-border-b-2 data-[state=active]:after:nt-border-primary data-[state=active]:after:nt-opacity-100", "data-[state=active]:nt-text-foreground after:nt-border-b-transparent after:nt-opacity-0", "focus-visible:nt-outline-none focus-visible:nt-rounded-lg focus-visible:nt-ring-2 focus-visible:nt-ring-ring focus-visible:nt-ring-offset-2");
3220
3410
  var TabsTrigger = (props) => {
@@ -3240,7 +3430,10 @@ var TabsTrigger = (props) => {
3240
3430
  return (_a = local.appearanceKey) != null ? _a : "tabsTrigger";
3241
3431
  },
3242
3432
  get ["class"]() {
3243
- return web.memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "tabsTrigger", tabsTriggerVariants());
3433
+ return style({
3434
+ key: local.appearanceKey || "tabsTrigger",
3435
+ className: cn(tabsTriggerVariants(), local.class)
3436
+ });
3244
3437
  },
3245
3438
  get onClick() {
3246
3439
  var _a;
@@ -3286,7 +3479,7 @@ var inboxFilterLocalizationKeys = {
3286
3479
  snoozed: "inbox.filters.labels.snoozed"
3287
3480
  };
3288
3481
  var _tmpl$40 = /* @__PURE__ */ web.template(`<span><span>`);
3289
- var _tmpl$212 = /* @__PURE__ */ web.template(`<span>`);
3482
+ var _tmpl$213 = /* @__PURE__ */ web.template(`<span>`);
3290
3483
  var cases = [{
3291
3484
  status: "unreadRead" /* UNREAD_READ */,
3292
3485
  iconKey: "unread",
@@ -3339,15 +3532,22 @@ var StatusItem = (props) => {
3339
3532
  const {
3340
3533
  t
3341
3534
  } = useLocalization();
3342
- const itemIconClass = style("inboxStatus__dropdownItemLeft__icon", "nt-size-3", {
3535
+ const itemIconClass = style({
3536
+ key: "inboxStatus__dropdownItemLeft__icon",
3537
+ className: "nt-size-3",
3343
3538
  iconKey: props.iconKey
3344
3539
  });
3345
- const checkIconClass = style("inboxStatus__dropdownItemCheck__icon", "nt-size-3", {
3540
+ const checkIconClass = style({
3541
+ key: "inboxStatus__dropdownItemCheck__icon",
3542
+ className: "nt-size-3",
3346
3543
  iconKey: "check"
3347
3544
  });
3348
3545
  return web.createComponent(Dropdown.Item, {
3349
3546
  get ["class"]() {
3350
- return style("inboxStatus__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-8 nt-justify-between"));
3547
+ return style({
3548
+ key: "inboxStatus__dropdownItem",
3549
+ className: cn(dropdownItemVariants(), "nt-flex nt-gap-8 nt-justify-between")
3550
+ });
3351
3551
  },
3352
3552
  get onClick() {
3353
3553
  return props.onClick;
@@ -3362,7 +3562,7 @@ var StatusItem = (props) => {
3362
3562
  "class": itemIconClass,
3363
3563
  get fallback() {
3364
3564
  return (() => {
3365
- var _el$3 = _tmpl$212();
3565
+ var _el$3 = _tmpl$213();
3366
3566
  web.className(_el$3, itemIconClass);
3367
3567
  web.insert(_el$3, () => props.icon());
3368
3568
  return _el$3;
@@ -3371,7 +3571,13 @@ var StatusItem = (props) => {
3371
3571
  }), _el$2);
3372
3572
  web.insert(_el$2, () => t(props.localizationKey));
3373
3573
  web.effect((_p$) => {
3374
- var _v$ = style("inboxStatus__dropdownItemLabelContainer", "nt-flex nt-gap-2 nt-items-center"), _v$2 = props.localizationKey, _v$3 = style("inboxStatus__dropdownItemLabel", "nt-leading-none");
3574
+ var _v$ = style({
3575
+ key: "inboxStatus__dropdownItemLabelContainer",
3576
+ className: "nt-flex nt-gap-2 nt-items-center"
3577
+ }), _v$2 = props.localizationKey, _v$3 = style({
3578
+ key: "inboxStatus__dropdownItemLabel",
3579
+ className: "nt-leading-none"
3580
+ });
3375
3581
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
3376
3582
  _v$2 !== _p$.t && web.setAttribute(_el$2, "data-localization", _p$.t = _v$2);
3377
3583
  _v$3 !== _p$.a && web.className(_el$2, _p$.a = _v$3);
@@ -3413,17 +3619,22 @@ var StatusDropdown = () => {
3413
3619
  const {
3414
3620
  t
3415
3621
  } = useLocalization();
3416
- const arrowDropDownIconClass = style("inboxStatus__dropdownItemRight__icon", "nt-text-foreground-alpha-600 nt-size-4", {
3622
+ const arrowDropDownIconClass = style({
3623
+ key: "inboxStatus__dropdownItemRight__icon",
3624
+ className: "nt-text-foreground-alpha-600 nt-size-4",
3417
3625
  iconKey: "arrowDropDown"
3418
3626
  });
3419
3627
  return web.createComponent(Dropdown.Root, {
3420
3628
  get children() {
3421
3629
  return [web.createComponent(Dropdown.Trigger, {
3422
3630
  get ["class"]() {
3423
- return style("inboxStatus__dropdownTrigger", cn(buttonVariants({
3424
- variant: "unstyled",
3425
- size: "none"
3426
- }), "nt-gap-0.5"));
3631
+ return style({
3632
+ key: "inboxStatus__dropdownTrigger",
3633
+ className: cn(buttonVariants({
3634
+ variant: "unstyled",
3635
+ size: "none"
3636
+ }), "nt-gap-0.5")
3637
+ });
3427
3638
  },
3428
3639
  asChild: (triggerProps) => web.createComponent(Button, web.mergeProps({
3429
3640
  variant: "unstyled",
@@ -3434,7 +3645,10 @@ var StatusDropdown = () => {
3434
3645
  var _el$ = _tmpl$41();
3435
3646
  web.insert(_el$, () => t(inboxFilterLocalizationKeys[status()]));
3436
3647
  web.effect((_p$) => {
3437
- var _v$ = inboxFilterLocalizationKeys[status()], _v$2 = style("inboxStatus__title", "nt-text-base");
3648
+ var _v$ = inboxFilterLocalizationKeys[status()], _v$2 = style({
3649
+ key: "inboxStatus__title",
3650
+ className: "nt-text-base"
3651
+ });
3438
3652
  _v$ !== _p$.e && web.setAttribute(_el$, "data-localization", _p$.e = _v$);
3439
3653
  _v$2 !== _p$.t && web.className(_el$, _p$.t = _v$2);
3440
3654
  return _p$;
@@ -3519,7 +3733,7 @@ var useNotificationsInfiniteScroll = (props) => {
3519
3733
  );
3520
3734
  solidJs.onMount(() => {
3521
3735
  const listener = ({ data: data2 }) => {
3522
- if (!data2 || !chunkJOKRZMGH_js.isSameFilter(filter, data2.filter)) {
3736
+ if (!data2 || !chunkVEX66SK3_js.isSameFilter(filter, data2.filter)) {
3523
3737
  return;
3524
3738
  }
3525
3739
  mutate({ data: data2.notifications, hasMore: data2.hasMore });
@@ -3529,7 +3743,7 @@ var useNotificationsInfiniteScroll = (props) => {
3529
3743
  });
3530
3744
  solidJs.createEffect(() => chunk7B52C2XE_js.__async(void 0, null, function* () {
3531
3745
  const newFilter = chunk7B52C2XE_js.__spreadValues({}, props.options());
3532
- if (chunkJOKRZMGH_js.isSameFilter(filter, newFilter)) {
3746
+ if (chunkVEX66SK3_js.isSameFilter(filter, newFilter)) {
3533
3747
  return;
3534
3748
  }
3535
3749
  novu.notifications.clearCache();
@@ -3545,9 +3759,9 @@ var useNotificationsInfiniteScroll = (props) => {
3545
3759
  var usePreferences = (options) => {
3546
3760
  const novu = useNovu();
3547
3761
  const [loading, setLoading] = solidJs.createSignal(true);
3548
- const [preferences, { mutate, refetch }] = solidJs.createResource(options || {}, (_0) => chunk7B52C2XE_js.__async(void 0, [_0], function* ({ tags }) {
3762
+ const [preferences, { mutate, refetch }] = solidJs.createResource(options || {}, (_0) => chunk7B52C2XE_js.__async(void 0, [_0], function* ({ tags, severity, criticality }) {
3549
3763
  try {
3550
- const response = yield novu.preferences.list({ tags });
3764
+ const response = yield novu.preferences.list({ tags, severity, criticality });
3551
3765
  return response.data;
3552
3766
  } catch (error) {
3553
3767
  console.error("Error fetching preferences:", error);
@@ -3637,12 +3851,17 @@ var ActionsItem = (props) => {
3637
3851
  t
3638
3852
  } = useLocalization();
3639
3853
  const DefaultIconComponent = iconKeyToComponentMap[props.iconKey];
3640
- const moreActionsIconClass = style("moreActions__dropdownItemLeft__icon", "nt-size-3", {
3854
+ const moreActionsIconClass = style({
3855
+ key: "moreActions__dropdownItemLeft__icon",
3856
+ className: "nt-size-3",
3641
3857
  iconKey: props.iconKey
3642
3858
  });
3643
3859
  return web.createComponent(Dropdown.Item, {
3644
3860
  get ["class"]() {
3645
- return style("moreActions__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-2"));
3861
+ return style({
3862
+ key: "moreActions__dropdownItem",
3863
+ className: cn(dropdownItemVariants(), "nt-flex nt-gap-2")
3864
+ });
3646
3865
  },
3647
3866
  get onClick() {
3648
3867
  return props.onClick;
@@ -3662,7 +3881,10 @@ var ActionsItem = (props) => {
3662
3881
  var _el$ = _tmpl$43();
3663
3882
  web.insert(_el$, () => t(props.localizationKey));
3664
3883
  web.effect((_p$) => {
3665
- var _v$ = props.localizationKey, _v$2 = style("moreActions__dropdownItemLabel", "nt-leading-none");
3884
+ var _v$ = props.localizationKey, _v$2 = style({
3885
+ key: "moreActions__dropdownItemLabel",
3886
+ className: "nt-leading-none"
3887
+ });
3666
3888
  _v$ !== _p$.e && web.setAttribute(_el$, "data-localization", _p$.e = _v$);
3667
3889
  _v$2 !== _p$.t && web.className(_el$, _p$.t = _v$2);
3668
3890
  return _p$;
@@ -3682,7 +3904,9 @@ var MoreActionsDropdown = () => {
3682
3904
  const {
3683
3905
  status
3684
3906
  } = useInboxContext();
3685
- const dotsIconClass = style("moreActions__dots", "nt-size-5", {
3907
+ const dotsIconClass = style({
3908
+ key: "moreActions__dots",
3909
+ className: "nt-size-5",
3686
3910
  iconKey: "dots"
3687
3911
  });
3688
3912
  return web.createComponent(solidJs.Show, {
@@ -3694,7 +3918,9 @@ var MoreActionsDropdown = () => {
3694
3918
  get children() {
3695
3919
  return [web.createComponent(Dropdown.Trigger, {
3696
3920
  get ["class"]() {
3697
- return style("moreActions__dropdownTrigger");
3921
+ return style({
3922
+ key: "moreActions__dropdownTrigger"
3923
+ });
3698
3924
  },
3699
3925
  asChild: (triggerProps) => web.createComponent(Button, web.mergeProps({
3700
3926
  variant: "ghost",
@@ -3728,7 +3954,9 @@ var MoreActionsDropdown = () => {
3728
3954
  var _tmpl$44 = /* @__PURE__ */ web.template(`<div>`);
3729
3955
  var ActionsContainer = (props) => {
3730
3956
  const style = useStyle();
3731
- const cogsIconClass = style("icon", "nt-size-5", {
3957
+ const cogsIconClass = style({
3958
+ key: "icon",
3959
+ className: "nt-size-5",
3732
3960
  iconKey: "cogs"
3733
3961
  });
3734
3962
  return (() => {
@@ -3758,7 +3986,10 @@ var ActionsContainer = (props) => {
3758
3986
  }
3759
3987
  })
3760
3988
  }), null);
3761
- web.effect(() => web.className(_el$, style("moreActionsContainer", "nt-flex nt-gap-3")));
3989
+ web.effect(() => web.className(_el$, style({
3990
+ key: "moreActionsContainer",
3991
+ className: "nt-flex nt-gap-3"
3992
+ })));
3762
3993
  return _el$;
3763
3994
  })();
3764
3995
  };
@@ -3775,17 +4006,23 @@ var Header = (props) => {
3775
4006
  return props.navigateToPreferences;
3776
4007
  }
3777
4008
  }), null);
3778
- web.effect(() => web.className(_el$, style("inboxHeader", cn("nt-flex nt-bg-neutral-alpha-25 nt-shrink-0 nt-justify-between nt-items-center nt-w-full nt-pb-2 nt-pt-2.5 nt-px-4"))));
4009
+ web.effect(() => web.className(_el$, style({
4010
+ key: "inboxHeader",
4011
+ className: "nt-flex nt-bg-neutral-alpha-25 nt-shrink-0 nt-justify-between nt-items-center nt-w-full nt-pb-2 nt-pt-2.5 nt-px-4"
4012
+ })));
3779
4013
  return _el$;
3780
4014
  })();
3781
4015
  };
3782
4016
  var _tmpl$46 = /* @__PURE__ */ web.template(`<div>`);
3783
- var _tmpl$213 = /* @__PURE__ */ web.template(`<div><div></div><div>`);
4017
+ var _tmpl$214 = /* @__PURE__ */ web.template(`<div><div></div><div>`);
3784
4018
  var SkeletonText = (props) => {
3785
4019
  const style = useStyle();
3786
4020
  return (() => {
3787
4021
  var _el$ = _tmpl$46();
3788
- web.effect(() => web.className(_el$, style(props.appearanceKey, cn("nt-w-full nt-h-3 nt-rounded nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class))));
4022
+ web.effect(() => web.className(_el$, style({
4023
+ key: props.appearanceKey,
4024
+ className: cn("nt-w-full nt-h-3 nt-rounded nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class)
4025
+ })));
3789
4026
  return _el$;
3790
4027
  })();
3791
4028
  };
@@ -3793,16 +4030,28 @@ var SkeletonAvatar = (props) => {
3793
4030
  const style = useStyle();
3794
4031
  return (() => {
3795
4032
  var _el$2 = _tmpl$46();
3796
- web.effect(() => web.className(_el$2, style(props.appearanceKey, cn("nt-size-8 nt-rounded-lg nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class))));
4033
+ web.effect(() => web.className(_el$2, style({
4034
+ key: props.appearanceKey,
4035
+ className: cn("nt-size-8 nt-rounded-lg nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class)
4036
+ })));
3797
4037
  return _el$2;
3798
4038
  })();
3799
4039
  };
3800
4040
  var SkeletonSwitch = (props) => {
3801
4041
  const style = useStyle();
3802
4042
  return (() => {
3803
- var _el$3 = _tmpl$213(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
4043
+ var _el$3 = _tmpl$214(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
3804
4044
  web.effect((_p$) => {
3805
- var _v$ = style(props.appearanceKey, cn("nt-relative nt-inline-flex nt-items-center", props.class)), _v$2 = style(props.appearanceKey, "nt-h-4 nt-w-7 nt-rounded-full nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent"), _v$3 = style(props.thumbAppearanceKey, "nt-absolute nt-top-0.5 nt-left-0.5 nt-size-3 nt-rounded-full nt-bg-background nt-shadow");
4045
+ var _v$ = style({
4046
+ key: props.appearanceKey,
4047
+ className: cn("nt-relative nt-inline-flex nt-items-center", props.class)
4048
+ }), _v$2 = style({
4049
+ key: props.appearanceKey,
4050
+ className: "nt-h-4 nt-w-7 nt-rounded-full nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent"
4051
+ }), _v$3 = style({
4052
+ key: props.thumbAppearanceKey,
4053
+ className: "nt-absolute nt-top-0.5 nt-left-0.5 nt-size-3 nt-rounded-full nt-bg-background nt-shadow"
4054
+ });
3806
4055
  _v$ !== _p$.e && web.className(_el$3, _p$.e = _v$);
3807
4056
  _v$2 !== _p$.t && web.className(_el$4, _p$.t = _v$2);
3808
4057
  _v$3 !== _p$.a && web.className(_el$5, _p$.a = _v$3);
@@ -3838,7 +4087,10 @@ var PreferencesListSkeleton = (props) => {
3838
4087
  delay: 0.3
3839
4088
  },
3840
4089
  get ["class"]() {
3841
- return style("preferencesList__skeleton", "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4");
4090
+ return style({
4091
+ key: "preferencesList__skeleton",
4092
+ className: "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4"
4093
+ });
3842
4094
  },
3843
4095
  get children() {
3844
4096
  return [web.memo(() => Array.from({
@@ -3859,12 +4111,18 @@ var PreferencesListSkeleton = (props) => {
3859
4111
  easing: "ease-in-out"
3860
4112
  },
3861
4113
  get ["class"]() {
3862
- return style("preferencesList__skeletonContent", "nt-flex nt-border-neutral-alpha-50 nt-items-center nt-gap-3 nt-p-3 nt-bg-neutral-alpha-25");
4114
+ return style({
4115
+ key: "preferencesList__skeletonContent",
4116
+ className: "nt-flex nt-border-neutral-alpha-50 nt-items-center nt-gap-3 nt-p-3 nt-bg-neutral-alpha-25"
4117
+ });
3863
4118
  },
3864
4119
  get children() {
3865
4120
  return [web.createComponent(Icon, {
3866
4121
  get ["class"]() {
3867
- return style("preferencesList__skeletonIcon", "nt-size-8 nt-p-2 nt-rounded-lg nt-bg-neutral-alpha-100");
4122
+ return style({
4123
+ key: "preferencesList__skeletonIcon",
4124
+ className: "nt-size-8 nt-p-2 nt-rounded-lg nt-bg-neutral-alpha-100"
4125
+ });
3868
4126
  }
3869
4127
  }), (() => {
3870
4128
  var _el$3 = _tmpl$47();
@@ -3876,7 +4134,10 @@ var PreferencesListSkeleton = (props) => {
3876
4134
  appearanceKey: "preferencesList__skeletonText",
3877
4135
  "class": "nt-h-2 nt-w-2/3 nt-bg-neutral-alpha-50 nt-rounded"
3878
4136
  }), null);
3879
- web.effect(() => web.className(_el$3, style("preferencesList__skeletonItem", "nt-flex nt-flex-col nt-gap-2 nt-flex-1")));
4137
+ web.effect(() => web.className(_el$3, style({
4138
+ key: "preferencesList__skeletonItem",
4139
+ className: "nt-flex nt-flex-col nt-gap-2 nt-flex-1"
4140
+ })));
3880
4141
  return _el$3;
3881
4142
  })(), web.createComponent(SkeletonSwitch, {
3882
4143
  appearanceKey: "preferencesList__skeletonSwitch",
@@ -3886,7 +4147,10 @@ var PreferencesListSkeleton = (props) => {
3886
4147
  });
3887
4148
  })), (() => {
3888
4149
  var _el$2 = _tmpl$47();
3889
- web.effect(() => web.className(_el$2, style("notificationListEmptyNoticeOverlay", "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background")));
4150
+ web.effect(() => web.className(_el$2, style({
4151
+ key: "notificationListEmptyNoticeOverlay",
4152
+ className: "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background"
4153
+ })));
3890
4154
  return _el$2;
3891
4155
  })()];
3892
4156
  }
@@ -3915,7 +4179,10 @@ var PreferencesListSkeleton = (props) => {
3915
4179
  delay: 0.6
3916
4180
  },
3917
4181
  get ["class"]() {
3918
- return style("preferencesListEmptyNotice"), "nt-text-center";
4182
+ return style({
4183
+ key: "preferencesListEmptyNotice",
4184
+ className: "nt-text-center"
4185
+ });
3919
4186
  },
3920
4187
  "data-localization": "preferences.emptyNotice",
3921
4188
  get children() {
@@ -3924,7 +4191,10 @@ var PreferencesListSkeleton = (props) => {
3924
4191
  });
3925
4192
  }
3926
4193
  }), null);
3927
- web.effect(() => web.className(_el$, style("preferencesListEmptyNoticeContainer", "nt-flex nt-flex-col nt-items-center nt-h-fit nt-w-full nt-text-sm nt-text-foreground-alpha-400 nt-text-center")));
4194
+ web.effect(() => web.className(_el$, style({
4195
+ key: "preferencesListEmptyNoticeContainer",
4196
+ className: "nt-flex nt-flex-col nt-items-center nt-h-fit nt-w-full nt-text-sm nt-text-foreground-alpha-400 nt-text-center"
4197
+ })));
3928
4198
  return _el$;
3929
4199
  })();
3930
4200
  };
@@ -3972,7 +4242,10 @@ var Collapsible = (props) => {
3972
4242
  var _el$ = _tmpl$49(), _el$2 = _el$.firstChild;
3973
4243
  web.spread(_el$, web.mergeProps({
3974
4244
  get ["class"]() {
3975
- return style("collapsible", props.class);
4245
+ return style({
4246
+ key: "collapsible",
4247
+ className: props.class
4248
+ });
3976
4249
  },
3977
4250
  get style() {
3978
4251
  return {
@@ -4018,12 +4291,18 @@ var Switch = (props) => {
4018
4291
  var _el$ = _tmpl$50(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
4019
4292
  _el$2.addEventListener("change", handleChange);
4020
4293
  web.effect((_p$) => {
4021
- var _v$ = style("channelSwitch", cn("nt-relative nt-inline-flex nt-cursor-pointer nt-items-center", {
4022
- "nt-opacity-50 nt-cursor-not-allowed": disabled()
4023
- })), _v$2 = disabled(), _v$3 = style("channelSwitchThumb", cn(`nt-h-4 nt-w-7 nt-rounded-full nt-bg-neutral-alpha-300 after:nt-absolute after:nt-top-0.5 after:nt-size-3 after:nt-left-0.5 after:nt-rounded-full after:nt-bg-background after:nt-transition-all after:nt-content-[''] nt-transition-all nt-duration-200 after:nt-duration-200 shadow-sm`, {
4024
- "nt-bg-primary nt-shadow-none nt-border-neutral-alpha-400 after:nt-translate-x-full after:nt-border-background": isChecked(),
4025
- "after:nt-translate-x-1/2": isIndeterminate()
4026
- })), _v$4 = state();
4294
+ var _v$ = style({
4295
+ key: "channelSwitch",
4296
+ className: cn("nt-relative nt-inline-flex nt-cursor-pointer nt-items-center", {
4297
+ "nt-opacity-50 nt-cursor-not-allowed": disabled()
4298
+ })
4299
+ }), _v$2 = disabled(), _v$3 = style({
4300
+ key: "channelSwitchThumb",
4301
+ className: cn(`nt-h-4 nt-w-7 nt-rounded-full nt-bg-neutral-alpha-300 after:nt-absolute after:nt-top-0.5 after:nt-size-3 after:nt-left-0.5 after:nt-rounded-full after:nt-bg-background after:nt-transition-all after:nt-content-[''] nt-transition-all nt-duration-200 after:nt-duration-200 shadow-sm`, {
4302
+ "nt-bg-primary nt-shadow-none nt-border-neutral-alpha-400 after:nt-translate-x-full after:nt-border-background": isChecked(),
4303
+ "after:nt-translate-x-1/2": isIndeterminate()
4304
+ })
4305
+ }), _v$4 = state();
4027
4306
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
4028
4307
  _v$2 !== _p$.t && (_el$2.disabled = _p$.t = _v$2);
4029
4308
  _v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
@@ -4061,17 +4340,62 @@ var ChannelRow = (props) => {
4061
4340
  get channel() {
4062
4341
  return channel();
4063
4342
  },
4064
- "class": "nt-size-3"
4343
+ "class": "nt-size-3",
4344
+ get preference() {
4345
+ return props.preference;
4346
+ },
4347
+ get preferenceGroup() {
4348
+ return props.preferenceGroup;
4349
+ }
4065
4350
  }));
4066
4351
  web.insert(_el$4, () => getLabel(channel()));
4067
4352
  web.insert(_el$5, web.createComponent(Switch, {
4068
4353
  get state() {
4069
4354
  return state();
4070
4355
  },
4071
- onChange: (newState) => onChange(newState === "enabled")
4356
+ onChange: (newState) => onChange(newState === "enabled"),
4357
+ get disabled() {
4358
+ var _a, _b;
4359
+ return (_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.critical;
4360
+ }
4072
4361
  }));
4073
4362
  web.effect((_p$) => {
4074
- var _v$ = style("channelContainer", "nt-flex nt-justify-between nt-items-center nt-gap-2 data-[disabled=true]:nt-text-foreground-alpha-600"), _v$2 = style("channelLabelContainer", "nt-flex nt-items-center nt-gap-2 nt-text-foreground"), _v$3 = style("channelIconContainer", "nt-p-1 nt-rounded-md nt-bg-neutral-alpha-25 nt-text-foreground-alpha-300"), _v$4 = style("channelLabel", "nt-text-sm nt-font-semibold"), _v$5 = style("channelSwitchContainer", "nt-flex nt-items-center");
4363
+ var _v$ = style({
4364
+ key: "channelContainer",
4365
+ className: "nt-flex nt-justify-between nt-items-center nt-gap-2 data-[disabled=true]:nt-text-foreground-alpha-600",
4366
+ context: {
4367
+ preference: props.preference,
4368
+ preferenceGroup: props.preferenceGroup
4369
+ }
4370
+ }), _v$2 = style({
4371
+ key: "channelLabelContainer",
4372
+ className: "nt-flex nt-items-center nt-gap-2 nt-text-foreground",
4373
+ context: {
4374
+ preference: props.preference,
4375
+ preferenceGroup: props.preferenceGroup
4376
+ }
4377
+ }), _v$3 = style({
4378
+ key: "channelIconContainer",
4379
+ className: "nt-p-1 nt-rounded-md nt-bg-neutral-alpha-25 nt-text-foreground-alpha-300",
4380
+ context: {
4381
+ preference: props.preference,
4382
+ preferenceGroup: props.preferenceGroup
4383
+ }
4384
+ }), _v$4 = style({
4385
+ key: "channelLabel",
4386
+ className: "nt-text-sm nt-font-semibold",
4387
+ context: {
4388
+ preference: props.preference,
4389
+ preferenceGroup: props.preferenceGroup
4390
+ }
4391
+ }), _v$5 = style({
4392
+ key: "channelSwitchContainer",
4393
+ className: "nt-flex nt-items-center",
4394
+ context: {
4395
+ preference: props.preference,
4396
+ preferenceGroup: props.preferenceGroup
4397
+ }
4398
+ });
4075
4399
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
4076
4400
  _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
4077
4401
  _v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
@@ -4095,8 +4419,14 @@ var ChannelIcon = (props) => {
4095
4419
  key: "inApp",
4096
4420
  component: web.createComponent(InApp, {
4097
4421
  get ["class"]() {
4098
- return style(props.appearanceKey, props.class, {
4099
- iconKey: "inApp"
4422
+ return style({
4423
+ key: props.appearanceKey,
4424
+ className: props.class,
4425
+ iconKey: "inApp",
4426
+ context: {
4427
+ preference: props.preference,
4428
+ preferenceGroup: props.preferenceGroup
4429
+ }
4100
4430
  });
4101
4431
  }
4102
4432
  })
@@ -4105,8 +4435,14 @@ var ChannelIcon = (props) => {
4105
4435
  key: "email",
4106
4436
  component: web.createComponent(Email, {
4107
4437
  get ["class"]() {
4108
- return style(props.appearanceKey, props.class, {
4109
- iconKey: "email"
4438
+ return style({
4439
+ key: props.appearanceKey,
4440
+ className: props.class,
4441
+ iconKey: "email",
4442
+ context: {
4443
+ preference: props.preference,
4444
+ preferenceGroup: props.preferenceGroup
4445
+ }
4110
4446
  });
4111
4447
  }
4112
4448
  })
@@ -4115,8 +4451,14 @@ var ChannelIcon = (props) => {
4115
4451
  key: "push",
4116
4452
  component: web.createComponent(Push, {
4117
4453
  get ["class"]() {
4118
- return style(props.appearanceKey, props.class, {
4119
- iconKey: "push"
4454
+ return style({
4455
+ key: props.appearanceKey,
4456
+ className: props.class,
4457
+ iconKey: "push",
4458
+ context: {
4459
+ preference: props.preference,
4460
+ preferenceGroup: props.preferenceGroup
4461
+ }
4120
4462
  });
4121
4463
  }
4122
4464
  })
@@ -4125,8 +4467,14 @@ var ChannelIcon = (props) => {
4125
4467
  key: "sms",
4126
4468
  component: web.createComponent(Sms, {
4127
4469
  get ["class"]() {
4128
- return style(props.appearanceKey, props.class, {
4129
- iconKey: "sms"
4470
+ return style({
4471
+ key: props.appearanceKey,
4472
+ className: props.class,
4473
+ iconKey: "sms",
4474
+ context: {
4475
+ preference: props.preference,
4476
+ preferenceGroup: props.preferenceGroup
4477
+ }
4130
4478
  });
4131
4479
  }
4132
4480
  })
@@ -4135,8 +4483,14 @@ var ChannelIcon = (props) => {
4135
4483
  key: "chat",
4136
4484
  component: web.createComponent(Chat, {
4137
4485
  get ["class"]() {
4138
- return style(props.appearanceKey, props.class, {
4139
- iconKey: "chat"
4486
+ return style({
4487
+ key: props.appearanceKey,
4488
+ className: props.class,
4489
+ iconKey: "chat",
4490
+ context: {
4491
+ preference: props.preference,
4492
+ preferenceGroup: props.preferenceGroup
4493
+ }
4140
4494
  });
4141
4495
  }
4142
4496
  })
@@ -4154,8 +4508,13 @@ var ChannelIcon = (props) => {
4154
4508
  return iconData.component;
4155
4509
  },
4156
4510
  get ["class"]() {
4157
- return style(props.appearanceKey, props.class, {
4158
- iconKey: iconData.key
4511
+ return style({
4512
+ key: props.appearanceKey,
4513
+ className: props.class,
4514
+ iconKey: iconData.key,
4515
+ context: {
4516
+ preference: props.preference
4517
+ }
4159
4518
  });
4160
4519
  }
4161
4520
  });
@@ -4179,7 +4538,7 @@ var getLabel = (channel) => {
4179
4538
 
4180
4539
  // src/ui/components/elements/Preferences/PreferencesRow.tsx
4181
4540
  var _tmpl$53 = /* @__PURE__ */ web.template(`<div>`);
4182
- var _tmpl$214 = /* @__PURE__ */ web.template(`<div><div><div><div><span></span></div></div><span>`);
4541
+ var _tmpl$215 = /* @__PURE__ */ web.template(`<div><div><div><div><span></span></div></div><span>`);
4183
4542
  var _tmpl$310 = /* @__PURE__ */ web.template(`<span>`);
4184
4543
  var iconKeyToComponentMap2 = {
4185
4544
  cogs: Cogs,
@@ -4201,19 +4560,13 @@ var PreferencesRow = (props) => {
4201
4560
  };
4202
4561
  });
4203
4562
  });
4204
- const iconClass = style("workflowLabelIcon", "nt-text-foreground-alpha-600 nt-size-3.5", {
4205
- iconKey: "cogs"
4206
- });
4207
- const arrowDropDownIconClass = style("workflowArrow__icon", "nt-text-foreground-alpha-600 nt-size-4", {
4208
- iconKey: "arrowDropDown"
4209
- });
4210
4563
  const DefaultIconComponent = iconKeyToComponentMap2[props.iconKey];
4211
4564
  return web.createComponent(solidJs.Show, {
4212
4565
  get when() {
4213
4566
  return channels().length > 0;
4214
4567
  },
4215
4568
  get children() {
4216
- var _el$ = _tmpl$214(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$3.nextSibling;
4569
+ var _el$ = _tmpl$215(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$3.nextSibling;
4217
4570
  _el$2.$$click = () => {
4218
4571
  setIsOpenChannels((prev) => !prev);
4219
4572
  };
@@ -4221,10 +4574,26 @@ var PreferencesRow = (props) => {
4221
4574
  get iconKey() {
4222
4575
  return props.iconKey;
4223
4576
  },
4224
- "class": iconClass,
4577
+ get ["class"]() {
4578
+ return style({
4579
+ key: "workflowLabelIcon",
4580
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4581
+ iconKey: "cogs",
4582
+ context: {
4583
+ preference: props.preference
4584
+ }
4585
+ });
4586
+ },
4225
4587
  get fallback() {
4226
4588
  return DefaultIconComponent && DefaultIconComponent({
4227
- class: iconClass
4589
+ class: style({
4590
+ key: "workflowLabelIcon",
4591
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4592
+ iconKey: "cogs",
4593
+ context: {
4594
+ preference: props.preference
4595
+ }
4596
+ })
4228
4597
  });
4229
4598
  }
4230
4599
  }), _el$5);
@@ -4243,16 +4612,37 @@ var PreferencesRow = (props) => {
4243
4612
  return (_b = (_a = props.preference) == null ? void 0 : _a.channels) != null ? _b : {};
4244
4613
  },
4245
4614
  appearanceKey: "workflowDescription",
4246
- "class": "nt-overflow-hidden"
4615
+ "class": "nt-overflow-hidden",
4616
+ get preference() {
4617
+ return props.preference;
4618
+ }
4247
4619
  });
4248
4620
  }
4249
4621
  }), null);
4250
4622
  web.insert(_el$6, web.createComponent(IconRendererWrapper, {
4251
4623
  iconKey: "arrowDropDown",
4252
- "class": arrowDropDownIconClass,
4624
+ get ["class"]() {
4625
+ return style({
4626
+ key: "workflowArrow__icon",
4627
+ className: "nt-text-foreground-alpha-600 nt-size-4",
4628
+ iconKey: "arrowDropDown",
4629
+ context: {
4630
+ preference: props.preference
4631
+ }
4632
+ });
4633
+ },
4253
4634
  get fallback() {
4254
4635
  return web.createComponent(ArrowDropDown, {
4255
- "class": arrowDropDownIconClass
4636
+ get ["class"]() {
4637
+ return style({
4638
+ key: "workflowArrow__icon",
4639
+ className: "nt-text-foreground-alpha-600 nt-size-4",
4640
+ iconKey: "arrowDropDown",
4641
+ context: {
4642
+ preference: props.preference
4643
+ }
4644
+ });
4645
+ }
4256
4646
  });
4257
4647
  }
4258
4648
  }));
@@ -4277,16 +4667,61 @@ var PreferencesRow = (props) => {
4277
4667
  get onChange() {
4278
4668
  var _a, _b;
4279
4669
  return props.onChange((_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier);
4670
+ },
4671
+ get preference() {
4672
+ return props.preference;
4280
4673
  }
4281
4674
  })
4282
4675
  }));
4283
- web.effect(() => web.className(_el$7, style("channelsContainer", "nt-flex nt-bg-background nt-border nt-border-neutral-alpha-200 nt-rounded-lg nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden")));
4676
+ web.effect(() => web.className(_el$7, style({
4677
+ key: "channelsContainer",
4678
+ className: "nt-flex nt-bg-background nt-border nt-border-neutral-alpha-200 nt-rounded-lg nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden",
4679
+ context: {
4680
+ preference: props.preference
4681
+ }
4682
+ })));
4284
4683
  return _el$7;
4285
4684
  }
4286
4685
  }), null);
4287
4686
  web.effect((_p$) => {
4288
4687
  var _a, _b, _c;
4289
- var _v$ = style("workflowContainer", `nt-p-1 nt-bg-neutral-alpha-25 nt-rounded-lg nt-border nt-border-neutral-alpha-50`), _v$2 = isOpenChannels(), _v$3 = style("workflowLabelContainer", "nt-flex nt-justify-between nt-p-1 nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center nt-overflow-hidden"), _v$4 = style("workflowLabelHeader", "nt-overflow-hidden"), _v$5 = style("workflowLabelHeaderContainer", "nt-flex nt-items-center nt-gap-1"), _v$6 = style("workflowLabel", "nt-text-sm nt-font-semibold nt-truncate nt-text-start"), _v$7 = (_c = (_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier) != null ? _c : "preferences.global", _v$8 = isOpenChannels(), _v$9 = style("workflowContainerRight__icon", `nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180`), _v$10 = isOpenChannels();
4688
+ var _v$ = style({
4689
+ key: "workflowContainer",
4690
+ className: "nt-p-1 nt-bg-neutral-alpha-25 nt-rounded-lg nt-border nt-border-neutral-alpha-50",
4691
+ context: {
4692
+ preference: props.preference
4693
+ }
4694
+ }), _v$2 = isOpenChannels(), _v$3 = style({
4695
+ key: "workflowLabelContainer",
4696
+ className: "nt-flex nt-justify-between nt-p-1 nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center nt-overflow-hidden",
4697
+ context: {
4698
+ preference: props.preference
4699
+ }
4700
+ }), _v$4 = style({
4701
+ key: "workflowLabelHeader",
4702
+ className: "nt-overflow-hidden",
4703
+ context: {
4704
+ preference: props.preference
4705
+ }
4706
+ }), _v$5 = style({
4707
+ key: "workflowLabelHeaderContainer",
4708
+ className: "nt-flex nt-items-center nt-gap-1",
4709
+ context: {
4710
+ preference: props.preference
4711
+ }
4712
+ }), _v$6 = style({
4713
+ key: "workflowLabel",
4714
+ className: "nt-text-sm nt-font-semibold nt-truncate nt-text-start",
4715
+ context: {
4716
+ preference: props.preference
4717
+ }
4718
+ }), _v$7 = (_c = (_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier) != null ? _c : "preferences.global", _v$8 = isOpenChannels(), _v$9 = style({
4719
+ key: "workflowContainerRight__icon",
4720
+ className: "nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180",
4721
+ context: {
4722
+ preference: props.preference
4723
+ }
4724
+ }), _v$10 = isOpenChannels();
4290
4725
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
4291
4726
  _v$2 !== _p$.t && web.setAttribute(_el$, "data-open", _p$.t = _v$2);
4292
4727
  _v$3 !== _p$.a && web.className(_el$2, _p$.a = _v$3);
@@ -4325,7 +4760,13 @@ var WorkflowDescription = (props) => {
4325
4760
  var _el$8 = _tmpl$310();
4326
4761
  web.setAttribute(_el$8, "data-disabled", isDisabled);
4327
4762
  web.insert(_el$8, () => getLabel(key));
4328
- web.effect(() => web.className(_el$8, style("channelName", "data-[disabled=true]:nt-text-foreground-alpha-400")));
4763
+ web.effect(() => web.className(_el$8, style({
4764
+ key: "channelName",
4765
+ className: "data-[disabled=true]:nt-text-foreground-alpha-400",
4766
+ context: {
4767
+ preference: props.preference
4768
+ }
4769
+ })));
4329
4770
  return _el$8;
4330
4771
  })();
4331
4772
  channels.push(element);
@@ -4336,7 +4777,10 @@ var WorkflowDescription = (props) => {
4336
4777
  return (() => {
4337
4778
  var _el$9 = _tmpl$53();
4338
4779
  web.insert(_el$9, channelNames);
4339
- web.effect(() => web.className(_el$9, style(props.appearanceKey, cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class))));
4780
+ web.effect(() => web.className(_el$9, style({
4781
+ key: props.appearanceKey,
4782
+ className: cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class)
4783
+ })));
4340
4784
  return _el$9;
4341
4785
  })();
4342
4786
  };
@@ -4403,7 +4847,7 @@ var NodeTree = (props) => {
4403
4847
 
4404
4848
  // src/ui/components/elements/Preferences/GroupedPreferencesRow.tsx
4405
4849
  var _tmpl$56 = /* @__PURE__ */ web.template(`<div><div><span data-localization=preferences.group.info></span></div><div>`);
4406
- var _tmpl$215 = /* @__PURE__ */ web.template(`<div><div><div><span></span></div><div><span>`);
4850
+ var _tmpl$216 = /* @__PURE__ */ web.template(`<div><div><div><span></span></div><div><span>`);
4407
4851
  var GroupedPreferencesRow = (props) => {
4408
4852
  const style = useStyle();
4409
4853
  const {
@@ -4460,24 +4904,37 @@ var GroupedPreferencesRow = (props) => {
4460
4904
  props.bulkUpdatePreferences(filteredPreferences)(channels);
4461
4905
  };
4462
4906
  const preferences = solidJs.createMemo(() => props.group.preferences);
4463
- const nodeTreeIconClass = style("preferencesGroupLabelIcon", "nt-text-foreground-alpha-600 nt-size-3.5");
4464
- const infoIconClass = style("preferencesGroupInfoIcon", "nt-size-4");
4465
- const dropdownIconClass = style("moreTabs__icon", "nt-size-4");
4466
4907
  return web.createComponent(solidJs.Show, {
4467
4908
  get when() {
4468
4909
  return Object.keys(uniqueChannels()).length > 0;
4469
4910
  },
4470
4911
  get children() {
4471
- var _el$ = _tmpl$215(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$3.nextSibling, _el$6 = _el$5.firstChild;
4912
+ var _el$ = _tmpl$216(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$3.nextSibling, _el$6 = _el$5.firstChild;
4472
4913
  _el$2.$$click = () => {
4473
4914
  setIsOpened((prev) => !prev);
4474
4915
  };
4475
4916
  web.insert(_el$3, web.createComponent(IconRendererWrapper, {
4476
4917
  iconKey: "nodeTree",
4477
- "class": nodeTreeIconClass,
4918
+ get ["class"]() {
4919
+ return style({
4920
+ key: "preferencesGroupLabelIcon",
4921
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4922
+ context: {
4923
+ preferenceGroup: props.group
4924
+ }
4925
+ });
4926
+ },
4478
4927
  get fallback() {
4479
4928
  return web.createComponent(NodeTree, {
4480
- "class": nodeTreeIconClass
4929
+ get ["class"]() {
4930
+ return style({
4931
+ key: "preferencesGroupLabelIcon",
4932
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4933
+ context: {
4934
+ preferenceGroup: props.group
4935
+ }
4936
+ });
4937
+ }
4481
4938
  });
4482
4939
  }
4483
4940
  }), _el$4);
@@ -4490,10 +4947,20 @@ var GroupedPreferencesRow = (props) => {
4490
4947
  }), _el$6);
4491
4948
  web.insert(_el$6, web.createComponent(IconRendererWrapper, {
4492
4949
  iconKey: "arrowDropDown",
4493
- "class": dropdownIconClass,
4950
+ get ["class"]() {
4951
+ return style({
4952
+ key: "moreTabs__icon",
4953
+ className: "nt-size-4"
4954
+ });
4955
+ },
4494
4956
  get fallback() {
4495
4957
  return web.createComponent(ArrowDropDown, {
4496
- "class": dropdownIconClass
4958
+ get ["class"]() {
4959
+ return style({
4960
+ key: "moreTabs__icon",
4961
+ className: "nt-size-4"
4962
+ });
4963
+ }
4497
4964
  });
4498
4965
  }
4499
4966
  }));
@@ -4517,16 +4984,35 @@ var GroupedPreferencesRow = (props) => {
4517
4984
  },
4518
4985
  get onChange() {
4519
4986
  return updatePreferencesForChannel(channel());
4987
+ },
4988
+ get preferenceGroup() {
4989
+ return props.group;
4520
4990
  }
4521
4991
  });
4522
4992
  }
4523
4993
  }), _el$9);
4524
4994
  web.insert(_el$9, web.createComponent(IconRendererWrapper, {
4525
4995
  iconKey: "info",
4526
- "class": infoIconClass,
4996
+ get ["class"]() {
4997
+ return style({
4998
+ key: "preferencesGroupInfoIcon",
4999
+ className: "nt-size-4",
5000
+ context: {
5001
+ preferenceGroup: props.group
5002
+ }
5003
+ });
5004
+ },
4527
5005
  get fallback() {
4528
5006
  return web.createComponent(Info, {
4529
- "class": infoIconClass
5007
+ get ["class"]() {
5008
+ return style({
5009
+ key: "preferencesGroupInfoIcon",
5010
+ className: "nt-size-4",
5011
+ context: {
5012
+ preferenceGroup: props.group
5013
+ }
5014
+ });
5015
+ }
4530
5016
  });
4531
5017
  }
4532
5018
  }), null);
@@ -4544,7 +5030,31 @@ var GroupedPreferencesRow = (props) => {
4544
5030
  })
4545
5031
  }));
4546
5032
  web.effect((_p$) => {
4547
- var _v$ = style("preferencesGroupBody", "nt-flex nt-flex-col nt-gap-1 nt-overflow-hidden"), _v$2 = style("preferencesGroupChannels", "nt-flex nt-bg-background nt-border-t nt-border-b nt-border-neutral-alpha-50 nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden"), _v$3 = style("preferencesGroupInfo", "nt-text-sm nt-text-start nt-text-foreground-alpha-400 nt-mt-1 nt-flex nt-items-center nt-gap-1"), _v$4 = style("preferencesGroupWorkflows", "nt-flex nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden");
5033
+ var _v$ = style({
5034
+ key: "preferencesGroupBody",
5035
+ className: "nt-flex nt-flex-col nt-gap-1 nt-overflow-hidden",
5036
+ context: {
5037
+ preferenceGroup: props.group
5038
+ }
5039
+ }), _v$2 = style({
5040
+ key: "preferencesGroupChannels",
5041
+ className: "nt-flex nt-bg-background nt-border-t nt-border-b nt-border-neutral-alpha-50 nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden",
5042
+ context: {
5043
+ preferenceGroup: props.group
5044
+ }
5045
+ }), _v$3 = style({
5046
+ key: "preferencesGroupInfo",
5047
+ className: "nt-text-sm nt-text-start nt-text-foreground-alpha-400 nt-mt-1 nt-flex nt-items-center nt-gap-1",
5048
+ context: {
5049
+ preferenceGroup: props.group
5050
+ }
5051
+ }), _v$4 = style({
5052
+ key: "preferencesGroupWorkflows",
5053
+ className: "nt-flex nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden",
5054
+ context: {
5055
+ preferenceGroup: props.group
5056
+ }
5057
+ });
4548
5058
  _v$ !== _p$.e && web.className(_el$7, _p$.e = _v$);
4549
5059
  _v$2 !== _p$.t && web.className(_el$8, _p$.t = _v$2);
4550
5060
  _v$3 !== _p$.a && web.className(_el$9, _p$.a = _v$3);
@@ -4560,7 +5070,43 @@ var GroupedPreferencesRow = (props) => {
4560
5070
  }
4561
5071
  }), null);
4562
5072
  web.effect((_p$) => {
4563
- var _v$5 = style("preferencesGroupContainer", `nt-bg-neutral-alpha-25 nt-rounded-lg nt-border nt-border-neutral-alpha-50`), _v$6 = isOpened(), _v$7 = style("preferencesGroupHeader", "nt-flex nt-justify-between nt-p-2 nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center nt-overflow-hidden"), _v$8 = style("preferencesGroupLabelContainer", "nt-overflow-hidden nt-flex nt-items-center nt-gap-1"), _v$9 = style("preferencesGroupLabel", "nt-text-sm nt-font-semibold nt-truncate nt-text-start"), _v$10 = isOpened(), _v$11 = style("preferencesGroupActionsContainer", "nt-flex nt-items-center nt-gap-1"), _v$12 = style("preferencesGroupActionsContainerRight__icon", `nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180`), _v$13 = isOpened();
5073
+ var _v$5 = style({
5074
+ key: "preferencesGroupContainer",
5075
+ className: "nt-bg-neutral-alpha-25 nt-rounded-lg nt-border nt-border-neutral-alpha-50",
5076
+ context: {
5077
+ preferenceGroup: props.group
5078
+ }
5079
+ }), _v$6 = isOpened(), _v$7 = style({
5080
+ key: "preferencesGroupHeader",
5081
+ className: "nt-flex nt-justify-between nt-p-2 nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center nt-overflow-hidden",
5082
+ context: {
5083
+ preferenceGroup: props.group
5084
+ }
5085
+ }), _v$8 = style({
5086
+ key: "preferencesGroupLabelContainer",
5087
+ className: "nt-overflow-hidden nt-flex nt-items-center nt-gap-1",
5088
+ context: {
5089
+ preferenceGroup: props.group
5090
+ }
5091
+ }), _v$9 = style({
5092
+ key: "preferencesGroupLabel",
5093
+ className: "nt-text-sm nt-font-semibold nt-truncate nt-text-start",
5094
+ context: {
5095
+ preferenceGroup: props.group
5096
+ }
5097
+ }), _v$10 = isOpened(), _v$11 = style({
5098
+ key: "preferencesGroupActionsContainer",
5099
+ className: "nt-flex nt-items-center nt-gap-1",
5100
+ context: {
5101
+ preferenceGroup: props.group
5102
+ }
5103
+ }), _v$12 = style({
5104
+ key: "preferencesGroupActionsContainerRight__icon",
5105
+ className: "nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180",
5106
+ context: {
5107
+ preferenceGroup: props.group
5108
+ }
5109
+ }), _v$13 = isOpened();
4564
5110
  _v$5 !== _p$.e && web.className(_el$, _p$.e = _v$5);
4565
5111
  _v$6 !== _p$.t && web.setAttribute(_el$, "data-open", _p$.t = _v$6);
4566
5112
  _v$7 !== _p$.a && web.className(_el$2, _p$.a = _v$7);
@@ -4628,7 +5174,7 @@ var GroupedPreferences = (props) => {
4628
5174
  // src/ui/components/elements/Preferences/Preferences.tsx
4629
5175
  var _tmpl$57 = /* @__PURE__ */ web.template(`<div>`);
4630
5176
  var Preferences = () => {
4631
- var _a;
5177
+ var _a, _b, _c;
4632
5178
  const novu = useNovu();
4633
5179
  const style = useStyle();
4634
5180
  const {
@@ -4639,12 +5185,14 @@ var Preferences = () => {
4639
5185
  preferences,
4640
5186
  loading
4641
5187
  } = usePreferences({
4642
- tags: (_a = preferencesFilter()) == null ? void 0 : _a.tags
5188
+ tags: (_a = preferencesFilter()) == null ? void 0 : _a.tags,
5189
+ severity: (_b = preferencesFilter()) == null ? void 0 : _b.severity,
5190
+ criticality: (_c = preferencesFilter()) == null ? void 0 : _c.criticality
4643
5191
  });
4644
5192
  const allPreferences = solidJs.createMemo(() => {
4645
- var _a2, _b;
5193
+ var _a2, _b2;
4646
5194
  const globalPreference = (_a2 = preferences()) == null ? void 0 : _a2.find((preference) => preference.level === "global" /* GLOBAL */);
4647
- const workflowPreferences = (_b = preferences()) == null ? void 0 : _b.filter((preference) => preference.level === "template" /* TEMPLATE */);
5195
+ const workflowPreferences = (_b2 = preferences()) == null ? void 0 : _b2.filter((preference) => preference.level === "template" /* TEMPLATE */);
4648
5196
  return {
4649
5197
  globalPreference,
4650
5198
  workflowPreferences
@@ -4678,9 +5226,9 @@ var Preferences = () => {
4678
5226
  }));
4679
5227
  });
4680
5228
  const groupedPreferences = solidJs.createMemo(() => {
4681
- var _a2, _b, _c;
5229
+ var _a2, _b2, _c2;
4682
5230
  const workflowPreferences = (_a2 = allPreferences().workflowPreferences) != null ? _a2 : [];
4683
- return (_c = (_b = preferenceGroups()) == null ? void 0 : _b.map((group) => {
5231
+ return (_c2 = (_b2 = preferenceGroups()) == null ? void 0 : _b2.map((group) => {
4684
5232
  const {
4685
5233
  filter
4686
5234
  } = group;
@@ -4697,12 +5245,15 @@ var Preferences = () => {
4697
5245
  return {
4698
5246
  name: group.name,
4699
5247
  preferences: workflowPreferences.filter((preference) => {
4700
- var _a3, _b2, _c2, _d;
4701
- const workflowId = ((_a3 = preference.workflow) == null ? void 0 : _a3.id) || ((_b2 = preference.workflow) == null ? void 0 : _b2.identifier);
4702
- return ((_c2 = filter.workflowIds) == null ? void 0 : _c2.includes(workflowId != null ? workflowId : "")) || ((_d = filter.tags) == null ? void 0 : _d.some((tag) => {
4703
- var _a4, _b3;
4704
- return (_b3 = (_a4 = preference.workflow) == null ? void 0 : _a4.tags) == null ? void 0 : _b3.includes(tag);
4705
- }));
5248
+ var _a3, _b3, _c3, _d, _e;
5249
+ const workflowId = ((_a3 = preference.workflow) == null ? void 0 : _a3.id) || ((_b3 = preference.workflow) == null ? void 0 : _b3.identifier);
5250
+ return ((_c3 = filter.workflowIds) == null ? void 0 : _c3.includes(workflowId != null ? workflowId : "")) || ((_d = filter.tags) == null ? void 0 : _d.some((tag) => {
5251
+ var _a4, _b4;
5252
+ return (_b4 = (_a4 = preference.workflow) == null ? void 0 : _a4.tags) == null ? void 0 : _b4.includes(tag);
5253
+ })) || Array.isArray(filter.severity) && filter.severity.some((severity) => {
5254
+ var _a4;
5255
+ return ((_a4 = preference.workflow) == null ? void 0 : _a4.severity) === severity;
5256
+ }) || !Array.isArray(filter.severity) && filter.severity === ((_e = preference.workflow) == null ? void 0 : _e.severity);
4706
5257
  })
4707
5258
  };
4708
5259
  }
@@ -4710,7 +5261,7 @@ var Preferences = () => {
4710
5261
  name: group.name,
4711
5262
  preferences: []
4712
5263
  };
4713
- })) != null ? _c : [];
5264
+ })) != null ? _c2 : [];
4714
5265
  });
4715
5266
  return (() => {
4716
5267
  var _el$ = _tmpl$57();
@@ -4764,7 +5315,14 @@ var Preferences = () => {
4764
5315
  });
4765
5316
  }
4766
5317
  }), null);
4767
- web.effect(() => web.className(_el$, style("preferencesContainer", "nt-px-3 nt-py-4 nt-flex nt-flex-col nt-gap-1 nt-overflow-y-auto nt-h-full nt-pr-0 [scrollbar-gutter:stable]")));
5318
+ web.effect(() => web.className(_el$, style({
5319
+ key: "preferencesContainer",
5320
+ className: "nt-px-3 nt-py-4 nt-flex nt-flex-col nt-gap-1 nt-overflow-y-auto nt-h-full nt-pr-0 [scrollbar-gutter:stable]",
5321
+ context: {
5322
+ preferences: preferences(),
5323
+ groups: groupedPreferences()
5324
+ }
5325
+ })));
4768
5326
  return _el$;
4769
5327
  })();
4770
5328
  };
@@ -4790,7 +5348,10 @@ var Root = (props) => {
4790
5348
  return `novu-root-${id()}`;
4791
5349
  },
4792
5350
  get ["class"]() {
4793
- return style("root"), cn("novu", id(), "nt-text-foreground nt-h-full [interpolate-size:allow-keywords]");
5351
+ return style({
5352
+ key: "root",
5353
+ className: cn("novu", id(), "nt-text-foreground nt-h-full [interpolate-size:allow-keywords]")
5354
+ });
4794
5355
  }
4795
5356
  }, rest), false, false);
4796
5357
  return _el$;
@@ -4802,7 +5363,9 @@ var PreferencesHeader = (props) => {
4802
5363
  const {
4803
5364
  t
4804
5365
  } = useLocalization();
4805
- const arrowLeftIconClass = style("preferencesHeader__back__button__icon", "nt-size-4", {
5366
+ const arrowLeftIconClass = style({
5367
+ key: "preferencesHeader__back__button__icon",
5368
+ className: "nt-size-4",
4806
5369
  iconKey: "arrowLeft"
4807
5370
  });
4808
5371
  return (() => {
@@ -4834,7 +5397,13 @@ var PreferencesHeader = (props) => {
4834
5397
  }), _el$2);
4835
5398
  web.insert(_el$2, () => t("preferences.title"));
4836
5399
  web.effect((_p$) => {
4837
- var _v$ = style("preferencesHeader", "nt-flex nt-bg-neutral-alpha-25 nt-shrink-0 nt-border-b nt-border-border nt-items-center nt-py-3.5 nt-px-4 nt-gap-2"), _v$2 = style("preferencesHeader__title", "nt-text-base nt-font-medium");
5400
+ var _v$ = style({
5401
+ key: "preferencesHeader",
5402
+ className: "nt-flex nt-bg-neutral-alpha-25 nt-shrink-0 nt-border-b nt-border-border nt-items-center nt-py-3.5 nt-px-4 nt-gap-2"
5403
+ }), _v$2 = style({
5404
+ key: "preferencesHeader__title",
5405
+ className: "nt-text-base nt-font-medium"
5406
+ });
4838
5407
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
4839
5408
  _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
4840
5409
  return _p$;
@@ -4846,26 +5415,33 @@ var PreferencesHeader = (props) => {
4846
5415
  })();
4847
5416
  };
4848
5417
  var _tmpl$60 = /* @__PURE__ */ web.template(`<strong>`);
4849
- var _tmpl$216 = /* @__PURE__ */ web.template(`<p>`);
5418
+ var _tmpl$217 = /* @__PURE__ */ web.template(`<p>`);
4850
5419
  var Bold = (props) => {
4851
5420
  const style = useStyle();
4852
5421
  return (() => {
4853
5422
  var _el$ = _tmpl$60();
4854
5423
  web.insert(_el$, () => props.children);
4855
- web.effect(() => web.className(_el$, style(props.appearanceKey || "strong", "nt-font-semibold")));
5424
+ web.effect(() => web.className(_el$, style({
5425
+ key: props.appearanceKey || "strong",
5426
+ className: "nt-font-semibold"
5427
+ })));
4856
5428
  return _el$;
4857
5429
  })();
4858
5430
  };
4859
5431
  var Text = (props) => props.children;
4860
5432
  var Markdown = (props) => {
4861
- const [local, rest] = solidJs.splitProps(props, ["class", "children", "appearanceKey", "strongAppearanceKey"]);
5433
+ const [local, rest] = solidJs.splitProps(props, ["class", "children", "appearanceKey", "strongAppearanceKey", "context"]);
4862
5434
  const style = useStyle();
4863
5435
  const tokens = solidJs.createMemo(() => chunkZB7IPCHY_js.parseMarkdownIntoTokens(local.children));
4864
5436
  return (() => {
4865
- var _el$2 = _tmpl$216();
5437
+ var _el$2 = _tmpl$217();
4866
5438
  web.spread(_el$2, web.mergeProps({
4867
5439
  get ["class"]() {
4868
- return style(local.appearanceKey, cn(local.class));
5440
+ return style({
5441
+ key: local.appearanceKey,
5442
+ className: cn(local.class),
5443
+ context: local.context
5444
+ });
4869
5445
  }
4870
5446
  }, rest), false, true);
4871
5447
  web.insert(_el$2, web.createComponent(solidJs.For, {
@@ -4911,7 +5487,7 @@ var badgeVariants = classVarianceAuthority.cva(cn("nt-inline-flex nt-flex-row nt
4911
5487
  }
4912
5488
  });
4913
5489
  var Badge = (props) => {
4914
- const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey"]);
5490
+ const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey", "context"]);
4915
5491
  const style = useStyle();
4916
5492
  return (() => {
4917
5493
  var _el$ = _tmpl$61();
@@ -4923,10 +5499,14 @@ var Badge = (props) => {
4923
5499
  return props.size;
4924
5500
  },
4925
5501
  get ["class"]() {
4926
- return style(local.appearanceKey || "badge", cn(badgeVariants({
4927
- variant: props.variant,
4928
- size: props.size
4929
- }), local.class));
5502
+ return style({
5503
+ key: local.appearanceKey || "badge",
5504
+ className: cn(badgeVariants({
5505
+ variant: props.variant,
5506
+ size: props.size
5507
+ }), local.class),
5508
+ context: local.context
5509
+ });
4930
5510
  }
4931
5511
  }, rest), false, false);
4932
5512
  return _el$;
@@ -4961,10 +5541,13 @@ var Input = (props) => {
4961
5541
  return props.size;
4962
5542
  },
4963
5543
  get ["class"]() {
4964
- return style(local.appearanceKey || "input", cn(inputVariants({
4965
- variant: props.variant,
4966
- size: props.size
4967
- }), local.class));
5544
+ return style({
5545
+ key: local.appearanceKey || "input",
5546
+ className: cn(inputVariants({
5547
+ variant: props.variant,
5548
+ size: props.size
5549
+ }), local.class)
5550
+ });
4968
5551
  }
4969
5552
  }, rest), false, false);
4970
5553
  return _el$;
@@ -5016,7 +5599,10 @@ var TimePicker = (props) => {
5016
5599
  _el$.$$click = (e) => e.stopPropagation();
5017
5600
  web.spread(_el$, web.mergeProps({
5018
5601
  get ["class"]() {
5019
- return style(local.appearanceKey || "timePicker", cn("nt-flex nt-items-center nt-gap-1", local.class));
5602
+ return style({
5603
+ key: local.appearanceKey || "timePicker",
5604
+ className: cn("nt-flex nt-items-center nt-gap-1", local.class)
5605
+ });
5020
5606
  }
5021
5607
  }, rest), false, true);
5022
5608
  web.insert(_el$, web.createComponent(Input, {
@@ -5037,7 +5623,10 @@ var TimePicker = (props) => {
5037
5623
  handleHourChange(Number(e.currentTarget.value));
5038
5624
  },
5039
5625
  get ["class"]() {
5040
- return style("timePickerHour__input", "nt-flex nt-font-mono nt-justify-center nt-items-center nt-text-center nt-h-7 nt-w-[calc(2ch+2rem)] nt-px-2");
5626
+ return style({
5627
+ key: "timePickerHour__input",
5628
+ className: "nt-flex nt-font-mono nt-justify-center nt-items-center nt-text-center nt-h-7 nt-w-[calc(2ch+2rem)] nt-px-2"
5629
+ });
5041
5630
  }
5042
5631
  }), _el$2);
5043
5632
  web.insert(_el$, web.createComponent(Input, {
@@ -5058,7 +5647,10 @@ var TimePicker = (props) => {
5058
5647
  handleMinuteChange(Number(e.currentTarget.value));
5059
5648
  },
5060
5649
  get ["class"]() {
5061
- return style("timePickerHour__input", "nt-flex nt-font-mono nt-justify-center nt-items-center nt-text-center nt-h-7 nt-w-[calc(2ch+2rem)] nt-px-2");
5650
+ return style({
5651
+ key: "timePickerHour__input",
5652
+ className: "nt-flex nt-font-mono nt-justify-center nt-items-center nt-text-center nt-h-7 nt-w-[calc(2ch+2rem)] nt-px-2"
5653
+ });
5062
5654
  }
5063
5655
  }), _el$3);
5064
5656
  _el$3.addEventListener("change", (e) => {
@@ -5067,9 +5659,15 @@ var TimePicker = (props) => {
5067
5659
  });
5068
5660
  _el$3.$$click = (e) => e.stopPropagation();
5069
5661
  web.effect((_p$) => {
5070
- var _v$ = style("timePicker__separator", "nt-text-xl"), _v$2 = style("timePicker__periodSelect", `${inputVariants({
5071
- size: "sm"
5072
- })} nt-h-7 nt-font-mono`);
5662
+ var _v$ = style({
5663
+ key: "timePicker__separator",
5664
+ className: "nt-text-xl"
5665
+ }), _v$2 = style({
5666
+ key: "timePicker__periodSelect",
5667
+ className: cn(inputVariants({
5668
+ size: "sm"
5669
+ }), "nt-h-7 nt-font-mono")
5670
+ });
5073
5671
  _v$ !== _p$.e && web.className(_el$2, _p$.e = _v$);
5074
5672
  _v$2 !== _p$.t && web.className(_el$3, _p$.t = _v$2);
5075
5673
  return _p$;
@@ -5264,7 +5862,19 @@ var SnoozeDateTimePicker = (props) => {
5264
5862
  }
5265
5863
  }), null);
5266
5864
  web.effect((_p$) => {
5267
- var _v$ = style("snoozeDatePicker", "nt-bg-background nt-rounded-md nt-shadow-lg nt-w-[260px]"), _v$2 = style("snoozeDatePicker__timePickerContainer", "nt-flex nt-flex-row nt-justify-between nt-p-2 nt-items-center nt-border-t nt-border-neutral-200 nt-border-b"), _v$3 = style("snoozeDatePicker__timePickerLabel", "nt-text-sm nt-font-medium nt-text-foreground-alpha-700 nt-p-2"), _v$4 = style("snoozeDatePicker__actions", "nt-flex nt-flex-row nt-justify-end nt-gap-2 nt-p-2");
5865
+ var _v$ = style({
5866
+ key: "snoozeDatePicker",
5867
+ className: "nt-bg-background nt-rounded-md nt-shadow-lg nt-w-[260px]"
5868
+ }), _v$2 = style({
5869
+ key: "snoozeDatePicker__timePickerContainer",
5870
+ className: "nt-flex nt-flex-row nt-justify-between nt-p-2 nt-items-center nt-border-t nt-border-neutral-200 nt-border-b"
5871
+ }), _v$3 = style({
5872
+ key: "snoozeDatePicker__timePickerLabel",
5873
+ className: "nt-text-sm nt-font-medium nt-text-foreground-alpha-700 nt-p-2"
5874
+ }), _v$4 = style({
5875
+ key: "snoozeDatePicker__actions",
5876
+ className: "nt-flex nt-flex-row nt-justify-end nt-gap-2 nt-p-2"
5877
+ });
5268
5878
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
5269
5879
  _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
5270
5880
  _v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
@@ -5283,7 +5893,7 @@ web.delegateEvents(["click"]);
5283
5893
 
5284
5894
  // src/ui/components/Notification/NotificationActions.tsx
5285
5895
  var _tmpl$66 = /* @__PURE__ */ web.template(`<div><span>`);
5286
- var _tmpl$217 = /* @__PURE__ */ web.template(`<span>`);
5896
+ var _tmpl$218 = /* @__PURE__ */ web.template(`<span>`);
5287
5897
  var SNOOZE_PRESETS = [{
5288
5898
  key: "snooze.options.anHourFromNow",
5289
5899
  hours: 1,
@@ -5325,7 +5935,9 @@ var formatSnoozeOption = (preset, t, locale) => {
5325
5935
  };
5326
5936
  var SnoozeDropdownItem = (props) => {
5327
5937
  const style = useStyle();
5328
- const snoozeItemIconClass = style("notificationSnooze__dropdownItem__icon", "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2", {
5938
+ const snoozeItemIconClass = style({
5939
+ key: "notificationSnooze__dropdownItem__icon",
5940
+ className: "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2",
5329
5941
  iconKey: "clock"
5330
5942
  });
5331
5943
  const content = [(() => {
@@ -5341,7 +5953,12 @@ var SnoozeDropdownItem = (props) => {
5341
5953
  }), _el$2);
5342
5954
  web.insert(_el$2, () => props.label);
5343
5955
  web.effect((_p$) => {
5344
- var _v$ = style("dropdownItem", "nt-flex nt-items-center nt-flex-1"), _v$2 = style("dropdownItemLabel");
5956
+ var _v$ = style({
5957
+ key: "dropdownItem",
5958
+ className: "nt-flex nt-items-center nt-flex-1"
5959
+ }), _v$2 = style({
5960
+ key: "dropdownItemLabel"
5961
+ });
5345
5962
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
5346
5963
  _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
5347
5964
  return _p$;
@@ -5351,14 +5968,20 @@ var SnoozeDropdownItem = (props) => {
5351
5968
  });
5352
5969
  return _el$;
5353
5970
  })(), (() => {
5354
- var _el$3 = _tmpl$217();
5971
+ var _el$3 = _tmpl$218();
5355
5972
  web.insert(_el$3, () => props.time);
5356
- web.effect(() => web.className(_el$3, style("dropdownItemRight__icon", "nt-text-foreground-alpha-300 nt-ml-2 nt-text-xs")));
5973
+ web.effect(() => web.className(_el$3, style({
5974
+ key: "dropdownItemRight__icon",
5975
+ className: "nt-text-foreground-alpha-300 nt-ml-2 nt-text-xs"
5976
+ })));
5357
5977
  return _el$3;
5358
5978
  })()];
5359
5979
  if (props.asChild) {
5360
5980
  return props.asChild({
5361
- class: style("notificationSnooze__dropdownItem", dropdownItemVariants()),
5981
+ class: style({
5982
+ key: "notificationSnooze__dropdownItem",
5983
+ className: dropdownItemVariants()
5984
+ }),
5362
5985
  onClick: props.onClick,
5363
5986
  children: content
5364
5987
  });
@@ -5369,7 +5992,10 @@ var SnoozeDropdownItem = (props) => {
5369
5992
  return props.onClick;
5370
5993
  },
5371
5994
  get ["class"]() {
5372
- return style("dropdownItem", "nt-justify-between");
5995
+ return style({
5996
+ key: "dropdownItem",
5997
+ className: "nt-justify-between"
5998
+ });
5373
5999
  },
5374
6000
  children: content
5375
6001
  });
@@ -5379,7 +6005,9 @@ var ReadButton = (props) => {
5379
6005
  const {
5380
6006
  t
5381
6007
  } = useLocalization();
5382
- const readIconClass = style("notificationRead__icon", "nt-size-3", {
6008
+ const readIconClass = style({
6009
+ key: "notificationRead__icon",
6010
+ className: "nt-size-3",
5383
6011
  iconKey: "markAsRead"
5384
6012
  });
5385
6013
  return web.createComponent(Tooltip.Root, {
@@ -5420,7 +6048,9 @@ var UnreadButton = (props) => {
5420
6048
  const {
5421
6049
  t
5422
6050
  } = useLocalization();
5423
- const unreadIconClass = style("notificationUnread__icon", "nt-size-3", {
6051
+ const unreadIconClass = style({
6052
+ key: "notificationUnread__icon",
6053
+ className: "nt-size-3",
5424
6054
  iconKey: "markAsUnread"
5425
6055
  });
5426
6056
  return web.createComponent(Tooltip.Root, {
@@ -5461,7 +6091,9 @@ var ArchiveButton = (props) => {
5461
6091
  const {
5462
6092
  t
5463
6093
  } = useLocalization();
5464
- const archiveIconClass = style("notificationArchive__icon", "nt-size-3", {
6094
+ const archiveIconClass = style({
6095
+ key: "notificationArchive__icon",
6096
+ className: "nt-size-3",
5465
6097
  iconKey: "markAsArchived"
5466
6098
  });
5467
6099
  return web.createComponent(Tooltip.Root, {
@@ -5502,7 +6134,9 @@ var UnarchiveButton = (props) => {
5502
6134
  const {
5503
6135
  t
5504
6136
  } = useLocalization();
5505
- const unarchiveIconClass = style("notificationArchive__icon", "nt-size-3", {
6137
+ const unarchiveIconClass = style({
6138
+ key: "notificationArchive__icon",
6139
+ className: "nt-size-3",
5506
6140
  iconKey: "markAsUnarchived"
5507
6141
  });
5508
6142
  return web.createComponent(Tooltip.Root, {
@@ -5543,7 +6177,9 @@ var UnsnoozeButton = (props) => {
5543
6177
  const {
5544
6178
  t
5545
6179
  } = useLocalization();
5546
- const unsnoozeIconClass = style("notificationUnsnooze__icon", "nt-size-3", {
6180
+ const unsnoozeIconClass = style({
6181
+ key: "notificationUnsnooze__icon",
6182
+ className: "nt-size-3",
5547
6183
  iconKey: "unsnooze"
5548
6184
  });
5549
6185
  return web.createComponent(Tooltip.Root, {
@@ -5589,7 +6225,9 @@ var SnoozeButton = (props) => {
5589
6225
  maxSnoozeDurationHours
5590
6226
  } = useInboxContext();
5591
6227
  const [isSnoozeDateTimePickerOpen, setIsSnoozeDateTimePickerOpen] = solidJs.createSignal(false);
5592
- const snoozeButtonIconClass = style("notificationSnooze__icon", "nt-size-3", {
6228
+ const snoozeButtonIconClass = style({
6229
+ key: "notificationSnooze__icon",
6230
+ className: "nt-size-3",
5593
6231
  iconKey: "clock"
5594
6232
  });
5595
6233
  const availableSnoozePresets = solidJs.createMemo(() => {
@@ -5669,7 +6307,10 @@ var SnoozeButton = (props) => {
5669
6307
  }), web.createComponent(Popover.Content, {
5670
6308
  portal: true,
5671
6309
  get ["class"]() {
5672
- return style("notificationSnoozeCustomTime_popoverContent", "nt-size-fit nt-w-[260px]");
6310
+ return style({
6311
+ key: "notificationSnoozeCustomTime_popoverContent",
6312
+ className: "nt-size-fit nt-w-[260px]"
6313
+ });
5673
6314
  },
5674
6315
  get children() {
5675
6316
  return web.createComponent(SnoozeDateTimePicker, {
@@ -5726,10 +6367,22 @@ var renderNotificationActions = (notification, status) => {
5726
6367
  };
5727
6368
 
5728
6369
  // src/ui/components/Notification/DefaultNotification.tsx
5729
- var _tmpl$67 = /* @__PURE__ */ web.template(`<img>`);
5730
- var _tmpl$218 = /* @__PURE__ */ web.template(`<div>`);
5731
- var _tmpl$311 = /* @__PURE__ */ web.template(`<span>`);
5732
- var _tmpl$410 = /* @__PURE__ */ web.template(`<a><div><div></div><div></div><div>`);
6370
+ var _tmpl$67 = /* @__PURE__ */ web.template(`<span>`);
6371
+ var _tmpl$219 = /* @__PURE__ */ web.template(`<a><div></div><div><div></div><div></div></div><div class="nt-w-1.5 nt-flex nt-justify-center nt-shrink-0">`);
6372
+ var _tmpl$311 = /* @__PURE__ */ web.template(`<img>`);
6373
+ var _tmpl$410 = /* @__PURE__ */ web.template(`<div>`);
6374
+ var SEVERITY_TO_BAR_KEYS = {
6375
+ ["none" /* NONE */]: "notificationBar",
6376
+ ["high" /* HIGH */]: "severityHigh__notificationBar",
6377
+ ["medium" /* MEDIUM */]: "severityMedium__notificationBar",
6378
+ ["low" /* LOW */]: "severityLow__notificationBar"
6379
+ };
6380
+ var SEVERITY_TO_NOTIFICATION_KEYS = {
6381
+ ["none" /* NONE */]: "notification",
6382
+ ["high" /* HIGH */]: "severityHigh__notification",
6383
+ ["medium" /* MEDIUM */]: "severityMedium__notification",
6384
+ ["low" /* LOW */]: "severityLow__notification"
6385
+ };
5733
6386
  var DefaultNotification = (props) => {
5734
6387
  const style = useStyle();
5735
6388
  const {
@@ -5741,12 +6394,6 @@ var DefaultNotification = (props) => {
5741
6394
  status
5742
6395
  } = useInboxContext();
5743
6396
  const [minutesPassed, setMinutesPassed] = solidJs.createSignal(0);
5744
- const deliveredAtIconClass = style("notificationDeliveredAt__icon", "nt-size-3", {
5745
- iconKey: "clock"
5746
- });
5747
- const snoozedUntilIconClass = style("notificationSnoozedUntil__icon", "nt-size-3", {
5748
- iconKey: "clock"
5749
- });
5750
6397
  const createdAt = solidJs.createMemo(() => {
5751
6398
  minutesPassed();
5752
6399
  return formatToRelativeTime({
@@ -5804,32 +6451,54 @@ var DefaultNotification = (props) => {
5804
6451
  }
5805
6452
  });
5806
6453
  return (() => {
5807
- var _el$ = _tmpl$410(), _el$3 = _el$.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$7 = _el$5.nextSibling;
6454
+ var _el$ = _tmpl$219(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling;
5808
6455
  _el$.$$click = handleNotificationClick;
5809
6456
  web.insert(_el$, web.createComponent(solidJs.Show, {
5810
6457
  get when() {
5811
- return props.notification.avatar;
6458
+ return props.renderAvatar;
5812
6459
  },
5813
6460
  get fallback() {
5814
- return (() => {
5815
- var _el$9 = _tmpl$218();
5816
- web.effect(() => web.className(_el$9, style("notificationImageLoadingFallback", "nt-size-8 nt-rounded-lg nt-shrink-0 nt-aspect-square")));
5817
- return _el$9;
5818
- })();
5819
- },
5820
- get children() {
5821
- var _el$2 = _tmpl$67();
5822
- web.effect((_p$) => {
5823
- var _v$ = style("notificationImage", "nt-size-8 nt-rounded-lg nt-object-cover nt-aspect-square"), _v$2 = props.notification.avatar;
5824
- _v$ !== _p$.e && web.className(_el$2, _p$.e = _v$);
5825
- _v$2 !== _p$.t && web.setAttribute(_el$2, "src", _p$.t = _v$2);
5826
- return _p$;
5827
- }, {
5828
- e: void 0,
5829
- t: void 0
6461
+ return web.createComponent(solidJs.Show, {
6462
+ get when() {
6463
+ return props.notification.avatar;
6464
+ },
6465
+ get fallback() {
6466
+ return (() => {
6467
+ var _el$9 = _tmpl$410();
6468
+ web.effect(() => web.className(_el$9, style({
6469
+ key: "notificationImageLoadingFallback",
6470
+ className: "nt-size-8 nt-rounded-lg nt-shrink-0 nt-aspect-square",
6471
+ context: {
6472
+ notification: props.notification
6473
+ }
6474
+ })));
6475
+ return _el$9;
6476
+ })();
6477
+ },
6478
+ get children() {
6479
+ var _el$8 = _tmpl$311();
6480
+ web.effect((_p$) => {
6481
+ var _v$6 = style({
6482
+ key: "notificationImage",
6483
+ className: "nt-size-8 nt-rounded-lg nt-object-cover nt-aspect-square",
6484
+ context: {
6485
+ notification: props.notification
6486
+ }
6487
+ }), _v$7 = props.notification.avatar;
6488
+ _v$6 !== _p$.e && web.className(_el$8, _p$.e = _v$6);
6489
+ _v$7 !== _p$.t && web.setAttribute(_el$8, "src", _p$.t = _v$7);
6490
+ return _p$;
6491
+ }, {
6492
+ e: void 0,
6493
+ t: void 0
6494
+ });
6495
+ return _el$8;
6496
+ }
5830
6497
  });
5831
- return _el$2;
5832
- }
6498
+ },
6499
+ children: (renderAvatar) => web.createComponent(ExternalElementRenderer, {
6500
+ render: (el) => renderAvatar()(el, props.notification)
6501
+ })
5833
6502
  }), _el$3);
5834
6503
  web.insert(_el$4, web.createComponent(solidJs.Show, {
5835
6504
  get when() {
@@ -5844,6 +6513,11 @@ var DefaultNotification = (props) => {
5844
6513
  appearanceKey: "notificationSubject",
5845
6514
  "class": "nt-text-start nt-font-medium nt-whitespace-pre-wrap [word-break:break-word]",
5846
6515
  strongAppearanceKey: "notificationSubject__strong",
6516
+ get context() {
6517
+ return {
6518
+ notification: props.notification
6519
+ };
6520
+ },
5847
6521
  get children() {
5848
6522
  return subject();
5849
6523
  }
@@ -5863,6 +6537,11 @@ var DefaultNotification = (props) => {
5863
6537
  appearanceKey: "notificationBody",
5864
6538
  strongAppearanceKey: "notificationBody__strong",
5865
6539
  "class": "nt-text-start nt-whitespace-pre-wrap nt-text-foreground-alpha-600 [word-break:break-word]",
6540
+ get context() {
6541
+ return {
6542
+ notification: props.notification
6543
+ };
6544
+ },
5866
6545
  get children() {
5867
6546
  return props.notification.body;
5868
6547
  }
@@ -5872,46 +6551,93 @@ var DefaultNotification = (props) => {
5872
6551
  render: (el) => renderBody()(el, props.notification)
5873
6552
  })
5874
6553
  }), null);
5875
- web.insert(_el$5, () => renderNotificationActions(props.notification, status));
5876
6554
  web.insert(_el$3, web.createComponent(solidJs.Show, {
5877
6555
  get when() {
5878
- return props.notification.primaryAction || props.notification.secondaryAction;
6556
+ return props.renderDefaultActions;
5879
6557
  },
5880
- get children() {
5881
- var _el$6 = _tmpl$218();
5882
- web.insert(_el$6, web.createComponent(solidJs.Show, {
5883
- get when() {
5884
- return props.notification.primaryAction;
5885
- },
5886
- keyed: true,
5887
- children: (primaryAction) => web.createComponent(Button, {
5888
- appearanceKey: "notificationPrimaryAction__button",
5889
- variant: "default",
5890
- onClick: (e) => handleActionButtonClick("primary" /* PRIMARY */, e),
5891
- get children() {
5892
- return primaryAction.label;
6558
+ get fallback() {
6559
+ return (() => {
6560
+ var _el$10 = _tmpl$410();
6561
+ web.insert(_el$10, () => renderNotificationActions(props.notification, status));
6562
+ web.effect(() => web.className(_el$10, style({
6563
+ key: "notificationDefaultActions",
6564
+ className: `nt-absolute nt-transition nt-duration-100 nt-ease-out nt-gap-0.5 nt-flex nt-shrink-0 nt-opacity-0 group-hover:nt-opacity-100 group-focus-within:nt-opacity-100 nt-justify-center nt-items-center nt-bg-background/90 nt-right-3 nt-top-3 nt-border nt-border-neutral-alpha-100 nt-rounded-lg nt-backdrop-blur-lg nt-p-0.5`,
6565
+ context: {
6566
+ notification: props.notification
5893
6567
  }
5894
- })
5895
- }), null);
5896
- web.insert(_el$6, web.createComponent(solidJs.Show, {
6568
+ })));
6569
+ return _el$10;
6570
+ })();
6571
+ },
6572
+ children: (renderDefaultActions) => web.createComponent(ExternalElementRenderer, {
6573
+ render: (el) => renderDefaultActions()(el, props.notification)
6574
+ })
6575
+ }), _el$5);
6576
+ web.insert(_el$3, web.createComponent(solidJs.Show, {
6577
+ get when() {
6578
+ return props.renderCustomActions;
6579
+ },
6580
+ get fallback() {
6581
+ return web.createComponent(solidJs.Show, {
5897
6582
  get when() {
5898
- return props.notification.secondaryAction;
6583
+ return props.notification.primaryAction || props.notification.secondaryAction;
5899
6584
  },
5900
- keyed: true,
5901
- children: (secondaryAction) => web.createComponent(Button, {
5902
- appearanceKey: "notificationSecondaryAction__button",
5903
- variant: "secondary",
5904
- onClick: (e) => handleActionButtonClick("secondary" /* SECONDARY */, e),
5905
- get children() {
5906
- return secondaryAction.label;
5907
- }
5908
- })
5909
- }), null);
5910
- web.effect(() => web.className(_el$6, style("notificationCustomActions", "nt-flex nt-flex-wrap nt-gap-2")));
5911
- return _el$6;
5912
- }
5913
- }), _el$7);
5914
- web.insert(_el$7, web.createComponent(solidJs.Show, {
6585
+ get children() {
6586
+ var _el$11 = _tmpl$410();
6587
+ web.insert(_el$11, web.createComponent(solidJs.Show, {
6588
+ get when() {
6589
+ return props.notification.primaryAction;
6590
+ },
6591
+ keyed: true,
6592
+ children: (primaryAction) => web.createComponent(Button, {
6593
+ appearanceKey: "notificationPrimaryAction__button",
6594
+ variant: "default",
6595
+ onClick: (e) => handleActionButtonClick("primary" /* PRIMARY */, e),
6596
+ get context() {
6597
+ return {
6598
+ notification: props.notification
6599
+ };
6600
+ },
6601
+ get children() {
6602
+ return primaryAction.label;
6603
+ }
6604
+ })
6605
+ }), null);
6606
+ web.insert(_el$11, web.createComponent(solidJs.Show, {
6607
+ get when() {
6608
+ return props.notification.secondaryAction;
6609
+ },
6610
+ keyed: true,
6611
+ children: (secondaryAction) => web.createComponent(Button, {
6612
+ appearanceKey: "notificationSecondaryAction__button",
6613
+ variant: "secondary",
6614
+ onClick: (e) => handleActionButtonClick("secondary" /* SECONDARY */, e),
6615
+ get context() {
6616
+ return {
6617
+ notification: props.notification
6618
+ };
6619
+ },
6620
+ get children() {
6621
+ return secondaryAction.label;
6622
+ }
6623
+ })
6624
+ }), null);
6625
+ web.effect(() => web.className(_el$11, style({
6626
+ key: "notificationCustomActions",
6627
+ className: "nt-flex nt-flex-wrap nt-gap-2",
6628
+ context: {
6629
+ notification: props.notification
6630
+ }
6631
+ })));
6632
+ return _el$11;
6633
+ }
6634
+ });
6635
+ },
6636
+ children: (renderCustomActions) => web.createComponent(ExternalElementRenderer, {
6637
+ render: (el) => renderCustomActions()(el, props.notification)
6638
+ })
6639
+ }), _el$5);
6640
+ web.insert(_el$5, web.createComponent(solidJs.Show, {
5915
6641
  get when() {
5916
6642
  return snoozedUntil();
5917
6643
  },
@@ -5921,7 +6647,7 @@ var DefaultNotification = (props) => {
5921
6647
  return deliveredAt();
5922
6648
  },
5923
6649
  get fallback() {
5924
- return web.memo(createdAt);
6650
+ return createdAt();
5925
6651
  },
5926
6652
  children: (deliveredAt2) => web.createComponent(solidJs.Show, {
5927
6653
  get when() {
@@ -5946,13 +6672,36 @@ var DefaultNotification = (props) => {
5946
6672
  get children() {
5947
6673
  return web.createComponent(Badge, {
5948
6674
  appearanceKey: "notificationDeliveredAt__badge",
6675
+ get context() {
6676
+ return {
6677
+ notification: props.notification
6678
+ };
6679
+ },
5949
6680
  get children() {
5950
6681
  return [web.createComponent(IconRendererWrapper, {
5951
6682
  iconKey: "clock",
5952
- "class": deliveredAtIconClass,
6683
+ get ["class"]() {
6684
+ return style({
6685
+ key: "notificationDeliveredAt__icon",
6686
+ className: "nt-size-3",
6687
+ iconKey: "clock",
6688
+ context: {
6689
+ notification: props.notification
6690
+ }
6691
+ });
6692
+ },
5953
6693
  get fallback() {
5954
6694
  return web.createComponent(Clock, {
5955
- "class": deliveredAtIconClass
6695
+ get ["class"]() {
6696
+ return style({
6697
+ key: "notificationDeliveredAt__icon",
6698
+ className: "nt-size-3",
6699
+ iconKey: "clock",
6700
+ context: {
6701
+ notification: props.notification
6702
+ }
6703
+ });
6704
+ }
5956
6705
  });
5957
6706
  }
5958
6707
  }), date];
@@ -5967,34 +6716,94 @@ var DefaultNotification = (props) => {
5967
6716
  },
5968
6717
  children: (snoozedUntil2) => [web.createComponent(IconRendererWrapper, {
5969
6718
  iconKey: "clock",
5970
- "class": snoozedUntilIconClass,
6719
+ get ["class"]() {
6720
+ return style({
6721
+ key: "notificationSnoozedUntil__icon",
6722
+ className: "nt-size-3",
6723
+ iconKey: "clock",
6724
+ context: {
6725
+ notification: props.notification
6726
+ }
6727
+ });
6728
+ },
5971
6729
  get fallback() {
5972
6730
  return web.createComponent(Clock, {
5973
- "class": snoozedUntilIconClass
6731
+ get ["class"]() {
6732
+ return style({
6733
+ key: "notificationSnoozedUntil__icon",
6734
+ className: "nt-size-3",
6735
+ iconKey: "clock",
6736
+ context: {
6737
+ notification: props.notification
6738
+ }
6739
+ });
6740
+ }
5974
6741
  });
5975
6742
  }
5976
6743
  }), web.memo(() => t("notification.snoozedUntil")), " \xB7 ", web.memo(snoozedUntil2)]
5977
6744
  }));
5978
- web.insert(_el$, web.createComponent(solidJs.Show, {
6745
+ web.insert(_el$6, web.createComponent(solidJs.Show, {
5979
6746
  get when() {
5980
6747
  return !props.notification.isRead;
5981
6748
  },
5982
6749
  get children() {
5983
- var _el$8 = _tmpl$311();
5984
- web.effect(() => web.className(_el$8, style("notificationDot", "nt-size-1.5 nt-bg-primary nt-rounded-full nt-shrink-0")));
5985
- return _el$8;
6750
+ var _el$7 = _tmpl$67();
6751
+ web.effect(() => web.className(_el$7, style({
6752
+ key: "notificationDot",
6753
+ className: "nt-size-1.5 nt-bg-primary nt-rounded-full",
6754
+ context: {
6755
+ notification: props.notification
6756
+ }
6757
+ })));
6758
+ return _el$7;
5986
6759
  }
5987
- }), null);
6760
+ }));
5988
6761
  web.effect((_p$) => {
5989
6762
  var _a;
5990
- var _v$3 = style("notification", cn("nt-w-full nt-text-sm hover:nt-bg-primary-alpha-25 nt-group nt-relative nt-flex nt-items-start nt-p-4 nt-gap-2", "[&:not(:first-child)]:nt-border-t nt-border-neutral-alpha-100", {
5991
- "nt-cursor-pointer": !props.notification.isRead || !!((_a = props.notification.redirect) == null ? void 0 : _a.url)
5992
- })), _v$4 = style("notificationContent", "nt-flex nt-flex-col nt-gap-2 nt-w-full"), _v$5 = style("notificationTextContainer"), _v$6 = style("notificationDefaultActions", `nt-absolute nt-transition nt-duration-100 nt-ease-out nt-gap-0.5 nt-flex nt-shrink-0 nt-opacity-0 group-hover:nt-opacity-100 group-focus-within:nt-opacity-100 nt-justify-center nt-items-center nt-bg-background/90 nt-right-3 nt-top-3 nt-border nt-border-neutral-alpha-100 nt-rounded-lg nt-backdrop-blur-lg nt-p-0.5`), _v$7 = style("notificationDate", "nt-text-foreground-alpha-400 nt-flex nt-items-center nt-gap-1");
5993
- _v$3 !== _p$.e && web.className(_el$, _p$.e = _v$3);
5994
- _v$4 !== _p$.t && web.className(_el$3, _p$.t = _v$4);
5995
- _v$5 !== _p$.a && web.className(_el$4, _p$.a = _v$5);
5996
- _v$6 !== _p$.o && web.className(_el$5, _p$.o = _v$6);
5997
- _v$7 !== _p$.i && web.className(_el$7, _p$.i = _v$7);
6763
+ var _v$ = style({
6764
+ key: SEVERITY_TO_NOTIFICATION_KEYS[props.notification.severity],
6765
+ className: cn("nt-transition nt-w-full nt-text-sm hover:nt-bg-primary-alpha-25 nt-group nt-relative nt-flex nt-items-start nt-p-4 nt-gap-2", "[&:not(:first-child)]:nt-border-t nt-border-neutral-alpha-100", {
6766
+ "nt-cursor-pointer": !props.notification.isRead || !!((_a = props.notification.redirect) == null ? void 0 : _a.url),
6767
+ "nt-bg-severity-high-alpha-100 hover:nt-bg-severity-high-alpha-50": props.notification.severity === "high" /* HIGH */,
6768
+ "nt-bg-severity-medium-alpha-100 hover:nt-bg-severity-medium-alpha-50": props.notification.severity === "medium" /* MEDIUM */,
6769
+ "nt-bg-severity-low-alpha-100 hover:nt-bg-severity-low-alpha-50": props.notification.severity === "low" /* LOW */
6770
+ }),
6771
+ context: {
6772
+ notification: props.notification
6773
+ }
6774
+ }), _v$2 = style({
6775
+ key: SEVERITY_TO_BAR_KEYS[props.notification.severity],
6776
+ className: cn("nt-transition nt-absolute nt-left-0 nt-top-0 nt-bottom-0 nt-w-[3px]", {
6777
+ "nt-bg-severity-high group-hover:nt-bg-severity-high-alpha-500": props.notification.severity === "high" /* HIGH */,
6778
+ "nt-bg-severity-medium group-hover:nt-bg-severity-medium-alpha-500": props.notification.severity === "medium" /* MEDIUM */,
6779
+ "nt-bg-severity-low group-hover:nt-bg-severity-low-alpha-500": props.notification.severity === "low" /* LOW */
6780
+ }),
6781
+ context: {
6782
+ notification: props.notification
6783
+ }
6784
+ }), _v$3 = style({
6785
+ key: "notificationContent",
6786
+ className: "nt-flex nt-flex-col nt-gap-2 nt-w-full",
6787
+ context: {
6788
+ notification: props.notification
6789
+ }
6790
+ }), _v$4 = style({
6791
+ key: "notificationTextContainer",
6792
+ context: {
6793
+ notification: props.notification
6794
+ }
6795
+ }), _v$5 = style({
6796
+ key: "notificationDate",
6797
+ className: "nt-text-foreground-alpha-400 nt-flex nt-items-center nt-gap-1",
6798
+ context: {
6799
+ notification: props.notification
6800
+ }
6801
+ });
6802
+ _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
6803
+ _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
6804
+ _v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
6805
+ _v$4 !== _p$.o && web.className(_el$4, _p$.o = _v$4);
6806
+ _v$5 !== _p$.i && web.className(_el$5, _p$.i = _v$5);
5998
6807
  return _p$;
5999
6808
  }, {
6000
6809
  e: void 0,
@@ -6019,12 +6828,21 @@ var Notification = (props) => {
6019
6828
  get notification() {
6020
6829
  return props.notification;
6021
6830
  },
6831
+ get renderAvatar() {
6832
+ return props.renderAvatar;
6833
+ },
6022
6834
  get renderSubject() {
6023
6835
  return props.renderSubject;
6024
6836
  },
6025
6837
  get renderBody() {
6026
6838
  return props.renderBody;
6027
6839
  },
6840
+ get renderDefaultActions() {
6841
+ return props.renderDefaultActions;
6842
+ },
6843
+ get renderCustomActions() {
6844
+ return props.renderCustomActions;
6845
+ },
6028
6846
  get onNotificationClick() {
6029
6847
  return props.onNotificationClick;
6030
6848
  },
@@ -6080,7 +6898,7 @@ function Key(props) {
6080
6898
 
6081
6899
  // src/ui/components/Notification/NotificationListSkeleton.tsx
6082
6900
  var _tmpl$69 = /* @__PURE__ */ web.template(`<div>`);
6083
- var _tmpl$219 = /* @__PURE__ */ web.template(`<p data-localization=notifications.emptyNotice>`);
6901
+ var _tmpl$220 = /* @__PURE__ */ web.template(`<p data-localization=notifications.emptyNotice>`);
6084
6902
  var _tmpl$312 = /* @__PURE__ */ web.template(`<div><p>Trigger your notification. No setup needed.</p><p>Temporary &lt;Inbox />, data will expire in 24h. Connect API key to persists messages, enable
6085
6903
  preferences, and connect email.</p><div><div>`);
6086
6904
  var NotificationListSkeleton = (props) => {
@@ -6105,7 +6923,10 @@ var NotificationListSkeleton = (props) => {
6105
6923
  delay: 0.3
6106
6924
  },
6107
6925
  get ["class"]() {
6108
- return style("notificationList__skeleton", "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4");
6926
+ return style({
6927
+ key: "notificationList__skeleton",
6928
+ className: "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4"
6929
+ });
6109
6930
  },
6110
6931
  get children() {
6111
6932
  return [web.memo(() => Array.from({
@@ -6124,7 +6945,10 @@ var NotificationListSkeleton = (props) => {
6124
6945
  easing: "ease-in-out"
6125
6946
  },
6126
6947
  get ["class"]() {
6127
- return style("notificationList__skeletonContent", "nt-flex nt-border-neutral-alpha-50 nt-items-center nt-gap-3 nt-p-3 nt-bg-neutral-alpha-25");
6948
+ return style({
6949
+ key: "notificationList__skeletonContent",
6950
+ className: "nt-flex nt-border-neutral-alpha-50 nt-items-center nt-gap-3 nt-p-3 nt-bg-neutral-alpha-25"
6951
+ });
6128
6952
  },
6129
6953
  get children() {
6130
6954
  return [web.createComponent(SkeletonAvatar, {
@@ -6140,13 +6964,19 @@ var NotificationListSkeleton = (props) => {
6140
6964
  appearanceKey: "notificationList__skeletonText",
6141
6965
  "class": "nt-h-2 nt-w-2/3 nt-bg-neutral-alpha-50 nt-rounded"
6142
6966
  }), null);
6143
- web.effect(() => web.className(_el$3, style("notificationList__skeletonItem", "nt-flex nt-flex-col nt-gap-2 nt-flex-1")));
6967
+ web.effect(() => web.className(_el$3, style({
6968
+ key: "notificationList__skeletonItem",
6969
+ className: "nt-flex nt-flex-col nt-gap-2 nt-flex-1"
6970
+ })));
6144
6971
  return _el$3;
6145
6972
  })()];
6146
6973
  }
6147
6974
  }))), (() => {
6148
6975
  var _el$2 = _tmpl$69();
6149
- web.effect(() => web.className(_el$2, style("notificationListEmptyNoticeOverlay", "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background")));
6976
+ web.effect(() => web.className(_el$2, style({
6977
+ key: "notificationListEmptyNoticeOverlay",
6978
+ className: "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background"
6979
+ })));
6150
6980
  return _el$2;
6151
6981
  })()];
6152
6982
  }
@@ -6175,11 +7005,14 @@ var NotificationListSkeleton = (props) => {
6175
7005
  delay: 0.6
6176
7006
  },
6177
7007
  get ["class"]() {
6178
- return style("notificationListEmptyNotice", "nt-text-center");
7008
+ return style({
7009
+ key: "notificationListEmptyNotice",
7010
+ className: "nt-text-center"
7011
+ });
6179
7012
  },
6180
7013
  get children() {
6181
7014
  return web.memo(() => !!isKeyless())() ? web.createComponent(KeylessEmptyState, {}) : (() => {
6182
- var _el$4 = _tmpl$219();
7015
+ var _el$4 = _tmpl$220();
6183
7016
  web.insert(_el$4, () => t("notifications.emptyNotice"));
6184
7017
  return _el$4;
6185
7018
  })();
@@ -6187,7 +7020,10 @@ var NotificationListSkeleton = (props) => {
6187
7020
  });
6188
7021
  }
6189
7022
  }), null);
6190
- web.effect(() => web.className(_el$, style("notificationListEmptyNoticeContainer", "nt-flex nt-flex-col nt-items-center nt-h-fit nt-w-full nt-text-sm nt-text-foreground-alpha-400 nt-text-center")));
7023
+ web.effect(() => web.className(_el$, style({
7024
+ key: "notificationListEmptyNoticeContainer",
7025
+ className: "nt-flex nt-flex-col nt-items-center nt-h-fit nt-w-full nt-text-sm nt-text-foreground-alpha-400 nt-text-center"
7026
+ })));
6191
7027
  return _el$;
6192
7028
  })();
6193
7029
  };
@@ -6200,13 +7036,19 @@ function KeylessEmptyState() {
6200
7036
  variant: "secondary",
6201
7037
  size: "sm",
6202
7038
  get ["class"]() {
6203
- return style("notificationListEmptyNotice", "nt-h-8 nt-px-4 nt-flex nt-items-center nt-justify-center nt-gap-2 nt-bg-white nt-border nt-border-neutral-alpha-100 nt-shadow-sm nt-text-[12px] nt-font-medium");
7039
+ return style({
7040
+ key: "notificationListEmptyNotice",
7041
+ className: "nt-h-8 nt-px-4 nt-flex nt-items-center nt-justify-center nt-gap-2 nt-bg-white nt-border nt-border-neutral-alpha-100 nt-shadow-sm nt-text-[12px] nt-font-medium"
7042
+ });
6204
7043
  },
6205
7044
  onClick: () => window.open("https://go.novu.co/keyless", "_blank", "noopener noreferrer"),
6206
7045
  get children() {
6207
7046
  return [web.createComponent(Key, {
6208
7047
  get ["class"]() {
6209
- return style("lockIcon", "nt-size-4 nt-mr-2");
7048
+ return style({
7049
+ key: "lockIcon",
7050
+ className: "nt-size-4 nt-mr-2"
7051
+ });
6210
7052
  }
6211
7053
  }), "Get API key"];
6212
7054
  }
@@ -6215,19 +7057,37 @@ function KeylessEmptyState() {
6215
7057
  variant: "default",
6216
7058
  size: "sm",
6217
7059
  get ["class"]() {
6218
- return style("notificationListEmptyNotice", "nt-h-8 nt-px-4 nt-flex nt-items-center nt-justify-center nt-gap-2 nt-bg-neutral-900 nt-text-white nt-shadow-sm nt-text-[12px] nt-font-medium");
7060
+ return style({
7061
+ key: "notificationListEmptyNotice",
7062
+ className: "nt-h-8 nt-px-4 nt-flex nt-items-center nt-justify-center nt-gap-2 nt-bg-neutral-900 nt-text-white nt-shadow-sm nt-text-[12px] nt-font-medium"
7063
+ });
6219
7064
  },
6220
7065
  onClick: () => novu.notifications.triggerHelloWorldEvent(),
6221
7066
  get children() {
6222
7067
  return [web.createComponent(Bell, {
6223
7068
  get ["class"]() {
6224
- return style("bellIcon", "nt-size-4 nt-mr-2");
7069
+ return style({
7070
+ key: "bellIcon",
7071
+ className: "nt-size-4 nt-mr-2"
7072
+ });
6225
7073
  }
6226
7074
  }), "Send 'Hello World!'"];
6227
7075
  }
6228
7076
  }));
6229
7077
  web.effect((_p$) => {
6230
- var _v$ = style("notificationListEmptyNotice", "nt--mt-[50px]"), _v$2 = style("strong", "nt-text-[#000000] nt-mb-1"), _v$3 = style("notificationListEmptyNotice", "nt-mb-4"), _v$4 = style("notificationListEmptyNotice", "nt-flex nt-gap-4 nt-justify-center");
7078
+ var _v$ = style({
7079
+ key: "notificationListEmptyNotice",
7080
+ className: "nt--mt-[50px]"
7081
+ }), _v$2 = style({
7082
+ key: "strong",
7083
+ className: "nt-text-[#000000] nt-mb-1"
7084
+ }), _v$3 = style({
7085
+ key: "notificationListEmptyNotice",
7086
+ className: "nt-mb-4"
7087
+ }), _v$4 = style({
7088
+ key: "notificationListEmptyNotice",
7089
+ className: "nt-flex nt-gap-4 nt-justify-center"
7090
+ });
6231
7091
  _v$ !== _p$.e && web.className(_el$5, _p$.e = _v$);
6232
7092
  _v$2 !== _p$.t && web.className(_el$6, _p$.t = _v$2);
6233
7093
  _v$3 !== _p$.a && web.className(_el$7, _p$.a = _v$3);
@@ -6245,9 +7105,9 @@ function KeylessEmptyState() {
6245
7105
 
6246
7106
  // src/ui/components/Notification/NotificationList.tsx
6247
7107
  var _tmpl$70 = /* @__PURE__ */ web.template(`<div>`);
6248
- var _tmpl$220 = /* @__PURE__ */ web.template(`<div><div>`);
7108
+ var _tmpl$221 = /* @__PURE__ */ web.template(`<div><div>`);
6249
7109
  var NotificationList = (props) => {
6250
- var _a, _b, _c, _d;
7110
+ var _a, _b, _c, _d, _e;
6251
7111
  const options = solidJs.createMemo(() => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, props.filter), {
6252
7112
  limit: props.limit
6253
7113
  }));
@@ -6267,7 +7127,8 @@ var NotificationList = (props) => {
6267
7127
  } = useNewMessagesCount({
6268
7128
  filter: {
6269
7129
  tags: (_b = (_a = props.filter) == null ? void 0 : _a.tags) != null ? _b : [],
6270
- data: (_d = (_c = props.filter) == null ? void 0 : _c.data) != null ? _d : {}
7130
+ data: (_d = (_c = props.filter) == null ? void 0 : _c.data) != null ? _d : {},
7131
+ severity: (_e = props.filter) == null ? void 0 : _e.severity
6271
7132
  }
6272
7133
  });
6273
7134
  const {
@@ -6293,7 +7154,7 @@ var NotificationList = (props) => {
6293
7154
  });
6294
7155
  });
6295
7156
  return (() => {
6296
- var _el$ = _tmpl$220(), _el$2 = _el$.firstChild;
7157
+ var _el$ = _tmpl$221(), _el$2 = _el$.firstChild;
6297
7158
  web.insert(_el$, web.createComponent(NewMessagesCta, {
6298
7159
  get count() {
6299
7160
  return count();
@@ -6352,12 +7213,21 @@ var NotificationList = (props) => {
6352
7213
  get renderNotification() {
6353
7214
  return props.renderNotification;
6354
7215
  },
7216
+ get renderAvatar() {
7217
+ return props.renderAvatar;
7218
+ },
6355
7219
  get renderSubject() {
6356
7220
  return props.renderSubject;
6357
7221
  },
6358
7222
  get renderBody() {
6359
7223
  return props.renderBody;
6360
7224
  },
7225
+ get renderDefaultActions() {
7226
+ return props.renderDefaultActions;
7227
+ },
7228
+ get renderCustomActions() {
7229
+ return props.renderCustomActions;
7230
+ },
6361
7231
  get onNotificationClick() {
6362
7232
  return props.onNotificationClick;
6363
7233
  },
@@ -6387,7 +7257,19 @@ var NotificationList = (props) => {
6387
7257
  }
6388
7258
  }));
6389
7259
  web.effect((_p$) => {
6390
- var _v$ = style("notificationListContainer", "nt-relative nt-border-t nt-border-t-neutral-alpha-200 nt-h-full nt-overflow-hidden"), _v$2 = style("notificationList", "nt-relative nt-h-full nt-flex nt-flex-col nt-overflow-y-auto");
7260
+ var _v$ = style({
7261
+ key: "notificationListContainer",
7262
+ className: "nt-relative nt-border-t nt-border-t-neutral-alpha-200 nt-h-full nt-overflow-hidden",
7263
+ context: {
7264
+ notifications: data()
7265
+ }
7266
+ }), _v$2 = style({
7267
+ key: "notificationList",
7268
+ className: "nt-relative nt-h-full nt-flex nt-flex-col nt-overflow-y-auto",
7269
+ context: {
7270
+ notifications: data()
7271
+ }
7272
+ });
6391
7273
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
6392
7274
  _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
6393
7275
  return _p$;
@@ -6406,20 +7288,24 @@ var InboxTabUnreadNotificationsCount = (props) => {
6406
7288
  return (() => {
6407
7289
  var _el$ = _tmpl$71();
6408
7290
  web.insert(_el$, displayCount);
6409
- web.effect(() => web.className(_el$, style("notificationsTabsTriggerCount", "nt-rounded-full nt-bg-counter nt-px-[6px] nt-text-counter-foreground nt-text-sm")));
7291
+ web.effect(() => web.className(_el$, style({
7292
+ key: "notificationsTabsTriggerCount",
7293
+ className: "nt-rounded-full nt-bg-counter nt-px-[6px] nt-text-counter-foreground nt-text-sm"
7294
+ })));
6410
7295
  return _el$;
6411
7296
  })();
6412
7297
  };
6413
7298
  var InboxTab = (props) => {
6414
- var _a;
7299
+ var _a, _b;
6415
7300
  const {
6416
7301
  status
6417
7302
  } = useInboxContext();
6418
7303
  const style = useStyle();
6419
- const unreadCount = useUnreadCount({
7304
+ const unreadCount = useFilteredUnreadCount({
6420
7305
  filter: {
6421
7306
  tags: getTagsFromTab(props),
6422
- data: (_a = props.filter) == null ? void 0 : _a.data
7307
+ data: (_a = props.filter) == null ? void 0 : _a.data,
7308
+ severity: (_b = props.filter) == null ? void 0 : _b.severity
6423
7309
  }
6424
7310
  });
6425
7311
  return web.createComponent(Tabs.Trigger, {
@@ -6427,13 +7313,19 @@ var InboxTab = (props) => {
6427
7313
  return props.label;
6428
7314
  },
6429
7315
  get ["class"]() {
6430
- return style("notificationsTabs__tabsTrigger", cn(tabsTriggerVariants(), "nt-flex nt-gap-2", props.class));
7316
+ return style({
7317
+ key: "notificationsTabs__tabsTrigger",
7318
+ className: cn(tabsTriggerVariants(), "nt-flex nt-gap-2", props.class)
7319
+ });
6431
7320
  },
6432
7321
  get children() {
6433
7322
  return [(() => {
6434
7323
  var _el$2 = _tmpl$71();
6435
7324
  web.insert(_el$2, () => props.label);
6436
- web.effect(() => web.className(_el$2, style("notificationsTabsTriggerLabel", "nt-text-sm nt-font-medium")));
7325
+ web.effect(() => web.className(_el$2, style({
7326
+ key: "notificationsTabsTriggerLabel",
7327
+ className: "nt-text-sm nt-font-medium"
7328
+ })));
6437
7329
  return _el$2;
6438
7330
  })(), web.createComponent(solidJs.Show, {
6439
7331
  get when() {
@@ -6451,20 +7343,24 @@ var InboxTab = (props) => {
6451
7343
  });
6452
7344
  };
6453
7345
  var InboxDropdownTab = (props) => {
6454
- var _a;
7346
+ var _a, _b;
6455
7347
  const {
6456
7348
  status
6457
7349
  } = useInboxContext();
6458
7350
  const style = useStyle();
6459
- const unreadCount = useUnreadCount({
7351
+ const unreadCount = useFilteredUnreadCount({
6460
7352
  filter: {
6461
7353
  tags: getTagsFromTab(props),
6462
- data: (_a = props.filter) == null ? void 0 : _a.data
7354
+ data: (_a = props.filter) == null ? void 0 : _a.data,
7355
+ severity: (_b = props.filter) == null ? void 0 : _b.severity
6463
7356
  }
6464
7357
  });
6465
7358
  return web.createComponent(Dropdown.Item, {
6466
7359
  get ["class"]() {
6467
- return style("moreTabs__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-justify-between nt-gap-2"));
7360
+ return style({
7361
+ key: "moreTabs__dropdownItem",
7362
+ className: cn(dropdownItemVariants(), "nt-flex nt-justify-between nt-gap-2")
7363
+ });
6468
7364
  },
6469
7365
  get onClick() {
6470
7366
  return props.onClick;
@@ -6473,7 +7369,10 @@ var InboxDropdownTab = (props) => {
6473
7369
  return [(() => {
6474
7370
  var _el$3 = _tmpl$71();
6475
7371
  web.insert(_el$3, () => props.label);
6476
- web.effect(() => web.className(_el$3, style("moreTabs__dropdownItemLabel", "nt-mr-auto")));
7372
+ web.effect(() => web.className(_el$3, style({
7373
+ key: "moreTabs__dropdownItemLabel",
7374
+ className: "nt-mr-auto"
7375
+ })));
6477
7376
  return _el$3;
6478
7377
  })(), web.memo(() => props.rightIcon), web.createComponent(solidJs.Show, {
6479
7378
  get when() {
@@ -6517,7 +7416,9 @@ var InboxTabs = (props) => {
6517
7416
  };
6518
7417
  })
6519
7418
  });
6520
- const checkIconClass = style("moreTabs__dropdownItemRight__icon", "nt-size-3", {
7419
+ const checkIconClass = style({
7420
+ key: "moreTabs__dropdownItemRight__icon",
7421
+ className: "nt-size-3",
6521
7422
  iconKey: "check"
6522
7423
  });
6523
7424
  const options = solidJs.createMemo(() => dropdownTabs().map((tab) => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, tab), {
@@ -6533,7 +7434,9 @@ var InboxTabs = (props) => {
6533
7434
  })));
6534
7435
  const dropdownTabsUnreadSum = solidJs.createMemo(() => dropdownTabsUnreadCounts().reduce((accumulator, currentValue) => accumulator + currentValue, 0));
6535
7436
  const isTabsDropdownActive = solidJs.createMemo(() => dropdownTabs().map((tab) => tab.label).includes(activeTab()));
6536
- const moreTabsIconClass = style("moreTabs__icon", "nt-size-5", {
7437
+ const moreTabsIconClass = style({
7438
+ key: "moreTabs__icon",
7439
+ className: "nt-size-5",
6537
7440
  iconKey: "arrowDown"
6538
7441
  });
6539
7442
  return web.createComponent(Tabs.Root, {
@@ -6635,19 +7538,31 @@ var InboxTabs = (props) => {
6635
7538
  return tab.label;
6636
7539
  },
6637
7540
  get ["class"]() {
6638
- return style("notificationsTabs__tabsContent", cn(activeTab() === tab.label ? "nt-block" : "nt-hidden", "nt-overflow-auto nt-flex-1 nt-flex nt-flex-col nt-min-h-0"));
7541
+ return style({
7542
+ key: "notificationsTabs__tabsContent",
7543
+ className: cn(activeTab() === tab.label ? "nt-block" : "nt-hidden", "nt-overflow-auto nt-flex-1 nt-flex nt-flex-col nt-min-h-0")
7544
+ });
6639
7545
  },
6640
7546
  get children() {
6641
7547
  return web.createComponent(NotificationList, {
6642
7548
  get renderNotification() {
6643
7549
  return props.renderNotification;
6644
7550
  },
7551
+ get renderAvatar() {
7552
+ return props.renderAvatar;
7553
+ },
6645
7554
  get renderSubject() {
6646
7555
  return props.renderSubject;
6647
7556
  },
6648
7557
  get renderBody() {
6649
7558
  return props.renderBody;
6650
7559
  },
7560
+ get renderDefaultActions() {
7561
+ return props.renderDefaultActions;
7562
+ },
7563
+ get renderCustomActions() {
7564
+ return props.renderCustomActions;
7565
+ },
6651
7566
  get onNotificationClick() {
6652
7567
  return props.onNotificationClick;
6653
7568
  },
@@ -6658,10 +7573,11 @@ var InboxTabs = (props) => {
6658
7573
  return props.onSecondaryActionClick;
6659
7574
  },
6660
7575
  get filter() {
6661
- var _a;
7576
+ var _a, _b;
6662
7577
  return chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, filter()), {
6663
7578
  tags: getTagsFromTab(tab),
6664
- data: (_a = tab.filter) == null ? void 0 : _a.data
7579
+ data: (_a = tab.filter) == null ? void 0 : _a.data,
7580
+ severity: (_b = tab.filter) == null ? void 0 : _b.severity
6665
7581
  });
6666
7582
  }
6667
7583
  });
@@ -6719,12 +7635,21 @@ var InboxContent = (props) => {
6719
7635
  get renderNotification() {
6720
7636
  return props.renderNotification;
6721
7637
  },
7638
+ get renderAvatar() {
7639
+ return props.renderAvatar;
7640
+ },
6722
7641
  get renderSubject() {
6723
7642
  return props.renderSubject;
6724
7643
  },
6725
7644
  get renderBody() {
6726
7645
  return props.renderBody;
6727
7646
  },
7647
+ get renderDefaultActions() {
7648
+ return props.renderDefaultActions;
7649
+ },
7650
+ get renderCustomActions() {
7651
+ return props.renderCustomActions;
7652
+ },
6728
7653
  get onNotificationClick() {
6729
7654
  return props.onNotificationClick;
6730
7655
  },
@@ -6744,12 +7669,21 @@ var InboxContent = (props) => {
6744
7669
  get renderNotification() {
6745
7670
  return props.renderNotification;
6746
7671
  },
7672
+ get renderAvatar() {
7673
+ return props.renderAvatar;
7674
+ },
6747
7675
  get renderSubject() {
6748
7676
  return props.renderSubject;
6749
7677
  },
6750
7678
  get renderBody() {
6751
7679
  return props.renderBody;
6752
7680
  },
7681
+ get renderDefaultActions() {
7682
+ return props.renderDefaultActions;
7683
+ },
7684
+ get renderCustomActions() {
7685
+ return props.renderCustomActions;
7686
+ },
6753
7687
  get onNotificationClick() {
6754
7688
  return props.onNotificationClick;
6755
7689
  },
@@ -6781,10 +7715,13 @@ var InboxContent = (props) => {
6781
7715
  }
6782
7716
  }), null);
6783
7717
  web.insert(_el$, web.createComponent(Footer, {}), null);
6784
- web.effect(() => web.className(_el$, style("inboxContent", cn("nt-h-full nt-flex nt-flex-col [&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8", {
6785
- "[&_.nv-preferencesContainer]:nt-pb-12 [&_.nv-notificationList]:nt-pb-12": isDevelopmentMode(),
6786
- "[&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8": !isDevelopmentMode()
6787
- }))));
7718
+ web.effect(() => web.className(_el$, style({
7719
+ key: "inboxContent",
7720
+ className: cn("nt-h-full nt-flex nt-flex-col [&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8", {
7721
+ "[&_.nv-preferencesContainer]:nt-pb-12 [&_.nv-notificationList]:nt-pb-12": isDevelopmentMode(),
7722
+ "[&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8": !isDevelopmentMode()
7723
+ })
7724
+ })));
6788
7725
  return _el$;
6789
7726
  })();
6790
7727
  };
@@ -6813,7 +7750,9 @@ var Inbox = (props) => {
6813
7750
  return [web.createComponent(Popover.Trigger, {
6814
7751
  asChild: (triggerProps) => web.createComponent(Button, web.mergeProps({
6815
7752
  get ["class"]() {
6816
- return style("inbox__popoverTrigger");
7753
+ return style({
7754
+ key: "inbox__popoverTrigger"
7755
+ });
6817
7756
  },
6818
7757
  variant: "ghost",
6819
7758
  size: "icon"
@@ -6836,12 +7775,21 @@ var Inbox = (props) => {
6836
7775
  },
6837
7776
  get fallback() {
6838
7777
  return web.createComponent(InboxContent, {
7778
+ get renderAvatar() {
7779
+ return props.renderAvatar;
7780
+ },
6839
7781
  get renderSubject() {
6840
7782
  return props.renderSubject;
6841
7783
  },
6842
7784
  get renderBody() {
6843
7785
  return props.renderBody;
6844
7786
  },
7787
+ get renderDefaultActions() {
7788
+ return props.renderDefaultActions;
7789
+ },
7790
+ get renderCustomActions() {
7791
+ return props.renderCustomActions;
7792
+ },
6845
7793
  get onNotificationClick() {
6846
7794
  return props.onNotificationClick;
6847
7795
  },
@@ -6883,11 +7831,14 @@ var novuComponents = {
6883
7831
  Bell: Bell2,
6884
7832
  Notifications: (props) => {
6885
7833
  if (props.renderNotification) {
6886
- const _a = props, propsWithoutBodyAndSubject = chunk7B52C2XE_js.__objRest(_a, [
7834
+ const _a = props, otherProps = chunk7B52C2XE_js.__objRest(_a, [
6887
7835
  "renderBody",
6888
- "renderSubject"
7836
+ "renderSubject",
7837
+ "renderAvatar",
7838
+ "renderDefaultActions",
7839
+ "renderCustomActions"
6889
7840
  ]);
6890
- return web.createComponent(InboxContent, web.mergeProps(propsWithoutBodyAndSubject, {
7841
+ return web.createComponent(InboxContent, web.mergeProps(otherProps, {
6891
7842
  hideNav: true,
6892
7843
  get initialPage() {
6893
7844
  return InboxPage.Notifications;
@@ -6906,11 +7857,14 @@ var novuComponents = {
6906
7857
  },
6907
7858
  Preferences: (props) => {
6908
7859
  if (props.renderNotification) {
6909
- const _a = props, propsWithoutBodyAndSubject = chunk7B52C2XE_js.__objRest(_a, [
7860
+ const _a = props, otherProps = chunk7B52C2XE_js.__objRest(_a, [
6910
7861
  "renderBody",
6911
- "renderSubject"
7862
+ "renderSubject",
7863
+ "renderAvatar",
7864
+ "renderDefaultActions",
7865
+ "renderCustomActions"
6912
7866
  ]);
6913
- return web.createComponent(InboxContent, web.mergeProps(propsWithoutBodyAndSubject, {
7867
+ return web.createComponent(InboxContent, web.mergeProps(otherProps, {
6914
7868
  hideNav: true,
6915
7869
  get initialPage() {
6916
7870
  return InboxPage.Preferences;