@novu/js 3.8.1 → 3.9.1

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 chunkTAYTG4H3_js = require('../chunk-TAYTG4H3.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
+ // _0emab6gc0:/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 chunkTAYTG4H3_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 = chunkTAYTG4H3_js.checkNotificationTagFilter(notification.tags, tabTags);
1532
+ const matchesDataFilterCriteria = chunkTAYTG4H3_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 (chunkTAYTG4H3_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}/${chunkTAYTG4H3_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 || !chunkTAYTG4H3_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 (chunkTAYTG4H3_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 }) {
3549
3763
  try {
3550
- const response = yield novu.preferences.list({ tags });
3764
+ const response = yield novu.preferences.list({ tags, severity });
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,7 +4340,13 @@ 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, {
@@ -4071,7 +4356,42 @@ var ChannelRow = (props) => {
4071
4356
  onChange: (newState) => onChange(newState === "enabled")
4072
4357
  }));
4073
4358
  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");
4359
+ var _v$ = style({
4360
+ key: "channelContainer",
4361
+ className: "nt-flex nt-justify-between nt-items-center nt-gap-2 data-[disabled=true]:nt-text-foreground-alpha-600",
4362
+ context: {
4363
+ preference: props.preference,
4364
+ preferenceGroup: props.preferenceGroup
4365
+ }
4366
+ }), _v$2 = style({
4367
+ key: "channelLabelContainer",
4368
+ className: "nt-flex nt-items-center nt-gap-2 nt-text-foreground",
4369
+ context: {
4370
+ preference: props.preference,
4371
+ preferenceGroup: props.preferenceGroup
4372
+ }
4373
+ }), _v$3 = style({
4374
+ key: "channelIconContainer",
4375
+ className: "nt-p-1 nt-rounded-md nt-bg-neutral-alpha-25 nt-text-foreground-alpha-300",
4376
+ context: {
4377
+ preference: props.preference,
4378
+ preferenceGroup: props.preferenceGroup
4379
+ }
4380
+ }), _v$4 = style({
4381
+ key: "channelLabel",
4382
+ className: "nt-text-sm nt-font-semibold",
4383
+ context: {
4384
+ preference: props.preference,
4385
+ preferenceGroup: props.preferenceGroup
4386
+ }
4387
+ }), _v$5 = style({
4388
+ key: "channelSwitchContainer",
4389
+ className: "nt-flex nt-items-center",
4390
+ context: {
4391
+ preference: props.preference,
4392
+ preferenceGroup: props.preferenceGroup
4393
+ }
4394
+ });
4075
4395
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
4076
4396
  _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
4077
4397
  _v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
@@ -4095,8 +4415,14 @@ var ChannelIcon = (props) => {
4095
4415
  key: "inApp",
4096
4416
  component: web.createComponent(InApp, {
4097
4417
  get ["class"]() {
4098
- return style(props.appearanceKey, props.class, {
4099
- iconKey: "inApp"
4418
+ return style({
4419
+ key: props.appearanceKey,
4420
+ className: props.class,
4421
+ iconKey: "inApp",
4422
+ context: {
4423
+ preference: props.preference,
4424
+ preferenceGroup: props.preferenceGroup
4425
+ }
4100
4426
  });
4101
4427
  }
4102
4428
  })
@@ -4105,8 +4431,14 @@ var ChannelIcon = (props) => {
4105
4431
  key: "email",
4106
4432
  component: web.createComponent(Email, {
4107
4433
  get ["class"]() {
4108
- return style(props.appearanceKey, props.class, {
4109
- iconKey: "email"
4434
+ return style({
4435
+ key: props.appearanceKey,
4436
+ className: props.class,
4437
+ iconKey: "email",
4438
+ context: {
4439
+ preference: props.preference,
4440
+ preferenceGroup: props.preferenceGroup
4441
+ }
4110
4442
  });
4111
4443
  }
4112
4444
  })
@@ -4115,8 +4447,14 @@ var ChannelIcon = (props) => {
4115
4447
  key: "push",
4116
4448
  component: web.createComponent(Push, {
4117
4449
  get ["class"]() {
4118
- return style(props.appearanceKey, props.class, {
4119
- iconKey: "push"
4450
+ return style({
4451
+ key: props.appearanceKey,
4452
+ className: props.class,
4453
+ iconKey: "push",
4454
+ context: {
4455
+ preference: props.preference,
4456
+ preferenceGroup: props.preferenceGroup
4457
+ }
4120
4458
  });
4121
4459
  }
4122
4460
  })
@@ -4125,8 +4463,14 @@ var ChannelIcon = (props) => {
4125
4463
  key: "sms",
4126
4464
  component: web.createComponent(Sms, {
4127
4465
  get ["class"]() {
4128
- return style(props.appearanceKey, props.class, {
4129
- iconKey: "sms"
4466
+ return style({
4467
+ key: props.appearanceKey,
4468
+ className: props.class,
4469
+ iconKey: "sms",
4470
+ context: {
4471
+ preference: props.preference,
4472
+ preferenceGroup: props.preferenceGroup
4473
+ }
4130
4474
  });
4131
4475
  }
4132
4476
  })
@@ -4135,8 +4479,14 @@ var ChannelIcon = (props) => {
4135
4479
  key: "chat",
4136
4480
  component: web.createComponent(Chat, {
4137
4481
  get ["class"]() {
4138
- return style(props.appearanceKey, props.class, {
4139
- iconKey: "chat"
4482
+ return style({
4483
+ key: props.appearanceKey,
4484
+ className: props.class,
4485
+ iconKey: "chat",
4486
+ context: {
4487
+ preference: props.preference,
4488
+ preferenceGroup: props.preferenceGroup
4489
+ }
4140
4490
  });
4141
4491
  }
4142
4492
  })
@@ -4154,8 +4504,13 @@ var ChannelIcon = (props) => {
4154
4504
  return iconData.component;
4155
4505
  },
4156
4506
  get ["class"]() {
4157
- return style(props.appearanceKey, props.class, {
4158
- iconKey: iconData.key
4507
+ return style({
4508
+ key: props.appearanceKey,
4509
+ className: props.class,
4510
+ iconKey: iconData.key,
4511
+ context: {
4512
+ preference: props.preference
4513
+ }
4159
4514
  });
4160
4515
  }
4161
4516
  });
@@ -4179,7 +4534,7 @@ var getLabel = (channel) => {
4179
4534
 
4180
4535
  // src/ui/components/elements/Preferences/PreferencesRow.tsx
4181
4536
  var _tmpl$53 = /* @__PURE__ */ web.template(`<div>`);
4182
- var _tmpl$214 = /* @__PURE__ */ web.template(`<div><div><div><div><span></span></div></div><span>`);
4537
+ var _tmpl$215 = /* @__PURE__ */ web.template(`<div><div><div><div><span></span></div></div><span>`);
4183
4538
  var _tmpl$310 = /* @__PURE__ */ web.template(`<span>`);
4184
4539
  var iconKeyToComponentMap2 = {
4185
4540
  cogs: Cogs,
@@ -4201,19 +4556,13 @@ var PreferencesRow = (props) => {
4201
4556
  };
4202
4557
  });
4203
4558
  });
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
4559
  const DefaultIconComponent = iconKeyToComponentMap2[props.iconKey];
4211
4560
  return web.createComponent(solidJs.Show, {
4212
4561
  get when() {
4213
4562
  return channels().length > 0;
4214
4563
  },
4215
4564
  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;
4565
+ 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
4566
  _el$2.$$click = () => {
4218
4567
  setIsOpenChannels((prev) => !prev);
4219
4568
  };
@@ -4221,10 +4570,26 @@ var PreferencesRow = (props) => {
4221
4570
  get iconKey() {
4222
4571
  return props.iconKey;
4223
4572
  },
4224
- "class": iconClass,
4573
+ get ["class"]() {
4574
+ return style({
4575
+ key: "workflowLabelIcon",
4576
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4577
+ iconKey: "cogs",
4578
+ context: {
4579
+ preference: props.preference
4580
+ }
4581
+ });
4582
+ },
4225
4583
  get fallback() {
4226
4584
  return DefaultIconComponent && DefaultIconComponent({
4227
- class: iconClass
4585
+ class: style({
4586
+ key: "workflowLabelIcon",
4587
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4588
+ iconKey: "cogs",
4589
+ context: {
4590
+ preference: props.preference
4591
+ }
4592
+ })
4228
4593
  });
4229
4594
  }
4230
4595
  }), _el$5);
@@ -4243,16 +4608,37 @@ var PreferencesRow = (props) => {
4243
4608
  return (_b = (_a = props.preference) == null ? void 0 : _a.channels) != null ? _b : {};
4244
4609
  },
4245
4610
  appearanceKey: "workflowDescription",
4246
- "class": "nt-overflow-hidden"
4611
+ "class": "nt-overflow-hidden",
4612
+ get preference() {
4613
+ return props.preference;
4614
+ }
4247
4615
  });
4248
4616
  }
4249
4617
  }), null);
4250
4618
  web.insert(_el$6, web.createComponent(IconRendererWrapper, {
4251
4619
  iconKey: "arrowDropDown",
4252
- "class": arrowDropDownIconClass,
4620
+ get ["class"]() {
4621
+ return style({
4622
+ key: "workflowArrow__icon",
4623
+ className: "nt-text-foreground-alpha-600 nt-size-4",
4624
+ iconKey: "arrowDropDown",
4625
+ context: {
4626
+ preference: props.preference
4627
+ }
4628
+ });
4629
+ },
4253
4630
  get fallback() {
4254
4631
  return web.createComponent(ArrowDropDown, {
4255
- "class": arrowDropDownIconClass
4632
+ get ["class"]() {
4633
+ return style({
4634
+ key: "workflowArrow__icon",
4635
+ className: "nt-text-foreground-alpha-600 nt-size-4",
4636
+ iconKey: "arrowDropDown",
4637
+ context: {
4638
+ preference: props.preference
4639
+ }
4640
+ });
4641
+ }
4256
4642
  });
4257
4643
  }
4258
4644
  }));
@@ -4277,16 +4663,61 @@ var PreferencesRow = (props) => {
4277
4663
  get onChange() {
4278
4664
  var _a, _b;
4279
4665
  return props.onChange((_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier);
4666
+ },
4667
+ get preference() {
4668
+ return props.preference;
4280
4669
  }
4281
4670
  })
4282
4671
  }));
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")));
4672
+ web.effect(() => web.className(_el$7, style({
4673
+ key: "channelsContainer",
4674
+ 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",
4675
+ context: {
4676
+ preference: props.preference
4677
+ }
4678
+ })));
4284
4679
  return _el$7;
4285
4680
  }
4286
4681
  }), null);
4287
4682
  web.effect((_p$) => {
4288
4683
  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();
4684
+ var _v$ = style({
4685
+ key: "workflowContainer",
4686
+ className: "nt-p-1 nt-bg-neutral-alpha-25 nt-rounded-lg nt-border nt-border-neutral-alpha-50",
4687
+ context: {
4688
+ preference: props.preference
4689
+ }
4690
+ }), _v$2 = isOpenChannels(), _v$3 = style({
4691
+ key: "workflowLabelContainer",
4692
+ className: "nt-flex nt-justify-between nt-p-1 nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center nt-overflow-hidden",
4693
+ context: {
4694
+ preference: props.preference
4695
+ }
4696
+ }), _v$4 = style({
4697
+ key: "workflowLabelHeader",
4698
+ className: "nt-overflow-hidden",
4699
+ context: {
4700
+ preference: props.preference
4701
+ }
4702
+ }), _v$5 = style({
4703
+ key: "workflowLabelHeaderContainer",
4704
+ className: "nt-flex nt-items-center nt-gap-1",
4705
+ context: {
4706
+ preference: props.preference
4707
+ }
4708
+ }), _v$6 = style({
4709
+ key: "workflowLabel",
4710
+ className: "nt-text-sm nt-font-semibold nt-truncate nt-text-start",
4711
+ context: {
4712
+ preference: props.preference
4713
+ }
4714
+ }), _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({
4715
+ key: "workflowContainerRight__icon",
4716
+ className: "nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180",
4717
+ context: {
4718
+ preference: props.preference
4719
+ }
4720
+ }), _v$10 = isOpenChannels();
4290
4721
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
4291
4722
  _v$2 !== _p$.t && web.setAttribute(_el$, "data-open", _p$.t = _v$2);
4292
4723
  _v$3 !== _p$.a && web.className(_el$2, _p$.a = _v$3);
@@ -4325,7 +4756,13 @@ var WorkflowDescription = (props) => {
4325
4756
  var _el$8 = _tmpl$310();
4326
4757
  web.setAttribute(_el$8, "data-disabled", isDisabled);
4327
4758
  web.insert(_el$8, () => getLabel(key));
4328
- web.effect(() => web.className(_el$8, style("channelName", "data-[disabled=true]:nt-text-foreground-alpha-400")));
4759
+ web.effect(() => web.className(_el$8, style({
4760
+ key: "channelName",
4761
+ className: "data-[disabled=true]:nt-text-foreground-alpha-400",
4762
+ context: {
4763
+ preference: props.preference
4764
+ }
4765
+ })));
4329
4766
  return _el$8;
4330
4767
  })();
4331
4768
  channels.push(element);
@@ -4336,7 +4773,10 @@ var WorkflowDescription = (props) => {
4336
4773
  return (() => {
4337
4774
  var _el$9 = _tmpl$53();
4338
4775
  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))));
4776
+ web.effect(() => web.className(_el$9, style({
4777
+ key: props.appearanceKey,
4778
+ className: cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class)
4779
+ })));
4340
4780
  return _el$9;
4341
4781
  })();
