@novu/js 3.3.1 → 3.5.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkDCLHIVKS_js = require('../chunk-DCLHIVKS.js');
3
+ var chunkME3JBJPI_js = require('../chunk-ME3JBJPI.js');
4
4
  var chunkERC62PGI_js = require('../chunk-ERC62PGI.js');
5
5
  var chunk7B52C2XE_js = require('../chunk-7B52C2XE.js');
6
6
  var web = require('solid-js/web');
@@ -17,8 +17,8 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
17
 
18
18
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
19
19
 
20
- // _4rw53wtx5:/Users/adamchmara/projects/novu/packages/js/src/ui/index.directcss
21
- var ui_default = `.novu{scrollbar-color:var(--nv-color-secondary-foreground-alpha-300) #0000;:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{border:0 solid #e5e7eb;box-sizing:border-box}:where(html,:host){line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}:where(body){line-height:inherit;margin:0}:where(hr){border-top-width:1px;color:inherit;height:0}:where(abbr:where([title])){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(a){color:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small){font-size:80%}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:initial}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button]),input:where([type=reset]),input:where([type=submit])){-webkit-appearance:button;background-color:initial;background-image:none}:where(:-moz-focusring){outline:auto}:where(:-moz-ui-invalid){box-shadow:none}:where(progress){vertical-align:initial}:where(*)::-webkit-inner-spin-button,:where(*)::-webkit-outer-spin-button{height:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(*)::-webkit-search-decoration{-webkit-appearance:none}:where(*)::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre){margin:0}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(ol,ul,menu){list-style:none;margin:0;padding:0}:where(dialog){padding:0}:where(textarea){resize:vertical}:where(input)::placeholder,:where(textarea)::placeholder{color:#9ca3af;opacity:1}:where(button,[role=button]){cursor:pointer}:where(:disabled){cursor:default}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block;vertical-align:middle}:where(img,video){height:auto;max-width:100%}:where([hidden]){display:none}:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(*) ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-thumb{background-clip:"padding-box";background-color:var(--nv-color-secondary-foreground-alpha-300);border-radius:.25rem}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background-color:initial}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}}.nt-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.\\!nt-pointer-events-auto{pointer-events:auto!important}.nt-invisible{visibility:hidden}.nt-absolute{position:absolute}.nt-relative{position:relative}.nt-inset-0{inset:0}.nt-inset-2{inset:.5rem}.nt-left-0\\.5{left:.125rem}.nt-right-0{right:0}.nt-right-3{right:.75rem}.nt-top-0{top:0}.nt-top-0\\.5{top:.125rem}.nt-top-3{top:.75rem}.nt-z-10{z-index:10}.nt-z-\\[-1\\]{z-index:-1}.nt-mx-auto{margin-left:auto;margin-right:auto}.nt-mb-2{margin-bottom:.5rem}.nt-mb-4{margin-bottom:1rem}.nt-mb-\\[0\\.625rem\\]{margin-bottom:.625rem}.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-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-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-transform{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-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-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-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-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-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-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-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-opacity-0{opacity:0}.nt-opacity-20{opacity:.2}.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-popover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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-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)}.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-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-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}.nt-peer:checked~.peer-checked\\:nt-border-neutral-alpha-400{border-color:var(--nv-color-neutral-alpha-400)}.nt-peer:checked~.peer-checked\\:nt-bg-primary{background-color:var(--nv-color-primary)}.nt-peer:checked~.peer-checked\\:nt-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-peer:checked~.peer-checked\\:after\\:nt-translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;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-peer:checked~.peer-checked\\:after\\:nt-border-background:after{border-color:var(--nv-color-background);content:var(--tw-content)}.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}.\\[\\&_svg\\]\\:nt-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:nt-shrink-0 svg{flex-shrink:0}`;
20
+ // _vl50ob9im:/Users/dimagrossman/projects/novu/packages/js/src/ui/index.directcss
21
+ var ui_default = `.novu{scrollbar-color:var(--nv-color-secondary-foreground-alpha-300) #0000;:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{border:0 solid #e5e7eb;box-sizing:border-box}:where(html,:host){line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}:where(body){line-height:inherit;margin:0}:where(hr){border-top-width:1px;color:inherit;height:0}:where(abbr:where([title])){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(a){color:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small){font-size:80%}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:initial}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button]),input:where([type=reset]),input:where([type=submit])){-webkit-appearance:button;background-color:initial;background-image:none}:where(:-moz-focusring){outline:auto}:where(:-moz-ui-invalid){box-shadow:none}:where(progress){vertical-align:initial}:where(*)::-webkit-inner-spin-button,:where(*)::-webkit-outer-spin-button{height:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(*)::-webkit-search-decoration{-webkit-appearance:none}:where(*)::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre){margin:0}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(ol,ul,menu){list-style:none;margin:0;padding:0}:where(dialog){padding:0}:where(textarea){resize:vertical}:where(input)::placeholder,:where(textarea)::placeholder{color:#9ca3af;opacity:1}:where(button,[role=button]){cursor:pointer}:where(:disabled){cursor:default}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block;vertical-align:middle}:where(img,video){height:auto;max-width:100%}:where([hidden]){display:none}:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(*) ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-thumb{background-clip:"padding-box";background-color:var(--nv-color-secondary-foreground-alpha-300);border-radius:.25rem}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background-color:initial}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}}.nt-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.\\!nt-pointer-events-auto{pointer-events:auto!important}.nt-invisible{visibility:hidden}.nt-absolute{position:absolute}.nt-relative{position:relative}.nt-inset-0{inset:0}.nt-inset-2{inset:.5rem}.nt-left-0\\.5{left:.125rem}.nt-right-0{right:0}.nt-right-3{right:.75rem}.nt-top-0{top:0}.nt-top-0\\.5{top:.125rem}.nt-top-3{top:.75rem}.nt-z-10{z-index:10}.nt-z-\\[-1\\]{z-index:-1}.nt-mx-auto{margin-left:auto;margin-right:auto}.nt-mb-2{margin-bottom:.5rem}.nt-mb-4{margin-bottom:1rem}.nt-mb-\\[0\\.625rem\\]{margin-bottom:.625rem}.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-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-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-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-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-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-tooltip{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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)}.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-4 .nv-notificationList{padding-bottom:1rem}.\\[\\&_\\.nv-notificationList\\]\\:nt-pb-8 .nv-notificationList{padding-bottom:2rem}.\\[\\&_\\.nv-preferencesContainer\\]\\:nt-pb-4 .nv-preferencesContainer{padding-bottom:1rem}.\\[\\&_\\.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}`;
22
22
 
23
23
  // src/ui/config/appearanceKeys.ts
24
24
  var appearanceKeys = [
@@ -172,12 +172,27 @@ var appearanceKeys = [
172
172
  "workflowContainer",
173
173
  "workflowLabel",
174
174
  "workflowLabelHeader",
175
+ "workflowLabelHeaderContainer",
176
+ "workflowLabelIcon",
175
177
  "workflowLabelContainer",
176
178
  "workflowContainerDisabledNotice",
177
179
  "workflowLabelDisabled__icon",
178
180
  "workflowContainerRight__icon",
179
181
  "workflowArrow__icon",
180
182
  "workflowDescription",
183
+ // preference groups
184
+ "preferencesGroupContainer",
185
+ "preferencesGroupHeader",
186
+ "preferencesGroupLabelContainer",
187
+ "preferencesGroupLabelIcon",
188
+ "preferencesGroupLabel",
189
+ "preferencesGroupActionsContainer",
190
+ "preferencesGroupActionsContainerRight__icon",
191
+ "preferencesGroupBody",
192
+ "preferencesGroupChannels",
193
+ "preferencesGroupInfo",
194
+ "preferencesGroupInfoIcon",
195
+ "preferencesGroupWorkflows",
181
196
  // channel
182
197
  "channelContainer",
183
198
  "channelIconContainer",
@@ -245,6 +260,7 @@ var defaultLocalization = {
245
260
  "preferences.global": "Global Preferences",
246
261
  "preferences.workflow.disabled.notice": "Contact admin to enable subscription management for this critical notification.",
247
262
  "preferences.workflow.disabled.tooltip": "Contact admin to edit",
263
+ "preferences.group.info": "Applies to all notifications under this group.",
248
264
  "snooze.datePicker.timePickerLabel": "Time",
249
265
  "snooze.datePicker.apply": "Apply",
250
266
  "snooze.datePicker.cancel": "Cancel",
@@ -627,6 +643,7 @@ var getTagsFromTab = (tab) => {
627
643
  var _a;
628
644
  return ((_a = tab == null ? void 0 : tab.filter) == null ? void 0 : _a.tags) || (tab == null ? void 0 : tab.value) || [];
629
645
  };
646
+ var NOVU_DEFAULT_CSS_ID = "novu-default-css";
630
647
 
631
648
  // src/ui/helpers/useStyle.ts
632
649
  var useStyle = () => {
@@ -635,46 +652,51 @@ var useStyle = () => {
635
652
  solidJs.onMount(() => {
636
653
  setIsServer(false);
637
654
  });
638
- const styleFuncMemo = solidJs.createMemo(() => (appearanceKey, className) => {
639
- const appearanceKeyParts = appearanceKey.split("__");
640
- let finalAppearanceKeys = [];
641
- for (let i = 0; i < appearanceKeyParts.length; i += 1) {
642
- const accumulated = appearanceKeyParts.slice(i).join("__");
643
- if (appearanceKeys.includes(accumulated)) {
644
- finalAppearanceKeys.push(accumulated);
655
+ const styleFuncMemo = solidJs.createMemo(
656
+ () => (appearanceKey, className, {
657
+ iconKey
658
+ } = {}) => {
659
+ const appearanceKeyParts = appearanceKey.split("__");
660
+ let finalAppearanceKeys = [];
661
+ for (let i = 0; i < appearanceKeyParts.length; i += 1) {
662
+ const accumulated = appearanceKeyParts.slice(i).join("__");
663
+ if (appearanceKeys.includes(accumulated)) {
664
+ finalAppearanceKeys.push(accumulated);
665
+ }
645
666
  }
646
- }
647
- const classes = (className == null ? void 0 : className.split(/\s+/).map((className2) => className2.replace(/^nv-/, ""))) || [];
648
- const appearanceKeysInClasses = classes.filter(
649
- (className2) => appearanceKeys.includes(className2)
650
- );
651
- finalAppearanceKeys = Array.from(
652
- /* @__PURE__ */ new Set([...finalAppearanceKeys, ...appearanceKeysInClasses])
653
- );
654
- finalAppearanceKeys.sort((a, b) => {
655
- const countA = (a.match(/__/g) || []).length;
656
- const countB = (b.match(/__/g) || []).length;
657
- return countB - countA;
658
- });
659
- const finalClassName = classes.filter((className2) => !finalAppearanceKeys.includes(className2)).join(" ");
660
- let appearanceClassnames = [];
661
- const reversedFinalAppearanceKeys = finalAppearanceKeys.reverse();
662
- for (let i = 0; i < reversedFinalAppearanceKeys.length; i += 1) {
663
- if (typeof appearance.elements()[reversedFinalAppearanceKeys[i]] === "string") {
664
- appearanceClassnames.push(appearance.elements()[reversedFinalAppearanceKeys[i]]);
667
+ const classes = (className == null ? void 0 : className.split(/\s+/).map((className2) => className2.replace(/^nv-/, ""))) || [];
668
+ const appearanceKeysInClasses = classes.filter(
669
+ (className2) => appearanceKeys.includes(className2)
670
+ );
671
+ finalAppearanceKeys = Array.from(
672
+ /* @__PURE__ */ new Set([...finalAppearanceKeys, ...appearanceKeysInClasses])
673
+ );
674
+ finalAppearanceKeys.sort((a, b) => {
675
+ const countA = (a.match(/__/g) || []).length;
676
+ const countB = (b.match(/__/g) || []).length;
677
+ return countB - countA;
678
+ });
679
+ const finalClassName = classes.filter((className2) => !finalAppearanceKeys.includes(className2)).join(" ");
680
+ let appearanceClassnames = [];
681
+ const reversedFinalAppearanceKeys = finalAppearanceKeys.reverse();
682
+ for (let i = 0; i < reversedFinalAppearanceKeys.length; i += 1) {
683
+ if (typeof appearance.elements()[reversedFinalAppearanceKeys[i]] === "string") {
684
+ appearanceClassnames.push(appearance.elements()[reversedFinalAppearanceKeys[i]]);
685
+ }
665
686
  }
687
+ appearanceClassnames = [publicFacingTwMerge(appearanceClassnames)];
688
+ const cssInJsClasses = !!finalAppearanceKeys.length && !isServer() ? finalAppearanceKeys.map((appKey) => appearance.appearanceKeyToCssInJsClass[appKey]) : [];
689
+ return cn(
690
+ ...finalAppearanceKeys.map((key) => `nv-${key}`),
691
+ "\u{1F514}",
692
+ iconKey ? `nv-${iconKey} \u{1F5BC}\uFE0F` : "",
693
+ finalClassName,
694
+ // default styles
695
+ appearanceClassnames,
696
+ ...cssInJsClasses
697
+ );
666
698
  }
667
- appearanceClassnames = [publicFacingTwMerge(appearanceClassnames)];
668
- const cssInJsClasses = !!finalAppearanceKeys.length && !isServer() ? finalAppearanceKeys.map((appKey) => appearance.appearanceKeyToCssInJsClass[appKey]) : [];
669
- return cn(
670
- ...finalAppearanceKeys.map((key) => `nv-${key}`),
671
- "\u{1F514}",
672
- finalClassName,
673
- // default styles
674
- appearanceClassnames,
675
- ...cssInJsClasses
676
- );
677
- });
699
+ );
678
700
  return styleFuncMemo();
679
701
  };
680
702
  function useUncontrolledState(props) {
@@ -708,26 +730,36 @@ var AppearanceProvider = (props) => {
708
730
  var _a, _b;
709
731
  return (_b = (_a = props.appearance) == null ? void 0 : _a.animations) != null ? _b : true;
710
732
  };
733
+ const icons = () => {
734
+ var _a;
735
+ return ((_a = props.appearance) == null ? void 0 : _a.icons) || {};
736
+ };
711
737
  const allElements = solidJs.createMemo(() => {
712
738
  var _a;
713
739
  const baseElements = themes().reduce((acc, obj) => chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues({}, acc), obj.elements || {}), {});
714
740
  return chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues({}, baseElements), ((_a = props.appearance) == null ? void 0 : _a.elements) || {});
715
741
  });
742
+ const container = () => props.container;
716
743
  solidJs.onMount(() => {
717
- const el = document.getElementById(props.id);
744
+ var _a;
745
+ const root = props.container instanceof ShadowRoot ? props.container : document;
746
+ const el = root.getElementById(props.id);
718
747
  if (el) {
719
748
  setStyleElement(el);
720
749
  return;
721
750
  }
751
+ const stylesContainer = (_a = props.container) != null ? _a : document.head;
722
752
  const styleEl = document.createElement("style");
723
753
  styleEl.id = props.id;
724
- document.head.appendChild(styleEl);
754
+ const defaultCssStyles = root.getElementById(NOVU_DEFAULT_CSS_ID);
755
+ if (defaultCssStyles) {
756
+ stylesContainer.insertBefore(styleEl, defaultCssStyles.nextSibling);
757
+ } else {
758
+ stylesContainer.appendChild(styleEl);
759
+ }
725
760
  setStyleElement(styleEl);
726
761
  solidJs.onCleanup(() => {
727
- const element = document.getElementById(props.id);
728
- if (element) {
729
- element.remove();
730
- }
762
+ styleEl.remove();
731
763
  });
732
764
  });
733
765
  solidJs.createEffect(() => {
@@ -763,10 +795,12 @@ var AppearanceProvider = (props) => {
763
795
  return {
764
796
  elements: allElements,
765
797
  variables,
798
+ animations,
799
+ icons,
766
800
  appearanceKeyToCssInJsClass: store$1.appearanceKeyToCssInJsClass,
767
801
  // stores are reactive
768
- animations,
769
- id
802
+ id,
803
+ container
770
804
  };
771
805
  },
772
806
  get children() {
@@ -924,24 +958,27 @@ var STATUS_TO_FILTER = {
924
958
  };
925
959
  var DEFAULT_LIMIT = 10;
926
960
  var InboxProvider = (props) => {
927
- var _a;
961
+ var _a, _b;
928
962
  const [isOpened, setIsOpened] = solidJs.createSignal(false);
929
963
  const [tabs, setTabs] = solidJs.createSignal(props.tabs);
930
964
  const [activeTab, setActiveTab] = solidJs.createSignal((_a = props.tabs[0] && props.tabs[0].label) != null ? _a : "");
931
965
  const [status, setStatus] = solidJs.createSignal("unreadRead" /* UNREAD_READ */);
932
966
  const [limit, setLimit] = solidJs.createSignal(DEFAULT_LIMIT);
933
967
  const [filter, setFilter] = solidJs.createSignal(chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, STATUS_TO_FILTER["unreadRead" /* UNREAD_READ */]), {
934
- tags: props.tabs.length > 0 ? getTagsFromTab(props.tabs[0]) : []
968
+ tags: props.tabs.length > 0 ? getTagsFromTab(props.tabs[0]) : [],
969
+ data: props.tabs.length > 0 ? (_b = props.tabs[0].filter) == null ? void 0 : _b.data : {}
935
970
  }));
936
971
  const [hideBranding, setHideBranding] = solidJs.createSignal(false);
937
972
  const [isDevelopmentMode, setIsDevelopmentMode] = solidJs.createSignal(false);
938
973
  const [maxSnoozeDurationHours, setMaxSnoozeDurationHours] = solidJs.createSignal(0);
939
974
  const isSnoozeEnabled = solidJs.createMemo(() => maxSnoozeDurationHours() > 0);
940
975
  const [preferencesFilter, setPreferencesFilter] = solidJs.createSignal(props.preferencesFilter);
976
+ const [preferenceGroups, setPreferenceGroups] = solidJs.createSignal(props.preferenceGroups);
941
977
  const setNewStatus = (newStatus) => {
942
978
  setStatus(newStatus);
943
979
  setFilter((old) => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, STATUS_TO_FILTER[newStatus]), {
944
- tags: old.tags
980
+ tags: old.tags,
981
+ data: old.data
945
982
  }));
946
983
  };
947
984
  const setNewActiveTab = (newActiveTab) => {
@@ -951,9 +988,13 @@ var InboxProvider = (props) => {
951
988
  return;
952
989
  }
953
990
  setActiveTab(newActiveTab);
954
- setFilter((old) => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, old), {
955
- tags
956
- }));
991
+ setFilter((old) => {
992
+ var _a2;
993
+ return chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, old), {
994
+ tags,
995
+ data: (_a2 = tab == null ? void 0 : tab.filter) == null ? void 0 : _a2.data
996
+ });
997
+ });
957
998
  };
958
999
  const navigate = (url, target) => {
959
1000
  if (!url) {
@@ -978,10 +1019,15 @@ var InboxProvider = (props) => {
978
1019
  const firstTab = props.tabs[0];
979
1020
  const tags = getTagsFromTab(firstTab);
980
1021
  setActiveTab((_a2 = firstTab == null ? void 0 : firstTab.label) != null ? _a2 : "");
981
- setFilter((old) => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, old), {
982
- tags
983
- }));
1022
+ setFilter((old) => {
1023
+ var _a3;
1024
+ return chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, old), {
1025
+ tags,
1026
+ data: (_a3 = firstTab == null ? void 0 : firstTab.filter) == null ? void 0 : _a3.data
1027
+ });
1028
+ });
984
1029
  setPreferencesFilter(props.preferencesFilter);
1030
+ setPreferenceGroups(props.preferenceGroups);
985
1031
  });
