@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,4 +1,4 @@
1
- import { Novu, checkNotificationTagFilter, checkNotificationDataFilter, isBrowser, DEFAULT_API_VERSION, isSameFilter } from '../chunk-HL3WZM2B.mjs';
1
+ import { Novu, checkNotificationTagFilter, checkNotificationDataFilter, isBrowser, DEFAULT_API_VERSION, isSameFilter } from '../chunk-SH2NZJC6.mjs';
2
2
  import { parseMarkdownIntoTokens } from '../chunk-QOD7NZ77.mjs';
3
3
  import { __privateAdd, __privateMethod, __privateSet, __privateGet, __spreadProps, __spreadValues, __objRest, __async } from '../chunk-STZMOEWR.mjs';
4
4
  import { createComponent, mergeProps, delegateEvents, render, Portal, spread, template, insert, memo, effect, className, use, setAttribute, Dynamic } from 'solid-js/web';
@@ -11,8 +11,8 @@ import { autoUpdate, offset, flip, shift } from '@floating-ui/dom';
11
11
  import { useFloating } from 'solid-floating-ui';
12
12
  import { cva } from 'class-variance-authority';
13
13
 
14
- // _j9cq3718i:/home/runner/work/novu/novu/packages/js/src/ui/index.directcss
15
- 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}`;
14
+ // _0emab6gc0:/home/runner/work/novu/novu/packages/js/src/ui/index.directcss
15
+ 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}`;
16
16
 
17
17
  // src/ui/config/appearanceKeys.ts
