@novu/js 3.3.1 → 3.4.0

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,8 +1,8 @@
1
- import { Novu, isSameFilter } from '../chunk-JKFCSXQM.mjs';
1
+ import { Novu, isSameFilter } from '../chunk-LVZEXMKC.mjs';
2
2
  import { parseMarkdownIntoTokens } from '../chunk-GPV65U5R.mjs';
3
- import { __privateAdd, __privateSet, __privateMethod, __privateGet, __spreadProps, __spreadValues, __objRest, __async } from '../chunk-STZMOEWR.mjs';
3
+ import { __privateAdd, __privateMethod, __privateSet, __privateGet, __spreadProps, __spreadValues, __objRest, __async } from '../chunk-STZMOEWR.mjs';
4
4
  import { delegateEvents, createComponent, mergeProps, render, Portal as Portal$1, spread, template, insert, memo, effect, className, use, setAttribute, Dynamic } from 'solid-js/web';
5
- import { createSignal, createContext, useContext, onMount, onCleanup, For, createMemo, createEffect, splitProps, Show, Switch as Switch$1, Match, createResource, batch } from 'solid-js';
5
+ import { createSignal, createContext, useContext, onMount, onCleanup, For, createMemo, createEffect, splitProps, Show, Switch as Switch$1, Match, createResource, Index, batch } from 'solid-js';
6
6
  import { createStore } from 'solid-js/store';
7
7
  import clsx from 'clsx';
8
8
  import { extendTailwindMerge } from 'tailwind-merge';
@@ -11,8 +11,8 @@ import { autoUpdate, offset, flip, shift } from '@floating-ui/dom';
11
11
  import { useFloating } from 'solid-floating-ui';
12
12
  import { Motion as Motion$1 } from 'solid-motionone';
13
13
 
14
- // _4rw53wtx5:/Users/adamchmara/projects/novu/packages/js/src/ui/index.directcss
15
- var ui_default = `.novu{scrollbar-color:var(--nv-color-secondary-foreground-alpha-300) #0000;:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{border:0 solid #e5e7eb;box-sizing:border-box}:where(html,:host){line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}:where(body){line-height:inherit;margin:0}:where(hr){border-top-width:1px;color:inherit;height:0}:where(abbr:where([title])){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(a){color:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small){font-size:80%}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:initial}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button]),input:where([type=reset]),input:where([type=submit])){-webkit-appearance:button;background-color:initial;background-image:none}:where(:-moz-focusring){outline:auto}:where(:-moz-ui-invalid){box-shadow:none}:where(progress){vertical-align:initial}:where(*)::-webkit-inner-spin-button,:where(*)::-webkit-outer-spin-button{height:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(*)::-webkit-search-decoration{-webkit-appearance:none}:where(*)::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre){margin:0}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(ol,ul,menu){list-style:none;margin:0;padding:0}:where(dialog){padding:0}:where(textarea){resize:vertical}:where(input)::placeholder,:where(textarea)::placeholder{color:#9ca3af;opacity:1}:where(button,[role=button]){cursor:pointer}:where(:disabled){cursor:default}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block;vertical-align:middle}:where(img,video){height:auto;max-width:100%}:where([hidden]){display:none}:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(*) ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-thumb{background-clip:"padding-box";background-color:var(--nv-color-secondary-foreground-alpha-300);border-radius:.25rem}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background-color:initial}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}}.nt-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.\\!nt-pointer-events-auto{pointer-events:auto!important}.nt-invisible{visibility:hidden}.nt-absolute{position:absolute}.nt-relative{position:relative}.nt-inset-0{inset:0}.nt-inset-2{inset:.5rem}.nt-left-0\\.5{left:.125rem}.nt-right-0{right:0}.nt-right-3{right:.75rem}.nt-top-0{top:0}.nt-top-0\\.5{top:.125rem}.nt-top-3{top:.75rem}.nt-z-10{z-index:10}.nt-z-\\[-1\\]{z-index:-1}.nt-mx-auto{margin-left:auto;margin-right:auto}.nt-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}`;
14
+ // _0ama3ua28:/Users/pavlotymchuk/projects/js/novu-2/packages/js/src/ui/index.directcss
15
+ var ui_default = `.novu{scrollbar-color:var(--nv-color-secondary-foreground-alpha-300) #0000;:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{border:0 solid #e5e7eb;box-sizing:border-box}:where(html,:host){line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}:where(body){line-height:inherit;margin:0}:where(hr){border-top-width:1px;color:inherit;height:0}:where(abbr:where([title])){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(a){color:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small){font-size:80%}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:initial}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button]),input:where([type=reset]),input:where([type=submit])){-webkit-appearance:button;background-color:initial;background-image:none}:where(:-moz-focusring){outline:auto}:where(:-moz-ui-invalid){box-shadow:none}:where(progress){vertical-align:initial}:where(*)::-webkit-inner-spin-button,:where(*)::-webkit-outer-spin-button{height:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(*)::-webkit-search-decoration{-webkit-appearance:none}:where(*)::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre){margin:0}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(ol,ul,menu){list-style:none;margin:0;padding:0}:where(dialog){padding:0}:where(textarea){resize:vertical}:where(input)::placeholder,:where(textarea)::placeholder{color:#9ca3af;opacity:1}:where(button,[role=button]){cursor:pointer}:where(:disabled){cursor:default}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block;vertical-align:middle}:where(img,video){height:auto;max-width:100%}:where([hidden]){display:none}:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(*) ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-thumb{background-clip:"padding-box";background-color:var(--nv-color-secondary-foreground-alpha-300);border-radius:.25rem}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background-color:initial}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}}.nt-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.\\!nt-pointer-events-auto{pointer-events:auto!important}.nt-invisible{visibility:hidden}.nt-absolute{position:absolute}.nt-relative{position:relative}.nt-inset-0{inset:0}.nt-inset-2{inset:.5rem}.nt-left-0\\.5{left:.125rem}.nt-right-0{right:0}.nt-right-3{right:.75rem}.nt-top-0{top:0}.nt-top-0\\.5{top:.125rem}.nt-top-3{top:.75rem}.nt-z-10{z-index:10}.nt-z-\\[-1\\]{z-index:-1}.nt-mx-auto{margin-left:auto;margin-right:auto}.nt-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}`;
16
16
 
17
17
  // src/ui/config/appearanceKeys.ts