986
1032
  useNovuEvent({
987
1033
  event: "session.initialize.resolved",
@@ -1011,6 +1057,7 @@ var InboxProvider = (props) => {
1011
1057
  navigate,
1012
1058
  hideBranding,
1013
1059
  preferencesFilter,
1060
+ preferenceGroups,
1014
1061
  isDevelopmentMode,
1015
1062
  maxSnoozeDurationHours,
1016
1063
  isSnoozeEnabled
@@ -1029,7 +1076,7 @@ var useInboxContext = () => {
1029
1076
  };
1030
1077
  var NovuContext = solidJs.createContext(void 0);
1031
1078
  function NovuProvider(props) {
1032
- const novu = solidJs.createMemo(() => props.novu || new chunkDCLHIVKS_js.Novu(props.options));
1079
+ const novu = solidJs.createMemo(() => props.novu || new chunkME3JBJPI_js.Novu(props.options));
1033
1080
  return web.createComponent(NovuContext.Provider, {
1034
1081
  get value() {
1035
1082
  return novu();
@@ -1065,12 +1112,16 @@ var CountProvider = (props) => {
1065
1112
  if (tabs().length === 0) {
1066
1113
  return;
1067
1114
  }
1068
- const filters = tabs().map((tab) => ({
1069
- tags: getTagsFromTab(tab),
1070
- read: false,
1071
- archived: false,
1072
- snoozed: false
1073
- }));
1115
+ const filters = tabs().map((tab) => {
1116
+ var _a;
1117
+ return {
1118
+ tags: getTagsFromTab(tab),
1119
+ read: false,
1120
+ archived: false,
1121
+ snoozed: false,
1122
+ data: (_a = tab.filter) == null ? void 0 : _a.data
1123
+ };
1124
+ });
1074
1125
  const {
1075
1126
  data
1076
1127
  } = yield novu.notifications.count({
@@ -1084,7 +1135,7 @@ var CountProvider = (props) => {
1084
1135
  counts
1085
1136
  } = data;
1086
1137
  for (let i = 0; i < counts.length; i += 1) {
1087
- const tagsKey = createKey(counts[i].filter.tags);
1138
+ const tagsKey = createKey(counts[i].filter.tags, counts[i].filter.data);
1088
1139
  newMap.set(tagsKey, data == null ? void 0 : data.counts[i].count);
1089
1140
  }
1090
1141
  setUnreadCounts(newMap);
@@ -1135,9 +1186,9 @@ var CountProvider = (props) => {
1135
1186
  return;
1136
1187
  }
1137
1188
  setNewNotificationCounts((oldMap) => {
1138
- const tagsKey = createKey(tags);
1189
+ const key = createKey(tags, tabFilter.data);
1139
1190
  const newMap = new Map(oldMap);
1140
- newMap.set(tagsKey, (oldMap.get(tagsKey) || 0) + 1);
1191
+ newMap.set(key, (oldMap.get(key) || 0) + 1);
1141
1192
  return newMap;
1142
1193
  });
1143
1194
  };
@@ -1150,8 +1201,9 @@ var CountProvider = (props) => {
1150
1201
  return;
1151
1202
  }
1152
1203
  const tagsMap = tabs().reduce((acc, tab) => {
1204
+ var _a;
1153
1205
  const tags = getTagsFromTab(tab);
1154
- const tagsKey = createKey(tags);
1206
+ const tagsKey = createKey(tags, (_a = tab.filter) == null ? void 0 : _a.data);
1155
1207
  acc.set(tagsKey, tags);
1156
1208
  return acc;
1157
1209
  }, /* @__PURE__ */ new Map());
@@ -1197,9 +1249,10 @@ var CountProvider = (props) => {
1197
1249
  }
1198
1250
  });
1199
1251
  };
1200
- var createKey = (tags) => {
1252
+ var createKey = (tags, data) => {
1201
1253
  return JSON.stringify({
1202
- tags: tags != null ? tags : []
1254
+ tags: tags != null ? tags : [],
1255
+ data: data != null ? data : {}
1203
1256
  });
1204
1257
  };
1205
1258
  var useTotalUnreadCount = () => {
@@ -1216,7 +1269,7 @@ var useNewMessagesCount = (props) => {
1216
1269
  if (!context) {
1217
1270
  throw new Error("useNewMessagesCount must be used within a CountProvider");
1218
1271
  }
1219
- const key = solidJs.createMemo(() => createKey(props.filter.tags));
1272
+ const key = solidJs.createMemo(() => createKey(props.filter.tags, props.filter.data));
1220
1273
  const count = solidJs.createMemo(() => context.newNotificationCounts().get(key()) || 0);
1221
1274
  const reset = () => context.resetNewNotificationCounts(key());
1222
1275
  return {
@@ -1229,7 +1282,7 @@ var useUnreadCount = (props) => {
1229
1282
  if (!context) {
1230
1283
  throw new Error("useUnreadCount must be used within a CountProvider");
1231
1284
  }
1232
- const count = solidJs.createMemo(() => context.unreadCounts().get(createKey(props.filter.tags)) || 0);
1285
+ const count = solidJs.createMemo(() => context.unreadCounts().get(createKey(props.filter.tags, props.filter.data)) || 0);
1233
1286
  return count;
1234
1287
  };
1235
1288
  var useUnreadCounts = (props) => {
@@ -1238,11 +1291,12 @@ var useUnreadCounts = (props) => {
1238
1291
  throw new Error("useUnreadCounts must be used within a CountProvider");
1239
1292
  }
1240
1293
  const counts = solidJs.createMemo(() => props.filters.map((filter) => {
1241
- return context.unreadCounts().get(createKey(filter.tags)) || 0;
1294
+ return context.unreadCounts().get(createKey(filter.tags, filter.data)) || 0;
1242
1295
  }));
1243
1296
  return counts;
1244
1297
  };
1245
1298
  function createFocusTrap({ element, enabled }) {
1299
+ const { container } = useAppearance();
1246
1300
  solidJs.createEffect(() => {
1247
1301
  const trapElement = element();
1248
1302
  if (!trapElement || !enabled()) return;
@@ -1257,13 +1311,15 @@ function createFocusTrap({ element, enabled }) {
1257
1311
  const focusableElements2 = getFocusableElements();
1258
1312
  const firstFocusableElement = focusableElements2[0];
1259
1313
  const lastFocusableElement = focusableElements2[focusableElements2.length - 1];
1314
+ const containerElement = container();
1315
+ const root = containerElement instanceof ShadowRoot ? containerElement : document;
1260
1316
  if (event.shiftKey) {
1261
- if (document.activeElement === firstFocusableElement) {
1317
+ if (root.activeElement === firstFocusableElement) {
1262
1318
  lastFocusableElement.focus();
1263
1319
  event.preventDefault();
1264
1320
  }
1265
1321
  } else {
1266
- if (document.activeElement === lastFocusableElement) {
1322
+ if (root.activeElement === lastFocusableElement) {
1267
1323
  firstFocusableElement.focus();
1268
1324
  event.preventDefault();
1269
1325
  }
@@ -1350,144 +1406,203 @@ var ArrowLeft = (props) => {
1350
1406
  return _el$;
1351
1407
  })();
1352
1408
  };
1353
- var _tmpl$4 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 12"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5 12C5.6875 12 6.25 11.4462 6.25 10.7692H3.75C3.75 11.4462 4.3125 12 5 12ZM8.75 8.30769V5.23077C8.75 3.34154 7.73125 1.76 5.9375 1.34154V0.923077C5.9375 0.412308 5.51875 0 5 0C4.48125 0 4.0625 0.412308 4.0625 0.923077V1.34154C2.275 1.76 1.25 3.33538 1.25 5.23077V8.30769L0 9.53846V10.1538H10V9.53846L8.75 8.30769ZM7.5 8.92308H2.5V5.23077C2.5 3.70462 3.44375 2.46154 5 2.46154C6.55625 2.46154 7.5 3.70462 7.5 5.23077V8.92308Z"fill=currentColor>`);
1354
- function Bell(props) {
1409
+ var _tmpl$4 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 20 20"fill=none xmlns=http://www.w3.org/2000/svg><path d="M10.7957 10.0009L7.08325 6.2884L8.14375 5.2279L12.9168 10.0009L8.14375 14.7739L7.08325 13.7134L10.7957 10.0009Z"fill=currentColor>`);
1410
+ var ArrowRight = (props) => {
1355
1411
  return (() => {
1356
1412
  var _el$ = _tmpl$4();
1357
1413
  web.spread(_el$, props, true, true);
1358
1414
  return _el$;
1359
1415
  })();
1360
- }
1361
- var _tmpl$5 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M0.625 9.375L2.93989 8.86059C3.5538 9.18889 4.25516 9.375 5 9.375C7.41622 9.375 9.375 7.41622 9.375 5C9.375 2.58375 7.41622 0.625 5 0.625C2.58375 0.625 0.625 2.58375 0.625 5C0.625 5.74484 0.81113 6.4462 1.13942 7.0601L0.625 9.375ZM6.50881 2.8125L6.43224 3.68761H7.1875V4.56259H6.35568L6.27912 5.43759H7.1875V6.31259H6.2026L6.12604 7.1875H5.24771L5.32423 6.31259H4.44591L4.36934 7.1875H3.49101L3.56755 6.31259H2.8125V5.43759H3.64411L3.72066 4.56259H2.8125V3.68761H3.79721L3.87377 2.8125H4.75211L4.67555 3.68761H5.55392L5.63048 2.8125H6.50881ZM4.59899 4.56259L4.52247 5.43759H5.40079L5.47736 4.56259H4.59899Z"fill=currentColor>`);
1362
- var Chat = (props) => {
1416
+ };
1417
+ var _tmpl$5 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 20 20"fill=none xmlns=http://www.w3.org/2000/svg><path d="M10.0001 10.879L13.7126 7.1665L14.7731 8.227L10.0001 13L5.22705 8.227L6.28755 7.1665L10.0001 10.879Z"fill=currentColor>`);
1418
+ var ArrowDown = (props) => {
1363
1419
  return (() => {
1364
1420
  var _el$ = _tmpl$5();
1365
1421
  web.spread(_el$, props, true, true);
1366
1422
  return _el$;
1367
1423
  })();
1368
1424
  };
1369
- var _tmpl$6 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 8 6"fill=none xmlns=http://www.w3.org/2000/svg><path d="M2.99994 4.58847L7.33298 0L8 0.705765L2.99994 6L0 2.82356L0.666549 2.11779L2.99994 4.58847Z"fill=currentColor>`);
1370
- var Check = (props) => {
1425
+ var _tmpl$6 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 12"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5 12C5.6875 12 6.25 11.4462 6.25 10.7692H3.75C3.75 11.4462 4.3125 12 5 12ZM8.75 8.30769V5.23077C8.75 3.34154 7.73125 1.76 5.9375 1.34154V0.923077C5.9375 0.412308 5.51875 0 5 0C4.48125 0 4.0625 0.412308 4.0625 0.923077V1.34154C2.275 1.76 1.25 3.33538 1.25 5.23077V8.30769L0 9.53846V10.1538H10V9.53846L8.75 8.30769ZM7.5 8.92308H2.5V5.23077C2.5 3.70462 3.44375 2.46154 5 2.46154C6.55625 2.46154 7.5 3.70462 7.5 5.23077V8.92308Z"fill=currentColor>`);
1426
+ function Bell(props) {
1371
1427
  return (() => {
1372
1428
  var _el$ = _tmpl$6();
1373
1429
  web.spread(_el$, props, true, true);
1374
1430
  return _el$;
1375
1431
  })();
1376
- };
1377
- var _tmpl$7 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 20 20"><path fill=currentColor d="M5 8.333c-.917 0-1.667.75-1.667 1.667s.75 1.667 1.667 1.667c.916 0 1.666-.75 1.666-1.667S5.916 8.333 5 8.333zm10 0c-.917 0-1.667.75-1.667 1.667s.75 1.667 1.667 1.667c.916 0 1.666-.75 1.666-1.667S15.916 8.333 15 8.333zm-5 0c-.917 0-1.667.75-1.667 1.667s.75 1.667 1.667 1.667c.916 0 1.666-.75 1.666-1.667S10.916 8.333 10 8.333z">`);
1378
- var Dots = (props) => {
1432
+ }
1433
+ var _tmpl$7 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M0.625 9.375L2.93989 8.86059C3.5538 9.18889 4.25516 9.375 5 9.375C7.41622 9.375 9.375 7.41622 9.375 5C9.375 2.58375 7.41622 0.625 5 0.625C2.58375 0.625 0.625 2.58375 0.625 5C0.625 5.74484 0.81113 6.4462 1.13942 7.0601L0.625 9.375ZM6.50881 2.8125L6.43224 3.68761H7.1875V4.56259H6.35568L6.27912 5.43759H7.1875V6.31259H6.2026L6.12604 7.1875H5.24771L5.32423 6.31259H4.44591L4.36934 7.1875H3.49101L3.56755 6.31259H2.8125V5.43759H3.64411L3.72066 4.56259H2.8125V3.68761H3.79721L3.87377 2.8125H4.75211L4.67555 3.68761H5.55392L5.63048 2.8125H6.50881ZM4.59899 4.56259L4.52247 5.43759H5.40079L5.47736 4.56259H4.59899Z"fill=currentColor>`);
1434
+ var Chat = (props) => {
1379
1435
  return (() => {
1380
1436
  var _el$ = _tmpl$7();
1381
1437
  web.spread(_el$, props, true, true);
1382
1438
  return _el$;
1383
1439
  })();
1384
1440
  };
1385
- var _tmpl$8 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.20703 1.875H2.8125H2.10547H1.875V2.04688V2.8125V3.60156V5.33984L0.00390625 3.95508C0.0351562 3.60156 0.216797 3.27344 0.505859 3.06055L0.9375 2.74023V1.875C0.9375 1.35742 1.35742 0.9375 1.875 0.9375H3.37109L4.3457 0.216797C4.53516 0.0761719 4.76367 0 5 0C5.23633 0 5.46484 0.0761719 5.6543 0.214844L6.62891 0.9375H8.125C8.64258 0.9375 9.0625 1.35742 9.0625 1.875V2.74023L9.49414 3.06055C9.7832 3.27344 9.96484 3.60156 9.99609 3.95508L8.125 5.33984V3.60156V2.8125V2.04688V1.875H7.89453H7.1875H5.79297H4.20508H4.20703ZM0 8.75V4.72852L4.25 7.87695C4.4668 8.03711 4.73047 8.125 5 8.125C5.26953 8.125 5.5332 8.03906 5.75 7.87695L10 4.72852V8.75C10 9.43945 9.43945 10 8.75 10H1.25C0.560547 10 0 9.43945 0 8.75ZM3.4375 3.125H6.5625C6.73438 3.125 6.875 3.26562 6.875 3.4375C6.875 3.60938 6.73438 3.75 6.5625 3.75H3.4375C3.26562 3.75 3.125 3.60938 3.125 3.4375C3.125 3.26562 3.26562 3.125 3.4375 3.125ZM3.4375 4.375H6.5625C6.73438 4.375 6.875 4.51562 6.875 4.6875C6.875 4.85938 6.73438 5 6.5625 5H3.4375C3.26562 5 3.125 4.85938 3.125 4.6875C3.125 4.51562 3.26562 4.375 3.4375 4.375Z"fill=currentColor>`);
1386
- var Email = (props) => {
1441
+ var _tmpl$8 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 8 6"fill=none xmlns=http://www.w3.org/2000/svg><path d="M2.99994 4.58847L7.33298 0L8 0.705765L2.99994 6L0 2.82356L0.666549 2.11779L2.99994 4.58847Z"fill=currentColor>`);
1442
+ var Check = (props) => {
1387
1443
  return (() => {
1388
1444
  var _el$ = _tmpl$8();
1389
1445
  web.spread(_el$, props, true, true);
1390
1446
  return _el$;
1391
1447
  })();
1392
1448
  };
1393
- var _tmpl$9 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 12"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.99962 0.856934C4.64404 0.856934 4.35676 1.14421 4.35676 1.49979V1.88551C2.89024 2.18283 1.78533 3.48059 1.78533 5.03551V5.41318C1.78533 6.35738 1.43779 7.26943 0.810999 7.97658L0.662339 8.14332C0.493589 8.33216 0.45341 8.60336 0.555865 8.83439C0.658321 9.06542 0.889348 9.21408 1.14247 9.21408H8.85676C9.10988 9.21408 9.3389 9.06542 9.44337 8.83439C9.54783 8.60336 9.50564 8.33216 9.33689 8.14332L9.18823 7.97658C8.56145 7.26943 8.2139 6.35939 8.2139 5.41318V5.03551C8.2139 3.48059 7.10899 2.18283 5.64247 1.88551V1.49979C5.64247 1.14421 5.3552 0.856934 4.99962 0.856934ZM5.90966 10.767C6.15073 10.5259 6.28533 10.1985 6.28533 9.85693H4.99962H3.7139C3.7139 10.1985 3.8485 10.5259 4.08957 10.767C4.33064 11.008 4.6581 11.1426 4.99962 11.1426C5.34113 11.1426 5.66859 11.008 5.90966 10.767Z"fill=currentColor>`);
1394
- var InApp = (props) => {
1449
+ var _tmpl$9 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 12 12"fill=none xmlns=http://www.w3.org/2000/svg><g clip-path=url(#clip0_3188_15050)><path d="M6 3V6L8 7M11 6C11 8.76142 8.76142 11 6 11C3.23858 11 1 8.76142 1 6C1 3.23858 3.23858 1 6 1C8.76142 1 11 3.23858 11 6Z"stroke=currentColor stroke-linecap=round stroke-linejoin=round>`);
1450
+ var Clock = (props) => {
1395
1451
  return (() => {
1396
1452
  var _el$ = _tmpl$9();
1397
1453
  web.spread(_el$, props, true, true);
1398
1454
  return _el$;
1399
1455
  })();
1400
1456
  };
1401
- var _tmpl$10 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M2.29671 10C1.78742 10 1.39807 9.85716 1.12864 9.57149C0.862497 9.28581 0.729426 8.86623 0.729426 8.31274V2.64594H1.69543V8.29668C1.69543 8.52163 1.74964 8.69487 1.85806 8.81624C1.96978 8.93408 2.12914 8.99301 2.33614 8.99301H7.66389C7.86764 8.99301 8.02366 8.93408 8.13209 8.81624C8.24385 8.69487 8.29965 8.52163 8.29965 8.29668V2.64594H9.27059V8.31274C9.27059 8.8627 9.13591 9.28048 8.86648 9.56608C8.59705 9.85536 8.20931 10 7.70333 10H2.29671ZM3.41056 5.34543C3.29556 5.34543 3.20028 5.30438 3.1247 5.22226C3.04913 5.14015 3.01134 5.03304 3.01134 4.90089V4.72949C3.01134 4.59737 3.04749 4.49204 3.11977 4.41348C3.19535 4.33492 3.29227 4.29564 3.41056 4.29564H6.5944C6.71271 4.29564 6.80795 4.33492 6.88026 4.41348C6.95582 4.49204 6.9936 4.59737 6.9936 4.72949V4.90089C6.9936 5.03304 6.95582 5.14015 6.88026 5.22226C6.8047 5.30438 6.70939 5.34543 6.5944 5.34543H3.41056ZM1.05964 3.16014C0.724502 3.16014 0.463285 3.05301 0.276004 2.83877C0.0920037 2.62095 0 2.33172 0 1.97107V1.18907C0 0.824846 0.0952841 0.535614 0.28586 0.321373C0.476428 0.107124 0.734358 0 1.05964 0H8.94536C9.27715 0 9.53511 0.107124 9.71911 0.321373C9.90642 0.535614 10 0.824846 10 1.18907V1.97107C10 2.33172 9.90642 2.62095 9.71911 2.83877C9.53511 3.05301 9.27715 3.16014 8.94536 3.16014H1.05964ZM1.24693 2.19067H8.75805C8.87304 2.19067 8.95516 2.16211 9.00448 2.10497C9.05372 2.04427 9.07838 1.95322 9.07838 1.83181V1.32833C9.07838 1.20335 9.05372 1.1123 9.00448 1.05517C8.95516 0.99803 8.87304 0.969462 8.75805 0.969462H1.24693C1.13193 0.969462 1.04814 0.99803 0.995567 1.05517C0.946281 1.1123 0.921638 1.20335 0.921638 1.32833V1.83181C0.921638 1.95322 0.946281 2.04427 0.995567 2.10497C1.04814 2.16211 1.13193 2.19067 1.24693 2.19067Z"fill=currentColor>`);
1402
- var MarkAsArchived = (props) => {
1457
+ var _tmpl$10 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 20 20"><path fill=currentColor d="M5 8.333c-.917 0-1.667.75-1.667 1.667s.75 1.667 1.667 1.667c.916 0 1.666-.75 1.666-1.667S5.916 8.333 5 8.333zm10 0c-.917 0-1.667.75-1.667 1.667s.75 1.667 1.667 1.667c.916 0 1.666-.75 1.666-1.667S15.916 8.333 15 8.333zm-5 0c-.917 0-1.667.75-1.667 1.667s.75 1.667 1.667 1.667c.916 0 1.666-.75 1.666-1.667S10.916 8.333 10 8.333z">`);
1458
+ var Dots = (props) => {
1403
1459
  return (() => {
1404
1460
  var _el$ = _tmpl$10();
1405
1461
  web.spread(_el$, props, true, true);
1406
1462
  return _el$;
1407
1463
  })();
1408
1464
  };
1409
- var _tmpl$11 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 11 11"fill=none xmlns=http://www.w3.org/2000/svg><path d="M2.17256 10.999C1.69081 10.999 1.3225 10.8562 1.06763 10.5705C0.815875 10.2848 0.689997 9.86525 0.689997 9.31177V3.64497H1.60378V9.2957C1.60378 9.52066 1.65506 9.6939 1.75763 9.81526C1.8633 9.93311 2.01405 9.99203 2.20986 9.99203H7.24963C7.44236 9.99203 7.58995 9.93311 7.69252 9.81526C7.79823 9.6939 7.85102 9.52066 7.85102 9.2957V3.64497H8.76947V9.31177C8.76947 9.86173 8.64208 10.2795 8.38721 10.5651C8.13235 10.8544 7.76556 10.999 7.28693 10.999H2.17256ZM1.00236 4.15916C0.68534 4.15916 0.438242 4.05204 0.261085 3.83779C0.0870305 3.61997 0 3.33074 0 2.97009V2.18809C0 1.82387 0.0901336 1.53464 0.270408 1.3204C0.450675 1.10615 0.694663 0.999023 1.00236 0.999023H8.46182C8.77568 0.999023 9.0197 1.10615 9.19375 1.3204C9.37094 1.53464 9.45946 1.82387 9.45946 2.18809V2.97009C9.45946 3.33074 9.37094 3.61997 9.19375 3.83779C9.0197 4.05204 8.77568 4.15916 8.46182 4.15916H1.00236ZM1.17953 3.1897H8.28464C8.39342 3.1897 8.4711 3.16113 8.51775 3.10399C8.56433 3.04329 8.58765 2.95224 8.58765 2.83083V2.32735C8.58765 2.20238 8.56433 2.11132 8.51775 2.05419C8.4711 1.99705 7.51461 1.96849 7.40583 1.96849H1.17953C1.07074 1.96849 0.991485 1.99705 0.941753 2.05419C0.895131 2.11132 0.87182 2.20238 0.87182 2.32735V2.83083C0.87182 2.95224 0.895131 3.04329 0.941753 3.10399C0.991485 3.16113 1.07074 3.1897 1.17953 3.1897Z"fill=currentColor></path><path d="M9.67298 0.553711C9.84703 0.556646 10.0146 0.614475 10.1535 0.716797L10.2208 0.771484L10.2814 0.833008C10.3958 0.960612 10.4679 1.11928 10.4913 1.28711L10.4992 1.37109L10.4982 1.45605C10.4872 1.64689 10.4124 1.8301 10.2833 1.97559L10.2843 1.97656L7.55482 5.15039L7.55384 5.14941C7.40234 5.3265 7.18382 5.43557 6.94642 5.44336L6.93861 5.44434H6.92005V5.44336C6.69203 5.44397 6.47619 5.35201 6.31947 5.19141L6.31849 5.18945L5.29505 4.13184C5.08531 3.91498 5.00658 3.60427 5.08118 3.31641L5.11634 3.21094C5.2129 2.97124 5.41476 2.78187 5.67396 2.70996L5.78626 2.68652C6.01138 2.65637 6.23763 2.72008 6.41419 2.85938L6.49818 2.93555L6.8849 3.33496L9.0138 0.859375V0.860352C9.15512 0.688807 9.35911 0.576792 9.58509 0.556641L9.67298 0.553711Z"fill=currentColor stroke=white>`);
1410
- var MarkAsArchivedRead = (props) => {
1465
+ var _tmpl$11 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.20703 1.875H2.8125H2.10547H1.875V2.04688V2.8125V3.60156V5.33984L0.00390625 3.95508C0.0351562 3.60156 0.216797 3.27344 0.505859 3.06055L0.9375 2.74023V1.875C0.9375 1.35742 1.35742 0.9375 1.875 0.9375H3.37109L4.3457 0.216797C4.53516 0.0761719 4.76367 0 5 0C5.23633 0 5.46484 0.0761719 5.6543 0.214844L6.62891 0.9375H8.125C8.64258 0.9375 9.0625 1.35742 9.0625 1.875V2.74023L9.49414 3.06055C9.7832 3.27344 9.96484 3.60156 9.99609 3.95508L8.125 5.33984V3.60156V2.8125V2.04688V1.875H7.89453H7.1875H5.79297H4.20508H4.20703ZM0 8.75V4.72852L4.25 7.87695C4.4668 8.03711 4.73047 8.125 5 8.125C5.26953 8.125 5.5332 8.03906 5.75 7.87695L10 4.72852V8.75C10 9.43945 9.43945 10 8.75 10H1.25C0.560547 10 0 9.43945 0 8.75ZM3.4375 3.125H6.5625C6.73438 3.125 6.875 3.26562 6.875 3.4375C6.875 3.60938 6.73438 3.75 6.5625 3.75H3.4375C3.26562 3.75 3.125 3.60938 3.125 3.4375C3.125 3.26562 3.26562 3.125 3.4375 3.125ZM3.4375 4.375H6.5625C6.73438 4.375 6.875 4.51562 6.875 4.6875C6.875 4.85938 6.73438 5 6.5625 5H3.4375C3.26562 5 3.125 4.85938 3.125 4.6875C3.125 4.51562 3.26562 4.375 3.4375 4.375Z"fill=currentColor>`);
1466
+ var Email = (props) => {
1411
1467
  return (() => {
1412
1468
  var _el$ = _tmpl$11();
1413
1469
  web.spread(_el$, props, true, true);
1414
1470
  return _el$;
1415
1471
  })();
1416
1472
  };
1417
- var _tmpl$12 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><g clip-path=url(#clip0_3445_1172)><path d="M9 9.99902H1C0.867383 9.99902 0.7402 9.94635 0.64645 9.85257C0.552667 9.75882 0.5 9.63164 0.5 9.49902V0.499023C0.5 0.366407 0.552669 0.239223 0.64645 0.145473C0.7402 0.0516901 0.867383 -0.000976562 1 -0.000976562H6.25C6.42865 -0.000976562 6.59368 0.0943401 6.68301 0.249023C6.77233 0.403707 6.77233 0.59434 6.68301 0.749023C6.59368 0.903707 6.42865 0.999023 6.25 0.999023H1.5V8.99902H8.5V4.49902C8.5 4.32037 8.59532 4.15534 8.75 4.06602C8.90468 3.97669 9.09532 3.97669 9.25 4.06602C9.40468 4.15534 9.5 4.32037 9.5 4.49902V9.49902C9.5 9.63164 9.44733 9.75882 9.35355 9.85257C9.2598 9.94636 9.13262 9.99902 9 9.99902Z"fill=currentColor></path><path d="M7.5 8.24902H2.5C2.32135 8.24902 2.15632 8.15371 2.06699 7.99902C1.97767 7.84434 1.97767 7.65371 2.06699 7.49902C2.15632 7.34434 2.32135 7.24902 2.5 7.24902H7.5C7.67865 7.24902 7.84368 7.34434 7.93301 7.49902C8.02233 7.65371 8.02233 7.84434 7.93301 7.99902C7.84368 8.15371 7.67865 8.24902 7.5 8.24902Z"fill=currentColor></path><path d="M4.75 6.49901C4.61709 6.49979 4.48936 6.44761 4.39498 6.35403L2.89498 4.85403C2.76816 4.72717 2.71865 4.54235 2.76507 4.36907C2.81149 4.19583 2.94681 4.06051 3.12005 4.01409C3.29332 3.96767 3.47816 4.01718 3.60501 4.14401L4.73001 5.269L8.37501 1.16901C8.46056 1.06279 8.58578 0.996155 8.72169 0.984497C8.8576 0.972843 8.99233 1.01718 9.09474 1.10728C9.19712 1.19738 9.25825 1.32541 9.26398 1.46167C9.26968 1.59796 9.21948 1.73065 9.12502 1.82902L5.12502 6.32902C5.03371 6.43306 4.90337 6.49461 4.76502 6.49901L4.75 6.49901Z"fill=currentColor></path></g><defs><clipPath id=clip0_3445_1172><rect width=10 height=10 fill=white transform="translate(0 -0.000976562)">`);
1418
- var MarkAsRead = (props) => {
1473
+ var _tmpl$12 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 12"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.99962 0.856934C4.64404 0.856934 4.35676 1.14421 4.35676 1.49979V1.88551C2.89024 2.18283 1.78533 3.48059 1.78533 5.03551V5.41318C1.78533 6.35738 1.43779 7.26943 0.810999 7.97658L0.662339 8.14332C0.493589 8.33216 0.45341 8.60336 0.555865 8.83439C0.658321 9.06542 0.889348 9.21408 1.14247 9.21408H8.85676C9.10988 9.21408 9.3389 9.06542 9.44337 8.83439C9.54783 8.60336 9.50564 8.33216 9.33689 8.14332L9.18823 7.97658C8.56145 7.26943 8.2139 6.35939 8.2139 5.41318V5.03551C8.2139 3.48059 7.10899 2.18283 5.64247 1.88551V1.49979C5.64247 1.14421 5.3552 0.856934 4.99962 0.856934ZM5.90966 10.767C6.15073 10.5259 6.28533 10.1985 6.28533 9.85693H4.99962H3.7139C3.7139 10.1985 3.8485 10.5259 4.08957 10.767C4.33064 11.008 4.6581 11.1426 4.99962 11.1426C5.34113 11.1426 5.66859 11.008 5.90966 10.767Z"fill=currentColor>`);
1474
+ var InApp = (props) => {
1419
1475
  return (() => {
1420
1476
  var _el$ = _tmpl$12();
1421
1477
  web.spread(_el$, props, true, true);
1422
1478
  return _el$;
1423
1479
  })();
1424
1480
  };
1425
- var _tmpl$13 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M3.15789 2.99902V4.99902L0 2.49902L3.15789 -0.000976562V1.99902H5.78947C6.90618 1.99902 7.97714 2.42045 8.76677 3.1706C9.55639 3.92074 10 4.93816 10 5.99902C10 7.05989 9.55639 8.0773 8.76677 8.82745C7.97714 9.5776 6.90618 9.99902 5.78947 9.99902H1.05263V8.99902H5.78947C6.627 8.99902 7.43022 8.68295 8.02244 8.12034C8.61466 7.55773 8.94737 6.79467 8.94737 5.99902C8.94737 5.20337 8.61466 4.44031 8.02244 3.8777C7.43022 3.31509 6.627 2.99902 5.78947 2.99902H3.15789Z"fill=currentColor>`);
1426
- var MarkAsUnarchived = (props) => {
1481
+ var _tmpl$13 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M2.29671 10C1.78742 10 1.39807 9.85716 1.12864 9.57149C0.862497 9.28581 0.729426 8.86623 0.729426 8.31274V2.64594H1.69543V8.29668C1.69543 8.52163 1.74964 8.69487 1.85806 8.81624C1.96978 8.93408 2.12914 8.99301 2.33614 8.99301H7.66389C7.86764 8.99301 8.02366 8.93408 8.13209 8.81624C8.24385 8.69487 8.29965 8.52163 8.29965 8.29668V2.64594H9.27059V8.31274C9.27059 8.8627 9.13591 9.28048 8.86648 9.56608C8.59705 9.85536 8.20931 10 7.70333 10H2.29671ZM3.41056 5.34543C3.29556 5.34543 3.20028 5.30438 3.1247 5.22226C3.04913 5.14015 3.01134 5.03304 3.01134 4.90089V4.72949C3.01134 4.59737 3.04749 4.49204 3.11977 4.41348C3.19535 4.33492 3.29227 4.29564 3.41056 4.29564H6.5944C6.71271 4.29564 6.80795 4.33492 6.88026 4.41348C6.95582 4.49204 6.9936 4.59737 6.9936 4.72949V4.90089C6.9936 5.03304 6.95582 5.14015 6.88026 5.22226C6.8047 5.30438 6.70939 5.34543 6.5944 5.34543H3.41056ZM1.05964 3.16014C0.724502 3.16014 0.463285 3.05301 0.276004 2.83877C0.0920037 2.62095 0 2.33172 0 1.97107V1.18907C0 0.824846 0.0952841 0.535614 0.28586 0.321373C0.476428 0.107124 0.734358 0 1.05964 0H8.94536C9.27715 0 9.53511 0.107124 9.71911 0.321373C9.90642 0.535614 10 0.824846 10 1.18907V1.97107C10 2.33172 9.90642 2.62095 9.71911 2.83877C9.53511 3.05301 9.27715 3.16014 8.94536 3.16014H1.05964ZM1.24693 2.19067H8.75805C8.87304 2.19067 8.95516 2.16211 9.00448 2.10497C9.05372 2.04427 9.07838 1.95322 9.07838 1.83181V1.32833C9.07838 1.20335 9.05372 1.1123 9.00448 1.05517C8.95516 0.99803 8.87304 0.969462 8.75805 0.969462H1.24693C1.13193 0.969462 1.04814 0.99803 0.995567 1.05517C0.946281 1.1123 0.921638 1.20335 0.921638 1.32833V1.83181C0.921638 1.95322 0.946281 2.04427 0.995567 2.10497C1.04814 2.16211 1.13193 2.19067 1.24693 2.19067Z"fill=currentColor>`);
1482
+ var MarkAsArchived = (props) => {
1427
1483
  return (() => {
1428
1484
  var _el$ = _tmpl$13();
1429
1485
  web.spread(_el$, props, true, true);
1430
1486
  return _el$;
1431
1487
  })();
1432
1488
  };
1433
- var _tmpl$14 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 11 11"fill=none xmlns=http://www.w3.org/2000/svg><path d="M6.8 1.49902H1.5C0.947715 1.49902 0.5 1.94674 0.5 2.49902V9.49902C0.5 10.0513 0.947715 10.499 1.5 10.499H8.5C9.05228 10.499 9.5 10.0513 9.5 9.49902V4.19902"stroke=currentColor stroke-miterlimit=1 stroke-linecap=round></path><circle cx=9.25 cy=1.74902 r=1.25 fill=currentColor>`);
1434
- var MarkAsUnread = (props) => {
1489
+ var _tmpl$14 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 11 11"fill=none xmlns=http://www.w3.org/2000/svg><path d="M2.17256 10.999C1.69081 10.999 1.3225 10.8562 1.06763 10.5705C0.815875 10.2848 0.689997 9.86525 0.689997 9.31177V3.64497H1.60378V9.2957C1.60378 9.52066 1.65506 9.6939 1.75763 9.81526C1.8633 9.93311 2.01405 9.99203 2.20986 9.99203H7.24963C7.44236 9.99203 7.58995 9.93311 7.69252 9.81526C7.79823 9.6939 7.85102 9.52066 7.85102 9.2957V3.64497H8.76947V9.31177C8.76947 9.86173 8.64208 10.2795 8.38721 10.5651C8.13235 10.8544 7.76556 10.999 7.28693 10.999H2.17256ZM1.00236 4.15916C0.68534 4.15916 0.438242 4.05204 0.261085 3.83779C0.0870305 3.61997 0 3.33074 0 2.97009V2.18809C0 1.82387 0.0901336 1.53464 0.270408 1.3204C0.450675 1.10615 0.694663 0.999023 1.00236 0.999023H8.46182C8.77568 0.999023 9.0197 1.10615 9.19375 1.3204C9.37094 1.53464 9.45946 1.82387 9.45946 2.18809V2.97009C9.45946 3.33074 9.37094 3.61997 9.19375 3.83779C9.0197 4.05204 8.77568 4.15916 8.46182 4.15916H1.00236ZM1.17953 3.1897H8.28464C8.39342 3.1897 8.4711 3.16113 8.51775 3.10399C8.56433 3.04329 8.58765 2.95224 8.58765 2.83083V2.32735C8.58765 2.20238 8.56433 2.11132 8.51775 2.05419C8.4711 1.99705 7.51461 1.96849 7.40583 1.96849H1.17953C1.07074 1.96849 0.991485 1.99705 0.941753 2.05419C0.895131 2.11132 0.87182 2.20238 0.87182 2.32735V2.83083C0.87182 2.95224 0.895131 3.04329 0.941753 3.10399C0.991485 3.16113 1.07074 3.1897 1.17953 3.1897Z"fill=currentColor></path><path d="M9.67298 0.553711C9.84703 0.556646 10.0146 0.614475 10.1535 0.716797L10.2208 0.771484L10.2814 0.833008C10.3958 0.960612 10.4679 1.11928 10.4913 1.28711L10.4992 1.37109L10.4982 1.45605C10.4872 1.64689 10.4124 1.8301 10.2833 1.97559L10.2843 1.97656L7.55482 5.15039L7.55384 5.14941C7.40234 5.3265 7.18382 5.43557 6.94642 5.44336L6.93861 5.44434H6.92005V5.44336C6.69203 5.44397 6.47619 5.35201 6.31947 5.19141L6.31849 5.18945L5.29505 4.13184C5.08531 3.91498 5.00658 3.60427 5.08118 3.31641L5.11634 3.21094C5.2129 2.97124 5.41476 2.78187 5.67396 2.70996L5.78626 2.68652C6.01138 2.65637 6.23763 2.72008 6.41419 2.85938L6.49818 2.93555L6.8849 3.33496L9.0138 0.859375V0.860352C9.15512 0.688807 9.35911 0.576792 9.58509 0.556641L9.67298 0.553711Z"fill=currentColor stroke=white>`);
1490
+ var MarkAsArchivedRead = (props) => {
1435
1491
  return (() => {
1436
1492
  var _el$ = _tmpl$14();
1437
1493
  web.spread(_el$, props, true, true);
1438
1494
  return _el$;
1439
1495
  })();
1440
1496
  };
1441
- var _tmpl$15 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 13 12"><path fill=currentColor d="M9.787.98A5.972 5.972 0 006.5 0c-.668 0-1.31.11-1.911.31L9.187 4.94c.221.222.6.065.6-.248V.98z"></path><path fill=currentColor d="M2.879 1.216A5.99 5.99 0 00.5 6c0 1.134.315 2.195.862 3.1V7.309c0-1.966 2.379-2.946 3.764-1.552l4.995 5.027A5.99 5.99 0 0012.5 6a5.972 5.972 0 00-.862-3.1v1.791c0 1.966-2.379 2.946-3.764 1.552L2.879 1.216z"></path><path fill=currentColor d="M8.411 11.69L3.813 7.06a.351.351 0 00-.6.248v3.711c.944.62 2.073.98 3.287.98.668 0 1.31-.11 1.911-.31z">`);
1442
- var Novu2 = (props) => {
1497
+ var _tmpl$15 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><g clip-path=url(#clip0_3445_1172)><path d="M9 9.99902H1C0.867383 9.99902 0.7402 9.94635 0.64645 9.85257C0.552667 9.75882 0.5 9.63164 0.5 9.49902V0.499023C0.5 0.366407 0.552669 0.239223 0.64645 0.145473C0.7402 0.0516901 0.867383 -0.000976562 1 -0.000976562H6.25C6.42865 -0.000976562 6.59368 0.0943401 6.68301 0.249023C6.77233 0.403707 6.77233 0.59434 6.68301 0.749023C6.59368 0.903707 6.42865 0.999023 6.25 0.999023H1.5V8.99902H8.5V4.49902C8.5 4.32037 8.59532 4.15534 8.75 4.06602C8.90468 3.97669 9.09532 3.97669 9.25 4.06602C9.40468 4.15534 9.5 4.32037 9.5 4.49902V9.49902C9.5 9.63164 9.44733 9.75882 9.35355 9.85257C9.2598 9.94636 9.13262 9.99902 9 9.99902Z"fill=currentColor></path><path d="M7.5 8.24902H2.5C2.32135 8.24902 2.15632 8.15371 2.06699 7.99902C1.97767 7.84434 1.97767 7.65371 2.06699 7.49902C2.15632 7.34434 2.32135 7.24902 2.5 7.24902H7.5C7.67865 7.24902 7.84368 7.34434 7.93301 7.49902C8.02233 7.65371 8.02233 7.84434 7.93301 7.99902C7.84368 8.15371 7.67865 8.24902 7.5 8.24902Z"fill=currentColor></path><path d="M4.75 6.49901C4.61709 6.49979 4.48936 6.44761 4.39498 6.35403L2.89498 4.85403C2.76816 4.72717 2.71865 4.54235 2.76507 4.36907C2.81149 4.19583 2.94681 4.06051 3.12005 4.01409C3.29332 3.96767 3.47816 4.01718 3.60501 4.14401L4.73001 5.269L8.37501 1.16901C8.46056 1.06279 8.58578 0.996155 8.72169 0.984497C8.8576 0.972843 8.99233 1.01718 9.09474 1.10728C9.19712 1.19738 9.25825 1.32541 9.26398 1.46167C9.26968 1.59796 9.21948 1.73065 9.12502 1.82902L5.12502 6.32902C5.03371 6.43306 4.90337 6.49461 4.76502 6.49901L4.75 6.49901Z"fill=currentColor></path></g><defs><clipPath id=clip0_3445_1172><rect width=10 height=10 fill=white transform="translate(0 -0.000976562)">`);
1498
+ var MarkAsRead = (props) => {
1443
1499
  return (() => {
1444
1500
  var _el$ = _tmpl$15();
1445
1501
  web.spread(_el$, props, true, true);
1446
1502
  return _el$;
1447
1503
  })();
1448
1504
  };
1449
- var _tmpl$16 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 16"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.12531 1.8999C3.94958 1.8999 3.80713 2.04235 3.80713 2.21808C3.80713 2.39382 3.94958 2.53627 4.12531 2.53627H6.0344C6.21013 2.53627 6.35258 2.39382 6.35258 2.21808C6.35258 2.04235 6.21013 1.8999 6.0344 1.8999H4.12531Z"fill=currentColor></path><path d="M4.12531 1.8999C3.94958 1.8999 3.80713 2.04235 3.80713 2.21808C3.80713 2.39382 3.94958 2.53627 4.12531 2.53627H6.0344C6.21013 2.53627 6.35258 2.39382 6.35258 2.21808C6.35258 2.04235 6.21013 1.8999 6.0344 1.8999H4.12531Z"stroke=currentColor></path><path d="M2.69329 1.46818H7.30693C7.75127 1.46818 8.11147 1.82839 8.11147 2.27273V13.7273C8.11147 14.1716 7.75127 14.5318 7.30693 14.5318H2.69329C2.24896 14.5318 1.88875 14.1716 1.88875 13.7273V2.27273C1.88875 1.82839 2.24896 1.46818 2.69329 1.46818ZM2.69329 0.85C1.90754 0.85 1.27057 1.48698 1.27057 2.27273V2.95695C1.17568 3.00972 1.11147 3.111 1.11147 3.22727V3.54545C1.11147 3.64155 1.15532 3.7274 1.22411 3.78409C1.15532 3.84078 1.11147 3.92663 1.11147 4.02273V4.65909C1.11147 4.75519 1.15532 4.84104 1.22411 4.89773C1.15532 4.95442 1.11147 5.04027 1.11147 5.13636V6.09091C1.11147 6.20718 1.17568 6.30846 1.27057 6.36123V13.7273C1.27057 14.513 1.90754 15.15 2.69329 15.15H7.30693C8.09268 15.15 8.72966 14.513 8.72966 13.7273V6.36123C8.82454 6.30846 8.88875 6.20718 8.88875 6.09091V4.81818C8.88875 4.70191 8.82454 4.60063 8.72966 4.54786V2.27273C8.72966 1.48698 8.09268 0.85 7.30693 0.85H2.69329Z"fill=currentColor stroke=currentColor stroke-width=0.3>`);
1450
- var Push = (props) => {
1505
+ var _tmpl$16 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M3.15789 2.99902V4.99902L0 2.49902L3.15789 -0.000976562V1.99902H5.78947C6.90618 1.99902 7.97714 2.42045 8.76677 3.1706C9.55639 3.92074 10 4.93816 10 5.99902C10 7.05989 9.55639 8.0773 8.76677 8.82745C7.97714 9.5776 6.90618 9.99902 5.78947 9.99902H1.05263V8.99902H5.78947C6.627 8.99902 7.43022 8.68295 8.02244 8.12034C8.61466 7.55773 8.94737 6.79467 8.94737 5.99902C8.94737 5.20337 8.61466 4.44031 8.02244 3.8777C7.43022 3.31509 6.627 2.99902 5.78947 2.99902H3.15789Z"fill=currentColor>`);
1506
+ var MarkAsUnarchived = (props) => {
1451
1507
  return (() => {
1452
1508
  var _el$ = _tmpl$16();
1453
1509
  web.spread(_el$, props, true, true);
1454
1510
  return _el$;
1455
1511
  })();
1456
1512
  };
1457
- var _tmpl$17 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 20 20"fill=none xmlns=http://www.w3.org/2000/svg><path d="M10 1.75L17.125 5.875V14.125L10 18.25L2.875 14.125V5.875L10 1.75ZM10 3.48325L4.375 6.73975V13.2603L10 16.5167L15.625 13.2603V6.73975L10 3.48325ZM10 13C9.20435 13 8.44129 12.6839 7.87868 12.1213C7.31607 11.5587 7 10.7956 7 10C7 9.20435 7.31607 8.44129 7.87868 7.87868C8.44129 7.31607 9.20435 7 10 7C10.7956 7 11.5587 7.31607 12.1213 7.87868C12.6839 8.44129 13 9.20435 13 10C13 10.7956 12.6839 11.5587 12.1213 12.1213C11.5587 12.6839 10.7956 13 10 13ZM10 11.5C10.3978 11.5 10.7794 11.342 11.0607 11.0607C11.342 10.7794 11.5 10.3978 11.5 10C11.5 9.60218 11.342 9.22064 11.0607 8.93934C10.7794 8.65804 10.3978 8.5 10 8.5C9.60218 8.5 9.22064 8.65804 8.93934 8.93934C8.65804 9.22064 8.5 9.60218 8.5 10C8.5 10.3978 8.65804 10.7794 8.93934 11.0607C9.22064 11.342 9.60218 11.5 10 11.5Z"fill=currentColor>`);
1458
- var Settings = (props) => {
1513
+ var _tmpl$17 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 11 11"fill=none xmlns=http://www.w3.org/2000/svg><path d="M6.8 1.49902H1.5C0.947715 1.49902 0.5 1.94674 0.5 2.49902V9.49902C0.5 10.0513 0.947715 10.499 1.5 10.499H8.5C9.05228 10.499 9.5 10.0513 9.5 9.49902V4.19902"stroke=currentColor stroke-miterlimit=1 stroke-linecap=round></path><circle cx=9.25 cy=1.74902 r=1.25 fill=currentColor>`);
1514
+ var MarkAsUnread = (props) => {
1459
1515
  return (() => {
1460
1516
  var _el$ = _tmpl$17();
1461
1517
  web.spread(_el$, props, true, true);
1462
1518
  return _el$;
1463
1519
  })();
1464
1520
  };
1465
- var _tmpl$18 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5.00051 9.28364C7.76195 9.28364 10 7.20598 10 4.64182C10 2.07766 7.76195 0 5.00051 0C2.23907 0 0.00101462 2.07766 0.00101462 4.64182C0.00101462 5.64829 0.346683 6.57889 0.932561 7.33988C0.895455 7.88663 0.709927 8.37313 0.514634 8.74358C0.407223 8.94889 0.297859 9.11404 0.21779 9.22562C0.176778 9.28141 0.145531 9.32381 0.122096 9.35282C0.110379 9.36621 0.102567 9.37737 0.096708 9.38407L0.0908493 9.39076C0.00101462 9.49342 -0.0243734 9.64517 0.0244497 9.77907C0.0732729 9.91297 0.186543 10 0.313483 10C0.873973 10 1.43837 9.80138 1.90707 9.56929C2.35429 9.34613 2.73511 9.08056 2.96751 8.88641C3.58854 9.14305 4.27597 9.28587 5.00051 9.28587V9.28364ZM1.87582 4.03481C1.87582 3.58179 2.19806 3.21357 2.5945 3.21357H2.96946C3.14132 3.21357 3.28193 3.37425 3.28193 3.57063C3.28193 3.76702 3.14132 3.92769 2.96946 3.92769H2.5945C2.54177 3.92769 2.50076 3.97679 2.50076 4.03481C2.50076 4.07052 2.51638 4.10399 2.54373 4.12408L3.11789 4.56148C3.31904 4.71323 3.43817 4.96987 3.43817 5.2466C3.43817 5.69962 3.11593 6.06784 2.71949 6.06784L2.18829 6.07007C2.01644 6.07007 1.87582 5.9094 1.87582 5.71301C1.87582 5.51663 2.01644 5.35595 2.18829 5.35595H2.71949C2.77222 5.35595 2.81323 5.30685 2.81323 5.24883C2.81323 5.21312 2.79761 5.17965 2.77026 5.15956L2.1961 4.72216C1.99691 4.56818 1.87582 4.31154 1.87582 4.03481ZM7.28153 3.21357H7.65649C7.82834 3.21357 7.96896 3.37425 7.96896 3.57063C7.96896 3.76702 7.82834 3.92769 7.65649 3.92769H7.28153C7.2288 3.92769 7.18779 3.97679 7.18779 4.03481C7.18779 4.07052 7.20341 4.10399 7.23075 4.12408L7.80491 4.56148C8.00411 4.71323 8.12519 4.96987 8.12519 5.2466C8.12519 5.69962 7.80296 6.06784 7.40651 6.06784L6.87532 6.07007C6.70346 6.07007 6.56285 5.9094 6.56285 5.71301C6.56285 5.51663 6.70346 5.35595 6.87532 5.35595H7.40651C7.45924 5.35595 7.50025 5.30685 7.50025 5.24883C7.50025 5.21312 7.48463 5.17965 7.45729 5.15956L6.88313 4.72216C6.68393 4.57041 6.56285 4.31377 6.56285 4.03705C6.56285 3.58402 6.88508 3.2158 7.28153 3.2158V3.21357ZM4.31308 3.35639L5.00051 4.40304L5.68794 3.35639C5.76801 3.23365 5.90862 3.18233 6.03751 3.23142C6.1664 3.28052 6.25038 3.41665 6.25038 3.57063V5.71301C6.25038 5.9094 6.10977 6.07007 5.93791 6.07007C5.76605 6.07007 5.62544 5.9094 5.62544 5.71301V4.64182L5.25048 5.21312C5.19189 5.30239 5.09815 5.35595 5.00051 5.35595C4.90286 5.35595 4.80912 5.30239 4.75053 5.21312L4.37557 4.64182V5.71301C4.37557 5.9094 4.23496 6.07007 4.0631 6.07007C3.89124 6.07007 3.75063 5.9094 3.75063 5.71301V3.57063C3.75063 3.41665 3.83656 3.28052 3.9635 3.23142C4.09044 3.18233 4.23105 3.23365 4.31308 3.35639Z"fill=currentColor>`);
1466
- var Sms = (props) => {
1521
+ var _tmpl$18 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 13 12"><path fill=currentColor d="M9.787.98A5.972 5.972 0 006.5 0c-.668 0-1.31.11-1.911.31L9.187 4.94c.221.222.6.065.6-.248V.98z"></path><path fill=currentColor d="M2.879 1.216A5.99 5.99 0 00.5 6c0 1.134.315 2.195.862 3.1V7.309c0-1.966 2.379-2.946 3.764-1.552l4.995 5.027A5.99 5.99 0 0012.5 6a5.972 5.972 0 00-.862-3.1v1.791c0 1.966-2.379 2.946-3.764 1.552L2.879 1.216z"></path><path fill=currentColor d="M8.411 11.69L3.813 7.06a.351.351 0 00-.6.248v3.711c.944.62 2.073.98 3.287.98.668 0 1.31-.11 1.911-.31z">`);
1522
+ var Novu2 = (props) => {
1467
1523
  return (() => {
1468
1524
  var _el$ = _tmpl$18();
1469
1525
  web.spread(_el$, props, true, true);
1470
1526
  return _el$;
1471
1527
  })();
1472
1528
  };
1473
- var _tmpl$19 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 8"fill=none xmlns=http://www.w3.org/2000/svg><path d="M1.0119 0.347055C1.06274 0.143703 1.26565 -0.000976562 1.5 -0.000976562H8.5C8.73435 -0.000976562 8.93725 0.143703 8.9881 0.347055L9.9881 4.34707C9.996 4.37871 10 4.41102 10 4.44347V7.55458C10 7.80005 9.77615 7.99902 9.5 7.99902H0.5C0.22386 7.99902 0 7.80005 0 7.55458V4.44347C0 4.41102 0.00399495 4.37871 0.011905 4.34707L1.0119 0.347055ZM1.90108 0.887912L1.12331 3.99902H3.5C3.5 4.73542 4.17155 5.33236 5 5.33236C5.82845 5.33236 6.5 4.73542 6.5 3.99902H8.8767L8.0989 0.887912H1.90108ZM7.292 4.88791C6.9062 5.67276 6.02515 6.22125 5 6.22125C3.97484 6.22125 3.0938 5.67276 2.70802 4.88791H1V7.11013H9V4.88791H7.292Z"fill=currentColor>`);
1474
- var UnreadRead = (props) => {
1529
+ var _tmpl$19 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 16"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.12531 1.8999C3.94958 1.8999 3.80713 2.04235 3.80713 2.21808C3.80713 2.39382 3.94958 2.53627 4.12531 2.53627H6.0344C6.21013 2.53627 6.35258 2.39382 6.35258 2.21808C6.35258 2.04235 6.21013 1.8999 6.0344 1.8999H4.12531Z"fill=currentColor></path><path d="M4.12531 1.8999C3.94958 1.8999 3.80713 2.04235 3.80713 2.21808C3.80713 2.39382 3.94958 2.53627 4.12531 2.53627H6.0344C6.21013 2.53627 6.35258 2.39382 6.35258 2.21808C6.35258 2.04235 6.21013 1.8999 6.0344 1.8999H4.12531Z"stroke=currentColor></path><path d="M2.69329 1.46818H7.30693C7.75127 1.46818 8.11147 1.82839 8.11147 2.27273V13.7273C8.11147 14.1716 7.75127 14.5318 7.30693 14.5318H2.69329C2.24896 14.5318 1.88875 14.1716 1.88875 13.7273V2.27273C1.88875 1.82839 2.24896 1.46818 2.69329 1.46818ZM2.69329 0.85C1.90754 0.85 1.27057 1.48698 1.27057 2.27273V2.95695C1.17568 3.00972 1.11147 3.111 1.11147 3.22727V3.54545C1.11147 3.64155 1.15532 3.7274 1.22411 3.78409C1.15532 3.84078 1.11147 3.92663 1.11147 4.02273V4.65909C1.11147 4.75519 1.15532 4.84104 1.22411 4.89773C1.15532 4.95442 1.11147 5.04027 1.11147 5.13636V6.09091C1.11147 6.20718 1.17568 6.30846 1.27057 6.36123V13.7273C1.27057 14.513 1.90754 15.15 2.69329 15.15H7.30693C8.09268 15.15 8.72966 14.513 8.72966 13.7273V6.36123C8.82454 6.30846 8.88875 6.20718 8.88875 6.09091V4.81818C8.88875 4.70191 8.82454 4.60063 8.72966 4.54786V2.27273C8.72966 1.48698 8.09268 0.85 7.30693 0.85H2.69329Z"fill=currentColor stroke=currentColor stroke-width=0.3>`);
1530
+ var Push = (props) => {
1475
1531
  return (() => {
1476
1532
  var _el$ = _tmpl$19();
1477
1533
  web.spread(_el$, props, true, true);
1478
1534
  return _el$;
1479
1535
  })();
1480
1536
  };
1537
+ var _tmpl$20 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 20 20"fill=none xmlns=http://www.w3.org/2000/svg><path d="M10 1.75L17.125 5.875V14.125L10 18.25L2.875 14.125V5.875L10 1.75ZM10 3.48325L4.375 6.73975V13.2603L10 16.5167L15.625 13.2603V6.73975L10 3.48325ZM10 13C9.20435 13 8.44129 12.6839 7.87868 12.1213C7.31607 11.5587 7 10.7956 7 10C7 9.20435 7.31607 8.44129 7.87868 7.87868C8.44129 7.31607 9.20435 7 10 7C10.7956 7 11.5587 7.31607 12.1213 7.87868C12.6839 8.44129 13 9.20435 13 10C13 10.7956 12.6839 11.5587 12.1213 12.1213C11.5587 12.6839 10.7956 13 10 13ZM10 11.5C10.3978 11.5 10.7794 11.342 11.0607 11.0607C11.342 10.7794 11.5 10.3978 11.5 10C11.5 9.60218 11.342 9.22064 11.0607 8.93934C10.7794 8.65804 10.3978 8.5 10 8.5C9.60218 8.5 9.22064 8.65804 8.93934 8.93934C8.65804 9.22064 8.5 9.60218 8.5 10C8.5 10.3978 8.65804 10.7794 8.93934 11.0607C9.22064 11.342 9.60218 11.5 10 11.5Z"fill=currentColor>`);
1538
+ var Cogs = (props) => {
1539
+ return (() => {
1540
+ var _el$ = _tmpl$20();
1541
+ web.spread(_el$, props, true, true);
1542
+ return _el$;
1543
+ })();
1544
+ };
1545
+ var _tmpl$21 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5.00051 9.28364C7.76195 9.28364 10 7.20598 10 4.64182C10 2.07766 7.76195 0 5.00051 0C2.23907 0 0.00101462 2.07766 0.00101462 4.64182C0.00101462 5.64829 0.346683 6.57889 0.932561 7.33988C0.895455 7.88663 0.709927 8.37313 0.514634 8.74358C0.407223 8.94889 0.297859 9.11404 0.21779 9.22562C0.176778 9.28141 0.145531 9.32381 0.122096 9.35282C0.110379 9.36621 0.102567 9.37737 0.096708 9.38407L0.0908493 9.39076C0.00101462 9.49342 -0.0243734 9.64517 0.0244497 9.77907C0.0732729 9.91297 0.186543 10 0.313483 10C0.873973 10 1.43837 9.80138 1.90707 9.56929C2.35429 9.34613 2.73511 9.08056 2.96751 8.88641C3.58854 9.14305 4.27597 9.28587 5.00051 9.28587V9.28364ZM1.87582 4.03481C1.87582 3.58179 2.19806 3.21357 2.5945 3.21357H2.96946C3.14132 3.21357 3.28193 3.37425 3.28193 3.57063C3.28193 3.76702 3.14132 3.92769 2.96946 3.92769H2.5945C2.54177 3.92769 2.50076 3.97679 2.50076 4.03481C2.50076 4.07052 2.51638 4.10399 2.54373 4.12408L3.11789 4.56148C3.31904 4.71323 3.43817 4.96987 3.43817 5.2466C3.43817 5.69962 3.11593 6.06784 2.71949 6.06784L2.18829 6.07007C2.01644 6.07007 1.87582 5.9094 1.87582 5.71301C1.87582 5.51663 2.01644 5.35595 2.18829 5.35595H2.71949C2.77222 5.35595 2.81323 5.30685 2.81323 5.24883C2.81323 5.21312 2.79761 5.17965 2.77026 5.15956L2.1961 4.72216C1.99691 4.56818 1.87582 4.31154 1.87582 4.03481ZM7.28153 3.21357H7.65649C7.82834 3.21357 7.96896 3.37425 7.96896 3.57063C7.96896 3.76702 7.82834 3.92769 7.65649 3.92769H7.28153C7.2288 3.92769 7.18779 3.97679 7.18779 4.03481C7.18779 4.07052 7.20341 4.10399 7.23075 4.12408L7.80491 4.56148C8.00411 4.71323 8.12519 4.96987 8.12519 5.2466C8.12519 5.69962 7.80296 6.06784 7.40651 6.06784L6.87532 6.07007C6.70346 6.07007 6.56285 5.9094 6.56285 5.71301C6.56285 5.51663 6.70346 5.35595 6.87532 5.35595H7.40651C7.45924 5.35595 7.50025 5.30685 7.50025 5.24883C7.50025 5.21312 7.48463 5.17965 7.45729 5.15956L6.88313 4.72216C6.68393 4.57041 6.56285 4.31377 6.56285 4.03705C6.56285 3.58402 6.88508 3.2158 7.28153 3.2158V3.21357ZM4.31308 3.35639L5.00051 4.40304L5.68794 3.35639C5.76801 3.23365 5.90862 3.18233 6.03751 3.23142C6.1664 3.28052 6.25038 3.41665 6.25038 3.57063V5.71301C6.25038 5.9094 6.10977 6.07007 5.93791 6.07007C5.76605 6.07007 5.62544 5.9094 5.62544 5.71301V4.64182L5.25048 5.21312C5.19189 5.30239 5.09815 5.35595 5.00051 5.35595C4.90286 5.35595 4.80912 5.30239 4.75053 5.21312L4.37557 4.64182V5.71301C4.37557 5.9094 4.23496 6.07007 4.0631 6.07007C3.89124 6.07007 3.75063 5.9094 3.75063 5.71301V3.57063C3.75063 3.41665 3.83656 3.28052 3.9635 3.23142C4.09044 3.18233 4.23105 3.23365 4.31308 3.35639Z"fill=currentColor>`);
1546
+ var Sms = (props) => {
1547
+ return (() => {
1548
+ var _el$ = _tmpl$21();
1549
+ web.spread(_el$, props, true, true);
1550
+ return _el$;
1551
+ })();
1552
+ };
1553
+ var _tmpl$22 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 8"fill=none xmlns=http://www.w3.org/2000/svg><path d="M1.0119 0.347055C1.06274 0.143703 1.26565 -0.000976562 1.5 -0.000976562H8.5C8.73435 -0.000976562 8.93725 0.143703 8.9881 0.347055L9.9881 4.34707C9.996 4.37871 10 4.41102 10 4.44347V7.55458C10 7.80005 9.77615 7.99902 9.5 7.99902H0.5C0.22386 7.99902 0 7.80005 0 7.55458V4.44347C0 4.41102 0.00399495 4.37871 0.011905 4.34707L1.0119 0.347055ZM1.90108 0.887912L1.12331 3.99902H3.5C3.5 4.73542 4.17155 5.33236 5 5.33236C5.82845 5.33236 6.5 4.73542 6.5 3.99902H8.8767L8.0989 0.887912H1.90108ZM7.292 4.88791C6.9062 5.67276 6.02515 6.22125 5 6.22125C3.97484 6.22125 3.0938 5.67276 2.70802 4.88791H1V7.11013H9V4.88791H7.292Z"fill=currentColor>`);
1554
+ var Unread = (props) => {
1555
+ return (() => {
1556
+ var _el$ = _tmpl$22();
1557
+ web.spread(_el$, props, true, true);
1558
+ return _el$;
1559
+ })();
1560
+ };
1561
+ var _tmpl$23 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.99992 2.91634V4.99967M4.79992 5.39616L3.27392 6.46553M1.66659 1.66634L8.33325 8.33301M9.16658 4.99967C9.16658 7.30086 7.30111 9.16634 4.99992 9.16634C2.69873 9.16634 0.833252 7.30086 0.833252 4.99967C0.833252 2.69849 2.69873 0.833008 4.99992 0.833008C7.30111 0.833008 9.16658 2.69849 9.16658 4.99967Z"stroke=currentColor stroke-linecap=round stroke-linejoin=round>`);
1562
+ var Unsnooze = (props) => {
1563
+ return (() => {
1564
+ var _el$ = _tmpl$23();
1565
+ web.spread(_el$, props, true, true);
1566
+ return _el$;
1567
+ })();
1568
+ };
1569
+ var IconRendererWrapper = (props) => {
1570
+ const appearance = useAppearance();
1571
+ const customRenderer = () => {
1572
+ var _a;
1573
+ return (_a = appearance.icons()) == null ? void 0 : _a[props.iconKey];
1574
+ };
1575
+ return web.createComponent(solidJs.Show, {
1576
+ get when() {
1577
+ return customRenderer();
1578
+ },
1579
+ get fallback() {
1580
+ return props.fallback;
1581
+ },
1582
+ get children() {
1583
+ return web.createComponent(ExternalElementRenderer, {
1584
+ render: (el) => customRenderer()(el, {
1585
+ class: props.class
1586
+ })
1587
+ });
1588
+ }
1589
+ });
1590
+ };
1481
1591
 
1482
1592
  // src/ui/components/elements/Bell/DefaultBellContainer.tsx
1483
- var _tmpl$20 = /* @__PURE__ */ web.template(`<span>`);
1593
+ var _tmpl$24 = /* @__PURE__ */ web.template(`<span>`);
1484
1594
  var BellContainer = (props) => {
1485
1595
  const style = useStyle();
1596
+ const bellIconStyle = style("bellIcon", "nt-size-4");
1486
1597
  return (() => {
1487
- var _el$ = _tmpl$20();
1488
- web.insert(_el$, web.createComponent(Bell, {
1489
- get ["class"]() {
1490
- return style("bellIcon", "nt-size-4");
1598
+ var _el$ = _tmpl$24();
1599
+ web.insert(_el$, web.createComponent(IconRendererWrapper, {
1600
+ iconKey: "bell",
1601
+ "class": bellIconStyle,
1602
+ get fallback() {
1603
+ return web.createComponent(Bell, {
1604
+ "class": bellIconStyle
1605
+ });
1491
1606
  }
1492
1607
  }), null);
1493
1608
  web.insert(_el$, web.createComponent(solidJs.Show, {
@@ -1495,7 +1610,7 @@ var BellContainer = (props) => {
1495
1610
  return props.unreadCount > 0;
1496
1611
  },
1497
1612
  get children() {
1498
- var _el$2 = _tmpl$20();
1613
+ var _el$2 = _tmpl$24();
1499
1614
  web.effect(() => web.className(_el$2, style("bellDot", "nt-absolute nt-top-0 nt-right-0 nt-block nt-size-2 nt-transform nt-bg-counter nt-rounded-full nt-border nt-border-background")));
1500
1615
  return _el$2;
1501
1616
  }
@@ -1535,8 +1650,8 @@ function isBrowser() {
1535
1650
  }
1536
1651
 
1537
1652
  // src/ui/components/elements/Footer.tsx
1538
- var _tmpl$21 = /* @__PURE__ */ web.template(`<span class="nt-z-10 nt-text-xs nt-text-stripes">Development mode`);
1539
- var _tmpl$22 = /* @__PURE__ */ web.template(`<span class="nt-z-10 nt-text-xs">\u2022`);
1653
+ var _tmpl$25 = /* @__PURE__ */ web.template(`<span class="nt-z-10 nt-text-xs nt-text-stripes">Development mode`);
1654
+ var _tmpl$26 = /* @__PURE__ */ web.template(`<span class="nt-z-10 nt-text-xs">\u2022`);
1540
1655
  var _tmpl$32 = /* @__PURE__ */ web.template(`<a target=_blank class="nt-z-10 nt-flex nt-items-center nt-gap-1 nt-justify-center"><span class=nt-text-xs>Inbox by</span><span class=nt-text-xs>Novu`);
1541
1656
  var _tmpl$42 = /* @__PURE__ */ web.template(`<div>`);
1542
1657
  var stripes = `before:nt-content-[""] before:nt-absolute before:nt-inset-0 before:-nt-right-[calc(0+var(--stripes-size))] before:[mask-image:linear-gradient(transparent_0%,black)] before:nt-bg-dev-stripes-gradient before:nt-bg-[length:var(--stripes-size)_var(--stripes-size)] before:nt-animate-stripes before:hover:[animation-play-state:running]`;
@@ -1560,7 +1675,7 @@ var Footer = () => {
1560
1675
  return isDevelopmentMode();
1561
1676
  },
1562
1677
  get children() {
1563
- return _tmpl$21();
1678
+ return _tmpl$25();
1564
1679
  }
1565
1680
  }), null);
1566
1681
  web.insert(_el$, web.createComponent(solidJs.Show, {
@@ -1568,7 +1683,7 @@ var Footer = () => {
1568
1683
  return web.memo(() => !!isDevelopmentMode())() && !hideBranding();
1569
1684
  },
1570
1685
  get children() {
1571
- return _tmpl$22();
1686
+ return _tmpl$26();
1572
1687
  }
1573
1688
  }), null);
1574
1689
  web.insert(_el$, web.createComponent(solidJs.Show, {
@@ -1600,7 +1715,7 @@ function getCurrentDomain() {
1600
1715
  }
1601
1716
  return "";
1602
1717
  }
1603
- var _tmpl$23 = /* @__PURE__ */ web.template(`<button>`);
1718
+ var _tmpl$27 = /* @__PURE__ */ web.template(`<button>`);
1604
1719
  var buttonVariants = classVarianceAuthority.cva(cn('nt-inline-flex nt-gap-4 nt-items-center nt-justify-center nt-whitespace-nowrap nt-text-sm nt-font-medium nt-transition-colors disabled:nt-pointer-events-none disabled:nt-opacity-50 after:nt-absolute after:nt-content-[""] before:nt-content-[""] before:nt-absolute [&_svg]:nt-pointer-events-none [&_svg]:nt-shrink-0', `focus-visible:nt-outline-none focus-visible:nt-ring-2 focus-visible:nt-rounded-md focus-visible:nt-ring-ring focus-visible:nt-ring-offset-2`), {
1605
1720
  variants: {
1606
1721
  variant: {
@@ -1627,7 +1742,7 @@ var Button = (props) => {
1627
1742
  const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey"]);
1628
1743
  const style = useStyle();
1629
1744
  return (() => {
1630
- var _el$ = _tmpl$23();
1745
+ var _el$ = _tmpl$27();
1631
1746
  web.spread(_el$, web.mergeProps({
1632
1747
  get ["data-variant"]() {
1633
1748
  return props.variant;
@@ -1645,7 +1760,7 @@ var Button = (props) => {
1645
1760
  return _el$;
1646
1761
  })();
1647
1762
  };
1648
- var _tmpl$24 = /* @__PURE__ */ web.template(`<button>`);
1763
+ var _tmpl$28 = /* @__PURE__ */ web.template(`<button>`);
1649
1764
  var PopoverClose = (props) => {
1650
1765
  const {
1651
1766
  onClose
@@ -1667,7 +1782,7 @@ var PopoverClose = (props) => {
1667
1782
  }, rest));
1668
1783
  }
1669
1784
  return (() => {
1670
- var _el$ = _tmpl$24();
1785
+ var _el$ = _tmpl$28();
1671
1786
  _el$.$$click = handleClick;
1672
1787
  web.spread(_el$, web.mergeProps({
1673
1788
  get ["class"]() {
@@ -1678,12 +1793,12 @@ var PopoverClose = (props) => {
1678
1793
  })();
1679
1794
  };
1680
1795
  web.delegateEvents(["click"]);
1681
- var _tmpl$25 = /* @__PURE__ */ web.template(`<div>`);
1796
+ var _tmpl$29 = /* @__PURE__ */ web.template(`<div>`);
1682
1797
  var Portal = (props) => {
1683
1798
  const appearance = useAppearance();
1684
1799
  let currentElement;
1685
1800
  return [(() => {
1686
- var _el$ = _tmpl$25();
1801
+ var _el$ = _tmpl$29();
1687
1802
  web.use((el) => {
1688
1803
  currentElement = el;
1689
1804
  }, _el$);
@@ -1766,7 +1881,7 @@ function usePopover() {
1766
1881
  }
1767
1882
 
1768
1883
  // src/ui/components/primitives/Popover/PopoverContent.tsx
1769
- var _tmpl$26 = /* @__PURE__ */ web.template(`<div>`);
1884
+ var _tmpl$30 = /* @__PURE__ */ web.template(`<div>`);
1770
1885
  var popoverContentVariants = () => cn("nt-w-[400px] nt-h-[600px] nt-rounded-xl nt-bg-background", "nt-shadow-popover nt-animate-in nt-slide-in-from-top-2 nt-fade-in nt-cursor-default nt-flex nt-flex-col nt-overflow-hidden nt-border nt-border-border nt-z-10");
1771
1886
  var PopoverContentBody = (props) => {
1772
1887
  const {
@@ -1789,7 +1904,7 @@ var PopoverContentBody = (props) => {
1789
1904
  });
1790
1905
  });
1791
1906
  return (() => {
1792
- var _el$ = _tmpl$26();
1907
+ var _el$ = _tmpl$30();
1793
1908
  web.use(setFloating, _el$);
1794
1909
  web.spread(_el$, web.mergeProps({
1795
1910
  get ["class"]() {
@@ -1815,12 +1930,16 @@ var PopoverContent = (props) => {
1815
1930
  const {
1816
1931
  active
1817
1932
  } = useFocusManager();
1933
+ const {
1934
+ container
1935
+ } = useAppearance();
1818
1936
  const handleClickOutside = (e) => {
1819
1937
  var _a, _b;
1820
1938
  if ((_a = reference()) == null ? void 0 : _a.contains(e.target)) {
1821
1939
  return;
1822
1940
  }
1823
- if (active() !== floating() || ((_b = floating()) == null ? void 0 : _b.contains(e.target))) {
1941
+ const containerElement = container();
1942
+ if (active() !== floating() || ((_b = floating()) == null ? void 0 : _b.contains(e.target)) || containerElement && e.target.shadowRoot === containerElement) {
1824
1943
  return;
1825
1944
  }
1826
1945
  onClose();
@@ -1829,16 +1948,20 @@ var PopoverContent = (props) => {
1829
1948
  if (active() !== floating()) {
1830
1949
  return;
1831
1950
  }
1832
- if (e.key === "Escape") {
1951
+ if (e instanceof KeyboardEvent && e.key === "Escape") {
1833
1952
  onClose();
1834
1953
  }
1835
1954
  };
1836
1955
  solidJs.onMount(() => {
1956
+ var _a;
1837
1957
  document.body.addEventListener("click", handleClickOutside);
1958
+ (_a = container()) == null ? void 0 : _a.addEventListener("click", handleClickOutside);
1838
1959
  document.body.addEventListener("keydown", handleEscapeKey);
1839
1960
  });
1840
1961
  solidJs.onCleanup(() => {
1962
+ var _a;
1841
1963
  document.body.removeEventListener("click", handleClickOutside);
1964
+ (_a = container()) == null ? void 0 : _a.removeEventListener("click", handleClickOutside);
1842
1965
  document.body.removeEventListener("keydown", handleEscapeKey);
1843
1966
  });
1844
1967
  return web.createComponent(solidJs.Show, {
@@ -1866,7 +1989,7 @@ function mergeRefs(...refs) {
1866
1989
  }
1867
1990
 
1868
1991
  // src/ui/components/primitives/Popover/PopoverTrigger.tsx
1869
- var _tmpl$27 = /* @__PURE__ */ web.template(`<button>`);
1992
+ var _tmpl$31 = /* @__PURE__ */ web.template(`<button>`);
1870
1993
  var PopoverTrigger = (props) => {
1871
1994
  const {
1872
1995
  setReference,
@@ -1894,7 +2017,7 @@ var PopoverTrigger = (props) => {
1894
2017
  }, rest));
1895
2018
  }
1896
2019
  return (() => {
1897
- var _el$ = _tmpl$27();
2020
+ var _el$ = _tmpl$31();
1898
2021
  _el$.$$click = handleClick;
1899
2022
  var _ref$2 = ref();
1900
2023
  typeof _ref$2 === "function" && web.use(_ref$2, _el$);
@@ -2033,26 +2156,33 @@ var useKeyboardNavigation = ({
2033
2156
  setActiveTab,
2034
2157
  tabsContainer
2035
2158
  }) => {
2159
+ const { container } = useAppearance();
2036
2160
  const [keyboardNavigation, setKeyboardNavigation] = solidJs.createSignal(false);
2161
+ const getRoot = () => {
2162
+ const containerElement = container();
2163
+ return containerElement instanceof ShadowRoot ? containerElement : document;
2164
+ };
2037
2165
  solidJs.createEffect(() => {
2166
+ const root = getRoot();
2038
2167
  const handleTabKey = (event) => {
2039
2168
  var _a;
2040
- if (event.key !== "Tab") {
2169
+ if (!(event instanceof KeyboardEvent) || event.key !== "Tab") {
2041
2170
  return;
2042
2171
  }
2043
2172
  const tabs = (_a = tabsContainer()) == null ? void 0 : _a.querySelectorAll('[role="tab"]');
2044
- if (!tabs || !document.activeElement) {
2173
+ if (!tabs || !root.activeElement) {
2045
2174
  return;
2046
2175
  }
2047
- setKeyboardNavigation(Array.from(tabs).includes(document.activeElement));
2176
+ setKeyboardNavigation(Array.from(tabs).includes(root.activeElement));
2048
2177
  };
2049
- document.addEventListener("keyup", handleTabKey);
2050
- return solidJs.onCleanup(() => document.removeEventListener("keyup", handleTabKey));
2178
+ root.addEventListener("keyup", handleTabKey);
2179
+ return solidJs.onCleanup(() => root.removeEventListener("keyup", handleTabKey));
2051
2180
  });
2052
2181
  solidJs.createEffect(() => {
2182
+ const root = getRoot();
2053
2183
  const handleArrowKeys = (event) => {
2054
2184
  var _a, _b;
2055
- if (!keyboardNavigation() || event.key !== "ArrowLeft" && event.key !== "ArrowRight") {
2185
+ if (!keyboardNavigation() || !(event instanceof KeyboardEvent) || event.key !== "ArrowLeft" && event.key !== "ArrowRight") {
2056
2186
  return;
2057
2187
  }
2058
2188
  const tabElements = Array.from((_b = (_a = tabsContainer()) == null ? void 0 : _a.querySelectorAll('[role="tab"]')) != null ? _b : []);
@@ -2071,13 +2201,13 @@ var useKeyboardNavigation = ({
2071
2201
  tabElements[activeIndex].focus();
2072
2202
  setActiveTab(newTab);
2073
2203
  };
2074
- document.addEventListener("keydown", handleArrowKeys);
2075
- return solidJs.onCleanup(() => document.removeEventListener("keydown", handleArrowKeys));
2204
+ root.addEventListener("keydown", handleArrowKeys);
2205
+ return solidJs.onCleanup(() => root.removeEventListener("keydown", handleArrowKeys));
2076
2206
  });
2077
2207
  };
2078
2208
 
2079
2209
  // src/ui/components/primitives/Tabs/TabsRoot.tsx
2080
- var _tmpl$28 = /* @__PURE__ */ web.template(`<div>`);
2210
+ var _tmpl$33 = /* @__PURE__ */ web.template(`<div>`);
2081
2211
  var TabsContext = solidJs.createContext(void 0);
2082
2212
  var useTabsContext = () => {
2083
2213
  const context = solidJs.useContext(TabsContext);
@@ -2116,7 +2246,7 @@ var TabsRoot = (props) => {
2116
2246
  setVisibleTabs
2117
2247
  },
2118
2248
  get children() {
2119
- var _el$ = _tmpl$28();
2249
+ var _el$ = _tmpl$33();
2120
2250
  web.use(setTabsContainer, _el$);
2121
2251
  web.spread(_el$, web.mergeProps({
2122
2252
  get ["class"]() {
@@ -2130,7 +2260,7 @@ var TabsRoot = (props) => {
2130
2260
  };
2131
2261
 
2132
2262
  // src/ui/components/primitives/Tabs/TabsContent.tsx
2133
- var _tmpl$29 = /* @__PURE__ */ web.template(`<div role=tabpanel>`);
2263
+ var _tmpl$34 = /* @__PURE__ */ web.template(`<div role=tabpanel>`);
2134
2264
  var TabsContent = (props) => {
2135
2265
  const [local, rest] = solidJs.splitProps(props, ["value", "class", "appearanceKey", "children"]);
2136
2266
  const style = useStyle();
@@ -2142,7 +2272,7 @@ var TabsContent = (props) => {
2142
2272
  return activeTab() === local.value;
2143
2273
  },
2144
2274
  get children() {
2145
- var _el$ = _tmpl$29();
2275
+ var _el$ = _tmpl$34();
2146
2276
  web.spread(_el$, web.mergeProps({
2147
2277
  get ["class"]() {
2148
2278
  return web.memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "tabsContent", activeTab() === local.value ? "nt-block" : "nt-hidden");
@@ -2162,14 +2292,14 @@ var TabsContent = (props) => {
2162
2292
  }
2163
2293
  });
2164
2294
  };
2165
- var _tmpl$30 = /* @__PURE__ */ web.template(`<div role=tablist>`);
2295
+ var _tmpl$35 = /* @__PURE__ */ web.template(`<div role=tablist>`);
2166
2296
  var _tmpl$210 = /* @__PURE__ */ web.template(`<div class="nt-relative nt-z-[-1]">`);
2167
2297
  var tabsListVariants = () => "nt-flex nt-gap-6";
2168
2298
  var TabsList = (props) => {
2169
2299
  const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey", "ref", "children"]);
2170
2300
  const style = useStyle();
2171
2301
  return [(() => {
2172
- var _el$ = _tmpl$30();
2302
+ var _el$ = _tmpl$35();
2173
2303
  var _ref$ = local.ref;
2174
2304
  typeof _ref$ === "function" ? web.use(_ref$, _el$) : local.ref = _el$;
2175
2305
  web.spread(_el$, web.mergeProps({
@@ -2250,28 +2380,23 @@ var inboxFilterLocalizationKeys = {
2250
2380
  archived: "inbox.filters.labels.archived",
2251
2381
  snoozed: "inbox.filters.labels.snoozed"
2252
2382
  };
2253
- var _tmpl$31 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 12 12"fill=none xmlns=http://www.w3.org/2000/svg><path d="M6 2.99902V5.99902H8.25M11 5.99902C11 8.76045 8.76142 10.999 6 10.999C3.23858 10.999 1 8.76045 1 5.99902C1 3.2376 3.23858 0.999023 6 0.999023C8.76142 0.999023 11 3.2376 11 5.99902Z"stroke=currentColor stroke-linecap=round stroke-linejoin=round>`);
2254
- var Snooze = (props) => {
2255
- return (() => {
2256
- var _el$ = _tmpl$31();
2257
- web.spread(_el$, props, true, true);
2258
- return _el$;
2259
- })();
2260
- };
2261
-
2262
- // src/ui/components/elements/InboxStatus/InboxStatusOptions.tsx
2263
- var _tmpl$33 = /* @__PURE__ */ web.template(`<span><span></span><span>`);
2383
+ var _tmpl$36 = /* @__PURE__ */ web.template(`<span><span>`);
2384
+ var _tmpl$211 = /* @__PURE__ */ web.template(`<span>`);
2264
2385
  var cases = [{
2265
2386
  status: "unreadRead" /* UNREAD_READ */,
2266
- icon: UnreadRead
2387
+ iconKey: "unread",
2388
+ icon: Unread
2267
2389
  }, {
2268
2390
  status: "unread" /* UNREAD */,
2391
+ iconKey: "unread",
2269
2392
  icon: MarkAsUnread
2270
2393
  }, {
2271
2394
  status: "snoozed" /* SNOOZED */,
2272
- icon: Snooze
2395
+ iconKey: "clock",
2396
+ icon: Clock
2273
2397
  }, {
2274
2398
  status: "archived" /* ARCHIVED */,
2399
+ iconKey: "markAsArchived",
2275
2400
  icon: MarkAsArchived
2276
2401
  }];
2277
2402
  var StatusOptions = (props) => {
@@ -2297,6 +2422,9 @@ var StatusOptions = (props) => {
2297
2422
  },
2298
2423
  get icon() {
2299
2424
  return c.icon;
2425
+ },
2426
+ get iconKey() {
2427
+ return c.iconKey;
2300
2428
  }
2301
2429
  })
2302
2430
  });
@@ -2306,6 +2434,12 @@ var StatusItem = (props) => {
2306
2434
  const {
2307
2435
  t
2308
2436
  } = useLocalization();
2437
+ const itemIconClass = style("inboxStatus__dropdownItemLeft__icon", "nt-size-3", {
2438
+ iconKey: props.iconKey
2439
+ });
2440
+ const checkIconClass = style("inboxStatus__dropdownItemCheck__icon", "nt-size-3", {
2441
+ iconKey: "check"
2442
+ });
2309
2443
  return web.createComponent(Dropdown.Item, {
2310
2444
  get ["class"]() {
2311
2445
  return style("inboxStatus__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-8 nt-justify-between"));
@@ -2315,21 +2449,32 @@ var StatusItem = (props) => {
2315
2449
  },
2316
2450
  get children() {
2317
2451
  return [(() => {
2318
- var _el$ = _tmpl$33(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
2319
- web.insert(_el$2, () => props.icon());
2320
- web.insert(_el$3, () => t(props.localizationKey));
2452
+ var _el$ = _tmpl$36(), _el$2 = _el$.firstChild;
2453
+ web.insert(_el$, web.createComponent(IconRendererWrapper, {
2454
+ get iconKey() {
2455
+ return props.iconKey;
2456
+ },
2457
+ "class": itemIconClass,
2458
+ get fallback() {
2459
+ return (() => {
2460
+ var _el$3 = _tmpl$211();
2461
+ web.className(_el$3, itemIconClass);
2462
+ web.insert(_el$3, () => props.icon());
2463
+ return _el$3;
2464
+ })();
2465
+ }
2466
+ }), _el$2);
2467
+ web.insert(_el$2, () => t(props.localizationKey));
2321
2468
  web.effect((_p$) => {
2322
- var _v$ = style("inboxStatus__dropdownItemLabelContainer", "nt-flex nt-gap-2 nt-items-center"), _v$2 = style("inboxStatus__dropdownItemLeft__icon", "nt-size-3"), _v$3 = props.localizationKey, _v$4 = style("inboxStatus__dropdownItemLabel", "nt-leading-none");
2469
+ 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");
2323
2470
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
2324
- _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
2325
- _v$3 !== _p$.a && web.setAttribute(_el$3, "data-localization", _p$.a = _v$3);
2326
- _v$4 !== _p$.o && web.className(_el$3, _p$.o = _v$4);
2471
+ _v$2 !== _p$.t && web.setAttribute(_el$2, "data-localization", _p$.t = _v$2);
2472
+ _v$3 !== _p$.a && web.className(_el$2, _p$.a = _v$3);
2327
2473
  return _p$;
2328
2474
  }, {
2329
2475
  e: void 0,
2330
2476
  t: void 0,
2331
- a: void 0,
2332
- o: void 0
2477
+ a: void 0
2333
2478
  });
2334
2479
  return _el$;
2335
2480
  })(), web.createComponent(solidJs.Show, {
@@ -2337,9 +2482,13 @@ var StatusItem = (props) => {
2337
2482
  return props.isSelected;
2338
2483
  },
2339
2484
  get children() {
2340
- return web.createComponent(Check, {
2341
- get ["class"]() {
2342
- return style("inboxStatus__dropdownItemCheck__icon", "nt-size-3");
2485
+ return web.createComponent(IconRendererWrapper, {
2486
+ iconKey: "check",
2487
+ "class": checkIconClass,
2488
+ get fallback() {
2489
+ return web.createComponent(Check, {
2490
+ "class": checkIconClass
2491
+ });
2343
2492
  }
2344
2493
  });
2345
2494
  }
@@ -2349,7 +2498,7 @@ var StatusItem = (props) => {
2349
2498
  };
2350
2499
 
2351
2500
  // src/ui/components/elements/InboxStatus/InboxStatusDropdown.tsx
2352
- var _tmpl$34 = /* @__PURE__ */ web.template(`<span>`);
2501
+ var _tmpl$37 = /* @__PURE__ */ web.template(`<span>`);
2353
2502
  var StatusDropdown = () => {
2354
2503
  const style = useStyle();
2355
2504
  const {
@@ -2359,6 +2508,9 @@ var StatusDropdown = () => {
2359
2508
  const {
2360
2509
  t
2361
2510
  } = useLocalization();
2511
+ const arrowDropDownIconClass = style("inboxStatus__dropdownItemRight__icon", "nt-text-foreground-alpha-600 nt-size-4", {
2512
+ iconKey: "arrowDropDown"
2513
+ });
2362
2514
  return web.createComponent(Dropdown.Root, {
2363
2515
  get children() {
2364
2516
  return [web.createComponent(Dropdown.Trigger, {
@@ -2374,7 +2526,7 @@ var StatusDropdown = () => {
2374
2526
  }, triggerProps, {
2375
2527
  get children() {
2376
2528
  return [(() => {
2377
- var _el$ = _tmpl$34();
2529
+ var _el$ = _tmpl$37();
2378
2530
  web.insert(_el$, () => t(inboxFilterLocalizationKeys[status()]));
2379
2531
  web.effect((_p$) => {
2380
2532
  var _v$ = inboxFilterLocalizationKeys[status()], _v$2 = style("inboxStatus__title", "nt-text-base");
@@ -2386,9 +2538,13 @@ var StatusDropdown = () => {
2386
2538
  t: void 0
2387
2539
  });
2388
2540
  return _el$;
2389
- })(), web.createComponent(ArrowDropDown, {
2390
- get ["class"]() {
2391
- return style("inboxStatus__dropdownItemRight__icon", "nt-text-foreground-alpha-600 nt-size-4");
2541
+ })(), web.createComponent(IconRendererWrapper, {
2542
+ iconKey: "arrowDropDown",
2543
+ "class": arrowDropDownIconClass,
2544
+ get fallback() {
2545
+ return web.createComponent(ArrowDropDown, {
2546
+ "class": arrowDropDownIconClass
2547
+ });
2392
2548
  }
2393
2549
  })];
2394
2550
  }
@@ -2411,10 +2567,13 @@ var StatusDropdown = () => {
2411
2567
  // src/ui/api/hooks/useArchiveAll.ts
2412
2568
  var useArchiveAll = (props) => {
2413
2569
  const novu = useNovu();
2414
- const archiveAll = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({ tags } = {}) {
2570
+ const archiveAll = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({
2571
+ tags,
2572
+ data
2573
+ } = {}) {
2415
2574
  var _a, _b;
2416
2575
  try {
2417
- yield novu.notifications.archiveAll({ tags });
2576
+ yield novu.notifications.archiveAll({ tags, data });
2418
2577
  (_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
2419
2578
  } catch (error) {
2420
2579
  (_b = void 0 ) == null ? void 0 : _b.call(props, error);
@@ -2426,10 +2585,13 @@ var useArchiveAll = (props) => {
2426
2585
  // src/ui/api/hooks/useArchiveAllRead.ts
2427
2586
  var useArchiveAllRead = (props) => {
2428
2587
  const novu = useNovu();
2429
- const archiveAllRead = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({ tags } = {}) {
2588
+ const archiveAllRead = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({
2589
+ tags,
2590
+ data
2591
+ } = {}) {
2430
2592
  var _a, _b;
2431
2593
  try {
2432
- yield novu.notifications.archiveAllRead({ tags });
2594
+ yield novu.notifications.archiveAllRead({ tags, data });
2433
2595
  (_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
2434
2596
  } catch (error) {
2435
2597
  (_b = void 0 ) == null ? void 0 : _b.call(props, error);
@@ -2452,7 +2614,7 @@ var useNotificationsInfiniteScroll = (props) => {
2452
2614
  );
2453
2615
  solidJs.onMount(() => {
2454
2616
  const listener = ({ data: data2 }) => {
2455
- if (!data2 || !chunkDCLHIVKS_js.isSameFilter(filter, data2.filter)) {
2617
+ if (!data2 || !chunkME3JBJPI_js.isSameFilter(filter, data2.filter)) {
2456
2618
  return;
2457
2619
  }
2458
2620
  mutate({ data: data2.notifications, hasMore: data2.hasMore });
@@ -2462,7 +2624,7 @@ var useNotificationsInfiniteScroll = (props) => {
2462
2624
  });
2463
2625
  solidJs.createEffect(() => chunk7B52C2XE_js.__async(void 0, null, function* () {
2464
2626
  const newFilter = chunk7B52C2XE_js.__spreadValues({}, props.options());
2465
- if (chunkDCLHIVKS_js.isSameFilter(filter, newFilter)) {
2627
+ if (chunkME3JBJPI_js.isSameFilter(filter, newFilter)) {
2466
2628
  return;
2467
2629
  }
2468
2630
  novu.notifications.clearCache();
@@ -2506,10 +2668,13 @@ var usePreferences = (options) => {
2506
2668
  // src/ui/api/hooks/useReadAll.ts
2507
2669
  var useReadAll = (props) => {
2508
2670
  const novu = useNovu();
2509
- const readAll = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({ tags } = {}) {
2671
+ const readAll = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({
2672
+ tags,
2673
+ data
2674
+ } = {}) {
2510
2675
  var _a, _b;
2511
2676
  try {
2512
- yield novu.notifications.readAll({ tags });
2677
+ yield novu.notifications.readAll({ tags, data });
2513
2678
  (_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
2514
2679
  } catch (error) {
2515
2680
  (_b = void 0 ) == null ? void 0 : _b.call(props, error);
@@ -2519,7 +2684,12 @@ var useReadAll = (props) => {
2519
2684
  };
2520
2685
 
2521
2686
  // src/ui/components/elements/Header/MoreActionsOptions.tsx
2522
- var _tmpl$35 = /* @__PURE__ */ web.template(`<span>`);
2687
+ var _tmpl$38 = /* @__PURE__ */ web.template(`<span>`);
2688
+ var iconKeyToComponentMap = {
2689
+ markAsRead: MarkAsRead,
2690
+ markAsArchived: MarkAsArchived,
2691
+ markAsArchivedRead: MarkAsArchivedRead
2692
+ };
2523
2693
  var MoreActionsOptions = () => {
2524
2694
  const {
2525
2695
  filter
@@ -2536,21 +2706,24 @@ var MoreActionsOptions = () => {
2536
2706
  return [web.createComponent(ActionsItem, {
2537
2707
  localizationKey: "notifications.actions.readAll",
2538
2708
  onClick: () => readAll({
2539
- tags: filter().tags
2709
+ tags: filter().tags,
2710
+ data: filter().data
2540
2711
  }),
2541
- icon: MarkAsRead
2712
+ iconKey: "markAsRead"
2542
2713
  }), web.createComponent(ActionsItem, {
2543
2714
  localizationKey: "notifications.actions.archiveAll",
2544
2715
  onClick: () => archiveAll({
2545
- tags: filter().tags
2716
+ tags: filter().tags,
2717
+ data: filter().data
2546
2718
  }),
2547
- icon: MarkAsArchived
2719
+ iconKey: "markAsArchived"
2548
2720
  }), web.createComponent(ActionsItem, {
2549
2721
  localizationKey: "notifications.actions.archiveRead",
2550
2722
  onClick: () => archiveAllRead({
2551
- tags: filter().tags
2723
+ tags: filter().tags,
2724
+ data: filter().data
2552
2725
  }),
2553
- icon: MarkAsArchivedRead
2726
+ iconKey: "markAsArchivedRead"
2554
2727
  })];
2555
2728
  };
2556
2729
  var ActionsItem = (props) => {
@@ -2558,6 +2731,10 @@ var ActionsItem = (props) => {
2558
2731
  const {
2559
2732
  t
2560
2733
  } = useLocalization();
2734
+ const DefaultIconComponent = iconKeyToComponentMap[props.iconKey];
2735
+ const moreActionsIconClass = style("moreActions__dropdownItemLeft__icon", "nt-size-3", {
2736
+ iconKey: props.iconKey
2737
+ });
2561
2738
  return web.createComponent(Dropdown.Item, {
2562
2739
  get ["class"]() {
2563
2740
  return style("moreActions__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-2"));
@@ -2566,24 +2743,29 @@ var ActionsItem = (props) => {
2566
2743
  return props.onClick;
2567
2744
  },
2568
2745
  get children() {
2569
- return [(() => {
2570
- var _el$ = _tmpl$35();
2571
- web.insert(_el$, () => props.icon());
2572
- web.effect(() => web.className(_el$, style("moreActions__dropdownItemLeft__icon", "nt-size-3")));
2573
- return _el$;
2574
- })(), (() => {
2575
- var _el$2 = _tmpl$35();
2576
- web.insert(_el$2, () => t(props.localizationKey));
2746
+ return [web.createComponent(IconRendererWrapper, {
2747
+ get iconKey() {
2748
+ return props.iconKey;
2749
+ },
2750
+ "class": moreActionsIconClass,
2751
+ get fallback() {
2752
+ return DefaultIconComponent && DefaultIconComponent({
2753
+ class: moreActionsIconClass
2754
+ });
2755
+ }
2756
+ }), (() => {
2757
+ var _el$ = _tmpl$38();
2758
+ web.insert(_el$, () => t(props.localizationKey));
2577
2759
  web.effect((_p$) => {
2578
2760
  var _v$ = props.localizationKey, _v$2 = style("moreActions__dropdownItemLabel", "nt-leading-none");
2579
- _v$ !== _p$.e && web.setAttribute(_el$2, "data-localization", _p$.e = _v$);
2580
- _v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
2761
+ _v$ !== _p$.e && web.setAttribute(_el$, "data-localization", _p$.e = _v$);
2762
+ _v$2 !== _p$.t && web.className(_el$, _p$.t = _v$2);
2581
2763
  return _p$;
2582
2764
  }, {
2583
2765
  e: void 0,
2584
2766
  t: void 0
2585
2767
  });
2586
- return _el$2;
2768
+ return _el$;
2587
2769
  })()];
2588
2770
  }
2589
2771
  });
@@ -2595,6 +2777,9 @@ var MoreActionsDropdown = () => {
2595
2777
  const {
2596
2778
  status
2597
2779
  } = useInboxContext();
2780
+ const dotsIconClass = style("moreActions__dots", "nt-size-5", {
2781
+ iconKey: "dots"
2782
+ });
2598
2783
  return web.createComponent(solidJs.Show, {
2599
2784
  get when() {
2600
2785
  return web.memo(() => status() !== "archived" /* ARCHIVED */)() && status() !== "snoozed" /* SNOOZED */;
@@ -2611,9 +2796,13 @@ var MoreActionsDropdown = () => {
2611
2796
  size: "iconSm"
2612
2797
  }, triggerProps, {
2613
2798
  get children() {
2614
- return web.createComponent(Dots, {
2615
- get ["class"]() {
2616
- return style("moreActions__dots", "nt-size-5");
2799
+ return web.createComponent(IconRendererWrapper, {
2800
+ iconKey: "dots",
2801
+ "class": dotsIconClass,
2802
+ get fallback() {
2803
+ return web.createComponent(Dots, {
2804
+ "class": dotsIconClass
2805
+ });
2617
2806
  }
2618
2807
  });
2619
2808
  }
@@ -2631,11 +2820,14 @@ var MoreActionsDropdown = () => {
2631
2820
  };
2632
2821
 
2633
2822
  // src/ui/components/elements/Header/ActionsContainer.tsx
2634
- var _tmpl$36 = /* @__PURE__ */ web.template(`<div>`);
2823
+ var _tmpl$39 = /* @__PURE__ */ web.template(`<div>`);
2635
2824
  var ActionsContainer = (props) => {
2636
2825
  const style = useStyle();
2826
+ const cogsIconClass = style("icon", "nt-size-5", {
2827
+ iconKey: "cogs"
2828
+ });
2637
2829
  return (() => {
2638
- var _el$ = _tmpl$36();
2830
+ var _el$ = _tmpl$39();
2639
2831
  web.insert(_el$, web.createComponent(MoreActionsDropdown, {}), null);
2640
2832
  web.insert(_el$, web.createComponent(solidJs.Show, {
2641
2833
  get when() {
@@ -2649,9 +2841,13 @@ var ActionsContainer = (props) => {
2649
2841
  return showPreferences();
2650
2842
  },
2651
2843
  get children() {
2652
- return web.createComponent(Settings, {
2653
- get ["class"]() {
2654
- return style("preferences__icon", "nt-size-5");
2844
+ return web.createComponent(IconRendererWrapper, {
2845
+ iconKey: "cogs",
2846
+ "class": cogsIconClass,
2847
+ get fallback() {
2848
+ return web.createComponent(Cogs, {
2849
+ "class": cogsIconClass
2850
+ });
2655
2851
  }
2656
2852
  });
2657
2853
  }
@@ -2663,11 +2859,11 @@ var ActionsContainer = (props) => {
2663
2859
  };
2664
2860
 
2665
2861
  // src/ui/components/elements/Header/Header.tsx
2666
- var _tmpl$37 = /* @__PURE__ */ web.template(`<div>`);
2862
+ var _tmpl$40 = /* @__PURE__ */ web.template(`<div>`);
2667
2863
  var Header = (props) => {
2668
2864
  const style = useStyle();
2669
2865
  return (() => {
2670
- var _el$ = _tmpl$37();
2866
+ var _el$ = _tmpl$40();
2671
2867
  web.insert(_el$, web.createComponent(StatusDropdown, {}), null);
2672
2868
  web.insert(_el$, web.createComponent(ActionsContainer, {
2673
2869
  get showPreferences() {
@@ -2678,7 +2874,7 @@ var Header = (props) => {
2678
2874
  return _el$;
2679
2875
  })();
2680
2876
  };
2681
- var _tmpl$38 = /* @__PURE__ */ web.template(`<div>`);
2877
+ var _tmpl$41 = /* @__PURE__ */ web.template(`<div>`);
2682
2878
  var Root = (props) => {
2683
2879
  const [_, rest] = solidJs.splitProps(props, ["class"]);
2684
2880
  const {
@@ -2694,30 +2890,60 @@ var Root = (props) => {
2694
2890
  },
2695
2891
  children: new Comment(" Powered by Novu - https://novu.co ")
2696
2892
  }), (() => {
2697
- var _el$ = _tmpl$38();
2893
+ var _el$ = _tmpl$41();
2698
2894
  web.spread(_el$, web.mergeProps({
2699
2895
  get id() {
2700
2896
  return `novu-root-${id()}`;
2701
2897
  },
2702
2898
  get ["class"]() {
2703
- return style("root"), cn("novu", id(), "nt-text-foreground nt-h-full");
2899
+ return style("root"), cn("novu", id(), "nt-text-foreground nt-h-full [interpolate-size:allow-keywords]");
2704
2900
  }
2705
2901
  }, rest), false, false);
2706
2902
  return _el$;
2707
2903
  })()];
2708
2904
  };
2709
- var _tmpl$39 = /* @__PURE__ */ web.template(`<div>`);
2905
+ var _tmpl$43 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 14 14"><path fill=currentColor d="M2.8 8.575V5.162a2.362 2.362 0 1 1 4.725 0v3.675a1.313 1.313 0 1 0 2.625 0V5.335a1.575 1.575 0 1 1 1.05 0v3.502a2.362 2.362 0 1 1-4.725 0V5.162a1.312 1.312 0 1 0-2.625 0v3.413h1.575l-2.1 2.625-2.1-2.625H2.8Z"></path><path fill=url(#a) d="M2.8 8.575V5.162a2.362 2.362 0 1 1 4.725 0v3.675a1.313 1.313 0 1 0 2.625 0V5.335a1.575 1.575 0 1 1 1.05 0v3.502a2.362 2.362 0 1 1-4.725 0V5.162a1.312 1.312 0 1 0-2.625 0v3.413h1.575l-2.1 2.625-2.1-2.625H2.8Z"></path><defs><linearGradient id=a x1=1.225 x2=12.251 y1=6.722 y2=6.779 gradientUnits=userSpaceOnUse><stop stop-color=currentColor></stop><stop offset=1 stop-color=currentColor>`);
2906
+ var RouteFill = (props) => {
2907
+ return (() => {
2908
+ var _el$ = _tmpl$43();
2909
+ web.spread(_el$, props, true, true);
2910
+ return _el$;
2911
+ })();
2912
+ };
2913
+ var _tmpl$44 = /* @__PURE__ */ web.template(`<div><div>`);
2914
+ var isInterpolateSizeSupported = () => {
2915
+ return CSS.supports("interpolate-size", "allow-keywords");
2916
+ };
2710
2917
  var Collapsible = (props) => {
2918
+ const supportsInterpolateSize = isInterpolateSizeSupported();
2711
2919
  const style = useStyle();
2712
2920
  let contentRef;
2713
2921
  const [enableTransition, setEnableTransition] = solidJs.createSignal(false);
2922
+ const [scrollHeight, setScrollHeight] = solidJs.createSignal(0);
2923
+ const updateScrollHeight = () => {
2924
+ setScrollHeight((contentRef == null ? void 0 : contentRef.scrollHeight) || 0);
2925
+ };
2714
2926
  solidJs.createEffect(() => {
2715
2927
  requestAnimationFrame(() => setEnableTransition(true));
2928
+ const resizeObserver = new ResizeObserver(() => {
2929
+ updateScrollHeight();
2930
+ });
2931
+ if (contentRef && !supportsInterpolateSize) {
2932
+ resizeObserver.observe(contentRef);
2933
+ }
2934
+ updateScrollHeight();
2935
+ solidJs.onCleanup(() => {
2936
+ resizeObserver.disconnect();
2937
+ });
2716
2938
  });
2939
+ const height = () => {
2940
+ if (supportsInterpolateSize) {
2941
+ return props.open ? "max-content" : "0px";
2942
+ }
2943
+ return props.open ? `${scrollHeight()}px` : "0px";
2944
+ };
2717
2945
  return (() => {
2718
- var _el$ = _tmpl$39();
2719
- var _ref$ = contentRef;
2720
- typeof _ref$ === "function" ? web.use(_ref$, _el$) : contentRef = _el$;
2946
+ var _el$ = _tmpl$44(), _el$2 = _el$.firstChild;
2721
2947
  web.spread(_el$, web.mergeProps({
2722
2948
  get ["class"]() {
2723
2949
  return style("collapsible", props.class);
@@ -2727,66 +2953,96 @@ var Collapsible = (props) => {
2727
2953
  overflow: "hidden",
2728
2954
  opacity: props.open ? 1 : 0,
2729
2955
  transition: enableTransition() ? "height 250ms ease-in-out, opacity 250ms ease-in-out" : "none",
2730
- height: props.open ? `${contentRef == null ? void 0 : contentRef.scrollHeight}px` : "0px"
2956
+ height: height()
2731
2957
  };
2732
2958
  }
2733
- }, props), false, false);
2959
+ }, props), false, true);
2960
+ var _ref$ = contentRef;
2961
+ typeof _ref$ === "function" ? web.use(_ref$, _el$2) : contentRef = _el$2;
2962
+ web.insert(_el$2, () => props.children);
2734
2963
  return _el$;
2735
2964
  })();
2736
2965
  };
2737
- var _tmpl$40 = /* @__PURE__ */ web.template(`<label><input type=checkbox class="nt-peer nt-sr-only"><div>`);
2966
+ var _tmpl$45 = /* @__PURE__ */ web.template(`<label><input type=checkbox class=nt-sr-only><div>`);
2738
2967
  var Switch = (props) => {
2739
2968
  const style = useStyle();
2969
+ const handleChange = () => {
2970
+ var _a;
2971
+ if (props.disabled) return;
2972
+ const nextState = getNextState((_a = props.state) != null ? _a : "disabled");
2973
+ props.onChange(nextState);
2974
+ };
2975
+ const getNextState = (currentState) => {
2976
+ switch (currentState) {
2977
+ case "enabled":
2978
+ return "disabled";
2979
+ case "disabled":
2980
+ return "enabled";
2981
+ case "indeterminate":
2982
+ return "enabled";
2983
+ default:
2984
+ return "disabled";
2985
+ }
2986
+ };
2987
+ const isChecked = () => props.state === "enabled";
2988
+ const isIndeterminate = () => props.state === "indeterminate";
2989
+ const state = () => props.state;
2990
+ const disabled = () => props.disabled;
2740
2991
  return (() => {
2741
- var _el$ = _tmpl$40(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
2742
- _el$2.addEventListener("change", (e) => {
2743
- props.onChange(e.target.checked);
2744
- });
2992
+ var _el$ = _tmpl$45(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
2993
+ _el$2.addEventListener("change", handleChange);
2745
2994
  web.effect((_p$) => {
2746
- var _v$ = style("channelSwitch", `nt-relative nt-inline-flex nt-cursor-pointer nt-items-center`), _v$2 = style("channelSwitchThumb", `nt-peer nt-h-4 nt-w-7 nt-rounded-full peer-checked:nt-shadow-none peer-checked:nt-border-neutral-alpha-400 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-[''] peer-checked:nt-bg-primary peer-checked:after:nt-translate-x-full peer-checked:after:nt-border-background nt-transition-all nt-duration-200 after:nt-duration-200 shadow-sm`), _v$3 = props.checked;
2995
+ var _v$ = style("channelSwitch", cn("nt-relative nt-inline-flex nt-cursor-pointer nt-items-center", {
2996
+ "nt-opacity-50 nt-cursor-not-allowed": disabled()
2997
+ })), _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`, {
2998
+ "nt-bg-primary nt-shadow-none nt-border-neutral-alpha-400 after:nt-translate-x-full after:nt-border-background": isChecked(),
2999
+ "after:nt-translate-x-1/2": isIndeterminate()
3000
+ })), _v$4 = state();
2747
3001
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
2748
- _v$2 !== _p$.t && web.className(_el$3, _p$.t = _v$2);
2749
- _v$3 !== _p$.a && web.setAttribute(_el$3, "data-checked", _p$.a = _v$3);
3002
+ _v$2 !== _p$.t && (_el$2.disabled = _p$.t = _v$2);
3003
+ _v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
3004
+ _v$4 !== _p$.o && web.setAttribute(_el$3, "data-state", _p$.o = _v$4);
2750
3005
  return _p$;
2751
3006
  }, {
2752
3007
  e: void 0,
2753
3008
  t: void 0,
2754
- a: void 0
3009
+ a: void 0,
3010
+ o: void 0
2755
3011
  });
2756
- web.effect(() => _el$2.checked = props.checked);
3012
+ web.effect(() => _el$2.checked = isChecked());
2757
3013
  return _el$;
2758
3014
  })();
2759
3015
  };
2760
3016
 
2761
3017
  // src/ui/components/elements/Preferences/ChannelRow.tsx
2762
- var _tmpl$41 = /* @__PURE__ */ web.template(`<div><div><div></div><span></span></div><div>`);
3018
+ var _tmpl$46 = /* @__PURE__ */ web.template(`<div><div><div></div><span></span></div><div>`);
2763
3019
  var ChannelRow = (props) => {
2764
3020
  const style = useStyle();
2765
3021
  const updatePreference = (enabled) => chunk7B52C2XE_js.__async(void 0, null, function* () {
2766
3022
  props.onChange({
2767
- channel: props.channel,
2768
- enabled,
2769
- workflowId: props.workflowId
3023
+ [props.channel.channel]: enabled
2770
3024
  });
2771
3025
  });
2772
3026
  const onChange = (checked) => chunk7B52C2XE_js.__async(void 0, null, function* () {
2773
3027
  yield updatePreference(checked);
2774
3028
  });
3029
+ const state = () => props.channel.state;
3030
+ const channel = () => props.channel.channel;
2775
3031
  return (() => {
2776
- var _el$ = _tmpl$41(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$2.nextSibling;
3032
+ var _el$ = _tmpl$46(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$2.nextSibling;
2777
3033
  web.insert(_el$3, web.createComponent(ChannelIcon, {
2778
3034
  appearanceKey: "channel__icon",
2779
3035
  get channel() {
2780
- return props.channel;
3036
+ return channel();
2781
3037
  },
2782
3038
  "class": "nt-size-3"
2783
3039
  }));
2784
- web.insert(_el$4, () => getLabel(props.channel));
3040
+ web.insert(_el$4, () => getLabel(channel()));
2785
3041
  web.insert(_el$5, web.createComponent(Switch, {
2786
- get checked() {
2787
- return props.enabled;
3042
+ get state() {
3043
+ return state();
2788
3044
  },
2789
- onChange: (checked) => onChange(checked)
3045
+ onChange: (newState) => onChange(newState === "enabled")
2790
3046
  }));
2791
3047
  web.effect((_p$) => {
2792
3048
  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");
@@ -2808,40 +3064,75 @@ var ChannelRow = (props) => {
2808
3064
  };
2809
3065
  var ChannelIcon = (props) => {
2810
3066
  const style = useStyle();
2811
- switch (props.channel) {
2812
- case "in_app" /* IN_APP */:
2813
- return web.createComponent(InApp, {
3067
+ const iconMap = {
3068
+ ["in_app" /* IN_APP */]: {
3069
+ key: "inApp",
3070
+ component: web.createComponent(InApp, {
2814
3071
  get ["class"]() {
2815
- return style(props.appearanceKey, props.class);
3072
+ return style(props.appearanceKey, props.class, {
3073
+ iconKey: "inApp"
3074
+ });
2816
3075
  }
2817
- });
2818
- case "email" /* EMAIL */:
2819
- return web.createComponent(Email, {
3076
+ })
3077
+ },
3078
+ ["email" /* EMAIL */]: {
3079
+ key: "email",
3080
+ component: web.createComponent(Email, {
2820
3081
  get ["class"]() {
2821
- return style(props.appearanceKey, props.class);
3082
+ return style(props.appearanceKey, props.class, {
3083
+ iconKey: "email"
3084
+ });
2822
3085
  }
2823
- });
2824
- case "push" /* PUSH */:
2825
- return web.createComponent(Push, {
3086
+ })
3087
+ },
3088
+ ["push" /* PUSH */]: {
3089
+ key: "push",
3090
+ component: web.createComponent(Push, {
2826
3091
  get ["class"]() {
2827
- return style(props.appearanceKey, props.class);
3092
+ return style(props.appearanceKey, props.class, {
3093
+ iconKey: "push"
3094
+ });
2828
3095
  }
2829
- });
2830
- case "sms" /* SMS */:
2831
- return web.createComponent(Sms, {
3096
+ })
3097
+ },
3098
+ ["sms" /* SMS */]: {
3099
+ key: "sms",
3100
+ component: web.createComponent(Sms, {
2832
3101
  get ["class"]() {
2833
- return style(props.appearanceKey, props.class);
3102
+ return style(props.appearanceKey, props.class, {
3103
+ iconKey: "sms"
3104
+ });
2834
3105
  }
2835
- });
2836
- case "chat" /* CHAT */:
2837
- return web.createComponent(Chat, {
3106
+ })
3107
+ },
3108
+ ["chat" /* CHAT */]: {
3109
+ key: "chat",
3110
+ component: web.createComponent(Chat, {
2838
3111
  get ["class"]() {
2839
- return style(props.appearanceKey, props.class);
3112
+ return style(props.appearanceKey, props.class, {
3113
+ iconKey: "chat"
3114
+ });
2840
3115
  }
2841
- });
2842
- default:
2843
- return null;
3116
+ })
3117
+ }
3118
+ };
3119
+ const iconData = iconMap[props.channel];
3120
+ if (!iconData) {
3121
+ return null;
2844
3122
  }
3123
+ return web.createComponent(IconRendererWrapper, {
3124
+ get iconKey() {
3125
+ return iconData.key;
3126
+ },
3127
+ get fallback() {
3128
+ return iconData.component;
3129
+ },
3130
+ get ["class"]() {
3131
+ return style(props.appearanceKey, props.class, {
3132
+ iconKey: iconData.key
3133
+ });
3134
+ }
3135
+ });
2845
3136
  };
2846
3137
  var getLabel = (channel) => {
2847
3138
  switch (channel) {
@@ -2859,12 +3150,177 @@ var getLabel = (channel) => {
2859
3150
  return "";
2860
3151
  }
2861
3152
  };
2862
- var _tmpl$43 = /* @__PURE__ */ web.template(`<div>`);
2863
- var _tmpl$211 = /* @__PURE__ */ web.template(`<div><div></div><div>`);
3153
+
3154
+ // src/ui/components/elements/Preferences/PreferencesRow.tsx
3155
+ var _tmpl$47 = /* @__PURE__ */ web.template(`<div>`);
3156
+ var _tmpl$212 = /* @__PURE__ */ web.template(`<div><div><div><div><span></span></div></div><span>`);
3157
+ var _tmpl$310 = /* @__PURE__ */ web.template(`<span>`);
3158
+ var iconKeyToComponentMap2 = {
3159
+ cogs: Cogs,
3160
+ routeFill: RouteFill
3161
+ };
3162
+ var PreferencesRow = (props) => {
3163
+ const style = useStyle();
3164
+ const [isOpenChannels, setIsOpenChannels] = solidJs.createSignal(false);
3165
+ const {
3166
+ t
3167
+ } = useLocalization();
3168
+ const channels = solidJs.createMemo(() => {
3169
+ var _a, _b;
3170
+ return Object.keys((_b = (_a = props.preference) == null ? void 0 : _a.channels) != null ? _b : {}).map((channel) => {
3171
+ var _a2;
3172
+ return {
3173
+ channel,
3174
+ state: ((_a2 = props.preference) == null ? void 0 : _a2.channels[channel]) ? "enabled" : "disabled"
3175
+ };
3176
+ });
3177
+ });
3178
+ const iconClass = style("workflowLabelIcon", "nt-text-foreground-alpha-600 nt-size-3.5", {
3179
+ iconKey: "cogs"
3180
+ });
3181
+ const arrowDropDownIconClass = style("workflowArrow__icon", "nt-text-foreground-alpha-600 nt-size-4", {
3182
+ iconKey: "arrowDropDown"
3183
+ });
3184
+ const DefaultIconComponent = iconKeyToComponentMap2[props.iconKey];
3185
+ return web.createComponent(solidJs.Show, {
3186
+ get when() {
3187
+ return channels().length > 0;
3188
+ },
3189
+ get children() {
3190
+ var _el$ = _tmpl$212(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$3.nextSibling;
3191
+ _el$2.$$click = () => {
3192
+ setIsOpenChannels((prev) => !prev);
3193
+ };
3194
+ web.insert(_el$4, web.createComponent(IconRendererWrapper, {
3195
+ get iconKey() {
3196
+ return props.iconKey;
3197
+ },
3198
+ "class": iconClass,
3199
+ get fallback() {
3200
+ return DefaultIconComponent && DefaultIconComponent({
3201
+ class: iconClass
3202
+ });
3203
+ }
3204
+ }), _el$5);
3205
+ web.insert(_el$5, () => {
3206
+ var _a, _b, _c;
3207
+ return t((_c = (_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier) != null ? _c : "preferences.global");
3208
+ });
3209
+ web.insert(_el$3, web.createComponent(Collapsible, {
3210
+ get open() {
3211
+ return !isOpenChannels();
3212
+ },
3213
+ get children() {
3214
+ return web.createComponent(WorkflowDescription, {
3215
+ get channels() {
3216
+ var _a, _b;
3217
+ return (_b = (_a = props.preference) == null ? void 0 : _a.channels) != null ? _b : {};
3218
+ },
3219
+ appearanceKey: "workflowDescription",
3220
+ "class": "nt-overflow-hidden"
3221
+ });
3222
+ }
3223
+ }), null);
3224
+ web.insert(_el$6, web.createComponent(IconRendererWrapper, {
3225
+ iconKey: "arrowDropDown",
3226
+ "class": arrowDropDownIconClass,
3227
+ get fallback() {
3228
+ return web.createComponent(ArrowDropDown, {
3229
+ "class": arrowDropDownIconClass
3230
+ });
3231
+ }
3232
+ }));
3233
+ web.insert(_el$, web.createComponent(Collapsible, {
3234
+ get open() {
3235
+ return isOpenChannels();
3236
+ },
3237
+ get children() {
3238
+ var _el$7 = _tmpl$47();
3239
+ web.insert(_el$7, web.createComponent(solidJs.Index, {
3240
+ get each() {
3241
+ return channels();
3242
+ },
3243
+ children: (channel) => web.createComponent(ChannelRow, {
3244
+ get channel() {
3245
+ return channel();
3246
+ },
3247
+ get workflowId() {
3248
+ var _a, _b;
3249
+ return (_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.id;
3250
+ },
3251
+ get onChange() {
3252
+ var _a, _b;
3253
+ return props.onChange((_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier);
3254
+ }
3255
+ })
3256
+ }));
3257
+ web.effect(() => web.className(_el$7, style("channelsContainer", "nt-flex nt-bg-background nt-border nt-border-neutral-alpha-200 nt-rounded-lg nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden")));
3258
+ return _el$7;
3259
+ }
3260
+ }), null);
3261
+ web.effect((_p$) => {
3262
+ var _a, _b, _c;
3263
+ 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();
3264
+ _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
3265
+ _v$2 !== _p$.t && web.setAttribute(_el$, "data-open", _p$.t = _v$2);
3266
+ _v$3 !== _p$.a && web.className(_el$2, _p$.a = _v$3);
3267
+ _v$4 !== _p$.o && web.className(_el$3, _p$.o = _v$4);
3268
+ _v$5 !== _p$.i && web.className(_el$4, _p$.i = _v$5);
3269
+ _v$6 !== _p$.n && web.className(_el$5, _p$.n = _v$6);
3270
+ _v$7 !== _p$.s && web.setAttribute(_el$5, "data-localization", _p$.s = _v$7);
3271
+ _v$8 !== _p$.h && web.setAttribute(_el$5, "data-open", _p$.h = _v$8);
3272
+ _v$9 !== _p$.r && web.className(_el$6, _p$.r = _v$9);
3273
+ _v$10 !== _p$.d && web.setAttribute(_el$6, "data-open", _p$.d = _v$10);
3274
+ return _p$;
3275
+ }, {
3276
+ e: void 0,
3277
+ t: void 0,
3278
+ a: void 0,
3279
+ o: void 0,
3280
+ i: void 0,
3281
+ n: void 0,
3282
+ s: void 0,
3283
+ h: void 0,
3284
+ r: void 0,
3285
+ d: void 0
3286
+ });
3287
+ return _el$;
3288
+ }
3289
+ });
3290
+ };
3291
+ var WorkflowDescription = (props) => {
3292
+ const style = useStyle();
3293
+ const channelNames = () => {
3294
+ const channels = [];
3295
+ for (const key in props.channels) {
3296
+ if (props.channels[key] !== void 0) {
3297
+ const isDisabled = !props.channels[key];
3298
+ const element = (() => {
3299
+ var _el$8 = _tmpl$310();
3300
+ web.setAttribute(_el$8, "data-disabled", isDisabled);
3301
+ web.insert(_el$8, () => getLabel(key));
3302
+ web.effect(() => web.className(_el$8, style("channelName", "data-[disabled=true]:nt-text-foreground-alpha-400")));
3303
+ return _el$8;
3304
+ })();
3305
+ channels.push(element);
3306
+ }
3307
+ }
3308
+ return channels.map((c, index) => [c, web.memo(() => index < channels.length - 1 && ", ")]);
3309
+ };
3310
+ return (() => {
3311
+ var _el$9 = _tmpl$47();
3312
+ web.insert(_el$9, channelNames);
3313
+ web.effect(() => web.className(_el$9, style(props.appearanceKey, cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class))));
3314
+ return _el$9;
3315
+ })();
3316
+ };
3317
+ web.delegateEvents(["click"]);
3318
+ var _tmpl$48 = /* @__PURE__ */ web.template(`<div>`);
3319
+ var _tmpl$213 = /* @__PURE__ */ web.template(`<div><div></div><div>`);
2864
3320
  var SkeletonText = (props) => {
2865
3321
  const style = useStyle();
2866
3322
  return (() => {
2867
- var _el$ = _tmpl$43();
3323
+ var _el$ = _tmpl$48();
2868
3324
  web.effect(() => web.className(_el$, style(props.appearanceKey, cn("nt-w-full nt-h-3 nt-rounded nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class))));
2869
3325
  return _el$;
2870
3326
  })();
@@ -2872,7 +3328,7 @@ var SkeletonText = (props) => {
2872
3328
  var SkeletonAvatar = (props) => {
2873
3329
  const style = useStyle();
2874
3330
  return (() => {
2875
- var _el$2 = _tmpl$43();
3331
+ var _el$2 = _tmpl$48();
2876
3332
  web.effect(() => web.className(_el$2, style(props.appearanceKey, cn("nt-size-8 nt-rounded-lg nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class))));
2877
3333
  return _el$2;
2878
3334
  })();
@@ -2880,7 +3336,7 @@ var SkeletonAvatar = (props) => {
2880
3336
  var SkeletonSwitch = (props) => {
2881
3337
  const style = useStyle();
2882
3338
  return (() => {
2883
- var _el$3 = _tmpl$211(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
3339
+ var _el$3 = _tmpl$213(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
2884
3340
  web.effect((_p$) => {
2885
3341
  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");
2886
3342
  _v$ !== _p$.e && web.className(_el$3, _p$.e = _v$);
@@ -2897,7 +3353,7 @@ var SkeletonSwitch = (props) => {
2897
3353
  };
2898
3354
 
2899
3355
  // src/ui/components/elements/Preferences/PreferencesListSkeleton.tsx
2900
- var _tmpl$44 = /* @__PURE__ */ web.template(`<div>`);
3356
+ var _tmpl$49 = /* @__PURE__ */ web.template(`<div>`);
2901
3357
  var channelIcons = [InApp, Email, Sms, Push, Chat];
2902
3358
  var PreferencesListSkeleton = (props) => {
2903
3359
  const style = useStyle();
@@ -2905,7 +3361,7 @@ var PreferencesListSkeleton = (props) => {
2905
3361
  t
2906
3362
  } = useLocalization();
2907
3363
  return (() => {
2908
- var _el$ = _tmpl$44();
3364
+ var _el$ = _tmpl$49();
2909
3365
  web.insert(_el$, web.createComponent(Motion.div, {
2910
3366
  get animate() {
2911
3367
  return {
@@ -2947,7 +3403,7 @@ var PreferencesListSkeleton = (props) => {
2947
3403
  return style("preferencesList__skeletonIcon", "nt-size-8 nt-p-2 nt-rounded-lg nt-bg-neutral-alpha-100");
2948
3404
  }
2949
3405
  }), (() => {
2950
- var _el$3 = _tmpl$44();
3406
+ var _el$3 = _tmpl$49();
2951
3407
  web.insert(_el$3, web.createComponent(SkeletonText, {
2952
3408
  appearanceKey: "notificationList__skeletonText",
2953
3409
  "class": "nt-h-2 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded"
@@ -2965,7 +3421,7 @@ var PreferencesListSkeleton = (props) => {
2965
3421
  }
2966
3422
  });
2967
3423
  })), (() => {
2968
- var _el$2 = _tmpl$44();
3424
+ var _el$2 = _tmpl$49();
2969
3425
  web.effect(() => web.className(_el$2, style("notificationListEmptyNoticeOverlay", "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background")));
2970
3426
  return _el$2;
2971
3427
  })()];
@@ -3009,15 +3465,298 @@ var PreferencesListSkeleton = (props) => {
3009
3465
  })();
3010
3466
  };
3011
3467
 
3468
+ // src/ui/components/elements/Preferences/DefaultPreferences.tsx
3469
+ var DefaultPreferences = (props) => {
3470
+ const workflowPreferences = solidJs.createMemo(() => props.workflowPreferences);
3471
+ const updatePreference = (workflowIdentifier) => (channels) => {
3472
+ var _a;
3473
+ const preference = (_a = workflowPreferences()) == null ? void 0 : _a.find((pref) => {
3474
+ var _a2;
3475
+ return ((_a2 = pref.workflow) == null ? void 0 : _a2.identifier) === workflowIdentifier;
3476
+ });
3477
+ if (!preference) return;
3478
+ props.updatePreference(preference)(channels);
3479
+ };
3480
+ return web.createComponent(solidJs.Show, {
3481
+ get when() {
3482
+ var _a;
3483
+ return (_a = workflowPreferences()) == null ? void 0 : _a.length;
3484
+ },
3485
+ get fallback() {
3486
+ return web.createComponent(PreferencesListSkeleton, {
3487
+ get loading() {
3488
+ return props.loading;
3489
+ }
3490
+ });
3491
+ },
3492
+ get children() {
3493
+ return web.createComponent(solidJs.Index, {
3494
+ get each() {
3495
+ return workflowPreferences();
3496
+ },
3497
+ children: (preference) => {
3498
+ return web.createComponent(PreferencesRow, {
3499
+ iconKey: "routeFill",
3500
+ get preference() {
3501
+ return preference();
3502
+ },
3503
+ onChange: updatePreference
3504
+ });
3505
+ }
3506
+ });
3507
+ }
3508
+ });
3509
+ };
3510
+ var _tmpl$50 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 14 14"><path fill=currentColor d="M5.95 1.75c.29 0 .525.235.525.525v2.1c0 .29-.235.525-.525.525H4.9v1.05h2.625v-.525c0-.29.235-.525.525-.525h3.15c.29 0 .525.235.525.525v2.1c0 .29-.235.525-.525.525H8.05a.525.525 0 0 1-.525-.525V7H4.9v3.15h2.625v-.525c0-.29.235-.525.525-.525h3.15c.29 0 .525.235.525.525v2.1c0 .29-.235.525-.525.525H8.05a.525.525 0 0 1-.525-.525V11.2h-3.15a.525.525 0 0 1-.525-.525V4.9H2.8a.525.525 0 0 1-.525-.525v-2.1c0-.29.235-.525.525-.525h3.15Zm4.725 8.4h-2.1v1.05h2.1v-1.05Zm0-4.2h-2.1V7h2.1V5.95ZM5.425 2.8h-2.1v1.05h2.1V2.8Z"></path><path fill=url(#a) d="M5.95 1.75c.29 0 .525.235.525.525v2.1c0 .29-.235.525-.525.525H4.9v1.05h2.625v-.525c0-.29.235-.525.525-.525h3.15c.29 0 .525.235.525.525v2.1c0 .29-.235.525-.525.525H8.05a.525.525 0 0 1-.525-.525V7H4.9v3.15h2.625v-.525c0-.29.235-.525.525-.525h3.15c.29 0 .525.235.525.525v2.1c0 .29-.235.525-.525.525H8.05a.525.525 0 0 1-.525-.525V11.2h-3.15a.525.525 0 0 1-.525-.525V4.9H2.8a.525.525 0 0 1-.525-.525v-2.1c0-.29.235-.525.525-.525h3.15Zm4.725 8.4h-2.1v1.05h2.1v-1.05Zm0-4.2h-2.1V7h2.1V5.95ZM5.425 2.8h-2.1v1.05h2.1V2.8Z"></path><defs><linearGradient id=a x1=2.275 x2=11.725 y1=6.982 y2=7.018 gradientUnits=userSpaceOnUse><stop stop-color=currentColor></stop><stop offset=1 stop-color=currentColor>`);
3511
+ var NodeTree = (props) => {
3512
+ return (() => {
3513
+ var _el$ = _tmpl$50();
3514
+ web.spread(_el$, props, true, true);
3515
+ return _el$;
3516
+ })();
3517
+ };
3518
+ var _tmpl$51 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 16 16"><path fill=currentColor d="M8 13A5 5 0 1 1 8 3a5 5 0 0 1 0 10Zm0-1a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm.5-4.75V9.5H9v1H7v-1h.5V8.25H7v-1h1.5ZM8.75 6a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z">`);
3519
+ var Info = (props) => {
3520
+ return (() => {
3521
+ var _el$ = _tmpl$51();
3522
+ web.spread(_el$, props, true, true);
3523
+ return _el$;
3524
+ })();
3525
+ };
3526
+
3527
+ // src/ui/components/elements/Preferences/GroupedPreferencesRow.tsx
3528
+ var _tmpl$52 = /* @__PURE__ */ web.template(`<div><div><span data-localization=preferences.group.info></span></div><div>`);
3529
+ var _tmpl$214 = /* @__PURE__ */ web.template(`<div><div><div><span></span></div><div><span>`);
3530
+ var GroupedPreferencesRow = (props) => {
3531
+ const style = useStyle();
3532
+ const {
3533
+ t
3534
+ } = useLocalization();
3535
+ const [isOpened, setIsOpened] = solidJs.createSignal(false);
3536
+ const uniqueChannels = solidJs.createMemo(() => {
3537
+ return props.group.preferences.reduce((acc, preference) => {
3538
+ Object.keys(preference.channels).forEach((el) => {
3539
+ const channel = el;
3540
+ const currentState = acc[channel];
3541
+ const preferenceState = preference.channels[channel] ? "enabled" : "disabled";
3542
+ if (!currentState) {
3543
+ acc[channel] = preferenceState;
3544
+ } else {
3545
+ acc[channel] = currentState !== preferenceState ? "indeterminate" : preferenceState;
3546
+ }
3547
+ });
3548
+ return acc;
3549
+ }, {});
3550
+ });
3551
+ const groupState = solidJs.createMemo(() => {
3552
+ const someIndeterminate = Object.values(uniqueChannels()).some((state) => state === "indeterminate");
3553
+ if (someIndeterminate) {
3554
+ return "indeterminate";
3555
+ }
3556
+ const allEnabled = Object.values(uniqueChannels()).every((state) => state === "enabled");
3557
+ const allDisabled = Object.values(uniqueChannels()).every((state) => state === "disabled");
3558
+ if (allEnabled) {
3559
+ return "enabled";
3560
+ }
3561
+ if (allDisabled) {
3562
+ return "disabled";
3563
+ }
3564
+ return "indeterminate";
3565
+ });
3566
+ const updateGroupPreferences = (newState) => {
3567
+ const channels = Object.keys(uniqueChannels()).reduce((acc, channel) => {
3568
+ acc[channel] = newState === "enabled";
3569
+ return acc;
3570
+ }, {});
3571
+ props.bulkUpdatePreferences(props.group.preferences)(channels);
3572
+ };
3573
+ const updatePreference = (workflowIdentifier) => (channels) => {
3574
+ const preference = props.group.preferences.find((pref) => {
3575
+ var _a;
3576
+ return ((_a = pref.workflow) == null ? void 0 : _a.identifier) === workflowIdentifier;
3577
+ });
3578
+ if (!preference) return;
3579
+ props.updatePreference(preference)(channels);
3580
+ };
3581
+ const updatePreferencesForChannel = (channel) => (channels) => {
3582
+ const filteredPreferences = props.group.preferences.filter((preference) => Object.keys(preference.channels).some((key) => key === channel));
3583
+ props.bulkUpdatePreferences(filteredPreferences)(channels);
3584
+ };
3585
+ const preferences = solidJs.createMemo(() => props.group.preferences);
3586
+ const nodeTreeIconClass = style("preferencesGroupLabelIcon", "nt-text-foreground-alpha-600 nt-size-3.5");
3587
+ const infoIconClass = style("preferencesGroupInfoIcon", "nt-size-4");
3588
+ const dropdownIconClass = style("moreTabs__icon", "nt-size-4");
3589
+ return web.createComponent(solidJs.Show, {
3590
+ get when() {
3591
+ return Object.keys(uniqueChannels()).length > 0;
3592
+ },
3593
+ get children() {
3594
+ var _el$ = _tmpl$214(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$3.nextSibling, _el$6 = _el$5.firstChild;
3595
+ _el$2.$$click = () => {
3596
+ setIsOpened((prev) => !prev);
3597
+ };
3598
+ web.insert(_el$3, web.createComponent(IconRendererWrapper, {
3599
+ iconKey: "nodeTree",
3600
+ "class": nodeTreeIconClass,
3601
+ get fallback() {
3602
+ return web.createComponent(NodeTree, {
3603
+ "class": nodeTreeIconClass
3604
+ });
3605
+ }
3606
+ }), _el$4);
3607
+ web.insert(_el$4, () => props.group.name);
3608
+ web.insert(_el$5, web.createComponent(Switch, {
3609
+ get state() {
3610
+ return groupState();
3611
+ },
3612
+ onChange: updateGroupPreferences
3613
+ }), _el$6);
3614
+ web.insert(_el$6, web.createComponent(IconRendererWrapper, {
3615
+ iconKey: "arrowDropDown",
3616
+ "class": dropdownIconClass,
3617
+ get fallback() {
3618
+ return web.createComponent(ArrowDropDown, {
3619
+ "class": dropdownIconClass
3620
+ });
3621
+ }
3622
+ }));
3623
+ web.insert(_el$, web.createComponent(Collapsible, {
3624
+ get open() {
3625
+ return isOpened();
3626
+ },
3627
+ get children() {
3628
+ var _el$7 = _tmpl$52(), _el$8 = _el$7.firstChild, _el$9 = _el$8.firstChild, _el$10 = _el$8.nextSibling;
3629
+ web.insert(_el$8, web.createComponent(solidJs.Index, {
3630
+ get each() {
3631
+ return Object.keys(uniqueChannels());
3632
+ },
3633
+ children: (channel) => {
3634
+ return web.createComponent(ChannelRow, {
3635
+ get channel() {
3636
+ return {
3637
+ channel: channel(),
3638
+ state: uniqueChannels()[channel()]
3639
+ };
3640
+ },
3641
+ get onChange() {
3642
+ return updatePreferencesForChannel(channel());
3643
+ }
3644
+ });
3645
+ }
3646
+ }), _el$9);
3647
+ web.insert(_el$9, web.createComponent(IconRendererWrapper, {
3648
+ iconKey: "info",
3649
+ "class": infoIconClass,
3650
+ get fallback() {
3651
+ return web.createComponent(Info, {
3652
+ "class": infoIconClass
3653
+ });
3654
+ }
3655
+ }), null);
3656
+ web.insert(_el$9, () => t("preferences.group.info"), null);
3657
+ web.insert(_el$10, web.createComponent(solidJs.Index, {
3658
+ get each() {
3659
+ return preferences();
3660
+ },
3661
+ children: (preference) => web.createComponent(PreferencesRow, {
3662
+ iconKey: "routeFill",
3663
+ get preference() {
3664
+ return preference();
3665
+ },
3666
+ onChange: updatePreference
3667
+ })
3668
+ }));
3669
+ web.effect((_p$) => {
3670
+ 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");
3671
+ _v$ !== _p$.e && web.className(_el$7, _p$.e = _v$);
3672
+ _v$2 !== _p$.t && web.className(_el$8, _p$.t = _v$2);
3673
+ _v$3 !== _p$.a && web.className(_el$9, _p$.a = _v$3);
3674
+ _v$4 !== _p$.o && web.className(_el$10, _p$.o = _v$4);
3675
+ return _p$;
3676
+ }, {
3677
+ e: void 0,
3678
+ t: void 0,
3679
+ a: void 0,
3680
+ o: void 0
3681
+ });
3682
+ return _el$7;
3683
+ }
3684
+ }), null);
3685
+ web.effect((_p$) => {
3686
+ 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();
3687
+ _v$5 !== _p$.e && web.className(_el$, _p$.e = _v$5);
3688
+ _v$6 !== _p$.t && web.setAttribute(_el$, "data-open", _p$.t = _v$6);
3689
+ _v$7 !== _p$.a && web.className(_el$2, _p$.a = _v$7);
3690
+ _v$8 !== _p$.o && web.className(_el$3, _p$.o = _v$8);
3691
+ _v$9 !== _p$.i && web.className(_el$4, _p$.i = _v$9);
3692
+ _v$10 !== _p$.n && web.setAttribute(_el$4, "data-open", _p$.n = _v$10);
3693
+ _v$11 !== _p$.s && web.className(_el$5, _p$.s = _v$11);
3694
+ _v$12 !== _p$.h && web.className(_el$6, _p$.h = _v$12);
3695
+ _v$13 !== _p$.r && web.setAttribute(_el$6, "data-open", _p$.r = _v$13);
3696
+ return _p$;
3697
+ }, {
3698
+ e: void 0,
3699
+ t: void 0,
3700
+ a: void 0,
3701
+ o: void 0,
3702
+ i: void 0,
3703
+ n: void 0,
3704
+ s: void 0,
3705
+ h: void 0,
3706
+ r: void 0
3707
+ });
3708
+ return _el$;
3709
+ }
3710
+ });
3711
+ };
3712
+ web.delegateEvents(["click"]);
3713
+
3714
+ // src/ui/components/elements/Preferences/GroupedPreferences.tsx
3715
+ var GroupedPreferences = (props) => {
3716
+ const groups = () => props.groups;
3717
+ return web.createComponent(solidJs.Show, {
3718
+ get when() {
3719
+ return props.groups.length && !props.loading;
3720
+ },
3721
+ get fallback() {
3722
+ return web.createComponent(PreferencesListSkeleton, {
3723
+ get loading() {
3724
+ return props.loading;
3725
+ }
3726
+ });
3727
+ },
3728
+ get children() {
3729
+ return web.createComponent(solidJs.Index, {
3730
+ get each() {
3731
+ return groups();
3732
+ },
3733
+ children: (group) => {
3734
+ return web.createComponent(GroupedPreferencesRow, {
3735
+ get group() {
3736
+ return group();
3737
+ },
3738
+ get bulkUpdatePreferences() {
3739
+ return props.bulkUpdatePreferences;
3740
+ },
3741
+ get updatePreference() {
3742
+ return props.updatePreference;
3743
+ }
3744
+ });
3745
+ }
3746
+ });
3747
+ }
3748
+ });
3749
+ };
3750
+
3012
3751
  // src/ui/components/elements/Preferences/Preferences.tsx
3013
- var _tmpl$45 = /* @__PURE__ */ web.template(`<div>`);
3014
- var _tmpl$212 = /* @__PURE__ */ web.template(`<span>`);
3015
- var _tmpl$310 = /* @__PURE__ */ web.template(`<div><div><div><div></div></div><span>`);
3752
+ var _tmpl$53 = /* @__PURE__ */ web.template(`<div>`);
3016
3753
  var Preferences = () => {
3017
3754
  var _a;
3755
+ const novu = useNovu();
3018
3756
  const style = useStyle();
3019
3757
  const {
3020
- preferencesFilter
3758
+ preferencesFilter,
3759
+ preferenceGroups
3021
3760
  } = useInboxContext();
3022
3761
  const {
3023
3762
  preferences,
@@ -3029,14 +3768,9 @@ var Preferences = () => {
3029
3768
  var _a2, _b;
3030
3769
  const globalPreference = (_a2 = preferences()) == null ? void 0 : _a2.find((preference) => preference.level === "global" /* GLOBAL */);
3031
3770
  const workflowPreferences = (_b = preferences()) == null ? void 0 : _b.filter((preference) => preference.level === "template" /* TEMPLATE */);
3032
- const workflowPreferencesIds = workflowPreferences == null ? void 0 : workflowPreferences.map((preference) => {
3033
- var _a3;
3034
- return (_a3 = preference.workflow) == null ? void 0 : _a3.id;
3035
- });
3036
3771
  return {
3037
3772
  globalPreference,
3038
- workflowPreferences,
3039
- workflowPreferencesIds
3773
+ workflowPreferences
3040
3774
  };
3041
3775
  });
3042
3776
  solidJs.createEffect(() => {
@@ -3048,203 +3782,126 @@ var Preferences = () => {
3048
3782
  }, {}));
3049
3783
  });
3050
3784
  });
3051
- const optimisticUpdate = (preference) => (_0) => chunk7B52C2XE_js.__async(void 0, [_0], function* ({
3052
- channel,
3053
- enabled
3054
- }) {
3785
+ const updatePreference = (preference) => (channels) => chunk7B52C2XE_js.__async(void 0, null, function* () {
3055
3786
  yield preference == null ? void 0 : preference.update({
3056
- channels: {
3057
- [channel]: enabled
3058
- }
3787
+ channels
3059
3788
  });
3060
3789
  });
3790
+ const bulkUpdatePreferences = (preferences2) => (channels) => chunk7B52C2XE_js.__async(void 0, null, function* () {
3791
+ yield novu.preferences.bulkUpdate(preferences2.map((el) => {
3792
+ const oldChannels = Object.keys(el.channels);
3793
+ const channelsToUpdate = Object.keys(channels).filter((channel) => oldChannels.includes(channel)).reduce((acc, channel) => {
3794
+ acc[channel] = channels[channel];
3795
+ return acc;
3796
+ }, {});
3797
+ return {
3798
+ preference: el,
3799
+ channels: channelsToUpdate
3800
+ };
3801
+ }));
3802
+ });
3803
+ const groupedPreferences = solidJs.createMemo(() => {
3804
+ var _a2, _b, _c;
3805
+ const workflowPreferences = (_a2 = allPreferences().workflowPreferences) != null ? _a2 : [];
3806
+ return (_c = (_b = preferenceGroups()) == null ? void 0 : _b.map((group) => {
3807
+ const {
3808
+ filter
3809
+ } = group;
3810
+ if (typeof filter === "function") {
3811
+ const preferences2 = filter({
3812
+ preferences: workflowPreferences
3813
+ });
3814
+ return {
3815
+ name: group.name,
3816
+ preferences: preferences2
3817
+ };
3818
+ }
3819
+ if (typeof filter === "object") {
3820
+ return {
3821
+ name: group.name,
3822
+ preferences: workflowPreferences.filter((preference) => {
3823
+ var _a3, _b2, _c2, _d;
3824
+ const workflowId = ((_a3 = preference.workflow) == null ? void 0 : _a3.id) || ((_b2 = preference.workflow) == null ? void 0 : _b2.identifier);
3825
+ return ((_c2 = filter.workflowIds) == null ? void 0 : _c2.includes(workflowId != null ? workflowId : "")) || ((_d = filter.tags) == null ? void 0 : _d.some((tag) => {
3826
+ var _a4, _b3;
3827
+ return (_b3 = (_a4 = preference.workflow) == null ? void 0 : _a4.tags) == null ? void 0 : _b3.includes(tag);
3828
+ }));
3829
+ })
3830
+ };
3831
+ }
3832
+ return {
3833
+ name: group.name,
3834
+ preferences: []
3835
+ };
3836
+ })) != null ? _c : [];
3837
+ });
3061
3838
  return (() => {
3062
- var _el$ = _tmpl$45();
3839
+ var _el$ = _tmpl$53();
3063
3840
  web.insert(_el$, web.createComponent(PreferencesRow, {
3064
- localizationKey: "preferences.global",
3065
- get channels() {
3066
- var _a2;
3067
- return ((_a2 = allPreferences().globalPreference) == null ? void 0 : _a2.channels) || {};
3841
+ iconKey: "cogs",
3842
+ get preference() {
3843
+ return allPreferences().globalPreference;
3068
3844
  },
3069
- get onChange() {
3070
- return optimisticUpdate(allPreferences().globalPreference);
3071
- }
3845
+ onChange: () => updatePreference(allPreferences().globalPreference)
3072
3846
  }), null);
3073
3847
  web.insert(_el$, web.createComponent(solidJs.Show, {
3074
3848
  get when() {
3075
- var _a2;
3076
- return (_a2 = allPreferences().workflowPreferences) == null ? void 0 : _a2.length;
3849
+ return groupedPreferences().length > 0;
3077
3850
  },
3078
3851
  get fallback() {
3079
- return web.createComponent(PreferencesListSkeleton, {
3080
- get loading() {
3081
- return loading();
3082
- }
3083
- });
3084
- },
3085
- get children() {
3086
- return web.createComponent(solidJs.For, {
3087
- get each() {
3088
- return allPreferences().workflowPreferencesIds;
3852
+ return web.createComponent(solidJs.Show, {
3853
+ get when() {
3854
+ var _a2;
3855
+ return (_a2 = allPreferences().workflowPreferences) == null ? void 0 : _a2.length;
3089
3856
  },
3090
- children: (_, index) => {
3091
- const preference = () => {
3092
- var _a2;
3093
- return (_a2 = allPreferences().workflowPreferences) == null ? void 0 : _a2[index()];
3094
- };
3095
- if (!preference()) {
3096
- return null;
3097
- }
3098
- return web.createComponent(PreferencesRow, {
3099
- get localizationKey() {
3100
- return preference().workflow.identifier;
3101
- },
3102
- get channels() {
3103
- return preference().channels;
3857
+ get fallback() {
3858
+ return web.createComponent(PreferencesListSkeleton, {
3859
+ get loading() {
3860
+ return loading();
3861
+ }
3862
+ });
3863
+ },
3864
+ get children() {
3865
+ return web.createComponent(DefaultPreferences, {
3866
+ get workflowPreferences() {
3867
+ return allPreferences().workflowPreferences;
3104
3868
  },
3105
- get workflowId() {
3106
- var _a2;
3107
- return (_a2 = preference().workflow) == null ? void 0 : _a2.id;
3869
+ get loading() {
3870
+ return loading();
3108
3871
  },
3109
- get onChange() {
3110
- return optimisticUpdate(preference());
3111
- }
3872
+ updatePreference
3112
3873
  });
3113
3874
  }
3114
3875
  });
3876
+ },
3877
+ get children() {
3878
+ return web.createComponent(GroupedPreferences, {
3879
+ get groups() {
3880
+ return groupedPreferences();
3881
+ },
3882
+ get loading() {
3883
+ return loading();
3884
+ },
3885
+ updatePreference,
3886
+ bulkUpdatePreferences
3887
+ });
3115
3888
  }
3116
3889
  }), null);
3117
- web.effect(() => web.className(_el$, style("preferencesContainer", "nt-px-3 nt-py-4 nt-flex nt-flex-col nt-gap-1 nt-overflow-y-auto nt-h-full")));
3890
+ web.effect(() => web.className(_el$, style("preferencesContainer", "nt-px-3 nt-py-4 nt-flex nt-flex-col nt-gap-1 nt-overflow-y-auto nt-h-full nt-pr-0 [scrollbar-gutter:stable]")));
3118
3891
  return _el$;
3119
3892
  })();
3120
3893
  };
3121
- var WorkflowDescription = (props) => {
3122
- const style = useStyle();
3123
- const channelNames = () => {
3124
- const channels = [];
3125
- for (const key in props.channels) {
3126
- if (props.channels[key] !== void 0) {
3127
- const isDisabled = !props.channels[key];
3128
- const element = (() => {
3129
- var _el$2 = _tmpl$212();
3130
- web.setAttribute(_el$2, "data-disabled", isDisabled);
3131
- web.insert(_el$2, () => getLabel(key));
3132
- web.effect(() => web.className(_el$2, style("channelName", "data-[disabled=true]:nt-text-foreground-alpha-400")));
3133
- return _el$2;
3134
- })();
3135
- channels.push(element);
3136
- }
3137
- }
3138
- return channels.map((c, index) => [c, web.memo(() => index < channels.length - 1 && ", ")]);
3139
- };
3140
- return (() => {
3141
- var _el$3 = _tmpl$45();
3142
- web.insert(_el$3, channelNames);
3143
- web.effect(() => web.className(_el$3, style(props.appearanceKey, cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class))));
3144
- return _el$3;
3145
- })();
3146
- };
3147
- var PreferencesRow = (props) => {
3148
- const style = useStyle();
3149
- const [isOpenDescription, setIsOpenDescription] = solidJs.createSignal(true);
3150
- const [isOpenChannels, setIsOpenChannels] = solidJs.createSignal(false);
3151
- const {
3152
- t
3153
- } = useLocalization();
3154
- const channels = solidJs.createMemo(() => Object.keys(props.channels));
3155
- return web.createComponent(solidJs.Show, {
3156
- get when() {
3157
- return channels().length > 0;
3158
- },
3159
- get children() {
3160
- var _el$4 = _tmpl$310(), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.firstChild, _el$8 = _el$6.nextSibling;
3161
- _el$5.$$click = () => {
3162
- setIsOpenChannels((prev) => !prev);
3163
- setIsOpenDescription((prev) => !prev);
3164
- };
3165
- web.insert(_el$7, () => t(props.localizationKey));
3166
- web.insert(_el$6, web.createComponent(Collapsible, {
3167
- get open() {
3168
- return isOpenDescription();
3169
- },
3170
- get children() {
3171
- return web.createComponent(WorkflowDescription, {
3172
- get channels() {
3173
- return props.channels;
3174
- },
3175
- appearanceKey: "workflowDescription",
3176
- "class": "nt-overflow-hidden"
3177
- });
3178
- }
3179
- }), null);
3180
- web.insert(_el$8, web.createComponent(ArrowDropDown, {
3181
- get ["class"]() {
3182
- return style("workflowArrow__icon", "nt-text-foreground-alpha-600 nt-size-4");
3183
- }
3184
- }));
3185
- web.insert(_el$4, web.createComponent(Collapsible, {
3186
- get open() {
3187
- return isOpenChannels();
3188
- },
3189
- get children() {
3190
- var _el$9 = _tmpl$45();
3191
- web.insert(_el$9, web.createComponent(solidJs.For, {
3192
- get each() {
3193
- return channels();
3194
- },
3195
- children: (channel) => web.createComponent(ChannelRow, {
3196
- channel,
3197
- get enabled() {
3198
- return !!props.channels[channel];
3199
- },
3200
- get workflowId() {
3201
- return props.workflowId;
3202
- },
3203
- get onChange() {
3204
- return props.onChange;
3205
- }
3206
- })
3207
- }));
3208
- web.effect(() => web.className(_el$9, style("channelsContainer", "nt-flex nt-bg-background nt-border nt-border-neutral-alpha-50 nt-rounded-lg nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden")));
3209
- return _el$9;
3210
- }
3211
- }), null);
3212
- web.effect((_p$) => {
3213
- var _v$ = style("workflowContainer", `nt-p-1 nt-bg-neutral-alpha-25 nt-rounded-lg`), _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("workflowLabel", "nt-text-sm nt-font-semibold nt-truncate"), _v$6 = props.localizationKey, _v$7 = isOpenChannels(), _v$8 = 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$9 = isOpenChannels();
3214
- _v$ !== _p$.e && web.className(_el$4, _p$.e = _v$);
3215
- _v$2 !== _p$.t && web.setAttribute(_el$4, "data-open", _p$.t = _v$2);
3216
- _v$3 !== _p$.a && web.className(_el$5, _p$.a = _v$3);
3217
- _v$4 !== _p$.o && web.className(_el$6, _p$.o = _v$4);
3218
- _v$5 !== _p$.i && web.className(_el$7, _p$.i = _v$5);
3219
- _v$6 !== _p$.n && web.setAttribute(_el$7, "data-localization", _p$.n = _v$6);
3220
- _v$7 !== _p$.s && web.setAttribute(_el$7, "data-open", _p$.s = _v$7);
3221
- _v$8 !== _p$.h && web.className(_el$8, _p$.h = _v$8);
3222
- _v$9 !== _p$.r && web.setAttribute(_el$8, "data-open", _p$.r = _v$9);
3223
- return _p$;
3224
- }, {
3225
- e: void 0,
3226
- t: void 0,
3227
- a: void 0,
3228
- o: void 0,
3229
- i: void 0,
3230
- n: void 0,
3231
- s: void 0,
3232
- h: void 0,
3233
- r: void 0
3234
- });
3235
- return _el$4;
3236
- }
3237
- });
3238
- };
3239
- web.delegateEvents(["click"]);
3240
- var _tmpl$46 = /* @__PURE__ */ web.template(`<div><div data-localization=preferences.title>`);
3894
+ var _tmpl$54 = /* @__PURE__ */ web.template(`<div><div data-localization=preferences.title>`);
3241
3895
  var PreferencesHeader = (props) => {
3242
3896
  const style = useStyle();
3243
3897
  const {
3244
3898
  t
3245
3899
  } = useLocalization();
3900
+ const arrowLeftIconClass = style("preferencesHeader__back__button__icon", "nt-size-4", {
3901
+ iconKey: "arrowLeft"
3902
+ });
3246
3903
  return (() => {
3247
- var _el$ = _tmpl$46(), _el$2 = _el$.firstChild;
3904
+ var _el$ = _tmpl$54(), _el$2 = _el$.firstChild;
3248
3905
  web.insert(_el$, web.createComponent(solidJs.Show, {
3249
3906
  get when() {
3250
3907
  return props.navigateToNotifications;
@@ -3258,9 +3915,13 @@ var PreferencesHeader = (props) => {
3258
3915
  return navigateToNotifications();
3259
3916
  },
3260
3917
  get children() {
3261
- return web.createComponent(ArrowLeft, {
3262
- get ["class"]() {
3263
- return style("preferencesHeader__back__button__icon", "nt-size-4");
3918
+ return web.createComponent(IconRendererWrapper, {
3919
+ iconKey: "arrowLeft",
3920
+ "class": arrowLeftIconClass,
3921
+ get fallback() {
3922
+ return web.createComponent(ArrowLeft, {
3923
+ "class": arrowLeftIconClass
3924
+ });
3264
3925
  }
3265
3926
  });
3266
3927
  }
@@ -3308,28 +3969,12 @@ var useTabsDropdown = ({ tabs }) => {
3308
3969
  });
3309
3970
  return { dropdownTabs, setTabsList, visibleTabs };
3310
3971
  };
3311
- var _tmpl$47 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 20 20"fill=none xmlns=http://www.w3.org/2000/svg><path d="M10.0001 10.879L13.7126 7.1665L14.7731 8.227L10.0001 13L5.22705 8.227L6.28755 7.1665L10.0001 10.879Z"fill=currentColor>`);
3312
- var ArrowDown = (props) => {
3313
- return (() => {
3314
- var _el$ = _tmpl$47();
3315
- web.spread(_el$, props, true, true);
3316
- return _el$;
3317
- })();
3318
- };
3319
- var _tmpl$48 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 12 12"fill=none xmlns=http://www.w3.org/2000/svg><g clip-path=url(#clip0_3188_15050)><path d="M6 3V6L8 7M11 6C11 8.76142 8.76142 11 6 11C3.23858 11 1 8.76142 1 6C1 3.23858 3.23858 1 6 1C8.76142 1 11 3.23858 11 6Z"stroke=currentColor stroke-linecap=round stroke-linejoin=round>`);
3320
- var Clock = (props) => {
3321
- return (() => {
3322
- var _el$ = _tmpl$48();
3323
- web.spread(_el$, props, true, true);
3324
- return _el$;
3325
- })();
3326
- };
3327
- var _tmpl$49 = /* @__PURE__ */ web.template(`<strong>`);
3328
- var _tmpl$213 = /* @__PURE__ */ web.template(`<p>`);
3972
+ var _tmpl$55 = /* @__PURE__ */ web.template(`<strong>`);
3973
+ var _tmpl$215 = /* @__PURE__ */ web.template(`<p>`);
3329
3974
  var Bold = (props) => {
3330
3975
  const style = useStyle();
3331
3976
  return (() => {
3332
- var _el$ = _tmpl$49();
3977
+ var _el$ = _tmpl$55();
3333
3978
  web.insert(_el$, () => props.children);
3334
3979
  web.effect(() => web.className(_el$, style(props.appearanceKey || "strong", "nt-font-semibold")));
3335
3980
  return _el$;
@@ -3341,7 +3986,7 @@ var Markdown = (props) => {
3341
3986
  const style = useStyle();
3342
3987
  const tokens = solidJs.createMemo(() => chunkERC62PGI_js.parseMarkdownIntoTokens(local.children));
3343
3988
  return (() => {
3344
- var _el$2 = _tmpl$213();
3989
+ var _el$2 = _tmpl$215();
3345
3990
  web.spread(_el$2, web.mergeProps({
3346
3991
  get ["class"]() {
3347
3992
  return style(local.appearanceKey, cn(local.class));
@@ -3374,7 +4019,7 @@ var Markdown = (props) => {
3374
4019
  })();
3375
4020
  };
3376
4021
  var Markdown_default = Markdown;
3377
- var _tmpl$50 = /* @__PURE__ */ web.template(`<span>`);
4022
+ var _tmpl$56 = /* @__PURE__ */ web.template(`<span>`);
3378
4023
  var badgeVariants = classVarianceAuthority.cva(cn("nt-inline-flex nt-flex-row nt-gap-1 nt-items-center"), {
3379
4024
  variants: {
3380
4025
  variant: {
@@ -3393,7 +4038,7 @@ var Badge = (props) => {
3393
4038
  const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey"]);
3394
4039
  const style = useStyle();
3395
4040
  return (() => {
3396
- var _el$ = _tmpl$50();
4041
+ var _el$ = _tmpl$56();
3397
4042
  web.spread(_el$, web.mergeProps({
3398
4043
  get ["data-variant"]() {
3399
4044
  return props.variant;
@@ -3411,21 +4056,13 @@ var Badge = (props) => {
3411
4056
  return _el$;
3412
4057
  })();
3413
4058
  };
3414
- var _tmpl$51 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.99992 2.91634V4.99967M4.79992 5.39616L3.27392 6.46553M1.66659 1.66634L8.33325 8.33301M9.16658 4.99967C9.16658 7.30086 7.30111 9.16634 4.99992 9.16634C2.69873 9.16634 0.833252 7.30086 0.833252 4.99967C0.833252 2.69849 2.69873 0.833008 4.99992 0.833008C7.30111 0.833008 9.16658 2.69849 9.16658 4.99967Z"stroke=currentColor stroke-linecap=round stroke-linejoin=round>`);
3415
- var Unsnooze = (props) => {
3416
- return (() => {
3417
- var _el$ = _tmpl$51();
3418
- web.spread(_el$, props, true, true);
3419
- return _el$;
3420
- })();
3421
- };
3422
4059
  var TooltipContext = solidJs.createContext(void 0);
3423
4060
  function TooltipRoot(props) {
3424
4061
  const [reference, setReference] = solidJs.createSignal(null);
3425
4062
  const [floating, setFloating] = solidJs.createSignal(null);
3426
4063
  const position = solidFloatingUi.useFloating(reference, floating, {
3427
4064
  placement: props.placement || "top",
3428
- strategy: "absolute",
4065
+ strategy: "fixed",
3429
4066
  whileElementsMounted: dom.autoUpdate,
3430
4067
  middleware: [dom.offset(10), dom.flip({
3431
4068
  fallbackPlacements: props.fallbackPlacements || ["bottom"]
@@ -3466,7 +4103,7 @@ function useTooltip() {
3466
4103
  }
3467
4104
 
3468
4105
  // src/ui/components/primitives/Tooltip/TooltipContent.tsx
3469
- var _tmpl$52 = /* @__PURE__ */ web.template(`<div>`);
4106
+ var _tmpl$57 = /* @__PURE__ */ web.template(`<div>`);
3470
4107
  var tooltipContentVariants = () => "nt-bg-foreground nt-p-2 nt-shadow-tooltip nt-rounded-lg nt-text-background nt-text-xs";
3471
4108
  var TooltipContentBody = (props) => {
3472
4109
  const {
@@ -3489,7 +4126,7 @@ var TooltipContentBody = (props) => {
3489
4126
  });
3490
4127
  });
3491
4128
  return (() => {
3492
- var _el$ = _tmpl$52();
4129
+ var _el$ = _tmpl$57();
3493
4130
  web.use(setFloating, _el$);
3494
4131
  web.spread(_el$, web.mergeProps({
3495
4132
  get ["class"]() {
@@ -3511,12 +4148,22 @@ var TooltipContent = (props) => {
3511
4148
  const {
3512
4149
  open
3513
4150
  } = useTooltip();
4151
+ const {
4152
+ container
4153
+ } = useAppearance();
4154
+ const portalContainer = () => {
4155
+ var _a;
4156
+ return (_a = container()) != null ? _a : document.body;
4157
+ };
3514
4158
  return web.createComponent(solidJs.Show, {
3515
4159
  get when() {
3516
4160
  return open();
3517
4161
  },
3518
4162
  get children() {
3519
4163
  return web.createComponent(web.Portal, {
4164
+ get mount() {
4165
+ return portalContainer();
4166
+ },
3520
4167
  get children() {
3521
4168
  return web.createComponent(Root, {
3522
4169
  get children() {
@@ -3528,7 +4175,7 @@ var TooltipContent = (props) => {
3528
4175
  }
3529
4176
  });
3530
4177
  };
3531
- var _tmpl$53 = /* @__PURE__ */ web.template(`<button>`);
4178
+ var _tmpl$58 = /* @__PURE__ */ web.template(`<button>`);
3532
4179
  var TooltipTrigger = (props) => {
3533
4180
  const {
3534
4181
  setReference,
@@ -3563,7 +4210,7 @@ var TooltipTrigger = (props) => {
3563
4210
  }, rest));
3564
4211
  }
3565
4212
  return (() => {
3566
- var _el$ = _tmpl$53();
4213
+ var _el$ = _tmpl$58();
3567
4214
  _el$.addEventListener("mouseleave", () => {
3568
4215
  setOpen(false);
3569
4216
  });
@@ -3594,18 +4241,8 @@ var Tooltip = {
3594
4241
  */
3595
4242
  Content: TooltipContent
3596
4243
  };
3597
- var _tmpl$54 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 20 20"fill=none xmlns=http://www.w3.org/2000/svg><path d="M10.7957 10.0009L7.08325 6.2884L8.14375 5.2279L12.9168 10.0009L8.14375 14.7739L7.08325 13.7134L10.7957 10.0009Z"fill=currentColor>`);
3598
- var ArrowRight = (props) => {
3599
- return (() => {
3600
- var _el$ = _tmpl$54();
3601
- web.spread(_el$, props, true, true);
3602
- return _el$;
3603
- })();
3604
- };
3605
-
3606
- // src/ui/components/primitives/DatePicker.tsx
3607
- var _tmpl$55 = /* @__PURE__ */ web.template(`<div>`);
3608
- var _tmpl$214 = /* @__PURE__ */ web.template(`<div><span>`);
4244
+ var _tmpl$59 = /* @__PURE__ */ web.template(`<div>`);
4245
+ var _tmpl$216 = /* @__PURE__ */ web.template(`<div><span>`);
3609
4246
  var DatePickerContext = solidJs.createContext({
3610
4247
  currentDate: () => /* @__PURE__ */ new Date(),
3611
4248
  setCurrentDate: () => {
@@ -3644,7 +4281,7 @@ var DatePicker = (props) => {
3644
4281
  maxDays: () => props.maxDays
3645
4282
  },
3646
4283
  get children() {
3647
- var _el$ = _tmpl$55();
4284
+ var _el$ = _tmpl$59();
3648
4285
  web.spread(_el$, web.mergeProps({
3649
4286
  get ["class"]() {
3650
4287
  return style("datePicker", cn("nt-p-2", local.class));
@@ -3664,6 +4301,13 @@ var DatePickerHeader = (props) => {
3664
4301
  currentDate,
3665
4302
  maxDays
3666
4303
  } = useDatePicker();
4304
+ useAppearance();
4305
+ const prevIconClass = style("datePickerControlPrevTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700", {
4306
+ iconKey: "arrowLeft"
4307
+ });
4308
+ const nextIconClass = style("datePickerControlNextTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700", {
4309
+ iconKey: "arrowRight"
4310
+ });
3667
4311
  const handlePrevMonth = () => {
3668
4312
  const date = new Date(viewMonth());
3669
4313
  date.setMonth(date.getMonth() - 1);
@@ -3700,7 +4344,7 @@ var DatePickerHeader = (props) => {
3700
4344
  return view.getFullYear() === maxDate.getFullYear() && view.getMonth() === maxDate.getMonth();
3701
4345
  };
3702
4346
  return (() => {
3703
- var _el$2 = _tmpl$214(), _el$3 = _el$2.firstChild;
4347
+ var _el$2 = _tmpl$216(), _el$3 = _el$2.firstChild;
3704
4348
  web.spread(_el$2, web.mergeProps({
3705
4349
  get ["class"]() {
3706
4350
  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));
@@ -3718,9 +4362,13 @@ var DatePickerHeader = (props) => {
3718
4362
  },
3719
4363
  "class": "nt-flex nt-justify-center nt-items-center nt-gap-0.5 nt-w-5 nt-h-5 nt-p-0 nt-rounded-md nt-bg-background nt-shadow-[0px_1px_2px_0px_rgba(10,13,20,0.03)]",
3720
4364
  get children() {
3721
- return web.createComponent(ArrowLeft, {
3722
- get ["class"]() {
3723
- return style("datePickerControlPrevTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700");
4365
+ return web.createComponent(IconRendererWrapper, {
4366
+ iconKey: "arrowLeft",
4367
+ "class": prevIconClass,
4368
+ get fallback() {
4369
+ return web.createComponent(ArrowLeft, {
4370
+ "class": prevIconClass
4371
+ });
3724
4372
  }
3725
4373
  });
3726
4374
  }
@@ -3741,9 +4389,13 @@ var DatePickerHeader = (props) => {
3741
4389
  },
3742
4390
  "class": "nt-flex nt-justify-center nt-items-center nt-gap-0.5 nt-w-5 nt-h-5 nt-p-0 nt-rounded-md nt-bg-background nt-shadow-[0px_1px_2px_0px_rgba(10,13,20,0.03)]",
3743
4391
  get children() {
3744
- return web.createComponent(ArrowRight, {
3745
- get ["class"]() {
3746
- return style("datePickerControlNextTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700");
4392
+ return web.createComponent(IconRendererWrapper, {
4393
+ iconKey: "arrowRight",
4394
+ "class": nextIconClass,
4395
+ get fallback() {
4396
+ return web.createComponent(ArrowRight, {
4397
+ "class": nextIconClass
4398
+ });
3747
4399
  }
3748
4400
  });
3749
4401
  }
@@ -3848,7 +4500,7 @@ var DatePickerCalendar = (props) => {
3848
4500
  return days;
3849
4501
  };
3850
4502
  return (() => {
3851
- var _el$8 = _tmpl$55();
4503
+ var _el$8 = _tmpl$59();
3852
4504
  _el$8.$$click = (e) => e.stopPropagation();
3853
4505
  web.spread(_el$8, web.mergeProps({
3854
4506
  get ["class"]() {
@@ -3864,7 +4516,7 @@ var DatePickerCalendar = (props) => {
3864
4516
  })();
3865
4517
  };
3866
4518
  web.delegateEvents(["click"]);
3867
- var _tmpl$56 = /* @__PURE__ */ web.template(`<input>`);
4519
+ var _tmpl$60 = /* @__PURE__ */ web.template(`<input>`);
3868
4520
  var inputVariants = classVarianceAuthority.cva(cn(`focus-visible:nt-outline-none focus-visible:nt-ring-2 focus-visible:nt-rounded-md focus-visible:nt-ring-ring focus-visible:nt-ring-offset-2`), {
3869
4521
  variants: {
3870
4522
  variant: {
@@ -3884,7 +4536,7 @@ var Input = (props) => {
3884
4536
  const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey"]);
3885
4537
  const style = useStyle();
3886
4538
  return (() => {
3887
- var _el$ = _tmpl$56();
4539
+ var _el$ = _tmpl$60();
3888
4540
  web.spread(_el$, web.mergeProps({
3889
4541
  get ["data-variant"]() {
3890
4542
  return props.variant;
@@ -3904,7 +4556,7 @@ var Input = (props) => {
3904
4556
  };
3905
4557
 
3906
4558
  // src/ui/components/primitives/TimePicker.tsx
3907
- var _tmpl$57 = /* @__PURE__ */ web.template(`<div><span>:</span><select><option value=AM>AM</option><option value=PM>PM`);
4559
+ var _tmpl$61 = /* @__PURE__ */ web.template(`<div><span>:</span><select><option value=AM>AM</option><option value=PM>PM`);
3908
4560
  var TimePicker = (props) => {
3909
4561
  const [local, rest] = solidJs.splitProps(props, ["value", "onChange", "class", "appearanceKey"]);
3910
4562
  const style = useStyle();
@@ -3944,7 +4596,7 @@ var TimePicker = (props) => {
3944
4596
  }
3945
4597
  };
3946
4598
  return (() => {
3947
- var _el$ = _tmpl$57(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
4599
+ var _el$ = _tmpl$61(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
3948
4600
  _el$.$$click = (e) => e.stopPropagation();
3949
4601
  web.spread(_el$, web.mergeProps({
3950
4602
  get ["class"]() {
@@ -4032,7 +4684,7 @@ var enforceMinMax = (el) => {
4032
4684
  web.delegateEvents(["click"]);
4033
4685
 
4034
4686
  // src/ui/components/Notification/SnoozeDateTimePicker.tsx
4035
- var _tmpl$58 = /* @__PURE__ */ web.template(`<div><div><p></p></div><div>`);
4687
+ var _tmpl$62 = /* @__PURE__ */ web.template(`<div><div><p></p></div><div>`);
4036
4688
  var fiveMinutesFromNow = () => {
4037
4689
  const futureTime = new Date(Date.now() + 5 * 60 * 1e3);
4038
4690
  const hours = futureTime.getHours();
@@ -4129,7 +4781,7 @@ var SnoozeDateTimePicker = (props) => {
4129
4781
  return t("snooze.datePicker.noDateSelectedTooltip");
4130
4782
  });
4131
4783
  return (() => {
4132
- var _el$ = _tmpl$58(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling;
4784
+ var _el$ = _tmpl$62(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling;
4133
4785
  _el$.$$click = (e) => e.stopPropagation();
4134
4786
  web.insert(_el$, web.createComponent(DatePicker, {
4135
4787
  onDateChange: (date) => setSelectedDate(date),
@@ -4214,8 +4866,8 @@ var SnoozeDateTimePicker = (props) => {
4214
4866
  web.delegateEvents(["click"]);
4215
4867
 
4216
4868
  // src/ui/components/Notification/NotificationActions.tsx
4217
- var _tmpl$59 = /* @__PURE__ */ web.template(`<div><span>`);
4218
- var _tmpl$215 = /* @__PURE__ */ web.template(`<span>`);
4869
+ var _tmpl$63 = /* @__PURE__ */ web.template(`<div><span>`);
4870
+ var _tmpl$217 = /* @__PURE__ */ web.template(`<span>`);
4219
4871
  var SNOOZE_PRESETS = [{
4220
4872
  key: "snooze.options.anHourFromNow",
4221
4873
  hours: 1,
@@ -4257,11 +4909,18 @@ var formatSnoozeOption = (preset, t, locale) => {
4257
4909
  };
4258
4910
  var SnoozeDropdownItem = (props) => {
4259
4911
  const style = useStyle();
4912
+ const snoozeItemIconClass = style("notificationSnooze__dropdownItem__icon", "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2", {
4913
+ iconKey: "clock"
4914
+ });
4260
4915
  const content = [(() => {
4261
- var _el$ = _tmpl$59(), _el$2 = _el$.firstChild;
4262
- web.insert(_el$, web.createComponent(Clock, {
4263
- get ["class"]() {
4264
- return style("notificationSnooze__dropdownItem__icon", "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2");
4916
+ var _el$ = _tmpl$63(), _el$2 = _el$.firstChild;
4917
+ web.insert(_el$, web.createComponent(IconRendererWrapper, {
4918
+ iconKey: "clock",
4919
+ "class": snoozeItemIconClass,
4920
+ get fallback() {
4921
+ return web.createComponent(Clock, {
4922
+ "class": snoozeItemIconClass
4923
+ });
4265
4924
  }
4266
4925
  }), _el$2);
4267
4926
  web.insert(_el$2, () => props.label);
@@ -4276,7 +4935,7 @@ var SnoozeDropdownItem = (props) => {
4276
4935
  });
4277
4936
  return _el$;
4278
4937
  })(), (() => {
4279
- var _el$3 = _tmpl$215();
4938
+ var _el$3 = _tmpl$217();
4280
4939
  web.insert(_el$3, () => props.time);
4281
4940
  web.effect(() => web.className(_el$3, style("dropdownItemRight__icon", "nt-text-foreground-alpha-300 nt-ml-2 nt-text-xs")));
4282
4941
  return _el$3;
@@ -4304,6 +4963,9 @@ var ReadButton = (props) => {
4304
4963
  const {
4305
4964
  t
4306
4965
  } = useLocalization();
4966
+ const readIconClass = style("notificationRead__icon", "nt-size-3", {
4967
+ iconKey: "markAsRead"
4968
+ });
4307
4969
  return web.createComponent(Tooltip.Root, {
4308
4970
  get children() {
4309
4971
  return [web.createComponent(Tooltip.Trigger, {
@@ -4317,9 +4979,13 @@ var ReadButton = (props) => {
4317
4979
  yield props.notification.read();
4318
4980
  }),
4319
4981
  get children() {
4320
- return web.createComponent(MarkAsRead, {
4321
- get ["class"]() {
4322
- return style("notificationRead__icon", "nt-size-3");
4982
+ return web.createComponent(IconRendererWrapper, {
4983
+ iconKey: "markAsRead",
4984
+ "class": readIconClass,
4985
+ get fallback() {
4986
+ return web.createComponent(MarkAsRead, {
4987
+ "class": readIconClass
4988
+ });
4323
4989
  }
4324
4990
  });
4325
4991
  }
@@ -4338,6 +5004,9 @@ var UnreadButton = (props) => {
4338
5004
  const {
4339
5005
  t
4340
5006
  } = useLocalization();
5007
+ const unreadIconClass = style("notificationUnread__icon", "nt-size-3", {
5008
+ iconKey: "markAsUnread"
5009
+ });
4341
5010
  return web.createComponent(Tooltip.Root, {
4342
5011
  get children() {
4343
5012
  return [web.createComponent(Tooltip.Trigger, {
@@ -4351,9 +5020,13 @@ var UnreadButton = (props) => {
4351
5020
  yield props.notification.unread();
4352
5021
  }),
4353
5022
  get children() {
4354
- return web.createComponent(MarkAsUnread, {
4355
- get ["class"]() {
4356
- return style("notificationUnread__icon", "nt-size-3");
5023
+ return web.createComponent(IconRendererWrapper, {
5024
+ iconKey: "markAsUnread",
5025
+ "class": unreadIconClass,
5026
+ get fallback() {
5027
+ return web.createComponent(MarkAsUnread, {
5028
+ "class": unreadIconClass
5029
+ });
4357
5030
  }
4358
5031
  });
4359
5032
  }
@@ -4372,6 +5045,9 @@ var ArchiveButton = (props) => {
4372
5045
  const {
4373
5046
  t
4374
5047
  } = useLocalization();
5048
+ const archiveIconClass = style("notificationArchive__icon", "nt-size-3", {
5049
+ iconKey: "markAsArchived"
5050
+ });
4375
5051
  return web.createComponent(Tooltip.Root, {
4376
5052
  get children() {
4377
5053
  return [web.createComponent(Tooltip.Trigger, {
@@ -4385,9 +5061,13 @@ var ArchiveButton = (props) => {
4385
5061
  yield props.notification.archive();
4386
5062
  }),
4387
5063
  get children() {
4388
- return web.createComponent(MarkAsArchived, {
4389
- get ["class"]() {
4390
- return style("notificationArchive__icon", "nt-size-3");
5064
+ return web.createComponent(IconRendererWrapper, {
5065
+ iconKey: "markAsArchived",
5066
+ "class": archiveIconClass,
5067
+ get fallback() {
5068
+ return web.createComponent(MarkAsArchived, {
5069
+ "class": archiveIconClass
5070
+ });
4391
5071
  }
4392
5072
  });
4393
5073
  }
@@ -4406,6 +5086,9 @@ var UnarchiveButton = (props) => {
4406
5086
  const {
4407
5087
  t
4408
5088
  } = useLocalization();
5089
+ const unarchiveIconClass = style("notificationArchive__icon", "nt-size-3", {
5090
+ iconKey: "markAsUnarchived"
5091
+ });
4409
5092
  return web.createComponent(Tooltip.Root, {
4410
5093
  get children() {
4411
5094
  return [web.createComponent(Tooltip.Trigger, {
@@ -4419,9 +5102,13 @@ var UnarchiveButton = (props) => {
4419
5102
  yield props.notification.unarchive();
4420
5103
  }),
4421
5104
  get children() {
4422
- return web.createComponent(MarkAsUnarchived, {
4423
- get ["class"]() {
4424
- return style("notificationArchive__icon", "nt-size-3");
5105
+ return web.createComponent(IconRendererWrapper, {
5106
+ iconKey: "markAsUnarchived",
5107
+ "class": unarchiveIconClass,
5108
+ get fallback() {
5109
+ return web.createComponent(MarkAsUnarchived, {
5110
+ "class": unarchiveIconClass
5111
+ });
4425
5112
  }
4426
5113
  });
4427
5114
  }
@@ -4440,6 +5127,9 @@ var UnsnoozeButton = (props) => {
4440
5127
  const {
4441
5128
  t
4442
5129
  } = useLocalization();
5130
+ const unsnoozeIconClass = style("notificationUnsnooze__icon", "nt-size-3", {
5131
+ iconKey: "unsnooze"
5132
+ });
4443
5133
  return web.createComponent(Tooltip.Root, {
4444
5134
  get children() {
4445
5135
  return [web.createComponent(Tooltip.Trigger, {
@@ -4453,9 +5143,13 @@ var UnsnoozeButton = (props) => {
4453
5143
  yield props.notification.unsnooze();
4454
5144
  }),
4455
5145
  get children() {
4456
- return web.createComponent(Unsnooze, {
4457
- get ["class"]() {
4458
- return style("notificationUnsnooze__icon", "nt-size-3");
5146
+ return web.createComponent(IconRendererWrapper, {
5147
+ iconKey: "unsnooze",
5148
+ "class": unsnoozeIconClass,
5149
+ get fallback() {
5150
+ return web.createComponent(Unsnooze, {
5151
+ "class": unsnoozeIconClass
5152
+ });
4459
5153
  }
4460
5154
  });
4461
5155
  }
@@ -4479,6 +5173,9 @@ var SnoozeButton = (props) => {
4479
5173
  maxSnoozeDurationHours
4480
5174
  } = useInboxContext();
4481
5175
  const [isSnoozeDateTimePickerOpen, setIsSnoozeDateTimePickerOpen] = solidJs.createSignal(false);
5176
+ const snoozeButtonIconClass = style("notificationSnooze__icon", "nt-size-3", {
5177
+ iconKey: "clock"
5178
+ });
4482
5179
  const availableSnoozePresets = solidJs.createMemo(() => {
4483
5180
  if (!maxSnoozeDurationHours()) return SNOOZE_PRESETS;
4484
5181
  return SNOOZE_PRESETS.filter((preset) => preset.hours <= maxSnoozeDurationHours());
@@ -4500,9 +5197,13 @@ var SnoozeButton = (props) => {
4500
5197
  (_a = popoverProps.onClick) == null ? void 0 : _a.call(popoverProps, e);
4501
5198
  },
4502
5199
  get children() {
4503
- return web.createComponent(Snooze, {
4504
- get ["class"]() {
4505
- return style("notificationSnooze__icon", "nt-size-3");
5200
+ return web.createComponent(IconRendererWrapper, {
5201
+ iconKey: "clock",
5202
+ "class": snoozeButtonIconClass,
5203
+ get fallback() {
5204
+ return web.createComponent(Clock, {
5205
+ "class": snoozeButtonIconClass
5206
+ });
4506
5207
  }
4507
5208
  });
4508
5209
  }
@@ -4609,8 +5310,8 @@ var renderNotificationActions = (notification, status) => {
4609
5310
  };
4610
5311
 
4611
5312
  // src/ui/components/Notification/DefaultNotification.tsx
4612
- var _tmpl$60 = /* @__PURE__ */ web.template(`<img>`);
4613
- var _tmpl$216 = /* @__PURE__ */ web.template(`<div>`);
5313
+ var _tmpl$64 = /* @__PURE__ */ web.template(`<img>`);
5314
+ var _tmpl$218 = /* @__PURE__ */ web.template(`<div>`);
4614
5315
  var _tmpl$311 = /* @__PURE__ */ web.template(`<span>`);
4615
5316
  var _tmpl$410 = /* @__PURE__ */ web.template(`<a><div><div></div><div></div><div>`);
4616
5317
  var DefaultNotification = (props) => {
@@ -4624,6 +5325,12 @@ var DefaultNotification = (props) => {
4624
5325
  status
4625
5326
  } = useInboxContext();
4626
5327
  const [minutesPassed, setMinutesPassed] = solidJs.createSignal(0);
5328
+ const deliveredAtIconClass = style("notificationDeliveredAt__icon", "nt-size-3", {
5329
+ iconKey: "clock"
5330
+ });
5331
+ const snoozedUntilIconClass = style("notificationSnoozedUntil__icon", "nt-size-3", {
5332
+ iconKey: "clock"
5333
+ });
4627
5334
  const createdAt = solidJs.createMemo(() => {
4628
5335
  minutesPassed();
4629
5336
  return formatToRelativeTime({
@@ -4689,13 +5396,13 @@ var DefaultNotification = (props) => {
4689
5396
  },
4690
5397
  get fallback() {
4691
5398
  return (() => {
4692
- var _el$9 = _tmpl$216();
5399
+ var _el$9 = _tmpl$218();
4693
5400
  web.effect(() => web.className(_el$9, style("notificationImageLoadingFallback", "nt-size-8 nt-rounded-lg nt-shrink-0 nt-aspect-square")));
4694
5401
  return _el$9;
4695
5402
  })();
4696
5403
  },
4697
5404
  get children() {
4698
- var _el$2 = _tmpl$60();
5405
+ var _el$2 = _tmpl$64();
4699
5406
  web.effect((_p$) => {
4700
5407
  var _v$ = style("notificationImage", "nt-size-8 nt-rounded-lg nt-object-cover nt-aspect-square"), _v$2 = props.notification.avatar;
4701
5408
  _v$ !== _p$.e && web.className(_el$2, _p$.e = _v$);
@@ -4719,7 +5426,7 @@ var DefaultNotification = (props) => {
4719
5426
  },
4720
5427
  children: (subject) => web.createComponent(Markdown_default, {
4721
5428
  appearanceKey: "notificationSubject",
4722
- "class": "nt-text-start nt-font-medium",
5429
+ "class": "nt-text-start nt-font-medium nt-whitespace-pre-wrap [word-break:break-word]",
4723
5430
  strongAppearanceKey: "notificationSubject__strong",
4724
5431
  get children() {
4725
5432
  return subject();
@@ -4739,7 +5446,7 @@ var DefaultNotification = (props) => {
4739
5446
  return web.createComponent(Markdown_default, {
4740
5447
  appearanceKey: "notificationBody",
4741
5448
  strongAppearanceKey: "notificationBody__strong",
4742
- "class": "nt-text-start nt-whitespace-pre-wrap nt-text-foreground-alpha-600",
5449
+ "class": "nt-text-start nt-whitespace-pre-wrap nt-text-foreground-alpha-600 [word-break:break-word]",
4743
5450
  get children() {
4744
5451
  return props.notification.body;
4745
5452
  }
@@ -4755,7 +5462,7 @@ var DefaultNotification = (props) => {
4755
5462
  return props.notification.primaryAction || props.notification.secondaryAction;
4756
5463
  },
4757
5464
  get children() {
4758
- var _el$6 = _tmpl$216();
5465
+ var _el$6 = _tmpl$218();
4759
5466
  web.insert(_el$6, web.createComponent(solidJs.Show, {
4760
5467
  get when() {
4761
5468
  return props.notification.primaryAction;
@@ -4824,9 +5531,13 @@ var DefaultNotification = (props) => {
4824
5531
  return web.createComponent(Badge, {
4825
5532
  appearanceKey: "notificationDeliveredAt__badge",
4826
5533
  get children() {
4827
- return [web.createComponent(Clock, {
4828
- get ["class"]() {
4829
- return style("notificationDeliveredAt__icon", "nt-size-3");
5534
+ return [web.createComponent(IconRendererWrapper, {
5535
+ iconKey: "clock",
5536
+ "class": deliveredAtIconClass,
5537
+ get fallback() {
5538
+ return web.createComponent(Clock, {
5539
+ "class": deliveredAtIconClass
5540
+ });
4830
5541
  }
4831
5542
  }), date];
4832
5543
  }
@@ -4838,9 +5549,13 @@ var DefaultNotification = (props) => {
4838
5549
  })
4839
5550
  });
4840
5551
  },
4841
- children: (snoozedUntil2) => [web.createComponent(Clock, {
4842
- get ["class"]() {
4843
- return style("notificationSnoozedUntil__icon", "nt-size-3");
5552
+ children: (snoozedUntil2) => [web.createComponent(IconRendererWrapper, {
5553
+ iconKey: "clock",
5554
+ "class": snoozedUntilIconClass,
5555
+ get fallback() {
5556
+ return web.createComponent(Clock, {
5557
+ "class": snoozedUntilIconClass
5558
+ });
4844
5559
  }
4845
5560
  }), web.memo(() => t("notification.snoozedUntil")), " \xB7 ", web.memo(snoozedUntil2)]
4846
5561
  }));
@@ -4938,14 +5653,14 @@ var NewMessagesCta = (props) => {
4938
5653
  }
4939
5654
  });
4940
5655
  };
4941
- var _tmpl$61 = /* @__PURE__ */ web.template(`<div>`);
5656
+ var _tmpl$65 = /* @__PURE__ */ web.template(`<div>`);
4942
5657
  var NotificationListSkeleton = (props) => {
4943
5658
  const style = useStyle();
4944
5659
  const {
4945
5660
  t
4946
5661
  } = useLocalization();
4947
5662
  return (() => {
4948
- var _el$ = _tmpl$61();
5663
+ var _el$ = _tmpl$65();
4949
5664
  web.insert(_el$, web.createComponent(Motion.div, {
4950
5665
  get animate() {
4951
5666
  return {
@@ -4984,7 +5699,7 @@ var NotificationListSkeleton = (props) => {
4984
5699
  appearanceKey: "notificationList__skeletonAvatar",
4985
5700
  "class": "nt-w-8 nt-h-8 nt-rounded-full nt-bg-neutral-alpha-100"
4986
5701
  }), (() => {
4987
- var _el$3 = _tmpl$61();
5702
+ var _el$3 = _tmpl$65();
4988
5703
  web.insert(_el$3, web.createComponent(SkeletonText, {
4989
5704
  appearanceKey: "notificationList__skeletonText",
4990
5705
  "class": "nt-h-2 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded"
@@ -4998,7 +5713,7 @@ var NotificationListSkeleton = (props) => {
4998
5713
  })()];
4999
5714
  }
5000
5715
  }))), (() => {
5001
- var _el$2 = _tmpl$61();
5716
+ var _el$2 = _tmpl$65();
5002
5717
  web.effect(() => web.className(_el$2, style("notificationListEmptyNoticeOverlay", "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background")));
5003
5718
  return _el$2;
5004
5719
  })()];
@@ -5043,10 +5758,10 @@ var NotificationListSkeleton = (props) => {
5043
5758
  };
5044
5759
 
5045
5760
  // src/ui/components/Notification/NotificationList.tsx
5046
- var _tmpl$62 = /* @__PURE__ */ web.template(`<div>`);
5047
- var _tmpl$217 = /* @__PURE__ */ web.template(`<div><div>`);
5761
+ var _tmpl$66 = /* @__PURE__ */ web.template(`<div>`);
5762
+ var _tmpl$219 = /* @__PURE__ */ web.template(`<div><div>`);
5048
5763
  var NotificationList = (props) => {
5049
- var _a, _b;
5764
+ var _a, _b, _c, _d;
5050
5765
  const options = solidJs.createMemo(() => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, props.filter), {
5051
5766
  limit: props.limit
5052
5767
  }));
@@ -5065,7 +5780,8 @@ var NotificationList = (props) => {
5065
5780
  reset: resetNewMessagesCount
5066
5781
  } = useNewMessagesCount({
5067
5782
  filter: {
5068
- tags: (_b = (_a = props.filter) == null ? void 0 : _a.tags) != null ? _b : []
5783
+ tags: (_b = (_a = props.filter) == null ? void 0 : _a.tags) != null ? _b : [],
5784
+ data: (_d = (_c = props.filter) == null ? void 0 : _c.data) != null ? _d : {}
5069
5785
  }
5070
5786
  });
5071
5787
  const {
@@ -5087,7 +5803,7 @@ var NotificationList = (props) => {
5087
5803
  });
5088
5804
  });
5089
5805
  return (() => {
5090
- var _el$ = _tmpl$217(), _el$2 = _el$.firstChild;
5806
+ var _el$ = _tmpl$219(), _el$2 = _el$.firstChild;
5091
5807
  web.insert(_el$, web.createComponent(NewMessagesCta, {
5092
5808
  get count() {
5093
5809
  return count();
@@ -5144,7 +5860,7 @@ var NotificationList = (props) => {
5144
5860
  return !end();
5145
5861
  },
5146
5862
  get children() {
5147
- var _el$3 = _tmpl$62();
5863
+ var _el$3 = _tmpl$66();
5148
5864
  web.use(setEl, _el$3);
5149
5865
  web.insert(_el$3, web.createComponent(NotificationListSkeleton, {
5150
5866
  loading: true
@@ -5166,26 +5882,28 @@ var NotificationList = (props) => {
5166
5882
  return _el$;
5167
5883
  })();
5168
5884
  };
5169
- var _tmpl$63 = /* @__PURE__ */ web.template(`<span>`);
5885
+ var _tmpl$67 = /* @__PURE__ */ web.template(`<span>`);
5170
5886
  var getDisplayCount = (count) => count >= 100 ? "99+" : count;
5171
5887
  var InboxTabUnreadNotificationsCount = (props) => {
5172
5888
  const style = useStyle();
5173
5889
  const displayCount = solidJs.createMemo(() => getDisplayCount(props.count));
5174
5890
  return (() => {
5175
- var _el$ = _tmpl$63();
5891
+ var _el$ = _tmpl$67();
5176
5892
  web.insert(_el$, displayCount);
5177
5893
  web.effect(() => web.className(_el$, style("notificationsTabsTriggerCount", "nt-rounded-full nt-bg-counter nt-px-[6px] nt-text-counter-foreground nt-text-sm")));
5178
5894
  return _el$;
5179
5895
  })();
5180
5896
  };
5181
5897
  var InboxTab = (props) => {
5898
+ var _a;
5182
5899
  const {
5183
5900
  status
5184
5901
  } = useInboxContext();
5185
5902
  const style = useStyle();
5186
5903
  const unreadCount = useUnreadCount({
5187
5904
  filter: {
5188
- tags: getTagsFromTab(props)
5905
+ tags: getTagsFromTab(props),
5906
+ data: (_a = props.filter) == null ? void 0 : _a.data
5189
5907
  }
5190
5908
  });
5191
5909
  return web.createComponent(Tabs.Trigger, {
@@ -5197,7 +5915,7 @@ var InboxTab = (props) => {
5197
5915
  },
5198
5916
  get children() {
5199
5917
  return [(() => {
5200
- var _el$2 = _tmpl$63();
5918
+ var _el$2 = _tmpl$67();
5201
5919
  web.insert(_el$2, () => props.label);
5202
5920
  web.effect(() => web.className(_el$2, style("notificationsTabsTriggerLabel", "nt-text-sm nt-font-medium")));
5203
5921
  return _el$2;
@@ -5217,13 +5935,15 @@ var InboxTab = (props) => {
5217
5935
  });
5218
5936
  };
5219
5937
  var InboxDropdownTab = (props) => {
5938
+ var _a;
5220
5939
  const {
5221
5940
  status
5222
5941
  } = useInboxContext();
5223
5942
  const style = useStyle();
5224
5943
  const unreadCount = useUnreadCount({
5225
5944
  filter: {
5226
- tags: getTagsFromTab(props)
5945
+ tags: getTagsFromTab(props),
5946
+ data: (_a = props.filter) == null ? void 0 : _a.data
5227
5947
  }
5228
5948
  });
5229
5949
  return web.createComponent(Dropdown.Item, {
@@ -5235,7 +5955,7 @@ var InboxDropdownTab = (props) => {
5235
5955
  },
5236
5956
  get children() {
5237
5957
  return [(() => {
5238
- var _el$3 = _tmpl$63();
5958
+ var _el$3 = _tmpl$67();
5239
5959
  web.insert(_el$3, () => props.label);
5240
5960
  web.effect(() => web.className(_el$3, style("moreTabs__dropdownItemLabel", "nt-mr-auto")));
5241
5961
  return _el$3;
@@ -5273,19 +5993,33 @@ var InboxTabs = (props) => {
5273
5993
  tabs: props.tabs
5274
5994
  });
5275
5995
  const dropdownTabsUnreadCounts = useUnreadCounts({
5276
- filters: dropdownTabs().map((tab) => ({
5277
- tags: getTagsFromTab(tab)
5278
- }))
5996
+ filters: dropdownTabs().map((tab) => {
5997
+ var _a;
5998
+ return {
5999
+ tags: getTagsFromTab(tab),
6000
+ data: (_a = tab.filter) == null ? void 0 : _a.data
6001
+ };
6002
+ })
6003
+ });
6004
+ const checkIconClass = style("moreTabs__dropdownItemRight__icon", "nt-size-3", {
6005
+ iconKey: "check"
5279
6006
  });
5280
6007
  const options = solidJs.createMemo(() => dropdownTabs().map((tab) => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, tab), {
5281
- rightIcon: tab.label === activeTab() ? web.createComponent(Check, {
5282
- get ["class"]() {
5283
- return style("moreTabs__dropdownItemRight__icon", "nt-size-3");
6008
+ rightIcon: tab.label === activeTab() ? web.createComponent(IconRendererWrapper, {
6009
+ iconKey: "check",
6010
+ "class": checkIconClass,
6011
+ get fallback() {
6012
+ return web.createComponent(Check, {
6013
+ "class": checkIconClass
6014
+ });
5284
6015
  }
5285
6016
  }) : void 0
5286
6017
  })));
5287
6018
  const dropdownTabsUnreadSum = solidJs.createMemo(() => dropdownTabsUnreadCounts().reduce((accumulator, currentValue) => accumulator + currentValue, 0));
5288
6019
  const isTabsDropdownActive = solidJs.createMemo(() => dropdownTabs().map((tab) => tab.label).includes(activeTab()));
6020
+ const moreTabsIconClass = style("moreTabs__icon", "nt-size-5", {
6021
+ iconKey: "arrowDown"
6022
+ });
5289
6023
  return web.createComponent(Tabs.Root, {
5290
6024
  appearanceKey: "notificationsTabs__tabsRoot",
5291
6025
  "class": "nt-flex nt-flex-col nt-flex-1 nt-min-h-0",
@@ -5338,9 +6072,13 @@ var InboxTabs = (props) => {
5338
6072
  return cn(tabsDropdownTriggerVariants(), "nt-ml-auto", isTabsDropdownActive() ? "after:nt-border-b-primary" : "after:nt-border-b-transparent nt-text-foreground-alpha-700");
5339
6073
  },
5340
6074
  get children() {
5341
- return [web.createComponent(ArrowDown, {
5342
- get ["class"]() {
5343
- return style("moreTabs__icon", "nt-size-5");
6075
+ return [web.createComponent(IconRendererWrapper, {
6076
+ iconKey: "arrowDown",
6077
+ "class": moreTabsIconClass,
6078
+ get fallback() {
6079
+ return web.createComponent(ArrowDown, {
6080
+ "class": moreTabsIconClass
6081
+ });
5344
6082
  }
5345
6083
  }), web.createComponent(solidJs.Show, {
5346
6084
  get when() {
@@ -5404,8 +6142,10 @@ var InboxTabs = (props) => {
5404
6142
  return props.onSecondaryActionClick;
5405
6143
  },
5406
6144
  get filter() {
6145
+ var _a;
5407
6146
  return chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, filter()), {
5408
- tags: getTagsFromTab(tab)
6147
+ tags: getTagsFromTab(tab),
6148
+ data: (_a = tab.filter) == null ? void 0 : _a.data
5409
6149
  });
5410
6150
  }
5411
6151
  });
@@ -5416,13 +6156,16 @@ var InboxTabs = (props) => {
5416
6156
  };
5417
6157
 
5418
6158
  // src/ui/components/Inbox.tsx
5419
- var _tmpl$64 = /* @__PURE__ */ web.template(`<div>`);
6159
+ var _tmpl$68 = /* @__PURE__ */ web.template(`<div>`);
5420
6160
  var InboxPage = /* @__PURE__ */ function(InboxPage2) {
5421
6161
  InboxPage2["Notifications"] = "notifications";
5422
6162
  InboxPage2["Preferences"] = "preferences";
5423
6163
  return InboxPage2;
5424
6164
  }({});
5425
6165
  var InboxContent = (props) => {
6166
+ const {
6167
+ isDevelopmentMode
6168
+ } = useInboxContext();
5426
6169
  const [currentPage, setCurrentPage] = solidJs.createSignal(props.initialPage || InboxPage.Notifications);
5427
6170
  const {
5428
6171
  tabs,
@@ -5438,7 +6181,7 @@ var InboxContent = (props) => {
5438
6181
  };
5439
6182
  });
5440
6183
  return (() => {
5441
- var _el$ = _tmpl$64();
6184
+ var _el$ = _tmpl$68();
5442
6185
  web.insert(_el$, web.createComponent(solidJs.Switch, {
5443
6186
  get children() {
5444
6187
  return [web.createComponent(solidJs.Match, {
@@ -5522,7 +6265,10 @@ var InboxContent = (props) => {
5522
6265
  }
5523
6266
  }), null);
5524
6267
  web.insert(_el$, web.createComponent(Footer, {}), null);
5525
- web.effect(() => web.className(_el$, style("inboxContent", "nt-h-full nt-flex nt-flex-col")));
6268
+ web.effect(() => web.className(_el$, style("inboxContent", cn("nt-h-full nt-flex nt-flex-col [&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8", {
6269
+ "[&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8": isDevelopmentMode(),
6270
+ "[&_.nv-preferencesContainer]:nt-pb-4 [&_.nv-notificationList]:nt-pb-4": !isDevelopmentMode()
6271
+ }))));
5526
6272
  return _el$;
5527
6273
  })();
5528
6274
  };
@@ -5669,18 +6415,20 @@ var novuComponents = {
5669
6415
  var Renderer = (props) => {
5670
6416
  const nodes = () => [...props.nodes.keys()];
5671
6417
  solidJs.onMount(() => {
5672
- const id = "novu-default-css";
5673
- const el = document.getElementById(id);
6418
+ var _a;
6419
+ const id = NOVU_DEFAULT_CSS_ID;
6420
+ const root = props.container instanceof ShadowRoot ? props.container : document;
6421
+ const el = root.getElementById(id);
5674
6422
  if (el) {
5675
6423
  return;
5676
6424
  }
5677
6425
  const styleEl = document.createElement("style");
5678
6426
  styleEl.id = id;
5679
- document.head.insertBefore(styleEl, document.head.firstChild);
5680
6427
  styleEl.innerHTML = ui_default;
6428
+ const stylesContainer = (_a = props.container) != null ? _a : document.head;
6429
+ stylesContainer.insertBefore(styleEl, stylesContainer.firstChild);
5681
6430
  solidJs.onCleanup(() => {
5682
- const element = document.getElementById(id);
5683
- element == null ? void 0 : element.remove();
6431
+ styleEl.remove();
5684
6432
  });
5685
6433
  });
5686
6434
  return web.createComponent(NovuProvider, {
@@ -5703,6 +6451,9 @@ var Renderer = (props) => {
5703
6451
  get appearance() {
5704
6452
  return props.appearance;
5705
6453
  },
6454
+ get container() {
6455
+ return props.container;
6456
+ },
5706
6457
  get children() {
5707
6458
  return web.createComponent(FocusManagerProvider, {
5708
6459
  get children() {
@@ -5713,6 +6464,9 @@ var Renderer = (props) => {
5713
6464
  get preferencesFilter() {
5714
6465
  return props.preferencesFilter;
5715
6466
  },
6467
+ get preferenceGroups() {
6468
+ return props.preferenceGroups;
6469
+ },
5716
6470
  get routerPush() {
5717
6471
  return props.routerPush;
5718
6472
  },
@@ -5766,11 +6520,13 @@ var Renderer = (props) => {
5766
6520
  };
5767
6521
 
5768
6522
  // src/ui/novuUI.tsx
5769
- var _dispose, _rootElement, _mountedElements, _setMountedElements, _appearance, _setAppearance, _localization, _setLocalization, _options, _setOptions, _tabs, _setTabs, _routerPush, _setRouterPush, _preferencesFilter, _setPreferencesFilter, _predefinedNovu, _NovuUI_instances, mountComponentRenderer_fn, updateComponentProps_fn;
6523
+ var _dispose, _container, _setContainer, _rootElement, _mountedElements, _setMountedElements, _appearance, _setAppearance, _localization, _setLocalization, _options, _setOptions, _tabs, _setTabs, _routerPush, _setRouterPush, _preferencesFilter, _setPreferencesFilter, _preferenceGroups, _setPreferenceGroups, _predefinedNovu, _NovuUI_instances, getContainerElement_fn, mountComponentRenderer_fn, updateComponentProps_fn;
5770
6524
  var NovuUI = class {
5771
6525
  constructor(props) {
5772
6526
  chunk7B52C2XE_js.__privateAdd(this, _NovuUI_instances);
5773
6527
  chunk7B52C2XE_js.__privateAdd(this, _dispose, null);
6528
+ chunk7B52C2XE_js.__privateAdd(this, _container);
6529
+ chunk7B52C2XE_js.__privateAdd(this, _setContainer);
5774
6530
  chunk7B52C2XE_js.__privateAdd(this, _rootElement);
5775
6531
  chunk7B52C2XE_js.__privateAdd(this, _mountedElements);
5776
6532
  chunk7B52C2XE_js.__privateAdd(this, _setMountedElements);
@@ -5786,6 +6542,8 @@ var NovuUI = class {
5786
6542
  chunk7B52C2XE_js.__privateAdd(this, _setRouterPush);
5787
6543
  chunk7B52C2XE_js.__privateAdd(this, _preferencesFilter);
5788
6544
  chunk7B52C2XE_js.__privateAdd(this, _setPreferencesFilter);
6545
+ chunk7B52C2XE_js.__privateAdd(this, _preferenceGroups);
6546
+ chunk7B52C2XE_js.__privateAdd(this, _setPreferenceGroups);
5789
6547
  chunk7B52C2XE_js.__privateAdd(this, _predefinedNovu);
5790
6548
  var _a;
5791
6549
  this.id = generateRandomString(16);
@@ -5795,7 +6553,9 @@ var NovuUI = class {
5795
6553
  const [mountedElements, setMountedElements] = solidJs.createSignal(/* @__PURE__ */ new Map());
5796
6554
  const [tabs, setTabs] = solidJs.createSignal((_a = props.tabs) != null ? _a : []);
5797
6555
  const [preferencesFilter, setPreferencesFilter] = solidJs.createSignal(props.preferencesFilter);
6556
+ const [preferenceGroups, setPreferenceGroups] = solidJs.createSignal(props.preferenceGroups);
5798
6557
  const [routerPush, setRouterPush] = solidJs.createSignal(props.routerPush);
6558
+ const [container, setContainer] = solidJs.createSignal(chunk7B52C2XE_js.__privateMethod(this, _NovuUI_instances, getContainerElement_fn).call(this, props.container));
5799
6559
  chunk7B52C2XE_js.__privateSet(this, _mountedElements, mountedElements);
5800
6560
  chunk7B52C2XE_js.__privateSet(this, _setMountedElements, setMountedElements);
5801
6561
  chunk7B52C2XE_js.__privateSet(this, _appearance, appearance);
@@ -5811,6 +6571,10 @@ var NovuUI = class {
5811
6571
  chunk7B52C2XE_js.__privateSet(this, _predefinedNovu, props.novu);
5812
6572
  chunk7B52C2XE_js.__privateSet(this, _preferencesFilter, preferencesFilter);
5813
6573
  chunk7B52C2XE_js.__privateSet(this, _setPreferencesFilter, setPreferencesFilter);
6574
+ chunk7B52C2XE_js.__privateSet(this, _preferenceGroups, preferenceGroups);
6575
+ chunk7B52C2XE_js.__privateSet(this, _setPreferenceGroups, setPreferenceGroups);
6576
+ chunk7B52C2XE_js.__privateSet(this, _container, container);
6577
+ chunk7B52C2XE_js.__privateSet(this, _setContainer, setContainer);
5814
6578
  chunk7B52C2XE_js.__privateMethod(this, _NovuUI_instances, mountComponentRenderer_fn).call(this);
5815
6579
  }
5816
6580
  mountComponent({
@@ -5852,9 +6616,15 @@ var NovuUI = class {
5852
6616
  updatePreferencesFilter(preferencesFilter) {
5853
6617
  chunk7B52C2XE_js.__privateGet(this, _setPreferencesFilter).call(this, preferencesFilter);
5854
6618
  }
6619
+ updatePreferenceGroups(preferenceGroups) {
6620
+ chunk7B52C2XE_js.__privateGet(this, _setPreferenceGroups).call(this, preferenceGroups);
6621
+ }
5855
6622
  updateRouterPush(routerPush) {
5856
6623
  chunk7B52C2XE_js.__privateGet(this, _setRouterPush).call(this, () => routerPush);
5857
6624
  }
6625
+ updateContainer(container) {
6626
+ chunk7B52C2XE_js.__privateGet(this, _setContainer).call(this, chunk7B52C2XE_js.__privateMethod(this, _NovuUI_instances, getContainerElement_fn).call(this, container));
6627
+ }
5858
6628
  unmount() {
5859
6629
  var _a, _b;
5860
6630
  (_a = chunk7B52C2XE_js.__privateGet(this, _dispose)) == null ? void 0 : _a.call(this);
@@ -5863,6 +6633,8 @@ var NovuUI = class {
5863
6633
  }
5864
6634
  };
5865
6635
  _dispose = new WeakMap();
6636
+ _container = new WeakMap();
6637
+ _setContainer = new WeakMap();
5866
6638
  _rootElement = new WeakMap();
5867
6639
  _mountedElements = new WeakMap();
5868
6640
  _setMountedElements = new WeakMap();
@@ -5878,15 +6650,28 @@ _routerPush = new WeakMap();
5878
6650
  _setRouterPush = new WeakMap();
5879
6651
  _preferencesFilter = new WeakMap();
5880
6652
  _setPreferencesFilter = new WeakMap();
6653
+ _preferenceGroups = new WeakMap();
6654
+ _setPreferenceGroups = new WeakMap();
5881
6655
  _predefinedNovu = new WeakMap();
5882
6656
  _NovuUI_instances = new WeakSet();
6657
+ getContainerElement_fn = function(container) {
6658
+ var _a;
6659
+ if (container === null || container === void 0) {
6660
+ return container;
6661
+ }
6662
+ if (typeof container === "string") {
6663
+ return (_a = document.querySelector(container)) != null ? _a : document.getElementById(container);
6664
+ }
6665
+ return container;
6666
+ };
5883
6667
  mountComponentRenderer_fn = function() {
5884
6668
  if (chunk7B52C2XE_js.__privateGet(this, _dispose) !== null) {
5885
6669
  return;
5886
6670
  }
5887
6671
  chunk7B52C2XE_js.__privateSet(this, _rootElement, document.createElement("div"));
5888
6672
  chunk7B52C2XE_js.__privateGet(this, _rootElement).setAttribute("id", `novu-ui-${this.id}`);
5889
- document.body.appendChild(chunk7B52C2XE_js.__privateGet(this, _rootElement));
6673
+ const container = chunk7B52C2XE_js.__privateGet(this, _container).call(this);
6674
+ (container != null ? container : document.body).appendChild(chunk7B52C2XE_js.__privateGet(this, _rootElement));
5890
6675
  const dispose = web.render(() => {
5891
6676
  const _self$ = this;
5892
6677
  return web.createComponent(Renderer, {
@@ -5915,12 +6700,20 @@ mountComponentRenderer_fn = function() {
5915
6700
  var _a;
5916
6701
  return chunk7B52C2XE_js.__privateGet(_a = _self$, _preferencesFilter).call(_a);
5917
6702
  },
6703
+ get preferenceGroups() {
6704
+ var _a;
6705
+ return chunk7B52C2XE_js.__privateGet(_a = _self$, _preferenceGroups).call(_a);
6706
+ },
5918
6707
  get routerPush() {
5919
6708
  var _a;
5920
6709
  return chunk7B52C2XE_js.__privateGet(_a = _self$, _routerPush).call(_a);
5921
6710
  },
5922
6711
  get novu() {
5923
6712
  return chunk7B52C2XE_js.__privateGet(_self$, _predefinedNovu);
6713
+ },
6714
+ get container() {
6715
+ var _a;
6716
+ return chunk7B52C2XE_js.__privateGet(_a = _self$, _container).call(_a);
5924
6717
  }
5925
6718
  });
5926
6719
  }, chunk7B52C2XE_js.__privateGet(this, _rootElement));