4342
4782
  };
@@ -4403,7 +4843,7 @@ var NodeTree = (props) => {
4403
4843
 
4404
4844
  // src/ui/components/elements/Preferences/GroupedPreferencesRow.tsx
4405
4845
  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>`);
4846
+ var _tmpl$216 = /* @__PURE__ */ web.template(`<div><div><div><span></span></div><div><span>`);
4407
4847
  var GroupedPreferencesRow = (props) => {
4408
4848
  const style = useStyle();
4409
4849
  const {
@@ -4460,24 +4900,37 @@ var GroupedPreferencesRow = (props) => {
4460
4900
  props.bulkUpdatePreferences(filteredPreferences)(channels);
4461
4901
  };
4462
4902
  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
4903
  return web.createComponent(solidJs.Show, {
4467
4904
  get when() {
4468
4905
  return Object.keys(uniqueChannels()).length > 0;
4469
4906
  },
4470
4907
  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;
4908
+ 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
4909
  _el$2.$$click = () => {
4473
4910
  setIsOpened((prev) => !prev);
4474
4911
  };
4475
4912
  web.insert(_el$3, web.createComponent(IconRendererWrapper, {
4476
4913
  iconKey: "nodeTree",
4477
- "class": nodeTreeIconClass,
4914
+ get ["class"]() {
4915
+ return style({
4916
+ key: "preferencesGroupLabelIcon",
4917
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4918
+ context: {
4919
+ preferenceGroup: props.group
4920
+ }
4921
+ });
4922
+ },
4478
4923
  get fallback() {
4479
4924
  return web.createComponent(NodeTree, {
4480
- "class": nodeTreeIconClass
4925
+ get ["class"]() {
4926
+ return style({
4927
+ key: "preferencesGroupLabelIcon",
4928
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4929
+ context: {
4930
+ preferenceGroup: props.group
4931
+ }
4932
+ });
4933
+ }
4481
4934
  });
4482
4935
  }
4483
4936
  }), _el$4);
@@ -4490,10 +4943,20 @@ var GroupedPreferencesRow = (props) => {
4490
4943
  }), _el$6);
4491
4944
  web.insert(_el$6, web.createComponent(IconRendererWrapper, {
4492
4945
  iconKey: "arrowDropDown",
4493
- "class": dropdownIconClass,
4946
+ get ["class"]() {
4947
+ return style({
4948
+ key: "moreTabs__icon",
4949
+ className: "nt-size-4"
4950
+ });
4951
+ },
4494
4952
  get fallback() {
4495
4953
  return web.createComponent(ArrowDropDown, {
4496
- "class": dropdownIconClass
4954
+ get ["class"]() {
4955
+ return style({
4956
+ key: "moreTabs__icon",
4957
+ className: "nt-size-4"
4958
+ });
4959
+ }
4497
4960
  });
4498
4961
  }
4499
4962
  }));
@@ -4517,16 +4980,35 @@ var GroupedPreferencesRow = (props) => {
4517
4980
  },
4518
4981
  get onChange() {
4519
4982
  return updatePreferencesForChannel(channel());
4983
+ },
4984
+ get preferenceGroup() {
4985
+ return props.group;
4520
4986
  }
4521
4987
  });
4522
4988
  }
4523
4989
  }), _el$9);
4524
4990
  web.insert(_el$9, web.createComponent(IconRendererWrapper, {
4525
4991
  iconKey: "info",
4526
- "class": infoIconClass,
4992
+ get ["class"]() {
4993
+ return style({
4994
+ key: "preferencesGroupInfoIcon",
4995
+ className: "nt-size-4",
4996
+ context: {
4997
+ preferenceGroup: props.group
4998
+ }
4999
+ });
5000
+ },
4527
5001
  get fallback() {
4528
5002
  return web.createComponent(Info, {
4529
- "class": infoIconClass
5003
+ get ["class"]() {
5004
+ return style({
5005
+ key: "preferencesGroupInfoIcon",
5006
+ className: "nt-size-4",
5007
+ context: {
5008
+ preferenceGroup: props.group
5009
+ }
5010
+ });
5011
+ }
4530
5012
  });
4531
5013
  }
4532
5014
  }), null);
@@ -4544,7 +5026,31 @@ var GroupedPreferencesRow = (props) => {
4544
5026
  })
4545
5027
  }));
4546
5028
  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");
5029
+ var _v$ = style({
5030
+ key: "preferencesGroupBody",
5031
+ className: "nt-flex nt-flex-col nt-gap-1 nt-overflow-hidden",
5032
+ context: {
5033
+ preferenceGroup: props.group
5034
+ }
5035
+ }), _v$2 = style({
5036
+ key: "preferencesGroupChannels",
5037
+ 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",
5038
+ context: {
5039
+ preferenceGroup: props.group
5040
+ }
5041
+ }), _v$3 = style({
5042
+ key: "preferencesGroupInfo",
5043
+ className: "nt-text-sm nt-text-start nt-text-foreground-alpha-400 nt-mt-1 nt-flex nt-items-center nt-gap-1",
5044
+ context: {
5045
+ preferenceGroup: props.group
5046
+ }
5047
+ }), _v$4 = style({
5048
+ key: "preferencesGroupWorkflows",
5049
+ className: "nt-flex nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden",
5050
+ context: {
5051
+ preferenceGroup: props.group
5052
+ }
5053
+ });
4548
5054
  _v$ !== _p$.e && web.className(_el$7, _p$.e = _v$);
4549
5055
  _v$2 !== _p$.t && web.className(_el$8, _p$.t = _v$2);
4550
5056
  _v$3 !== _p$.a && web.className(_el$9, _p$.a = _v$3);
@@ -4560,7 +5066,43 @@ var GroupedPreferencesRow = (props) => {
4560
5066
  }
4561
5067
  }), null);
4562
5068
  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();
5069
+ var _v$5 = style({
5070
+ key: "preferencesGroupContainer",
5071
+ className: "nt-bg-neutral-alpha-25 nt-rounded-lg nt-border nt-border-neutral-alpha-50",
5072
+ context: {
5073
+ preferenceGroup: props.group
5074
+ }
5075
+ }), _v$6 = isOpened(), _v$7 = style({
5076
+ key: "preferencesGroupHeader",
5077
+ className: "nt-flex nt-justify-between nt-p-2 nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center nt-overflow-hidden",
5078
+ context: {
5079
+ preferenceGroup: props.group
5080
+ }
5081
+ }), _v$8 = style({
5082
+ key: "preferencesGroupLabelContainer",
5083
+ className: "nt-overflow-hidden nt-flex nt-items-center nt-gap-1",
5084
+ context: {
5085
+ preferenceGroup: props.group
5086
+ }
5087
+ }), _v$9 = style({
5088
+ key: "preferencesGroupLabel",
5089
+ className: "nt-text-sm nt-font-semibold nt-truncate nt-text-start",
5090
+ context: {
5091
+ preferenceGroup: props.group
5092
+ }
5093
+ }), _v$10 = isOpened(), _v$11 = style({
5094
+ key: "preferencesGroupActionsContainer",
5095
+ className: "nt-flex nt-items-center nt-gap-1",
5096
+ context: {
5097
+ preferenceGroup: props.group
5098
+ }
5099
+ }), _v$12 = style({
5100
+ key: "preferencesGroupActionsContainerRight__icon",
5101
+ className: "nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180",
5102
+ context: {
5103
+ preferenceGroup: props.group
5104
+ }
5105
+ }), _v$13 = isOpened();
4564
5106
  _v$5 !== _p$.e && web.className(_el$, _p$.e = _v$5);
4565
5107
  _v$6 !== _p$.t && web.setAttribute(_el$, "data-open", _p$.t = _v$6);
4566
5108
  _v$7 !== _p$.a && web.className(_el$2, _p$.a = _v$7);
@@ -4628,7 +5170,7 @@ var GroupedPreferences = (props) => {
4628
5170
  // src/ui/components/elements/Preferences/Preferences.tsx
4629
5171
  var _tmpl$57 = /* @__PURE__ */ web.template(`<div>`);
4630
5172
  var Preferences = () => {
4631
- var _a;
5173
+ var _a, _b;
4632
5174
  const novu = useNovu();
4633
5175
  const style = useStyle();
4634
5176
  const {
@@ -4639,12 +5181,13 @@ var Preferences = () => {
4639
5181
  preferences,
4640
5182
  loading
4641
5183
  } = usePreferences({
4642
- tags: (_a = preferencesFilter()) == null ? void 0 : _a.tags
5184
+ tags: (_a = preferencesFilter()) == null ? void 0 : _a.tags,
5185
+ severity: (_b = preferencesFilter()) == null ? void 0 : _b.severity
4643
5186
  });
4644
5187
  const allPreferences = solidJs.createMemo(() => {
4645
- var _a2, _b;
5188
+ var _a2, _b2;
4646
5189
  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 */);
5190
+ const workflowPreferences = (_b2 = preferences()) == null ? void 0 : _b2.filter((preference) => preference.level === "template" /* TEMPLATE */);
4648
5191
  return {
4649
5192
  globalPreference,
4650
5193
  workflowPreferences
@@ -4678,9 +5221,9 @@ var Preferences = () => {
4678
5221
  }));
4679
5222
  });
4680
5223
  const groupedPreferences = solidJs.createMemo(() => {
4681
- var _a2, _b, _c;
5224
+ var _a2, _b2, _c;
4682
5225
  const workflowPreferences = (_a2 = allPreferences().workflowPreferences) != null ? _a2 : [];
4683
- return (_c = (_b = preferenceGroups()) == null ? void 0 : _b.map((group) => {
5226
+ return (_c = (_b2 = preferenceGroups()) == null ? void 0 : _b2.map((group) => {
4684
5227
  const {
4685
5228
  filter
4686
5229
  } = group;
@@ -4697,12 +5240,15 @@ var Preferences = () => {
4697
5240
  return {
4698
5241
  name: group.name,
4699
5242
  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);
5243
+ var _a3, _b3, _c2, _d, _e;
5244
+ const workflowId = ((_a3 = preference.workflow) == null ? void 0 : _a3.id) || ((_b3 = preference.workflow) == null ? void 0 : _b3.identifier);
4702
5245
  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
- }));
5246
+ var _a4, _b4;
5247
+ return (_b4 = (_a4 = preference.workflow) == null ? void 0 : _a4.tags) == null ? void 0 : _b4.includes(tag);
5248
+ })) || Array.isArray(filter.severity) && filter.severity.some((severity) => {
5249
+ var _a4;
5250
+ return ((_a4 = preference.workflow) == null ? void 0 : _a4.severity) === severity;
5251
+ }) || !Array.isArray(filter.severity) && filter.severity === ((_e = preference.workflow) == null ? void 0 : _e.severity);
4706
5252
  })
4707
5253
  };
4708
5254
  }
@@ -4764,7 +5310,14 @@ var Preferences = () => {
4764
5310
  });
4765
5311
  }
4766
5312
  }), 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]")));
5313
+ web.effect(() => web.className(_el$, style({
5314
+ key: "preferencesContainer",
5315
+ 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]",
5316
+ context: {
5317
+ preferences: preferences(),
5318
+ groups: groupedPreferences()
5319
+ }
5320
+ })));
4768
5321
  return _el$;
4769
5322
  })();
4770
5323
  };
@@ -4790,7 +5343,10 @@ var Root = (props) => {
4790
5343
  return `novu-root-${id()}`;
4791
5344
  },
4792
5345
  get ["class"]() {
4793
- return style("root"), cn("novu", id(), "nt-text-foreground nt-h-full [interpolate-size:allow-keywords]");
5346
+ return style({
5347
+ key: "root",
5348
+ className: cn("novu", id(), "nt-text-foreground nt-h-full [interpolate-size:allow-keywords]")
5349
+ });
4794
5350
  }
4795
5351
  }, rest), false, false);
4796
5352
  return _el$;
@@ -4802,7 +5358,9 @@ var PreferencesHeader = (props) => {
4802
5358
  const {
4803
5359
  t
4804
5360
  } = useLocalization();
4805
- const arrowLeftIconClass = style("preferencesHeader__back__button__icon", "nt-size-4", {
5361
+ const arrowLeftIconClass = style({
5362
+ key: "preferencesHeader__back__button__icon",
5363
+ className: "nt-size-4",
4806
5364
  iconKey: "arrowLeft"
4807
5365
  });
4808
5366
  return (() => {
@@ -4834,7 +5392,13 @@ var PreferencesHeader = (props) => {
4834
5392
  }), _el$2);
4835
5393
  web.insert(_el$2, () => t("preferences.title"));
4836
5394
  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");
5395
+ var _v$ = style({
5396
+ key: "preferencesHeader",
5397
+ 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"
5398
+ }), _v$2 = style({
5399
+ key: "preferencesHeader__title",
5400
+ className: "nt-text-base nt-font-medium"
5401
+ });
4838
5402
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
4839
5403
  _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
4840
5404
  return _p$;
@@ -4846,26 +5410,33 @@ var PreferencesHeader = (props) => {
4846
5410
  })();
4847
5411
  };
4848
5412
  var _tmpl$60 = /* @__PURE__ */ web.template(`<strong>`);
4849
- var _tmpl$216 = /* @__PURE__ */ web.template(`<p>`);
5413
+ var _tmpl$217 = /* @__PURE__ */ web.template(`<p>`);
4850
5414
  var Bold = (props) => {
4851
5415
  const style = useStyle();
4852
5416
  return (() => {
4853
5417
  var _el$ = _tmpl$60();
4854
5418
  web.insert(_el$, () => props.children);
4855
- web.effect(() => web.className(_el$, style(props.appearanceKey || "strong", "nt-font-semibold")));
5419
+ web.effect(() => web.className(_el$, style({
5420
+ key: props.appearanceKey || "strong",
5421
+ className: "nt-font-semibold"
5422
+ })));
4856
5423
  return _el$;
4857
5424
  })();
4858
5425
  };
4859
5426
  var Text = (props) => props.children;
4860
5427
  var Markdown = (props) => {
4861
- const [local, rest] = solidJs.splitProps(props, ["class", "children", "appearanceKey", "strongAppearanceKey"]);
5428
+ const [local, rest] = solidJs.splitProps(props, ["class", "children", "appearanceKey", "strongAppearanceKey", "context"]);
4862
5429
  const style = useStyle();
4863
5430
  const tokens = solidJs.createMemo(() => chunkZB7IPCHY_js.parseMarkdownIntoTokens(local.children));
4864
5431
  return (() => {
4865
- var _el$2 = _tmpl$216();
5432
+ var _el$2 = _tmpl$217();
4866
5433
  web.spread(_el$2, web.mergeProps({
4867
5434
  get ["class"]() {
4868
- return style(local.appearanceKey, cn(local.class));
5435
+ return style({
5436
+ key: local.appearanceKey,
5437
+ className: cn(local.class),
5438
+ context: local.context
5439
+ });
4869
5440
  }
4870
5441
  }, rest), false, true);
4871
5442
  web.insert(_el$2, web.createComponent(solidJs.For, {
@@ -4911,7 +5482,7 @@ var badgeVariants = classVarianceAuthority.cva(cn("nt-inline-flex nt-flex-row nt
4911
5482
  }
4912
5483
  });
4913
5484
  var Badge = (props) => {
4914
- const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey"]);
5485
+ const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey", "context"]);
4915
5486
  const style = useStyle();
4916
5487
  return (() => {
4917
5488
  var _el$ = _tmpl$61();
@@ -4923,10 +5494,14 @@ var Badge = (props) => {
4923
5494
  return props.size;
4924
5495
  },
4925
5496
  get ["class"]() {
4926
- return style(local.appearanceKey || "badge", cn(badgeVariants({
4927
- variant: props.variant,
4928
- size: props.size
4929
- }), local.class));
5497
+ return style({
5498
+ key: local.appearanceKey || "badge",
5499
+ className: cn(badgeVariants({
5500
+ variant: props.variant,
5501
+ size: props.size
5502
+ }), local.class),
5503
+ context: local.context
5504
+ });
4930
5505
  }
4931
5506
  }, rest), false, false);
4932
5507
  return _el$;
@@ -4961,10 +5536,13 @@ var Input = (props) => {
4961
5536
  return props.size;
4962
5537
  },
4963
5538
  get ["class"]() {
4964
- return style(local.appearanceKey || "input", cn(inputVariants({
4965
- variant: props.variant,
4966
- size: props.size
4967
- }), local.class));
5539
+ return style({
5540
+ key: local.appearanceKey || "input",
5541
+ className: cn(inputVariants({
5542
+ variant: props.variant,
5543
+ size: props.size
5544
+ }), local.class)
5545
+ });
4968
5546
  }
4969
5547
  }, rest), false, false);
4970
5548
  return _el$;
@@ -5016,7 +5594,10 @@ var TimePicker = (props) => {
5016
5594
  _el$.$$click = (e) => e.stopPropagation();
5017
5595
  web.spread(_el$, web.mergeProps({
5018
5596
  get ["class"]() {
5019
- return style(local.appearanceKey || "timePicker", cn("nt-flex nt-items-center nt-gap-1", local.class));
5597
+ return style({
5598
+ key: local.appearanceKey || "timePicker",
5599
+ className: cn("nt-flex nt-items-center nt-gap-1", local.class)
5600
+ });
5020
5601
  }
5021
5602
  }, rest), false, true);
5022
5603
  web.insert(_el$, web.createComponent(Input, {
@@ -5037,7 +5618,10 @@ var TimePicker = (props) => {
5037
5618
  handleHourChange(Number(e.currentTarget.value));
5038
5619
  },
5039
5620
  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");
5621
+ return style({
5622
+ key: "timePickerHour__input",
5623
+ 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"
5624
+ });
5041
5625
  }
5042
5626
  }), _el$2);
5043
5627
  web.insert(_el$, web.createComponent(Input, {
@@ -5058,7 +5642,10 @@ var TimePicker = (props) => {
5058
5642
  handleMinuteChange(Number(e.currentTarget.value));
5059
5643
  },
5060
5644
  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");
5645
+ return style({
5646
+ key: "timePickerHour__input",
5647
+ 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"
5648
+ });
5062
5649
  }
5063
5650
  }), _el$3);
5064
5651
  _el$3.addEventListener("change", (e) => {
@@ -5067,9 +5654,15 @@ var TimePicker = (props) => {
5067
5654
  });
5068
5655
  _el$3.$$click = (e) => e.stopPropagation();
5069
5656
  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`);