18
18
  var appearanceKeys = [
@@ -166,12 +166,27 @@ var appearanceKeys = [
166
166
  "workflowContainer",
167
167
  "workflowLabel",
168
168
  "workflowLabelHeader",
169
+ "workflowLabelHeaderContainer",
170
+ "workflowLabelIcon",
169
171
  "workflowLabelContainer",
170
172
  "workflowContainerDisabledNotice",
171
173
  "workflowLabelDisabled__icon",
172
174
  "workflowContainerRight__icon",
173
175
  "workflowArrow__icon",
174
176
  "workflowDescription",
177
+ // preference groups
178
+ "preferencesGroupContainer",
179
+ "preferencesGroupHeader",
180
+ "preferencesGroupLabelContainer",
181
+ "preferencesGroupLabelIcon",
182
+ "preferencesGroupLabel",
183
+ "preferencesGroupActionsContainer",
184
+ "preferencesGroupActionsContainerRight__icon",
185
+ "preferencesGroupBody",
186
+ "preferencesGroupChannels",
187
+ "preferencesGroupInfo",
188
+ "preferencesGroupInfoIcon",
189
+ "preferencesGroupWorkflows",
175
190
  // channel
176
191
  "channelContainer",
177
192
  "channelIconContainer",
@@ -239,6 +254,7 @@ var defaultLocalization = {
239
254
  "preferences.global": "Global Preferences",
240
255
  "preferences.workflow.disabled.notice": "Contact admin to enable subscription management for this critical notification.",
241
256
  "preferences.workflow.disabled.tooltip": "Contact admin to edit",
257
+ "preferences.group.info": "Applies to all notifications under this group.",
242
258
  "snooze.datePicker.timePickerLabel": "Time",
243
259
  "snooze.datePicker.apply": "Apply",
244
260
  "snooze.datePicker.cancel": "Cancel",
@@ -621,6 +637,7 @@ var getTagsFromTab = (tab) => {
621
637
  var _a;
622
638
  return ((_a = tab == null ? void 0 : tab.filter) == null ? void 0 : _a.tags) || (tab == null ? void 0 : tab.value) || [];
623
639
  };
640
+ var NOVU_DEFAULT_CSS_ID = "novu-default-css";
624
641
 
625
642
  // src/ui/helpers/useStyle.ts
626
643
  var useStyle = () => {
@@ -629,46 +646,51 @@ var useStyle = () => {
629
646
  onMount(() => {
630
647
  setIsServer(false);
631
648
  });
632
- const styleFuncMemo = createMemo(() => (appearanceKey, className) => {
633
- const appearanceKeyParts = appearanceKey.split("__");
634
- let finalAppearanceKeys = [];
635
- for (let i = 0; i < appearanceKeyParts.length; i += 1) {
636
- const accumulated = appearanceKeyParts.slice(i).join("__");
637
- if (appearanceKeys.includes(accumulated)) {
638
- finalAppearanceKeys.push(accumulated);
649
+ const styleFuncMemo = createMemo(
650
+ () => (appearanceKey, className, {
651
+ iconKey
652
+ } = {}) => {
653
+ const appearanceKeyParts = appearanceKey.split("__");
654
+ let finalAppearanceKeys = [];
655
+ for (let i = 0; i < appearanceKeyParts.length; i += 1) {
656
+ const accumulated = appearanceKeyParts.slice(i).join("__");
657
+ if (appearanceKeys.includes(accumulated)) {
658
+ finalAppearanceKeys.push(accumulated);
659
+ }
639
660
  }
640
- }
641
- const classes = (className == null ? void 0 : className.split(/\s+/).map((className2) => className2.replace(/^nv-/, ""))) || [];
642
- const appearanceKeysInClasses = classes.filter(
643
- (className2) => appearanceKeys.includes(className2)
644
- );
645
- finalAppearanceKeys = Array.from(
646
- /* @__PURE__ */ new Set([...finalAppearanceKeys, ...appearanceKeysInClasses])
647
- );
648
- finalAppearanceKeys.sort((a, b) => {
649
- const countA = (a.match(/__/g) || []).length;
650
- const countB = (b.match(/__/g) || []).length;
651
- return countB - countA;
652
- });
653
- const finalClassName = classes.filter((className2) => !finalAppearanceKeys.includes(className2)).join(" ");
654
- let appearanceClassnames = [];
655
- const reversedFinalAppearanceKeys = finalAppearanceKeys.reverse();
656
- for (let i = 0; i < reversedFinalAppearanceKeys.length; i += 1) {
657
- if (typeof appearance.elements()[reversedFinalAppearanceKeys[i]] === "string") {
658
- appearanceClassnames.push(appearance.elements()[reversedFinalAppearanceKeys[i]]);
661
+ const classes = (className == null ? void 0 : className.split(/\s+/).map((className2) => className2.replace(/^nv-/, ""))) || [];
662
+ const appearanceKeysInClasses = classes.filter(
663
+ (className2) => appearanceKeys.includes(className2)
664
+ );
665
+ finalAppearanceKeys = Array.from(
666
+ /* @__PURE__ */ new Set([...finalAppearanceKeys, ...appearanceKeysInClasses])
667
+ );
668
+ finalAppearanceKeys.sort((a, b) => {
669
+ const countA = (a.match(/__/g) || []).length;
670
+ const countB = (b.match(/__/g) || []).length;
671
+ return countB - countA;
672
+ });
673
+ const finalClassName = classes.filter((className2) => !finalAppearanceKeys.includes(className2)).join(" ");
674
+ let appearanceClassnames = [];
675
+ const reversedFinalAppearanceKeys = finalAppearanceKeys.reverse();
676
+ for (let i = 0; i < reversedFinalAppearanceKeys.length; i += 1) {
677
+ if (typeof appearance.elements()[reversedFinalAppearanceKeys[i]] === "string") {
678
+ appearanceClassnames.push(appearance.elements()[reversedFinalAppearanceKeys[i]]);
679
+ }
659
680
  }
681
+ appearanceClassnames = [publicFacingTwMerge(appearanceClassnames)];
682
+ const cssInJsClasses = !!finalAppearanceKeys.length && !isServer() ? finalAppearanceKeys.map((appKey) => appearance.appearanceKeyToCssInJsClass[appKey]) : [];
683
+ return cn(
684
+ ...finalAppearanceKeys.map((key) => `nv-${key}`),
685
+ "\u{1F514}",
686
+ iconKey ? `nv-${iconKey} \u{1F5BC}\uFE0F` : "",
687
+ finalClassName,
688
+ // default styles
689
+ appearanceClassnames,
690
+ ...cssInJsClasses
691
+ );
660
692
  }
661
- appearanceClassnames = [publicFacingTwMerge(appearanceClassnames)];
662
- const cssInJsClasses = !!finalAppearanceKeys.length && !isServer() ? finalAppearanceKeys.map((appKey) => appearance.appearanceKeyToCssInJsClass[appKey]) : [];
663
- return cn(
664
- ...finalAppearanceKeys.map((key) => `nv-${key}`),
665
- "\u{1F514}",
666
- finalClassName,
667
- // default styles
668
- appearanceClassnames,
669
- ...cssInJsClasses
670
- );
671
- });
693
+ );
672
694
  return styleFuncMemo();
673
695
  };
674
696
  function useUncontrolledState(props) {
@@ -702,26 +724,36 @@ var AppearanceProvider = (props) => {
702
724
  var _a, _b;
703
725
  return (_b = (_a = props.appearance) == null ? void 0 : _a.animations) != null ? _b : true;
704
726
  };
727
+ const icons = () => {
728
+ var _a;
729
+ return ((_a = props.appearance) == null ? void 0 : _a.icons) || {};
730
+ };
705
731
  const allElements = createMemo(() => {
706
732
  var _a;
707
733
  const baseElements = themes().reduce((acc, obj) => __spreadValues(__spreadValues({}, acc), obj.elements || {}), {});
708
734
  return __spreadValues(__spreadValues({}, baseElements), ((_a = props.appearance) == null ? void 0 : _a.elements) || {});
709
735
  });
736
+ const container = () => props.container;
710
737
  onMount(() => {
711
- const el = document.getElementById(props.id);
738
+ var _a;
739
+ const root = props.container instanceof ShadowRoot ? props.container : document;
740
+ const el = root.getElementById(props.id);
712
741
  if (el) {
713
742
  setStyleElement(el);
714
743
  return;
715
744
  }
745
+ const stylesContainer = (_a = props.container) != null ? _a : document.head;
716
746
  const styleEl = document.createElement("style");
717
747
  styleEl.id = props.id;
718
- document.head.appendChild(styleEl);
748
+ const defaultCssStyles = root.getElementById(NOVU_DEFAULT_CSS_ID);
749
+ if (defaultCssStyles) {
750
+ stylesContainer.insertBefore(styleEl, defaultCssStyles.nextSibling);
751
+ } else {
752
+ stylesContainer.appendChild(styleEl);
753
+ }
719
754
  setStyleElement(styleEl);
720
755
  onCleanup(() => {
721
- const element = document.getElementById(props.id);
722
- if (element) {
723
- element.remove();
724
- }
756
+ styleEl.remove();
725
757
  });
726
758
  });
727
759
  createEffect(() => {
@@ -757,10 +789,12 @@ var AppearanceProvider = (props) => {
757
789
  return {
758
790
  elements: allElements,
759
791
  variables,
792
+ animations,
793
+ icons,
760
794
  appearanceKeyToCssInJsClass: store.appearanceKeyToCssInJsClass,
761
795
  // stores are reactive
762
- animations,
763
- id
796
+ id,
797
+ container
764
798
  };
765
799
  },
766
800
  get children() {
@@ -932,6 +966,7 @@ var InboxProvider = (props) => {
932
966
  const [maxSnoozeDurationHours, setMaxSnoozeDurationHours] = createSignal(0);
933
967
  const isSnoozeEnabled = createMemo(() => maxSnoozeDurationHours() > 0);
934
968
  const [preferencesFilter, setPreferencesFilter] = createSignal(props.preferencesFilter);
969
+ const [preferenceGroups, setPreferenceGroups] = createSignal(props.preferenceGroups);
935
970
  const setNewStatus = (newStatus) => {
936
971
  setStatus(newStatus);
937
972
  setFilter((old) => __spreadProps(__spreadValues({}, STATUS_TO_FILTER[newStatus]), {
@@ -976,6 +1011,7 @@ var InboxProvider = (props) => {
976
1011
  tags
977
1012
  }));
978
1013
  setPreferencesFilter(props.preferencesFilter);
1014
+ setPreferenceGroups(props.preferenceGroups);
979
1015
  });
980
1016
  useNovuEvent({
981
1017
  event: "session.initialize.resolved",
@@ -1005,6 +1041,7 @@ var InboxProvider = (props) => {
1005
1041
  navigate,
1006
1042
  hideBranding,
1007
1043
  preferencesFilter,
1044
+ preferenceGroups,
1008
1045
  isDevelopmentMode,
1009
1046
  maxSnoozeDurationHours,
1010
1047
  isSnoozeEnabled
@@ -1237,6 +1274,7 @@ var useUnreadCounts = (props) => {
1237
1274
  return counts;
1238
1275
  };
1239
1276
  function createFocusTrap({ element, enabled }) {
1277
+ const { container } = useAppearance();
1240
1278
  createEffect(() => {
1241
1279
  const trapElement = element();
1242
1280
  if (!trapElement || !enabled()) return;
@@ -1251,13 +1289,15 @@ function createFocusTrap({ element, enabled }) {
1251
1289
  const focusableElements2 = getFocusableElements();
1252
1290
  const firstFocusableElement = focusableElements2[0];
1253
1291
  const lastFocusableElement = focusableElements2[focusableElements2.length - 1];
1292
+ const containerElement = container();
1293
+ const root = containerElement instanceof ShadowRoot ? containerElement : document;
1254
1294
  if (event.shiftKey) {
1255
- if (document.activeElement === firstFocusableElement) {
1295
+ if (root.activeElement === firstFocusableElement) {
1256
1296
  lastFocusableElement.focus();
1257
1297
  event.preventDefault();
1258
1298
  }
1259
1299
  } else {
1260
- if (document.activeElement === lastFocusableElement) {
1300
+ if (root.activeElement === lastFocusableElement) {
1261
1301
  firstFocusableElement.focus();
1262
1302
  event.preventDefault();
1263
1303
  }
@@ -1344,144 +1384,203 @@ var ArrowLeft = (props) => {
1344
1384
  return _el$;
1345
1385
  })();
1346
1386
  };
1347
- var _tmpl$4 = /* @__PURE__ */ template(`<svg viewBox="0 0 10 12"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5 12C5.6875 12 6.25 11.4462 6.25 10.7692H3.75C3.75 11.4462 4.3125 12 5 12ZM8.75 8.30769V5.23077C8.75 3.34154 7.73125 1.76 5.9375 1.34154V0.923077C5.9375 0.412308 5.51875 0 5 0C4.48125 0 4.0625 0.412308 4.0625 0.923077V1.34154C2.275 1.76 1.25 3.33538 1.25 5.23077V8.30769L0 9.53846V10.1538H10V9.53846L8.75 8.30769ZM7.5 8.92308H2.5V5.23077C2.5 3.70462 3.44375 2.46154 5 2.46154C6.55625 2.46154 7.5 3.70462 7.5 5.23077V8.92308Z"fill=currentColor>`);
1348
- function Bell(props) {
1387
+ var _tmpl$4 = /* @__PURE__ */ 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>`);
1388
+ var ArrowRight = (props) => {
1349
1389
  return (() => {
1350
1390
  var _el$ = _tmpl$4();
1351
1391
  spread(_el$, props, true, true);
1352
1392
  return _el$;
1353
1393
  })();
1354
- }
1355
- var _tmpl$5 = /* @__PURE__ */ 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>`);
1356
- var Chat = (props) => {
1394
+ };
1395
+ var _tmpl$5 = /* @__PURE__ */ 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>`);
1396
+ var ArrowDown = (props) => {
1357
1397
  return (() => {
1358
1398
  var _el$ = _tmpl$5();
1359
1399
  spread(_el$, props, true, true);
1360
1400
  return _el$;
1361
1401
  })();
1362
1402
  };
1363
- var _tmpl$6 = /* @__PURE__ */ 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>`);
1364
- var Check = (props) => {
1403
+ var _tmpl$6 = /* @__PURE__ */ template(`<svg viewBox="0 0 10 12"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5 12C5.6875 12 6.25 11.4462 6.25 10.7692H3.75C3.75 11.4462 4.3125 12 5 12ZM8.75 8.30769V5.23077C8.75 3.34154 7.73125 1.76 5.9375 1.34154V0.923077C5.9375 0.412308 5.51875 0 5 0C4.48125 0 4.0625 0.412308 4.0625 0.923077V1.34154C2.275 1.76 1.25 3.33538 1.25 5.23077V8.30769L0 9.53846V10.1538H10V9.53846L8.75 8.30769ZM7.5 8.92308H2.5V5.23077C2.5 3.70462 3.44375 2.46154 5 2.46154C6.55625 2.46154 7.5 3.70462 7.5 5.23077V8.92308Z"fill=currentColor>`);
1404
+ function Bell(props) {
1365
1405
  return (() => {
1366
1406
  var _el$ = _tmpl$6();
1367
1407
  spread(_el$, props, true, true);
1368
1408
  return _el$;
1369
1409
  })();
1370
- };
1371
- var _tmpl$7 = /* @__PURE__ */ 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">`);
1372
- var Dots = (props) => {
1410
+ }
1411
+ var _tmpl$7 = /* @__PURE__ */ 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>`);
1412
+ var Chat = (props) => {
1373
1413
  return (() => {
1374
1414
  var _el$ = _tmpl$7();
1375
1415
  spread(_el$, props, true, true);
1376
1416
  return _el$;
1377
1417
  })();
1378
1418
  };
1379
- var _tmpl$8 = /* @__PURE__ */ 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>`);
1380
- var Email = (props) => {
1419
+ var _tmpl$8 = /* @__PURE__ */ 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>`);
1420
+ var Check = (props) => {
1381
1421
  return (() => {
1382
1422
  var _el$ = _tmpl$8();
1383
1423
  spread(_el$, props, true, true);
1384
1424
  return _el$;
1385
1425
  })();
1386
1426
  };
1387
- var _tmpl$9 = /* @__PURE__ */ 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>`);
1388
- var InApp = (props) => {
1427
+ var _tmpl$9 = /* @__PURE__ */ 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>`);
1428
+ var Clock = (props) => {
1389
1429
  return (() => {
1390
1430
  var _el$ = _tmpl$9();
1391
1431
  spread(_el$, props, true, true);
1392
1432
  return _el$;
1393
1433
  })();
1394
1434
  };
1395
- var _tmpl$10 = /* @__PURE__ */ 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>`);
1396
- var MarkAsArchived = (props) => {
1435
+ var _tmpl$10 = /* @__PURE__ */ 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">`);
1436
+ var Dots = (props) => {
1397
1437
  return (() => {
1398
1438
  var _el$ = _tmpl$10();
1399
1439
  spread(_el$, props, true, true);
1400
1440
  return _el$;
1401
1441
  })();
1402
1442
  };
1403
- var _tmpl$11 = /* @__PURE__ */ 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>`);
1404
- var MarkAsArchivedRead = (props) => {
1443
+ var _tmpl$11 = /* @__PURE__ */ 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>`);
1444
+ var Email = (props) => {
1405
1445
  return (() => {
1406
1446
  var _el$ = _tmpl$11();
1407
1447
  spread(_el$, props, true, true);
1408
1448
  return _el$;
1409
1449
  })();
1410
1450
  };
1411
- var _tmpl$12 = /* @__PURE__ */ 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)">`);
1412
- var MarkAsRead = (props) => {
1451
+ var _tmpl$12 = /* @__PURE__ */ 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>`);
1452
+ var InApp = (props) => {
1413
1453
  return (() => {
1414
1454
  var _el$ = _tmpl$12();
1415
1455
  spread(_el$, props, true, true);
1416
1456
  return _el$;
1417
1457
  })();
1418
1458
  };
1419
- var _tmpl$13 = /* @__PURE__ */ 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>`);
1420
- var MarkAsUnarchived = (props) => {
1459
+ var _tmpl$13 = /* @__PURE__ */ 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>`);
1460
+ var MarkAsArchived = (props) => {
1421
1461
  return (() => {
1422
1462
  var _el$ = _tmpl$13();
1423
1463
  spread(_el$, props, true, true);
1424
1464
  return _el$;
1425
1465
  })();
1426
1466
  };
1427
- var _tmpl$14 = /* @__PURE__ */ 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>`);
1428
- var MarkAsUnread = (props) => {
1467
+ var _tmpl$14 = /* @__PURE__ */ 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>`);
1468
+ var MarkAsArchivedRead = (props) => {
1429
1469
  return (() => {
1430
1470
  var _el$ = _tmpl$14();
1431
1471
  spread(_el$, props, true, true);
1432
1472
  return _el$;
1433
1473
  })();
1434
1474
  };
1435
- var _tmpl$15 = /* @__PURE__ */ 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">`);
1436
- var Novu2 = (props) => {
1475
+ var _tmpl$15 = /* @__PURE__ */ 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)">`);
1476
+ var MarkAsRead = (props) => {
1437
1477
  return (() => {
1438
1478
  var _el$ = _tmpl$15();
1439
1479
  spread(_el$, props, true, true);
1440
1480
  return _el$;
1441
1481
  })();
1442
1482
  };
1443
- var _tmpl$16 = /* @__PURE__ */ 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>`);
1444
- var Push = (props) => {
1483
+ var _tmpl$16 = /* @__PURE__ */ 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>`);
1484
+ var MarkAsUnarchived = (props) => {
1445
1485
  return (() => {
1446
1486
  var _el$ = _tmpl$16();
1447
1487
  spread(_el$, props, true, true);
1448
1488
  return _el$;
1449
1489
  })();
1450
1490
  };
1451
- var _tmpl$17 = /* @__PURE__ */ 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>`);
1452
- var Settings = (props) => {
1491
+ var _tmpl$17 = /* @__PURE__ */ 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>`);
1492
+ var MarkAsUnread = (props) => {
1453
1493
  return (() => {
1454
1494
  var _el$ = _tmpl$17();
1455
1495
  spread(_el$, props, true, true);
1456
1496
  return _el$;
1457
1497
  })();
1458
1498
  };
1459
- var _tmpl$18 = /* @__PURE__ */ 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>`);
1460
- var Sms = (props) => {
1499
+ var _tmpl$18 = /* @__PURE__ */ 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">`);
1500
+ var Novu2 = (props) => {
1461
1501
  return (() => {
1462
1502
  var _el$ = _tmpl$18();
1463
1503
  spread(_el$, props, true, true);
1464
1504
  return _el$;
1465
1505
  })();
1466
1506
  };
1467
- var _tmpl$19 = /* @__PURE__ */ 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>`);
1468
- var UnreadRead = (props) => {
1507
+ var _tmpl$19 = /* @__PURE__ */ 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>`);
1508
+ var Push = (props) => {
1469
1509
  return (() => {
1470
1510
  var _el$ = _tmpl$19();
1471
1511
  spread(_el$, props, true, true);
1472
1512
  return _el$;
1473
1513
  })();
1474
1514
  };
1515
+ var _tmpl$20 = /* @__PURE__ */ 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>`);
1516
+ var Cogs = (props) => {
1517
+ return (() => {
1518
+ var _el$ = _tmpl$20();
1519
+ spread(_el$, props, true, true);
1520
+ return _el$;
1521
+ })();
1522
+ };
1523
+ var _tmpl$21 = /* @__PURE__ */ 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>`);
1524
+ var Sms = (props) => {
1525
+ return (() => {
1526
+ var _el$ = _tmpl$21();
1527
+ spread(_el$, props, true, true);
1528
+ return _el$;
1529
+ })();
1530
+ };
1531
+ var _tmpl$22 = /* @__PURE__ */ 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>`);
1532
+ var Unread = (props) => {
1533
+ return (() => {
1534
+ var _el$ = _tmpl$22();
1535
+ spread(_el$, props, true, true);
1536
+ return _el$;
1537
+ })();
1538
+ };
1539
+ var _tmpl$23 = /* @__PURE__ */ 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>`);
1540
+ var Unsnooze = (props) => {
1541
+ return (() => {
1542
+ var _el$ = _tmpl$23();
1543
+ spread(_el$, props, true, true);
1544
+ return _el$;
1545
+ })();
1546
+ };
1547
+ var IconRendererWrapper = (props) => {
1548
+ const appearance = useAppearance();
1549
+ const customRenderer = () => {
1550
+ var _a;
1551
+ return (_a = appearance.icons()) == null ? void 0 : _a[props.iconKey];
1552
+ };
1553
+ return createComponent(Show, {
1554
+ get when() {
1555
+ return customRenderer();
1556
+ },
1557
+ get fallback() {
1558
+ return props.fallback;
1559
+ },
1560
+ get children() {
1561
+ return createComponent(ExternalElementRenderer, {
1562
+ render: (el) => customRenderer()(el, {
1563
+ class: props.class
1564
+ })
1565
+ });
1566
+ }
1567
+ });
1568
+ };
1475
1569
 
1476
1570
  // src/ui/components/elements/Bell/DefaultBellContainer.tsx
1477
- var _tmpl$20 = /* @__PURE__ */ template(`<span>`);
1571
+ var _tmpl$24 = /* @__PURE__ */ template(`<span>`);
1478
1572
  var BellContainer = (props) => {
1479
1573
  const style = useStyle();
1574
+ const bellIconStyle = style("bellIcon", "nt-size-4");
1480
1575
  return (() => {
1481
- var _el$ = _tmpl$20();
1482
- insert(_el$, createComponent(Bell, {
1483
- get ["class"]() {
1484
- return style("bellIcon", "nt-size-4");
1576
+ var _el$ = _tmpl$24();
1577
+ insert(_el$, createComponent(IconRendererWrapper, {
1578
+ iconKey: "bell",
1579
+ "class": bellIconStyle,
1580
+ get fallback() {
1581
+ return createComponent(Bell, {
1582
+ "class": bellIconStyle
1583
+ });
1485
1584
  }
1486
1585
  }), null);
1487
1586
  insert(_el$, createComponent(Show, {
@@ -1489,7 +1588,7 @@ var BellContainer = (props) => {
1489
1588
  return props.unreadCount > 0;
1490
1589
  },
1491
1590
  get children() {
1492
- var _el$2 = _tmpl$20();
1591
+ var _el$2 = _tmpl$24();
1493
1592
  effect(() => className(_el$2, style("bellDot", "nt-absolute nt-top-0 nt-right-0 nt-block nt-size-2 nt-transform nt-bg-counter nt-rounded-full nt-border nt-border-background")));
1494
1593
  return _el$2;
1495
1594
  }
@@ -1529,8 +1628,8 @@ function isBrowser() {
1529
1628
  }
1530
1629
 
1531
1630
  // src/ui/components/elements/Footer.tsx
1532
- var _tmpl$21 = /* @__PURE__ */ template(`<span class="nt-z-10 nt-text-xs nt-text-stripes">Development mode`);
1533
- var _tmpl$22 = /* @__PURE__ */ template(`<span class="nt-z-10 nt-text-xs">\u2022`);
1631
+ var _tmpl$25 = /* @__PURE__ */ template(`<span class="nt-z-10 nt-text-xs nt-text-stripes">Development mode`);
1632
+ var _tmpl$26 = /* @__PURE__ */ template(`<span class="nt-z-10 nt-text-xs">\u2022`);
1534
1633
  var _tmpl$32 = /* @__PURE__ */ template(`<a target=_blank class="nt-z-10 nt-flex nt-items-center nt-gap-1 nt-justify-center"><span class=nt-text-xs>Inbox by</span><span class=nt-text-xs>Novu`);
1535
1634
  var _tmpl$42 = /* @__PURE__ */ template(`<div>`);
1536
1635
  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]`;
@@ -1554,7 +1653,7 @@ var Footer = () => {
1554
1653
  return isDevelopmentMode();
1555
1654
  },
1556
1655
  get children() {
1557
- return _tmpl$21();
1656
+ return _tmpl$25();
1558
1657
  }
1559
1658
  }), null);
1560
1659
  insert(_el$, createComponent(Show, {
@@ -1562,7 +1661,7 @@ var Footer = () => {
1562
1661
  return memo(() => !!isDevelopmentMode())() && !hideBranding();
1563
1662
  },
1564
1663
  get children() {
1565
- return _tmpl$22();
1664
+ return _tmpl$26();
1566
1665
  }
1567
1666
  }), null);
1568
1667
  insert(_el$, createComponent(Show, {
@@ -1594,7 +1693,7 @@ function getCurrentDomain() {
1594
1693
  }
1595
1694
  return "";
1596
1695
  }
1597
- var _tmpl$23 = /* @__PURE__ */ template(`<button>`);
1696
+ var _tmpl$27 = /* @__PURE__ */ template(`<button>`);
1598
1697
  var buttonVariants = 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`), {
1599
1698
  variants: {
1600
1699
  variant: {
@@ -1621,7 +1720,7 @@ var Button = (props) => {
1621
1720
  const [local, rest] = splitProps(props, ["class", "appearanceKey"]);
1622
1721
  const style = useStyle();
1623
1722
  return (() => {
1624
- var _el$ = _tmpl$23();
1723
+ var _el$ = _tmpl$27();
1625
1724
  spread(_el$, mergeProps({
1626
1725
  get ["data-variant"]() {
1627
1726
  return props.variant;
@@ -1639,7 +1738,7 @@ var Button = (props) => {
1639
1738
  return _el$;
1640
1739
  })();
1641
1740
  };
1642
- var _tmpl$24 = /* @__PURE__ */ template(`<button>`);
1741
+ var _tmpl$28 = /* @__PURE__ */ template(`<button>`);
1643
1742
  var PopoverClose = (props) => {
1644
1743
  const {
1645
1744
  onClose
@@ -1661,7 +1760,7 @@ var PopoverClose = (props) => {
1661
1760
  }, rest));
1662
1761
  }
1663
1762
  return (() => {
1664
- var _el$ = _tmpl$24();
1763
+ var _el$ = _tmpl$28();
1665
1764
  _el$.$$click = handleClick;
1666
1765
  spread(_el$, mergeProps({
1667
1766
  get ["class"]() {
@@ -1672,12 +1771,12 @@ var PopoverClose = (props) => {
1672
1771
  })();
1673
1772
  };
1674
1773
  delegateEvents(["click"]);
1675
- var _tmpl$25 = /* @__PURE__ */ template(`<div>`);
1774
+ var _tmpl$29 = /* @__PURE__ */ template(`<div>`);
1676
1775
  var Portal = (props) => {
1677
1776
  const appearance = useAppearance();
1678
1777
  let currentElement;
1679
1778
  return [(() => {
1680
- var _el$ = _tmpl$25();
1779
+ var _el$ = _tmpl$29();
1681
1780
  use((el) => {
1682
1781
  currentElement = el;
1683
1782
  }, _el$);
@@ -1760,7 +1859,7 @@ function usePopover() {
1760
1859
  }
1761
1860
 
1762
1861
  // src/ui/components/primitives/Popover/PopoverContent.tsx
1763
- var _tmpl$26 = /* @__PURE__ */ template(`<div>`);
1862
+ var _tmpl$30 = /* @__PURE__ */ template(`<div>`);
1764
1863
  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");
1765
1864
  var PopoverContentBody = (props) => {
1766
1865
  const {
@@ -1783,7 +1882,7 @@ var PopoverContentBody = (props) => {
1783
1882
  });
1784
1883
  });
1785
1884
  return (() => {
1786
- var _el$ = _tmpl$26();
1885
+ var _el$ = _tmpl$30();
1787
1886
  use(setFloating, _el$);
1788
1887
  spread(_el$, mergeProps({
1789
1888
  get ["class"]() {
@@ -1809,12 +1908,16 @@ var PopoverContent = (props) => {
1809
1908
  const {
1810
1909
  active
1811
1910
  } = useFocusManager();
1911
+ const {
1912
+ container
1913
+ } = useAppearance();
1812
1914
  const handleClickOutside = (e) => {
1813
1915
  var _a, _b;
1814
1916
  if ((_a = reference()) == null ? void 0 : _a.contains(e.target)) {
1815
1917
  return;
1816
1918
  }
1817
- if (active() !== floating() || ((_b = floating()) == null ? void 0 : _b.contains(e.target))) {
1919
+ const containerElement = container();
1920
+ if (active() !== floating() || ((_b = floating()) == null ? void 0 : _b.contains(e.target)) || containerElement && e.target.shadowRoot === containerElement) {
1818
1921
  return;
1819
1922
  }
1820
1923
  onClose();
@@ -1823,16 +1926,20 @@ var PopoverContent = (props) => {
1823
1926
  if (active() !== floating()) {
1824
1927
  return;
1825
1928
  }
1826
- if (e.key === "Escape") {
1929
+ if (e instanceof KeyboardEvent && e.key === "Escape") {
1827
1930
  onClose();
1828
1931
  }
1829
1932
  };
1830
1933
  onMount(() => {
1934
+ var _a;
1831
1935
  document.body.addEventListener("click", handleClickOutside);
1936
+ (_a = container()) == null ? void 0 : _a.addEventListener("click", handleClickOutside);
1832
1937
  document.body.addEventListener("keydown", handleEscapeKey);
1833
1938
  });
1834
1939
  onCleanup(() => {
1940
+ var _a;
1835
1941
  document.body.removeEventListener("click", handleClickOutside);
1942
+ (_a = container()) == null ? void 0 : _a.removeEventListener("click", handleClickOutside);
1836
1943
  document.body.removeEventListener("keydown", handleEscapeKey);
1837
1944
  });
1838
1945
  return createComponent(Show, {
@@ -1860,7 +1967,7 @@ function mergeRefs(...refs) {
1860
1967
  }
1861
1968
 
1862
1969
  // src/ui/components/primitives/Popover/PopoverTrigger.tsx
1863
- var _tmpl$27 = /* @__PURE__ */ template(`<button>`);
1970
+ var _tmpl$31 = /* @__PURE__ */ template(`<button>`);
1864
1971
  var PopoverTrigger = (props) => {
1865
1972
  const {
1866
1973
  setReference,
@@ -1888,7 +1995,7 @@ var PopoverTrigger = (props) => {
1888
1995
  }, rest));
1889
1996
  }
1890
1997
  return (() => {
1891
- var _el$ = _tmpl$27();
1998
+ var _el$ = _tmpl$31();
1892
1999
  _el$.$$click = handleClick;
1893
2000
  var _ref$2 = ref();
1894
2001
  typeof _ref$2 === "function" && use(_ref$2, _el$);
@@ -2027,26 +2134,33 @@ var useKeyboardNavigation = ({
2027
2134
  setActiveTab,
2028
2135
  tabsContainer
2029
2136
  }) => {
2137
+ const { container } = useAppearance();
2030
2138
  const [keyboardNavigation, setKeyboardNavigation] = createSignal(false);
2139
+ const getRoot = () => {
2140
+ const containerElement = container();
2141
+ return containerElement instanceof ShadowRoot ? containerElement : document;
2142
+ };
2031
2143
  createEffect(() => {
2144
+ const root = getRoot();
2032
2145
  const handleTabKey = (event) => {
2033
2146
  var _a;
2034
- if (event.key !== "Tab") {
2147
+ if (!(event instanceof KeyboardEvent) || event.key !== "Tab") {
2035
2148
  return;
2036
2149
  }
2037
2150
  const tabs = (_a = tabsContainer()) == null ? void 0 : _a.querySelectorAll('[role="tab"]');
2038
- if (!tabs || !document.activeElement) {
2151
+ if (!tabs || !root.activeElement) {
2039
2152
  return;
2040
2153
  }
2041
- setKeyboardNavigation(Array.from(tabs).includes(document.activeElement));
2154
+ setKeyboardNavigation(Array.from(tabs).includes(root.activeElement));
2042
2155
  };
2043
- document.addEventListener("keyup", handleTabKey);
2044
- return onCleanup(() => document.removeEventListener("keyup", handleTabKey));
2156
+ root.addEventListener("keyup", handleTabKey);
2157
+ return onCleanup(() => root.removeEventListener("keyup", handleTabKey));
2045
2158
  });
2046
2159
  createEffect(() => {
2160
+ const root = getRoot();
2047
2161
  const handleArrowKeys = (event) => {
2048
2162
  var _a, _b;
2049
- if (!keyboardNavigation() || event.key !== "ArrowLeft" && event.key !== "ArrowRight") {
2163
+ if (!keyboardNavigation() || !(event instanceof KeyboardEvent) || event.key !== "ArrowLeft" && event.key !== "ArrowRight") {
2050
2164
  return;
2051
2165
  }
2052
2166
  const tabElements = Array.from((_b = (_a = tabsContainer()) == null ? void 0 : _a.querySelectorAll('[role="tab"]')) != null ? _b : []);
@@ -2065,13 +2179,13 @@ var useKeyboardNavigation = ({
2065
2179
  tabElements[activeIndex].focus();
2066
2180
  setActiveTab(newTab);
2067
2181
  };
2068
- document.addEventListener("keydown", handleArrowKeys);
2069
- return onCleanup(() => document.removeEventListener("keydown", handleArrowKeys));
2182
+ root.addEventListener("keydown", handleArrowKeys);
2183
+ return onCleanup(() => root.removeEventListener("keydown", handleArrowKeys));
2070
2184
  });
2071
2185
  };
2072
2186
 
2073
2187
  // src/ui/components/primitives/Tabs/TabsRoot.tsx
2074
- var _tmpl$28 = /* @__PURE__ */ template(`<div>`);
2188
+ var _tmpl$33 = /* @__PURE__ */ template(`<div>`);
2075
2189
  var TabsContext = createContext(void 0);
2076
2190
  var useTabsContext = () => {
2077
2191
  const context = useContext(TabsContext);
@@ -2110,7 +2224,7 @@ var TabsRoot = (props) => {
2110
2224
  setVisibleTabs
2111
2225
  },
2112
2226
  get children() {
2113
- var _el$ = _tmpl$28();
2227
+ var _el$ = _tmpl$33();
2114
2228
  use(setTabsContainer, _el$);
2115
2229
  spread(_el$, mergeProps({
2116
2230
  get ["class"]() {
@@ -2124,7 +2238,7 @@ var TabsRoot = (props) => {
2124
2238
  };
2125
2239
 
2126
2240
  // src/ui/components/primitives/Tabs/TabsContent.tsx
2127
- var _tmpl$29 = /* @__PURE__ */ template(`<div role=tabpanel>`);
2241
+ var _tmpl$34 = /* @__PURE__ */ template(`<div role=tabpanel>`);
2128
2242
  var TabsContent = (props) => {
2129
2243
  const [local, rest] = splitProps(props, ["value", "class", "appearanceKey", "children"]);
2130
2244
  const style = useStyle();
@@ -2136,7 +2250,7 @@ var TabsContent = (props) => {
2136
2250
  return activeTab() === local.value;
2137
2251
  },
2138
2252
  get children() {
2139
- var _el$ = _tmpl$29();
2253
+ var _el$ = _tmpl$34();
2140
2254
  spread(_el$, mergeProps({
2141
2255
  get ["class"]() {
2142
2256
  return memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "tabsContent", activeTab() === local.value ? "nt-block" : "nt-hidden");
@@ -2156,14 +2270,14 @@ var TabsContent = (props) => {
2156
2270
  }
2157
2271
  });
2158
2272
  };
2159
- var _tmpl$30 = /* @__PURE__ */ template(`<div role=tablist>`);
2273
+ var _tmpl$35 = /* @__PURE__ */ template(`<div role=tablist>`);
2160
2274
  var _tmpl$210 = /* @__PURE__ */ template(`<div class="nt-relative nt-z-[-1]">`);
2161
2275
  var tabsListVariants = () => "nt-flex nt-gap-6";
2162
2276
  var TabsList = (props) => {
2163
2277
  const [local, rest] = splitProps(props, ["class", "appearanceKey", "ref", "children"]);
2164
2278
  const style = useStyle();
2165
2279
  return [(() => {
2166
- var _el$ = _tmpl$30();
2280
+ var _el$ = _tmpl$35();
2167
2281
  var _ref$ = local.ref;
2168
2282
  typeof _ref$ === "function" ? use(_ref$, _el$) : local.ref = _el$;
2169
2283
  spread(_el$, mergeProps({
@@ -2244,28 +2358,23 @@ var inboxFilterLocalizationKeys = {
2244
2358
  archived: "inbox.filters.labels.archived",
2245
2359
  snoozed: "inbox.filters.labels.snoozed"
2246
2360
  };
2247
- var _tmpl$31 = /* @__PURE__ */ 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>`);
2248
- var Snooze = (props) => {
2249
- return (() => {
2250
- var _el$ = _tmpl$31();
2251
- spread(_el$, props, true, true);
2252
- return _el$;
2253
- })();
2254
- };
2255
-
2256
- // src/ui/components/elements/InboxStatus/InboxStatusOptions.tsx
2257
- var _tmpl$33 = /* @__PURE__ */ template(`<span><span></span><span>`);
2361
+ var _tmpl$36 = /* @__PURE__ */ template(`<span><span>`);
2362
+ var _tmpl$211 = /* @__PURE__ */ template(`<span>`);
2258
2363
  var cases = [{
2259
2364
  status: "unreadRead" /* UNREAD_READ */,
2260
- icon: UnreadRead
2365
+ iconKey: "unread",
2366
+ icon: Unread
2261
2367
  }, {
2262
2368
  status: "unread" /* UNREAD */,
2369
+ iconKey: "unread",
2263
2370
  icon: MarkAsUnread
2264
2371
  }, {
2265
2372
  status: "snoozed" /* SNOOZED */,
2266
- icon: Snooze
2373
+ iconKey: "clock",
2374
+ icon: Clock
2267
2375
  }, {
2268
2376
  status: "archived" /* ARCHIVED */,
2377
+ iconKey: "markAsArchived",
2269
2378
  icon: MarkAsArchived
2270
2379
  }];
2271
2380
  var StatusOptions = (props) => {
@@ -2291,6 +2400,9 @@ var StatusOptions = (props) => {
2291
2400
  },
2292
2401
  get icon() {
2293
2402
  return c.icon;
2403
+ },
2404
+ get iconKey() {
2405
+ return c.iconKey;
2294
2406
  }
2295
2407
  })
2296
2408
  });
@@ -2300,6 +2412,12 @@ var StatusItem = (props) => {
2300
2412
  const {
2301
2413
  t
2302
2414
  } = useLocalization();
2415
+ const itemIconClass = style("inboxStatus__dropdownItemLeft__icon", "nt-size-3", {
2416
+ iconKey: props.iconKey
2417
+ });
2418
+ const checkIconClass = style("inboxStatus__dropdownItemCheck__icon", "nt-size-3", {
2419
+ iconKey: "check"
2420
+ });
2303
2421
  return createComponent(Dropdown.Item, {
2304
2422
  get ["class"]() {
2305
2423
  return style("inboxStatus__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-8 nt-justify-between"));
@@ -2309,21 +2427,32 @@ var StatusItem = (props) => {
2309
2427
  },
2310
2428
  get children() {
2311
2429
  return [(() => {
2312
- var _el$ = _tmpl$33(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
2313
- insert(_el$2, () => props.icon());
2314
- insert(_el$3, () => t(props.localizationKey));
2430
+ var _el$ = _tmpl$36(), _el$2 = _el$.firstChild;
2431
+ insert(_el$, createComponent(IconRendererWrapper, {
2432
+ get iconKey() {
2433
+ return props.iconKey;
2434
+ },
2435
+ "class": itemIconClass,
2436
+ get fallback() {
2437
+ return (() => {
2438
+ var _el$3 = _tmpl$211();
2439
+ className(_el$3, itemIconClass);
2440
+ insert(_el$3, () => props.icon());
2441
+ return _el$3;
2442
+ })();
2443
+ }
2444
+ }), _el$2);
2445
+ insert(_el$2, () => t(props.localizationKey));
2315
2446
  effect((_p$) => {
2316
- 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");
2447
+ 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");
2317
2448
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
2318
- _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
2319
- _v$3 !== _p$.a && setAttribute(_el$3, "data-localization", _p$.a = _v$3);
2320
- _v$4 !== _p$.o && className(_el$3, _p$.o = _v$4);
2449
+ _v$2 !== _p$.t && setAttribute(_el$2, "data-localization", _p$.t = _v$2);
2450
+ _v$3 !== _p$.a && className(_el$2, _p$.a = _v$3);
2321
2451
  return _p$;
2322
2452
  }, {
2323
2453
  e: void 0,
2324
2454
  t: void 0,
2325
- a: void 0,
2326
- o: void 0
2455
+ a: void 0
2327
2456
  });
2328
2457
  return _el$;
2329
2458
  })(), createComponent(Show, {
@@ -2331,9 +2460,13 @@ var StatusItem = (props) => {
2331
2460
  return props.isSelected;
2332
2461
  },
2333
2462
  get children() {
2334
- return createComponent(Check, {
2335
- get ["class"]() {
2336
- return style("inboxStatus__dropdownItemCheck__icon", "nt-size-3");
2463
+ return createComponent(IconRendererWrapper, {
2464
+ iconKey: "check",
2465
+ "class": checkIconClass,
2466
+ get fallback() {
2467
+ return createComponent(Check, {
2468
+ "class": checkIconClass
2469
+ });
2337
2470
  }
2338
2471
  });
2339
2472
  }
@@ -2343,7 +2476,7 @@ var StatusItem = (props) => {
2343
2476
  };
2344
2477
 
2345
2478
  // src/ui/components/elements/InboxStatus/InboxStatusDropdown.tsx
2346
- var _tmpl$34 = /* @__PURE__ */ template(`<span>`);
2479
+ var _tmpl$37 = /* @__PURE__ */ template(`<span>`);
2347
2480
  var StatusDropdown = () => {
2348
2481
  const style = useStyle();
2349
2482
  const {
@@ -2353,6 +2486,9 @@ var StatusDropdown = () => {
2353
2486
  const {
2354
2487
  t
2355
2488
  } = useLocalization();
2489
+ const arrowDropDownIconClass = style("inboxStatus__dropdownItemRight__icon", "nt-text-foreground-alpha-600 nt-size-4", {
2490
+ iconKey: "arrowDropDown"
2491
+ });
2356
2492
  return createComponent(Dropdown.Root, {
2357
2493
  get children() {
2358
2494
  return [createComponent(Dropdown.Trigger, {
@@ -2368,7 +2504,7 @@ var StatusDropdown = () => {
2368
2504
  }, triggerProps, {
2369
2505
  get children() {
2370
2506
  return [(() => {
2371
- var _el$ = _tmpl$34();
2507
+ var _el$ = _tmpl$37();
2372
2508
  insert(_el$, () => t(inboxFilterLocalizationKeys[status()]));
2373
2509
  effect((_p$) => {
2374
2510
  var _v$ = inboxFilterLocalizationKeys[status()], _v$2 = style("inboxStatus__title", "nt-text-base");
@@ -2380,9 +2516,13 @@ var StatusDropdown = () => {
2380
2516
  t: void 0
2381
2517
  });
2382
2518
  return _el$;
2383
- })(), createComponent(ArrowDropDown, {
2384
- get ["class"]() {
2385
- return style("inboxStatus__dropdownItemRight__icon", "nt-text-foreground-alpha-600 nt-size-4");
2519
+ })(), createComponent(IconRendererWrapper, {
2520
+ iconKey: "arrowDropDown",
2521
+ "class": arrowDropDownIconClass,
2522
+ get fallback() {
2523
+ return createComponent(ArrowDropDown, {
2524
+ "class": arrowDropDownIconClass
2525
+ });
2386
2526
  }
2387
2527
  })];
2388
2528
  }
@@ -2513,7 +2653,12 @@ var useReadAll = (props) => {
2513
2653
  };
2514
2654
 
2515
2655
  // src/ui/components/elements/Header/MoreActionsOptions.tsx
2516
- var _tmpl$35 = /* @__PURE__ */ template(`<span>`);
2656
+ var _tmpl$38 = /* @__PURE__ */ template(`<span>`);
2657
+ var iconKeyToComponentMap = {
2658
+ markAsRead: MarkAsRead,
2659
+ markAsArchived: MarkAsArchived,
2660
+ markAsArchivedRead: MarkAsArchivedRead
2661
+ };
2517
2662
  var MoreActionsOptions = () => {
2518
2663
  const {
2519
2664
  filter
@@ -2532,19 +2677,19 @@ var MoreActionsOptions = () => {
2532
2677
  onClick: () => readAll({
2533
2678
  tags: filter().tags
2534
2679
  }),
2535
- icon: MarkAsRead
2680
+ iconKey: "markAsRead"
2536
2681
  }), createComponent(ActionsItem, {
2537
2682
  localizationKey: "notifications.actions.archiveAll",
2538
2683
  onClick: () => archiveAll({
2539
2684
  tags: filter().tags
2540
2685
  }),
2541
- icon: MarkAsArchived
2686
+ iconKey: "markAsArchived"
2542
2687
  }), createComponent(ActionsItem, {
2543
2688
  localizationKey: "notifications.actions.archiveRead",
2544
2689
  onClick: () => archiveAllRead({
2545
2690
  tags: filter().tags
2546
2691
  }),
2547
- icon: MarkAsArchivedRead
2692
+ iconKey: "markAsArchivedRead"
2548
2693
  })];
2549
2694
  };
2550
2695
  var ActionsItem = (props) => {
@@ -2552,6 +2697,10 @@ var ActionsItem = (props) => {
2552
2697
  const {
2553
2698
  t
2554
2699
  } = useLocalization();
2700
+ const DefaultIconComponent = iconKeyToComponentMap[props.iconKey];
2701
+ const moreActionsIconClass = style("moreActions__dropdownItemLeft__icon", "nt-size-3", {
2702
+ iconKey: props.iconKey
2703
+ });
2555
2704
  return createComponent(Dropdown.Item, {
2556
2705
  get ["class"]() {
2557
2706
  return style("moreActions__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-2"));
@@ -2560,24 +2709,29 @@ var ActionsItem = (props) => {
2560
2709
  return props.onClick;
2561
2710
  },
2562
2711
  get children() {
2563
- return [(() => {
2564
- var _el$ = _tmpl$35();
2565
- insert(_el$, () => props.icon());
2566
- effect(() => className(_el$, style("moreActions__dropdownItemLeft__icon", "nt-size-3")));
2567
- return _el$;
2568
- })(), (() => {
2569
- var _el$2 = _tmpl$35();
2570
- insert(_el$2, () => t(props.localizationKey));
2712
+ return [createComponent(IconRendererWrapper, {
2713
+ get iconKey() {
2714
+ return props.iconKey;
2715
+ },
2716
+ "class": moreActionsIconClass,
2717
+ get fallback() {
2718
+ return DefaultIconComponent && DefaultIconComponent({
2719
+ class: moreActionsIconClass
2720
+ });
2721
+ }
2722
+ }), (() => {
2723
+ var _el$ = _tmpl$38();
2724
+ insert(_el$, () => t(props.localizationKey));
2571
2725
  effect((_p$) => {
2572
2726
  var _v$ = props.localizationKey, _v$2 = style("moreActions__dropdownItemLabel", "nt-leading-none");
2573
- _v$ !== _p$.e && setAttribute(_el$2, "data-localization", _p$.e = _v$);
2574
- _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
2727
+ _v$ !== _p$.e && setAttribute(_el$, "data-localization", _p$.e = _v$);
2728
+ _v$2 !== _p$.t && className(_el$, _p$.t = _v$2);
2575
2729
  return _p$;
2576
2730
  }, {
2577
2731
  e: void 0,
2578
2732
  t: void 0
2579
2733
  });
2580
- return _el$2;
2734
+ return _el$;
2581
2735
  })()];
2582
2736
  }
2583
2737
  });
@@ -2589,6 +2743,9 @@ var MoreActionsDropdown = () => {
2589
2743
  const {
2590
2744
  status
2591
2745
  } = useInboxContext();
2746
+ const dotsIconClass = style("moreActions__dots", "nt-size-5", {
2747
+ iconKey: "dots"
2748
+ });
2592
2749
  return createComponent(Show, {
2593
2750
  get when() {
2594
2751
  return memo(() => status() !== "archived" /* ARCHIVED */)() && status() !== "snoozed" /* SNOOZED */;
@@ -2605,9 +2762,13 @@ var MoreActionsDropdown = () => {
2605
2762
  size: "iconSm"
2606
2763
  }, triggerProps, {
2607
2764
  get children() {
2608
- return createComponent(Dots, {
2609
- get ["class"]() {
2610
- return style("moreActions__dots", "nt-size-5");
2765
+ return createComponent(IconRendererWrapper, {
2766
+ iconKey: "dots",
2767
+ "class": dotsIconClass,
2768
+ get fallback() {
2769
+ return createComponent(Dots, {
2770
+ "class": dotsIconClass
2771
+ });
2611
2772
  }
2612
2773
  });
2613
2774
  }
@@ -2625,11 +2786,14 @@ var MoreActionsDropdown = () => {
2625
2786
  };
2626
2787
 
2627
2788
  // src/ui/components/elements/Header/ActionsContainer.tsx
2628
- var _tmpl$36 = /* @__PURE__ */ template(`<div>`);
2789
+ var _tmpl$39 = /* @__PURE__ */ template(`<div>`);
2629
2790
  var ActionsContainer = (props) => {
2630
2791
  const style = useStyle();
2792
+ const cogsIconClass = style("icon", "nt-size-5", {
2793
+ iconKey: "cogs"
2794
+ });
2631
2795
  return (() => {
2632
- var _el$ = _tmpl$36();
2796
+ var _el$ = _tmpl$39();
2633
2797
  insert(_el$, createComponent(MoreActionsDropdown, {}), null);
2634
2798
  insert(_el$, createComponent(Show, {
2635
2799
  get when() {
@@ -2643,9 +2807,13 @@ var ActionsContainer = (props) => {
2643
2807
  return showPreferences();
2644
2808
  },
2645
2809
  get children() {
2646
- return createComponent(Settings, {
2647
- get ["class"]() {
2648
- return style("preferences__icon", "nt-size-5");
2810
+ return createComponent(IconRendererWrapper, {
2811
+ iconKey: "cogs",
2812
+ "class": cogsIconClass,
2813
+ get fallback() {
2814
+ return createComponent(Cogs, {
2815
+ "class": cogsIconClass
2816
+ });
2649
2817
  }
2650
2818
  });
2651
2819
  }
@@ -2657,11 +2825,11 @@ var ActionsContainer = (props) => {
2657
2825
  };
2658
2826
 
2659
2827
  // src/ui/components/elements/Header/Header.tsx
2660
- var _tmpl$37 = /* @__PURE__ */ template(`<div>`);
2828
+ var _tmpl$40 = /* @__PURE__ */ template(`<div>`);
2661
2829
  var Header = (props) => {
2662
2830
  const style = useStyle();
2663
2831
  return (() => {
2664
- var _el$ = _tmpl$37();
2832
+ var _el$ = _tmpl$40();
2665
2833
  insert(_el$, createComponent(StatusDropdown, {}), null);
2666
2834
  insert(_el$, createComponent(ActionsContainer, {
2667
2835
  get showPreferences() {
@@ -2672,7 +2840,7 @@ var Header = (props) => {
2672
2840
  return _el$;
2673
2841
  })();
2674
2842
  };
2675
- var _tmpl$38 = /* @__PURE__ */ template(`<div>`);
2843
+ var _tmpl$41 = /* @__PURE__ */ template(`<div>`);
2676
2844
  var Root = (props) => {
2677
2845
  const [_, rest] = splitProps(props, ["class"]);
2678
2846
  const {
@@ -2688,30 +2856,60 @@ var Root = (props) => {
2688
2856
  },
2689
2857
  children: new Comment(" Powered by Novu - https://novu.co ")
2690
2858
  }), (() => {
2691
- var _el$ = _tmpl$38();
2859
+ var _el$ = _tmpl$41();
2692
2860
  spread(_el$, mergeProps({
2693
2861
  get id() {
2694
2862
  return `novu-root-${id()}`;
2695
2863
  },
2696
2864
  get ["class"]() {
2697
- return style("root"), cn("novu", id(), "nt-text-foreground nt-h-full");
2865
+ return style("root"), cn("novu", id(), "nt-text-foreground nt-h-full [interpolate-size:allow-keywords]");
2698
2866
  }
2699
2867
  }, rest), false, false);
2700
2868
  return _el$;
2701
2869
  })()];
2702
2870
  };
2703
- var _tmpl$39 = /* @__PURE__ */ template(`<div>`);
2871
+ var _tmpl$43 = /* @__PURE__ */ 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>`);
2872
+ var RouteFill = (props) => {
2873
+ return (() => {
2874
+ var _el$ = _tmpl$43();
2875
+ spread(_el$, props, true, true);
2876
+ return _el$;
2877
+ })();
2878
+ };
2879
+ var _tmpl$44 = /* @__PURE__ */ template(`<div><div>`);
2880
+ var isInterpolateSizeSupported = () => {
2881
+ return CSS.supports("interpolate-size", "allow-keywords");
2882
+ };
2704
2883
  var Collapsible = (props) => {
2884
+ const supportsInterpolateSize = isInterpolateSizeSupported();
2705
2885
  const style = useStyle();
2706
2886
  let contentRef;
2707
2887
  const [enableTransition, setEnableTransition] = createSignal(false);
2888
+ const [scrollHeight, setScrollHeight] = createSignal(0);
2889
+ const updateScrollHeight = () => {
2890
+ setScrollHeight((contentRef == null ? void 0 : contentRef.scrollHeight) || 0);
2891
+ };
2708
2892
  createEffect(() => {
2709
2893
  requestAnimationFrame(() => setEnableTransition(true));
2894
+ const resizeObserver = new ResizeObserver(() => {
2895
+ updateScrollHeight();
2896
+ });
2897
+ if (contentRef && !supportsInterpolateSize) {
2898
+ resizeObserver.observe(contentRef);
2899
+ }
2900
+ updateScrollHeight();
2901
+ onCleanup(() => {
2902
+ resizeObserver.disconnect();
2903
+ });
2710
2904
  });
2905
+ const height = () => {
2906
+ if (supportsInterpolateSize) {
2907
+ return props.open ? "max-content" : "0px";
2908
+ }
2909
+ return props.open ? `${scrollHeight()}px` : "0px";
2910
+ };
2711
2911
  return (() => {
2712
- var _el$ = _tmpl$39();
2713
- var _ref$ = contentRef;
2714
- typeof _ref$ === "function" ? use(_ref$, _el$) : contentRef = _el$;
2912
+ var _el$ = _tmpl$44(), _el$2 = _el$.firstChild;
2715
2913
  spread(_el$, mergeProps({
2716
2914
  get ["class"]() {
2717
2915
  return style("collapsible", props.class);
@@ -2721,66 +2919,96 @@ var Collapsible = (props) => {
2721
2919
  overflow: "hidden",
2722
2920
  opacity: props.open ? 1 : 0,
2723
2921
  transition: enableTransition() ? "height 250ms ease-in-out, opacity 250ms ease-in-out" : "none",
2724
- height: props.open ? `${contentRef == null ? void 0 : contentRef.scrollHeight}px` : "0px"
2922
+ height: height()
2725
2923
  };
2726
2924
  }
2727
- }, props), false, false);
2925
+ }, props), false, true);
2926
+ var _ref$ = contentRef;
2927
+ typeof _ref$ === "function" ? use(_ref$, _el$2) : contentRef = _el$2;
2928
+ insert(_el$2, () => props.children);
2728
2929
  return _el$;
2729
2930
  })();
2730
2931
  };
2731
- var _tmpl$40 = /* @__PURE__ */ template(`<label><input type=checkbox class="nt-peer nt-sr-only"><div>`);
2932
+ var _tmpl$45 = /* @__PURE__ */ template(`<label><input type=checkbox class=nt-sr-only><div>`);
2732
2933
  var Switch = (props) => {
2733
2934
  const style = useStyle();
2935
+ const handleChange = () => {
2936
+ var _a;
2937
+ if (props.disabled) return;
2938
+ const nextState = getNextState((_a = props.state) != null ? _a : "disabled");
2939
+ props.onChange(nextState);
2940
+ };
2941
+ const getNextState = (currentState) => {
2942
+ switch (currentState) {
2943
+ case "enabled":
2944
+ return "disabled";
2945
+ case "disabled":
2946
+ return "enabled";
2947
+ case "indeterminate":
2948
+ return "enabled";
2949
+ default:
2950
+ return "disabled";
2951
+ }
2952
+ };
2953
+ const isChecked = () => props.state === "enabled";
2954
+ const isIndeterminate = () => props.state === "indeterminate";
2955
+ const state = () => props.state;
2956
+ const disabled = () => props.disabled;
2734
2957
  return (() => {
2735
- var _el$ = _tmpl$40(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
2736
- _el$2.addEventListener("change", (e) => {
2737
- props.onChange(e.target.checked);
2738
- });
2958
+ var _el$ = _tmpl$45(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
2959
+ _el$2.addEventListener("change", handleChange);
2739
2960
  effect((_p$) => {
2740
- 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;
2961
+ var _v$ = style("channelSwitch", cn("nt-relative nt-inline-flex nt-cursor-pointer nt-items-center", {
2962
+ "nt-opacity-50 nt-cursor-not-allowed": disabled()
2963
+ })), _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`, {
2964
+ "nt-bg-primary nt-shadow-none nt-border-neutral-alpha-400 after:nt-translate-x-full after:nt-border-background": isChecked(),
2965
+ "after:nt-translate-x-1/2": isIndeterminate()
2966
+ })), _v$4 = state();
2741
2967
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
2742
- _v$2 !== _p$.t && className(_el$3, _p$.t = _v$2);
2743
- _v$3 !== _p$.a && setAttribute(_el$3, "data-checked", _p$.a = _v$3);
2968
+ _v$2 !== _p$.t && (_el$2.disabled = _p$.t = _v$2);
2969
+ _v$3 !== _p$.a && className(_el$3, _p$.a = _v$3);
2970
+ _v$4 !== _p$.o && setAttribute(_el$3, "data-state", _p$.o = _v$4);
2744
2971
  return _p$;
2745
2972
  }, {
2746
2973
  e: void 0,
2747
2974
  t: void 0,
2748
- a: void 0
2975
+ a: void 0,
2976
+ o: void 0
2749
2977
  });
2750
- effect(() => _el$2.checked = props.checked);
2978
+ effect(() => _el$2.checked = isChecked());
2751
2979
  return _el$;
2752
2980
  })();
2753
2981
  };
2754
2982
 
2755
2983
  // src/ui/components/elements/Preferences/ChannelRow.tsx
2756
- var _tmpl$41 = /* @__PURE__ */ template(`<div><div><div></div><span></span></div><div>`);
2984
+ var _tmpl$46 = /* @__PURE__ */ template(`<div><div><div></div><span></span></div><div>`);
2757
2985
  var ChannelRow = (props) => {
2758
2986
  const style = useStyle();
2759
2987
  const updatePreference = (enabled) => __async(void 0, null, function* () {
2760
2988
  props.onChange({
2761
- channel: props.channel,
2762
- enabled,
2763
- workflowId: props.workflowId
2989
+ [props.channel.channel]: enabled
2764
2990
  });
2765
2991
  });
2766
2992
  const onChange = (checked) => __async(void 0, null, function* () {
2767
2993
  yield updatePreference(checked);
2768
2994
  });
2995
+ const state = () => props.channel.state;
2996
+ const channel = () => props.channel.channel;
2769
2997
  return (() => {
2770
- var _el$ = _tmpl$41(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$2.nextSibling;
2998
+ var _el$ = _tmpl$46(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$2.nextSibling;
2771
2999
  insert(_el$3, createComponent(ChannelIcon, {
2772
3000
  appearanceKey: "channel__icon",
2773
3001
  get channel() {
2774
- return props.channel;
3002
+ return channel();
2775
3003
  },
2776
3004
  "class": "nt-size-3"
2777
3005
  }));
2778
- insert(_el$4, () => getLabel(props.channel));
3006
+ insert(_el$4, () => getLabel(channel()));
2779
3007
  insert(_el$5, createComponent(Switch, {
2780
- get checked() {
2781
- return props.enabled;
3008
+ get state() {
3009
+ return state();
2782
3010
  },
2783
- onChange: (checked) => onChange(checked)
3011
+ onChange: (newState) => onChange(newState === "enabled")
2784
3012
  }));
2785
3013
  effect((_p$) => {
2786
3014
  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");
@@ -2802,40 +3030,75 @@ var ChannelRow = (props) => {
2802
3030
  };
2803
3031
  var ChannelIcon = (props) => {
2804
3032
  const style = useStyle();
2805
- switch (props.channel) {
2806
- case "in_app" /* IN_APP */:
2807
- return createComponent(InApp, {
3033
+ const iconMap = {
3034
+ ["in_app" /* IN_APP */]: {
3035
+ key: "inApp",
3036
+ component: createComponent(InApp, {
2808
3037
  get ["class"]() {
2809
- return style(props.appearanceKey, props.class);
3038
+ return style(props.appearanceKey, props.class, {
3039
+ iconKey: "inApp"
3040
+ });
2810
3041
  }
2811
- });
2812
- case "email" /* EMAIL */:
2813
- return createComponent(Email, {
3042
+ })
3043
+ },
3044
+ ["email" /* EMAIL */]: {
3045
+ key: "email",
3046
+ component: createComponent(Email, {
2814
3047
  get ["class"]() {
2815
- return style(props.appearanceKey, props.class);
3048
+ return style(props.appearanceKey, props.class, {
3049
+ iconKey: "email"
3050
+ });
2816
3051
  }
2817
- });
2818
- case "push" /* PUSH */:
2819
- return createComponent(Push, {
3052
+ })
3053
+ },
3054
+ ["push" /* PUSH */]: {
3055
+ key: "push",
3056
+ component: createComponent(Push, {
2820
3057
  get ["class"]() {
2821
- return style(props.appearanceKey, props.class);
3058
+ return style(props.appearanceKey, props.class, {
3059
+ iconKey: "push"
3060
+ });
2822
3061
  }
2823
- });
2824
- case "sms" /* SMS */:
2825
- return createComponent(Sms, {
3062
+ })
3063
+ },
3064
+ ["sms" /* SMS */]: {
3065
+ key: "sms",
3066
+ component: createComponent(Sms, {
2826
3067
  get ["class"]() {
2827
- return style(props.appearanceKey, props.class);
3068
+ return style(props.appearanceKey, props.class, {
3069
+ iconKey: "sms"
3070
+ });
2828
3071
  }
2829
- });
2830
- case "chat" /* CHAT */:
2831
- return createComponent(Chat, {
3072
+ })
3073
+ },
3074
+ ["chat" /* CHAT */]: {
3075
+ key: "chat",
3076
+ component: createComponent(Chat, {
2832
3077
  get ["class"]() {
2833
- return style(props.appearanceKey, props.class);
3078
+ return style(props.appearanceKey, props.class, {
3079
+ iconKey: "chat"
3080
+ });
2834
3081
  }
2835
- });
2836
- default:
2837
- return null;
3082
+ })
3083
+ }
3084
+ };
3085
+ const iconData = iconMap[props.channel];
3086
+ if (!iconData) {
3087
+ return null;
2838
3088
  }
3089
+ return createComponent(IconRendererWrapper, {
3090
+ get iconKey() {
3091
+ return iconData.key;
3092
+ },
3093
+ get fallback() {
3094
+ return iconData.component;
3095
+ },
3096
+ get ["class"]() {
3097
+ return style(props.appearanceKey, props.class, {
3098
+ iconKey: iconData.key
3099
+ });
3100
+ }
3101
+ });
2839
3102
  };
2840
3103
  var getLabel = (channel) => {
2841
3104
  switch (channel) {
@@ -2853,12 +3116,177 @@ var getLabel = (channel) => {
2853
3116
  return "";
2854
3117
  }
2855
3118
  };
2856
- var _tmpl$43 = /* @__PURE__ */ template(`<div>`);
2857
- var _tmpl$211 = /* @__PURE__ */ template(`<div><div></div><div>`);
3119
+
3120
+ // src/ui/components/elements/Preferences/PreferencesRow.tsx
3121
+ var _tmpl$47 = /* @__PURE__ */ template(`<div>`);
3122
+ var _tmpl$212 = /* @__PURE__ */ template(`<div><div><div><div><span></span></div></div><span>`);
3123
+ var _tmpl$310 = /* @__PURE__ */ template(`<span>`);
3124
+ var iconKeyToComponentMap2 = {
3125
+ cogs: Cogs,
3126
+ routeFill: RouteFill
3127
+ };
3128
+ var PreferencesRow = (props) => {
3129
+ const style = useStyle();
3130
+ const [isOpenChannels, setIsOpenChannels] = createSignal(false);
3131
+ const {
3132
+ t
3133
+ } = useLocalization();
3134
+ const channels = createMemo(() => {
3135
+ var _a, _b;
3136
+ return Object.keys((_b = (_a = props.preference) == null ? void 0 : _a.channels) != null ? _b : {}).map((channel) => {
3137
+ var _a2;
3138
+ return {
3139
+ channel,
3140
+ state: ((_a2 = props.preference) == null ? void 0 : _a2.channels[channel]) ? "enabled" : "disabled"
3141
+ };
3142
+ });
3143
+ });
3144
+ const iconClass = style("workflowLabelIcon", "nt-text-foreground-alpha-600 nt-size-3.5", {
3145
+ iconKey: "cogs"
3146
+ });
3147
+ const arrowDropDownIconClass = style("workflowArrow__icon", "nt-text-foreground-alpha-600 nt-size-4", {
3148
+ iconKey: "arrowDropDown"
3149
+ });
3150
+ const DefaultIconComponent = iconKeyToComponentMap2[props.iconKey];
3151
+ return createComponent(Show, {
3152
+ get when() {
3153
+ return channels().length > 0;
3154
+ },
3155
+ get children() {
3156
+ 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;
3157
+ _el$2.$$click = () => {
3158
+ setIsOpenChannels((prev) => !prev);
3159
+ };
3160
+ insert(_el$4, createComponent(IconRendererWrapper, {
3161
+ get iconKey() {
3162
+ return props.iconKey;
3163
+ },
3164
+ "class": iconClass,
3165
+ get fallback() {
3166
+ return DefaultIconComponent && DefaultIconComponent({
3167
+ class: iconClass
3168
+ });
3169
+ }
3170
+ }), _el$5);
3171
+ insert(_el$5, () => {
3172
+ var _a, _b, _c;
3173
+ return t((_c = (_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier) != null ? _c : "preferences.global");
3174
+ });
3175
+ insert(_el$3, createComponent(Collapsible, {
3176
+ get open() {
3177
+ return !isOpenChannels();
3178
+ },
3179
+ get children() {
3180
+ return createComponent(WorkflowDescription, {
3181
+ get channels() {
3182
+ var _a, _b;
3183
+ return (_b = (_a = props.preference) == null ? void 0 : _a.channels) != null ? _b : {};
3184
+ },
3185
+ appearanceKey: "workflowDescription",
3186
+ "class": "nt-overflow-hidden"
3187
+ });
3188
+ }
3189
+ }), null);
3190
+ insert(_el$6, createComponent(IconRendererWrapper, {
3191
+ iconKey: "arrowDropDown",
3192
+ "class": arrowDropDownIconClass,
3193
+ get fallback() {
3194
+ return createComponent(ArrowDropDown, {
3195
+ "class": arrowDropDownIconClass
3196
+ });
3197
+ }
3198
+ }));
3199
+ insert(_el$, createComponent(Collapsible, {
3200
+ get open() {
3201
+ return isOpenChannels();
3202
+ },
3203
+ get children() {
3204
+ var _el$7 = _tmpl$47();
3205
+ insert(_el$7, createComponent(Index, {
3206
+ get each() {
3207
+ return channels();
3208
+ },
3209
+ children: (channel) => createComponent(ChannelRow, {
3210
+ get channel() {
3211
+ return channel();
3212
+ },
3213
+ get workflowId() {
3214
+ var _a, _b;
3215
+ return (_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.id;
3216
+ },
3217
+ get onChange() {
3218
+ var _a, _b;
3219
+ return props.onChange((_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier);
3220
+ }
3221
+ })
3222
+ }));
3223
+ effect(() => className(_el$7, style("channelsContainer", "nt-flex nt-bg-background nt-border nt-border-neutral-alpha-200 nt-rounded-lg nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden")));
3224
+ return _el$7;
3225
+ }
3226
+ }), null);
3227
+ effect((_p$) => {
3228
+ var _a, _b, _c;
3229
+ 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();
3230
+ _v$ !== _p$.e && className(_el$, _p$.e = _v$);
3231
+ _v$2 !== _p$.t && setAttribute(_el$, "data-open", _p$.t = _v$2);
3232
+ _v$3 !== _p$.a && className(_el$2, _p$.a = _v$3);
3233
+ _v$4 !== _p$.o && className(_el$3, _p$.o = _v$4);
3234
+ _v$5 !== _p$.i && className(_el$4, _p$.i = _v$5);
3235
+ _v$6 !== _p$.n && className(_el$5, _p$.n = _v$6);
3236
+ _v$7 !== _p$.s && setAttribute(_el$5, "data-localization", _p$.s = _v$7);
3237
+ _v$8 !== _p$.h && setAttribute(_el$5, "data-open", _p$.h = _v$8);
3238
+ _v$9 !== _p$.r && className(_el$6, _p$.r = _v$9);
3239
+ _v$10 !== _p$.d && setAttribute(_el$6, "data-open", _p$.d = _v$10);
3240
+ return _p$;
3241
+ }, {
3242
+ e: void 0,
3243
+ t: void 0,
3244
+ a: void 0,
3245
+ o: void 0,
3246
+ i: void 0,
3247
+ n: void 0,
3248
+ s: void 0,
3249
+ h: void 0,
3250
+ r: void 0,
3251
+ d: void 0
3252
+ });
3253
+ return _el$;
3254
+ }
3255
+ });
3256
+ };
3257
+ var WorkflowDescription = (props) => {
3258
+ const style = useStyle();
3259
+ const channelNames = () => {
3260
+ const channels = [];
3261
+ for (const key in props.channels) {
3262
+ if (props.channels[key] !== void 0) {
3263
+ const isDisabled = !props.channels[key];
3264
+ const element = (() => {
3265
+ var _el$8 = _tmpl$310();
3266
+ setAttribute(_el$8, "data-disabled", isDisabled);
3267
+ insert(_el$8, () => getLabel(key));
3268
+ effect(() => className(_el$8, style("channelName", "data-[disabled=true]:nt-text-foreground-alpha-400")));
3269
+ return _el$8;
3270
+ })();
3271
+ channels.push(element);
3272
+ }
3273
+ }
3274
+ return channels.map((c, index) => [c, memo(() => index < channels.length - 1 && ", ")]);
3275
+ };
3276
+ return (() => {
3277
+ var _el$9 = _tmpl$47();
3278
+ insert(_el$9, channelNames);
3279
+ effect(() => className(_el$9, style(props.appearanceKey, cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class))));
3280
+ return _el$9;
3281
+ })();
3282
+ };
3283
+ delegateEvents(["click"]);
3284
+ var _tmpl$48 = /* @__PURE__ */ template(`<div>`);
3285
+ var _tmpl$213 = /* @__PURE__ */ template(`<div><div></div><div>`);
2858
3286
  var SkeletonText = (props) => {
2859
3287
  const style = useStyle();
2860
3288
  return (() => {
2861
- var _el$ = _tmpl$43();
3289
+ var _el$ = _tmpl$48();
2862
3290
  effect(() => className(_el$, style(props.appearanceKey, cn("nt-w-full nt-h-3 nt-rounded nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class))));
2863
3291
  return _el$;
2864
3292
  })();
@@ -2866,7 +3294,7 @@ var SkeletonText = (props) => {
2866
3294
  var SkeletonAvatar = (props) => {
2867
3295
  const style = useStyle();
2868
3296
  return (() => {
2869
- var _el$2 = _tmpl$43();
3297
+ var _el$2 = _tmpl$48();
2870
3298
  effect(() => className(_el$2, style(props.appearanceKey, cn("nt-size-8 nt-rounded-lg nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class))));
2871
3299
  return _el$2;
2872
3300
  })();
@@ -2874,7 +3302,7 @@ var SkeletonAvatar = (props) => {
2874
3302
  var SkeletonSwitch = (props) => {
2875
3303
  const style = useStyle();
2876
3304
  return (() => {
2877
- var _el$3 = _tmpl$211(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
3305
+ var _el$3 = _tmpl$213(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
2878
3306
  effect((_p$) => {
2879
3307
  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");
2880
3308
  _v$ !== _p$.e && className(_el$3, _p$.e = _v$);
@@ -2891,7 +3319,7 @@ var SkeletonSwitch = (props) => {
2891
3319
  };
2892
3320
 
2893
3321
  // src/ui/components/elements/Preferences/PreferencesListSkeleton.tsx
2894
- var _tmpl$44 = /* @__PURE__ */ template(`<div>`);
3322
+ var _tmpl$49 = /* @__PURE__ */ template(`<div>`);
2895
3323
  var channelIcons = [InApp, Email, Sms, Push, Chat];
2896
3324
  var PreferencesListSkeleton = (props) => {
2897
3325
  const style = useStyle();
@@ -2899,7 +3327,7 @@ var PreferencesListSkeleton = (props) => {
2899
3327
  t
2900
3328
  } = useLocalization();
2901
3329
  return (() => {
2902
- var _el$ = _tmpl$44();
3330
+ var _el$ = _tmpl$49();
2903
3331
  insert(_el$, createComponent(Motion.div, {
2904
3332
  get animate() {
2905
3333
  return {
@@ -2941,7 +3369,7 @@ var PreferencesListSkeleton = (props) => {
2941
3369
  return style("preferencesList__skeletonIcon", "nt-size-8 nt-p-2 nt-rounded-lg nt-bg-neutral-alpha-100");
2942
3370
  }
2943
3371
  }), (() => {
2944
- var _el$3 = _tmpl$44();
3372
+ var _el$3 = _tmpl$49();
2945
3373
  insert(_el$3, createComponent(SkeletonText, {
2946
3374
  appearanceKey: "notificationList__skeletonText",
2947
3375
  "class": "nt-h-2 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded"
@@ -2959,7 +3387,7 @@ var PreferencesListSkeleton = (props) => {
2959
3387
  }
2960
3388
  });
2961
3389
  })), (() => {
2962
- var _el$2 = _tmpl$44();
3390
+ var _el$2 = _tmpl$49();
2963
3391
  effect(() => className(_el$2, style("notificationListEmptyNoticeOverlay", "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background")));
2964
3392
  return _el$2;
2965
3393
  })()];
@@ -3003,15 +3431,298 @@ var PreferencesListSkeleton = (props) => {
3003
3431
  })();
3004
3432
  };
3005
3433
 
3434
+ // src/ui/components/elements/Preferences/DefaultPreferences.tsx
3435
+ var DefaultPreferences = (props) => {
3436
+ const workflowPreferences = createMemo(() => props.workflowPreferences);
3437
+ const updatePreference = (workflowIdentifier) => (channels) => {
3438
+ var _a;
3439
+ const preference = (_a = workflowPreferences()) == null ? void 0 : _a.find((pref) => {
3440
+ var _a2;
3441
+ return ((_a2 = pref.workflow) == null ? void 0 : _a2.identifier) === workflowIdentifier;
3442
+ });
3443
+ if (!preference) return;
3444
+ props.updatePreference(preference)(channels);
3445
+ };
3446
+ return createComponent(Show, {
3447
+ get when() {
3448
+ var _a;
3449
+ return (_a = workflowPreferences()) == null ? void 0 : _a.length;
3450
+ },
3451
+ get fallback() {
3452
+ return createComponent(PreferencesListSkeleton, {
3453
+ get loading() {
3454
+ return props.loading;
3455
+ }
3456
+ });
3457
+ },
3458
+ get children() {
3459
+ return createComponent(Index, {
3460
+ get each() {
3461
+ return workflowPreferences();
3462
+ },
3463
+ children: (preference) => {
3464
+ return createComponent(PreferencesRow, {
3465
+ iconKey: "routeFill",
3466
+ get preference() {
3467
+ return preference();
3468
+ },
3469
+ onChange: updatePreference
3470
+ });
3471
+ }
3472
+ });
3473
+ }
3474
+ });
3475
+ };
3476
+ var _tmpl$50 = /* @__PURE__ */ 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>`);
3477
+ var NodeTree = (props) => {
3478
+ return (() => {
3479
+ var _el$ = _tmpl$50();
3480
+ spread(_el$, props, true, true);
3481
+ return _el$;
3482
+ })();
3483
+ };
3484
+ var _tmpl$51 = /* @__PURE__ */ 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">`);
3485
+ var Info = (props) => {
3486
+ return (() => {
3487
+ var _el$ = _tmpl$51();
3488
+ spread(_el$, props, true, true);
3489
+ return _el$;
3490
+ })();
3491
+ };
3492
+
3493
+ // src/ui/components/elements/Preferences/GroupedPreferencesRow.tsx
3494
+ var _tmpl$52 = /* @__PURE__ */ template(`<div><div><span data-localization=preferences.group.info></span></div><div>`);
3495
+ var _tmpl$214 = /* @__PURE__ */ template(`<div><div><div><span></span></div><div><span>`);
3496
+ var GroupedPreferencesRow = (props) => {
3497
+ const style = useStyle();
3498
+ const {
3499
+ t
3500
+ } = useLocalization();
3501
+ const [isOpened, setIsOpened] = createSignal(false);
3502
+ const uniqueChannels = createMemo(() => {
3503
+ return props.group.preferences.reduce((acc, preference) => {
3504
+ Object.keys(preference.channels).forEach((el) => {
3505
+ const channel = el;
3506
+ const currentState = acc[channel];
3507
+ const preferenceState = preference.channels[channel] ? "enabled" : "disabled";
3508
+ if (!currentState) {
3509
+ acc[channel] = preferenceState;
3510
+ } else {
3511
+ acc[channel] = currentState !== preferenceState ? "indeterminate" : preferenceState;
3512
+ }
3513
+ });
3514
+ return acc;
3515
+ }, {});
3516
+ });
3517
+ const groupState = createMemo(() => {
3518
+ const someIndeterminate = Object.values(uniqueChannels()).some((state) => state === "indeterminate");
3519
+ if (someIndeterminate) {
3520
+ return "indeterminate";
3521
+ }
3522
+ const allEnabled = Object.values(uniqueChannels()).every((state) => state === "enabled");
3523
+ const allDisabled = Object.values(uniqueChannels()).every((state) => state === "disabled");
3524
+ if (allEnabled) {
3525
+ return "enabled";
3526
+ }
3527
+ if (allDisabled) {
3528
+ return "disabled";
3529
+ }
3530
+ return "indeterminate";
3531
+ });
3532
+ const updateGroupPreferences = (newState) => {
3533
+ const channels = Object.keys(uniqueChannels()).reduce((acc, channel) => {
3534
+ acc[channel] = newState === "enabled";
3535
+ return acc;
3536
+ }, {});
3537
+ props.bulkUpdatePreferences(props.group.preferences)(channels);
3538
+ };
3539
+ const updatePreference = (workflowIdentifier) => (channels) => {
3540
+ const preference = props.group.preferences.find((pref) => {
3541
+ var _a;
3542
+ return ((_a = pref.workflow) == null ? void 0 : _a.identifier) === workflowIdentifier;
3543
+ });
3544
+ if (!preference) return;
3545
+ props.updatePreference(preference)(channels);
3546
+ };
3547
+ const updatePreferencesForChannel = (channel) => (channels) => {
3548
+ const filteredPreferences = props.group.preferences.filter((preference) => Object.keys(preference.channels).some((key) => key === channel));
3549
+ props.bulkUpdatePreferences(filteredPreferences)(channels);
3550
+ };
3551
+ const preferences = createMemo(() => props.group.preferences);
3552
+ const nodeTreeIconClass = style("preferencesGroupLabelIcon", "nt-text-foreground-alpha-600 nt-size-3.5");
3553
+ const infoIconClass = style("preferencesGroupInfoIcon", "nt-size-4");
3554
+ const dropdownIconClass = style("moreTabs__icon", "nt-size-4");
3555
+ return createComponent(Show, {
3556
+ get when() {
3557
+ return Object.keys(uniqueChannels()).length > 0;
3558
+ },
3559
+ get children() {
3560
+ 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;
3561
+ _el$2.$$click = () => {
3562
+ setIsOpened((prev) => !prev);
3563
+ };
3564
+ insert(_el$3, createComponent(IconRendererWrapper, {
3565
+ iconKey: "nodeTree",
3566
+ "class": nodeTreeIconClass,
3567
+ get fallback() {
3568
+ return createComponent(NodeTree, {
3569
+ "class": nodeTreeIconClass
3570
+ });
3571
+ }
3572
+ }), _el$4);
3573
+ insert(_el$4, () => props.group.name);
3574
+ insert(_el$5, createComponent(Switch, {
3575
+ get state() {
3576
+ return groupState();
3577
+ },
3578
+ onChange: updateGroupPreferences
3579
+ }), _el$6);
3580
+ insert(_el$6, createComponent(IconRendererWrapper, {
3581
+ iconKey: "arrowDropDown",
3582
+ "class": dropdownIconClass,
3583
+ get fallback() {
3584
+ return createComponent(ArrowDropDown, {
3585
+ "class": dropdownIconClass
3586
+ });
3587
+ }
3588
+ }));
3589
+ insert(_el$, createComponent(Collapsible, {
3590
+ get open() {
3591
+ return isOpened();
3592
+ },
3593
+ get children() {
3594
+ var _el$7 = _tmpl$52(), _el$8 = _el$7.firstChild, _el$9 = _el$8.firstChild, _el$10 = _el$8.nextSibling;
3595
+ insert(_el$8, createComponent(Index, {
3596
+ get each() {
3597
+ return Object.keys(uniqueChannels());
3598
+ },
3599
+ children: (channel) => {
3600
+ return createComponent(ChannelRow, {
3601
+ get channel() {
3602
+ return {
3603
+ channel: channel(),
3604
+ state: uniqueChannels()[channel()]
3605
+ };
3606
+ },
3607
+ get onChange() {
3608
+ return updatePreferencesForChannel(channel());
3609
+ }
3610
+ });
3611
+ }
3612
+ }), _el$9);
3613
+ insert(_el$9, createComponent(IconRendererWrapper, {
3614
+ iconKey: "info",
3615
+ "class": infoIconClass,
3616
+ get fallback() {
3617
+ return createComponent(Info, {
3618
+ "class": infoIconClass
3619
+ });
3620
+ }
3621
+ }), null);
3622
+ insert(_el$9, () => t("preferences.group.info"), null);
3623
+ insert(_el$10, createComponent(Index, {
3624
+ get each() {
3625
+ return preferences();
3626
+ },
3627
+ children: (preference) => createComponent(PreferencesRow, {
3628
+ iconKey: "routeFill",
3629
+ get preference() {
3630
+ return preference();
3631
+ },
3632
+ onChange: updatePreference
3633
+ })
3634
+ }));
3635
+ effect((_p$) => {
3636
+ 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");
3637
+ _v$ !== _p$.e && className(_el$7, _p$.e = _v$);
3638
+ _v$2 !== _p$.t && className(_el$8, _p$.t = _v$2);
3639
+ _v$3 !== _p$.a && className(_el$9, _p$.a = _v$3);
3640
+ _v$4 !== _p$.o && className(_el$10, _p$.o = _v$4);
3641
+ return _p$;
3642
+ }, {
3643
+ e: void 0,
3644
+ t: void 0,
3645
+ a: void 0,
3646
+ o: void 0
3647
+ });
3648
+ return _el$7;
3649
+ }
3650
+ }), null);
3651
+ effect((_p$) => {
3652
+ 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();
3653
+ _v$5 !== _p$.e && className(_el$, _p$.e = _v$5);
3654
+ _v$6 !== _p$.t && setAttribute(_el$, "data-open", _p$.t = _v$6);
3655
+ _v$7 !== _p$.a && className(_el$2, _p$.a = _v$7);
3656
+ _v$8 !== _p$.o && className(_el$3, _p$.o = _v$8);
3657
+ _v$9 !== _p$.i && className(_el$4, _p$.i = _v$9);
3658
+ _v$10 !== _p$.n && setAttribute(_el$4, "data-open", _p$.n = _v$10);
3659
+ _v$11 !== _p$.s && className(_el$5, _p$.s = _v$11);
3660
+ _v$12 !== _p$.h && className(_el$6, _p$.h = _v$12);
3661
+ _v$13 !== _p$.r && setAttribute(_el$6, "data-open", _p$.r = _v$13);
3662
+ return _p$;
3663
+ }, {
3664
+ e: void 0,
3665
+ t: void 0,
3666
+ a: void 0,
3667
+ o: void 0,
3668
+ i: void 0,
3669
+ n: void 0,
3670
+ s: void 0,
3671
+ h: void 0,
3672
+ r: void 0
3673
+ });
3674
+ return _el$;
3675
+ }
3676
+ });
3677
+ };
3678
+ delegateEvents(["click"]);
3679
+
3680
+ // src/ui/components/elements/Preferences/GroupedPreferences.tsx
3681
+ var GroupedPreferences = (props) => {
3682
+ const groups = () => props.groups;
3683
+ return createComponent(Show, {
3684
+ get when() {
3685
+ return props.groups.length && !props.loading;
3686
+ },
3687
+ get fallback() {
3688
+ return createComponent(PreferencesListSkeleton, {
3689
+ get loading() {
3690
+ return props.loading;
3691
+ }
3692
+ });
3693
+ },
3694
+ get children() {
3695
+ return createComponent(Index, {
3696
+ get each() {
3697
+ return groups();
3698
+ },
3699
+ children: (group) => {
3700
+ return createComponent(GroupedPreferencesRow, {
3701
+ get group() {
3702
+ return group();
3703
+ },
3704
+ get bulkUpdatePreferences() {
3705
+ return props.bulkUpdatePreferences;
3706
+ },
3707
+ get updatePreference() {
3708
+ return props.updatePreference;
3709
+ }
3710
+ });
3711
+ }
3712
+ });
3713
+ }
3714
+ });
3715
+ };
3716
+
3006
3717
  // src/ui/components/elements/Preferences/Preferences.tsx
3007
- var _tmpl$45 = /* @__PURE__ */ template(`<div>`);
3008
- var _tmpl$212 = /* @__PURE__ */ template(`<span>`);
3009
- var _tmpl$310 = /* @__PURE__ */ template(`<div><div><div><div></div></div><span>`);
3718
+ var _tmpl$53 = /* @__PURE__ */ template(`<div>`);
3010
3719
  var Preferences = () => {
3011
3720
  var _a;
3721
+ const novu = useNovu();
3012
3722
  const style = useStyle();
3013
3723
  const {
3014
- preferencesFilter
3724
+ preferencesFilter,
3725
+ preferenceGroups
3015
3726
  } = useInboxContext();
3016
3727
  const {
3017
3728
  preferences,
@@ -3023,14 +3734,9 @@ var Preferences = () => {
3023
3734
  var _a2, _b;
3024
3735
  const globalPreference = (_a2 = preferences()) == null ? void 0 : _a2.find((preference) => preference.level === "global" /* GLOBAL */);
3025
3736
  const workflowPreferences = (_b = preferences()) == null ? void 0 : _b.filter((preference) => preference.level === "template" /* TEMPLATE */);
3026
- const workflowPreferencesIds = workflowPreferences == null ? void 0 : workflowPreferences.map((preference) => {
3027
- var _a3;
3028
- return (_a3 = preference.workflow) == null ? void 0 : _a3.id;
3029
- });
3030
3737
  return {
3031
3738
  globalPreference,
3032
- workflowPreferences,
3033
- workflowPreferencesIds
3739
+ workflowPreferences
3034
3740
  };
3035
3741
  });
3036
3742
  createEffect(() => {
@@ -3042,203 +3748,126 @@ var Preferences = () => {
3042
3748
  }, {}));
3043
3749
  });
3044
3750
  });
3045
- const optimisticUpdate = (preference) => (_0) => __async(void 0, [_0], function* ({
3046
- channel,
3047
- enabled
3048
- }) {
3751
+ const updatePreference = (preference) => (channels) => __async(void 0, null, function* () {
3049
3752
  yield preference == null ? void 0 : preference.update({
3050
- channels: {
3051
- [channel]: enabled
3052
- }
3753
+ channels
3053
3754
  });
3054
3755
  });
3756
+ const bulkUpdatePreferences = (preferences2) => (channels) => __async(void 0, null, function* () {
3757
+ yield novu.preferences.bulkUpdate(preferences2.map((el) => {
3758
+ const oldChannels = Object.keys(el.channels);
3759
+ const channelsToUpdate = Object.keys(channels).filter((channel) => oldChannels.includes(channel)).reduce((acc, channel) => {
3760
+ acc[channel] = channels[channel];
3761
+ return acc;
3762
+ }, {});
3763
+ return {
3764
+ preference: el,
3765
+ channels: channelsToUpdate
3766
+ };
3767
+ }));
3768
+ });
3769
+ const groupedPreferences = createMemo(() => {
3770
+ var _a2, _b, _c;
3771
+ const workflowPreferences = (_a2 = allPreferences().workflowPreferences) != null ? _a2 : [];
3772
+ return (_c = (_b = preferenceGroups()) == null ? void 0 : _b.map((group) => {
3773
+ const {
3774
+ filter
3775
+ } = group;
3776
+ if (typeof filter === "function") {
3777
+ const preferences2 = filter({
3778
+ preferences: workflowPreferences
3779
+ });
3780
+ return {
3781
+ name: group.name,
3782
+ preferences: preferences2
3783
+ };
3784
+ }
3785
+ if (typeof filter === "object") {
3786
+ return {
3787
+ name: group.name,
3788
+ preferences: workflowPreferences.filter((preference) => {
3789
+ var _a3, _b2, _c2, _d;
3790
+ const workflowId = ((_a3 = preference.workflow) == null ? void 0 : _a3.id) || ((_b2 = preference.workflow) == null ? void 0 : _b2.identifier);
3791
+ return ((_c2 = filter.workflowIds) == null ? void 0 : _c2.includes(workflowId != null ? workflowId : "")) || ((_d = filter.tags) == null ? void 0 : _d.some((tag) => {
3792
+ var _a4, _b3;
3793
+ return (_b3 = (_a4 = preference.workflow) == null ? void 0 : _a4.tags) == null ? void 0 : _b3.includes(tag);
3794
+ }));
3795
+ })
3796
+ };
3797
+ }
3798
+ return {
3799
+ name: group.name,
3800
+ preferences: []
3801
+ };
3802
+ })) != null ? _c : [];
3803
+ });
3055
3804
  return (() => {
3056
- var _el$ = _tmpl$45();
3805
+ var _el$ = _tmpl$53();
3057
3806
  insert(_el$, createComponent(PreferencesRow, {
3058
- localizationKey: "preferences.global",
3059
- get channels() {
3060
- var _a2;
3061
- return ((_a2 = allPreferences().globalPreference) == null ? void 0 : _a2.channels) || {};
3807
+ iconKey: "cogs",
3808
+ get preference() {
3809
+ return allPreferences().globalPreference;
3062
3810
  },
3063
- get onChange() {
3064
- return optimisticUpdate(allPreferences().globalPreference);
3065
- }
3811
+ onChange: () => updatePreference(allPreferences().globalPreference)
3066
3812
  }), null);
3067
3813
  insert(_el$, createComponent(Show, {
3068
3814
  get when() {
3069
- var _a2;
3070
- return (_a2 = allPreferences().workflowPreferences) == null ? void 0 : _a2.length;
3815
+ return groupedPreferences().length > 0;
3071
3816
  },
3072
3817
  get fallback() {
3073
- return createComponent(PreferencesListSkeleton, {
3074
- get loading() {
3075
- return loading();
3076
- }
3077
- });
3078
- },
3079
- get children() {
3080
- return createComponent(For, {
3081
- get each() {
3082
- return allPreferences().workflowPreferencesIds;
3818
+ return createComponent(Show, {
3819
+ get when() {
3820
+ var _a2;
3821
+ return (_a2 = allPreferences().workflowPreferences) == null ? void 0 : _a2.length;
3083
3822
  },
3084
- children: (_, index) => {
3085
- const preference = () => {
3086
- var _a2;
3087
- return (_a2 = allPreferences().workflowPreferences) == null ? void 0 : _a2[index()];
3088
- };
3089
- if (!preference()) {
3090
- return null;
3091
- }
3092
- return createComponent(PreferencesRow, {
3093
- get localizationKey() {
3094
- return preference().workflow.identifier;
3095
- },
3096
- get channels() {
3097
- return preference().channels;
3823
+ get fallback() {
3824
+ return createComponent(PreferencesListSkeleton, {
3825
+ get loading() {
3826
+ return loading();
3827
+ }
3828
+ });
3829
+ },
3830
+ get children() {
3831
+ return createComponent(DefaultPreferences, {
3832
+ get workflowPreferences() {
3833
+ return allPreferences().workflowPreferences;
3098
3834
  },
3099
- get workflowId() {
3100
- var _a2;
3101
- return (_a2 = preference().workflow) == null ? void 0 : _a2.id;
3835
+ get loading() {
3836
+ return loading();
3102
3837
  },
3103
- get onChange() {
3104
- return optimisticUpdate(preference());
3105
- }
3838
+ updatePreference
3106
3839
  });
3107
3840
  }
3108
3841
  });
3842
+ },
3843
+ get children() {
3844
+ return createComponent(GroupedPreferences, {
3845
+ get groups() {
3846
+ return groupedPreferences();
3847
+ },
3848
+ get loading() {
3849
+ return loading();
3850
+ },
3851
+ updatePreference,
3852
+ bulkUpdatePreferences
3853
+ });
3109
3854
  }
3110
3855
  }), null);
3111
- effect(() => className(_el$, style("preferencesContainer", "nt-px-3 nt-py-4 nt-flex nt-flex-col nt-gap-1 nt-overflow-y-auto nt-h-full")));
3856
+ effect(() => className(_el$, style("preferencesContainer", "nt-px-3 nt-py-4 nt-flex nt-flex-col nt-gap-1 nt-overflow-y-auto nt-h-full nt-pr-0 [scrollbar-gutter:stable]")));
3112
3857
  return _el$;
3113
3858
  })();
3114
3859
  };
3115
- var WorkflowDescription = (props) => {
3116
- const style = useStyle();
3117
- const channelNames = () => {
3118
- const channels = [];
3119
- for (const key in props.channels) {
3120
- if (props.channels[key] !== void 0) {
3121
- const isDisabled = !props.channels[key];
3122
- const element = (() => {
3123
- var _el$2 = _tmpl$212();
3124
- setAttribute(_el$2, "data-disabled", isDisabled);
3125
- insert(_el$2, () => getLabel(key));
3126
- effect(() => className(_el$2, style("channelName", "data-[disabled=true]:nt-text-foreground-alpha-400")));
3127
- return _el$2;
3128
- })();
3129
- channels.push(element);
3130
- }
3131
- }
3132
- return channels.map((c, index) => [c, memo(() => index < channels.length - 1 && ", ")]);
3133
- };
3134
- return (() => {
3135
- var _el$3 = _tmpl$45();
3136
- insert(_el$3, channelNames);
3137
- effect(() => className(_el$3, style(props.appearanceKey, cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class))));
3138
- return _el$3;
3139
- })();
3140
- };
3141
- var PreferencesRow = (props) => {
3142
- const style = useStyle();
3143
- const [isOpenDescription, setIsOpenDescription] = createSignal(true);
3144
- const [isOpenChannels, setIsOpenChannels] = createSignal(false);
3145
- const {
3146
- t
3147
- } = useLocalization();
3148
- const channels = createMemo(() => Object.keys(props.channels));
3149
- return createComponent(Show, {
3150
- get when() {
3151
- return channels().length > 0;
3152
- },
3153
- get children() {
3154
- 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;
3155
- _el$5.$$click = () => {
3156
- setIsOpenChannels((prev) => !prev);
3157
- setIsOpenDescription((prev) => !prev);
3158
- };
3159
- insert(_el$7, () => t(props.localizationKey));
3160
- insert(_el$6, createComponent(Collapsible, {
3161
- get open() {
3162
- return isOpenDescription();
3163
- },
3164
- get children() {
3165
- return createComponent(WorkflowDescription, {
3166
- get channels() {
3167
- return props.channels;
3168
- },
3169
- appearanceKey: "workflowDescription",
3170
- "class": "nt-overflow-hidden"
3171
- });
3172
- }
3173
- }), null);
3174
- insert(_el$8, createComponent(ArrowDropDown, {
3175
- get ["class"]() {
3176
- return style("workflowArrow__icon", "nt-text-foreground-alpha-600 nt-size-4");
3177
- }
3178
- }));
3179
- insert(_el$4, createComponent(Collapsible, {
3180
- get open() {
3181
- return isOpenChannels();
3182
- },
3183
- get children() {
3184
- var _el$9 = _tmpl$45();
3185
- insert(_el$9, createComponent(For, {
3186
- get each() {
3187
- return channels();
3188
- },
3189
- children: (channel) => createComponent(ChannelRow, {
3190
- channel,
3191
- get enabled() {
3192
- return !!props.channels[channel];
3193
- },
3194
- get workflowId() {
3195
- return props.workflowId;
3196
- },
3197
- get onChange() {
3198
- return props.onChange;
3199
- }
3200
- })
3201
- }));
3202
- effect(() => 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")));
3203
- return _el$9;
3204
- }
3205
- }), null);
3206
- effect((_p$) => {
3207
- 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();
3208
- _v$ !== _p$.e && className(_el$4, _p$.e = _v$);
3209
- _v$2 !== _p$.t && setAttribute(_el$4, "data-open", _p$.t = _v$2);
3210
- _v$3 !== _p$.a && className(_el$5, _p$.a = _v$3);
3211
- _v$4 !== _p$.o && className(_el$6, _p$.o = _v$4);
3212
- _v$5 !== _p$.i && className(_el$7, _p$.i = _v$5);
3213
- _v$6 !== _p$.n && setAttribute(_el$7, "data-localization", _p$.n = _v$6);
3214
- _v$7 !== _p$.s && setAttribute(_el$7, "data-open", _p$.s = _v$7);
3215
- _v$8 !== _p$.h && className(_el$8, _p$.h = _v$8);
3216
- _v$9 !== _p$.r && setAttribute(_el$8, "data-open", _p$.r = _v$9);
3217
- return _p$;
3218
- }, {
3219
- e: void 0,
3220
- t: void 0,
3221
- a: void 0,
3222
- o: void 0,
3223
- i: void 0,
3224
- n: void 0,
3225
- s: void 0,
3226
- h: void 0,
3227
- r: void 0
3228
- });
3229
- return _el$4;
3230
- }
3231
- });
3232
- };
3233
- delegateEvents(["click"]);
3234
- var _tmpl$46 = /* @__PURE__ */ template(`<div><div data-localization=preferences.title>`);
3860
+ var _tmpl$54 = /* @__PURE__ */ template(`<div><div data-localization=preferences.title>`);
3235
3861
  var PreferencesHeader = (props) => {
3236
3862
  const style = useStyle();
3237
3863
  const {
3238
3864
  t
3239
3865
  } = useLocalization();
3866
+ const arrowLeftIconClass = style("preferencesHeader__back__button__icon", "nt-size-4", {
3867
+ iconKey: "arrowLeft"
3868
+ });
3240
3869
  return (() => {
3241
- var _el$ = _tmpl$46(), _el$2 = _el$.firstChild;
3870
+ var _el$ = _tmpl$54(), _el$2 = _el$.firstChild;
3242
3871
  insert(_el$, createComponent(Show, {
3243
3872
  get when() {
3244
3873
  return props.navigateToNotifications;
@@ -3252,9 +3881,13 @@ var PreferencesHeader = (props) => {
3252
3881
  return navigateToNotifications();
3253
3882
  },
3254
3883
  get children() {
3255
- return createComponent(ArrowLeft, {
3256
- get ["class"]() {
3257
- return style("preferencesHeader__back__button__icon", "nt-size-4");
3884
+ return createComponent(IconRendererWrapper, {
3885
+ iconKey: "arrowLeft",
3886
+ "class": arrowLeftIconClass,
3887
+ get fallback() {
3888
+ return createComponent(ArrowLeft, {
3889
+ "class": arrowLeftIconClass
3890
+ });
3258
3891
  }
3259
3892
  });
3260
3893
  }
@@ -3302,28 +3935,12 @@ var useTabsDropdown = ({ tabs }) => {
3302
3935
  });
3303
3936
  return { dropdownTabs, setTabsList, visibleTabs };
3304
3937
  };
3305
- var _tmpl$47 = /* @__PURE__ */ 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>`);
3306
- var ArrowDown = (props) => {
3307
- return (() => {
3308
- var _el$ = _tmpl$47();
3309
- spread(_el$, props, true, true);
3310
- return _el$;
3311
- })();
3312
- };
3313
- var _tmpl$48 = /* @__PURE__ */ 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>`);
3314
- var Clock = (props) => {
3315
- return (() => {
3316
- var _el$ = _tmpl$48();
3317
- spread(_el$, props, true, true);
3318
- return _el$;
3319
- })();
3320
- };
3321
- var _tmpl$49 = /* @__PURE__ */ template(`<strong>`);
3322
- var _tmpl$213 = /* @__PURE__ */ template(`<p>`);
3938
+ var _tmpl$55 = /* @__PURE__ */ template(`<strong>`);
3939
+ var _tmpl$215 = /* @__PURE__ */ template(`<p>`);
3323
3940
  var Bold = (props) => {
3324
3941
  const style = useStyle();
3325
3942
  return (() => {
3326
- var _el$ = _tmpl$49();
3943
+ var _el$ = _tmpl$55();
3327
3944
  insert(_el$, () => props.children);
3328
3945
  effect(() => className(_el$, style(props.appearanceKey || "strong", "nt-font-semibold")));
3329
3946
  return _el$;
@@ -3335,7 +3952,7 @@ var Markdown = (props) => {
3335
3952
  const style = useStyle();
3336
3953
  const tokens = createMemo(() => parseMarkdownIntoTokens(local.children));
3337
3954
  return (() => {
3338
- var _el$2 = _tmpl$213();
3955
+ var _el$2 = _tmpl$215();
3339
3956
  spread(_el$2, mergeProps({
3340
3957
  get ["class"]() {
3341
3958
  return style(local.appearanceKey, cn(local.class));
@@ -3368,7 +3985,7 @@ var Markdown = (props) => {
3368
3985
  })();
3369
3986
  };
3370
3987
  var Markdown_default = Markdown;
3371
- var _tmpl$50 = /* @__PURE__ */ template(`<span>`);
3988
+ var _tmpl$56 = /* @__PURE__ */ template(`<span>`);
3372
3989
  var badgeVariants = cva(cn("nt-inline-flex nt-flex-row nt-gap-1 nt-items-center"), {
3373
3990
  variants: {
3374
3991
  variant: {
@@ -3387,7 +4004,7 @@ var Badge = (props) => {
3387
4004
  const [local, rest] = splitProps(props, ["class", "appearanceKey"]);
3388
4005
  const style = useStyle();
3389
4006
  return (() => {
3390
- var _el$ = _tmpl$50();
4007
+ var _el$ = _tmpl$56();
3391
4008
  spread(_el$, mergeProps({
3392
4009
  get ["data-variant"]() {
3393
4010
  return props.variant;
@@ -3405,21 +4022,13 @@ var Badge = (props) => {
3405
4022
  return _el$;
3406
4023
  })();
3407
4024
  };
3408
- var _tmpl$51 = /* @__PURE__ */ 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>`);
3409
- var Unsnooze = (props) => {
3410
- return (() => {
3411
- var _el$ = _tmpl$51();
3412
- spread(_el$, props, true, true);
3413
- return _el$;
3414
- })();
3415
- };
3416
4025
  var TooltipContext = createContext(void 0);
3417
4026
  function TooltipRoot(props) {
3418
4027
  const [reference, setReference] = createSignal(null);
3419
4028
  const [floating, setFloating] = createSignal(null);
3420
4029
  const position = useFloating(reference, floating, {
3421
4030
  placement: props.placement || "top",
3422
- strategy: "absolute",
4031
+ strategy: "fixed",
3423
4032
  whileElementsMounted: autoUpdate,
3424
4033
  middleware: [offset(10), flip({
3425
4034
  fallbackPlacements: props.fallbackPlacements || ["bottom"]
@@ -3460,7 +4069,7 @@ function useTooltip() {
3460
4069
  }
3461
4070
 
3462
4071
  // src/ui/components/primitives/Tooltip/TooltipContent.tsx
3463
- var _tmpl$52 = /* @__PURE__ */ template(`<div>`);
4072
+ var _tmpl$57 = /* @__PURE__ */ template(`<div>`);
3464
4073
  var tooltipContentVariants = () => "nt-bg-foreground nt-p-2 nt-shadow-tooltip nt-rounded-lg nt-text-background nt-text-xs";
3465
4074
  var TooltipContentBody = (props) => {
3466
4075
  const {
@@ -3483,7 +4092,7 @@ var TooltipContentBody = (props) => {
3483
4092
  });
3484
4093
  });
3485
4094
  return (() => {
3486
- var _el$ = _tmpl$52();
4095
+ var _el$ = _tmpl$57();
3487
4096
  use(setFloating, _el$);
3488
4097
  spread(_el$, mergeProps({
3489
4098
  get ["class"]() {
@@ -3505,12 +4114,22 @@ var TooltipContent = (props) => {
3505
4114
  const {
3506
4115
  open
3507
4116
  } = useTooltip();
4117
+ const {
4118
+ container
4119
+ } = useAppearance();
4120
+ const portalContainer = () => {
4121
+ var _a;
4122
+ return (_a = container()) != null ? _a : document.body;
4123
+ };
3508
4124
  return createComponent(Show, {
3509
4125
  get when() {
3510
4126
  return open();
3511
4127
  },
3512
4128
  get children() {
3513
4129
  return createComponent(Portal$1, {
4130
+ get mount() {
4131
+ return portalContainer();
4132
+ },
3514
4133
  get children() {
3515
4134
  return createComponent(Root, {
3516
4135
  get children() {
@@ -3522,7 +4141,7 @@ var TooltipContent = (props) => {
3522
4141
  }
3523
4142
  });
3524
4143
  };
3525
- var _tmpl$53 = /* @__PURE__ */ template(`<button>`);
4144
+ var _tmpl$58 = /* @__PURE__ */ template(`<button>`);
3526
4145
  var TooltipTrigger = (props) => {
3527
4146
  const {
3528
4147
  setReference,
@@ -3557,7 +4176,7 @@ var TooltipTrigger = (props) => {
3557
4176
  }, rest));
3558
4177
  }
3559
4178
  return (() => {
3560
- var _el$ = _tmpl$53();
4179
+ var _el$ = _tmpl$58();
3561
4180
  _el$.addEventListener("mouseleave", () => {
3562
4181
  setOpen(false);
3563
4182
  });
@@ -3588,18 +4207,8 @@ var Tooltip = {
3588
4207
  */
3589
4208
  Content: TooltipContent
3590
4209
  };
3591
- var _tmpl$54 = /* @__PURE__ */ 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>`);
3592
- var ArrowRight = (props) => {
3593
- return (() => {
3594
- var _el$ = _tmpl$54();
3595
- spread(_el$, props, true, true);
3596
- return _el$;
3597
- })();
3598
- };
3599
-
3600
- // src/ui/components/primitives/DatePicker.tsx
3601
- var _tmpl$55 = /* @__PURE__ */ template(`<div>`);
3602
- var _tmpl$214 = /* @__PURE__ */ template(`<div><span>`);
4210
+ var _tmpl$59 = /* @__PURE__ */ template(`<div>`);
4211
+ var _tmpl$216 = /* @__PURE__ */ template(`<div><span>`);
3603
4212
  var DatePickerContext = createContext({
3604
4213
  currentDate: () => /* @__PURE__ */ new Date(),
3605
4214
  setCurrentDate: () => {
@@ -3638,7 +4247,7 @@ var DatePicker = (props) => {
3638
4247
  maxDays: () => props.maxDays
3639
4248
  },
3640
4249
  get children() {
3641
- var _el$ = _tmpl$55();
4250
+ var _el$ = _tmpl$59();
3642
4251
  spread(_el$, mergeProps({
3643
4252
  get ["class"]() {
3644
4253
  return style("datePicker", cn("nt-p-2", local.class));
@@ -3658,6 +4267,13 @@ var DatePickerHeader = (props) => {
3658
4267
  currentDate,
3659
4268
  maxDays
3660
4269
  } = useDatePicker();
4270
+ useAppearance();
4271
+ const prevIconClass = style("datePickerControlPrevTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700", {
4272
+ iconKey: "arrowLeft"
4273
+ });
4274
+ const nextIconClass = style("datePickerControlNextTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700", {
4275
+ iconKey: "arrowRight"
4276
+ });
3661
4277
  const handlePrevMonth = () => {
3662
4278
  const date = new Date(viewMonth());
3663
4279
  date.setMonth(date.getMonth() - 1);
@@ -3694,7 +4310,7 @@ var DatePickerHeader = (props) => {
3694
4310
  return view.getFullYear() === maxDate.getFullYear() && view.getMonth() === maxDate.getMonth();
3695
4311
  };
3696
4312
  return (() => {
3697
- var _el$2 = _tmpl$214(), _el$3 = _el$2.firstChild;
4313
+ var _el$2 = _tmpl$216(), _el$3 = _el$2.firstChild;
3698
4314
  spread(_el$2, mergeProps({
3699
4315
  get ["class"]() {
3700
4316
  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));
@@ -3712,9 +4328,13 @@ var DatePickerHeader = (props) => {
3712
4328
  },
3713
4329
  "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)]",
3714
4330
  get children() {
3715
- return createComponent(ArrowLeft, {
3716
- get ["class"]() {
3717
- return style("datePickerControlPrevTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700");
4331
+ return createComponent(IconRendererWrapper, {
4332
+ iconKey: "arrowLeft",
4333
+ "class": prevIconClass,
4334
+ get fallback() {
4335
+ return createComponent(ArrowLeft, {
4336
+ "class": prevIconClass
4337
+ });
3718
4338
  }
3719
4339
  });
3720
4340
  }
@@ -3735,9 +4355,13 @@ var DatePickerHeader = (props) => {
3735
4355
  },
3736
4356
  "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)]",
3737
4357
  get children() {
3738
- return createComponent(ArrowRight, {
3739
- get ["class"]() {
3740
- return style("datePickerControlNextTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700");
4358
+ return createComponent(IconRendererWrapper, {
4359
+ iconKey: "arrowRight",
4360
+ "class": nextIconClass,
4361
+ get fallback() {
4362
+ return createComponent(ArrowRight, {
4363
+ "class": nextIconClass
4364
+ });
3741
4365
  }
3742
4366
  });
3743
4367
  }
@@ -3842,7 +4466,7 @@ var DatePickerCalendar = (props) => {
3842
4466
  return days;
3843
4467
  };
3844
4468
  return (() => {
3845
- var _el$8 = _tmpl$55();
4469
+ var _el$8 = _tmpl$59();
3846
4470
  _el$8.$$click = (e) => e.stopPropagation();
3847
4471
  spread(_el$8, mergeProps({
3848
4472
  get ["class"]() {
@@ -3858,7 +4482,7 @@ var DatePickerCalendar = (props) => {
3858
4482
  })();
3859
4483
  };
3860
4484
  delegateEvents(["click"]);
3861
- var _tmpl$56 = /* @__PURE__ */ template(`<input>`);
4485
+ var _tmpl$60 = /* @__PURE__ */ template(`<input>`);
3862
4486
  var inputVariants = 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`), {
3863
4487
  variants: {
3864
4488
  variant: {
@@ -3878,7 +4502,7 @@ var Input = (props) => {
3878
4502
  const [local, rest] = splitProps(props, ["class", "appearanceKey"]);
3879
4503
  const style = useStyle();
3880
4504
  return (() => {
3881
- var _el$ = _tmpl$56();
4505
+ var _el$ = _tmpl$60();
3882
4506
  spread(_el$, mergeProps({
3883
4507
  get ["data-variant"]() {
3884
4508
  return props.variant;
@@ -3898,7 +4522,7 @@ var Input = (props) => {
3898
4522
  };
3899
4523
 
3900
4524
  // src/ui/components/primitives/TimePicker.tsx
3901
- var _tmpl$57 = /* @__PURE__ */ template(`<div><span>:</span><select><option value=AM>AM</option><option value=PM>PM`);
4525
+ var _tmpl$61 = /* @__PURE__ */ template(`<div><span>:</span><select><option value=AM>AM</option><option value=PM>PM`);
3902
4526
  var TimePicker = (props) => {
3903
4527
  const [local, rest] = splitProps(props, ["value", "onChange", "class", "appearanceKey"]);
3904
4528
  const style = useStyle();
@@ -3938,7 +4562,7 @@ var TimePicker = (props) => {
3938
4562
  }
3939
4563
  };
3940
4564
  return (() => {
3941
- var _el$ = _tmpl$57(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
4565
+ var _el$ = _tmpl$61(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
3942
4566
  _el$.$$click = (e) => e.stopPropagation();
3943
4567
  spread(_el$, mergeProps({
3944
4568
  get ["class"]() {
@@ -4026,7 +4650,7 @@ var enforceMinMax = (el) => {
4026
4650
  delegateEvents(["click"]);
4027
4651
 
4028
4652
  // src/ui/components/Notification/SnoozeDateTimePicker.tsx
4029
- var _tmpl$58 = /* @__PURE__ */ template(`<div><div><p></p></div><div>`);
4653
+ var _tmpl$62 = /* @__PURE__ */ template(`<div><div><p></p></div><div>`);
4030
4654
  var fiveMinutesFromNow = () => {
4031
4655
  const futureTime = new Date(Date.now() + 5 * 60 * 1e3);
4032
4656
  const hours = futureTime.getHours();
@@ -4123,7 +4747,7 @@ var SnoozeDateTimePicker = (props) => {
4123
4747
  return t("snooze.datePicker.noDateSelectedTooltip");
4124
4748
  });
4125
4749
  return (() => {
4126
- var _el$ = _tmpl$58(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling;
4750
+ var _el$ = _tmpl$62(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling;
4127
4751
  _el$.$$click = (e) => e.stopPropagation();
4128
4752
  insert(_el$, createComponent(DatePicker, {
4129
4753
  onDateChange: (date) => setSelectedDate(date),
@@ -4208,8 +4832,8 @@ var SnoozeDateTimePicker = (props) => {
4208
4832
  delegateEvents(["click"]);
4209
4833
 
4210
4834
  // src/ui/components/Notification/NotificationActions.tsx
4211
- var _tmpl$59 = /* @__PURE__ */ template(`<div><span>`);
4212
- var _tmpl$215 = /* @__PURE__ */ template(`<span>`);
4835
+ var _tmpl$63 = /* @__PURE__ */ template(`<div><span>`);
4836
+ var _tmpl$217 = /* @__PURE__ */ template(`<span>`);
4213
4837
  var SNOOZE_PRESETS = [{
4214
4838
  key: "snooze.options.anHourFromNow",
4215
4839
  hours: 1,
@@ -4251,11 +4875,18 @@ var formatSnoozeOption = (preset, t, locale) => {
4251
4875
  };
4252
4876
  var SnoozeDropdownItem = (props) => {
4253
4877
  const style = useStyle();
4878
+ const snoozeItemIconClass = style("notificationSnooze__dropdownItem__icon", "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2", {
4879
+ iconKey: "clock"
4880
+ });
4254
4881
  const content = [(() => {
4255
- var _el$ = _tmpl$59(), _el$2 = _el$.firstChild;
4256
- insert(_el$, createComponent(Clock, {
4257
- get ["class"]() {
4258
- return style("notificationSnooze__dropdownItem__icon", "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2");
4882
+ var _el$ = _tmpl$63(), _el$2 = _el$.firstChild;
4883
+ insert(_el$, createComponent(IconRendererWrapper, {
4884
+ iconKey: "clock",
4885
+ "class": snoozeItemIconClass,
4886
+ get fallback() {
4887
+ return createComponent(Clock, {
4888
+ "class": snoozeItemIconClass
4889
+ });
4259
4890
  }
4260
4891
  }), _el$2);
4261
4892
  insert(_el$2, () => props.label);
@@ -4270,7 +4901,7 @@ var SnoozeDropdownItem = (props) => {
4270
4901
  });
4271
4902
  return _el$;
4272
4903
  })(), (() => {
4273
- var _el$3 = _tmpl$215();
4904
+ var _el$3 = _tmpl$217();
4274
4905
  insert(_el$3, () => props.time);
4275
4906
  effect(() => className(_el$3, style("dropdownItemRight__icon", "nt-text-foreground-alpha-300 nt-ml-2 nt-text-xs")));
4276
4907
  return _el$3;
@@ -4298,6 +4929,9 @@ var ReadButton = (props) => {
4298
4929
  const {
4299
4930
  t
4300
4931
  } = useLocalization();
4932
+ const readIconClass = style("notificationRead__icon", "nt-size-3", {
4933
+ iconKey: "markAsRead"
4934
+ });
4301
4935
  return createComponent(Tooltip.Root, {
4302
4936
  get children() {
4303
4937
  return [createComponent(Tooltip.Trigger, {
@@ -4311,9 +4945,13 @@ var ReadButton = (props) => {
4311
4945
  yield props.notification.read();
4312
4946
  }),
4313
4947
  get children() {
4314
- return createComponent(MarkAsRead, {
4315
- get ["class"]() {
4316
- return style("notificationRead__icon", "nt-size-3");
4948
+ return createComponent(IconRendererWrapper, {
4949
+ iconKey: "markAsRead",
4950
+ "class": readIconClass,
4951
+ get fallback() {
4952
+ return createComponent(MarkAsRead, {
4953
+ "class": readIconClass
4954
+ });
4317
4955
  }
4318
4956
  });
4319
4957
  }
@@ -4332,6 +4970,9 @@ var UnreadButton = (props) => {
4332
4970
  const {
4333
4971
  t
4334
4972
  } = useLocalization();
4973
+ const unreadIconClass = style("notificationUnread__icon", "nt-size-3", {
4974
+ iconKey: "markAsUnread"
4975
+ });
4335
4976
  return createComponent(Tooltip.Root, {
4336
4977
  get children() {
4337
4978
  return [createComponent(Tooltip.Trigger, {
@@ -4345,9 +4986,13 @@ var UnreadButton = (props) => {
4345
4986
  yield props.notification.unread();
4346
4987
  }),
4347
4988
  get children() {
4348
- return createComponent(MarkAsUnread, {
4349
- get ["class"]() {
4350
- return style("notificationUnread__icon", "nt-size-3");
4989
+ return createComponent(IconRendererWrapper, {
4990
+ iconKey: "markAsUnread",
4991
+ "class": unreadIconClass,
4992
+ get fallback() {
4993
+ return createComponent(MarkAsUnread, {
4994
+ "class": unreadIconClass
4995
+ });
4351
4996
  }
4352
4997
  });
4353
4998
  }
@@ -4366,6 +5011,9 @@ var ArchiveButton = (props) => {
4366
5011
  const {
4367
5012
  t
4368
5013
  } = useLocalization();
5014
+ const archiveIconClass = style("notificationArchive__icon", "nt-size-3", {
5015
+ iconKey: "markAsArchived"
5016
+ });
4369
5017
  return createComponent(Tooltip.Root, {
4370
5018
  get children() {
4371
5019
  return [createComponent(Tooltip.Trigger, {
@@ -4379,9 +5027,13 @@ var ArchiveButton = (props) => {
4379
5027
  yield props.notification.archive();
4380
5028
  }),
4381
5029
  get children() {
4382
- return createComponent(MarkAsArchived, {
4383
- get ["class"]() {
4384
- return style("notificationArchive__icon", "nt-size-3");
5030
+ return createComponent(IconRendererWrapper, {
5031
+ iconKey: "markAsArchived",
5032
+ "class": archiveIconClass,
5033
+ get fallback() {
5034
+ return createComponent(MarkAsArchived, {
5035
+ "class": archiveIconClass
5036
+ });
4385
5037
  }
4386
5038
  });
4387
5039
  }
@@ -4400,6 +5052,9 @@ var UnarchiveButton = (props) => {
4400
5052
  const {
4401
5053
  t
4402
5054
  } = useLocalization();
5055
+ const unarchiveIconClass = style("notificationArchive__icon", "nt-size-3", {
5056
+ iconKey: "markAsUnarchived"
5057
+ });
4403
5058
  return createComponent(Tooltip.Root, {
4404
5059
  get children() {
4405
5060
  return [createComponent(Tooltip.Trigger, {
@@ -4413,9 +5068,13 @@ var UnarchiveButton = (props) => {
4413
5068
  yield props.notification.unarchive();
4414
5069
  }),
4415
5070
  get children() {
4416
- return createComponent(MarkAsUnarchived, {
4417
- get ["class"]() {
4418
- return style("notificationArchive__icon", "nt-size-3");
5071
+ return createComponent(IconRendererWrapper, {
5072
+ iconKey: "markAsUnarchived",
5073
+ "class": unarchiveIconClass,
5074
+ get fallback() {
5075
+ return createComponent(MarkAsUnarchived, {
5076
+ "class": unarchiveIconClass
5077
+ });
4419
5078
  }
4420
5079
  });
4421
5080
  }
@@ -4434,6 +5093,9 @@ var UnsnoozeButton = (props) => {
4434
5093
  const {
4435
5094
  t
4436
5095
  } = useLocalization();
5096
+ const unsnoozeIconClass = style("notificationUnsnooze__icon", "nt-size-3", {
5097
+ iconKey: "unsnooze"
5098
+ });
4437
5099
  return createComponent(Tooltip.Root, {
4438
5100
  get children() {
4439
5101
  return [createComponent(Tooltip.Trigger, {
@@ -4447,9 +5109,13 @@ var UnsnoozeButton = (props) => {
4447
5109
  yield props.notification.unsnooze();
4448
5110
  }),
4449
5111
  get children() {
4450
- return createComponent(Unsnooze, {
4451
- get ["class"]() {
4452
- return style("notificationUnsnooze__icon", "nt-size-3");
5112
+ return createComponent(IconRendererWrapper, {
5113
+ iconKey: "unsnooze",
5114
+ "class": unsnoozeIconClass,
5115
+ get fallback() {
5116
+ return createComponent(Unsnooze, {
5117
+ "class": unsnoozeIconClass
5118
+ });
4453
5119
  }
4454
5120
  });
4455
5121
  }
@@ -4473,6 +5139,9 @@ var SnoozeButton = (props) => {
4473
5139
  maxSnoozeDurationHours
4474
5140
  } = useInboxContext();
4475
5141
  const [isSnoozeDateTimePickerOpen, setIsSnoozeDateTimePickerOpen] = createSignal(false);
5142
+ const snoozeButtonIconClass = style("notificationSnooze__icon", "nt-size-3", {
5143
+ iconKey: "clock"
5144
+ });
4476
5145
  const availableSnoozePresets = createMemo(() => {
4477
5146
  if (!maxSnoozeDurationHours()) return SNOOZE_PRESETS;
4478
5147
  return SNOOZE_PRESETS.filter((preset) => preset.hours <= maxSnoozeDurationHours());
@@ -4494,9 +5163,13 @@ var SnoozeButton = (props) => {
4494
5163
  (_a = popoverProps.onClick) == null ? void 0 : _a.call(popoverProps, e);
4495
5164
  },
4496
5165
  get children() {
4497
- return createComponent(Snooze, {
4498
- get ["class"]() {
4499
- return style("notificationSnooze__icon", "nt-size-3");
5166
+ return createComponent(IconRendererWrapper, {
5167
+ iconKey: "clock",
5168
+ "class": snoozeButtonIconClass,
5169
+ get fallback() {
5170
+ return createComponent(Clock, {
5171
+ "class": snoozeButtonIconClass
5172
+ });
4500
5173
  }
4501
5174
  });
4502
5175
  }
@@ -4603,8 +5276,8 @@ var renderNotificationActions = (notification, status) => {
4603
5276
  };
4604
5277
 
4605
5278
  // src/ui/components/Notification/DefaultNotification.tsx
4606
- var _tmpl$60 = /* @__PURE__ */ template(`<img>`);
4607
- var _tmpl$216 = /* @__PURE__ */ template(`<div>`);
5279
+ var _tmpl$64 = /* @__PURE__ */ template(`<img>`);
5280
+ var _tmpl$218 = /* @__PURE__ */ template(`<div>`);
4608
5281
  var _tmpl$311 = /* @__PURE__ */ template(`<span>`);
4609
5282
  var _tmpl$410 = /* @__PURE__ */ template(`<a><div><div></div><div></div><div>`);
4610
5283
  var DefaultNotification = (props) => {
@@ -4618,6 +5291,12 @@ var DefaultNotification = (props) => {
4618
5291
  status
4619
5292
  } = useInboxContext();
4620
5293
  const [minutesPassed, setMinutesPassed] = createSignal(0);
5294
+ const deliveredAtIconClass = style("notificationDeliveredAt__icon", "nt-size-3", {
5295
+ iconKey: "clock"
5296
+ });
5297
+ const snoozedUntilIconClass = style("notificationSnoozedUntil__icon", "nt-size-3", {
5298
+ iconKey: "clock"
5299
+ });
4621
5300
  const createdAt = createMemo(() => {
4622
5301
  minutesPassed();
4623
5302
  return formatToRelativeTime({
@@ -4683,13 +5362,13 @@ var DefaultNotification = (props) => {
4683
5362
  },
4684
5363
  get fallback() {
4685
5364
  return (() => {
4686
- var _el$9 = _tmpl$216();
5365
+ var _el$9 = _tmpl$218();
4687
5366
  effect(() => className(_el$9, style("notificationImageLoadingFallback", "nt-size-8 nt-rounded-lg nt-shrink-0 nt-aspect-square")));
4688
5367
  return _el$9;
4689
5368
  })();
4690
5369
  },
4691
5370
  get children() {
4692
- var _el$2 = _tmpl$60();
5371
+ var _el$2 = _tmpl$64();
4693
5372
  effect((_p$) => {
4694
5373
  var _v$ = style("notificationImage", "nt-size-8 nt-rounded-lg nt-object-cover nt-aspect-square"), _v$2 = props.notification.avatar;
4695
5374
  _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
@@ -4713,7 +5392,7 @@ var DefaultNotification = (props) => {
4713
5392
  },
4714
5393
  children: (subject) => createComponent(Markdown_default, {
4715
5394
  appearanceKey: "notificationSubject",
4716
- "class": "nt-text-start nt-font-medium",
5395
+ "class": "nt-text-start nt-font-medium nt-whitespace-pre-wrap [word-break:break-word]",
4717
5396
  strongAppearanceKey: "notificationSubject__strong",
4718
5397
  get children() {
4719
5398
  return subject();
@@ -4733,7 +5412,7 @@ var DefaultNotification = (props) => {
4733
5412
  return createComponent(Markdown_default, {
4734
5413
  appearanceKey: "notificationBody",
4735
5414
  strongAppearanceKey: "notificationBody__strong",
4736
- "class": "nt-text-start nt-whitespace-pre-wrap nt-text-foreground-alpha-600",
5415
+ "class": "nt-text-start nt-whitespace-pre-wrap nt-text-foreground-alpha-600 [word-break:break-word]",
4737
5416
  get children() {
4738
5417
  return props.notification.body;
4739
5418
  }
@@ -4749,7 +5428,7 @@ var DefaultNotification = (props) => {
4749
5428
  return props.notification.primaryAction || props.notification.secondaryAction;
4750
5429
  },
4751
5430
  get children() {
4752
- var _el$6 = _tmpl$216();
5431
+ var _el$6 = _tmpl$218();
4753
5432
  insert(_el$6, createComponent(Show, {
4754
5433
  get when() {
4755
5434
  return props.notification.primaryAction;
@@ -4818,9 +5497,13 @@ var DefaultNotification = (props) => {
4818
5497
  return createComponent(Badge, {
4819
5498
  appearanceKey: "notificationDeliveredAt__badge",
4820
5499
  get children() {
4821
- return [createComponent(Clock, {
4822
- get ["class"]() {
4823
- return style("notificationDeliveredAt__icon", "nt-size-3");
5500
+ return [createComponent(IconRendererWrapper, {
5501
+ iconKey: "clock",
5502
+ "class": deliveredAtIconClass,
5503
+ get fallback() {
5504
+ return createComponent(Clock, {
5505
+ "class": deliveredAtIconClass
5506
+ });
4824
5507
  }
4825
5508
  }), date];
4826
5509
  }
@@ -4832,9 +5515,13 @@ var DefaultNotification = (props) => {
4832
5515
  })
4833
5516
  });
4834
5517
  },
4835
- children: (snoozedUntil2) => [createComponent(Clock, {
4836
- get ["class"]() {
4837
- return style("notificationSnoozedUntil__icon", "nt-size-3");
5518
+ children: (snoozedUntil2) => [createComponent(IconRendererWrapper, {
5519
+ iconKey: "clock",
5520
+ "class": snoozedUntilIconClass,
5521
+ get fallback() {
5522
+ return createComponent(Clock, {
5523
+ "class": snoozedUntilIconClass
5524
+ });
4838
5525
  }
4839
5526
  }), memo(() => t("notification.snoozedUntil")), " \xB7 ", memo(snoozedUntil2)]
4840
5527
  }));
@@ -4932,14 +5619,14 @@ var NewMessagesCta = (props) => {
4932
5619
  }
4933
5620
  });
4934
5621
  };
4935
- var _tmpl$61 = /* @__PURE__ */ template(`<div>`);
5622
+ var _tmpl$65 = /* @__PURE__ */ template(`<div>`);
4936
5623
  var NotificationListSkeleton = (props) => {
4937
5624
  const style = useStyle();
4938
5625
  const {
4939
5626
  t
4940
5627
  } = useLocalization();
4941
5628
  return (() => {
4942
- var _el$ = _tmpl$61();
5629
+ var _el$ = _tmpl$65();
4943
5630
  insert(_el$, createComponent(Motion.div, {
4944
5631
  get animate() {
4945
5632
  return {
@@ -4978,7 +5665,7 @@ var NotificationListSkeleton = (props) => {
4978
5665
  appearanceKey: "notificationList__skeletonAvatar",
4979
5666
  "class": "nt-w-8 nt-h-8 nt-rounded-full nt-bg-neutral-alpha-100"
4980
5667
  }), (() => {
4981
- var _el$3 = _tmpl$61();
5668
+ var _el$3 = _tmpl$65();
4982
5669
  insert(_el$3, createComponent(SkeletonText, {
4983
5670
  appearanceKey: "notificationList__skeletonText",
4984
5671
  "class": "nt-h-2 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded"
@@ -4992,7 +5679,7 @@ var NotificationListSkeleton = (props) => {
4992
5679
  })()];
4993
5680
  }
4994
5681
  }))), (() => {
4995
- var _el$2 = _tmpl$61();
5682
+ var _el$2 = _tmpl$65();
4996
5683
  effect(() => className(_el$2, style("notificationListEmptyNoticeOverlay", "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background")));
4997
5684
  return _el$2;
4998
5685
  })()];
@@ -5037,8 +5724,8 @@ var NotificationListSkeleton = (props) => {
5037
5724
  };
5038
5725
 
5039
5726
  // src/ui/components/Notification/NotificationList.tsx
5040
- var _tmpl$62 = /* @__PURE__ */ template(`<div>`);
5041
- var _tmpl$217 = /* @__PURE__ */ template(`<div><div>`);
5727
+ var _tmpl$66 = /* @__PURE__ */ template(`<div>`);
5728
+ var _tmpl$219 = /* @__PURE__ */ template(`<div><div>`);
5042
5729
  var NotificationList = (props) => {
5043
5730
  var _a, _b;
5044
5731
  const options = createMemo(() => __spreadProps(__spreadValues({}, props.filter), {
@@ -5081,7 +5768,7 @@ var NotificationList = (props) => {
5081
5768
  });
5082
5769
  });
5083
5770
  return (() => {
5084
- var _el$ = _tmpl$217(), _el$2 = _el$.firstChild;
5771
+ var _el$ = _tmpl$219(), _el$2 = _el$.firstChild;
5085
5772
  insert(_el$, createComponent(NewMessagesCta, {
5086
5773
  get count() {
5087
5774
  return count();
@@ -5138,7 +5825,7 @@ var NotificationList = (props) => {
5138
5825
  return !end();
5139
5826
  },
5140
5827
  get children() {
5141
- var _el$3 = _tmpl$62();
5828
+ var _el$3 = _tmpl$66();
5142
5829
  use(setEl, _el$3);
5143
5830
  insert(_el$3, createComponent(NotificationListSkeleton, {
5144
5831
  loading: true
@@ -5160,13 +5847,13 @@ var NotificationList = (props) => {
5160
5847
  return _el$;
5161
5848
  })();
5162
5849
  };
5163
- var _tmpl$63 = /* @__PURE__ */ template(`<span>`);
5850
+ var _tmpl$67 = /* @__PURE__ */ template(`<span>`);
5164
5851
  var getDisplayCount = (count) => count >= 100 ? "99+" : count;
5165
5852
  var InboxTabUnreadNotificationsCount = (props) => {
5166
5853
  const style = useStyle();
5167
5854
  const displayCount = createMemo(() => getDisplayCount(props.count));
5168
5855
  return (() => {
5169
- var _el$ = _tmpl$63();
5856
+ var _el$ = _tmpl$67();
5170
5857
  insert(_el$, displayCount);
5171
5858
  effect(() => className(_el$, style("notificationsTabsTriggerCount", "nt-rounded-full nt-bg-counter nt-px-[6px] nt-text-counter-foreground nt-text-sm")));
5172
5859
  return _el$;
@@ -5191,7 +5878,7 @@ var InboxTab = (props) => {
5191
5878
  },
5192
5879
  get children() {
5193
5880
  return [(() => {
5194
- var _el$2 = _tmpl$63();
5881
+ var _el$2 = _tmpl$67();
5195
5882
  insert(_el$2, () => props.label);
5196
5883
  effect(() => className(_el$2, style("notificationsTabsTriggerLabel", "nt-text-sm nt-font-medium")));
5197
5884
  return _el$2;
@@ -5229,7 +5916,7 @@ var InboxDropdownTab = (props) => {
5229
5916
  },
5230
5917
  get children() {
5231
5918
  return [(() => {
5232
- var _el$3 = _tmpl$63();
5919
+ var _el$3 = _tmpl$67();
5233
5920
  insert(_el$3, () => props.label);
5234
5921
  effect(() => className(_el$3, style("moreTabs__dropdownItemLabel", "nt-mr-auto")));
5235
5922
  return _el$3;
@@ -5271,15 +5958,25 @@ var InboxTabs = (props) => {
5271
5958
  tags: getTagsFromTab(tab)
5272
5959
  }))
5273
5960
  });
5961
+ const checkIconClass = style("moreTabs__dropdownItemRight__icon", "nt-size-3", {
5962
+ iconKey: "check"
5963
+ });
5274
5964
  const options = createMemo(() => dropdownTabs().map((tab) => __spreadProps(__spreadValues({}, tab), {
5275
- rightIcon: tab.label === activeTab() ? createComponent(Check, {
5276
- get ["class"]() {
5277
- return style("moreTabs__dropdownItemRight__icon", "nt-size-3");
5965
+ rightIcon: tab.label === activeTab() ? createComponent(IconRendererWrapper, {
5966
+ iconKey: "check",
5967
+ "class": checkIconClass,
5968
+ get fallback() {
5969
+ return createComponent(Check, {
5970
+ "class": checkIconClass
5971
+ });
5278
5972
  }
5279
5973
  }) : void 0
5280
5974
  })));
5281
5975
  const dropdownTabsUnreadSum = createMemo(() => dropdownTabsUnreadCounts().reduce((accumulator, currentValue) => accumulator + currentValue, 0));
5282
5976
  const isTabsDropdownActive = createMemo(() => dropdownTabs().map((tab) => tab.label).includes(activeTab()));
5977
+ const moreTabsIconClass = style("moreTabs__icon", "nt-size-5", {
5978
+ iconKey: "arrowDown"
5979
+ });
5283
5980
  return createComponent(Tabs.Root, {
5284
5981
  appearanceKey: "notificationsTabs__tabsRoot",
5285
5982
  "class": "nt-flex nt-flex-col nt-flex-1 nt-min-h-0",
@@ -5332,9 +6029,13 @@ var InboxTabs = (props) => {
5332
6029
  return cn(tabsDropdownTriggerVariants(), "nt-ml-auto", isTabsDropdownActive() ? "after:nt-border-b-primary" : "after:nt-border-b-transparent nt-text-foreground-alpha-700");
5333
6030
  },
5334
6031
  get children() {
5335
- return [createComponent(ArrowDown, {
5336
- get ["class"]() {
5337
- return style("moreTabs__icon", "nt-size-5");
6032
+ return [createComponent(IconRendererWrapper, {
6033
+ iconKey: "arrowDown",
6034
+ "class": moreTabsIconClass,
6035
+ get fallback() {
6036
+ return createComponent(ArrowDown, {
6037
+ "class": moreTabsIconClass
6038
+ });
5338
6039
  }
5339
6040
  }), createComponent(Show, {
5340
6041
  get when() {
@@ -5410,13 +6111,16 @@ var InboxTabs = (props) => {
5410
6111
  };
5411
6112
 
5412
6113
  // src/ui/components/Inbox.tsx
5413
- var _tmpl$64 = /* @__PURE__ */ template(`<div>`);
6114
+ var _tmpl$68 = /* @__PURE__ */ template(`<div>`);
5414
6115
  var InboxPage = /* @__PURE__ */ function(InboxPage2) {
5415
6116
  InboxPage2["Notifications"] = "notifications";
5416
6117
  InboxPage2["Preferences"] = "preferences";
5417
6118
  return InboxPage2;
5418
6119
  }({});
5419
6120
  var InboxContent = (props) => {
6121
+ const {
6122
+ isDevelopmentMode
6123
+ } = useInboxContext();
5420
6124
  const [currentPage, setCurrentPage] = createSignal(props.initialPage || InboxPage.Notifications);
5421
6125
  const {
5422
6126
  tabs,
@@ -5432,7 +6136,7 @@ var InboxContent = (props) => {
5432
6136
  };
5433
6137
  });
5434
6138
  return (() => {
5435
- var _el$ = _tmpl$64();
6139
+ var _el$ = _tmpl$68();
5436
6140
  insert(_el$, createComponent(Switch$1, {
5437
6141
  get children() {
5438
6142
  return [createComponent(Match, {
@@ -5516,7 +6220,10 @@ var InboxContent = (props) => {
5516
6220
  }
5517
6221
  }), null);
5518
6222
  insert(_el$, createComponent(Footer, {}), null);
5519
- effect(() => className(_el$, style("inboxContent", "nt-h-full nt-flex nt-flex-col")));
6223
+ effect(() => className(_el$, style("inboxContent", cn("nt-h-full nt-flex nt-flex-col [&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8", {
6224
+ "[&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8": isDevelopmentMode(),
6225
+ "[&_.nv-preferencesContainer]:nt-pb-4 [&_.nv-notificationList]:nt-pb-4": !isDevelopmentMode()
6226
+ }))));
5520
6227
  return _el$;
5521
6228
  })();
5522
6229
  };
@@ -5663,18 +6370,20 @@ var novuComponents = {
5663
6370
  var Renderer = (props) => {
5664
6371
  const nodes = () => [...props.nodes.keys()];
5665
6372
  onMount(() => {
5666
- const id = "novu-default-css";
5667
- const el = document.getElementById(id);
6373
+ var _a;
6374
+ const id = NOVU_DEFAULT_CSS_ID;
6375
+ const root = props.container instanceof ShadowRoot ? props.container : document;
6376
+ const el = root.getElementById(id);
5668
6377
  if (el) {
5669
6378
  return;
5670
6379
  }
5671
6380
  const styleEl = document.createElement("style");
5672
6381
  styleEl.id = id;
5673
- document.head.insertBefore(styleEl, document.head.firstChild);
5674
6382
  styleEl.innerHTML = ui_default;
6383
+ const stylesContainer = (_a = props.container) != null ? _a : document.head;
6384
+ stylesContainer.insertBefore(styleEl, stylesContainer.firstChild);
5675
6385
  onCleanup(() => {
5676
- const element = document.getElementById(id);
5677
- element == null ? void 0 : element.remove();
6386
+ styleEl.remove();
5678
6387
  });
5679
6388
  });
5680
6389
  return createComponent(NovuProvider, {
@@ -5697,6 +6406,9 @@ var Renderer = (props) => {
5697
6406
  get appearance() {
5698
6407
  return props.appearance;
5699
6408
  },
6409
+ get container() {
6410
+ return props.container;
6411
+ },
5700
6412
  get children() {
5701
6413
  return createComponent(FocusManagerProvider, {
5702
6414
  get children() {
@@ -5707,6 +6419,9 @@ var Renderer = (props) => {
5707
6419
  get preferencesFilter() {
5708
6420
  return props.preferencesFilter;
5709
6421
  },
6422
+ get preferenceGroups() {
6423
+ return props.preferenceGroups;
6424
+ },
5710
6425
  get routerPush() {
5711
6426
  return props.routerPush;
5712
6427
  },
@@ -5760,11 +6475,13 @@ var Renderer = (props) => {
5760
6475
  };
5761
6476
 
5762
6477
  // src/ui/novuUI.tsx
5763
- var _dispose, _rootElement, _mountedElements, _setMountedElements, _appearance, _setAppearance, _localization, _setLocalization, _options, _setOptions, _tabs, _setTabs, _routerPush, _setRouterPush, _preferencesFilter, _setPreferencesFilter, _predefinedNovu, _NovuUI_instances, mountComponentRenderer_fn, updateComponentProps_fn;
6478
+ 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;
5764
6479
  var NovuUI = class {
5765
6480
  constructor(props) {
5766
6481
  __privateAdd(this, _NovuUI_instances);
5767
6482
  __privateAdd(this, _dispose, null);
6483
+ __privateAdd(this, _container);
6484
+ __privateAdd(this, _setContainer);
5768
6485
  __privateAdd(this, _rootElement);
5769
6486
  __privateAdd(this, _mountedElements);
5770
6487
  __privateAdd(this, _setMountedElements);
@@ -5780,6 +6497,8 @@ var NovuUI = class {
5780
6497
  __privateAdd(this, _setRouterPush);
5781
6498
  __privateAdd(this, _preferencesFilter);
5782
6499
  __privateAdd(this, _setPreferencesFilter);
6500
+ __privateAdd(this, _preferenceGroups);
6501
+ __privateAdd(this, _setPreferenceGroups);
5783
6502
  __privateAdd(this, _predefinedNovu);
5784
6503
  var _a;
5785
6504
  this.id = generateRandomString(16);
@@ -5789,7 +6508,9 @@ var NovuUI = class {
5789
6508
  const [mountedElements, setMountedElements] = createSignal(/* @__PURE__ */ new Map());
5790
6509
  const [tabs, setTabs] = createSignal((_a = props.tabs) != null ? _a : []);
5791
6510
  const [preferencesFilter, setPreferencesFilter] = createSignal(props.preferencesFilter);
6511
+ const [preferenceGroups, setPreferenceGroups] = createSignal(props.preferenceGroups);
5792
6512
  const [routerPush, setRouterPush] = createSignal(props.routerPush);
6513
+ const [container, setContainer] = createSignal(__privateMethod(this, _NovuUI_instances, getContainerElement_fn).call(this, props.container));
5793
6514
  __privateSet(this, _mountedElements, mountedElements);
5794
6515
  __privateSet(this, _setMountedElements, setMountedElements);
5795
6516
  __privateSet(this, _appearance, appearance);
@@ -5805,6 +6526,10 @@ var NovuUI = class {
5805
6526
  __privateSet(this, _predefinedNovu, props.novu);
5806
6527
  __privateSet(this, _preferencesFilter, preferencesFilter);
5807
6528
  __privateSet(this, _setPreferencesFilter, setPreferencesFilter);
6529
+ __privateSet(this, _preferenceGroups, preferenceGroups);
6530
+ __privateSet(this, _setPreferenceGroups, setPreferenceGroups);
6531
+ __privateSet(this, _container, container);
6532
+ __privateSet(this, _setContainer, setContainer);
5808
6533
  __privateMethod(this, _NovuUI_instances, mountComponentRenderer_fn).call(this);
5809
6534
  }
5810
6535
  mountComponent({
@@ -5846,9 +6571,15 @@ var NovuUI = class {
5846
6571
  updatePreferencesFilter(preferencesFilter) {
5847
6572
  __privateGet(this, _setPreferencesFilter).call(this, preferencesFilter);
5848
6573
  }
6574
+ updatePreferenceGroups(preferenceGroups) {
6575
+ __privateGet(this, _setPreferenceGroups).call(this, preferenceGroups);
6576
+ }
5849
6577
  updateRouterPush(routerPush) {
5850
6578
  __privateGet(this, _setRouterPush).call(this, () => routerPush);
5851
6579
  }
6580
+ updateContainer(container) {
6581
+ __privateGet(this, _setContainer).call(this, __privateMethod(this, _NovuUI_instances, getContainerElement_fn).call(this, container));
6582
+ }
5852
6583
  unmount() {
5853
6584
  var _a, _b;
5854
6585
  (_a = __privateGet(this, _dispose)) == null ? void 0 : _a.call(this);
@@ -5857,6 +6588,8 @@ var NovuUI = class {
5857
6588
  }
5858
6589
  };
5859
6590
  _dispose = new WeakMap();
6591
+ _container = new WeakMap();
6592
+ _setContainer = new WeakMap();
5860
6593
  _rootElement = new WeakMap();
5861
6594
  _mountedElements = new WeakMap();
5862
6595
  _setMountedElements = new WeakMap();
@@ -5872,15 +6605,28 @@ _routerPush = new WeakMap();
5872
6605
  _setRouterPush = new WeakMap();
5873
6606
  _preferencesFilter = new WeakMap();
5874
6607
  _setPreferencesFilter = new WeakMap();
6608
+ _preferenceGroups = new WeakMap();
6609
+ _setPreferenceGroups = new WeakMap();
5875
6610
  _predefinedNovu = new WeakMap();
5876
6611
  _NovuUI_instances = new WeakSet();
6612
+ getContainerElement_fn = function(container) {
6613
+ var _a;
6614
+ if (container === null || container === void 0) {
6615
+ return container;
6616
+ }
6617
+ if (typeof container === "string") {
6618
+ return (_a = document.querySelector(container)) != null ? _a : document.getElementById(container);
6619
+ }
6620
+ return container;
6621
+ };
5877
6622
  mountComponentRenderer_fn = function() {
5878
6623
  if (__privateGet(this, _dispose) !== null) {
5879
6624
  return;
5880
6625
  }
5881
6626
  __privateSet(this, _rootElement, document.createElement("div"));
5882
6627
  __privateGet(this, _rootElement).setAttribute("id", `novu-ui-${this.id}`);
5883
- document.body.appendChild(__privateGet(this, _rootElement));
6628
+ const container = __privateGet(this, _container).call(this);
6629
+ (container != null ? container : document.body).appendChild(__privateGet(this, _rootElement));
5884
6630
  const dispose = render(() => {
5885
6631
  const _self$ = this;
5886
6632
  return createComponent(Renderer, {
@@ -5909,12 +6655,20 @@ mountComponentRenderer_fn = function() {
5909
6655
  var _a;
5910
6656
  return __privateGet(_a = _self$, _preferencesFilter).call(_a);
5911
6657
  },
6658
+ get preferenceGroups() {
6659
+ var _a;
6660
+ return __privateGet(_a = _self$, _preferenceGroups).call(_a);
6661
+ },
5912
6662
  get routerPush() {
5913
6663
  var _a;
5914
6664
  return __privateGet(_a = _self$, _routerPush).call(_a);
5915
6665
  },
5916
6666
  get novu() {
5917
6667
  return __privateGet(_self$, _predefinedNovu);
6668
+ },
6669
+ get container() {
6670
+ var _a;
6671
+ return __privateGet(_a = _self$, _container).call(_a);
5918
6672
  }
5919
6673
  });
5920
6674
  }, __privateGet(this, _rootElement));