18
18
  var appearanceKeys = [
@@ -78,6 +78,13 @@ var appearanceKeys = [
78
78
  "bellIcon",
79
79
  "lockIcon",
80
80
  "bellContainer",
81
+ "severityHigh__bellContainer",
82
+ "severityMedium__bellContainer",
83
+ "severityLow__bellContainer",
84
+ "bellSeverityGlow",
85
+ "severityGlowHigh__bellSeverityGlow",
86
+ "severityGlowMedium__bellSeverityGlow",
87
+ "severityGlowLow__bellSeverityGlow",
81
88
  "bellDot",
82
89
  "preferences__button",
83
90
  "preferencesContainer",
@@ -101,6 +108,13 @@ var appearanceKeys = [
101
108
  "notificationList__skeletonText",
102
109
  "notificationListNewNotificationsNotice__button",
103
110
  "notification",
111
+ "severityHigh__notification",
112
+ "severityMedium__notification",
113
+ "severityLow__notification",
114
+ "notificationBar",
115
+ "severityHigh__notificationBar",
116
+ "severityMedium__notificationBar",
117
+ "severityLow__notificationBar",
104
118
  "notificationContent",
105
119
  "notificationTextContainer",
106
120
  "notificationDot",
@@ -284,7 +298,10 @@ var defaultVariables = {
284
298
  colorShadow: "rgb(0,0,0)",
285
299
  fontSize: "1rem",
286
300
  borderRadius: "0.375rem",
287
- colorStripes: "#FF9A68"
301
+ colorStripes: "#FF9A68",
302
+ colorSeverityHigh: "#FB3748",
303
+ colorSeverityMedium: "#FF8447",
304
+ colorSeverityLow: "transparent"
288
305
  };
289
306
 
290
307
  // src/ui/helpers/constants.ts
@@ -821,6 +838,16 @@ var parseVariables = (variables, id) => {
821
838
  generateDefaultColor({ color: variables.colorShadow, key: "color-shadow", id }),
822
839
  generateDefaultColor({ color: variables.colorRing, key: "color-ring", id }),
823
840
  generateDefaultColor({ color: variables.colorStripes, key: "color-stripes", id }),
841
+ generateDefaultColor({ color: variables.colorSeverityHigh, key: "color-severity-high", id }),
842
+ generateDefaultColor({ color: variables.colorSeverityMedium, key: "color-severity-medium", id }),
843
+ generateDefaultColor({ color: variables.colorSeverityLow, key: "color-severity-low", id }),
844
+ ...generateAlphaShadeRulesFromColor({ color: variables.colorSeverityHigh, key: "color-severity-high-alpha", id }),
845
+ ...generateAlphaShadeRulesFromColor({
846
+ color: variables.colorSeverityMedium,
847
+ key: "color-severity-medium-alpha",
848
+ id
849
+ }),
850
+ ...generateAlphaShadeRulesFromColor({ color: variables.colorSeverityLow, key: "color-severity-low-alpha", id }),
824
851
  ...generateAlphaShadeRulesFromColor({ color: variables.colorBackground, key: "color-background-alpha", id }),
825
852
  ...generateAlphaShadeRulesFromColor({ color: variables.colorForeground, key: "color-foreground-alpha", id }),
826
853
  ...generateSolidShadeRulesFromColor({ color: variables.colorPrimary, key: "color-primary", id }),
@@ -877,10 +904,13 @@ var useStyle = () => {
877
904
  setIsServer(false);
878
905
  });
879
906
  const styleFuncMemo = createMemo(
880
- () => (appearanceKey, className, {
881
- iconKey
882
- } = {}) => {
883
- const appearanceKeyParts = appearanceKey.split("__");
907
+ () => ({
908
+ key,
909
+ className,
910
+ iconKey,
911
+ context
912
+ }) => {
913
+ const appearanceKeyParts = key.split("__");
884
914
  let finalAppearanceKeys = [];
885
915
  for (let i = 0; i < appearanceKeyParts.length; i += 1) {
886
916
  const accumulated = appearanceKeyParts.slice(i).join("__");
@@ -904,14 +934,17 @@ var useStyle = () => {
904
934
  let appearanceClassnames = [];
905
935
  const reversedFinalAppearanceKeys = finalAppearanceKeys.reverse();
906
936
  for (let i = 0; i < reversedFinalAppearanceKeys.length; i += 1) {
907
- if (typeof appearance.elements()[reversedFinalAppearanceKeys[i]] === "string") {
908
- appearanceClassnames.push(appearance.elements()[reversedFinalAppearanceKeys[i]]);
937
+ const elementStyles = appearance.elements()[reversedFinalAppearanceKeys[i]];
938
+ if (typeof elementStyles === "string") {
939
+ appearanceClassnames.push(elementStyles);
940
+ } else if (typeof elementStyles === "function") {
941
+ appearanceClassnames.push(elementStyles(context));
909
942
  }
910
943
  }
911
944
  appearanceClassnames = [publicFacingTwMerge(appearanceClassnames)];
912
945
  const cssInJsClasses = !!finalAppearanceKeys.length && !isServer() ? finalAppearanceKeys.map((appKey) => appearance.appearanceKeyToCssInJsClass[appKey]) : [];
913
946
  return cn(
914
- ...finalAppearanceKeys.map((key) => `nv-${key}`),
947
+ ...finalAppearanceKeys.map((key2) => `nv-${key2}`),
915
948
  "\u{1F514}",
916
949
  iconKey ? `nv-${iconKey} \u{1F5BC}\uFE0F` : "",
917
950
  finalClassName,
@@ -1203,7 +1236,7 @@ var STATUS_TO_FILTER = {
1203
1236
  };
1204
1237
  var DEFAULT_LIMIT = 10;
1205
1238
  var InboxProvider = (props) => {
1206
- var _a, _b;
1239
+ var _a, _b, _c;
1207
1240
  const [isOpened, setIsOpened] = createSignal(false);
1208
1241
  const [tabs, setTabs] = createSignal(props.tabs);
1209
1242
  const [activeTab, setActiveTab] = createSignal((_a = props.tabs[0] && props.tabs[0].label) != null ? _a : "");
@@ -1211,7 +1244,8 @@ var InboxProvider = (props) => {
1211
1244
  const [limit, setLimit] = createSignal(DEFAULT_LIMIT);
1212
1245
  const [filter, setFilter] = createSignal(__spreadProps(__spreadValues({}, STATUS_TO_FILTER["unreadRead" /* UNREAD_READ */]), {
1213
1246
  tags: props.tabs.length > 0 ? getTagsFromTab(props.tabs[0]) : [],
1214
- data: props.tabs.length > 0 ? (_b = props.tabs[0].filter) == null ? void 0 : _b.data : {}
1247
+ data: props.tabs.length > 0 ? (_b = props.tabs[0].filter) == null ? void 0 : _b.data : {},
1248
+ severity: props.tabs.length > 0 ? (_c = props.tabs[0].filter) == null ? void 0 : _c.severity : void 0
1215
1249
  }));
1216
1250
  const [hideBranding, setHideBranding] = createSignal(false);
1217
1251
  const [isDevelopmentMode, setIsDevelopmentMode] = createSignal(false);
@@ -1225,7 +1259,8 @@ var InboxProvider = (props) => {
1225
1259
  setStatus(newStatus);
1226
1260
  setFilter((old) => __spreadProps(__spreadValues({}, STATUS_TO_FILTER[newStatus]), {
1227
1261
  tags: old.tags,
1228
- data: old.data
1262
+ data: old.data,
1263
+ severity: old.severity
1229
1264
  }));
1230
1265
  };
1231
1266
  const setNewActiveTab = (newActiveTab) => {
@@ -1236,10 +1271,11 @@ var InboxProvider = (props) => {
1236
1271
  }
1237
1272
  setActiveTab(newActiveTab);
1238
1273
  setFilter((old) => {
1239
- var _a2;
1274
+ var _a2, _b2;
1240
1275
  return __spreadProps(__spreadValues({}, old), {
1241
1276
  tags,
1242
- data: (_a2 = tab == null ? void 0 : tab.filter) == null ? void 0 : _a2.data
1277
+ data: (_a2 = tab == null ? void 0 : tab.filter) == null ? void 0 : _a2.data,
1278
+ severity: (_b2 = tab == null ? void 0 : tab.filter) == null ? void 0 : _b2.severity
1243
1279
  });
1244
1280
  });
1245
1281
  };
@@ -1267,10 +1303,11 @@ var InboxProvider = (props) => {
1267
1303
  const tags = getTagsFromTab(firstTab);
1268
1304
  setActiveTab((_a2 = firstTab == null ? void 0 : firstTab.label) != null ? _a2 : "");
1269
1305
  setFilter((old) => {
1270
- var _a3;
1306
+ var _a3, _b2;
1271
1307
  return __spreadProps(__spreadValues({}, old), {
1272
1308
  tags,
1273
- data: (_a3 = firstTab == null ? void 0 : firstTab.filter) == null ? void 0 : _a3.data
1309
+ data: (_a3 = firstTab == null ? void 0 : firstTab.filter) == null ? void 0 : _a3.data,
1310
+ severity: (_b2 = firstTab == null ? void 0 : firstTab.filter) == null ? void 0 : _b2.severity
1274
1311
  });
1275
1312
  });
1276
1313
  setPreferencesFilter(props.preferencesFilter);
@@ -1360,9 +1397,18 @@ var CountProvider = (props) => {
1360
1397
  isOpened,
1361
1398
  tabs,
1362
1399
  filter,
1363
- limit
1400
+ limit,
1401
+ activeTab
1364
1402
  } = useInboxContext();
1365
- const [totalUnreadCount, setTotalUnreadCount] = createSignal(0);
1403
+ const [unreadCount, setUnreadCount] = createSignal({
1404
+ total: 0,
1405
+ severity: {
1406
+ ["high" /* HIGH */]: 0,
1407
+ ["medium" /* MEDIUM */]: 0,
1408
+ ["low" /* LOW */]: 0,
1409
+ ["none" /* NONE */]: 0
1410
+ }
1411
+ });
1366
1412
  const [unreadCounts, setUnreadCounts] = createSignal(/* @__PURE__ */ new Map());
1367
1413
  const [newNotificationCounts, setNewNotificationCounts] = createSignal(/* @__PURE__ */ new Map());
1368
1414
  const updateTabCounts = () => __async(void 0, null, function* () {
@@ -1370,13 +1416,14 @@ var CountProvider = (props) => {
1370
1416
  return;
1371
1417
  }
1372
1418
  const filters = tabs().map((tab) => {
1373
- var _a;
1419
+ var _a, _b;
1374
1420
  return {
1375
1421
  tags: getTagsFromTab(tab),
1376
1422
  read: false,
1377
1423
  archived: false,
1378
1424
  snoozed: false,
1379
- data: (_a = tab.filter) == null ? void 0 : _a.data
1425
+ data: (_a = tab.filter) == null ? void 0 : _a.data,
1426
+ severity: (_b = tab.filter) == null ? void 0 : _b.severity
1380
1427
  };
1381
1428
  });
1382
1429
  const {
@@ -1392,7 +1439,11 @@ var CountProvider = (props) => {
1392
1439
  counts
1393
1440
  } = data;
1394
1441
  for (let i = 0; i < counts.length; i += 1) {
1395
- const tagsKey = createKey(counts[i].filter.tags, counts[i].filter.data);
1442
+ const tagsKey = createKey({
1443
+ tags: counts[i].filter.tags,
1444
+ data: counts[i].filter.data,
1445
+ severity: counts[i].filter.severity
1446
+ });
1396
1447
  newMap.set(tagsKey, data == null ? void 0 : data.counts[i].count);
1397
1448
  }
1398
1449
  setUnreadCounts(newMap);
@@ -1403,7 +1454,7 @@ var CountProvider = (props) => {
1403
1454
  useWebSocketEvent({
1404
1455
  event: "notifications.unread_count_changed",
1405
1456
  eventHandler: (data) => {
1406
- setTotalUnreadCount(data.result);
1457
+ setUnreadCount(data.result);
1407
1458
  updateTabCounts();
1408
1459
  }
1409
1460
  });
@@ -1415,20 +1466,21 @@ var CountProvider = (props) => {
1415
1466
  if (!data) {
1416
1467
  return;
1417
1468
  }
1418
- setTotalUnreadCount(data.totalUnreadCount);
1469
+ setUnreadCount(data.unreadCount);
1419
1470
  }
1420
1471
  });
1421
- const updateNewNotificationCountsOrCache = (notification, tags, data) => {
1472
+ const updateNewNotificationCountsOrCache = (tabLabel, notification, tags, data, severity) => {
1422
1473
  const notificationsCache = novu.notifications.cache;
1423
1474
  const limitValue = limit();
1424
1475
  const tabSpecificFilterForCache = __spreadProps(__spreadValues({}, filter()), {
1425
1476
  tags,
1426
1477
  data,
1478
+ severity,
1427
1479
  after: void 0,
1428
1480
  limit: limitValue
1429
1481
  });
1430
1482
  const hasEmptyCache = !notificationsCache.has(tabSpecificFilterForCache);
1431
- if (!isOpened() && hasEmptyCache) {
1483
+ if (hasEmptyCache && (!isOpened() || activeTab() !== tabLabel)) {
1432
1484
  return;
1433
1485
  }
1434
1486
  const cachedData = notificationsCache.getAll(tabSpecificFilterForCache) || {
@@ -1437,14 +1489,18 @@ var CountProvider = (props) => {
1437
1489
  notifications: []
1438
1490
  };
1439
1491
  const hasLessThenMinAmount = ((cachedData == null ? void 0 : cachedData.notifications.length) || 0) < MIN_AMOUNT_OF_NOTIFICATIONS;
1440
- if (hasLessThenMinAmount) {
1492
+ if (hasLessThenMinAmount || !isOpened()) {
1441
1493
  notificationsCache.update(tabSpecificFilterForCache, __spreadProps(__spreadValues({}, cachedData), {
1442
1494
  notifications: [notification, ...cachedData.notifications]
1443
1495
  }));
1444
1496
  return;
1445
1497
  }
1446
1498
  setNewNotificationCounts((oldMap) => {
1447
- const key = createKey(tags, data);
1499
+ const key = createKey({
1500
+ tags,
1501
+ data,
1502
+ severity
1503
+ });
1448
1504
  const newMap = new Map(oldMap);
1449
1505
  newMap.set(key, (oldMap.get(key) || 0) + 1);
1450
1506
  return newMap;
@@ -1455,23 +1511,34 @@ var CountProvider = (props) => {
1455
1511
  eventHandler: (_0) => __async(void 0, [_0], function* ({
1456
1512
  result: notification
1457
1513
  }) {
1458
- var _a;
1514
+ var _a, _b;
1459
1515
  if (filter().archived || filter().snoozed) {
1460
1516
  return;
1461
1517
  }
1462
1518
  const currentTabs = tabs();
1519
+ const processedFilters = /* @__PURE__ */ new Set();
1463
1520
  if (currentTabs.length > 0) {
1464
1521
  for (const tab of currentTabs) {
1465
1522
  const tabTags = getTagsFromTab(tab);
1466
1523
  const tabDataFilterCriteria = (_a = tab.filter) == null ? void 0 : _a.data;
1524
+ const tabSeverityFilterCriteria = (_b = tab.filter) == null ? void 0 : _b.severity;
1467
1525
  const matchesTagFilter = checkNotificationTagFilter(notification.tags, tabTags);
1468
1526
  const matchesDataFilterCriteria = checkNotificationDataFilter(notification.data, tabDataFilterCriteria);
1469
- if (matchesTagFilter && matchesDataFilterCriteria) {
1470
- updateNewNotificationCountsOrCache(notification, tabTags, tabDataFilterCriteria);
1527
+ const matchesSeverityFilterCriteria = !tabSeverityFilterCriteria || Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria.length === 0 || Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria.includes(notification.severity) || !Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria === notification.severity;
1528
+ if (matchesTagFilter && matchesDataFilterCriteria && matchesSeverityFilterCriteria) {
1529
+ const filterKey = createKey({
1530
+ tags: tabTags,
1531
+ data: tabDataFilterCriteria,
1532
+ severity: tabSeverityFilterCriteria
1533
+ });
1534
+ if (!processedFilters.has(filterKey)) {
1535
+ processedFilters.add(filterKey);
1536
+ updateNewNotificationCountsOrCache(tab.label, notification, tabTags, tabDataFilterCriteria, tabSeverityFilterCriteria);
1537
+ }
1471
1538
  }
1472
1539
  }
1473
1540
  } else {
1474
- updateNewNotificationCountsOrCache(notification, [], void 0);
1541
+ updateNewNotificationCountsOrCache("", notification, [], void 0, void 0);
1475
1542
  }
1476
1543
  })
1477
1544
  });
@@ -1488,7 +1555,7 @@ var CountProvider = (props) => {
1488
1555
  };
1489
1556
  return createComponent(CountContext.Provider, {
1490
1557
  value: {
1491
- totalUnreadCount,
1558
+ unreadCount,
1492
1559
  unreadCounts,
1493
1560
  newNotificationCounts,
1494
1561
  resetNewNotificationCounts
@@ -1498,19 +1565,21 @@ var CountProvider = (props) => {
1498
1565
  }
1499
1566
  });
1500
1567
  };
1501
- var createKey = (tags, data) => {
1568
+ var createKey = (filter) => {
1569
+ var _a, _b;
1502
1570
  return JSON.stringify({
1503
- tags: tags != null ? tags : [],
1504
- data: data != null ? data : {}
1571
+ tags: (_a = filter.tags) != null ? _a : [],
1572
+ data: (_b = filter.data) != null ? _b : {},
1573
+ severity: filter.severity
1505
1574
  });
1506
1575
  };
1507
- var useTotalUnreadCount = () => {
1576
+ var useUnreadCount = () => {
1508
1577
  const context = useContext(CountContext);
1509
1578
  if (!context) {
1510
- throw new Error("useTotalUnreadCount must be used within a CountProvider");
1579
+ throw new Error("useUnreadCount must be used within a CountProvider");
1511
1580
  }
1512
1581
  return {
1513
- totalUnreadCount: context.totalUnreadCount
1582
+ unreadCount: context.unreadCount
1514
1583
  };
1515
1584
  };
1516
1585
  var useNewMessagesCount = (props) => {
@@ -1518,7 +1587,7 @@ var useNewMessagesCount = (props) => {
1518
1587
  if (!context) {
1519
1588
  throw new Error("useNewMessagesCount must be used within a CountProvider");
1520
1589
  }
1521
- const key = createMemo(() => createKey(props.filter.tags, props.filter.data));
1590
+ const key = createMemo(() => createKey(props.filter));
1522
1591
  const count = createMemo(() => context.newNotificationCounts().get(key()) || 0);
1523
1592
  const reset = () => context.resetNewNotificationCounts(key());
1524
1593
  return {
@@ -1526,12 +1595,12 @@ var useNewMessagesCount = (props) => {
1526
1595
  reset
1527
1596
  };
1528
1597
  };
1529
- var useUnreadCount = (props) => {
1598
+ var useFilteredUnreadCount = (props) => {
1530
1599
  const context = useContext(CountContext);
1531
1600
  if (!context) {
1532
- throw new Error("useUnreadCount must be used within a CountProvider");
1601
+ throw new Error("useFilteredUnreadCount must be used within a CountProvider");
1533
1602
  }
1534
- const count = createMemo(() => context.unreadCounts().get(createKey(props.filter.tags, props.filter.data)) || 0);
1603
+ const count = createMemo(() => context.unreadCounts().get(createKey(props.filter)) || 0);
1535
1604
  return count;
1536
1605
  };
1537
1606
  var useUnreadCounts = (props) => {
@@ -1540,7 +1609,7 @@ var useUnreadCounts = (props) => {
1540
1609
  throw new Error("useUnreadCounts must be used within a CountProvider");
1541
1610
  }
1542
1611
  const counts = createMemo(() => props.filters.map((filter) => {
1543
- return context.unreadCounts().get(createKey(filter.tags, filter.data)) || 0;
1612
+ return context.unreadCounts().get(createKey(filter)) || 0;
1544
1613
  }));
1545
1614
  return counts;
1546
1615
  };
@@ -1671,7 +1740,7 @@ var ArrowRight = (props) => {
1671
1740
  return _el$;
1672
1741
  })();
1673
1742
  };
1674
- var _tmpl$6 = /* @__PURE__ */ 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>`);
1743
+ var _tmpl$6 = /* @__PURE__ */ 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)">`);
1675
1744
  function Bell(props) {
1676
1745
  return (() => {
1677
1746
  var _el$ = _tmpl$6();
@@ -1840,31 +1909,104 @@ var IconRendererWrapper = (props) => {
1840
1909
 
1841
1910
  // src/ui/components/elements/Bell/DefaultBellContainer.tsx
1842
1911
  var _tmpl$24 = /* @__PURE__ */ template(`<span>`);
1912
+ var _tmpl$25 = /* @__PURE__ */ template(`<span><div>`);
1913
+ var SEVERITY_GLOW_KEYS = {
1914
+ ["none" /* NONE */]: "bellSeverityGlow",
1915
+ ["high" /* HIGH */]: "severityGlowHigh__bellSeverityGlow",
1916
+ ["medium" /* MEDIUM */]: "severityGlowMedium__bellSeverityGlow",
1917
+ ["low" /* LOW */]: "severityGlowLow__bellSeverityGlow"
1918
+ };
1919
+ var SEVERITY_TO_CONTAINER_KEYS = {
1920
+ ["none" /* NONE */]: "bellContainer",
1921
+ ["high" /* HIGH */]: "severityHigh__bellContainer",
1922
+ ["medium" /* MEDIUM */]: "severityMedium__bellContainer",
1923
+ ["low" /* LOW */]: "severityLow__bellContainer"
1924
+ };
1843
1925
  var BellContainer = (props) => {
1844
1926
  const style = useStyle();
1845
- const bellIconStyle = style("bellIcon", "nt-size-4");
1927
+ const severity = createMemo(() => {
1928
+ if (props.unreadCount.severity["high" /* HIGH */] > 0) {
1929
+ return "high" /* HIGH */;
1930
+ } else if (props.unreadCount.severity["medium" /* MEDIUM */] > 0) {
1931
+ return "medium" /* MEDIUM */;
1932
+ } else if (props.unreadCount.severity["low" /* LOW */] > 0) {
1933
+ return "low" /* LOW */;
1934
+ }
1935
+ return "none" /* NONE */;
1936
+ });
1937
+ const unreadCount = createMemo(() => props.unreadCount);
1846
1938
  return (() => {
1847
- var _el$ = _tmpl$24();
1939
+ var _el$ = _tmpl$25(), _el$2 = _el$.firstChild;
1848
1940
  insert(_el$, createComponent(IconRendererWrapper, {
1849
1941
  iconKey: "bell",
1850
- "class": bellIconStyle,
1942
+ get ["class"]() {
1943
+ return style({
1944
+ key: "bellIcon",
1945
+ className: "nt-size-4",
1946
+ context: {
1947
+ unreadCount: unreadCount()
1948
+ }
1949
+ });
1950
+ },
1851
1951
  get fallback() {
1852
1952
  return createComponent(Bell, {
1853
- "class": bellIconStyle
1953
+ get ["class"]() {
1954
+ return style({
1955
+ key: "bellIcon",
1956
+ className: "nt-size-4",
1957
+ context: {
1958
+ unreadCount: unreadCount()
1959
+ }
1960
+ });
1961
+ }
1854
1962
  });
1855
1963
  }
1856
1964
  }), null);
1857
1965
  insert(_el$, createComponent(Show, {
1858
1966
  get when() {
1859
- return props.unreadCount > 0;
1967
+ return props.unreadCount.total > 0;
1860
1968
  },
1861
1969
  get children() {
1862
- var _el$2 = _tmpl$24();
1863
- effect(() => 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")));
1864
- return _el$2;
1970
+ var _el$3 = _tmpl$24();
1971
+ effect(() => className(_el$3, style({
1972
+ key: "bellDot",
1973
+ 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",
1974
+ context: {
1975
+ unreadCount: unreadCount()
1976
+ }
1977
+ })));
1978
+ return _el$3;
1865
1979
  }
1866
1980
  }), null);
1867
- effect(() => className(_el$, style("bellContainer", `nt-size-4 nt-flex nt-justify-center nt-items-center nt-relative nt-text-foreground nt-cursor-pointer`)));
1981
+ effect((_p$) => {
1982
+ var _v$ = style({
1983
+ key: SEVERITY_TO_CONTAINER_KEYS[severity()],
1984
+ 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]", {
1985
+ "[--bell-gradient-start:var(--nv-color-severity-high)] [--bell-gradient-end:oklch(from_var(--nv-color-severity-high)_45%_c_h)]": severity() === "high" /* HIGH */,
1986
+ "[--bell-gradient-start:var(--nv-color-severity-medium)] [--bell-gradient-end:oklch(from_var(--nv-color-severity-medium)_45%_c_h)]": severity() === "medium" /* MEDIUM */,
1987
+ "[--bell-gradient-start:var(--nv-color-severity-low)] [--bell-gradient-end:oklch(from_var(--nv-color-severity-low)_45%_c_h)]": severity() === "low" /* LOW */
1988
+ }),
1989
+ context: {
1990
+ unreadCount: unreadCount()
1991
+ }
1992
+ }), _v$2 = style({
1993
+ key: SEVERITY_GLOW_KEYS[severity()],
1994
+ 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', {
1995
+ "nt-bg-severity-high-alpha-100 before:nt-bg-severity-high-alpha-200": severity() === "high" /* HIGH */,
1996
+ "nt-bg-severity-medium-alpha-100 before:nt-bg-severity-medium-alpha-200": severity() === "medium" /* MEDIUM */,
1997
+ "nt-bg-severity-low-alpha-100 before:nt-bg-severity-low-alpha-200": severity() === "low" /* LOW */
1998
+ }),
1999
+ context: {
2000
+ unreadCount: unreadCount()
2001
+ }
2002
+ });
2003
+ _v$ !== _p$.e && className(_el$, _p$.e = _v$);
2004
+ _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
2005
+ return _p$;
2006
+ }, {
2007
+ e: void 0,
2008
+ t: void 0
2009
+ });
1868
2010
  return _el$;
1869
2011
  })();
1870
2012
  };
@@ -1872,8 +2014,8 @@ var BellContainer = (props) => {
1872
2014
  // src/ui/components/elements/Bell/Bell.tsx
1873
2015
  var Bell2 = (props) => {
1874
2016
  const {
1875
- totalUnreadCount
1876
- } = useTotalUnreadCount();
2017
+ unreadCount
2018
+ } = useUnreadCount();
1877
2019
  return createComponent(Show, {
1878
2020
  get when() {
1879
2021
  return props.renderBell;
@@ -1881,21 +2023,22 @@ var Bell2 = (props) => {
1881
2023
  get fallback() {
1882
2024
  return createComponent(BellContainer, {
1883
2025
  get unreadCount() {
1884
- return totalUnreadCount();
2026
+ return unreadCount();
1885
2027
  }
1886
2028
  });
1887
2029
  },
1888
2030
  get children() {
1889
2031
  return createComponent(ExternalElementRenderer, {
1890
- render: (el) => props.renderBell(el, totalUnreadCount())
2032
+ render: (el) => props.renderBell ? props.renderBell(el, unreadCount()) : () => {
2033
+ }
1891
2034
  });
1892
2035
  }
1893
2036
  });
1894
2037
  };
1895
- var _tmpl$25 = /* @__PURE__ */ 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>`);
2038
+ var _tmpl$26 = /* @__PURE__ */ 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>`);
1896
2039
  var ArrowUpRight = (props) => {
1897
2040
  return (() => {
1898
- var _el$ = _tmpl$25();
2041
+ var _el$ = _tmpl$26();
1899
2042
  spread(_el$, props, true, true);
1900
2043
  return _el$;
1901
2044
  })();
@@ -2046,7 +2189,10 @@ var TooltipContentBody = (props) => {
2046
2189
  },
2047
2190
  ref: setFloating,
2048
2191
  get ["class"]() {
2049
- return memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "tooltipContent", tooltipContentVariants());
2192
+ return memo(() => !!local.class)() ? local.class : style({
2193
+ key: local.appearanceKey || "tooltipContent",
2194
+ className: tooltipContentVariants()
2195
+ });
2050
2196
  },
2051
2197
  get style() {
2052
2198
  return __spreadProps(__spreadValues({}, floatingStyles()), {
@@ -2102,7 +2248,7 @@ function mergeRefs(...refs) {
2102
2248
  }
2103
2249
 
2104
2250
  // src/ui/components/primitives/Tooltip/TooltipTrigger.tsx
2105
- var _tmpl$26 = /* @__PURE__ */ template(`<button>`);
2251
+ var _tmpl$27 = /* @__PURE__ */ template(`<button>`);
2106
2252
  var TooltipTrigger = (props) => {
2107
2253
  const {
2108
2254
  setReference,
@@ -2137,7 +2283,7 @@ var TooltipTrigger = (props) => {
2137
2283
  }, rest));
2138
2284
  }
2139
2285
  return (() => {
2140
- var _el$ = _tmpl$26();
2286
+ var _el$ = _tmpl$27();
2141
2287
  _el$.addEventListener("mouseleave", () => {
2142
2288
  setOpen(false);
2143
2289
  });
@@ -2148,7 +2294,9 @@ var TooltipTrigger = (props) => {
2148
2294
  typeof _ref$2 === "function" && use(_ref$2, _el$);
2149
2295
  spread(_el$, mergeProps({
2150
2296
  get ["class"]() {
2151
- return style(local.appearanceKey || "tooltipTrigger");
2297
+ return style({
2298
+ key: local.appearanceKey || "tooltipTrigger"
2299
+ });
2152
2300
  }
2153
2301
  }, rest), false, true);
2154
2302
  insert(_el$, () => props.children);
@@ -2170,7 +2318,7 @@ var Tooltip = {
2170
2318
  };
2171
2319
 
2172
2320
  // src/ui/components/primitives/CopyToClipboard.tsx
2173
- var _tmpl$27 = /* @__PURE__ */ template(`<button type=button>`);
2321
+ var _tmpl$28 = /* @__PURE__ */ template(`<button type=button>`);
2174
2322
  function CopyToClipboard(props) {
2175
2323
  const [isCopied, setIsCopied] = createSignal(false);
2176
2324
  const style = useStyle();
@@ -2204,11 +2352,14 @@ function CopyToClipboard(props) {
2204
2352
  get children() {
2205
2353
  return [createComponent(Tooltip.Trigger, {
2206
2354
  asChild: (triggerProps) => (() => {
2207
- var _el$ = _tmpl$27();
2355
+ var _el$ = _tmpl$28();
2208
2356
  spread(_el$, mergeProps(triggerProps, {
2209
2357
  "onClick": handleCopy,
2210
2358
  get ["class"]() {
2211
- return style("button", "nt-cursor-pointer");
2359
+ return style({
2360
+ key: "button",
2361
+ className: "nt-cursor-pointer"
2362
+ });
2212
2363
  }
2213
2364
  }), false, true);
2214
2365
  insert(_el$, () => props.children);
@@ -2225,8 +2376,8 @@ function CopyToClipboard(props) {
2225
2376
  }
2226
2377
 
2227
2378
  // src/ui/components/elements/Footer.tsx
2228
- var _tmpl$28 = /* @__PURE__ */ template(`<span class="nt-z-10 nt-text-xs nt-text-stripes">`);
2229
- var _tmpl$29 = /* @__PURE__ */ template(`<span class="nt-z-10 nt-text-xs">\u2022`);
2379
+ var _tmpl$29 = /* @__PURE__ */ template(`<span class="nt-z-10 nt-text-xs nt-text-stripes">`);
2380
+ var _tmpl$210 = /* @__PURE__ */ template(`<span class="nt-z-10 nt-text-xs">\u2022`);
2230
2381
  var _tmpl$32 = /* @__PURE__ */ 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`);
2231
2382
  var _tmpl$42 = /* @__PURE__ */ template(`<span class=nt-underline>Copy cURL`);
2232
2383
  var _tmpl$52 = /* @__PURE__ */ 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`);
@@ -2265,7 +2416,7 @@ var Footer = () => {
2265
2416
  return isDevelopmentMode();
2266
2417
  },
2267
2418
  get children() {
2268
- var _el$3 = _tmpl$28();
2419
+ var _el$3 = _tmpl$29();
2269
2420
  insert(_el$3, (() => {
2270
2421
  var _c$ = memo(() => !!isKeyless());
2271
2422
  return () => _c$() ? createComponent(Tooltip.Root, {
@@ -2291,7 +2442,7 @@ var Footer = () => {
2291
2442
  return memo(() => !!isDevelopmentMode())() && !hideBranding();
2292
2443
  },
2293
2444
  get children() {
2294
- return _tmpl$29();
2445
+ return _tmpl$210();
2295
2446
  }
2296
2447
  }), null);
2297
2448
  insert(_el$2, createComponent(Show, {
@@ -2390,7 +2541,7 @@ var buttonVariants = cva(cn('nt-inline-flex nt-gap-4 nt-items-center nt-justify-
2390
2541
  }
2391
2542
  });
2392
2543
  var Button = (props) => {
2393
- const [local, rest] = splitProps(props, ["class", "appearanceKey"]);
2544
+ const [local, rest] = splitProps(props, ["class", "appearanceKey", "context"]);
2394
2545
  const style = useStyle();
2395
2546
  return (() => {
2396
2547
  var _el$ = _tmpl$30();
@@ -2402,17 +2553,21 @@ var Button = (props) => {
2402
2553
  return props.size;
2403
2554
  },
2404
2555
  get ["class"]() {
2405
- return style(local.appearanceKey || "button", cn(buttonVariants({
2406
- variant: props.variant,
2407
- size: props.size
2408
- }), local.class));
2556
+ return style({
2557
+ key: local.appearanceKey || "button",
2558
+ className: cn(buttonVariants({
2559
+ variant: props.variant,
2560
+ size: props.size
2561
+ }), local.class),
2562
+ context: local.context
2563
+ });
2409
2564
  }
2410
2565
  }, rest), false, false);
2411
2566
  return _el$;
2412
2567
  })();
2413
2568
  };
2414
2569
  var _tmpl$31 = /* @__PURE__ */ template(`<div>`);
2415
- var _tmpl$210 = /* @__PURE__ */ template(`<div><span>`);
2570
+ var _tmpl$211 = /* @__PURE__ */ template(`<div><span>`);
2416
2571
  var DatePickerContext = createContext({
2417
2572
  currentDate: () => /* @__PURE__ */ new Date(),
2418
2573
  setCurrentDate: () => {
@@ -2454,7 +2609,10 @@ var DatePicker = (props) => {
2454
2609
  var _el$ = _tmpl$31();
2455
2610
  spread(_el$, mergeProps({
2456
2611
  get ["class"]() {
2457
- return style("datePicker", cn("nt-p-2", local.class));
2612
+ return style({
2613
+ key: "datePicker",
2614
+ className: cn("nt-p-2", local.class)
2615
+ });
2458
2616
  }
2459
2617
  }, rest), false, true);
2460
2618
  insert(_el$, () => local.children);
@@ -2471,11 +2629,14 @@ var DatePickerHeader = (props) => {
2471
2629
  currentDate,
2472
2630
  maxDays
2473
2631
  } = useDatePicker();
2474
- useAppearance();
2475
- const prevIconClass = style("datePickerControlPrevTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700", {
2632
+ const prevIconClass = style({
2633
+ key: "datePickerControlPrevTrigger__icon",
2634
+ className: "nt-size-4 nt-text-foreground-alpha-700",
2476
2635
  iconKey: "arrowLeft"
2477
2636
  });
2478
- const nextIconClass = style("datePickerControlNextTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700", {
2637
+ const nextIconClass = style({
2638
+ key: "datePickerControlNextTrigger__icon",
2639
+ className: "nt-size-4 nt-text-foreground-alpha-700",
2479
2640
  iconKey: "arrowRight"
2480
2641
  });
2481
2642
  const handlePrevMonth = () => {
@@ -2514,10 +2675,13 @@ var DatePickerHeader = (props) => {
2514
2675
  return view.getFullYear() === maxDate.getFullYear() && view.getMonth() === maxDate.getMonth();
2515
2676
  };
2516
2677
  return (() => {
2517
- var _el$2 = _tmpl$210(), _el$3 = _el$2.firstChild;
2678
+ var _el$2 = _tmpl$211(), _el$3 = _el$2.firstChild;
2518
2679
  spread(_el$2, mergeProps({
2519
2680
  get ["class"]() {
2520
- 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));
2681
+ return style({
2682
+ key: local.appearanceKey || "datePickerControl",
2683
+ 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)
2684
+ });
2521
2685
  }
2522
2686
  }, rest), false, true);
2523
2687
  insert(_el$2, createComponent(Button, {
@@ -2570,7 +2734,10 @@ var DatePickerHeader = (props) => {
2570
2734
  });
2571
2735
  }
2572
2736
  }), null);
2573
- effect(() => className(_el$3, style("datePickerHeaderMonth", "nt-text-sm nt-font-medium nt-text-foreground-alpha-700")));
2737
+ effect(() => className(_el$3, style({
2738
+ key: "datePickerHeaderMonth",
2739
+ className: "nt-text-sm nt-font-medium nt-text-foreground-alpha-700"
2740
+ })));
2574
2741
  return _el$2;
2575
2742
  })();
2576
2743
  };
@@ -2674,7 +2841,10 @@ var DatePickerCalendar = (props) => {
2674
2841
  _el$8.$$click = (e) => e.stopPropagation();
2675
2842
  spread(_el$8, mergeProps({
2676
2843
  get ["class"]() {
2677
- return style(local.appearanceKey || "datePickerCalendar", cn("nt-grid nt-grid-cols-7 nt-gap-1", local.class));
2844
+ return style({
2845
+ key: local.appearanceKey || "datePickerCalendar",
2846
+ className: cn("nt-grid nt-grid-cols-7 nt-gap-1", local.class)
2847
+ });
2678
2848
  }
2679
2849
  }, rest), false, true);
2680
2850
  insert(_el$8, () => getDaysInMonth().map((date) => {
@@ -2712,7 +2882,10 @@ var PopoverClose = (props) => {
2712
2882
  _el$.$$click = handleClick;
2713
2883
  spread(_el$, mergeProps({
2714
2884
  get ["class"]() {
2715
- return style(local.appearanceKey || "popoverClose", local.class);
2885
+ return style({
2886
+ key: local.appearanceKey || "popoverClose",
2887
+ className: local.class
2888
+ });
2716
2889
  }
2717
2890
  }, rest), false, false);
2718
2891
  return _el$;
@@ -2834,7 +3007,10 @@ var PopoverContentBody = (props) => {
2834
3007
  use(setFloating, _el$);
2835
3008
  spread(_el$, mergeProps({
2836
3009
  get ["class"]() {
2837
- return style(local.appearanceKey || "popoverContent", cn(popoverContentVariants(), local.class));
3010
+ return style({
3011
+ key: local.appearanceKey || "popoverContent",
3012
+ className: cn(popoverContentVariants(), local.class)
3013
+ });
2838
3014
  },
2839
3015
  get style() {
2840
3016
  return floatingStyles();
@@ -2937,7 +3113,9 @@ var PopoverTrigger = (props) => {
2937
3113
  typeof _ref$2 === "function" && use(_ref$2, _el$);
2938
3114
  spread(_el$, mergeProps({
2939
3115
  get ["class"]() {
2940
- return style(local.appearanceKey || "dropdownTrigger");
3116
+ return style({
3117
+ key: local.appearanceKey || "dropdownTrigger"
3118
+ });
2941
3119
  }
2942
3120
  }, rest), false, true);
2943
3121
  insert(_el$, () => props.children);
@@ -3023,7 +3201,10 @@ var DropdownTrigger = (props) => {
3023
3201
  const [local, rest] = splitProps(props, ["appearanceKey", "class"]);
3024
3202
  return createComponent(Popover.Trigger, mergeProps({
3025
3203
  get ["class"]() {
3026
- return style(local.appearanceKey || "dropdownTrigger", cn(dropdownTriggerButtonVariants(), local.class));
3204
+ return style({
3205
+ key: local.appearanceKey || "dropdownTrigger",
3206
+ className: cn(dropdownTriggerButtonVariants(), local.class)
3207
+ });
3027
3208
  }
3028
3209
  }, rest));
3029
3210
  };
@@ -3149,7 +3330,10 @@ var TabsRoot = (props) => {
3149
3330
  use(setTabsContainer, _el$);
3150
3331
  spread(_el$, mergeProps({
3151
3332
  get ["class"]() {
3152
- return style(local.appearanceKey || "tabsRoot", cn(tabsRootVariants(), local.class));
3333
+ return style({
3334
+ key: local.appearanceKey || "tabsRoot",
3335
+ className: cn(tabsRootVariants(), local.class)
3336
+ });
3153
3337
  }
3154
3338
  }, rest), false, true);
3155
3339
  insert(_el$, () => local.children);
@@ -3174,7 +3358,10 @@ var TabsContent = (props) => {
3174
3358
  var _el$ = _tmpl$38();
3175
3359
  spread(_el$, mergeProps({
3176
3360
  get ["class"]() {
3177
- return memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "tabsContent", activeTab() === local.value ? "nt-block" : "nt-hidden");
3361
+ return style({
3362
+ key: local.appearanceKey || "tabsContent",
3363
+ className: cn(local.class, activeTab() === local.value ? "nt-block" : "nt-hidden")
3364
+ });
3178
3365
  },
3179
3366
  get id() {
3180
3367
  return `tabpanel-${local.value}`;
@@ -3192,7 +3379,7 @@ var TabsContent = (props) => {
3192
3379
  });
3193
3380
  };
3194
3381
  var _tmpl$39 = /* @__PURE__ */ template(`<div role=tablist>`);
3195
- var _tmpl$211 = /* @__PURE__ */ template(`<div class="nt-relative nt-z-[-1]">`);
3382
+ var _tmpl$212 = /* @__PURE__ */ template(`<div class="nt-relative nt-z-[-1]">`);
3196
3383
  var tabsListVariants = () => "nt-flex nt-gap-6";
3197
3384
  var TabsList = (props) => {
3198
3385
  const [local, rest] = splitProps(props, ["class", "appearanceKey", "ref", "children"]);
@@ -3203,12 +3390,15 @@ var TabsList = (props) => {
3203
3390
  typeof _ref$ === "function" ? use(_ref$, _el$) : local.ref = _el$;
3204
3391
  spread(_el$, mergeProps({
3205
3392
  get ["class"]() {
3206
- return style(local.appearanceKey || "tabsList", cn(tabsListVariants(), local.class));
3393
+ return style({
3394
+ key: local.appearanceKey || "tabsList",
3395
+ className: cn(tabsListVariants(), local.class)
3396
+ });
3207
3397
  }
3208
3398
  }, rest), false, true);
3209
3399
  insert(_el$, () => local.children);
3210
3400
  return _el$;
3211
- })(), _tmpl$211()];
3401
+ })(), _tmpl$212()];
3212
3402
  };
3213
3403
  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");
3214
3404
  var TabsTrigger = (props) => {
@@ -3234,7 +3424,10 @@ var TabsTrigger = (props) => {
3234
3424
  return (_a = local.appearanceKey) != null ? _a : "tabsTrigger";
3235
3425
  },
3236
3426
  get ["class"]() {
3237
- return memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "tabsTrigger", tabsTriggerVariants());
3427
+ return style({
3428
+ key: local.appearanceKey || "tabsTrigger",
3429
+ className: cn(tabsTriggerVariants(), local.class)
3430
+ });
3238
3431
  },
3239
3432
  get onClick() {
3240
3433
  var _a;
@@ -3280,7 +3473,7 @@ var inboxFilterLocalizationKeys = {
3280
3473
  snoozed: "inbox.filters.labels.snoozed"
3281
3474
  };
3282
3475
  var _tmpl$40 = /* @__PURE__ */ template(`<span><span>`);
3283
- var _tmpl$212 = /* @__PURE__ */ template(`<span>`);
3476
+ var _tmpl$213 = /* @__PURE__ */ template(`<span>`);
3284
3477
  var cases = [{
3285
3478
  status: "unreadRead" /* UNREAD_READ */,
3286
3479
  iconKey: "unread",
@@ -3333,15 +3526,22 @@ var StatusItem = (props) => {
3333
3526
  const {
3334
3527
  t
3335
3528
  } = useLocalization();
3336
- const itemIconClass = style("inboxStatus__dropdownItemLeft__icon", "nt-size-3", {
3529
+ const itemIconClass = style({
3530
+ key: "inboxStatus__dropdownItemLeft__icon",
3531
+ className: "nt-size-3",
3337
3532
  iconKey: props.iconKey
3338
3533
  });
3339
- const checkIconClass = style("inboxStatus__dropdownItemCheck__icon", "nt-size-3", {
3534
+ const checkIconClass = style({
3535
+ key: "inboxStatus__dropdownItemCheck__icon",
3536
+ className: "nt-size-3",
3340
3537
  iconKey: "check"
3341
3538
  });
3342
3539
  return createComponent(Dropdown.Item, {
3343
3540
  get ["class"]() {
3344
- return style("inboxStatus__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-8 nt-justify-between"));
3541
+ return style({
3542
+ key: "inboxStatus__dropdownItem",
3543
+ className: cn(dropdownItemVariants(), "nt-flex nt-gap-8 nt-justify-between")
3544
+ });
3345
3545
  },
3346
3546
  get onClick() {
3347
3547
  return props.onClick;
@@ -3356,7 +3556,7 @@ var StatusItem = (props) => {
3356
3556
  "class": itemIconClass,
3357
3557
  get fallback() {
3358
3558
  return (() => {
3359
- var _el$3 = _tmpl$212();
3559
+ var _el$3 = _tmpl$213();
3360
3560
  className(_el$3, itemIconClass);
3361
3561
  insert(_el$3, () => props.icon());
3362
3562
  return _el$3;
@@ -3365,7 +3565,13 @@ var StatusItem = (props) => {
3365
3565
  }), _el$2);
3366
3566
  insert(_el$2, () => t(props.localizationKey));
3367
3567
  effect((_p$) => {
3368
- 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");
3568
+ var _v$ = style({
3569
+ key: "inboxStatus__dropdownItemLabelContainer",
3570
+ className: "nt-flex nt-gap-2 nt-items-center"
3571
+ }), _v$2 = props.localizationKey, _v$3 = style({
3572
+ key: "inboxStatus__dropdownItemLabel",
3573
+ className: "nt-leading-none"
3574
+ });
3369
3575
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
3370
3576
  _v$2 !== _p$.t && setAttribute(_el$2, "data-localization", _p$.t = _v$2);
3371
3577
  _v$3 !== _p$.a && className(_el$2, _p$.a = _v$3);
@@ -3407,17 +3613,22 @@ var StatusDropdown = () => {
3407
3613
  const {
3408
3614
  t
3409
3615
  } = useLocalization();
3410
- const arrowDropDownIconClass = style("inboxStatus__dropdownItemRight__icon", "nt-text-foreground-alpha-600 nt-size-4", {
3616
+ const arrowDropDownIconClass = style({
3617
+ key: "inboxStatus__dropdownItemRight__icon",
3618
+ className: "nt-text-foreground-alpha-600 nt-size-4",
3411
3619
  iconKey: "arrowDropDown"
3412
3620
  });
3413
3621
  return createComponent(Dropdown.Root, {
3414
3622
  get children() {
3415
3623
  return [createComponent(Dropdown.Trigger, {
3416
3624
  get ["class"]() {
3417
- return style("inboxStatus__dropdownTrigger", cn(buttonVariants({
3418
- variant: "unstyled",
3419
- size: "none"
3420
- }), "nt-gap-0.5"));
3625
+ return style({
3626
+ key: "inboxStatus__dropdownTrigger",
3627
+ className: cn(buttonVariants({
3628
+ variant: "unstyled",
3629
+ size: "none"
3630
+ }), "nt-gap-0.5")
3631
+ });
3421
3632
  },
3422
3633
  asChild: (triggerProps) => createComponent(Button, mergeProps({
3423
3634
  variant: "unstyled",
@@ -3428,7 +3639,10 @@ var StatusDropdown = () => {
3428
3639
  var _el$ = _tmpl$41();
3429
3640
  insert(_el$, () => t(inboxFilterLocalizationKeys[status()]));
3430
3641
  effect((_p$) => {
3431
- var _v$ = inboxFilterLocalizationKeys[status()], _v$2 = style("inboxStatus__title", "nt-text-base");
3642
+ var _v$ = inboxFilterLocalizationKeys[status()], _v$2 = style({
3643
+ key: "inboxStatus__title",
3644
+ className: "nt-text-base"
3645
+ });
3432
3646
  _v$ !== _p$.e && setAttribute(_el$, "data-localization", _p$.e = _v$);
3433
3647
  _v$2 !== _p$.t && className(_el$, _p$.t = _v$2);
3434
3648
  return _p$;
@@ -3539,9 +3753,9 @@ var useNotificationsInfiniteScroll = (props) => {
3539
3753
  var usePreferences = (options) => {
3540
3754
  const novu = useNovu();
3541
3755
  const [loading, setLoading] = createSignal(true);
3542
- const [preferences, { mutate, refetch }] = createResource(options || {}, (_0) => __async(void 0, [_0], function* ({ tags }) {
3756
+ const [preferences, { mutate, refetch }] = createResource(options || {}, (_0) => __async(void 0, [_0], function* ({ tags, severity }) {
3543
3757
  try {
3544
- const response = yield novu.preferences.list({ tags });
3758
+ const response = yield novu.preferences.list({ tags, severity });
3545
3759
  return response.data;
3546
3760
  } catch (error) {
3547
3761
  console.error("Error fetching preferences:", error);
@@ -3631,12 +3845,17 @@ var ActionsItem = (props) => {
3631
3845
  t
3632
3846
  } = useLocalization();
3633
3847
  const DefaultIconComponent = iconKeyToComponentMap[props.iconKey];
3634
- const moreActionsIconClass = style("moreActions__dropdownItemLeft__icon", "nt-size-3", {
3848
+ const moreActionsIconClass = style({
3849
+ key: "moreActions__dropdownItemLeft__icon",
3850
+ className: "nt-size-3",
3635
3851
  iconKey: props.iconKey
3636
3852
  });
3637
3853
  return createComponent(Dropdown.Item, {
3638
3854
  get ["class"]() {
3639
- return style("moreActions__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-2"));
3855
+ return style({
3856
+ key: "moreActions__dropdownItem",
3857
+ className: cn(dropdownItemVariants(), "nt-flex nt-gap-2")
3858
+ });
3640
3859
  },
3641
3860
  get onClick() {
3642
3861
  return props.onClick;
@@ -3656,7 +3875,10 @@ var ActionsItem = (props) => {
3656
3875
  var _el$ = _tmpl$43();
3657
3876
  insert(_el$, () => t(props.localizationKey));
3658
3877
  effect((_p$) => {
3659
- var _v$ = props.localizationKey, _v$2 = style("moreActions__dropdownItemLabel", "nt-leading-none");
3878
+ var _v$ = props.localizationKey, _v$2 = style({
3879
+ key: "moreActions__dropdownItemLabel",
3880
+ className: "nt-leading-none"
3881
+ });
3660
3882
  _v$ !== _p$.e && setAttribute(_el$, "data-localization", _p$.e = _v$);
3661
3883
  _v$2 !== _p$.t && className(_el$, _p$.t = _v$2);
3662
3884
  return _p$;
@@ -3676,7 +3898,9 @@ var MoreActionsDropdown = () => {
3676
3898
  const {
3677
3899
  status
3678
3900
  } = useInboxContext();
3679
- const dotsIconClass = style("moreActions__dots", "nt-size-5", {
3901
+ const dotsIconClass = style({
3902
+ key: "moreActions__dots",
3903
+ className: "nt-size-5",
3680
3904
  iconKey: "dots"
3681
3905
  });
3682
3906
  return createComponent(Show, {
@@ -3688,7 +3912,9 @@ var MoreActionsDropdown = () => {
3688
3912
  get children() {
3689
3913
  return [createComponent(Dropdown.Trigger, {
3690
3914
  get ["class"]() {
3691
- return style("moreActions__dropdownTrigger");
3915
+ return style({
3916
+ key: "moreActions__dropdownTrigger"
3917
+ });
3692
3918
  },
3693
3919
  asChild: (triggerProps) => createComponent(Button, mergeProps({
3694
3920
  variant: "ghost",
@@ -3722,7 +3948,9 @@ var MoreActionsDropdown = () => {
3722
3948
  var _tmpl$44 = /* @__PURE__ */ template(`<div>`);
3723
3949
  var ActionsContainer = (props) => {
3724
3950
  const style = useStyle();
3725
- const cogsIconClass = style("icon", "nt-size-5", {
3951
+ const cogsIconClass = style({
3952
+ key: "icon",
3953
+ className: "nt-size-5",
3726
3954
  iconKey: "cogs"
3727
3955
  });
3728
3956
  return (() => {
@@ -3752,7 +3980,10 @@ var ActionsContainer = (props) => {
3752
3980
  }
3753
3981
  })
3754
3982
  }), null);
3755
- effect(() => className(_el$, style("moreActionsContainer", "nt-flex nt-gap-3")));
3983
+ effect(() => className(_el$, style({
3984
+ key: "moreActionsContainer",
3985
+ className: "nt-flex nt-gap-3"
3986
+ })));
3756
3987
  return _el$;
3757
3988
  })();
3758
3989
  };
@@ -3769,17 +4000,23 @@ var Header = (props) => {
3769
4000
  return props.navigateToPreferences;
3770
4001
  }
3771
4002
  }), null);
3772
- effect(() => 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"))));
4003
+ effect(() => className(_el$, style({
4004
+ key: "inboxHeader",
4005
+ 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"
4006
+ })));
3773
4007
  return _el$;
3774
4008
  })();
3775
4009
  };
3776
4010
  var _tmpl$46 = /* @__PURE__ */ template(`<div>`);
3777
- var _tmpl$213 = /* @__PURE__ */ template(`<div><div></div><div>`);
4011
+ var _tmpl$214 = /* @__PURE__ */ template(`<div><div></div><div>`);
3778
4012
  var SkeletonText = (props) => {
3779
4013
  const style = useStyle();
3780
4014
  return (() => {
3781
4015
  var _el$ = _tmpl$46();
3782
- effect(() => 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))));
4016
+ effect(() => className(_el$, style({
4017
+ key: props.appearanceKey,
4018
+ 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)
4019
+ })));
3783
4020
  return _el$;
3784
4021
  })();
3785
4022
  };
@@ -3787,16 +4024,28 @@ var SkeletonAvatar = (props) => {
3787
4024
  const style = useStyle();
3788
4025
  return (() => {
3789
4026
  var _el$2 = _tmpl$46();
3790
- effect(() => 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))));
4027
+ effect(() => className(_el$2, style({
4028
+ key: props.appearanceKey,
4029
+ className: cn("nt-size-8 nt-rounded-lg nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class)
4030
+ })));
3791
4031
  return _el$2;
3792
4032
  })();
3793
4033
  };
3794
4034
  var SkeletonSwitch = (props) => {
3795
4035
  const style = useStyle();
3796
4036
  return (() => {
3797
- var _el$3 = _tmpl$213(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
4037
+ var _el$3 = _tmpl$214(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
3798
4038
  effect((_p$) => {
3799
- 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");
4039
+ var _v$ = style({
4040
+ key: props.appearanceKey,
4041
+ className: cn("nt-relative nt-inline-flex nt-items-center", props.class)
4042
+ }), _v$2 = style({
4043
+ key: props.appearanceKey,
4044
+ className: "nt-h-4 nt-w-7 nt-rounded-full nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent"
4045
+ }), _v$3 = style({
4046
+ key: props.thumbAppearanceKey,
4047
+ className: "nt-absolute nt-top-0.5 nt-left-0.5 nt-size-3 nt-rounded-full nt-bg-background nt-shadow"
4048
+ });
3800
4049
  _v$ !== _p$.e && className(_el$3, _p$.e = _v$);
3801
4050
  _v$2 !== _p$.t && className(_el$4, _p$.t = _v$2);
3802
4051
  _v$3 !== _p$.a && className(_el$5, _p$.a = _v$3);
@@ -3832,7 +4081,10 @@ var PreferencesListSkeleton = (props) => {
3832
4081
  delay: 0.3
3833
4082
  },
3834
4083
  get ["class"]() {
3835
- return style("preferencesList__skeleton", "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4");
4084
+ return style({
4085
+ key: "preferencesList__skeleton",
4086
+ className: "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4"
4087
+ });
3836
4088
  },
3837
4089
  get children() {
3838
4090
  return [memo(() => Array.from({
@@ -3853,12 +4105,18 @@ var PreferencesListSkeleton = (props) => {
3853
4105
  easing: "ease-in-out"
3854
4106
  },
3855
4107
  get ["class"]() {
3856
- 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");
4108
+ return style({
4109
+ key: "preferencesList__skeletonContent",
4110
+ className: "nt-flex nt-border-neutral-alpha-50 nt-items-center nt-gap-3 nt-p-3 nt-bg-neutral-alpha-25"
4111
+ });
3857
4112
  },
3858
4113
  get children() {
3859
4114
  return [createComponent(Icon, {
3860
4115
  get ["class"]() {
3861
- return style("preferencesList__skeletonIcon", "nt-size-8 nt-p-2 nt-rounded-lg nt-bg-neutral-alpha-100");
4116
+ return style({
4117
+ key: "preferencesList__skeletonIcon",
4118
+ className: "nt-size-8 nt-p-2 nt-rounded-lg nt-bg-neutral-alpha-100"
4119
+ });
3862
4120
  }
3863
4121
  }), (() => {
3864
4122
  var _el$3 = _tmpl$47();
@@ -3870,7 +4128,10 @@ var PreferencesListSkeleton = (props) => {
3870
4128
  appearanceKey: "preferencesList__skeletonText",
3871
4129
  "class": "nt-h-2 nt-w-2/3 nt-bg-neutral-alpha-50 nt-rounded"
3872
4130
  }), null);
3873
- effect(() => className(_el$3, style("preferencesList__skeletonItem", "nt-flex nt-flex-col nt-gap-2 nt-flex-1")));
4131
+ effect(() => className(_el$3, style({
4132
+ key: "preferencesList__skeletonItem",
4133
+ className: "nt-flex nt-flex-col nt-gap-2 nt-flex-1"
4134
+ })));
3874
4135
  return _el$3;
3875
4136
  })(), createComponent(SkeletonSwitch, {
3876
4137
  appearanceKey: "preferencesList__skeletonSwitch",
@@ -3880,7 +4141,10 @@ var PreferencesListSkeleton = (props) => {
3880
4141
  });
3881
4142
  })), (() => {
3882
4143
  var _el$2 = _tmpl$47();
3883
- effect(() => 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")));
4144
+ effect(() => className(_el$2, style({
4145
+ key: "notificationListEmptyNoticeOverlay",
4146
+ className: "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background"
4147
+ })));
3884
4148
  return _el$2;
3885
4149
  })()];
3886
4150
  }
@@ -3909,7 +4173,10 @@ var PreferencesListSkeleton = (props) => {
3909
4173
  delay: 0.6
3910
4174
  },
3911
4175
  get ["class"]() {
3912
- return style("preferencesListEmptyNotice"), "nt-text-center";
4176
+ return style({
4177
+ key: "preferencesListEmptyNotice",
4178
+ className: "nt-text-center"
4179
+ });
3913
4180
  },
3914
4181
  "data-localization": "preferences.emptyNotice",
3915
4182
  get children() {
@@ -3918,7 +4185,10 @@ var PreferencesListSkeleton = (props) => {
3918
4185
  });
3919
4186
  }
3920
4187
  }), null);
3921
- effect(() => 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")));
4188
+ effect(() => className(_el$, style({
4189
+ key: "preferencesListEmptyNoticeContainer",
4190
+ 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"
4191
+ })));
3922
4192
  return _el$;
3923
4193
  })();
3924
4194
  };
@@ -3966,7 +4236,10 @@ var Collapsible = (props) => {
3966
4236
  var _el$ = _tmpl$49(), _el$2 = _el$.firstChild;
3967
4237
  spread(_el$, mergeProps({
3968
4238
  get ["class"]() {
3969
- return style("collapsible", props.class);
4239
+ return style({
4240
+ key: "collapsible",
4241
+ className: props.class
4242
+ });
3970
4243
  },
3971
4244
  get style() {
3972
4245
  return {
@@ -4012,12 +4285,18 @@ var Switch = (props) => {
4012
4285
  var _el$ = _tmpl$50(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
4013
4286
  _el$2.addEventListener("change", handleChange);
4014
4287
  effect((_p$) => {
4015
- var _v$ = style("channelSwitch", cn("nt-relative nt-inline-flex nt-cursor-pointer nt-items-center", {
4016
- "nt-opacity-50 nt-cursor-not-allowed": disabled()
4017
- })), _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`, {
4018
- "nt-bg-primary nt-shadow-none nt-border-neutral-alpha-400 after:nt-translate-x-full after:nt-border-background": isChecked(),
4019
- "after:nt-translate-x-1/2": isIndeterminate()
4020
- })), _v$4 = state();
4288
+ var _v$ = style({
4289
+ key: "channelSwitch",
4290
+ className: cn("nt-relative nt-inline-flex nt-cursor-pointer nt-items-center", {
4291
+ "nt-opacity-50 nt-cursor-not-allowed": disabled()
4292
+ })
4293
+ }), _v$2 = disabled(), _v$3 = style({
4294
+ key: "channelSwitchThumb",
4295
+ 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`, {
4296
+ "nt-bg-primary nt-shadow-none nt-border-neutral-alpha-400 after:nt-translate-x-full after:nt-border-background": isChecked(),
4297
+ "after:nt-translate-x-1/2": isIndeterminate()
4298
+ })
4299
+ }), _v$4 = state();
4021
4300
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
4022
4301
  _v$2 !== _p$.t && (_el$2.disabled = _p$.t = _v$2);
4023
4302
  _v$3 !== _p$.a && className(_el$3, _p$.a = _v$3);
@@ -4055,7 +4334,13 @@ var ChannelRow = (props) => {
4055
4334
  get channel() {
4056
4335
  return channel();
4057
4336
  },
4058
- "class": "nt-size-3"
4337
+ "class": "nt-size-3",
4338
+ get preference() {
4339
+ return props.preference;
4340
+ },
4341
+ get preferenceGroup() {
4342
+ return props.preferenceGroup;
4343
+ }
4059
4344
  }));
4060
4345
  insert(_el$4, () => getLabel(channel()));
4061
4346
  insert(_el$5, createComponent(Switch, {
@@ -4065,7 +4350,42 @@ var ChannelRow = (props) => {
4065
4350
  onChange: (newState) => onChange(newState === "enabled")
4066
4351
  }));
4067
4352
  effect((_p$) => {
4068
- 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");
4353
+ var _v$ = style({
4354
+ key: "channelContainer",
4355
+ className: "nt-flex nt-justify-between nt-items-center nt-gap-2 data-[disabled=true]:nt-text-foreground-alpha-600",
4356
+ context: {
4357
+ preference: props.preference,
4358
+ preferenceGroup: props.preferenceGroup
4359
+ }
4360
+ }), _v$2 = style({
4361
+ key: "channelLabelContainer",
4362
+ className: "nt-flex nt-items-center nt-gap-2 nt-text-foreground",
4363
+ context: {
4364
+ preference: props.preference,
4365
+ preferenceGroup: props.preferenceGroup
4366
+ }
4367
+ }), _v$3 = style({
4368
+ key: "channelIconContainer",
4369
+ className: "nt-p-1 nt-rounded-md nt-bg-neutral-alpha-25 nt-text-foreground-alpha-300",
4370
+ context: {
4371
+ preference: props.preference,
4372
+ preferenceGroup: props.preferenceGroup
4373
+ }
4374
+ }), _v$4 = style({
4375
+ key: "channelLabel",
4376
+ className: "nt-text-sm nt-font-semibold",
4377
+ context: {
4378
+ preference: props.preference,
4379
+ preferenceGroup: props.preferenceGroup
4380
+ }
4381
+ }), _v$5 = style({
4382
+ key: "channelSwitchContainer",
4383
+ className: "nt-flex nt-items-center",
4384
+ context: {
4385
+ preference: props.preference,
4386
+ preferenceGroup: props.preferenceGroup
4387
+ }
4388
+ });
4069
4389
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
4070
4390
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
4071
4391
  _v$3 !== _p$.a && className(_el$3, _p$.a = _v$3);
@@ -4089,8 +4409,14 @@ var ChannelIcon = (props) => {
4089
4409
  key: "inApp",
4090
4410
  component: createComponent(InApp, {
4091
4411
  get ["class"]() {
4092
- return style(props.appearanceKey, props.class, {
4093
- iconKey: "inApp"
4412
+ return style({
4413
+ key: props.appearanceKey,
4414
+ className: props.class,
4415
+ iconKey: "inApp",
4416
+ context: {
4417
+ preference: props.preference,
4418
+ preferenceGroup: props.preferenceGroup
4419
+ }
4094
4420
  });
4095
4421
  }
4096
4422
  })
@@ -4099,8 +4425,14 @@ var ChannelIcon = (props) => {
4099
4425
  key: "email",
4100
4426
  component: createComponent(Email, {
4101
4427
  get ["class"]() {
4102
- return style(props.appearanceKey, props.class, {
4103
- iconKey: "email"
4428
+ return style({
4429
+ key: props.appearanceKey,
4430
+ className: props.class,
4431
+ iconKey: "email",
4432
+ context: {
4433
+ preference: props.preference,
4434
+ preferenceGroup: props.preferenceGroup
4435
+ }
4104
4436
  });
4105
4437
  }
4106
4438
  })
@@ -4109,8 +4441,14 @@ var ChannelIcon = (props) => {
4109
4441
  key: "push",
4110
4442
  component: createComponent(Push, {
4111
4443
  get ["class"]() {
4112
- return style(props.appearanceKey, props.class, {
4113
- iconKey: "push"
4444
+ return style({
4445
+ key: props.appearanceKey,
4446
+ className: props.class,
4447
+ iconKey: "push",
4448
+ context: {
4449
+ preference: props.preference,
4450
+ preferenceGroup: props.preferenceGroup
4451
+ }
4114
4452
  });
4115
4453
  }
4116
4454
  })
@@ -4119,8 +4457,14 @@ var ChannelIcon = (props) => {
4119
4457
  key: "sms",
4120
4458
  component: createComponent(Sms, {
4121
4459
  get ["class"]() {
4122
- return style(props.appearanceKey, props.class, {
4123
- iconKey: "sms"
4460
+ return style({
4461
+ key: props.appearanceKey,
4462
+ className: props.class,
4463
+ iconKey: "sms",
4464
+ context: {
4465
+ preference: props.preference,
4466
+ preferenceGroup: props.preferenceGroup
4467
+ }
4124
4468
  });
4125
4469
  }
4126
4470
  })
@@ -4129,8 +4473,14 @@ var ChannelIcon = (props) => {
4129
4473
  key: "chat",
4130
4474
  component: createComponent(Chat, {
4131
4475
  get ["class"]() {
4132
- return style(props.appearanceKey, props.class, {
4133
- iconKey: "chat"
4476
+ return style({
4477
+ key: props.appearanceKey,
4478
+ className: props.class,
4479
+ iconKey: "chat",
4480
+ context: {
4481
+ preference: props.preference,
4482
+ preferenceGroup: props.preferenceGroup
4483
+ }
4134
4484
  });
4135
4485
  }
4136
4486
  })
@@ -4148,8 +4498,13 @@ var ChannelIcon = (props) => {
4148
4498
  return iconData.component;
4149
4499
  },
4150
4500
  get ["class"]() {
4151
- return style(props.appearanceKey, props.class, {
4152
- iconKey: iconData.key
4501
+ return style({
4502
+ key: props.appearanceKey,
4503
+ className: props.class,
4504
+ iconKey: iconData.key,
4505
+ context: {
4506
+ preference: props.preference
4507
+ }
4153
4508
  });
4154
4509
  }
4155
4510
  });
@@ -4173,7 +4528,7 @@ var getLabel = (channel) => {
4173
4528
 
4174
4529
  // src/ui/components/elements/Preferences/PreferencesRow.tsx
4175
4530
  var _tmpl$53 = /* @__PURE__ */ template(`<div>`);
4176
- var _tmpl$214 = /* @__PURE__ */ template(`<div><div><div><div><span></span></div></div><span>`);
4531
+ var _tmpl$215 = /* @__PURE__ */ template(`<div><div><div><div><span></span></div></div><span>`);
4177
4532
  var _tmpl$310 = /* @__PURE__ */ template(`<span>`);
4178
4533
  var iconKeyToComponentMap2 = {
4179
4534
  cogs: Cogs,
@@ -4195,19 +4550,13 @@ var PreferencesRow = (props) => {
4195
4550
  };
4196
4551
  });
4197
4552
  });
4198
- const iconClass = style("workflowLabelIcon", "nt-text-foreground-alpha-600 nt-size-3.5", {
4199
- iconKey: "cogs"
4200
- });
4201
- const arrowDropDownIconClass = style("workflowArrow__icon", "nt-text-foreground-alpha-600 nt-size-4", {
4202
- iconKey: "arrowDropDown"
4203
- });
4204
4553
  const DefaultIconComponent = iconKeyToComponentMap2[props.iconKey];
4205
4554
  return createComponent(Show, {
4206
4555
  get when() {
4207
4556
  return channels().length > 0;
4208
4557
  },
4209
4558
  get children() {
4210
- 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;
4559
+ 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;
4211
4560
  _el$2.$$click = () => {
4212
4561
  setIsOpenChannels((prev) => !prev);
4213
4562
  };
@@ -4215,10 +4564,26 @@ var PreferencesRow = (props) => {
4215
4564
  get iconKey() {
4216
4565
  return props.iconKey;
4217
4566
  },
4218
- "class": iconClass,
4567
+ get ["class"]() {
4568
+ return style({
4569
+ key: "workflowLabelIcon",
4570
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4571
+ iconKey: "cogs",
4572
+ context: {
4573
+ preference: props.preference
4574
+ }
4575
+ });
4576
+ },
4219
4577
  get fallback() {
4220
4578
  return DefaultIconComponent && DefaultIconComponent({
4221
- class: iconClass
4579
+ class: style({
4580
+ key: "workflowLabelIcon",
4581
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4582
+ iconKey: "cogs",
4583
+ context: {
4584
+ preference: props.preference
4585
+ }
4586
+ })
4222
4587
  });
4223
4588
  }
4224
4589
  }), _el$5);
@@ -4237,16 +4602,37 @@ var PreferencesRow = (props) => {
4237
4602
  return (_b = (_a = props.preference) == null ? void 0 : _a.channels) != null ? _b : {};
4238
4603
  },
4239
4604
  appearanceKey: "workflowDescription",
4240
- "class": "nt-overflow-hidden"
4605
+ "class": "nt-overflow-hidden",
4606
+ get preference() {
4607
+ return props.preference;
4608
+ }
4241
4609
  });
4242
4610
  }
4243
4611
  }), null);
4244
4612
  insert(_el$6, createComponent(IconRendererWrapper, {
4245
4613
  iconKey: "arrowDropDown",
4246
- "class": arrowDropDownIconClass,
4614
+ get ["class"]() {
4615
+ return style({
4616
+ key: "workflowArrow__icon",
4617
+ className: "nt-text-foreground-alpha-600 nt-size-4",
4618
+ iconKey: "arrowDropDown",
4619
+ context: {
4620
+ preference: props.preference
4621
+ }
4622
+ });
4623
+ },
4247
4624
  get fallback() {
4248
4625
  return createComponent(ArrowDropDown, {
4249
- "class": arrowDropDownIconClass
4626
+ get ["class"]() {
4627
+ return style({
4628
+ key: "workflowArrow__icon",
4629
+ className: "nt-text-foreground-alpha-600 nt-size-4",
4630
+ iconKey: "arrowDropDown",
4631
+ context: {
4632
+ preference: props.preference
4633
+ }
4634
+ });
4635
+ }
4250
4636
  });
4251
4637
  }
4252
4638
  }));
@@ -4271,16 +4657,61 @@ var PreferencesRow = (props) => {
4271
4657
  get onChange() {
4272
4658
  var _a, _b;
4273
4659
  return props.onChange((_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier);
4660
+ },
4661
+ get preference() {
4662
+ return props.preference;
4274
4663
  }
4275
4664
  })
4276
4665
  }));
4277
- effect(() => 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")));
4666
+ effect(() => className(_el$7, style({
4667
+ key: "channelsContainer",
4668
+ 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",
4669
+ context: {
4670
+ preference: props.preference
4671
+ }
4672
+ })));
4278
4673
  return _el$7;
4279
4674
  }
4280
4675
  }), null);
4281
4676
  effect((_p$) => {
4282
4677
  var _a, _b, _c;
4283
- 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();
4678
+ var _v$ = style({
4679
+ key: "workflowContainer",
4680
+ className: "nt-p-1 nt-bg-neutral-alpha-25 nt-rounded-lg nt-border nt-border-neutral-alpha-50",
4681
+ context: {
4682
+ preference: props.preference
4683
+ }
4684
+ }), _v$2 = isOpenChannels(), _v$3 = style({
4685
+ key: "workflowLabelContainer",
4686
+ className: "nt-flex nt-justify-between nt-p-1 nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center nt-overflow-hidden",
4687
+ context: {
4688
+ preference: props.preference
4689
+ }
4690
+ }), _v$4 = style({
4691
+ key: "workflowLabelHeader",
4692
+ className: "nt-overflow-hidden",
4693
+ context: {
4694
+ preference: props.preference
4695
+ }
4696
+ }), _v$5 = style({
4697
+ key: "workflowLabelHeaderContainer",
4698
+ className: "nt-flex nt-items-center nt-gap-1",
4699
+ context: {
4700
+ preference: props.preference
4701
+ }
4702
+ }), _v$6 = style({
4703
+ key: "workflowLabel",
4704
+ className: "nt-text-sm nt-font-semibold nt-truncate nt-text-start",
4705
+ context: {
4706
+ preference: props.preference
4707
+ }
4708
+ }), _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({
4709
+ key: "workflowContainerRight__icon",
4710
+ className: "nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180",
4711
+ context: {
4712
+ preference: props.preference
4713
+ }
4714
+ }), _v$10 = isOpenChannels();
4284
4715
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
4285
4716
  _v$2 !== _p$.t && setAttribute(_el$, "data-open", _p$.t = _v$2);
4286
4717
  _v$3 !== _p$.a && className(_el$2, _p$.a = _v$3);
@@ -4319,7 +4750,13 @@ var WorkflowDescription = (props) => {
4319
4750
  var _el$8 = _tmpl$310();
4320
4751
  setAttribute(_el$8, "data-disabled", isDisabled);
4321
4752
  insert(_el$8, () => getLabel(key));
4322
- effect(() => className(_el$8, style("channelName", "data-[disabled=true]:nt-text-foreground-alpha-400")));
4753
+ effect(() => className(_el$8, style({
4754
+ key: "channelName",
4755
+ className: "data-[disabled=true]:nt-text-foreground-alpha-400",
4756
+ context: {
4757
+ preference: props.preference
4758
+ }
4759
+ })));
4323
4760
  return _el$8;
4324
4761
  })();
4325
4762
  channels.push(element);
@@ -4330,7 +4767,10 @@ var WorkflowDescription = (props) => {
4330
4767
  return (() => {
4331
4768
  var _el$9 = _tmpl$53();
4332
4769
  insert(_el$9, channelNames);
4333
- effect(() => className(_el$9, style(props.appearanceKey, cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class))));
4770
+ effect(() => className(_el$9, style({
4771
+ key: props.appearanceKey,
4772
+ className: cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class)
4773
+ })));
4334
4774
  return _el$9;
4335
4775
  })();
4336
4776
  };
@@ -4397,7 +4837,7 @@ var NodeTree = (props) => {
4397
4837
 
4398
4838
  // src/ui/components/elements/Preferences/GroupedPreferencesRow.tsx
4399
4839
  var _tmpl$56 = /* @__PURE__ */ template(`<div><div><span data-localization=preferences.group.info></span></div><div>`);
4400
- var _tmpl$215 = /* @__PURE__ */ template(`<div><div><div><span></span></div><div><span>`);
4840
+ var _tmpl$216 = /* @__PURE__ */ template(`<div><div><div><span></span></div><div><span>`);
4401
4841
  var GroupedPreferencesRow = (props) => {
4402
4842
  const style = useStyle();
4403
4843
  const {
@@ -4454,24 +4894,37 @@ var GroupedPreferencesRow = (props) => {
4454
4894
  props.bulkUpdatePreferences(filteredPreferences)(channels);
4455
4895
  };
4456
4896
  const preferences = createMemo(() => props.group.preferences);
4457
- const nodeTreeIconClass = style("preferencesGroupLabelIcon", "nt-text-foreground-alpha-600 nt-size-3.5");
4458
- const infoIconClass = style("preferencesGroupInfoIcon", "nt-size-4");
4459
- const dropdownIconClass = style("moreTabs__icon", "nt-size-4");
4460
4897
  return createComponent(Show, {
4461
4898
  get when() {
4462
4899
  return Object.keys(uniqueChannels()).length > 0;
4463
4900
  },
4464
4901
  get children() {
4465
- 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;
4902
+ 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;
4466
4903
  _el$2.$$click = () => {
4467
4904
  setIsOpened((prev) => !prev);
4468
4905
  };
4469
4906
  insert(_el$3, createComponent(IconRendererWrapper, {
4470
4907
  iconKey: "nodeTree",
4471
- "class": nodeTreeIconClass,
4908
+ get ["class"]() {
4909
+ return style({
4910
+ key: "preferencesGroupLabelIcon",
4911
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4912
+ context: {
4913
+ preferenceGroup: props.group
4914
+ }
4915
+ });
4916
+ },
4472
4917
  get fallback() {
4473
4918
  return createComponent(NodeTree, {
4474
- "class": nodeTreeIconClass
4919
+ get ["class"]() {
4920
+ return style({
4921
+ key: "preferencesGroupLabelIcon",
4922
+ className: "nt-text-foreground-alpha-600 nt-size-3.5",
4923
+ context: {
4924
+ preferenceGroup: props.group
4925
+ }
4926
+ });
4927
+ }
4475
4928
  });
4476
4929
  }
4477
4930
  }), _el$4);
@@ -4484,10 +4937,20 @@ var GroupedPreferencesRow = (props) => {
4484
4937
  }), _el$6);
4485
4938
  insert(_el$6, createComponent(IconRendererWrapper, {
4486
4939
  iconKey: "arrowDropDown",
4487
- "class": dropdownIconClass,
4940
+ get ["class"]() {
4941
+ return style({
4942
+ key: "moreTabs__icon",
4943
+ className: "nt-size-4"
4944
+ });
4945
+ },
4488
4946
  get fallback() {
4489
4947
  return createComponent(ArrowDropDown, {
4490
- "class": dropdownIconClass
4948
+ get ["class"]() {
4949
+ return style({
4950
+ key: "moreTabs__icon",
4951
+ className: "nt-size-4"
4952
+ });
4953
+ }
4491
4954
  });
4492
4955
  }
4493
4956
  }));
@@ -4511,16 +4974,35 @@ var GroupedPreferencesRow = (props) => {
4511
4974
  },
4512
4975
  get onChange() {
4513
4976
  return updatePreferencesForChannel(channel());
4977
+ },
4978
+ get preferenceGroup() {
4979
+ return props.group;
4514
4980
  }
4515
4981
  });
4516
4982
  }
4517
4983
  }), _el$9);
4518
4984
  insert(_el$9, createComponent(IconRendererWrapper, {
4519
4985
  iconKey: "info",
4520
- "class": infoIconClass,
4986
+ get ["class"]() {
4987
+ return style({
4988
+ key: "preferencesGroupInfoIcon",
4989
+ className: "nt-size-4",
4990
+ context: {
4991
+ preferenceGroup: props.group
4992
+ }
4993
+ });
4994
+ },
4521
4995
  get fallback() {
4522
4996
  return createComponent(Info, {
4523
- "class": infoIconClass
4997
+ get ["class"]() {
4998
+ return style({
4999
+ key: "preferencesGroupInfoIcon",
5000
+ className: "nt-size-4",
5001
+ context: {
5002
+ preferenceGroup: props.group
5003
+ }
5004
+ });
5005
+ }
4524
5006
  });
4525
5007
  }
4526
5008
  }), null);
@@ -4538,7 +5020,31 @@ var GroupedPreferencesRow = (props) => {
4538
5020
  })
4539
5021
  }));
4540
5022
  effect((_p$) => {
4541
- 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");
5023
+ var _v$ = style({
5024
+ key: "preferencesGroupBody",
5025
+ className: "nt-flex nt-flex-col nt-gap-1 nt-overflow-hidden",
5026
+ context: {
5027
+ preferenceGroup: props.group
5028
+ }
5029
+ }), _v$2 = style({
5030
+ key: "preferencesGroupChannels",
5031
+ 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",
5032
+ context: {
5033
+ preferenceGroup: props.group
5034
+ }
5035
+ }), _v$3 = style({
5036
+ key: "preferencesGroupInfo",
5037
+ className: "nt-text-sm nt-text-start nt-text-foreground-alpha-400 nt-mt-1 nt-flex nt-items-center nt-gap-1",
5038
+ context: {
5039
+ preferenceGroup: props.group
5040
+ }
5041
+ }), _v$4 = style({
5042
+ key: "preferencesGroupWorkflows",
5043
+ className: "nt-flex nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden",
5044
+ context: {
5045
+ preferenceGroup: props.group
5046
+ }
5047
+ });
4542
5048
  _v$ !== _p$.e && className(_el$7, _p$.e = _v$);
4543
5049
  _v$2 !== _p$.t && className(_el$8, _p$.t = _v$2);
4544
5050
  _v$3 !== _p$.a && className(_el$9, _p$.a = _v$3);
@@ -4554,7 +5060,43 @@ var GroupedPreferencesRow = (props) => {
4554
5060
  }
4555
5061
  }), null);
4556
5062
  effect((_p$) => {
4557
- 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();
5063
+ var _v$5 = style({
5064
+ key: "preferencesGroupContainer",
5065
+ className: "nt-bg-neutral-alpha-25 nt-rounded-lg nt-border nt-border-neutral-alpha-50",
5066
+ context: {
5067
+ preferenceGroup: props.group
5068
+ }
5069
+ }), _v$6 = isOpened(), _v$7 = style({
5070
+ key: "preferencesGroupHeader",
5071
+ className: "nt-flex nt-justify-between nt-p-2 nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center nt-overflow-hidden",
5072
+ context: {
5073
+ preferenceGroup: props.group
5074
+ }
5075
+ }), _v$8 = style({
5076
+ key: "preferencesGroupLabelContainer",
5077
+ className: "nt-overflow-hidden nt-flex nt-items-center nt-gap-1",
5078
+ context: {
5079
+ preferenceGroup: props.group
5080
+ }
5081
+ }), _v$9 = style({
5082
+ key: "preferencesGroupLabel",
5083
+ className: "nt-text-sm nt-font-semibold nt-truncate nt-text-start",
5084
+ context: {
5085
+ preferenceGroup: props.group
5086
+ }
5087
+ }), _v$10 = isOpened(), _v$11 = style({
5088
+ key: "preferencesGroupActionsContainer",
5089
+ className: "nt-flex nt-items-center nt-gap-1",
5090
+ context: {
5091
+ preferenceGroup: props.group
5092
+ }
5093
+ }), _v$12 = style({
5094
+ key: "preferencesGroupActionsContainerRight__icon",
5095
+ className: "nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180",
5096
+ context: {
5097
+ preferenceGroup: props.group
5098
+ }
5099
+ }), _v$13 = isOpened();
4558
5100
  _v$5 !== _p$.e && className(_el$, _p$.e = _v$5);
4559
5101
  _v$6 !== _p$.t && setAttribute(_el$, "data-open", _p$.t = _v$6);
4560
5102
  _v$7 !== _p$.a && className(_el$2, _p$.a = _v$7);
@@ -4622,7 +5164,7 @@ var GroupedPreferences = (props) => {
4622
5164
  // src/ui/components/elements/Preferences/Preferences.tsx
4623
5165
  var _tmpl$57 = /* @__PURE__ */ template(`<div>`);
4624
5166
  var Preferences = () => {
4625
- var _a;
5167
+ var _a, _b;
4626
5168
  const novu = useNovu();
4627
5169
  const style = useStyle();
4628
5170
  const {
@@ -4633,12 +5175,13 @@ var Preferences = () => {
4633
5175
  preferences,
4634
5176
  loading
4635
5177
  } = usePreferences({
4636
- tags: (_a = preferencesFilter()) == null ? void 0 : _a.tags
5178
+ tags: (_a = preferencesFilter()) == null ? void 0 : _a.tags,
5179
+ severity: (_b = preferencesFilter()) == null ? void 0 : _b.severity
4637
5180
  });
4638
5181
  const allPreferences = createMemo(() => {
4639
- var _a2, _b;
5182
+ var _a2, _b2;
4640
5183
  const globalPreference = (_a2 = preferences()) == null ? void 0 : _a2.find((preference) => preference.level === "global" /* GLOBAL */);
4641
- const workflowPreferences = (_b = preferences()) == null ? void 0 : _b.filter((preference) => preference.level === "template" /* TEMPLATE */);
5184
+ const workflowPreferences = (_b2 = preferences()) == null ? void 0 : _b2.filter((preference) => preference.level === "template" /* TEMPLATE */);
4642
5185
  return {
4643
5186
  globalPreference,
4644
5187
  workflowPreferences
@@ -4672,9 +5215,9 @@ var Preferences = () => {
4672
5215
  }));
4673
5216
  });
4674
5217
  const groupedPreferences = createMemo(() => {
4675
- var _a2, _b, _c;
5218
+ var _a2, _b2, _c;
4676
5219
  const workflowPreferences = (_a2 = allPreferences().workflowPreferences) != null ? _a2 : [];
4677
- return (_c = (_b = preferenceGroups()) == null ? void 0 : _b.map((group) => {
5220
+ return (_c = (_b2 = preferenceGroups()) == null ? void 0 : _b2.map((group) => {
4678
5221
  const {
4679
5222
  filter
4680
5223
  } = group;
@@ -4691,12 +5234,15 @@ var Preferences = () => {
4691
5234
  return {
4692
5235
  name: group.name,
4693
5236
  preferences: workflowPreferences.filter((preference) => {
4694
- var _a3, _b2, _c2, _d;
4695
- const workflowId = ((_a3 = preference.workflow) == null ? void 0 : _a3.id) || ((_b2 = preference.workflow) == null ? void 0 : _b2.identifier);
5237
+ var _a3, _b3, _c2, _d, _e;
5238
+ const workflowId = ((_a3 = preference.workflow) == null ? void 0 : _a3.id) || ((_b3 = preference.workflow) == null ? void 0 : _b3.identifier);
4696
5239
  return ((_c2 = filter.workflowIds) == null ? void 0 : _c2.includes(workflowId != null ? workflowId : "")) || ((_d = filter.tags) == null ? void 0 : _d.some((tag) => {
4697
- var _a4, _b3;
4698
- return (_b3 = (_a4 = preference.workflow) == null ? void 0 : _a4.tags) == null ? void 0 : _b3.includes(tag);
4699
- }));
5240
+ var _a4, _b4;
5241
+ return (_b4 = (_a4 = preference.workflow) == null ? void 0 : _a4.tags) == null ? void 0 : _b4.includes(tag);
5242
+ })) || Array.isArray(filter.severity) && filter.severity.some((severity) => {
5243
+ var _a4;
5244
+ return ((_a4 = preference.workflow) == null ? void 0 : _a4.severity) === severity;
5245
+ }) || !Array.isArray(filter.severity) && filter.severity === ((_e = preference.workflow) == null ? void 0 : _e.severity);
4700
5246
  })
4701
5247
  };
4702
5248
  }
@@ -4758,7 +5304,14 @@ var Preferences = () => {
4758
5304
  });
4759
5305
  }
4760
5306
  }), null);
4761
- effect(() => 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]")));
5307
+ effect(() => className(_el$, style({
5308
+ key: "preferencesContainer",
5309
+ 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]",
5310
+ context: {
5311
+ preferences: preferences(),
5312
+ groups: groupedPreferences()
5313
+ }
5314
+ })));
4762
5315
  return _el$;
4763
5316
  })();
4764
5317
  };
@@ -4784,7 +5337,10 @@ var Root = (props) => {
4784
5337
  return `novu-root-${id()}`;
4785
5338
  },
4786
5339
  get ["class"]() {
4787
- return style("root"), cn("novu", id(), "nt-text-foreground nt-h-full [interpolate-size:allow-keywords]");
5340
+ return style({
5341
+ key: "root",
5342
+ className: cn("novu", id(), "nt-text-foreground nt-h-full [interpolate-size:allow-keywords]")
5343
+ });
4788
5344
  }
4789
5345
  }, rest), false, false);
4790
5346
  return _el$;
@@ -4796,7 +5352,9 @@ var PreferencesHeader = (props) => {
4796
5352
  const {
4797
5353
  t
4798
5354
  } = useLocalization();
4799
- const arrowLeftIconClass = style("preferencesHeader__back__button__icon", "nt-size-4", {
5355
+ const arrowLeftIconClass = style({
5356
+ key: "preferencesHeader__back__button__icon",
5357
+ className: "nt-size-4",
4800
5358
  iconKey: "arrowLeft"
4801
5359
  });
4802
5360
  return (() => {
@@ -4828,7 +5386,13 @@ var PreferencesHeader = (props) => {
4828
5386
  }), _el$2);
4829
5387
  insert(_el$2, () => t("preferences.title"));
4830
5388
  effect((_p$) => {
4831
- 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");
5389
+ var _v$ = style({
5390
+ key: "preferencesHeader",
5391
+ 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"
5392
+ }), _v$2 = style({
5393
+ key: "preferencesHeader__title",
5394
+ className: "nt-text-base nt-font-medium"
5395
+ });
4832
5396
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
4833
5397
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
4834
5398
  return _p$;
@@ -4840,26 +5404,33 @@ var PreferencesHeader = (props) => {
4840
5404
  })();
4841
5405
  };
4842
5406
  var _tmpl$60 = /* @__PURE__ */ template(`<strong>`);
4843
- var _tmpl$216 = /* @__PURE__ */ template(`<p>`);
5407
+ var _tmpl$217 = /* @__PURE__ */ template(`<p>`);
4844
5408
  var Bold = (props) => {
4845
5409
  const style = useStyle();
4846
5410
  return (() => {
4847
5411
  var _el$ = _tmpl$60();
4848
5412
  insert(_el$, () => props.children);
4849
- effect(() => className(_el$, style(props.appearanceKey || "strong", "nt-font-semibold")));
5413
+ effect(() => className(_el$, style({
5414
+ key: props.appearanceKey || "strong",
5415
+ className: "nt-font-semibold"
5416
+ })));
4850
5417
  return _el$;
4851
5418
  })();
4852
5419
  };
4853
5420
  var Text = (props) => props.children;
4854
5421
  var Markdown = (props) => {
4855
- const [local, rest] = splitProps(props, ["class", "children", "appearanceKey", "strongAppearanceKey"]);
5422
+ const [local, rest] = splitProps(props, ["class", "children", "appearanceKey", "strongAppearanceKey", "context"]);
4856
5423
  const style = useStyle();
4857
5424
  const tokens = createMemo(() => parseMarkdownIntoTokens(local.children));
4858
5425
  return (() => {
4859
- var _el$2 = _tmpl$216();
5426
+ var _el$2 = _tmpl$217();
4860
5427
  spread(_el$2, mergeProps({
4861
5428
  get ["class"]() {
4862
- return style(local.appearanceKey, cn(local.class));
5429
+ return style({
5430
+ key: local.appearanceKey,
5431
+ className: cn(local.class),
5432
+ context: local.context
5433
+ });
4863
5434
  }
4864
5435
  }, rest), false, true);
4865
5436
  insert(_el$2, createComponent(For, {
@@ -4905,7 +5476,7 @@ var badgeVariants = cva(cn("nt-inline-flex nt-flex-row nt-gap-1 nt-items-center"
4905
5476
  }
4906
5477
  });
4907
5478
  var Badge = (props) => {
4908
- const [local, rest] = splitProps(props, ["class", "appearanceKey"]);
5479
+ const [local, rest] = splitProps(props, ["class", "appearanceKey", "context"]);
4909
5480
  const style = useStyle();
4910
5481
  return (() => {
4911
5482
  var _el$ = _tmpl$61();
@@ -4917,10 +5488,14 @@ var Badge = (props) => {
4917
5488
  return props.size;
4918
5489
  },
4919
5490
  get ["class"]() {
4920
- return style(local.appearanceKey || "badge", cn(badgeVariants({
4921
- variant: props.variant,
4922
- size: props.size
4923
- }), local.class));
5491
+ return style({
5492
+ key: local.appearanceKey || "badge",
5493
+ className: cn(badgeVariants({
5494
+ variant: props.variant,
5495
+ size: props.size
5496
+ }), local.class),
5497
+ context: local.context
5498
+ });
4924
5499
  }
4925
5500
  }, rest), false, false);
4926
5501
  return _el$;
@@ -4955,10 +5530,13 @@ var Input = (props) => {
4955
5530
  return props.size;
4956
5531
  },
4957
5532
  get ["class"]() {
4958
- return style(local.appearanceKey || "input", cn(inputVariants({
4959
- variant: props.variant,
4960
- size: props.size
4961
- }), local.class));
5533
+ return style({
5534
+ key: local.appearanceKey || "input",
5535
+ className: cn(inputVariants({
5536
+ variant: props.variant,
5537
+ size: props.size
5538
+ }), local.class)
5539
+ });
4962
5540
  }
4963
5541
  }, rest), false, false);
4964
5542
  return _el$;
@@ -5010,7 +5588,10 @@ var TimePicker = (props) => {
5010
5588
  _el$.$$click = (e) => e.stopPropagation();
5011
5589
  spread(_el$, mergeProps({
5012
5590
  get ["class"]() {
5013
- return style(local.appearanceKey || "timePicker", cn("nt-flex nt-items-center nt-gap-1", local.class));
5591
+ return style({
5592
+ key: local.appearanceKey || "timePicker",
5593
+ className: cn("nt-flex nt-items-center nt-gap-1", local.class)
5594
+ });
5014
5595
  }
5015
5596
  }, rest), false, true);
5016
5597
  insert(_el$, createComponent(Input, {
@@ -5031,7 +5612,10 @@ var TimePicker = (props) => {
5031
5612
  handleHourChange(Number(e.currentTarget.value));
5032
5613
  },
5033
5614
  get ["class"]() {
5034
- 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");
5615
+ return style({
5616
+ key: "timePickerHour__input",
5617
+ 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"
5618
+ });
5035
5619
  }
5036
5620
  }), _el$2);
5037
5621
  insert(_el$, createComponent(Input, {
@@ -5052,7 +5636,10 @@ var TimePicker = (props) => {
5052
5636
  handleMinuteChange(Number(e.currentTarget.value));
5053
5637
  },
5054
5638
  get ["class"]() {
5055
- 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");
5639
+ return style({
5640
+ key: "timePickerHour__input",
5641
+ 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"
5642
+ });
5056
5643
  }
5057
5644
  }), _el$3);
5058
5645
  _el$3.addEventListener("change", (e) => {
@@ -5061,9 +5648,15 @@ var TimePicker = (props) => {
5061
5648
  });
5062
5649
  _el$3.$$click = (e) => e.stopPropagation();
5063
5650
  effect((_p$) => {
5064
- var _v$ = style("timePicker__separator", "nt-text-xl"), _v$2 = style("timePicker__periodSelect", `${inputVariants({
5065
- size: "sm"
5066
- })} nt-h-7 nt-font-mono`);
5651
+ var _v$ = style({
5652
+ key: "timePicker__separator",
5653
+ className: "nt-text-xl"
5654
+ }), _v$2 = style({
5655
+ key: "timePicker__periodSelect",
5656
+ className: cn(inputVariants({
5657
+ size: "sm"
5658
+ }), "nt-h-7 nt-font-mono")
5659
+ });
5067
5660
  _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
5068
5661
  _v$2 !== _p$.t && className(_el$3, _p$.t = _v$2);
5069
5662
  return _p$;
@@ -5258,7 +5851,19 @@ var SnoozeDateTimePicker = (props) => {
5258
5851
  }
5259
5852
  }), null);
5260
5853
  effect((_p$) => {
5261
- 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");
5854
+ var _v$ = style({
5855
+ key: "snoozeDatePicker",
5856
+ className: "nt-bg-background nt-rounded-md nt-shadow-lg nt-w-[260px]"
5857
+ }), _v$2 = style({
5858
+ key: "snoozeDatePicker__timePickerContainer",
5859
+ 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"
5860
+ }), _v$3 = style({
5861
+ key: "snoozeDatePicker__timePickerLabel",
5862
+ className: "nt-text-sm nt-font-medium nt-text-foreground-alpha-700 nt-p-2"
5863
+ }), _v$4 = style({
5864
+ key: "snoozeDatePicker__actions",
5865
+ className: "nt-flex nt-flex-row nt-justify-end nt-gap-2 nt-p-2"
5866
+ });
5262
5867
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
5263
5868
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
5264
5869
  _v$3 !== _p$.a && className(_el$3, _p$.a = _v$3);
@@ -5277,7 +5882,7 @@ delegateEvents(["click"]);
5277
5882
 
5278
5883
  // src/ui/components/Notification/NotificationActions.tsx
5279
5884
  var _tmpl$66 = /* @__PURE__ */ template(`<div><span>`);
5280
- var _tmpl$217 = /* @__PURE__ */ template(`<span>`);
5885
+ var _tmpl$218 = /* @__PURE__ */ template(`<span>`);
5281
5886
  var SNOOZE_PRESETS = [{
5282
5887
  key: "snooze.options.anHourFromNow",
5283
5888
  hours: 1,
@@ -5319,7 +5924,9 @@ var formatSnoozeOption = (preset, t, locale) => {
5319
5924
  };
5320
5925
  var SnoozeDropdownItem = (props) => {
5321
5926
  const style = useStyle();
5322
- const snoozeItemIconClass = style("notificationSnooze__dropdownItem__icon", "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2", {
5927
+ const snoozeItemIconClass = style({
5928
+ key: "notificationSnooze__dropdownItem__icon",
5929
+ className: "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2",
5323
5930
  iconKey: "clock"
5324
5931
  });
5325
5932
  const content = [(() => {
@@ -5335,7 +5942,12 @@ var SnoozeDropdownItem = (props) => {
5335
5942
  }), _el$2);
5336
5943
  insert(_el$2, () => props.label);
5337
5944
  effect((_p$) => {
5338
- var _v$ = style("dropdownItem", "nt-flex nt-items-center nt-flex-1"), _v$2 = style("dropdownItemLabel");
5945
+ var _v$ = style({
5946
+ key: "dropdownItem",
5947
+ className: "nt-flex nt-items-center nt-flex-1"
5948
+ }), _v$2 = style({
5949
+ key: "dropdownItemLabel"
5950
+ });
5339
5951
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
5340
5952
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
5341
5953
  return _p$;
@@ -5345,14 +5957,20 @@ var SnoozeDropdownItem = (props) => {
5345
5957
  });
5346
5958
  return _el$;
5347
5959
  })(), (() => {
5348
- var _el$3 = _tmpl$217();
5960
+ var _el$3 = _tmpl$218();
5349
5961
  insert(_el$3, () => props.time);
5350
- effect(() => className(_el$3, style("dropdownItemRight__icon", "nt-text-foreground-alpha-300 nt-ml-2 nt-text-xs")));
5962
+ effect(() => className(_el$3, style({
5963
+ key: "dropdownItemRight__icon",
5964
+ className: "nt-text-foreground-alpha-300 nt-ml-2 nt-text-xs"
5965
+ })));
5351
5966
  return _el$3;
5352
5967
  })()];
5353
5968
  if (props.asChild) {
5354
5969
  return props.asChild({
5355
- class: style("notificationSnooze__dropdownItem", dropdownItemVariants()),
5970
+ class: style({
5971
+ key: "notificationSnooze__dropdownItem",
5972
+ className: dropdownItemVariants()
5973
+ }),
5356
5974
  onClick: props.onClick,
5357
5975
  children: content
5358
5976
  });
@@ -5363,7 +5981,10 @@ var SnoozeDropdownItem = (props) => {
5363
5981
  return props.onClick;
5364
5982
  },
5365
5983
  get ["class"]() {
5366
- return style("dropdownItem", "nt-justify-between");
5984
+ return style({
5985
+ key: "dropdownItem",
5986
+ className: "nt-justify-between"
5987
+ });
5367
5988
  },
5368
5989
  children: content
5369
5990
  });
@@ -5373,7 +5994,9 @@ var ReadButton = (props) => {
5373
5994
  const {
5374
5995
  t
5375
5996
  } = useLocalization();
5376
- const readIconClass = style("notificationRead__icon", "nt-size-3", {
5997
+ const readIconClass = style({
5998
+ key: "notificationRead__icon",
5999
+ className: "nt-size-3",
5377
6000
  iconKey: "markAsRead"
5378
6001
  });
5379
6002
  return createComponent(Tooltip.Root, {
@@ -5414,7 +6037,9 @@ var UnreadButton = (props) => {
5414
6037
  const {
5415
6038
  t
5416
6039
  } = useLocalization();
5417
- const unreadIconClass = style("notificationUnread__icon", "nt-size-3", {
6040
+ const unreadIconClass = style({
6041
+ key: "notificationUnread__icon",
6042
+ className: "nt-size-3",
5418
6043
  iconKey: "markAsUnread"
5419
6044
  });
5420
6045
  return createComponent(Tooltip.Root, {
@@ -5455,7 +6080,9 @@ var ArchiveButton = (props) => {
5455
6080
  const {
5456
6081
  t
5457
6082
  } = useLocalization();
5458
- const archiveIconClass = style("notificationArchive__icon", "nt-size-3", {
6083
+ const archiveIconClass = style({
6084
+ key: "notificationArchive__icon",
6085
+ className: "nt-size-3",
5459
6086
  iconKey: "markAsArchived"
5460
6087
  });
5461
6088
  return createComponent(Tooltip.Root, {
@@ -5496,7 +6123,9 @@ var UnarchiveButton = (props) => {
5496
6123
  const {
5497
6124
  t
5498
6125
  } = useLocalization();
5499
- const unarchiveIconClass = style("notificationArchive__icon", "nt-size-3", {
6126
+ const unarchiveIconClass = style({
6127
+ key: "notificationArchive__icon",
6128
+ className: "nt-size-3",
5500
6129
  iconKey: "markAsUnarchived"
5501
6130
  });
5502
6131
  return createComponent(Tooltip.Root, {
@@ -5537,7 +6166,9 @@ var UnsnoozeButton = (props) => {
5537
6166
  const {
5538
6167
  t
5539
6168
  } = useLocalization();
5540
- const unsnoozeIconClass = style("notificationUnsnooze__icon", "nt-size-3", {
6169
+ const unsnoozeIconClass = style({
6170
+ key: "notificationUnsnooze__icon",
6171
+ className: "nt-size-3",
5541
6172
  iconKey: "unsnooze"
5542
6173
  });
5543
6174
  return createComponent(Tooltip.Root, {
@@ -5583,7 +6214,9 @@ var SnoozeButton = (props) => {
5583
6214
  maxSnoozeDurationHours
5584
6215
  } = useInboxContext();
5585
6216
  const [isSnoozeDateTimePickerOpen, setIsSnoozeDateTimePickerOpen] = createSignal(false);
5586
- const snoozeButtonIconClass = style("notificationSnooze__icon", "nt-size-3", {
6217
+ const snoozeButtonIconClass = style({
6218
+ key: "notificationSnooze__icon",
6219
+ className: "nt-size-3",
5587
6220
  iconKey: "clock"
5588
6221
  });
5589
6222
  const availableSnoozePresets = createMemo(() => {
@@ -5663,7 +6296,10 @@ var SnoozeButton = (props) => {
5663
6296
  }), createComponent(Popover.Content, {
5664
6297
  portal: true,
5665
6298
  get ["class"]() {
5666
- return style("notificationSnoozeCustomTime_popoverContent", "nt-size-fit nt-w-[260px]");
6299
+ return style({
6300
+ key: "notificationSnoozeCustomTime_popoverContent",
6301
+ className: "nt-size-fit nt-w-[260px]"
6302
+ });
5667
6303
  },
5668
6304
  get children() {
5669
6305
  return createComponent(SnoozeDateTimePicker, {
@@ -5720,10 +6356,22 @@ var renderNotificationActions = (notification, status) => {
5720
6356
  };
5721
6357
 
5722
6358
  // src/ui/components/Notification/DefaultNotification.tsx
5723
- var _tmpl$67 = /* @__PURE__ */ template(`<img>`);
5724
- var _tmpl$218 = /* @__PURE__ */ template(`<div>`);
5725
- var _tmpl$311 = /* @__PURE__ */ template(`<span>`);
5726
- var _tmpl$410 = /* @__PURE__ */ template(`<a><div><div></div><div></div><div>`);
6359
+ var _tmpl$67 = /* @__PURE__ */ template(`<span>`);
6360
+ var _tmpl$219 = /* @__PURE__ */ template(`<a><div></div><div><div></div><div></div></div><div class="nt-w-1.5 nt-flex nt-justify-center nt-shrink-0">`);
6361
+ var _tmpl$311 = /* @__PURE__ */ template(`<img>`);
6362
+ var _tmpl$410 = /* @__PURE__ */ template(`<div>`);
6363
+ var SEVERITY_TO_BAR_KEYS = {
6364
+ ["none" /* NONE */]: "notificationBar",
6365
+ ["high" /* HIGH */]: "severityHigh__notificationBar",
6366
+ ["medium" /* MEDIUM */]: "severityMedium__notificationBar",
6367
+ ["low" /* LOW */]: "severityLow__notificationBar"
6368
+ };
6369
+ var SEVERITY_TO_NOTIFICATION_KEYS = {
6370
+ ["none" /* NONE */]: "notification",
6371
+ ["high" /* HIGH */]: "severityHigh__notification",
6372
+ ["medium" /* MEDIUM */]: "severityMedium__notification",
6373
+ ["low" /* LOW */]: "severityLow__notification"
6374
+ };
5727
6375
  var DefaultNotification = (props) => {
5728
6376
  const style = useStyle();
5729
6377
  const {
@@ -5735,12 +6383,6 @@ var DefaultNotification = (props) => {
5735
6383
  status
5736
6384
  } = useInboxContext();
5737
6385
  const [minutesPassed, setMinutesPassed] = createSignal(0);
5738
- const deliveredAtIconClass = style("notificationDeliveredAt__icon", "nt-size-3", {
5739
- iconKey: "clock"
5740
- });
5741
- const snoozedUntilIconClass = style("notificationSnoozedUntil__icon", "nt-size-3", {
5742
- iconKey: "clock"
5743
- });
5744
6386
  const createdAt = createMemo(() => {
5745
6387
  minutesPassed();
5746
6388
  return formatToRelativeTime({
@@ -5798,32 +6440,54 @@ var DefaultNotification = (props) => {
5798
6440
  }
5799
6441
  });
5800
6442
  return (() => {
5801
- var _el$ = _tmpl$410(), _el$3 = _el$.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$7 = _el$5.nextSibling;
6443
+ 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;
5802
6444
  _el$.$$click = handleNotificationClick;
5803
6445
  insert(_el$, createComponent(Show, {
5804
6446
  get when() {
5805
- return props.notification.avatar;
6447
+ return props.renderAvatar;
5806
6448
  },
5807
6449
  get fallback() {
5808
- return (() => {
5809
- var _el$9 = _tmpl$218();
5810
- effect(() => className(_el$9, style("notificationImageLoadingFallback", "nt-size-8 nt-rounded-lg nt-shrink-0 nt-aspect-square")));
5811
- return _el$9;
5812
- })();
5813
- },
5814
- get children() {
5815
- var _el$2 = _tmpl$67();
5816
- effect((_p$) => {
5817
- var _v$ = style("notificationImage", "nt-size-8 nt-rounded-lg nt-object-cover nt-aspect-square"), _v$2 = props.notification.avatar;
5818
- _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
5819
- _v$2 !== _p$.t && setAttribute(_el$2, "src", _p$.t = _v$2);
5820
- return _p$;
5821
- }, {
5822
- e: void 0,
5823
- t: void 0
6450
+ return createComponent(Show, {
6451
+ get when() {
6452
+ return props.notification.avatar;
6453
+ },
6454
+ get fallback() {
6455
+ return (() => {
6456
+ var _el$9 = _tmpl$410();
6457
+ effect(() => className(_el$9, style({
6458
+ key: "notificationImageLoadingFallback",
6459
+ className: "nt-size-8 nt-rounded-lg nt-shrink-0 nt-aspect-square",
6460
+ context: {
6461
+ notification: props.notification
6462
+ }
6463
+ })));
6464
+ return _el$9;
6465
+ })();
6466
+ },
6467
+ get children() {
6468
+ var _el$8 = _tmpl$311();
6469
+ effect((_p$) => {
6470
+ var _v$6 = style({
6471
+ key: "notificationImage",
6472
+ className: "nt-size-8 nt-rounded-lg nt-object-cover nt-aspect-square",
6473
+ context: {
6474
+ notification: props.notification
6475
+ }
6476
+ }), _v$7 = props.notification.avatar;
6477
+ _v$6 !== _p$.e && className(_el$8, _p$.e = _v$6);
6478
+ _v$7 !== _p$.t && setAttribute(_el$8, "src", _p$.t = _v$7);
6479
+ return _p$;
6480
+ }, {
6481
+ e: void 0,
6482
+ t: void 0
6483
+ });
6484
+ return _el$8;
6485
+ }
5824
6486
  });
5825
- return _el$2;
5826
- }
6487
+ },
6488
+ children: (renderAvatar) => createComponent(ExternalElementRenderer, {
6489
+ render: (el) => renderAvatar()(el, props.notification)
6490
+ })
5827
6491
  }), _el$3);
5828
6492
  insert(_el$4, createComponent(Show, {
5829
6493
  get when() {
@@ -5838,6 +6502,11 @@ var DefaultNotification = (props) => {
5838
6502
  appearanceKey: "notificationSubject",
5839
6503
  "class": "nt-text-start nt-font-medium nt-whitespace-pre-wrap [word-break:break-word]",
5840
6504
  strongAppearanceKey: "notificationSubject__strong",
6505
+ get context() {
6506
+ return {
6507
+ notification: props.notification
6508
+ };
6509
+ },
5841
6510
  get children() {
5842
6511
  return subject();
5843
6512
  }
@@ -5857,6 +6526,11 @@ var DefaultNotification = (props) => {
5857
6526
  appearanceKey: "notificationBody",
5858
6527
  strongAppearanceKey: "notificationBody__strong",
5859
6528
  "class": "nt-text-start nt-whitespace-pre-wrap nt-text-foreground-alpha-600 [word-break:break-word]",
6529
+ get context() {
6530
+ return {
6531
+ notification: props.notification
6532
+ };
6533
+ },
5860
6534
  get children() {
5861
6535
  return props.notification.body;
5862
6536
  }
@@ -5866,46 +6540,93 @@ var DefaultNotification = (props) => {
5866
6540
  render: (el) => renderBody()(el, props.notification)
5867
6541
  })
5868
6542
  }), null);
5869
- insert(_el$5, () => renderNotificationActions(props.notification, status));
5870
6543
  insert(_el$3, createComponent(Show, {
5871
6544
  get when() {
5872
- return props.notification.primaryAction || props.notification.secondaryAction;
6545
+ return props.renderDefaultActions;
5873
6546
  },
5874
- get children() {
5875
- var _el$6 = _tmpl$218();
5876
- insert(_el$6, createComponent(Show, {
5877
- get when() {
5878
- return props.notification.primaryAction;
5879
- },
5880
- keyed: true,
5881
- children: (primaryAction) => createComponent(Button, {
5882
- appearanceKey: "notificationPrimaryAction__button",
5883
- variant: "default",
5884
- onClick: (e) => handleActionButtonClick("primary" /* PRIMARY */, e),
5885
- get children() {
5886
- return primaryAction.label;
6547
+ get fallback() {
6548
+ return (() => {
6549
+ var _el$10 = _tmpl$410();
6550
+ insert(_el$10, () => renderNotificationActions(props.notification, status));
6551
+ effect(() => className(_el$10, style({
6552
+ key: "notificationDefaultActions",
6553
+ 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`,
6554
+ context: {
6555
+ notification: props.notification
5887
6556
  }
5888
- })
5889
- }), null);
5890
- insert(_el$6, createComponent(Show, {
6557
+ })));
6558
+ return _el$10;
6559
+ })();
6560
+ },
6561
+ children: (renderDefaultActions) => createComponent(ExternalElementRenderer, {
6562
+ render: (el) => renderDefaultActions()(el, props.notification)
6563
+ })
6564
+ }), _el$5);
6565
+ insert(_el$3, createComponent(Show, {
6566
+ get when() {
6567
+ return props.renderCustomActions;
6568
+ },
6569
+ get fallback() {
6570
+ return createComponent(Show, {
5891
6571
  get when() {
5892
- return props.notification.secondaryAction;
6572
+ return props.notification.primaryAction || props.notification.secondaryAction;
5893
6573
  },
5894
- keyed: true,
5895
- children: (secondaryAction) => createComponent(Button, {
5896
- appearanceKey: "notificationSecondaryAction__button",
5897
- variant: "secondary",
5898
- onClick: (e) => handleActionButtonClick("secondary" /* SECONDARY */, e),
5899
- get children() {
5900
- return secondaryAction.label;
5901
- }
5902
- })
5903
- }), null);
5904
- effect(() => className(_el$6, style("notificationCustomActions", "nt-flex nt-flex-wrap nt-gap-2")));
5905
- return _el$6;
5906
- }
5907
- }), _el$7);
5908
- insert(_el$7, createComponent(Show, {
6574
+ get children() {
6575
+ var _el$11 = _tmpl$410();
6576
+ insert(_el$11, createComponent(Show, {
6577
+ get when() {
6578
+ return props.notification.primaryAction;
6579
+ },
6580
+ keyed: true,
6581
+ children: (primaryAction) => createComponent(Button, {
6582
+ appearanceKey: "notificationPrimaryAction__button",
6583
+ variant: "default",
6584
+ onClick: (e) => handleActionButtonClick("primary" /* PRIMARY */, e),
6585
+ get context() {
6586
+ return {
6587
+ notification: props.notification
6588
+ };
6589
+ },
6590
+ get children() {
6591
+ return primaryAction.label;
6592
+ }
6593
+ })
6594
+ }), null);
6595
+ insert(_el$11, createComponent(Show, {
6596
+ get when() {
6597
+ return props.notification.secondaryAction;
6598
+ },
6599
+ keyed: true,
6600
+ children: (secondaryAction) => createComponent(Button, {
6601
+ appearanceKey: "notificationSecondaryAction__button",
6602
+ variant: "secondary",
6603
+ onClick: (e) => handleActionButtonClick("secondary" /* SECONDARY */, e),
6604
+ get context() {
6605
+ return {
6606
+ notification: props.notification
6607
+ };
6608
+ },
6609
+ get children() {
6610
+ return secondaryAction.label;
6611
+ }
6612
+ })
6613
+ }), null);
6614
+ effect(() => className(_el$11, style({
6615
+ key: "notificationCustomActions",
6616
+ className: "nt-flex nt-flex-wrap nt-gap-2",
6617
+ context: {
6618
+ notification: props.notification
6619
+ }
6620
+ })));
6621
+ return _el$11;
6622
+ }
6623
+ });
6624
+ },
6625
+ children: (renderCustomActions) => createComponent(ExternalElementRenderer, {
6626
+ render: (el) => renderCustomActions()(el, props.notification)
6627
+ })
6628
+ }), _el$5);
6629
+ insert(_el$5, createComponent(Show, {
5909
6630
  get when() {
5910
6631
  return snoozedUntil();
5911
6632
  },
@@ -5915,7 +6636,7 @@ var DefaultNotification = (props) => {
5915
6636
  return deliveredAt();
5916
6637
  },
5917
6638
  get fallback() {
5918
- return memo(createdAt);
6639
+ return createdAt();
5919
6640
  },
5920
6641
  children: (deliveredAt2) => createComponent(Show, {
5921
6642
  get when() {
@@ -5940,13 +6661,36 @@ var DefaultNotification = (props) => {
5940
6661
  get children() {
5941
6662
  return createComponent(Badge, {
5942
6663
  appearanceKey: "notificationDeliveredAt__badge",
6664
+ get context() {
6665
+ return {
6666
+ notification: props.notification
6667
+ };
6668
+ },
5943
6669
  get children() {
5944
6670
  return [createComponent(IconRendererWrapper, {
5945
6671
  iconKey: "clock",
5946
- "class": deliveredAtIconClass,
6672
+ get ["class"]() {
6673
+ return style({
6674
+ key: "notificationDeliveredAt__icon",
6675
+ className: "nt-size-3",
6676
+ iconKey: "clock",
6677
+ context: {
6678
+ notification: props.notification
6679
+ }
6680
+ });
6681
+ },
5947
6682
  get fallback() {
5948
6683
  return createComponent(Clock, {
5949
- "class": deliveredAtIconClass
6684
+ get ["class"]() {
6685
+ return style({
6686
+ key: "notificationDeliveredAt__icon",
6687
+ className: "nt-size-3",
6688
+ iconKey: "clock",
6689
+ context: {
6690
+ notification: props.notification
6691
+ }
6692
+ });
6693
+ }
5950
6694
  });
5951
6695
  }
5952
6696
  }), date];
@@ -5961,34 +6705,94 @@ var DefaultNotification = (props) => {
5961
6705
  },
5962
6706
  children: (snoozedUntil2) => [createComponent(IconRendererWrapper, {
5963
6707
  iconKey: "clock",
5964
- "class": snoozedUntilIconClass,
6708
+ get ["class"]() {
6709
+ return style({
6710
+ key: "notificationSnoozedUntil__icon",
6711
+ className: "nt-size-3",
6712
+ iconKey: "clock",
6713
+ context: {
6714
+ notification: props.notification
6715
+ }
6716
+ });
6717
+ },
5965
6718
  get fallback() {
5966
6719
  return createComponent(Clock, {
5967
- "class": snoozedUntilIconClass
6720
+ get ["class"]() {
6721
+ return style({
6722
+ key: "notificationSnoozedUntil__icon",
6723
+ className: "nt-size-3",
6724
+ iconKey: "clock",
6725
+ context: {
6726
+ notification: props.notification
6727
+ }
6728
+ });
6729
+ }
5968
6730
  });
5969
6731
  }
5970
6732
  }), memo(() => t("notification.snoozedUntil")), " \xB7 ", memo(snoozedUntil2)]
5971
6733
  }));
5972
- insert(_el$, createComponent(Show, {
6734
+ insert(_el$6, createComponent(Show, {
5973
6735
  get when() {
5974
6736
  return !props.notification.isRead;
5975
6737
  },
5976
6738
  get children() {
5977
- var _el$8 = _tmpl$311();
5978
- effect(() => className(_el$8, style("notificationDot", "nt-size-1.5 nt-bg-primary nt-rounded-full nt-shrink-0")));
5979
- return _el$8;
6739
+ var _el$7 = _tmpl$67();
6740
+ effect(() => className(_el$7, style({
6741
+ key: "notificationDot",
6742
+ className: "nt-size-1.5 nt-bg-primary nt-rounded-full",
6743
+ context: {
6744
+ notification: props.notification
6745
+ }
6746
+ })));
6747
+ return _el$7;
5980
6748
  }
5981
- }), null);
6749
+ }));
5982
6750
  effect((_p$) => {
5983
6751
  var _a;
5984
- 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", {
5985
- "nt-cursor-pointer": !props.notification.isRead || !!((_a = props.notification.redirect) == null ? void 0 : _a.url)
5986
- })), _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");
5987
- _v$3 !== _p$.e && className(_el$, _p$.e = _v$3);
5988
- _v$4 !== _p$.t && className(_el$3, _p$.t = _v$4);
5989
- _v$5 !== _p$.a && className(_el$4, _p$.a = _v$5);
5990
- _v$6 !== _p$.o && className(_el$5, _p$.o = _v$6);
5991
- _v$7 !== _p$.i && className(_el$7, _p$.i = _v$7);
6752
+ var _v$ = style({
6753
+ key: SEVERITY_TO_NOTIFICATION_KEYS[props.notification.severity],
6754
+ 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", {
6755
+ "nt-cursor-pointer": !props.notification.isRead || !!((_a = props.notification.redirect) == null ? void 0 : _a.url),
6756
+ "nt-bg-severity-high-alpha-100 hover:nt-bg-severity-high-alpha-50": props.notification.severity === "high" /* HIGH */,
6757
+ "nt-bg-severity-medium-alpha-100 hover:nt-bg-severity-medium-alpha-50": props.notification.severity === "medium" /* MEDIUM */,
6758
+ "nt-bg-severity-low-alpha-100 hover:nt-bg-severity-low-alpha-50": props.notification.severity === "low" /* LOW */
6759
+ }),
6760
+ context: {
6761
+ notification: props.notification
6762
+ }
6763
+ }), _v$2 = style({
6764
+ key: SEVERITY_TO_BAR_KEYS[props.notification.severity],
6765
+ className: cn("nt-transition nt-absolute nt-left-0 nt-top-0 nt-bottom-0 nt-w-[3px]", {
6766
+ "nt-bg-severity-high group-hover:nt-bg-severity-high-alpha-500": props.notification.severity === "high" /* HIGH */,
6767
+ "nt-bg-severity-medium group-hover:nt-bg-severity-medium-alpha-500": props.notification.severity === "medium" /* MEDIUM */,
6768
+ "nt-bg-severity-low group-hover:nt-bg-severity-low-alpha-500": props.notification.severity === "low" /* LOW */
6769
+ }),
6770
+ context: {
6771
+ notification: props.notification
6772
+ }
6773
+ }), _v$3 = style({
6774
+ key: "notificationContent",
6775
+ className: "nt-flex nt-flex-col nt-gap-2 nt-w-full",
6776
+ context: {
6777
+ notification: props.notification
6778
+ }
6779
+ }), _v$4 = style({
6780
+ key: "notificationTextContainer",
6781
+ context: {
6782
+ notification: props.notification
6783
+ }
6784
+ }), _v$5 = style({
6785
+ key: "notificationDate",
6786
+ className: "nt-text-foreground-alpha-400 nt-flex nt-items-center nt-gap-1",
6787
+ context: {
6788
+ notification: props.notification
6789
+ }
6790
+ });
6791
+ _v$ !== _p$.e && className(_el$, _p$.e = _v$);
6792
+ _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
6793
+ _v$3 !== _p$.a && className(_el$3, _p$.a = _v$3);
6794
+ _v$4 !== _p$.o && className(_el$4, _p$.o = _v$4);
6795
+ _v$5 !== _p$.i && className(_el$5, _p$.i = _v$5);
5992
6796
  return _p$;
5993
6797
  }, {
5994
6798
  e: void 0,
@@ -6013,12 +6817,21 @@ var Notification = (props) => {
6013
6817
  get notification() {
6014
6818
  return props.notification;
6015
6819
  },
6820
+ get renderAvatar() {
6821
+ return props.renderAvatar;
6822
+ },
6016
6823
  get renderSubject() {
6017
6824
  return props.renderSubject;
6018
6825
  },
6019
6826
  get renderBody() {
6020
6827
  return props.renderBody;
6021
6828
  },
6829
+ get renderDefaultActions() {
6830
+ return props.renderDefaultActions;
6831
+ },
6832
+ get renderCustomActions() {
6833
+ return props.renderCustomActions;
6834
+ },
6022
6835
  get onNotificationClick() {
6023
6836
  return props.onNotificationClick;
6024
6837
  },
@@ -6074,7 +6887,7 @@ function Key(props) {
6074
6887
 
6075
6888
  // src/ui/components/Notification/NotificationListSkeleton.tsx
6076
6889
  var _tmpl$69 = /* @__PURE__ */ template(`<div>`);
6077
- var _tmpl$219 = /* @__PURE__ */ template(`<p data-localization=notifications.emptyNotice>`);
6890
+ var _tmpl$220 = /* @__PURE__ */ template(`<p data-localization=notifications.emptyNotice>`);
6078
6891
  var _tmpl$312 = /* @__PURE__ */ 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
6079
6892
  preferences, and connect email.</p><div><div>`);
6080
6893
  var NotificationListSkeleton = (props) => {
@@ -6099,7 +6912,10 @@ var NotificationListSkeleton = (props) => {
6099
6912
  delay: 0.3
6100
6913
  },
6101
6914
  get ["class"]() {
6102
- return style("notificationList__skeleton", "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4");
6915
+ return style({
6916
+ key: "notificationList__skeleton",
6917
+ className: "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4"
6918
+ });
6103
6919
  },
6104
6920
  get children() {
6105
6921
  return [memo(() => Array.from({
@@ -6118,7 +6934,10 @@ var NotificationListSkeleton = (props) => {
6118
6934
  easing: "ease-in-out"
6119
6935
  },
6120
6936
  get ["class"]() {
6121
- 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");
6937
+ return style({
6938
+ key: "notificationList__skeletonContent",
6939
+ className: "nt-flex nt-border-neutral-alpha-50 nt-items-center nt-gap-3 nt-p-3 nt-bg-neutral-alpha-25"
6940
+ });
6122
6941
  },
6123
6942
  get children() {
6124
6943
  return [createComponent(SkeletonAvatar, {
@@ -6134,13 +6953,19 @@ var NotificationListSkeleton = (props) => {
6134
6953
  appearanceKey: "notificationList__skeletonText",
6135
6954
  "class": "nt-h-2 nt-w-2/3 nt-bg-neutral-alpha-50 nt-rounded"
6136
6955
  }), null);
6137
- effect(() => className(_el$3, style("notificationList__skeletonItem", "nt-flex nt-flex-col nt-gap-2 nt-flex-1")));
6956
+ effect(() => className(_el$3, style({
6957
+ key: "notificationList__skeletonItem",
6958
+ className: "nt-flex nt-flex-col nt-gap-2 nt-flex-1"
6959
+ })));
6138
6960
  return _el$3;
6139
6961
  })()];
6140
6962
  }
6141
6963
  }))), (() => {
6142
6964
  var _el$2 = _tmpl$69();
6143
- effect(() => 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")));
6965
+ effect(() => className(_el$2, style({
6966
+ key: "notificationListEmptyNoticeOverlay",
6967
+ className: "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background"
6968
+ })));
6144
6969
  return _el$2;
6145
6970
  })()];
6146
6971
  }
@@ -6169,11 +6994,14 @@ var NotificationListSkeleton = (props) => {
6169
6994
  delay: 0.6
6170
6995
  },
6171
6996
  get ["class"]() {
6172
- return style("notificationListEmptyNotice", "nt-text-center");
6997
+ return style({
6998
+ key: "notificationListEmptyNotice",
6999
+ className: "nt-text-center"
7000
+ });
6173
7001
  },
6174
7002
  get children() {
6175
7003
  return memo(() => !!isKeyless())() ? createComponent(KeylessEmptyState, {}) : (() => {
6176
- var _el$4 = _tmpl$219();
7004
+ var _el$4 = _tmpl$220();
6177
7005
  insert(_el$4, () => t("notifications.emptyNotice"));
6178
7006
  return _el$4;
6179
7007
  })();
@@ -6181,7 +7009,10 @@ var NotificationListSkeleton = (props) => {
6181
7009
  });
6182
7010
  }
6183
7011
  }), null);
6184
- effect(() => 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")));
7012
+ effect(() => className(_el$, style({
7013
+ key: "notificationListEmptyNoticeContainer",
7014
+ 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"
7015
+ })));
6185
7016
  return _el$;
6186
7017
  })();
6187
7018
  };
@@ -6194,13 +7025,19 @@ function KeylessEmptyState() {
6194
7025
  variant: "secondary",
6195
7026
  size: "sm",
6196
7027
  get ["class"]() {
6197
- 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");
7028
+ return style({
7029
+ key: "notificationListEmptyNotice",
7030
+ 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"
7031
+ });
6198
7032
  },
6199
7033
  onClick: () => window.open("https://go.novu.co/keyless", "_blank", "noopener noreferrer"),
6200
7034
  get children() {
6201
7035
  return [createComponent(Key, {
6202
7036
  get ["class"]() {
6203
- return style("lockIcon", "nt-size-4 nt-mr-2");
7037
+ return style({
7038
+ key: "lockIcon",
7039
+ className: "nt-size-4 nt-mr-2"
7040
+ });
6204
7041
  }
6205
7042
  }), "Get API key"];
6206
7043
  }
@@ -6209,19 +7046,37 @@ function KeylessEmptyState() {
6209
7046
  variant: "default",
6210
7047
  size: "sm",
6211
7048
  get ["class"]() {
6212
- 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");
7049
+ return style({
7050
+ key: "notificationListEmptyNotice",
7051
+ 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"
7052
+ });
6213
7053
  },
6214
7054
  onClick: () => novu.notifications.triggerHelloWorldEvent(),
6215
7055
  get children() {
6216
7056
  return [createComponent(Bell, {
6217
7057
  get ["class"]() {
6218
- return style("bellIcon", "nt-size-4 nt-mr-2");
7058
+ return style({
7059
+ key: "bellIcon",
7060
+ className: "nt-size-4 nt-mr-2"
7061
+ });
6219
7062
  }
6220
7063
  }), "Send 'Hello World!'"];
6221
7064
  }
6222
7065
  }));
6223
7066
  effect((_p$) => {
6224
- 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");
7067
+ var _v$ = style({
7068
+ key: "notificationListEmptyNotice",
7069
+ className: "nt--mt-[50px]"
7070
+ }), _v$2 = style({
7071
+ key: "strong",
7072
+ className: "nt-text-[#000000] nt-mb-1"
7073
+ }), _v$3 = style({
7074
+ key: "notificationListEmptyNotice",
7075
+ className: "nt-mb-4"
7076
+ }), _v$4 = style({
7077
+ key: "notificationListEmptyNotice",
7078
+ className: "nt-flex nt-gap-4 nt-justify-center"
7079
+ });
6225
7080
  _v$ !== _p$.e && className(_el$5, _p$.e = _v$);
6226
7081
  _v$2 !== _p$.t && className(_el$6, _p$.t = _v$2);
6227
7082
  _v$3 !== _p$.a && className(_el$7, _p$.a = _v$3);
@@ -6239,9 +7094,9 @@ function KeylessEmptyState() {
6239
7094
 
6240
7095
  // src/ui/components/Notification/NotificationList.tsx
6241
7096
  var _tmpl$70 = /* @__PURE__ */ template(`<div>`);
6242
- var _tmpl$220 = /* @__PURE__ */ template(`<div><div>`);
7097
+ var _tmpl$221 = /* @__PURE__ */ template(`<div><div>`);
6243
7098
  var NotificationList = (props) => {
6244
- var _a, _b, _c, _d;
7099
+ var _a, _b, _c, _d, _e;
6245
7100
  const options = createMemo(() => __spreadProps(__spreadValues({}, props.filter), {
6246
7101
  limit: props.limit
6247
7102
  }));
@@ -6261,7 +7116,8 @@ var NotificationList = (props) => {
6261
7116
  } = useNewMessagesCount({
6262
7117
  filter: {
6263
7118
  tags: (_b = (_a = props.filter) == null ? void 0 : _a.tags) != null ? _b : [],
6264
- data: (_d = (_c = props.filter) == null ? void 0 : _c.data) != null ? _d : {}
7119
+ data: (_d = (_c = props.filter) == null ? void 0 : _c.data) != null ? _d : {},
7120
+ severity: (_e = props.filter) == null ? void 0 : _e.severity
6265
7121
  }
6266
7122
  });
6267
7123
  const {
@@ -6287,7 +7143,7 @@ var NotificationList = (props) => {
6287
7143
  });
6288
7144
  });
6289
7145
  return (() => {
6290
- var _el$ = _tmpl$220(), _el$2 = _el$.firstChild;
7146
+ var _el$ = _tmpl$221(), _el$2 = _el$.firstChild;
6291
7147
  insert(_el$, createComponent(NewMessagesCta, {
6292
7148
  get count() {
6293
7149
  return count();
@@ -6346,12 +7202,21 @@ var NotificationList = (props) => {
6346
7202
  get renderNotification() {
6347
7203
  return props.renderNotification;
6348
7204
  },
7205
+ get renderAvatar() {
7206
+ return props.renderAvatar;
7207
+ },
6349
7208
  get renderSubject() {
6350
7209
  return props.renderSubject;
6351
7210
  },
6352
7211
  get renderBody() {
6353
7212
  return props.renderBody;
6354
7213
  },
7214
+ get renderDefaultActions() {
7215
+ return props.renderDefaultActions;
7216
+ },
7217
+ get renderCustomActions() {
7218
+ return props.renderCustomActions;
7219
+ },
6355
7220
  get onNotificationClick() {
6356
7221
  return props.onNotificationClick;
6357
7222
  },
@@ -6381,7 +7246,19 @@ var NotificationList = (props) => {
6381
7246
  }
6382
7247
  }));
6383
7248
  effect((_p$) => {
6384
- 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");
7249
+ var _v$ = style({
7250
+ key: "notificationListContainer",
7251
+ className: "nt-relative nt-border-t nt-border-t-neutral-alpha-200 nt-h-full nt-overflow-hidden",
7252
+ context: {
7253
+ notifications: data()
7254
+ }
7255
+ }), _v$2 = style({
7256
+ key: "notificationList",
7257
+ className: "nt-relative nt-h-full nt-flex nt-flex-col nt-overflow-y-auto",
7258
+ context: {
7259
+ notifications: data()
7260
+ }
7261
+ });
6385
7262
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
6386
7263
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
6387
7264
  return _p$;
@@ -6400,20 +7277,24 @@ var InboxTabUnreadNotificationsCount = (props) => {
6400
7277
  return (() => {
6401
7278
  var _el$ = _tmpl$71();
6402
7279
  insert(_el$, displayCount);
6403
- effect(() => className(_el$, style("notificationsTabsTriggerCount", "nt-rounded-full nt-bg-counter nt-px-[6px] nt-text-counter-foreground nt-text-sm")));
7280
+ effect(() => className(_el$, style({
7281
+ key: "notificationsTabsTriggerCount",
7282
+ className: "nt-rounded-full nt-bg-counter nt-px-[6px] nt-text-counter-foreground nt-text-sm"
7283
+ })));
6404
7284
  return _el$;
6405
7285
  })();
6406
7286
  };
6407
7287
  var InboxTab = (props) => {
6408
- var _a;
7288
+ var _a, _b;
6409
7289
  const {
6410
7290
  status
6411
7291
  } = useInboxContext();
6412
7292
  const style = useStyle();
6413
- const unreadCount = useUnreadCount({
7293
+ const unreadCount = useFilteredUnreadCount({
6414
7294
  filter: {
6415
7295
  tags: getTagsFromTab(props),
6416
- data: (_a = props.filter) == null ? void 0 : _a.data
7296
+ data: (_a = props.filter) == null ? void 0 : _a.data,
7297
+ severity: (_b = props.filter) == null ? void 0 : _b.severity
6417
7298
  }
6418
7299
  });
6419
7300
  return createComponent(Tabs.Trigger, {
@@ -6421,13 +7302,19 @@ var InboxTab = (props) => {
6421
7302
  return props.label;
6422
7303
  },
6423
7304
  get ["class"]() {
6424
- return style("notificationsTabs__tabsTrigger", cn(tabsTriggerVariants(), "nt-flex nt-gap-2", props.class));
7305
+ return style({
7306
+ key: "notificationsTabs__tabsTrigger",
7307
+ className: cn(tabsTriggerVariants(), "nt-flex nt-gap-2", props.class)
7308
+ });
6425
7309
  },
6426
7310
  get children() {
6427
7311
  return [(() => {
6428
7312
  var _el$2 = _tmpl$71();
6429
7313
  insert(_el$2, () => props.label);
6430
- effect(() => className(_el$2, style("notificationsTabsTriggerLabel", "nt-text-sm nt-font-medium")));
7314
+ effect(() => className(_el$2, style({
7315
+ key: "notificationsTabsTriggerLabel",
7316
+ className: "nt-text-sm nt-font-medium"
7317
+ })));
6431
7318
  return _el$2;
6432
7319
  })(), createComponent(Show, {
6433
7320
  get when() {
@@ -6445,20 +7332,24 @@ var InboxTab = (props) => {
6445
7332
  });
6446
7333
  };
6447
7334
  var InboxDropdownTab = (props) => {
6448
- var _a;
7335
+ var _a, _b;
6449
7336
  const {
6450
7337
  status
6451
7338
  } = useInboxContext();
6452
7339
  const style = useStyle();
6453
- const unreadCount = useUnreadCount({
7340
+ const unreadCount = useFilteredUnreadCount({
6454
7341
  filter: {
6455
7342
  tags: getTagsFromTab(props),
6456
- data: (_a = props.filter) == null ? void 0 : _a.data
7343
+ data: (_a = props.filter) == null ? void 0 : _a.data,
7344
+ severity: (_b = props.filter) == null ? void 0 : _b.severity
6457
7345
  }
6458
7346
  });
6459
7347
  return createComponent(Dropdown.Item, {
6460
7348
  get ["class"]() {
6461
- return style("moreTabs__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-justify-between nt-gap-2"));
7349
+ return style({
7350
+ key: "moreTabs__dropdownItem",
7351
+ className: cn(dropdownItemVariants(), "nt-flex nt-justify-between nt-gap-2")
7352
+ });
6462
7353
  },
6463
7354
  get onClick() {
6464
7355
  return props.onClick;
@@ -6467,7 +7358,10 @@ var InboxDropdownTab = (props) => {
6467
7358
  return [(() => {
6468
7359
  var _el$3 = _tmpl$71();
6469
7360
  insert(_el$3, () => props.label);
6470
- effect(() => className(_el$3, style("moreTabs__dropdownItemLabel", "nt-mr-auto")));
7361
+ effect(() => className(_el$3, style({
7362
+ key: "moreTabs__dropdownItemLabel",
7363
+ className: "nt-mr-auto"
7364
+ })));
6471
7365
  return _el$3;
6472
7366
  })(), memo(() => props.rightIcon), createComponent(Show, {
6473
7367
  get when() {
@@ -6511,7 +7405,9 @@ var InboxTabs = (props) => {
6511
7405
  };
6512
7406
  })
6513
7407
  });
6514
- const checkIconClass = style("moreTabs__dropdownItemRight__icon", "nt-size-3", {
7408
+ const checkIconClass = style({
7409
+ key: "moreTabs__dropdownItemRight__icon",
7410
+ className: "nt-size-3",
6515
7411
  iconKey: "check"
6516
7412
  });
6517
7413
  const options = createMemo(() => dropdownTabs().map((tab) => __spreadProps(__spreadValues({}, tab), {
@@ -6527,7 +7423,9 @@ var InboxTabs = (props) => {
6527
7423
  })));
6528
7424
  const dropdownTabsUnreadSum = createMemo(() => dropdownTabsUnreadCounts().reduce((accumulator, currentValue) => accumulator + currentValue, 0));
6529
7425
  const isTabsDropdownActive = createMemo(() => dropdownTabs().map((tab) => tab.label).includes(activeTab()));
6530
- const moreTabsIconClass = style("moreTabs__icon", "nt-size-5", {
7426
+ const moreTabsIconClass = style({
7427
+ key: "moreTabs__icon",
7428
+ className: "nt-size-5",
6531
7429
  iconKey: "arrowDown"
6532
7430
  });
6533
7431
  return createComponent(Tabs.Root, {
@@ -6629,19 +7527,31 @@ var InboxTabs = (props) => {
6629
7527
  return tab.label;
6630
7528
  },
6631
7529
  get ["class"]() {
6632
- 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"));
7530
+ return style({
7531
+ key: "notificationsTabs__tabsContent",
7532
+ className: cn(activeTab() === tab.label ? "nt-block" : "nt-hidden", "nt-overflow-auto nt-flex-1 nt-flex nt-flex-col nt-min-h-0")
7533
+ });
6633
7534
  },
6634
7535
  get children() {
6635
7536
  return createComponent(NotificationList, {
6636
7537
  get renderNotification() {
6637
7538
  return props.renderNotification;
6638
7539
  },
7540
+ get renderAvatar() {
7541
+ return props.renderAvatar;
7542
+ },
6639
7543
  get renderSubject() {
6640
7544
  return props.renderSubject;
6641
7545
  },
6642
7546
  get renderBody() {
6643
7547
  return props.renderBody;
6644
7548
  },
7549
+ get renderDefaultActions() {
7550
+ return props.renderDefaultActions;
7551
+ },
7552
+ get renderCustomActions() {
7553
+ return props.renderCustomActions;
7554
+ },
6645
7555
  get onNotificationClick() {
6646
7556
  return props.onNotificationClick;
6647
7557
  },
@@ -6652,10 +7562,11 @@ var InboxTabs = (props) => {
6652
7562
  return props.onSecondaryActionClick;
6653
7563
  },
6654
7564
  get filter() {
6655
- var _a;
7565
+ var _a, _b;
6656
7566
  return __spreadProps(__spreadValues({}, filter()), {
6657
7567
  tags: getTagsFromTab(tab),
6658
- data: (_a = tab.filter) == null ? void 0 : _a.data
7568
+ data: (_a = tab.filter) == null ? void 0 : _a.data,
7569
+ severity: (_b = tab.filter) == null ? void 0 : _b.severity
6659
7570
  });
6660
7571
  }
6661
7572
  });
@@ -6713,12 +7624,21 @@ var InboxContent = (props) => {
6713
7624
  get renderNotification() {
6714
7625
  return props.renderNotification;
6715
7626
  },
7627
+ get renderAvatar() {
7628
+ return props.renderAvatar;
7629
+ },
6716
7630
  get renderSubject() {
6717
7631
  return props.renderSubject;
6718
7632
  },
6719
7633
  get renderBody() {
6720
7634
  return props.renderBody;
6721
7635
  },
7636
+ get renderDefaultActions() {
7637
+ return props.renderDefaultActions;
7638
+ },
7639
+ get renderCustomActions() {
7640
+ return props.renderCustomActions;
7641
+ },
6722
7642
  get onNotificationClick() {
6723
7643
  return props.onNotificationClick;
6724
7644
  },
@@ -6738,12 +7658,21 @@ var InboxContent = (props) => {
6738
7658
  get renderNotification() {
6739
7659
  return props.renderNotification;
6740
7660
  },
7661
+ get renderAvatar() {
7662
+ return props.renderAvatar;
7663
+ },
6741
7664
  get renderSubject() {
6742
7665
  return props.renderSubject;
6743
7666
  },
6744
7667
  get renderBody() {
6745
7668
  return props.renderBody;
6746
7669
  },
7670
+ get renderDefaultActions() {
7671
+ return props.renderDefaultActions;
7672
+ },
7673
+ get renderCustomActions() {
7674
+ return props.renderCustomActions;
7675
+ },
6747
7676
  get onNotificationClick() {
6748
7677
  return props.onNotificationClick;
6749
7678
  },
@@ -6775,10 +7704,13 @@ var InboxContent = (props) => {
6775
7704
  }
6776
7705
  }), null);
6777
7706
  insert(_el$, createComponent(Footer, {}), null);
6778
- effect(() => className(_el$, style("inboxContent", cn("nt-h-full nt-flex nt-flex-col [&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8", {
6779
- "[&_.nv-preferencesContainer]:nt-pb-12 [&_.nv-notificationList]:nt-pb-12": isDevelopmentMode(),
6780
- "[&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8": !isDevelopmentMode()
6781
- }))));
7707
+ effect(() => className(_el$, style({
7708
+ key: "inboxContent",
7709
+ className: cn("nt-h-full nt-flex nt-flex-col [&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8", {
7710
+ "[&_.nv-preferencesContainer]:nt-pb-12 [&_.nv-notificationList]:nt-pb-12": isDevelopmentMode(),
7711
+ "[&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8": !isDevelopmentMode()
7712
+ })
7713
+ })));
6782
7714
  return _el$;
6783
7715
  })();
6784
7716
  };
@@ -6807,7 +7739,9 @@ var Inbox = (props) => {
6807
7739
  return [createComponent(Popover.Trigger, {
6808
7740
  asChild: (triggerProps) => createComponent(Button, mergeProps({
6809
7741
  get ["class"]() {
6810
- return style("inbox__popoverTrigger");
7742
+ return style({
7743
+ key: "inbox__popoverTrigger"
7744
+ });
6811
7745
  },
6812
7746
  variant: "ghost",
6813
7747
  size: "icon"
@@ -6830,12 +7764,21 @@ var Inbox = (props) => {
6830
7764
  },
6831
7765
  get fallback() {
6832
7766
  return createComponent(InboxContent, {
7767
+ get renderAvatar() {
7768
+ return props.renderAvatar;
7769
+ },
6833
7770
  get renderSubject() {
6834
7771
  return props.renderSubject;
6835
7772
  },
6836
7773
  get renderBody() {
6837
7774
  return props.renderBody;
6838
7775
  },
7776
+ get renderDefaultActions() {
7777
+ return props.renderDefaultActions;
7778
+ },
7779
+ get renderCustomActions() {
7780
+ return props.renderCustomActions;
7781
+ },
6839
7782
  get onNotificationClick() {
6840
7783
  return props.onNotificationClick;
6841
7784
  },
@@ -6877,11 +7820,14 @@ var novuComponents = {
6877
7820
  Bell: Bell2,
6878
7821
  Notifications: (props) => {
6879
7822
  if (props.renderNotification) {
6880
- const _a = props, propsWithoutBodyAndSubject = __objRest(_a, [
7823
+ const _a = props, otherProps = __objRest(_a, [
6881
7824
  "renderBody",
6882
- "renderSubject"
7825
+ "renderSubject",
7826
+ "renderAvatar",
7827
+ "renderDefaultActions",
7828
+ "renderCustomActions"
6883
7829
  ]);
6884
- return createComponent(InboxContent, mergeProps(propsWithoutBodyAndSubject, {
7830
+ return createComponent(InboxContent, mergeProps(otherProps, {
6885
7831
  hideNav: true,
6886
7832
  get initialPage() {
6887
7833
  return InboxPage.Notifications;
@@ -6900,11 +7846,14 @@ var novuComponents = {
6900
7846
  },
6901
7847
  Preferences: (props) => {
6902
7848
  if (props.renderNotification) {
6903
- const _a = props, propsWithoutBodyAndSubject = __objRest(_a, [
7849
+ const _a = props, otherProps = __objRest(_a, [
6904
7850
  "renderBody",
6905
- "renderSubject"
7851
+ "renderSubject",
7852
+ "renderAvatar",
7853
+ "renderDefaultActions",
7854
+ "renderCustomActions"
6906
7855
  ]);
6907
- return createComponent(InboxContent, mergeProps(propsWithoutBodyAndSubject, {
7856
+ return createComponent(InboxContent, mergeProps(otherProps, {
6908
7857
  hideNav: true,
6909
7858
  get initialPage() {
6910
7859
  return InboxPage.Preferences;