5657
+ var _v$ = style({
5658
+ key: "timePicker__separator",
5659
+ className: "nt-text-xl"
5660
+ }), _v$2 = style({
5661
+ key: "timePicker__periodSelect",
5662
+ className: cn(inputVariants({
5663
+ size: "sm"
5664
+ }), "nt-h-7 nt-font-mono")
5665
+ });
5073
5666
  _v$ !== _p$.e && web.className(_el$2, _p$.e = _v$);
5074
5667
  _v$2 !== _p$.t && web.className(_el$3, _p$.t = _v$2);
5075
5668
  return _p$;
@@ -5264,7 +5857,19 @@ var SnoozeDateTimePicker = (props) => {
5264
5857
  }
5265
5858
  }), null);
5266
5859
  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");
5860
+ var _v$ = style({
5861
+ key: "snoozeDatePicker",
5862
+ className: "nt-bg-background nt-rounded-md nt-shadow-lg nt-w-[260px]"
5863
+ }), _v$2 = style({
5864
+ key: "snoozeDatePicker__timePickerContainer",
5865
+ 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"
5866
+ }), _v$3 = style({
5867
+ key: "snoozeDatePicker__timePickerLabel",
5868
+ className: "nt-text-sm nt-font-medium nt-text-foreground-alpha-700 nt-p-2"
5869
+ }), _v$4 = style({
5870
+ key: "snoozeDatePicker__actions",
5871
+ className: "nt-flex nt-flex-row nt-justify-end nt-gap-2 nt-p-2"
5872
+ });
5268
5873
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
5269
5874
  _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
5270
5875
  _v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
@@ -5283,7 +5888,7 @@ web.delegateEvents(["click"]);
5283
5888
 
5284
5889
  // src/ui/components/Notification/NotificationActions.tsx
5285
5890
  var _tmpl$66 = /* @__PURE__ */ web.template(`<div><span>`);
5286
- var _tmpl$217 = /* @__PURE__ */ web.template(`<span>`);
5891
+ var _tmpl$218 = /* @__PURE__ */ web.template(`<span>`);
5287
5892
  var SNOOZE_PRESETS = [{
5288
5893
  key: "snooze.options.anHourFromNow",
5289
5894
  hours: 1,
@@ -5325,7 +5930,9 @@ var formatSnoozeOption = (preset, t, locale) => {
5325
5930
  };
5326
5931
  var SnoozeDropdownItem = (props) => {
5327
5932
  const style = useStyle();
5328
- const snoozeItemIconClass = style("notificationSnooze__dropdownItem__icon", "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2", {
5933
+ const snoozeItemIconClass = style({
5934
+ key: "notificationSnooze__dropdownItem__icon",
5935
+ className: "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2",
5329
5936
  iconKey: "clock"
5330
5937
  });
5331
5938
  const content = [(() => {
@@ -5341,7 +5948,12 @@ var SnoozeDropdownItem = (props) => {
5341
5948
  }), _el$2);
5342
5949
  web.insert(_el$2, () => props.label);
5343
5950
  web.effect((_p$) => {
5344
- var _v$ = style("dropdownItem", "nt-flex nt-items-center nt-flex-1"), _v$2 = style("dropdownItemLabel");
5951
+ var _v$ = style({
5952
+ key: "dropdownItem",
5953
+ className: "nt-flex nt-items-center nt-flex-1"
5954
+ }), _v$2 = style({
5955
+ key: "dropdownItemLabel"
5956
+ });
5345
5957
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
5346
5958
  _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
5347
5959
  return _p$;
@@ -5351,14 +5963,20 @@ var SnoozeDropdownItem = (props) => {
5351
5963
  });
5352
5964
  return _el$;
5353
5965
  })(), (() => {
5354
- var _el$3 = _tmpl$217();
5966
+ var _el$3 = _tmpl$218();
5355
5967
  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")));
5968
+ web.effect(() => web.className(_el$3, style({
5969
+ key: "dropdownItemRight__icon",
5970
+ className: "nt-text-foreground-alpha-300 nt-ml-2 nt-text-xs"
5971
+ })));
5357
5972
  return _el$3;
5358
5973
  })()];
5359
5974
  if (props.asChild) {
5360
5975
  return props.asChild({
5361
- class: style("notificationSnooze__dropdownItem", dropdownItemVariants()),
5976
+ class: style({
5977
+ key: "notificationSnooze__dropdownItem",
5978
+ className: dropdownItemVariants()
5979
+ }),
5362
5980
  onClick: props.onClick,
5363
5981
  children: content
5364
5982
  });
@@ -5369,7 +5987,10 @@ var SnoozeDropdownItem = (props) => {
5369
5987
  return props.onClick;
5370
5988
  },
5371
5989
  get ["class"]() {
5372
- return style("dropdownItem", "nt-justify-between");
5990
+ return style({
5991
+ key: "dropdownItem",
5992
+ className: "nt-justify-between"
5993
+ });
5373
5994
  },
5374
5995
  children: content
5375
5996
  });
@@ -5379,7 +6000,9 @@ var ReadButton = (props) => {
5379
6000
  const {
5380
6001
  t
5381
6002
  } = useLocalization();
5382
- const readIconClass = style("notificationRead__icon", "nt-size-3", {
6003
+ const readIconClass = style({
6004
+ key: "notificationRead__icon",
6005
+ className: "nt-size-3",
5383
6006
  iconKey: "markAsRead"
5384
6007
  });
5385
6008
  return web.createComponent(Tooltip.Root, {
@@ -5420,7 +6043,9 @@ var UnreadButton = (props) => {
5420
6043
  const {
5421
6044
  t
5422
6045
  } = useLocalization();
5423
- const unreadIconClass = style("notificationUnread__icon", "nt-size-3", {
6046
+ const unreadIconClass = style({
6047
+ key: "notificationUnread__icon",
6048
+ className: "nt-size-3",
5424
6049
  iconKey: "markAsUnread"
5425
6050
  });
5426
6051
  return web.createComponent(Tooltip.Root, {
@@ -5461,7 +6086,9 @@ var ArchiveButton = (props) => {
5461
6086
  const {
5462
6087
  t
5463
6088
  } = useLocalization();
5464
- const archiveIconClass = style("notificationArchive__icon", "nt-size-3", {
6089
+ const archiveIconClass = style({
6090
+ key: "notificationArchive__icon",
6091
+ className: "nt-size-3",
5465
6092
  iconKey: "markAsArchived"
5466
6093
  });
5467
6094
  return web.createComponent(Tooltip.Root, {
@@ -5502,7 +6129,9 @@ var UnarchiveButton = (props) => {
5502
6129
  const {
5503
6130
  t
5504
6131
  } = useLocalization();
5505
- const unarchiveIconClass = style("notificationArchive__icon", "nt-size-3", {
6132
+ const unarchiveIconClass = style({
6133
+ key: "notificationArchive__icon",
6134
+ className: "nt-size-3",
5506
6135
  iconKey: "markAsUnarchived"
5507
6136
  });
5508
6137
  return web.createComponent(Tooltip.Root, {
@@ -5543,7 +6172,9 @@ var UnsnoozeButton = (props) => {
5543
6172
  const {
5544
6173
  t
5545
6174
  } = useLocalization();
5546
- const unsnoozeIconClass = style("notificationUnsnooze__icon", "nt-size-3", {
6175
+ const unsnoozeIconClass = style({
6176
+ key: "notificationUnsnooze__icon",
6177
+ className: "nt-size-3",
5547
6178
  iconKey: "unsnooze"
5548
6179
  });
5549
6180
  return web.createComponent(Tooltip.Root, {
@@ -5589,7 +6220,9 @@ var SnoozeButton = (props) => {
5589
6220
  maxSnoozeDurationHours
5590
6221
  } = useInboxContext();
5591
6222
  const [isSnoozeDateTimePickerOpen, setIsSnoozeDateTimePickerOpen] = solidJs.createSignal(false);
5592
- const snoozeButtonIconClass = style("notificationSnooze__icon", "nt-size-3", {
6223
+ const snoozeButtonIconClass = style({
6224
+ key: "notificationSnooze__icon",
6225
+ className: "nt-size-3",
5593
6226
  iconKey: "clock"
5594
6227
  });
5595
6228
  const availableSnoozePresets = solidJs.createMemo(() => {
@@ -5669,7 +6302,10 @@ var SnoozeButton = (props) => {
5669
6302
  }), web.createComponent(Popover.Content, {
5670
6303
  portal: true,
5671
6304
  get ["class"]() {
5672
- return style("notificationSnoozeCustomTime_popoverContent", "nt-size-fit nt-w-[260px]");
6305
+ return style({
6306
+ key: "notificationSnoozeCustomTime_popoverContent",
6307
+ className: "nt-size-fit nt-w-[260px]"
6308
+ });
5673
6309
  },
5674
6310
  get children() {
5675
6311
  return web.createComponent(SnoozeDateTimePicker, {
@@ -5726,10 +6362,22 @@ var renderNotificationActions = (notification, status) => {
5726
6362
  };
5727
6363
 
5728
6364
  // 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>`);
6365
+ var _tmpl$67 = /* @__PURE__ */ web.template(`<span>`);
6366
+ 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">`);
6367
+ var _tmpl$311 = /* @__PURE__ */ web.template(`<img>`);
6368
+ var _tmpl$410 = /* @__PURE__ */ web.template(`<div>`);
6369
+ var SEVERITY_TO_BAR_KEYS = {
6370
+ ["none" /* NONE */]: "notificationBar",
6371
+ ["high" /* HIGH */]: "severityHigh__notificationBar",
6372
+ ["medium" /* MEDIUM */]: "severityMedium__notificationBar",
6373
+ ["low" /* LOW */]: "severityLow__notificationBar"
6374
+ };
6375
+ var SEVERITY_TO_NOTIFICATION_KEYS = {
6376
+ ["none" /* NONE */]: "notification",
6377
+ ["high" /* HIGH */]: "severityHigh__notification",
6378
+ ["medium" /* MEDIUM */]: "severityMedium__notification",
6379
+ ["low" /* LOW */]: "severityLow__notification"
6380
+ };
5733
6381
  var DefaultNotification = (props) => {
5734
6382
  const style = useStyle();
5735
6383
  const {
@@ -5741,12 +6389,6 @@ var DefaultNotification = (props) => {
5741
6389
  status
5742
6390
  } = useInboxContext();
5743
6391
  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
6392
  const createdAt = solidJs.createMemo(() => {
5751
6393
  minutesPassed();
5752
6394
  return formatToRelativeTime({
@@ -5804,32 +6446,54 @@ var DefaultNotification = (props) => {
5804
6446
  }
5805
6447
  });
5806
6448
  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;
6449
+ 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
6450
  _el$.$$click = handleNotificationClick;
5809
6451
  web.insert(_el$, web.createComponent(solidJs.Show, {
5810
6452
  get when() {
5811
- return props.notification.avatar;
6453
+ return props.renderAvatar;
5812
6454
  },
5813
6455
  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
6456
+ return web.createComponent(solidJs.Show, {
6457
+ get when() {
6458
+ return props.notification.avatar;
6459
+ },
6460
+ get fallback() {
6461
+ return (() => {
6462
+ var _el$9 = _tmpl$410();
6463
+ web.effect(() => web.className(_el$9, style({
6464
+ key: "notificationImageLoadingFallback",
6465
+ className: "nt-size-8 nt-rounded-lg nt-shrink-0 nt-aspect-square",
6466
+ context: {
6467
+ notification: props.notification
6468
+ }
6469
+ })));
6470
+ return _el$9;
6471
+ })();
6472
+ },
6473
+ get children() {
6474
+ var _el$8 = _tmpl$311();
6475
+ web.effect((_p$) => {
6476
+ var _v$6 = style({
6477
+ key: "notificationImage",
6478
+ className: "nt-size-8 nt-rounded-lg nt-object-cover nt-aspect-square",
6479
+ context: {
6480
+ notification: props.notification
6481
+ }
6482
+ }), _v$7 = props.notification.avatar;
6483
+ _v$6 !== _p$.e && web.className(_el$8, _p$.e = _v$6);
6484
+ _v$7 !== _p$.t && web.setAttribute(_el$8, "src", _p$.t = _v$7);
6485
+ return _p$;
6486
+ }, {
6487
+ e: void 0,
6488
+ t: void 0
6489
+ });
6490
+ return _el$8;
6491
+ }
5830
6492
  });
5831
- return _el$2;
5832
- }
6493
+ },
6494
+ children: (renderAvatar) => web.createComponent(ExternalElementRenderer, {
6495
+ render: (el) => renderAvatar()(el, props.notification)
6496
+ })
5833
6497
  }), _el$3);
5834
6498
  web.insert(_el$4, web.createComponent(solidJs.Show, {
5835
6499
  get when() {
@@ -5844,6 +6508,11 @@ var DefaultNotification = (props) => {
5844
6508
  appearanceKey: "notificationSubject",
5845
6509
  "class": "nt-text-start nt-font-medium nt-whitespace-pre-wrap [word-break:break-word]",
5846
6510
  strongAppearanceKey: "notificationSubject__strong",
6511
+ get context() {
6512
+ return {
6513
+ notification: props.notification
6514
+ };
6515
+ },
5847
6516
  get children() {
5848
6517
  return subject();
5849
6518
  }
@@ -5863,6 +6532,11 @@ var DefaultNotification = (props) => {
5863
6532
  appearanceKey: "notificationBody",
5864
6533
  strongAppearanceKey: "notificationBody__strong",
5865
6534
  "class": "nt-text-start nt-whitespace-pre-wrap nt-text-foreground-alpha-600 [word-break:break-word]",
6535
+ get context() {
6536
+ return {
6537
+ notification: props.notification
6538
+ };
6539
+ },
5866
6540
  get children() {
5867
6541
  return props.notification.body;
5868
6542
  }
@@ -5872,46 +6546,93 @@ var DefaultNotification = (props) => {
5872
6546
  render: (el) => renderBody()(el, props.notification)
5873
6547
  })
5874
6548
  }), null);
5875
- web.insert(_el$5, () => renderNotificationActions(props.notification, status));
5876
6549
  web.insert(_el$3, web.createComponent(solidJs.Show, {
5877
6550
  get when() {
5878
- return props.notification.primaryAction || props.notification.secondaryAction;
6551
+ return props.renderDefaultActions;
5879
6552
  },
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;
6553
+ get fallback() {
6554
+ return (() => {
6555
+ var _el$10 = _tmpl$410();
6556
+ web.insert(_el$10, () => renderNotificationActions(props.notification, status));
6557
+ web.effect(() => web.className(_el$10, style({
6558
+ key: "notificationDefaultActions",
6559
+ 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`,
6560
+ context: {
6561
+ notification: props.notification
5893
6562
  }
5894
- })
5895
- }), null);
5896
- web.insert(_el$6, web.createComponent(solidJs.Show, {
6563
+ })));
6564
+ return _el$10;
6565
+ })();
6566
+ },
6567
+ children: (renderDefaultActions) => web.createComponent(ExternalElementRenderer, {
6568
+ render: (el) => renderDefaultActions()(el, props.notification)
6569
+ })
6570
+ }), _el$5);
6571
+ web.insert(_el$3, web.createComponent(solidJs.Show, {
6572
+ get when() {
6573
+ return props.renderCustomActions;
6574
+ },
6575
+ get fallback() {
6576
+ return web.createComponent(solidJs.Show, {
5897
6577
  get when() {
5898
- return props.notification.secondaryAction;
6578
+ return props.notification.primaryAction || props.notification.secondaryAction;
5899
6579
  },
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, {
6580
+ get children() {
6581
+ var _el$11 = _tmpl$410();
6582
+ web.insert(_el$11, web.createComponent(solidJs.Show, {
6583
+ get when() {
6584
+ return props.notification.primaryAction;
6585
+ },
6586
+ keyed: true,
6587
+ children: (primaryAction) => web.createComponent(Button, {
6588
+ appearanceKey: "notificationPrimaryAction__button",
6589
+ variant: "default",
6590
+ onClick: (e) => handleActionButtonClick("primary" /* PRIMARY */, e),
6591
+ get context() {
6592
+ return {
6593
+ notification: props.notification
6594
+ };
6595
+ },
6596
+ get children() {
6597
+ return primaryAction.label;
6598
+ }
6599
+ })
6600
+ }), null);
6601
+ web.insert(_el$11, web.createComponent(solidJs.Show, {
6602
+ get when() {
6603
+ return props.notification.secondaryAction;
6604
+ },
6605
+ keyed: true,
6606
+ children: (secondaryAction) => web.createComponent(Button, {
6607
+ appearanceKey: "notificationSecondaryAction__button",
6608
+ variant: "secondary",
6609
+ onClick: (e) => handleActionButtonClick("secondary" /* SECONDARY */, e),
6610
+ get context() {
6611
+ return {
6612
+ notification: props.notification
6613
+ };
6614
+ },
6615
+ get children() {
6616
+ return secondaryAction.label;
6617
+ }
6618
+ })
6619
+ }), null);
6620
+ web.effect(() => web.className(_el$11, style({
6621
+ key: "notificationCustomActions",
6622
+ className: "nt-flex nt-flex-wrap nt-gap-2",
6623
+ context: {
6624
+ notification: props.notification
6625
+ }
6626
+ })));
6627
+ return _el$11;
6628
+ }
6629
+ });
6630
+ },
6631
+ children: (renderCustomActions) => web.createComponent(ExternalElementRenderer, {
6632
+ render: (el) => renderCustomActions()(el, props.notification)
6633
+ })
6634
+ }), _el$5);
6635
+ web.insert(_el$5, web.createComponent(solidJs.Show, {
5915
6636
  get when() {
5916
6637
  return snoozedUntil();
5917
6638
  },
@@ -5921,7 +6642,7 @@ var DefaultNotification = (props) => {
5921
6642
  return deliveredAt();
5922
6643
  },
5923
6644
  get fallback() {
5924
- return web.memo(createdAt);
6645
+ return createdAt();
5925
6646
  },
5926
6647
  children: (deliveredAt2) => web.createComponent(solidJs.Show, {
5927
6648
  get when() {
@@ -5946,13 +6667,36 @@ var DefaultNotification = (props) => {
5946
6667
  get children() {
5947
6668
  return web.createComponent(Badge, {
5948
6669
  appearanceKey: "notificationDeliveredAt__badge",
6670
+ get context() {
6671
+ return {
6672
+ notification: props.notification
6673
+ };
6674
+ },
5949
6675
  get children() {
5950
6676
  return [web.createComponent(IconRendererWrapper, {
5951
6677
  iconKey: "clock",
5952
- "class": deliveredAtIconClass,
6678
+ get ["class"]() {
6679
+ return style({
6680
+ key: "notificationDeliveredAt__icon",
6681
+ className: "nt-size-3",
6682
+ iconKey: "clock",
6683
+ context: {
6684
+ notification: props.notification
6685
+ }
6686
+ });
6687
+ },
5953
6688
  get fallback() {
5954
6689
  return web.createComponent(Clock, {
5955
- "class": deliveredAtIconClass
6690
+ get ["class"]() {
6691
+ return style({
6692
+ key: "notificationDeliveredAt__icon",
6693
+ className: "nt-size-3",
6694
+ iconKey: "clock",
6695
+ context: {
6696
+ notification: props.notification
6697
+ }
6698
+ });
6699
+ }
5956
6700
  });
5957
6701
  }
5958
6702
  }), date];
@@ -5967,34 +6711,94 @@ var DefaultNotification = (props) => {
5967
6711
  },
5968
6712
  children: (snoozedUntil2) => [web.createComponent(IconRendererWrapper, {
5969
6713
  iconKey: "clock",
5970
- "class": snoozedUntilIconClass,
6714
+ get ["class"]() {
6715
+ return style({
6716
+ key: "notificationSnoozedUntil__icon",
6717
+ className: "nt-size-3",
6718
+ iconKey: "clock",
6719
+ context: {
6720
+ notification: props.notification
6721
+ }
6722
+ });
6723
+ },
5971
6724
  get fallback() {
5972
6725
  return web.createComponent(Clock, {
5973
- "class": snoozedUntilIconClass
6726
+ get ["class"]() {
6727
+ return style({
6728
+ key: "notificationSnoozedUntil__icon",
6729
+ className: "nt-size-3",
6730
+ iconKey: "clock",
6731
+ context: {
6732
+ notification: props.notification
6733
+ }
6734
+ });
6735
+ }
5974
6736
  });
5975
6737
  }
5976
6738
  }), web.memo(() => t("notification.snoozedUntil")), " \xB7 ", web.memo(snoozedUntil2)]
5977
6739
  }));
5978
- web.insert(_el$, web.createComponent(solidJs.Show, {
6740
+ web.insert(_el$6, web.createComponent(solidJs.Show, {
5979
6741
  get when() {
5980
6742
  return !props.notification.isRead;
5981
6743
  },
5982
6744
  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;
6745
+ var _el$7 = _tmpl$67();
6746
+ web.effect(() => web.className(_el$7, style({
6747
+ key: "notificationDot",
6748
+ className: "nt-size-1.5 nt-bg-primary nt-rounded-full",
6749
+ context: {
6750
+ notification: props.notification
6751
+ }
6752
+ })));
6753
+ return _el$7;
5986
6754
  }
5987
- }), null);
6755
+ }));
5988
6756
  web.effect((_p$) => {
5989
6757
  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);
6758
+ var _v$ = style({
6759
+ key: SEVERITY_TO_NOTIFICATION_KEYS[props.notification.severity],
6760
+ 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", {
6761
+ "nt-cursor-pointer": !props.notification.isRead || !!((_a = props.notification.redirect) == null ? void 0 : _a.url),
6762
+ "nt-bg-severity-high-alpha-100 hover:nt-bg-severity-high-alpha-50": props.notification.severity === "high" /* HIGH */,
6763
+ "nt-bg-severity-medium-alpha-100 hover:nt-bg-severity-medium-alpha-50": props.notification.severity === "medium" /* MEDIUM */,
6764
+ "nt-bg-severity-low-alpha-100 hover:nt-bg-severity-low-alpha-50": props.notification.severity === "low" /* LOW */
6765
+ }),
6766
+ context: {
6767
+ notification: props.notification
6768
+ }
6769
+ }), _v$2 = style({
6770
+ key: SEVERITY_TO_BAR_KEYS[props.notification.severity],
6771
+ className: cn("nt-transition nt-absolute nt-left-0 nt-top-0 nt-bottom-0 nt-w-[3px]", {
6772
+ "nt-bg-severity-high group-hover:nt-bg-severity-high-alpha-500": props.notification.severity === "high" /* HIGH */,
6773
+ "nt-bg-severity-medium group-hover:nt-bg-severity-medium-alpha-500": props.notification.severity === "medium" /* MEDIUM */,
6774
+ "nt-bg-severity-low group-hover:nt-bg-severity-low-alpha-500": props.notification.severity === "low" /* LOW */
6775
+ }),
6776
+ context: {
6777
+ notification: props.notification
6778
+ }
6779
+ }), _v$3 = style({
6780
+ key: "notificationContent",
6781
+ className: "nt-flex nt-flex-col nt-gap-2 nt-w-full",
6782
+ context: {
6783
+ notification: props.notification
6784
+ }
6785
+ }), _v$4 = style({
6786
+ key: "notificationTextContainer",
6787
+ context: {
6788
+ notification: props.notification
6789
+ }
6790
+ }), _v$5 = style({
6791
+ key: "notificationDate",
6792
+ className: "nt-text-foreground-alpha-400 nt-flex nt-items-center nt-gap-1",
6793
+ context: {
6794
+ notification: props.notification
6795
+ }
6796
+ });
6797
+ _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
6798
+ _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
6799
+ _v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
6800
+ _v$4 !== _p$.o && web.className(_el$4, _p$.o = _v$4);
6801
+ _v$5 !== _p$.i && web.className(_el$5, _p$.i = _v$5);
5998
6802
  return _p$;
5999
6803
  }, {
6000
6804
  e: void 0,
@@ -6019,12 +6823,21 @@ var Notification = (props) => {
6019
6823
  get notification() {
6020
6824
  return props.notification;
6021
6825
  },
6826
+ get renderAvatar() {
6827
+ return props.renderAvatar;
6828
+ },
6022
6829
  get renderSubject() {
6023
6830
  return props.renderSubject;
6024
6831
  },
6025
6832
  get renderBody() {
6026
6833
  return props.renderBody;
6027
6834
  },
6835
+ get renderDefaultActions() {
6836
+ return props.renderDefaultActions;
6837
+ },
6838
+ get renderCustomActions() {
6839
+ return props.renderCustomActions;
6840
+ },
6028
6841
  get onNotificationClick() {
6029
6842
  return props.onNotificationClick;
6030
6843
  },
@@ -6080,7 +6893,7 @@ function Key(props) {
6080
6893
 
6081
6894
  // src/ui/components/Notification/NotificationListSkeleton.tsx
6082
6895
  var _tmpl$69 = /* @__PURE__ */ web.template(`<div>`);
6083
- var _tmpl$219 = /* @__PURE__ */ web.template(`<p data-localization=notifications.emptyNotice>`);
6896
+ var _tmpl$220 = /* @__PURE__ */ web.template(`<p data-localization=notifications.emptyNotice>`);
6084
6897
  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
6898
  preferences, and connect email.</p><div><div>`);
6086
6899
  var NotificationListSkeleton = (props) => {
@@ -6105,7 +6918,10 @@ var NotificationListSkeleton = (props) => {
6105
6918
  delay: 0.3
6106
6919
  },
6107
6920
  get ["class"]() {
6108
- return style("notificationList__skeleton", "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4");
6921
+ return style({
6922
+ key: "notificationList__skeleton",
6923
+ className: "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4"
6924
+ });
6109
6925
  },
6110
6926
  get children() {
6111
6927
  return [web.memo(() => Array.from({
@@ -6124,7 +6940,10 @@ var NotificationListSkeleton = (props) => {
6124
6940
  easing: "ease-in-out"
6125
6941
  },
6126
6942
  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");
6943
+ return style({
6944
+ key: "notificationList__skeletonContent",
6945
+ className: "nt-flex nt-border-neutral-alpha-50 nt-items-center nt-gap-3 nt-p-3 nt-bg-neutral-alpha-25"
6946
+ });
6128
6947
  },
6129
6948
  get children() {
6130
6949
  return [web.createComponent(SkeletonAvatar, {
@@ -6140,13 +6959,19 @@ var NotificationListSkeleton = (props) => {
6140
6959
  appearanceKey: "notificationList__skeletonText",
6141
6960
  "class": "nt-h-2 nt-w-2/3 nt-bg-neutral-alpha-50 nt-rounded"
6142
6961
  }), null);
6143
- web.effect(() => web.className(_el$3, style("notificationList__skeletonItem", "nt-flex nt-flex-col nt-gap-2 nt-flex-1")));
6962
+ web.effect(() => web.className(_el$3, style({
6963
+ key: "notificationList__skeletonItem",
6964
+ className: "nt-flex nt-flex-col nt-gap-2 nt-flex-1"
6965
+ })));
6144
6966
  return _el$3;
6145
6967
  })()];
6146
6968
  }
6147
6969
  }))), (() => {
6148
6970
  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")));
6971
+ web.effect(() => web.className(_el$2, style({
6972
+ key: "notificationListEmptyNoticeOverlay",
6973
+ className: "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background"
6974
+ })));
6150
6975
  return _el$2;
6151
6976
  })()];
6152
6977
  }
@@ -6175,11 +7000,14 @@ var NotificationListSkeleton = (props) => {
6175
7000
  delay: 0.6
6176
7001
  },
6177
7002
  get ["class"]() {
6178
- return style("notificationListEmptyNotice", "nt-text-center");
7003
+ return style({
7004
+ key: "notificationListEmptyNotice",
7005
+ className: "nt-text-center"
7006
+ });
6179
7007
  },
6180
7008
  get children() {
6181
7009
  return web.memo(() => !!isKeyless())() ? web.createComponent(KeylessEmptyState, {}) : (() => {
6182
- var _el$4 = _tmpl$219();
7010
+ var _el$4 = _tmpl$220();
6183
7011
  web.insert(_el$4, () => t("notifications.emptyNotice"));
6184
7012
  return _el$4;
6185
7013
  })();
@@ -6187,7 +7015,10 @@ var NotificationListSkeleton = (props) => {
6187
7015
  });
6188
7016
  }
6189
7017
  }), 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")));
7018
+ web.effect(() => web.className(_el$, style({
7019
+ key: "notificationListEmptyNoticeContainer",
7020
+ 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"
7021
+ })));
6191
7022
  return _el$;
6192
7023
  })();
6193
7024
  };
@@ -6200,13 +7031,19 @@ function KeylessEmptyState() {
6200
7031
  variant: "secondary",
6201
7032
  size: "sm",
6202
7033
  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");
7034
+ return style({
7035
+ key: "notificationListEmptyNotice",
7036
+ 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"
7037
+ });
6204
7038
  },
6205
7039
  onClick: () => window.open("https://go.novu.co/keyless", "_blank", "noopener noreferrer"),
6206
7040
  get children() {
6207
7041
  return [web.createComponent(Key, {
6208
7042
  get ["class"]() {
6209
- return style("lockIcon", "nt-size-4 nt-mr-2");
7043
+ return style({
7044
+ key: "lockIcon",
7045
+ className: "nt-size-4 nt-mr-2"
7046
+ });
6210
7047
  }
6211
7048
  }), "Get API key"];
6212
7049
  }
@@ -6215,19 +7052,37 @@ function KeylessEmptyState() {
6215
7052
  variant: "default",
6216
7053
  size: "sm",
6217
7054
  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");
7055
+ return style({
7056
+ key: "notificationListEmptyNotice",
7057
+ 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"
7058
+ });
6219
7059
  },
6220
7060
  onClick: () => novu.notifications.triggerHelloWorldEvent(),
6221
7061
  get children() {
6222
7062
  return [web.createComponent(Bell, {
6223
7063
  get ["class"]() {
6224
- return style("bellIcon", "nt-size-4 nt-mr-2");
7064
+ return style({
7065
+ key: "bellIcon",
7066
+ className: "nt-size-4 nt-mr-2"
7067
+ });
6225
7068
  }
6226
7069
  }), "Send 'Hello World!'"];
6227
7070
  }
6228
7071
  }));
6229
7072
  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");
7073
+ var _v$ = style({
7074
+ key: "notificationListEmptyNotice",
7075
+ className: "nt--mt-[50px]"
7076
+ }), _v$2 = style({
7077
+ key: "strong",
7078
+ className: "nt-text-[#000000] nt-mb-1"
7079
+ }), _v$3 = style({
7080
+ key: "notificationListEmptyNotice",
7081
+ className: "nt-mb-4"
7082
+ }), _v$4 = style({
7083
+ key: "notificationListEmptyNotice",
7084
+ className: "nt-flex nt-gap-4 nt-justify-center"
7085
+ });
6231
7086
  _v$ !== _p$.e && web.className(_el$5, _p$.e = _v$);
6232
7087
  _v$2 !== _p$.t && web.className(_el$6, _p$.t = _v$2);
6233
7088
  _v$3 !== _p$.a && web.className(_el$7, _p$.a = _v$3);
@@ -6245,9 +7100,9 @@ function KeylessEmptyState() {
6245
7100
 
6246
7101
  // src/ui/components/Notification/NotificationList.tsx
6247
7102
  var _tmpl$70 = /* @__PURE__ */ web.template(`<div>`);
6248
- var _tmpl$220 = /* @__PURE__ */ web.template(`<div><div>`);
7103
+ var _tmpl$221 = /* @__PURE__ */ web.template(`<div><div>`);
6249
7104
  var NotificationList = (props) => {
6250
- var _a, _b, _c, _d;
7105
+ var _a, _b, _c, _d, _e;
6251
7106
  const options = solidJs.createMemo(() => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, props.filter), {
6252
7107
  limit: props.limit
6253
7108
  }));
@@ -6267,7 +7122,8 @@ var NotificationList = (props) => {
6267
7122
  } = useNewMessagesCount({
6268
7123
  filter: {
6269
7124
  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 : {}
7125
+ data: (_d = (_c = props.filter) == null ? void 0 : _c.data) != null ? _d : {},
7126
+ severity: (_e = props.filter) == null ? void 0 : _e.severity
6271
7127
  }
6272
7128
  });
6273
7129
  const {
@@ -6293,7 +7149,7 @@ var NotificationList = (props) => {
6293
7149
  });
6294
7150
  });
6295
7151
  return (() => {
6296
- var _el$ = _tmpl$220(), _el$2 = _el$.firstChild;
7152
+ var _el$ = _tmpl$221(), _el$2 = _el$.firstChild;
6297
7153
  web.insert(_el$, web.createComponent(NewMessagesCta, {
6298
7154
  get count() {
6299
7155
  return count();
@@ -6352,12 +7208,21 @@ var NotificationList = (props) => {
6352
7208
  get renderNotification() {
6353
7209
  return props.renderNotification;
6354
7210
  },
7211
+ get renderAvatar() {
7212
+ return props.renderAvatar;
7213
+ },
6355
7214
  get renderSubject() {
6356
7215
  return props.renderSubject;
6357
7216
  },
6358
7217
  get renderBody() {
6359
7218
  return props.renderBody;
6360
7219
  },
7220
+ get renderDefaultActions() {
7221
+ return props.renderDefaultActions;
7222
+ },
7223
+ get renderCustomActions() {
7224
+ return props.renderCustomActions;
7225
+ },
6361
7226
  get onNotificationClick() {
6362
7227
  return props.onNotificationClick;
6363
7228
  },
@@ -6387,7 +7252,19 @@ var NotificationList = (props) => {
6387
7252
  }
6388
7253
  }));
6389
7254
  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");
7255
+ var _v$ = style({
7256
+ key: "notificationListContainer",
7257
+ className: "nt-relative nt-border-t nt-border-t-neutral-alpha-200 nt-h-full nt-overflow-hidden",
7258
+ context: {
7259
+ notifications: data()
7260
+ }
7261
+ }), _v$2 = style({
7262
+ key: "notificationList",
7263
+ className: "nt-relative nt-h-full nt-flex nt-flex-col nt-overflow-y-auto",
7264
+ context: {
7265
+ notifications: data()
7266
+ }
7267
+ });
6391
7268
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
6392
7269
  _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
6393
7270
  return _p$;
@@ -6406,20 +7283,24 @@ var InboxTabUnreadNotificationsCount = (props) => {
6406
7283
  return (() => {
6407
7284
  var _el$ = _tmpl$71();
6408
7285
  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")));
7286
+ web.effect(() => web.className(_el$, style({
7287
+ key: "notificationsTabsTriggerCount",
7288
+ className: "nt-rounded-full nt-bg-counter nt-px-[6px] nt-text-counter-foreground nt-text-sm"
7289
+ })));
6410
7290
  return _el$;
6411
7291
  })();
6412
7292
  };
6413
7293
  var InboxTab = (props) => {
6414
- var _a;
7294
+ var _a, _b;
6415
7295
  const {
6416
7296
  status
6417
7297
  } = useInboxContext();
6418
7298
  const style = useStyle();
6419
- const unreadCount = useUnreadCount({
7299
+ const unreadCount = useFilteredUnreadCount({
6420
7300
  filter: {
6421
7301
  tags: getTagsFromTab(props),
6422
- data: (_a = props.filter) == null ? void 0 : _a.data
7302
+ data: (_a = props.filter) == null ? void 0 : _a.data,
7303
+ severity: (_b = props.filter) == null ? void 0 : _b.severity
6423
7304
  }
6424
7305
  });
6425
7306
  return web.createComponent(Tabs.Trigger, {
@@ -6427,13 +7308,19 @@ var InboxTab = (props) => {
6427
7308
  return props.label;
6428
7309
  },
6429
7310
  get ["class"]() {
6430
- return style("notificationsTabs__tabsTrigger", cn(tabsTriggerVariants(), "nt-flex nt-gap-2", props.class));
7311
+ return style({
7312
+ key: "notificationsTabs__tabsTrigger",
7313
+ className: cn(tabsTriggerVariants(), "nt-flex nt-gap-2", props.class)
7314
+ });
6431
7315
  },
6432
7316
  get children() {
6433
7317
  return [(() => {
6434
7318
  var _el$2 = _tmpl$71();
6435
7319
  web.insert(_el$2, () => props.label);
6436
- web.effect(() => web.className(_el$2, style("notificationsTabsTriggerLabel", "nt-text-sm nt-font-medium")));
7320
+ web.effect(() => web.className(_el$2, style({
7321
+ key: "notificationsTabsTriggerLabel",
7322
+ className: "nt-text-sm nt-font-medium"
7323
+ })));
6437
7324
  return _el$2;
6438
7325
  })(), web.createComponent(solidJs.Show, {
6439
7326
  get when() {
@@ -6451,20 +7338,24 @@ var InboxTab = (props) => {
6451
7338
  });
6452
7339
  };
6453
7340
  var InboxDropdownTab = (props) => {
6454
- var _a;
7341
+ var _a, _b;
6455
7342
  const {
6456
7343
  status
6457
7344
  } = useInboxContext();
6458
7345
  const style = useStyle();
6459
- const unreadCount = useUnreadCount({
7346
+ const unreadCount = useFilteredUnreadCount({
6460
7347
  filter: {
6461
7348
  tags: getTagsFromTab(props),
6462
- data: (_a = props.filter) == null ? void 0 : _a.data
7349
+ data: (_a = props.filter) == null ? void 0 : _a.data,
7350
+ severity: (_b = props.filter) == null ? void 0 : _b.severity
6463
7351
  }
6464
7352
  });
6465
7353
  return web.createComponent(Dropdown.Item, {
6466
7354
  get ["class"]() {
6467
- return style("moreTabs__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-justify-between nt-gap-2"));
7355
+ return style({
7356
+ key: "moreTabs__dropdownItem",
7357
+ className: cn(dropdownItemVariants(), "nt-flex nt-justify-between nt-gap-2")
7358
+ });
6468
7359
  },
6469
7360
  get onClick() {
6470
7361
  return props.onClick;
@@ -6473,7 +7364,10 @@ var InboxDropdownTab = (props) => {
6473
7364
  return [(() => {
6474
7365
  var _el$3 = _tmpl$71();
6475
7366
  web.insert(_el$3, () => props.label);
6476
- web.effect(() => web.className(_el$3, style("moreTabs__dropdownItemLabel", "nt-mr-auto")));
7367
+ web.effect(() => web.className(_el$3, style({
7368
+ key: "moreTabs__dropdownItemLabel",
7369
+ className: "nt-mr-auto"
7370
+ })));
6477
7371
  return _el$3;
6478
7372
  })(), web.memo(() => props.rightIcon), web.createComponent(solidJs.Show, {
6479
7373
  get when() {
@@ -6517,7 +7411,9 @@ var InboxTabs = (props) => {
6517
7411
  };
6518
7412
  })
6519
7413
  });
6520
- const checkIconClass = style("moreTabs__dropdownItemRight__icon", "nt-size-3", {
7414
+ const checkIconClass = style({
7415
+ key: "moreTabs__dropdownItemRight__icon",
7416
+ className: "nt-size-3",
6521
7417
  iconKey: "check"
6522
7418
  });
6523
7419
  const options = solidJs.createMemo(() => dropdownTabs().map((tab) => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, tab), {
@@ -6533,7 +7429,9 @@ var InboxTabs = (props) => {
6533
7429
  })));
6534
7430
  const dropdownTabsUnreadSum = solidJs.createMemo(() => dropdownTabsUnreadCounts().reduce((accumulator, currentValue) => accumulator + currentValue, 0));
6535
7431
  const isTabsDropdownActive = solidJs.createMemo(() => dropdownTabs().map((tab) => tab.label).includes(activeTab()));
6536
- const moreTabsIconClass = style("moreTabs__icon", "nt-size-5", {
7432
+ const moreTabsIconClass = style({
7433
+ key: "moreTabs__icon",
7434
+ className: "nt-size-5",
6537
7435
  iconKey: "arrowDown"
6538
7436
  });
6539
7437
  return web.createComponent(Tabs.Root, {
@@ -6635,19 +7533,31 @@ var InboxTabs = (props) => {
6635
7533
  return tab.label;
6636
7534
  },
6637
7535
  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"));
7536
+ return style({
7537
+ key: "notificationsTabs__tabsContent",
7538
+ className: cn(activeTab() === tab.label ? "nt-block" : "nt-hidden", "nt-overflow-auto nt-flex-1 nt-flex nt-flex-col nt-min-h-0")
7539
+ });
6639
7540
  },
6640
7541
  get children() {
6641
7542
  return web.createComponent(NotificationList, {
6642
7543
  get renderNotification() {
6643
7544
  return props.renderNotification;
6644
7545
  },
7546
+ get renderAvatar() {
7547
+ return props.renderAvatar;
7548
+ },
6645
7549
  get renderSubject() {
6646
7550
  return props.renderSubject;
6647
7551
  },
6648
7552
  get renderBody() {
6649
7553
  return props.renderBody;
6650
7554
  },
7555
+ get renderDefaultActions() {
7556
+ return props.renderDefaultActions;
7557
+ },
7558
+ get renderCustomActions() {
7559
+ return props.renderCustomActions;
7560
+ },
6651
7561
  get onNotificationClick() {
6652
7562
  return props.onNotificationClick;
6653
7563
  },
@@ -6658,10 +7568,11 @@ var InboxTabs = (props) => {
6658
7568
  return props.onSecondaryActionClick;
6659
7569
  },
6660
7570
  get filter() {
6661
- var _a;
7571
+ var _a, _b;
6662
7572
  return chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, filter()), {
6663
7573
  tags: getTagsFromTab(tab),
6664
- data: (_a = tab.filter) == null ? void 0 : _a.data
7574
+ data: (_a = tab.filter) == null ? void 0 : _a.data,
7575
+ severity: (_b = tab.filter) == null ? void 0 : _b.severity
6665
7576
  });
6666
7577
  }
6667
7578
  });
@@ -6719,12 +7630,21 @@ var InboxContent = (props) => {
6719
7630
  get renderNotification() {
6720
7631
  return props.renderNotification;
6721
7632
  },
7633
+ get renderAvatar() {
7634
+ return props.renderAvatar;
7635
+ },
6722
7636
  get renderSubject() {
6723
7637
  return props.renderSubject;
6724
7638
  },
6725
7639
  get renderBody() {
6726
7640
  return props.renderBody;
6727
7641
  },
7642
+ get renderDefaultActions() {
7643
+ return props.renderDefaultActions;
7644
+ },
7645
+ get renderCustomActions() {
7646
+ return props.renderCustomActions;
7647
+ },
6728
7648
  get onNotificationClick() {
6729
7649
  return props.onNotificationClick;
6730
7650
  },
@@ -6744,12 +7664,21 @@ var InboxContent = (props) => {
6744
7664
  get renderNotification() {
6745
7665
  return props.renderNotification;
6746
7666
  },
7667
+ get renderAvatar() {
7668
+ return props.renderAvatar;
7669
+ },
6747
7670
  get renderSubject() {
6748
7671
  return props.renderSubject;
6749
7672
  },
6750
7673
  get renderBody() {
6751
7674
  return props.renderBody;
6752
7675
  },
7676
+ get renderDefaultActions() {
7677
+ return props.renderDefaultActions;
7678
+ },
7679
+ get renderCustomActions() {
7680
+ return props.renderCustomActions;
7681
+ },
6753
7682
  get onNotificationClick() {
6754
7683
  return props.onNotificationClick;
6755
7684
  },
@@ -6781,10 +7710,13 @@ var InboxContent = (props) => {
6781
7710
  }
6782
7711
  }), null);
6783
7712
  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
- }))));
7713
+ web.effect(() => web.className(_el$, style({
7714
+ key: "inboxContent",
7715
+ className: cn("nt-h-full nt-flex nt-flex-col [&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8", {
7716
+ "[&_.nv-preferencesContainer]:nt-pb-12 [&_.nv-notificationList]:nt-pb-12": isDevelopmentMode(),
7717
+ "[&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8": !isDevelopmentMode()
7718
+ })
7719
+ })));
6788
7720
  return _el$;
6789
7721
  })();
6790
7722
  };
@@ -6813,7 +7745,9 @@ var Inbox = (props) => {
6813
7745
  return [web.createComponent(Popover.Trigger, {
6814
7746
  asChild: (triggerProps) => web.createComponent(Button, web.mergeProps({
6815
7747
  get ["class"]() {
6816
- return style("inbox__popoverTrigger");
7748
+ return style({
7749
+ key: "inbox__popoverTrigger"
7750
+ });
6817
7751
  },
6818
7752
  variant: "ghost",
6819
7753
  size: "icon"
@@ -6836,12 +7770,21 @@ var Inbox = (props) => {
6836
7770
  },
6837
7771
  get fallback() {
6838
7772
  return web.createComponent(InboxContent, {
7773
+ get renderAvatar() {
7774
+ return props.renderAvatar;
7775
+ },
6839
7776
  get renderSubject() {
6840
7777
  return props.renderSubject;
6841
7778
  },
6842
7779
  get renderBody() {
6843
7780
  return props.renderBody;
6844
7781
  },
7782
+ get renderDefaultActions() {
7783
+ return props.renderDefaultActions;
7784
+ },
7785
+ get renderCustomActions() {
7786
+ return props.renderCustomActions;
7787
+ },
6845
7788
  get onNotificationClick() {
6846
7789
  return props.onNotificationClick;
6847
7790
  },
@@ -6883,11 +7826,14 @@ var novuComponents = {
6883
7826
  Bell: Bell2,
6884
7827
  Notifications: (props) => {
6885
7828
  if (props.renderNotification) {
6886
- const _a = props, propsWithoutBodyAndSubject = chunk7B52C2XE_js.__objRest(_a, [
7829
+ const _a = props, otherProps = chunk7B52C2XE_js.__objRest(_a, [
6887
7830
  "renderBody",
6888
- "renderSubject"
7831
+ "renderSubject",
7832
+ "renderAvatar",
7833
+ "renderDefaultActions",
7834
+ "renderCustomActions"
6889
7835
  ]);
6890
- return web.createComponent(InboxContent, web.mergeProps(propsWithoutBodyAndSubject, {
7836
+ return web.createComponent(InboxContent, web.mergeProps(otherProps, {
6891
7837
  hideNav: true,
6892
7838
  get initialPage() {
6893
7839
  return InboxPage.Notifications;
@@ -6906,11 +7852,14 @@ var novuComponents = {
6906
7852
  },
6907
7853
  Preferences: (props) => {
6908
7854
  if (props.renderNotification) {
6909
- const _a = props, propsWithoutBodyAndSubject = chunk7B52C2XE_js.__objRest(_a, [
7855
+ const _a = props, otherProps = chunk7B52C2XE_js.__objRest(_a, [
6910
7856
  "renderBody",
6911
- "renderSubject"
7857
+ "renderSubject",
7858
+ "renderAvatar",
7859
+ "renderDefaultActions",
7860
+ "renderCustomActions"
6912
7861
  ]);
6913
- return web.createComponent(InboxContent, web.mergeProps(propsWithoutBodyAndSubject, {
7862
+ return web.createComponent(InboxContent, web.mergeProps(otherProps, {
6914
7863
  hideNav: true,
6915
7864
  get initialPage() {
6916
7865
  return InboxPage.Preferences;