@novu/js 3.3.1 → 3.5.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
- import { Novu, isSameFilter } from '../chunk-JKFCSXQM.mjs';
1
+ import { Novu, isSameFilter } from '../chunk-P4YVABAC.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
+ // _vl50ob9im:/Users/dimagrossman/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-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() {
@@ -918,24 +952,27 @@ var STATUS_TO_FILTER = {
918
952
  };
919
953
  var DEFAULT_LIMIT = 10;
920
954
  var InboxProvider = (props) => {
921
- var _a;
955
+ var _a, _b;
922
956
  const [isOpened, setIsOpened] = createSignal(false);
923
957
  const [tabs, setTabs] = createSignal(props.tabs);
924
958
  const [activeTab, setActiveTab] = createSignal((_a = props.tabs[0] && props.tabs[0].label) != null ? _a : "");
925
959
  const [status, setStatus] = createSignal("unreadRead" /* UNREAD_READ */);
926
960
  const [limit, setLimit] = createSignal(DEFAULT_LIMIT);
927
961
  const [filter, setFilter] = createSignal(__spreadProps(__spreadValues({}, STATUS_TO_FILTER["unreadRead" /* UNREAD_READ */]), {
928
- tags: props.tabs.length > 0 ? getTagsFromTab(props.tabs[0]) : []
962
+ tags: props.tabs.length > 0 ? getTagsFromTab(props.tabs[0]) : [],
963
+ data: props.tabs.length > 0 ? (_b = props.tabs[0].filter) == null ? void 0 : _b.data : {}
929
964
  }));
930
965
  const [hideBranding, setHideBranding] = createSignal(false);
931
966
  const [isDevelopmentMode, setIsDevelopmentMode] = createSignal(false);
932
967
  const [maxSnoozeDurationHours, setMaxSnoozeDurationHours] = createSignal(0);
933
968
  const isSnoozeEnabled = createMemo(() => maxSnoozeDurationHours() > 0);
934
969
  const [preferencesFilter, setPreferencesFilter] = createSignal(props.preferencesFilter);
970
+ const [preferenceGroups, setPreferenceGroups] = createSignal(props.preferenceGroups);
935
971
  const setNewStatus = (newStatus) => {
936
972
  setStatus(newStatus);
937
973
  setFilter((old) => __spreadProps(__spreadValues({}, STATUS_TO_FILTER[newStatus]), {
938
- tags: old.tags
974
+ tags: old.tags,
975
+ data: old.data
939
976
  }));
940
977
  };
941
978
  const setNewActiveTab = (newActiveTab) => {
@@ -945,9 +982,13 @@ var InboxProvider = (props) => {
945
982
  return;
946
983
  }
947
984
  setActiveTab(newActiveTab);
948
- setFilter((old) => __spreadProps(__spreadValues({}, old), {
949
- tags
950
- }));
985
+ setFilter((old) => {
986
+ var _a2;
987
+ return __spreadProps(__spreadValues({}, old), {
988
+ tags,
989
+ data: (_a2 = tab == null ? void 0 : tab.filter) == null ? void 0 : _a2.data
990
+ });
991
+ });
951
992
  };
952
993
  const navigate = (url, target) => {
953
994
  if (!url) {
@@ -972,10 +1013,15 @@ var InboxProvider = (props) => {
972
1013
  const firstTab = props.tabs[0];
973
1014
  const tags = getTagsFromTab(firstTab);
974
1015
  setActiveTab((_a2 = firstTab == null ? void 0 : firstTab.label) != null ? _a2 : "");
975
- setFilter((old) => __spreadProps(__spreadValues({}, old), {
976
- tags
977
- }));
1016
+ setFilter((old) => {
1017
+ var _a3;
1018
+ return __spreadProps(__spreadValues({}, old), {
1019
+ tags,
1020
+ data: (_a3 = firstTab == null ? void 0 : firstTab.filter) == null ? void 0 : _a3.data
1021
+ });
1022
+ });
978
1023
  setPreferencesFilter(props.preferencesFilter);
1024
+ setPreferenceGroups(props.preferenceGroups);
979
1025
  });
980
1026
  useNovuEvent({
981
1027
  event: "session.initialize.resolved",
@@ -1005,6 +1051,7 @@ var InboxProvider = (props) => {
1005
1051
  navigate,
1006
1052
  hideBranding,
1007
1053
  preferencesFilter,
1054
+ preferenceGroups,
1008
1055
  isDevelopmentMode,
1009
1056
  maxSnoozeDurationHours,
1010
1057
  isSnoozeEnabled
@@ -1059,12 +1106,16 @@ var CountProvider = (props) => {
1059
1106
  if (tabs().length === 0) {
1060
1107
  return;
1061
1108
  }
1062
- const filters = tabs().map((tab) => ({
1063
- tags: getTagsFromTab(tab),
1064
- read: false,
1065
- archived: false,
1066
- snoozed: false
1067
- }));
1109
+ const filters = tabs().map((tab) => {
1110
+ var _a;
1111
+ return {
1112
+ tags: getTagsFromTab(tab),
1113
+ read: false,
1114
+ archived: false,
1115
+ snoozed: false,
1116
+ data: (_a = tab.filter) == null ? void 0 : _a.data
1117
+ };
1118
+ });
1068
1119
  const {
1069
1120
  data
1070
1121
  } = yield novu.notifications.count({
@@ -1078,7 +1129,7 @@ var CountProvider = (props) => {
1078
1129
  counts
1079
1130
  } = data;
1080
1131
  for (let i = 0; i < counts.length; i += 1) {
1081
- const tagsKey = createKey(counts[i].filter.tags);
1132
+ const tagsKey = createKey(counts[i].filter.tags, counts[i].filter.data);
1082
1133
  newMap.set(tagsKey, data == null ? void 0 : data.counts[i].count);
1083
1134
  }
1084
1135
  setUnreadCounts(newMap);
@@ -1129,9 +1180,9 @@ var CountProvider = (props) => {
1129
1180
  return;
1130
1181
  }
1131
1182
  setNewNotificationCounts((oldMap) => {
1132
- const tagsKey = createKey(tags);
1183
+ const key = createKey(tags, tabFilter.data);
1133
1184
  const newMap = new Map(oldMap);
1134
- newMap.set(tagsKey, (oldMap.get(tagsKey) || 0) + 1);
1185
+ newMap.set(key, (oldMap.get(key) || 0) + 1);
1135
1186
  return newMap;
1136
1187
  });
1137
1188
  };
@@ -1144,8 +1195,9 @@ var CountProvider = (props) => {
1144
1195
  return;
1145
1196
  }
1146
1197
  const tagsMap = tabs().reduce((acc, tab) => {
1198
+ var _a;
1147
1199
  const tags = getTagsFromTab(tab);
1148
- const tagsKey = createKey(tags);
1200
+ const tagsKey = createKey(tags, (_a = tab.filter) == null ? void 0 : _a.data);
1149
1201
  acc.set(tagsKey, tags);
1150
1202
  return acc;
1151
1203
  }, /* @__PURE__ */ new Map());
@@ -1191,9 +1243,10 @@ var CountProvider = (props) => {
1191
1243
  }
1192
1244
  });
1193
1245
  };
1194
- var createKey = (tags) => {
1246
+ var createKey = (tags, data) => {
1195
1247
  return JSON.stringify({
1196
- tags: tags != null ? tags : []
1248
+ tags: tags != null ? tags : [],
1249
+ data: data != null ? data : {}
1197
1250
  });
1198
1251
  };
1199
1252
  var useTotalUnreadCount = () => {
@@ -1210,7 +1263,7 @@ var useNewMessagesCount = (props) => {
1210
1263
  if (!context) {
1211
1264
  throw new Error("useNewMessagesCount must be used within a CountProvider");
1212
1265
  }
1213
- const key = createMemo(() => createKey(props.filter.tags));
1266
+ const key = createMemo(() => createKey(props.filter.tags, props.filter.data));
1214
1267
  const count = createMemo(() => context.newNotificationCounts().get(key()) || 0);
1215
1268
  const reset = () => context.resetNewNotificationCounts(key());
1216
1269
  return {
@@ -1223,7 +1276,7 @@ var useUnreadCount = (props) => {
1223
1276
  if (!context) {
1224
1277
  throw new Error("useUnreadCount must be used within a CountProvider");
1225
1278
  }
1226
- const count = createMemo(() => context.unreadCounts().get(createKey(props.filter.tags)) || 0);
1279
+ const count = createMemo(() => context.unreadCounts().get(createKey(props.filter.tags, props.filter.data)) || 0);
1227
1280
  return count;
1228
1281
  };
1229
1282
  var useUnreadCounts = (props) => {
@@ -1232,11 +1285,12 @@ var useUnreadCounts = (props) => {
1232
1285
  throw new Error("useUnreadCounts must be used within a CountProvider");
1233
1286
  }
1234
1287
  const counts = createMemo(() => props.filters.map((filter) => {
1235
- return context.unreadCounts().get(createKey(filter.tags)) || 0;
1288
+ return context.unreadCounts().get(createKey(filter.tags, filter.data)) || 0;
1236
1289
  }));
1237
1290
  return counts;
1238
1291
  };
1239
1292
  function createFocusTrap({ element, enabled }) {
1293
+ const { container } = useAppearance();
1240
1294
  createEffect(() => {
1241
1295
  const trapElement = element();
1242
1296
  if (!trapElement || !enabled()) return;
@@ -1251,13 +1305,15 @@ function createFocusTrap({ element, enabled }) {
1251
1305
  const focusableElements2 = getFocusableElements();
1252
1306
  const firstFocusableElement = focusableElements2[0];
1253
1307
  const lastFocusableElement = focusableElements2[focusableElements2.length - 1];
1308
+ const containerElement = container();
1309
+ const root = containerElement instanceof ShadowRoot ? containerElement : document;
1254
1310
  if (event.shiftKey) {
1255
- if (document.activeElement === firstFocusableElement) {
1311
+ if (root.activeElement === firstFocusableElement) {
1256
1312
  lastFocusableElement.focus();
1257
1313
  event.preventDefault();
1258
1314
  }
1259
1315
  } else {
1260
- if (document.activeElement === lastFocusableElement) {
1316
+ if (root.activeElement === lastFocusableElement) {
1261
1317
  firstFocusableElement.focus();
1262
1318
  event.preventDefault();
1263
1319
  }
@@ -1344,144 +1400,203 @@ var ArrowLeft = (props) => {
1344
1400
  return _el$;
1345
1401
  })();
1346
1402
  };
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) {
1403
+ 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>`);
1404
+ var ArrowRight = (props) => {
1349
1405
  return (() => {
1350
1406
  var _el$ = _tmpl$4();
1351
1407
  spread(_el$, props, true, true);
1352
1408
  return _el$;
1353
1409
  })();
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) => {
1410
+ };
1411
+ 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>`);
1412
+ var ArrowDown = (props) => {
1357
1413
  return (() => {
1358
1414
  var _el$ = _tmpl$5();
1359
1415
  spread(_el$, props, true, true);
1360
1416
  return _el$;
1361
1417
  })();
1362
1418
  };
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) => {
1419
+ 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>`);
1420
+ function Bell(props) {
1365
1421
  return (() => {
1366
1422
  var _el$ = _tmpl$6();
1367
1423
  spread(_el$, props, true, true);
1368
1424
  return _el$;
1369
1425
  })();
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) => {
1426
+ }
1427
+ 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>`);
1428
+ var Chat = (props) => {
1373
1429
  return (() => {
1374
1430
  var _el$ = _tmpl$7();
1375
1431
  spread(_el$, props, true, true);
1376
1432
  return _el$;
1377
1433
  })();
1378
1434
  };
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) => {
1435
+ 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>`);
1436
+ var Check = (props) => {
1381
1437
  return (() => {
1382
1438
  var _el$ = _tmpl$8();
1383
1439
  spread(_el$, props, true, true);
1384
1440
  return _el$;
1385
1441
  })();
1386
1442
  };
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) => {
1443
+ 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>`);
1444
+ var Clock = (props) => {
1389
1445
  return (() => {
1390
1446
  var _el$ = _tmpl$9();
1391
1447
  spread(_el$, props, true, true);
1392
1448
  return _el$;
1393
1449
  })();
1394
1450
  };
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) => {
1451
+ 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">`);
1452
+ var Dots = (props) => {
1397
1453
  return (() => {
1398
1454
  var _el$ = _tmpl$10();
1399
1455
  spread(_el$, props, true, true);
1400
1456
  return _el$;
1401
1457
  })();
1402
1458
  };
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) => {
1459
+ 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>`);
1460
+ var Email = (props) => {
1405
1461
  return (() => {
1406
1462
  var _el$ = _tmpl$11();
1407
1463
  spread(_el$, props, true, true);
1408
1464
  return _el$;
1409
1465
  })();
1410
1466
  };
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) => {
1467
+ 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>`);
1468
+ var InApp = (props) => {
1413
1469
  return (() => {
1414
1470
  var _el$ = _tmpl$12();
1415
1471
  spread(_el$, props, true, true);
1416
1472
  return _el$;
1417
1473
  })();
1418
1474
  };
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) => {
1475
+ 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>`);
1476
+ var MarkAsArchived = (props) => {
1421
1477
  return (() => {
1422
1478
  var _el$ = _tmpl$13();
1423
1479
  spread(_el$, props, true, true);
1424
1480
  return _el$;
1425
1481
  })();
1426
1482
  };
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) => {
1483
+ 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>`);
1484
+ var MarkAsArchivedRead = (props) => {
1429
1485
  return (() => {
1430
1486
  var _el$ = _tmpl$14();
1431
1487
  spread(_el$, props, true, true);
1432
1488
  return _el$;
1433
1489
  })();
1434
1490
  };
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) => {
1491
+ 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)">`);
1492
+ var MarkAsRead = (props) => {
1437
1493
  return (() => {
1438
1494
  var _el$ = _tmpl$15();
1439
1495
  spread(_el$, props, true, true);
1440
1496
  return _el$;
1441
1497
  })();
1442
1498
  };
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) => {
1499
+ 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>`);
1500
+ var MarkAsUnarchived = (props) => {
1445
1501
  return (() => {
1446
1502
  var _el$ = _tmpl$16();
1447
1503
  spread(_el$, props, true, true);
1448
1504
  return _el$;
1449
1505
  })();
1450
1506
  };
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) => {
1507
+ 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>`);
1508
+ var MarkAsUnread = (props) => {
1453
1509
  return (() => {
1454
1510
  var _el$ = _tmpl$17();
1455
1511
  spread(_el$, props, true, true);
1456
1512
  return _el$;
1457
1513
  })();
1458
1514
  };
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) => {
1515
+ 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">`);
1516
+ var Novu2 = (props) => {
1461
1517
  return (() => {
1462
1518
  var _el$ = _tmpl$18();
1463
1519
  spread(_el$, props, true, true);
1464
1520
  return _el$;
1465
1521
  })();
1466
1522
  };
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) => {
1523
+ 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>`);
1524
+ var Push = (props) => {
1469
1525
  return (() => {
1470
1526
  var _el$ = _tmpl$19();
1471
1527
  spread(_el$, props, true, true);
1472
1528
  return _el$;
1473
1529
  })();
1474
1530
  };
1531
+ 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>`);
1532
+ var Cogs = (props) => {
1533
+ return (() => {
1534
+ var _el$ = _tmpl$20();
1535
+ spread(_el$, props, true, true);
1536
+ return _el$;
1537
+ })();
1538
+ };
1539
+ 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>`);
1540
+ var Sms = (props) => {
1541
+ return (() => {
1542
+ var _el$ = _tmpl$21();
1543
+ spread(_el$, props, true, true);
1544
+ return _el$;
1545
+ })();
1546
+ };
1547
+ 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>`);
1548
+ var Unread = (props) => {
1549
+ return (() => {
1550
+ var _el$ = _tmpl$22();
1551
+ spread(_el$, props, true, true);
1552
+ return _el$;
1553
+ })();
1554
+ };
1555
+ 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>`);
1556
+ var Unsnooze = (props) => {
1557
+ return (() => {
1558
+ var _el$ = _tmpl$23();
1559
+ spread(_el$, props, true, true);
1560
+ return _el$;
1561
+ })();
1562
+ };
1563
+ var IconRendererWrapper = (props) => {
1564
+ const appearance = useAppearance();
1565
+ const customRenderer = () => {
1566
+ var _a;
1567
+ return (_a = appearance.icons()) == null ? void 0 : _a[props.iconKey];
1568
+ };
1569
+ return createComponent(Show, {
1570
+ get when() {
1571
+ return customRenderer();
1572
+ },
1573
+ get fallback() {
1574
+ return props.fallback;
1575
+ },
1576
+ get children() {
1577
+ return createComponent(ExternalElementRenderer, {
1578
+ render: (el) => customRenderer()(el, {
1579
+ class: props.class
1580
+ })
1581
+ });
1582
+ }
1583
+ });
1584
+ };
1475
1585
 
1476
1586
  // src/ui/components/elements/Bell/DefaultBellContainer.tsx
1477
- var _tmpl$20 = /* @__PURE__ */ template(`<span>`);
1587
+ var _tmpl$24 = /* @__PURE__ */ template(`<span>`);
1478
1588
  var BellContainer = (props) => {
1479
1589
  const style = useStyle();
1590
+ const bellIconStyle = style("bellIcon", "nt-size-4");
1480
1591
  return (() => {
1481
- var _el$ = _tmpl$20();
1482
- insert(_el$, createComponent(Bell, {
1483
- get ["class"]() {
1484
- return style("bellIcon", "nt-size-4");
1592
+ var _el$ = _tmpl$24();
1593
+ insert(_el$, createComponent(IconRendererWrapper, {
1594
+ iconKey: "bell",
1595
+ "class": bellIconStyle,
1596
+ get fallback() {
1597
+ return createComponent(Bell, {
1598
+ "class": bellIconStyle
1599
+ });
1485
1600
  }
1486
1601
  }), null);
1487
1602
  insert(_el$, createComponent(Show, {
@@ -1489,7 +1604,7 @@ var BellContainer = (props) => {
1489
1604
  return props.unreadCount > 0;
1490
1605
  },
1491
1606
  get children() {
1492
- var _el$2 = _tmpl$20();
1607
+ var _el$2 = _tmpl$24();
1493
1608
  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
1609
  return _el$2;
1495
1610
  }
@@ -1529,8 +1644,8 @@ function isBrowser() {
1529
1644
  }
1530
1645
 
1531
1646
  // 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`);
1647
+ var _tmpl$25 = /* @__PURE__ */ template(`<span class="nt-z-10 nt-text-xs nt-text-stripes">Development mode`);
1648
+ var _tmpl$26 = /* @__PURE__ */ template(`<span class="nt-z-10 nt-text-xs">\u2022`);
1534
1649
  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
1650
  var _tmpl$42 = /* @__PURE__ */ template(`<div>`);
1536
1651
  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 +1669,7 @@ var Footer = () => {
1554
1669
  return isDevelopmentMode();
1555
1670
  },
1556
1671
  get children() {
1557
- return _tmpl$21();
1672
+ return _tmpl$25();
1558
1673
  }
1559
1674
  }), null);
1560
1675
  insert(_el$, createComponent(Show, {
@@ -1562,7 +1677,7 @@ var Footer = () => {
1562
1677
  return memo(() => !!isDevelopmentMode())() && !hideBranding();
1563
1678
  },
1564
1679
  get children() {
1565
- return _tmpl$22();
1680
+ return _tmpl$26();
1566
1681
  }
1567
1682
  }), null);
1568
1683
  insert(_el$, createComponent(Show, {
@@ -1594,7 +1709,7 @@ function getCurrentDomain() {
1594
1709
  }
1595
1710
  return "";
1596
1711
  }
1597
- var _tmpl$23 = /* @__PURE__ */ template(`<button>`);
1712
+ var _tmpl$27 = /* @__PURE__ */ template(`<button>`);
1598
1713
  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
1714
  variants: {
1600
1715
  variant: {
@@ -1621,7 +1736,7 @@ var Button = (props) => {
1621
1736
  const [local, rest] = splitProps(props, ["class", "appearanceKey"]);
1622
1737
  const style = useStyle();
1623
1738
  return (() => {
1624
- var _el$ = _tmpl$23();
1739
+ var _el$ = _tmpl$27();
1625
1740
  spread(_el$, mergeProps({
1626
1741
  get ["data-variant"]() {
1627
1742
  return props.variant;
@@ -1639,7 +1754,7 @@ var Button = (props) => {
1639
1754
  return _el$;
1640
1755
  })();
1641
1756
  };
1642
- var _tmpl$24 = /* @__PURE__ */ template(`<button>`);
1757
+ var _tmpl$28 = /* @__PURE__ */ template(`<button>`);
1643
1758
  var PopoverClose = (props) => {
1644
1759
  const {
1645
1760
  onClose
@@ -1661,7 +1776,7 @@ var PopoverClose = (props) => {
1661
1776
  }, rest));
1662
1777
  }
1663
1778
  return (() => {
1664
- var _el$ = _tmpl$24();
1779
+ var _el$ = _tmpl$28();
1665
1780
  _el$.$$click = handleClick;
1666
1781
  spread(_el$, mergeProps({
1667
1782
  get ["class"]() {
@@ -1672,12 +1787,12 @@ var PopoverClose = (props) => {
1672
1787
  })();
1673
1788
  };
1674
1789
  delegateEvents(["click"]);
1675
- var _tmpl$25 = /* @__PURE__ */ template(`<div>`);
1790
+ var _tmpl$29 = /* @__PURE__ */ template(`<div>`);
1676
1791
  var Portal = (props) => {
1677
1792
  const appearance = useAppearance();
1678
1793
  let currentElement;
1679
1794
  return [(() => {
1680
- var _el$ = _tmpl$25();
1795
+ var _el$ = _tmpl$29();
1681
1796
  use((el) => {
1682
1797
  currentElement = el;
1683
1798
  }, _el$);
@@ -1760,7 +1875,7 @@ function usePopover() {
1760
1875
  }
1761
1876
 
1762
1877
  // src/ui/components/primitives/Popover/PopoverContent.tsx
1763
- var _tmpl$26 = /* @__PURE__ */ template(`<div>`);
1878
+ var _tmpl$30 = /* @__PURE__ */ template(`<div>`);
1764
1879
  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
1880
  var PopoverContentBody = (props) => {
1766
1881
  const {
@@ -1783,7 +1898,7 @@ var PopoverContentBody = (props) => {
1783
1898
  });
1784
1899
  });
1785
1900
  return (() => {
1786
- var _el$ = _tmpl$26();
1901
+ var _el$ = _tmpl$30();
1787
1902
  use(setFloating, _el$);
1788
1903
  spread(_el$, mergeProps({
1789
1904
  get ["class"]() {
@@ -1809,12 +1924,16 @@ var PopoverContent = (props) => {
1809
1924
  const {
1810
1925
  active
1811
1926
  } = useFocusManager();
1927
+ const {
1928
+ container
1929
+ } = useAppearance();
1812
1930
  const handleClickOutside = (e) => {
1813
1931
  var _a, _b;
1814
1932
  if ((_a = reference()) == null ? void 0 : _a.contains(e.target)) {
1815
1933
  return;
1816
1934
  }
1817
- if (active() !== floating() || ((_b = floating()) == null ? void 0 : _b.contains(e.target))) {
1935
+ const containerElement = container();
1936
+ if (active() !== floating() || ((_b = floating()) == null ? void 0 : _b.contains(e.target)) || containerElement && e.target.shadowRoot === containerElement) {
1818
1937
  return;
1819
1938
  }
1820
1939
  onClose();
@@ -1823,16 +1942,20 @@ var PopoverContent = (props) => {
1823
1942
  if (active() !== floating()) {
1824
1943
  return;
1825
1944
  }
1826
- if (e.key === "Escape") {
1945
+ if (e instanceof KeyboardEvent && e.key === "Escape") {
1827
1946
  onClose();
1828
1947
  }
1829
1948
  };
1830
1949
  onMount(() => {
1950
+ var _a;
1831
1951
  document.body.addEventListener("click", handleClickOutside);
1952
+ (_a = container()) == null ? void 0 : _a.addEventListener("click", handleClickOutside);
1832
1953
  document.body.addEventListener("keydown", handleEscapeKey);
1833
1954
  });
1834
1955
  onCleanup(() => {
1956
+ var _a;
1835
1957
  document.body.removeEventListener("click", handleClickOutside);
1958
+ (_a = container()) == null ? void 0 : _a.removeEventListener("click", handleClickOutside);
1836
1959
  document.body.removeEventListener("keydown", handleEscapeKey);
1837
1960
  });
1838
1961
  return createComponent(Show, {
@@ -1860,7 +1983,7 @@ function mergeRefs(...refs) {
1860
1983
  }
1861
1984
 
1862
1985
  // src/ui/components/primitives/Popover/PopoverTrigger.tsx
1863
- var _tmpl$27 = /* @__PURE__ */ template(`<button>`);
1986
+ var _tmpl$31 = /* @__PURE__ */ template(`<button>`);
1864
1987
  var PopoverTrigger = (props) => {
1865
1988
  const {
1866
1989
  setReference,
@@ -1888,7 +2011,7 @@ var PopoverTrigger = (props) => {
1888
2011
  }, rest));
1889
2012
  }
1890
2013
  return (() => {
1891
- var _el$ = _tmpl$27();
2014
+ var _el$ = _tmpl$31();
1892
2015
  _el$.$$click = handleClick;
1893
2016
  var _ref$2 = ref();
1894
2017
  typeof _ref$2 === "function" && use(_ref$2, _el$);
@@ -2027,26 +2150,33 @@ var useKeyboardNavigation = ({
2027
2150
  setActiveTab,
2028
2151
  tabsContainer
2029
2152
  }) => {
2153
+ const { container } = useAppearance();
2030
2154
  const [keyboardNavigation, setKeyboardNavigation] = createSignal(false);
2155
+ const getRoot = () => {
2156
+ const containerElement = container();
2157
+ return containerElement instanceof ShadowRoot ? containerElement : document;
2158
+ };
2031
2159
  createEffect(() => {
2160
+ const root = getRoot();
2032
2161
  const handleTabKey = (event) => {
2033
2162
  var _a;
2034
- if (event.key !== "Tab") {
2163
+ if (!(event instanceof KeyboardEvent) || event.key !== "Tab") {
2035
2164
  return;
2036
2165
  }
2037
2166
  const tabs = (_a = tabsContainer()) == null ? void 0 : _a.querySelectorAll('[role="tab"]');
2038
- if (!tabs || !document.activeElement) {
2167
+ if (!tabs || !root.activeElement) {
2039
2168
  return;
2040
2169
  }
2041
- setKeyboardNavigation(Array.from(tabs).includes(document.activeElement));
2170
+ setKeyboardNavigation(Array.from(tabs).includes(root.activeElement));
2042
2171
  };
2043
- document.addEventListener("keyup", handleTabKey);
2044
- return onCleanup(() => document.removeEventListener("keyup", handleTabKey));
2172
+ root.addEventListener("keyup", handleTabKey);
2173
+ return onCleanup(() => root.removeEventListener("keyup", handleTabKey));
2045
2174
  });
2046
2175
  createEffect(() => {
2176
+ const root = getRoot();
2047
2177
  const handleArrowKeys = (event) => {
2048
2178
  var _a, _b;
2049
- if (!keyboardNavigation() || event.key !== "ArrowLeft" && event.key !== "ArrowRight") {
2179
+ if (!keyboardNavigation() || !(event instanceof KeyboardEvent) || event.key !== "ArrowLeft" && event.key !== "ArrowRight") {
2050
2180
  return;
2051
2181
  }
2052
2182
  const tabElements = Array.from((_b = (_a = tabsContainer()) == null ? void 0 : _a.querySelectorAll('[role="tab"]')) != null ? _b : []);
@@ -2065,13 +2195,13 @@ var useKeyboardNavigation = ({
2065
2195
  tabElements[activeIndex].focus();
2066
2196
  setActiveTab(newTab);
2067
2197
  };
2068
- document.addEventListener("keydown", handleArrowKeys);
2069
- return onCleanup(() => document.removeEventListener("keydown", handleArrowKeys));
2198
+ root.addEventListener("keydown", handleArrowKeys);
2199
+ return onCleanup(() => root.removeEventListener("keydown", handleArrowKeys));
2070
2200
  });
2071
2201
  };
2072
2202
 
2073
2203
  // src/ui/components/primitives/Tabs/TabsRoot.tsx
2074
- var _tmpl$28 = /* @__PURE__ */ template(`<div>`);
2204
+ var _tmpl$33 = /* @__PURE__ */ template(`<div>`);
2075
2205
  var TabsContext = createContext(void 0);
2076
2206
  var useTabsContext = () => {
2077
2207
  const context = useContext(TabsContext);
@@ -2110,7 +2240,7 @@ var TabsRoot = (props) => {
2110
2240
  setVisibleTabs
2111
2241
  },
2112
2242
  get children() {
2113
- var _el$ = _tmpl$28();
2243
+ var _el$ = _tmpl$33();
2114
2244
  use(setTabsContainer, _el$);
2115
2245
  spread(_el$, mergeProps({
2116
2246
  get ["class"]() {
@@ -2124,7 +2254,7 @@ var TabsRoot = (props) => {
2124
2254
  };
2125
2255
 
2126
2256
  // src/ui/components/primitives/Tabs/TabsContent.tsx
2127
- var _tmpl$29 = /* @__PURE__ */ template(`<div role=tabpanel>`);
2257
+ var _tmpl$34 = /* @__PURE__ */ template(`<div role=tabpanel>`);
2128
2258
  var TabsContent = (props) => {
2129
2259
  const [local, rest] = splitProps(props, ["value", "class", "appearanceKey", "children"]);
2130
2260
  const style = useStyle();
@@ -2136,7 +2266,7 @@ var TabsContent = (props) => {
2136
2266
  return activeTab() === local.value;
2137
2267
  },
2138
2268
  get children() {
2139
- var _el$ = _tmpl$29();
2269
+ var _el$ = _tmpl$34();
2140
2270
  spread(_el$, mergeProps({
2141
2271
  get ["class"]() {
2142
2272
  return memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "tabsContent", activeTab() === local.value ? "nt-block" : "nt-hidden");
@@ -2156,14 +2286,14 @@ var TabsContent = (props) => {
2156
2286
  }
2157
2287
  });
2158
2288
  };
2159
- var _tmpl$30 = /* @__PURE__ */ template(`<div role=tablist>`);
2289
+ var _tmpl$35 = /* @__PURE__ */ template(`<div role=tablist>`);
2160
2290
  var _tmpl$210 = /* @__PURE__ */ template(`<div class="nt-relative nt-z-[-1]">`);
2161
2291
  var tabsListVariants = () => "nt-flex nt-gap-6";
2162
2292
  var TabsList = (props) => {
2163
2293
  const [local, rest] = splitProps(props, ["class", "appearanceKey", "ref", "children"]);
2164
2294
  const style = useStyle();
2165
2295
  return [(() => {
2166
- var _el$ = _tmpl$30();
2296
+ var _el$ = _tmpl$35();
2167
2297
  var _ref$ = local.ref;
2168
2298
  typeof _ref$ === "function" ? use(_ref$, _el$) : local.ref = _el$;
2169
2299
  spread(_el$, mergeProps({
@@ -2244,28 +2374,23 @@ var inboxFilterLocalizationKeys = {
2244
2374
  archived: "inbox.filters.labels.archived",
2245
2375
  snoozed: "inbox.filters.labels.snoozed"
2246
2376
  };
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>`);
2377
+ var _tmpl$36 = /* @__PURE__ */ template(`<span><span>`);
2378
+ var _tmpl$211 = /* @__PURE__ */ template(`<span>`);
2258
2379
  var cases = [{
2259
2380
  status: "unreadRead" /* UNREAD_READ */,
2260
- icon: UnreadRead
2381
+ iconKey: "unread",
2382
+ icon: Unread
2261
2383
  }, {
2262
2384
  status: "unread" /* UNREAD */,
2385
+ iconKey: "unread",
2263
2386
  icon: MarkAsUnread
2264
2387
  }, {
2265
2388
  status: "snoozed" /* SNOOZED */,
2266
- icon: Snooze
2389
+ iconKey: "clock",
2390
+ icon: Clock
2267
2391
  }, {
2268
2392
  status: "archived" /* ARCHIVED */,
2393
+ iconKey: "markAsArchived",
2269
2394
  icon: MarkAsArchived
2270
2395
  }];
2271
2396
  var StatusOptions = (props) => {
@@ -2291,6 +2416,9 @@ var StatusOptions = (props) => {
2291
2416
  },
2292
2417
  get icon() {
2293
2418
  return c.icon;
2419
+ },
2420
+ get iconKey() {
2421
+ return c.iconKey;
2294
2422
  }
2295
2423
  })
2296
2424
  });
@@ -2300,6 +2428,12 @@ var StatusItem = (props) => {
2300
2428
  const {
2301
2429
  t
2302
2430
  } = useLocalization();
2431
+ const itemIconClass = style("inboxStatus__dropdownItemLeft__icon", "nt-size-3", {
2432
+ iconKey: props.iconKey
2433
+ });
2434
+ const checkIconClass = style("inboxStatus__dropdownItemCheck__icon", "nt-size-3", {
2435
+ iconKey: "check"
2436
+ });
2303
2437
  return createComponent(Dropdown.Item, {
2304
2438
  get ["class"]() {
2305
2439
  return style("inboxStatus__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-8 nt-justify-between"));
@@ -2309,21 +2443,32 @@ var StatusItem = (props) => {
2309
2443
  },
2310
2444
  get children() {
2311
2445
  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));
2446
+ var _el$ = _tmpl$36(), _el$2 = _el$.firstChild;
2447
+ insert(_el$, createComponent(IconRendererWrapper, {
2448
+ get iconKey() {
2449
+ return props.iconKey;
2450
+ },
2451
+ "class": itemIconClass,
2452
+ get fallback() {
2453
+ return (() => {
2454
+ var _el$3 = _tmpl$211();
2455
+ className(_el$3, itemIconClass);
2456
+ insert(_el$3, () => props.icon());
2457
+ return _el$3;
2458
+ })();
2459
+ }
2460
+ }), _el$2);
2461
+ insert(_el$2, () => t(props.localizationKey));
2315
2462
  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");
2463
+ 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
2464
  _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);
2465
+ _v$2 !== _p$.t && setAttribute(_el$2, "data-localization", _p$.t = _v$2);
2466
+ _v$3 !== _p$.a && className(_el$2, _p$.a = _v$3);
2321
2467
  return _p$;
2322
2468
  }, {
2323
2469
  e: void 0,
2324
2470
  t: void 0,
2325
- a: void 0,
2326
- o: void 0
2471
+ a: void 0
2327
2472
  });
2328
2473
  return _el$;
2329
2474
  })(), createComponent(Show, {
@@ -2331,9 +2476,13 @@ var StatusItem = (props) => {
2331
2476
  return props.isSelected;
2332
2477
  },
2333
2478
  get children() {
2334
- return createComponent(Check, {
2335
- get ["class"]() {
2336
- return style("inboxStatus__dropdownItemCheck__icon", "nt-size-3");
2479
+ return createComponent(IconRendererWrapper, {
2480
+ iconKey: "check",
2481
+ "class": checkIconClass,
2482
+ get fallback() {
2483
+ return createComponent(Check, {
2484
+ "class": checkIconClass
2485
+ });
2337
2486
  }
2338
2487
  });
2339
2488
  }
@@ -2343,7 +2492,7 @@ var StatusItem = (props) => {
2343
2492
  };
2344
2493
 
2345
2494
  // src/ui/components/elements/InboxStatus/InboxStatusDropdown.tsx
2346
- var _tmpl$34 = /* @__PURE__ */ template(`<span>`);
2495
+ var _tmpl$37 = /* @__PURE__ */ template(`<span>`);
2347
2496
  var StatusDropdown = () => {
2348
2497
  const style = useStyle();
2349
2498
  const {
@@ -2353,6 +2502,9 @@ var StatusDropdown = () => {
2353
2502
  const {
2354
2503
  t
2355
2504
  } = useLocalization();
2505
+ const arrowDropDownIconClass = style("inboxStatus__dropdownItemRight__icon", "nt-text-foreground-alpha-600 nt-size-4", {
2506
+ iconKey: "arrowDropDown"
2507
+ });
2356
2508
  return createComponent(Dropdown.Root, {
2357
2509
  get children() {
2358
2510
  return [createComponent(Dropdown.Trigger, {
@@ -2368,7 +2520,7 @@ var StatusDropdown = () => {
2368
2520
  }, triggerProps, {
2369
2521
  get children() {
2370
2522
  return [(() => {
2371
- var _el$ = _tmpl$34();
2523
+ var _el$ = _tmpl$37();
2372
2524
  insert(_el$, () => t(inboxFilterLocalizationKeys[status()]));
2373
2525
  effect((_p$) => {
2374
2526
  var _v$ = inboxFilterLocalizationKeys[status()], _v$2 = style("inboxStatus__title", "nt-text-base");
@@ -2380,9 +2532,13 @@ var StatusDropdown = () => {
2380
2532
  t: void 0
2381
2533
  });
2382
2534
  return _el$;
2383
- })(), createComponent(ArrowDropDown, {
2384
- get ["class"]() {
2385
- return style("inboxStatus__dropdownItemRight__icon", "nt-text-foreground-alpha-600 nt-size-4");
2535
+ })(), createComponent(IconRendererWrapper, {
2536
+ iconKey: "arrowDropDown",
2537
+ "class": arrowDropDownIconClass,
2538
+ get fallback() {
2539
+ return createComponent(ArrowDropDown, {
2540
+ "class": arrowDropDownIconClass
2541
+ });
2386
2542
  }
2387
2543
  })];
2388
2544
  }
@@ -2405,10 +2561,13 @@ var StatusDropdown = () => {
2405
2561
  // src/ui/api/hooks/useArchiveAll.ts
2406
2562
  var useArchiveAll = (props) => {
2407
2563
  const novu = useNovu();
2408
- const archiveAll = (..._0) => __async(void 0, [..._0], function* ({ tags } = {}) {
2564
+ const archiveAll = (..._0) => __async(void 0, [..._0], function* ({
2565
+ tags,
2566
+ data
2567
+ } = {}) {
2409
2568
  var _a, _b;
2410
2569
  try {
2411
- yield novu.notifications.archiveAll({ tags });
2570
+ yield novu.notifications.archiveAll({ tags, data });
2412
2571
  (_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
2413
2572
  } catch (error) {
2414
2573
  (_b = void 0 ) == null ? void 0 : _b.call(props, error);
@@ -2420,10 +2579,13 @@ var useArchiveAll = (props) => {
2420
2579
  // src/ui/api/hooks/useArchiveAllRead.ts
2421
2580
  var useArchiveAllRead = (props) => {
2422
2581
  const novu = useNovu();
2423
- const archiveAllRead = (..._0) => __async(void 0, [..._0], function* ({ tags } = {}) {
2582
+ const archiveAllRead = (..._0) => __async(void 0, [..._0], function* ({
2583
+ tags,
2584
+ data
2585
+ } = {}) {
2424
2586
  var _a, _b;
2425
2587
  try {
2426
- yield novu.notifications.archiveAllRead({ tags });
2588
+ yield novu.notifications.archiveAllRead({ tags, data });
2427
2589
  (_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
2428
2590
  } catch (error) {
2429
2591
  (_b = void 0 ) == null ? void 0 : _b.call(props, error);
@@ -2500,10 +2662,13 @@ var usePreferences = (options) => {
2500
2662
  // src/ui/api/hooks/useReadAll.ts
2501
2663
  var useReadAll = (props) => {
2502
2664
  const novu = useNovu();
2503
- const readAll = (..._0) => __async(void 0, [..._0], function* ({ tags } = {}) {
2665
+ const readAll = (..._0) => __async(void 0, [..._0], function* ({
2666
+ tags,
2667
+ data
2668
+ } = {}) {
2504
2669
  var _a, _b;
2505
2670
  try {
2506
- yield novu.notifications.readAll({ tags });
2671
+ yield novu.notifications.readAll({ tags, data });
2507
2672
  (_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
2508
2673
  } catch (error) {
2509
2674
  (_b = void 0 ) == null ? void 0 : _b.call(props, error);
@@ -2513,7 +2678,12 @@ var useReadAll = (props) => {
2513
2678
  };
2514
2679
 
2515
2680
  // src/ui/components/elements/Header/MoreActionsOptions.tsx
2516
- var _tmpl$35 = /* @__PURE__ */ template(`<span>`);
2681
+ var _tmpl$38 = /* @__PURE__ */ template(`<span>`);
2682
+ var iconKeyToComponentMap = {
2683
+ markAsRead: MarkAsRead,
2684
+ markAsArchived: MarkAsArchived,
2685
+ markAsArchivedRead: MarkAsArchivedRead
2686
+ };
2517
2687
  var MoreActionsOptions = () => {
2518
2688
  const {
2519
2689
  filter
@@ -2530,21 +2700,24 @@ var MoreActionsOptions = () => {
2530
2700
  return [createComponent(ActionsItem, {
2531
2701
  localizationKey: "notifications.actions.readAll",
2532
2702
  onClick: () => readAll({
2533
- tags: filter().tags
2703
+ tags: filter().tags,
2704
+ data: filter().data
2534
2705
  }),
2535
- icon: MarkAsRead
2706
+ iconKey: "markAsRead"
2536
2707
  }), createComponent(ActionsItem, {
2537
2708
  localizationKey: "notifications.actions.archiveAll",
2538
2709
  onClick: () => archiveAll({
2539
- tags: filter().tags
2710
+ tags: filter().tags,
2711
+ data: filter().data
2540
2712
  }),
2541
- icon: MarkAsArchived
2713
+ iconKey: "markAsArchived"
2542
2714
  }), createComponent(ActionsItem, {
2543
2715
  localizationKey: "notifications.actions.archiveRead",
2544
2716
  onClick: () => archiveAllRead({
2545
- tags: filter().tags
2717
+ tags: filter().tags,
2718
+ data: filter().data
2546
2719
  }),
2547
- icon: MarkAsArchivedRead
2720
+ iconKey: "markAsArchivedRead"
2548
2721
  })];
2549
2722
  };
2550
2723
  var ActionsItem = (props) => {
@@ -2552,6 +2725,10 @@ var ActionsItem = (props) => {
2552
2725
  const {
2553
2726
  t
2554
2727
  } = useLocalization();
2728
+ const DefaultIconComponent = iconKeyToComponentMap[props.iconKey];
2729
+ const moreActionsIconClass = style("moreActions__dropdownItemLeft__icon", "nt-size-3", {
2730
+ iconKey: props.iconKey
2731
+ });
2555
2732
  return createComponent(Dropdown.Item, {
2556
2733
  get ["class"]() {
2557
2734
  return style("moreActions__dropdownItem", cn(dropdownItemVariants(), "nt-flex nt-gap-2"));
@@ -2560,24 +2737,29 @@ var ActionsItem = (props) => {
2560
2737
  return props.onClick;
2561
2738
  },
2562
2739
  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));
2740
+ return [createComponent(IconRendererWrapper, {
2741
+ get iconKey() {
2742
+ return props.iconKey;
2743
+ },
2744
+ "class": moreActionsIconClass,
2745
+ get fallback() {
2746
+ return DefaultIconComponent && DefaultIconComponent({
2747
+ class: moreActionsIconClass
2748
+ });
2749
+ }
2750
+ }), (() => {
2751
+ var _el$ = _tmpl$38();
2752
+ insert(_el$, () => t(props.localizationKey));
2571
2753
  effect((_p$) => {
2572
2754
  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);
2755
+ _v$ !== _p$.e && setAttribute(_el$, "data-localization", _p$.e = _v$);
2756
+ _v$2 !== _p$.t && className(_el$, _p$.t = _v$2);
2575
2757
  return _p$;
2576
2758
  }, {
2577
2759
  e: void 0,
2578
2760
  t: void 0
2579
2761
  });
2580
- return _el$2;
2762
+ return _el$;
2581
2763
  })()];
2582
2764
  }
2583
2765
  });
@@ -2589,6 +2771,9 @@ var MoreActionsDropdown = () => {
2589
2771
  const {
2590
2772
  status
2591
2773
  } = useInboxContext();
2774
+ const dotsIconClass = style("moreActions__dots", "nt-size-5", {
2775
+ iconKey: "dots"
2776
+ });
2592
2777
  return createComponent(Show, {
2593
2778
  get when() {
2594
2779
  return memo(() => status() !== "archived" /* ARCHIVED */)() && status() !== "snoozed" /* SNOOZED */;
@@ -2605,9 +2790,13 @@ var MoreActionsDropdown = () => {
2605
2790
  size: "iconSm"
2606
2791
  }, triggerProps, {
2607
2792
  get children() {
2608
- return createComponent(Dots, {
2609
- get ["class"]() {
2610
- return style("moreActions__dots", "nt-size-5");
2793
+ return createComponent(IconRendererWrapper, {
2794
+ iconKey: "dots",
2795
+ "class": dotsIconClass,
2796
+ get fallback() {
2797
+ return createComponent(Dots, {
2798
+ "class": dotsIconClass
2799
+ });
2611
2800
  }
2612
2801
  });
2613
2802
  }
@@ -2625,11 +2814,14 @@ var MoreActionsDropdown = () => {
2625
2814
  };
2626
2815
 
2627
2816
  // src/ui/components/elements/Header/ActionsContainer.tsx
2628
- var _tmpl$36 = /* @__PURE__ */ template(`<div>`);
2817
+ var _tmpl$39 = /* @__PURE__ */ template(`<div>`);
2629
2818
  var ActionsContainer = (props) => {
2630
2819
  const style = useStyle();
2820
+ const cogsIconClass = style("icon", "nt-size-5", {
2821
+ iconKey: "cogs"
2822
+ });
2631
2823
  return (() => {
2632
- var _el$ = _tmpl$36();
2824
+ var _el$ = _tmpl$39();
2633
2825
  insert(_el$, createComponent(MoreActionsDropdown, {}), null);
2634
2826
  insert(_el$, createComponent(Show, {
2635
2827
  get when() {
@@ -2643,9 +2835,13 @@ var ActionsContainer = (props) => {
2643
2835
  return showPreferences();
2644
2836
  },
2645
2837
  get children() {
2646
- return createComponent(Settings, {
2647
- get ["class"]() {
2648
- return style("preferences__icon", "nt-size-5");
2838
+ return createComponent(IconRendererWrapper, {
2839
+ iconKey: "cogs",
2840
+ "class": cogsIconClass,
2841
+ get fallback() {
2842
+ return createComponent(Cogs, {
2843
+ "class": cogsIconClass
2844
+ });
2649
2845
  }
2650
2846
  });
2651
2847
  }
@@ -2657,11 +2853,11 @@ var ActionsContainer = (props) => {
2657
2853
  };
2658
2854
 
2659
2855
  // src/ui/components/elements/Header/Header.tsx
2660
- var _tmpl$37 = /* @__PURE__ */ template(`<div>`);
2856
+ var _tmpl$40 = /* @__PURE__ */ template(`<div>`);
2661
2857
  var Header = (props) => {
2662
2858
  const style = useStyle();
2663
2859
  return (() => {
2664
- var _el$ = _tmpl$37();
2860
+ var _el$ = _tmpl$40();
2665
2861
  insert(_el$, createComponent(StatusDropdown, {}), null);
2666
2862
  insert(_el$, createComponent(ActionsContainer, {
2667
2863
  get showPreferences() {
@@ -2672,7 +2868,7 @@ var Header = (props) => {
2672
2868
  return _el$;
2673
2869
  })();
2674
2870
  };
2675
- var _tmpl$38 = /* @__PURE__ */ template(`<div>`);
2871
+ var _tmpl$41 = /* @__PURE__ */ template(`<div>`);
2676
2872
  var Root = (props) => {
2677
2873
  const [_, rest] = splitProps(props, ["class"]);
2678
2874
  const {
@@ -2688,30 +2884,60 @@ var Root = (props) => {
2688
2884
  },
2689
2885
  children: new Comment(" Powered by Novu - https://novu.co ")
2690
2886
  }), (() => {
2691
- var _el$ = _tmpl$38();
2887
+ var _el$ = _tmpl$41();
2692
2888
  spread(_el$, mergeProps({
2693
2889
  get id() {
2694
2890
  return `novu-root-${id()}`;
2695
2891
  },
2696
2892
  get ["class"]() {
2697
- return style("root"), cn("novu", id(), "nt-text-foreground nt-h-full");
2893
+ return style("root"), cn("novu", id(), "nt-text-foreground nt-h-full [interpolate-size:allow-keywords]");
2698
2894
  }
2699
2895
  }, rest), false, false);
2700
2896
  return _el$;
2701
2897
  })()];
2702
2898
  };
2703
- var _tmpl$39 = /* @__PURE__ */ template(`<div>`);
2899
+ 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>`);
2900
+ var RouteFill = (props) => {
2901
+ return (() => {
2902
+ var _el$ = _tmpl$43();
2903
+ spread(_el$, props, true, true);
2904
+ return _el$;
2905
+ })();
2906
+ };
2907
+ var _tmpl$44 = /* @__PURE__ */ template(`<div><div>`);
2908
+ var isInterpolateSizeSupported = () => {
2909
+ return CSS.supports("interpolate-size", "allow-keywords");
2910
+ };
2704
2911
  var Collapsible = (props) => {
2912
+ const supportsInterpolateSize = isInterpolateSizeSupported();
2705
2913
  const style = useStyle();
2706
2914
  let contentRef;
2707
2915
  const [enableTransition, setEnableTransition] = createSignal(false);
2916
+ const [scrollHeight, setScrollHeight] = createSignal(0);
2917
+ const updateScrollHeight = () => {
2918
+ setScrollHeight((contentRef == null ? void 0 : contentRef.scrollHeight) || 0);
2919
+ };
2708
2920
  createEffect(() => {
2709
2921
  requestAnimationFrame(() => setEnableTransition(true));
2922
+ const resizeObserver = new ResizeObserver(() => {
2923
+ updateScrollHeight();
2924
+ });
2925
+ if (contentRef && !supportsInterpolateSize) {
2926
+ resizeObserver.observe(contentRef);
2927
+ }
2928
+ updateScrollHeight();
2929
+ onCleanup(() => {
2930
+ resizeObserver.disconnect();
2931
+ });
2710
2932
  });
2933
+ const height = () => {
2934
+ if (supportsInterpolateSize) {
2935
+ return props.open ? "max-content" : "0px";
2936
+ }
2937
+ return props.open ? `${scrollHeight()}px` : "0px";
2938
+ };
2711
2939
  return (() => {
2712
- var _el$ = _tmpl$39();
2713
- var _ref$ = contentRef;
2714
- typeof _ref$ === "function" ? use(_ref$, _el$) : contentRef = _el$;
2940
+ var _el$ = _tmpl$44(), _el$2 = _el$.firstChild;
2715
2941
  spread(_el$, mergeProps({
2716
2942
  get ["class"]() {
2717
2943
  return style("collapsible", props.class);
@@ -2721,66 +2947,96 @@ var Collapsible = (props) => {
2721
2947
  overflow: "hidden",
2722
2948
  opacity: props.open ? 1 : 0,
2723
2949
  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"
2950
+ height: height()
2725
2951
  };
2726
2952
  }
2727
- }, props), false, false);
2953
+ }, props), false, true);
2954
+ var _ref$ = contentRef;
2955
+ typeof _ref$ === "function" ? use(_ref$, _el$2) : contentRef = _el$2;
2956
+ insert(_el$2, () => props.children);
2728
2957
  return _el$;
2729
2958
  })();
2730
2959
  };
2731
- var _tmpl$40 = /* @__PURE__ */ template(`<label><input type=checkbox class="nt-peer nt-sr-only"><div>`);
2960
+ var _tmpl$45 = /* @__PURE__ */ template(`<label><input type=checkbox class=nt-sr-only><div>`);
2732
2961
  var Switch = (props) => {
2733
2962
  const style = useStyle();
2963
+ const handleChange = () => {
2964
+ var _a;
2965
+ if (props.disabled) return;
2966
+ const nextState = getNextState((_a = props.state) != null ? _a : "disabled");
2967
+ props.onChange(nextState);
2968
+ };
2969
+ const getNextState = (currentState) => {
2970
+ switch (currentState) {
2971
+ case "enabled":
2972
+ return "disabled";
2973
+ case "disabled":
2974
+ return "enabled";
2975
+ case "indeterminate":
2976
+ return "enabled";
2977
+ default:
2978
+ return "disabled";
2979
+ }
2980
+ };
2981
+ const isChecked = () => props.state === "enabled";
2982
+ const isIndeterminate = () => props.state === "indeterminate";
2983
+ const state = () => props.state;
2984
+ const disabled = () => props.disabled;
2734
2985
  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
- });
2986
+ var _el$ = _tmpl$45(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
2987
+ _el$2.addEventListener("change", handleChange);
2739
2988
  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;
2989
+ var _v$ = style("channelSwitch", cn("nt-relative nt-inline-flex nt-cursor-pointer nt-items-center", {
2990
+ "nt-opacity-50 nt-cursor-not-allowed": disabled()
2991
+ })), _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`, {
2992
+ "nt-bg-primary nt-shadow-none nt-border-neutral-alpha-400 after:nt-translate-x-full after:nt-border-background": isChecked(),
2993
+ "after:nt-translate-x-1/2": isIndeterminate()
2994
+ })), _v$4 = state();
2741
2995
  _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);
2996
+ _v$2 !== _p$.t && (_el$2.disabled = _p$.t = _v$2);
2997
+ _v$3 !== _p$.a && className(_el$3, _p$.a = _v$3);
2998
+ _v$4 !== _p$.o && setAttribute(_el$3, "data-state", _p$.o = _v$4);
2744
2999
  return _p$;
2745
3000
  }, {
2746
3001
  e: void 0,
2747
3002
  t: void 0,
2748
- a: void 0
3003
+ a: void 0,
3004
+ o: void 0
2749
3005
  });
2750
- effect(() => _el$2.checked = props.checked);
3006
+ effect(() => _el$2.checked = isChecked());
2751
3007
  return _el$;
2752
3008
  })();
2753
3009
  };
2754
3010
 
2755
3011
  // src/ui/components/elements/Preferences/ChannelRow.tsx
2756
- var _tmpl$41 = /* @__PURE__ */ template(`<div><div><div></div><span></span></div><div>`);
3012
+ var _tmpl$46 = /* @__PURE__ */ template(`<div><div><div></div><span></span></div><div>`);
2757
3013
  var ChannelRow = (props) => {
2758
3014
  const style = useStyle();
2759
3015
  const updatePreference = (enabled) => __async(void 0, null, function* () {
2760
3016
  props.onChange({
2761
- channel: props.channel,
2762
- enabled,
2763
- workflowId: props.workflowId
3017
+ [props.channel.channel]: enabled
2764
3018
  });
2765
3019
  });
2766
3020
  const onChange = (checked) => __async(void 0, null, function* () {
2767
3021
  yield updatePreference(checked);
2768
3022
  });
3023
+ const state = () => props.channel.state;
3024
+ const channel = () => props.channel.channel;
2769
3025
  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;
3026
+ var _el$ = _tmpl$46(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$2.nextSibling;
2771
3027
  insert(_el$3, createComponent(ChannelIcon, {
2772
3028
  appearanceKey: "channel__icon",
2773
3029
  get channel() {
2774
- return props.channel;
3030
+ return channel();
2775
3031
  },
2776
3032
  "class": "nt-size-3"
2777
3033
  }));
2778
- insert(_el$4, () => getLabel(props.channel));
3034
+ insert(_el$4, () => getLabel(channel()));
2779
3035
  insert(_el$5, createComponent(Switch, {
2780
- get checked() {
2781
- return props.enabled;
3036
+ get state() {
3037
+ return state();
2782
3038
  },
2783
- onChange: (checked) => onChange(checked)
3039
+ onChange: (newState) => onChange(newState === "enabled")
2784
3040
  }));
2785
3041
  effect((_p$) => {
2786
3042
  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 +3058,75 @@ var ChannelRow = (props) => {
2802
3058
  };
2803
3059
  var ChannelIcon = (props) => {
2804
3060
  const style = useStyle();
2805
- switch (props.channel) {
2806
- case "in_app" /* IN_APP */:
2807
- return createComponent(InApp, {
3061
+ const iconMap = {
3062
+ ["in_app" /* IN_APP */]: {
3063
+ key: "inApp",
3064
+ component: createComponent(InApp, {
2808
3065
  get ["class"]() {
2809
- return style(props.appearanceKey, props.class);
3066
+ return style(props.appearanceKey, props.class, {
3067
+ iconKey: "inApp"
3068
+ });
2810
3069
  }
2811
- });
2812
- case "email" /* EMAIL */:
2813
- return createComponent(Email, {
3070
+ })
3071
+ },
3072
+ ["email" /* EMAIL */]: {
3073
+ key: "email",
3074
+ component: createComponent(Email, {
2814
3075
  get ["class"]() {
2815
- return style(props.appearanceKey, props.class);
3076
+ return style(props.appearanceKey, props.class, {
3077
+ iconKey: "email"
3078
+ });
2816
3079
  }
2817
- });
2818
- case "push" /* PUSH */:
2819
- return createComponent(Push, {
3080
+ })
3081
+ },
3082
+ ["push" /* PUSH */]: {
3083
+ key: "push",
3084
+ component: createComponent(Push, {
2820
3085
  get ["class"]() {
2821
- return style(props.appearanceKey, props.class);
3086
+ return style(props.appearanceKey, props.class, {
3087
+ iconKey: "push"
3088
+ });
2822
3089
  }
2823
- });
2824
- case "sms" /* SMS */:
2825
- return createComponent(Sms, {
3090
+ })
3091
+ },
3092
+ ["sms" /* SMS */]: {
3093
+ key: "sms",
3094
+ component: createComponent(Sms, {
2826
3095
  get ["class"]() {
2827
- return style(props.appearanceKey, props.class);
3096
+ return style(props.appearanceKey, props.class, {
3097
+ iconKey: "sms"
3098
+ });
2828
3099
  }
2829
- });
2830
- case "chat" /* CHAT */:
2831
- return createComponent(Chat, {
3100
+ })
3101
+ },
3102
+ ["chat" /* CHAT */]: {
3103
+ key: "chat",
3104
+ component: createComponent(Chat, {
2832
3105
  get ["class"]() {
2833
- return style(props.appearanceKey, props.class);
3106
+ return style(props.appearanceKey, props.class, {
3107
+ iconKey: "chat"
3108
+ });
2834
3109
  }
2835
- });
2836
- default:
2837
- return null;
3110
+ })
3111
+ }
3112
+ };
3113
+ const iconData = iconMap[props.channel];
3114
+ if (!iconData) {
3115
+ return null;
2838
3116
  }
3117
+ return createComponent(IconRendererWrapper, {
3118
+ get iconKey() {
3119
+ return iconData.key;
3120
+ },
3121
+ get fallback() {
3122
+ return iconData.component;
3123
+ },
3124
+ get ["class"]() {
3125
+ return style(props.appearanceKey, props.class, {
3126
+ iconKey: iconData.key
3127
+ });
3128
+ }
3129
+ });
2839
3130
  };
2840
3131
  var getLabel = (channel) => {
2841
3132
  switch (channel) {
@@ -2853,12 +3144,177 @@ var getLabel = (channel) => {
2853
3144
  return "";
2854
3145
  }
2855
3146
  };
2856
- var _tmpl$43 = /* @__PURE__ */ template(`<div>`);
2857
- var _tmpl$211 = /* @__PURE__ */ template(`<div><div></div><div>`);
3147
+
3148
+ // src/ui/components/elements/Preferences/PreferencesRow.tsx
3149
+ var _tmpl$47 = /* @__PURE__ */ template(`<div>`);
3150
+ var _tmpl$212 = /* @__PURE__ */ template(`<div><div><div><div><span></span></div></div><span>`);
3151
+ var _tmpl$310 = /* @__PURE__ */ template(`<span>`);
3152
+ var iconKeyToComponentMap2 = {
3153
+ cogs: Cogs,
3154
+ routeFill: RouteFill
3155
+ };
3156
+ var PreferencesRow = (props) => {
3157
+ const style = useStyle();
3158
+ const [isOpenChannels, setIsOpenChannels] = createSignal(false);
3159
+ const {
3160
+ t
3161
+ } = useLocalization();
3162
+ const channels = createMemo(() => {
3163
+ var _a, _b;
3164
+ return Object.keys((_b = (_a = props.preference) == null ? void 0 : _a.channels) != null ? _b : {}).map((channel) => {
3165
+ var _a2;
3166
+ return {
3167
+ channel,
3168
+ state: ((_a2 = props.preference) == null ? void 0 : _a2.channels[channel]) ? "enabled" : "disabled"
3169
+ };
3170
+ });
3171
+ });
3172
+ const iconClass = style("workflowLabelIcon", "nt-text-foreground-alpha-600 nt-size-3.5", {
3173
+ iconKey: "cogs"
3174
+ });
3175
+ const arrowDropDownIconClass = style("workflowArrow__icon", "nt-text-foreground-alpha-600 nt-size-4", {
3176
+ iconKey: "arrowDropDown"
3177
+ });
3178
+ const DefaultIconComponent = iconKeyToComponentMap2[props.iconKey];
3179
+ return createComponent(Show, {
3180
+ get when() {
3181
+ return channels().length > 0;
3182
+ },
3183
+ get children() {
3184
+ 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;
3185
+ _el$2.$$click = () => {
3186
+ setIsOpenChannels((prev) => !prev);
3187
+ };
3188
+ insert(_el$4, createComponent(IconRendererWrapper, {
3189
+ get iconKey() {
3190
+ return props.iconKey;
3191
+ },
3192
+ "class": iconClass,
3193
+ get fallback() {
3194
+ return DefaultIconComponent && DefaultIconComponent({
3195
+ class: iconClass
3196
+ });
3197
+ }
3198
+ }), _el$5);
3199
+ insert(_el$5, () => {
3200
+ var _a, _b, _c;
3201
+ return t((_c = (_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier) != null ? _c : "preferences.global");
3202
+ });
3203
+ insert(_el$3, createComponent(Collapsible, {
3204
+ get open() {
3205
+ return !isOpenChannels();
3206
+ },
3207
+ get children() {
3208
+ return createComponent(WorkflowDescription, {
3209
+ get channels() {
3210
+ var _a, _b;
3211
+ return (_b = (_a = props.preference) == null ? void 0 : _a.channels) != null ? _b : {};
3212
+ },
3213
+ appearanceKey: "workflowDescription",
3214
+ "class": "nt-overflow-hidden"
3215
+ });
3216
+ }
3217
+ }), null);
3218
+ insert(_el$6, createComponent(IconRendererWrapper, {
3219
+ iconKey: "arrowDropDown",
3220
+ "class": arrowDropDownIconClass,
3221
+ get fallback() {
3222
+ return createComponent(ArrowDropDown, {
3223
+ "class": arrowDropDownIconClass
3224
+ });
3225
+ }
3226
+ }));
3227
+ insert(_el$, createComponent(Collapsible, {
3228
+ get open() {
3229
+ return isOpenChannels();
3230
+ },
3231
+ get children() {
3232
+ var _el$7 = _tmpl$47();
3233
+ insert(_el$7, createComponent(Index, {
3234
+ get each() {
3235
+ return channels();
3236
+ },
3237
+ children: (channel) => createComponent(ChannelRow, {
3238
+ get channel() {
3239
+ return channel();
3240
+ },
3241
+ get workflowId() {
3242
+ var _a, _b;
3243
+ return (_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.id;
3244
+ },
3245
+ get onChange() {
3246
+ var _a, _b;
3247
+ return props.onChange((_b = (_a = props.preference) == null ? void 0 : _a.workflow) == null ? void 0 : _b.identifier);
3248
+ }
3249
+ })
3250
+ }));
3251
+ 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")));
3252
+ return _el$7;
3253
+ }
3254
+ }), null);
3255
+ effect((_p$) => {
3256
+ var _a, _b, _c;
3257
+ 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();
3258
+ _v$ !== _p$.e && className(_el$, _p$.e = _v$);
3259
+ _v$2 !== _p$.t && setAttribute(_el$, "data-open", _p$.t = _v$2);
3260
+ _v$3 !== _p$.a && className(_el$2, _p$.a = _v$3);
3261
+ _v$4 !== _p$.o && className(_el$3, _p$.o = _v$4);
3262
+ _v$5 !== _p$.i && className(_el$4, _p$.i = _v$5);
3263
+ _v$6 !== _p$.n && className(_el$5, _p$.n = _v$6);
3264
+ _v$7 !== _p$.s && setAttribute(_el$5, "data-localization", _p$.s = _v$7);
3265
+ _v$8 !== _p$.h && setAttribute(_el$5, "data-open", _p$.h = _v$8);
3266
+ _v$9 !== _p$.r && className(_el$6, _p$.r = _v$9);
3267
+ _v$10 !== _p$.d && setAttribute(_el$6, "data-open", _p$.d = _v$10);
3268
+ return _p$;
3269
+ }, {
3270
+ e: void 0,
3271
+ t: void 0,
3272
+ a: void 0,
3273
+ o: void 0,
3274
+ i: void 0,
3275
+ n: void 0,
3276
+ s: void 0,
3277
+ h: void 0,
3278
+ r: void 0,
3279
+ d: void 0
3280
+ });
3281
+ return _el$;
3282
+ }
3283
+ });
3284
+ };
3285
+ var WorkflowDescription = (props) => {
3286
+ const style = useStyle();
3287
+ const channelNames = () => {
3288
+ const channels = [];
3289
+ for (const key in props.channels) {
3290
+ if (props.channels[key] !== void 0) {
3291
+ const isDisabled = !props.channels[key];
3292
+ const element = (() => {
3293
+ var _el$8 = _tmpl$310();
3294
+ setAttribute(_el$8, "data-disabled", isDisabled);
3295
+ insert(_el$8, () => getLabel(key));
3296
+ effect(() => className(_el$8, style("channelName", "data-[disabled=true]:nt-text-foreground-alpha-400")));
3297
+ return _el$8;
3298
+ })();
3299
+ channels.push(element);
3300
+ }
3301
+ }
3302
+ return channels.map((c, index) => [c, memo(() => index < channels.length - 1 && ", ")]);
3303
+ };
3304
+ return (() => {
3305
+ var _el$9 = _tmpl$47();
3306
+ insert(_el$9, channelNames);
3307
+ effect(() => className(_el$9, style(props.appearanceKey, cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class))));
3308
+ return _el$9;
3309
+ })();
3310
+ };
3311
+ delegateEvents(["click"]);
3312
+ var _tmpl$48 = /* @__PURE__ */ template(`<div>`);
3313
+ var _tmpl$213 = /* @__PURE__ */ template(`<div><div></div><div>`);
2858
3314
  var SkeletonText = (props) => {
2859
3315
  const style = useStyle();
2860
3316
  return (() => {
2861
- var _el$ = _tmpl$43();
3317
+ var _el$ = _tmpl$48();
2862
3318
  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
3319
  return _el$;
2864
3320
  })();
@@ -2866,7 +3322,7 @@ var SkeletonText = (props) => {
2866
3322
  var SkeletonAvatar = (props) => {
2867
3323
  const style = useStyle();
2868
3324
  return (() => {
2869
- var _el$2 = _tmpl$43();
3325
+ var _el$2 = _tmpl$48();
2870
3326
  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
3327
  return _el$2;
2872
3328
  })();
@@ -2874,7 +3330,7 @@ var SkeletonAvatar = (props) => {
2874
3330
  var SkeletonSwitch = (props) => {
2875
3331
  const style = useStyle();
2876
3332
  return (() => {
2877
- var _el$3 = _tmpl$211(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
3333
+ var _el$3 = _tmpl$213(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
2878
3334
  effect((_p$) => {
2879
3335
  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
3336
  _v$ !== _p$.e && className(_el$3, _p$.e = _v$);
@@ -2891,7 +3347,7 @@ var SkeletonSwitch = (props) => {
2891
3347
  };
2892
3348
 
2893
3349
  // src/ui/components/elements/Preferences/PreferencesListSkeleton.tsx
2894
- var _tmpl$44 = /* @__PURE__ */ template(`<div>`);
3350
+ var _tmpl$49 = /* @__PURE__ */ template(`<div>`);
2895
3351
  var channelIcons = [InApp, Email, Sms, Push, Chat];
2896
3352
  var PreferencesListSkeleton = (props) => {
2897
3353
  const style = useStyle();
@@ -2899,7 +3355,7 @@ var PreferencesListSkeleton = (props) => {
2899
3355
  t
2900
3356
  } = useLocalization();
2901
3357
  return (() => {
2902
- var _el$ = _tmpl$44();
3358
+ var _el$ = _tmpl$49();
2903
3359
  insert(_el$, createComponent(Motion.div, {
2904
3360
  get animate() {
2905
3361
  return {
@@ -2941,7 +3397,7 @@ var PreferencesListSkeleton = (props) => {
2941
3397
  return style("preferencesList__skeletonIcon", "nt-size-8 nt-p-2 nt-rounded-lg nt-bg-neutral-alpha-100");
2942
3398
  }
2943
3399
  }), (() => {
2944
- var _el$3 = _tmpl$44();
3400
+ var _el$3 = _tmpl$49();
2945
3401
  insert(_el$3, createComponent(SkeletonText, {
2946
3402
  appearanceKey: "notificationList__skeletonText",
2947
3403
  "class": "nt-h-2 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded"
@@ -2959,7 +3415,7 @@ var PreferencesListSkeleton = (props) => {
2959
3415
  }
2960
3416
  });
2961
3417
  })), (() => {
2962
- var _el$2 = _tmpl$44();
3418
+ var _el$2 = _tmpl$49();
2963
3419
  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
3420
  return _el$2;
2965
3421
  })()];
@@ -3003,15 +3459,298 @@ var PreferencesListSkeleton = (props) => {
3003
3459
  })();
3004
3460
  };
3005
3461
 
3462
+ // src/ui/components/elements/Preferences/DefaultPreferences.tsx
3463
+ var DefaultPreferences = (props) => {
3464
+ const workflowPreferences = createMemo(() => props.workflowPreferences);
3465
+ const updatePreference = (workflowIdentifier) => (channels) => {
3466
+ var _a;
3467
+ const preference = (_a = workflowPreferences()) == null ? void 0 : _a.find((pref) => {
3468
+ var _a2;
3469
+ return ((_a2 = pref.workflow) == null ? void 0 : _a2.identifier) === workflowIdentifier;
3470
+ });
3471
+ if (!preference) return;
3472
+ props.updatePreference(preference)(channels);
3473
+ };
3474
+ return createComponent(Show, {
3475
+ get when() {
3476
+ var _a;
3477
+ return (_a = workflowPreferences()) == null ? void 0 : _a.length;
3478
+ },
3479
+ get fallback() {
3480
+ return createComponent(PreferencesListSkeleton, {
3481
+ get loading() {
3482
+ return props.loading;
3483
+ }
3484
+ });
3485
+ },
3486
+ get children() {
3487
+ return createComponent(Index, {
3488
+ get each() {
3489
+ return workflowPreferences();
3490
+ },
3491
+ children: (preference) => {
3492
+ return createComponent(PreferencesRow, {
3493
+ iconKey: "routeFill",
3494
+ get preference() {
3495
+ return preference();
3496
+ },
3497
+ onChange: updatePreference
3498
+ });
3499
+ }
3500
+ });
3501
+ }
3502
+ });
3503
+ };
3504
+ 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>`);
3505
+ var NodeTree = (props) => {
3506
+ return (() => {
3507
+ var _el$ = _tmpl$50();
3508
+ spread(_el$, props, true, true);
3509
+ return _el$;
3510
+ })();
3511
+ };
3512
+ 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">`);
3513
+ var Info = (props) => {
3514
+ return (() => {
3515
+ var _el$ = _tmpl$51();
3516
+ spread(_el$, props, true, true);
3517
+ return _el$;
3518
+ })();
3519
+ };
3520
+
3521
+ // src/ui/components/elements/Preferences/GroupedPreferencesRow.tsx
3522
+ var _tmpl$52 = /* @__PURE__ */ template(`<div><div><span data-localization=preferences.group.info></span></div><div>`);
3523
+ var _tmpl$214 = /* @__PURE__ */ template(`<div><div><div><span></span></div><div><span>`);
3524
+ var GroupedPreferencesRow = (props) => {
3525
+ const style = useStyle();
3526
+ const {
3527
+ t
3528
+ } = useLocalization();
3529
+ const [isOpened, setIsOpened] = createSignal(false);
3530
+ const uniqueChannels = createMemo(() => {
3531
+ return props.group.preferences.reduce((acc, preference) => {
3532
+ Object.keys(preference.channels).forEach((el) => {
3533
+ const channel = el;
3534
+ const currentState = acc[channel];
3535
+ const preferenceState = preference.channels[channel] ? "enabled" : "disabled";
3536
+ if (!currentState) {
3537
+ acc[channel] = preferenceState;
3538
+ } else {
3539
+ acc[channel] = currentState !== preferenceState ? "indeterminate" : preferenceState;
3540
+ }
3541
+ });
3542
+ return acc;
3543
+ }, {});
3544
+ });
3545
+ const groupState = createMemo(() => {
3546
+ const someIndeterminate = Object.values(uniqueChannels()).some((state) => state === "indeterminate");
3547
+ if (someIndeterminate) {
3548
+ return "indeterminate";
3549
+ }
3550
+ const allEnabled = Object.values(uniqueChannels()).every((state) => state === "enabled");
3551
+ const allDisabled = Object.values(uniqueChannels()).every((state) => state === "disabled");
3552
+ if (allEnabled) {
3553
+ return "enabled";
3554
+ }
3555
+ if (allDisabled) {
3556
+ return "disabled";
3557
+ }
3558
+ return "indeterminate";
3559
+ });
3560
+ const updateGroupPreferences = (newState) => {
3561
+ const channels = Object.keys(uniqueChannels()).reduce((acc, channel) => {
3562
+ acc[channel] = newState === "enabled";
3563
+ return acc;
3564
+ }, {});
3565
+ props.bulkUpdatePreferences(props.group.preferences)(channels);
3566
+ };
3567
+ const updatePreference = (workflowIdentifier) => (channels) => {
3568
+ const preference = props.group.preferences.find((pref) => {
3569
+ var _a;
3570
+ return ((_a = pref.workflow) == null ? void 0 : _a.identifier) === workflowIdentifier;
3571
+ });
3572
+ if (!preference) return;
3573
+ props.updatePreference(preference)(channels);
3574
+ };
3575
+ const updatePreferencesForChannel = (channel) => (channels) => {
3576
+ const filteredPreferences = props.group.preferences.filter((preference) => Object.keys(preference.channels).some((key) => key === channel));
3577
+ props.bulkUpdatePreferences(filteredPreferences)(channels);
3578
+ };
3579
+ const preferences = createMemo(() => props.group.preferences);
3580
+ const nodeTreeIconClass = style("preferencesGroupLabelIcon", "nt-text-foreground-alpha-600 nt-size-3.5");
3581
+ const infoIconClass = style("preferencesGroupInfoIcon", "nt-size-4");
3582
+ const dropdownIconClass = style("moreTabs__icon", "nt-size-4");
3583
+ return createComponent(Show, {
3584
+ get when() {
3585
+ return Object.keys(uniqueChannels()).length > 0;
3586
+ },
3587
+ get children() {
3588
+ 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;
3589
+ _el$2.$$click = () => {
3590
+ setIsOpened((prev) => !prev);
3591
+ };
3592
+ insert(_el$3, createComponent(IconRendererWrapper, {
3593
+ iconKey: "nodeTree",
3594
+ "class": nodeTreeIconClass,
3595
+ get fallback() {
3596
+ return createComponent(NodeTree, {
3597
+ "class": nodeTreeIconClass
3598
+ });
3599
+ }
3600
+ }), _el$4);
3601
+ insert(_el$4, () => props.group.name);
3602
+ insert(_el$5, createComponent(Switch, {
3603
+ get state() {
3604
+ return groupState();
3605
+ },
3606
+ onChange: updateGroupPreferences
3607
+ }), _el$6);
3608
+ insert(_el$6, createComponent(IconRendererWrapper, {
3609
+ iconKey: "arrowDropDown",
3610
+ "class": dropdownIconClass,
3611
+ get fallback() {
3612
+ return createComponent(ArrowDropDown, {
3613
+ "class": dropdownIconClass
3614
+ });
3615
+ }
3616
+ }));
3617
+ insert(_el$, createComponent(Collapsible, {
3618
+ get open() {
3619
+ return isOpened();
3620
+ },
3621
+ get children() {
3622
+ var _el$7 = _tmpl$52(), _el$8 = _el$7.firstChild, _el$9 = _el$8.firstChild, _el$10 = _el$8.nextSibling;
3623
+ insert(_el$8, createComponent(Index, {
3624
+ get each() {
3625
+ return Object.keys(uniqueChannels());
3626
+ },
3627
+ children: (channel) => {
3628
+ return createComponent(ChannelRow, {
3629
+ get channel() {
3630
+ return {
3631
+ channel: channel(),
3632
+ state: uniqueChannels()[channel()]
3633
+ };
3634
+ },
3635
+ get onChange() {
3636
+ return updatePreferencesForChannel(channel());
3637
+ }
3638
+ });
3639
+ }
3640
+ }), _el$9);
3641
+ insert(_el$9, createComponent(IconRendererWrapper, {
3642
+ iconKey: "info",
3643
+ "class": infoIconClass,
3644
+ get fallback() {
3645
+ return createComponent(Info, {
3646
+ "class": infoIconClass
3647
+ });
3648
+ }
3649
+ }), null);
3650
+ insert(_el$9, () => t("preferences.group.info"), null);
3651
+ insert(_el$10, createComponent(Index, {
3652
+ get each() {
3653
+ return preferences();
3654
+ },
3655
+ children: (preference) => createComponent(PreferencesRow, {
3656
+ iconKey: "routeFill",
3657
+ get preference() {
3658
+ return preference();
3659
+ },
3660
+ onChange: updatePreference
3661
+ })
3662
+ }));
3663
+ effect((_p$) => {
3664
+ 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");
3665
+ _v$ !== _p$.e && className(_el$7, _p$.e = _v$);
3666
+ _v$2 !== _p$.t && className(_el$8, _p$.t = _v$2);
3667
+ _v$3 !== _p$.a && className(_el$9, _p$.a = _v$3);
3668
+ _v$4 !== _p$.o && className(_el$10, _p$.o = _v$4);
3669
+ return _p$;
3670
+ }, {
3671
+ e: void 0,
3672
+ t: void 0,
3673
+ a: void 0,
3674
+ o: void 0
3675
+ });
3676
+ return _el$7;
3677
+ }
3678
+ }), null);
3679
+ effect((_p$) => {
3680
+ 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();
3681
+ _v$5 !== _p$.e && className(_el$, _p$.e = _v$5);
3682
+ _v$6 !== _p$.t && setAttribute(_el$, "data-open", _p$.t = _v$6);
3683
+ _v$7 !== _p$.a && className(_el$2, _p$.a = _v$7);
3684
+ _v$8 !== _p$.o && className(_el$3, _p$.o = _v$8);
3685
+ _v$9 !== _p$.i && className(_el$4, _p$.i = _v$9);
3686
+ _v$10 !== _p$.n && setAttribute(_el$4, "data-open", _p$.n = _v$10);
3687
+ _v$11 !== _p$.s && className(_el$5, _p$.s = _v$11);
3688
+ _v$12 !== _p$.h && className(_el$6, _p$.h = _v$12);
3689
+ _v$13 !== _p$.r && setAttribute(_el$6, "data-open", _p$.r = _v$13);
3690
+ return _p$;
3691
+ }, {
3692
+ e: void 0,
3693
+ t: void 0,
3694
+ a: void 0,
3695
+ o: void 0,
3696
+ i: void 0,
3697
+ n: void 0,
3698
+ s: void 0,
3699
+ h: void 0,
3700
+ r: void 0
3701
+ });
3702
+ return _el$;
3703
+ }
3704
+ });
3705
+ };
3706
+ delegateEvents(["click"]);
3707
+
3708
+ // src/ui/components/elements/Preferences/GroupedPreferences.tsx
3709
+ var GroupedPreferences = (props) => {
3710
+ const groups = () => props.groups;
3711
+ return createComponent(Show, {
3712
+ get when() {
3713
+ return props.groups.length && !props.loading;
3714
+ },
3715
+ get fallback() {
3716
+ return createComponent(PreferencesListSkeleton, {
3717
+ get loading() {
3718
+ return props.loading;
3719
+ }
3720
+ });
3721
+ },
3722
+ get children() {
3723
+ return createComponent(Index, {
3724
+ get each() {
3725
+ return groups();
3726
+ },
3727
+ children: (group) => {
3728
+ return createComponent(GroupedPreferencesRow, {
3729
+ get group() {
3730
+ return group();
3731
+ },
3732
+ get bulkUpdatePreferences() {
3733
+ return props.bulkUpdatePreferences;
3734
+ },
3735
+ get updatePreference() {
3736
+ return props.updatePreference;
3737
+ }
3738
+ });
3739
+ }
3740
+ });
3741
+ }
3742
+ });
3743
+ };
3744
+
3006
3745
  // 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>`);
3746
+ var _tmpl$53 = /* @__PURE__ */ template(`<div>`);
3010
3747
  var Preferences = () => {
3011
3748
  var _a;
3749
+ const novu = useNovu();
3012
3750
  const style = useStyle();
3013
3751
  const {
3014
- preferencesFilter
3752
+ preferencesFilter,
3753
+ preferenceGroups
3015
3754
  } = useInboxContext();
3016
3755
  const {
3017
3756
  preferences,
@@ -3023,14 +3762,9 @@ var Preferences = () => {
3023
3762
  var _a2, _b;
3024
3763
  const globalPreference = (_a2 = preferences()) == null ? void 0 : _a2.find((preference) => preference.level === "global" /* GLOBAL */);
3025
3764
  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
3765
  return {
3031
3766
  globalPreference,
3032
- workflowPreferences,
3033
- workflowPreferencesIds
3767
+ workflowPreferences
3034
3768
  };
3035
3769
  });
3036
3770
  createEffect(() => {
@@ -3042,203 +3776,126 @@ var Preferences = () => {
3042
3776
  }, {}));
3043
3777
  });
3044
3778
  });
3045
- const optimisticUpdate = (preference) => (_0) => __async(void 0, [_0], function* ({
3046
- channel,
3047
- enabled
3048
- }) {
3779
+ const updatePreference = (preference) => (channels) => __async(void 0, null, function* () {
3049
3780
  yield preference == null ? void 0 : preference.update({
3050
- channels: {
3051
- [channel]: enabled
3052
- }
3781
+ channels
3053
3782
  });
3054
3783
  });
3784
+ const bulkUpdatePreferences = (preferences2) => (channels) => __async(void 0, null, function* () {
3785
+ yield novu.preferences.bulkUpdate(preferences2.map((el) => {
3786
+ const oldChannels = Object.keys(el.channels);
3787
+ const channelsToUpdate = Object.keys(channels).filter((channel) => oldChannels.includes(channel)).reduce((acc, channel) => {
3788
+ acc[channel] = channels[channel];
3789
+ return acc;
3790
+ }, {});
3791
+ return {
3792
+ preference: el,
3793
+ channels: channelsToUpdate
3794
+ };
3795
+ }));
3796
+ });
3797
+ const groupedPreferences = createMemo(() => {
3798
+ var _a2, _b, _c;
3799
+ const workflowPreferences = (_a2 = allPreferences().workflowPreferences) != null ? _a2 : [];
3800
+ return (_c = (_b = preferenceGroups()) == null ? void 0 : _b.map((group) => {
3801
+ const {
3802
+ filter
3803
+ } = group;
3804
+ if (typeof filter === "function") {
3805
+ const preferences2 = filter({
3806
+ preferences: workflowPreferences
3807
+ });
3808
+ return {
3809
+ name: group.name,
3810
+ preferences: preferences2
3811
+ };
3812
+ }
3813
+ if (typeof filter === "object") {
3814
+ return {
3815
+ name: group.name,
3816
+ preferences: workflowPreferences.filter((preference) => {
3817
+ var _a3, _b2, _c2, _d;
3818
+ const workflowId = ((_a3 = preference.workflow) == null ? void 0 : _a3.id) || ((_b2 = preference.workflow) == null ? void 0 : _b2.identifier);
3819
+ return ((_c2 = filter.workflowIds) == null ? void 0 : _c2.includes(workflowId != null ? workflowId : "")) || ((_d = filter.tags) == null ? void 0 : _d.some((tag) => {
3820
+ var _a4, _b3;
3821
+ return (_b3 = (_a4 = preference.workflow) == null ? void 0 : _a4.tags) == null ? void 0 : _b3.includes(tag);
3822
+ }));
3823
+ })
3824
+ };
3825
+ }
3826
+ return {
3827
+ name: group.name,
3828
+ preferences: []
3829
+ };
3830
+ })) != null ? _c : [];
3831
+ });
3055
3832
  return (() => {
3056
- var _el$ = _tmpl$45();
3833
+ var _el$ = _tmpl$53();
3057
3834
  insert(_el$, createComponent(PreferencesRow, {
3058
- localizationKey: "preferences.global",
3059
- get channels() {
3060
- var _a2;
3061
- return ((_a2 = allPreferences().globalPreference) == null ? void 0 : _a2.channels) || {};
3835
+ iconKey: "cogs",
3836
+ get preference() {
3837
+ return allPreferences().globalPreference;
3062
3838
  },
3063
- get onChange() {
3064
- return optimisticUpdate(allPreferences().globalPreference);
3065
- }
3839
+ onChange: () => updatePreference(allPreferences().globalPreference)
3066
3840
  }), null);
3067
3841
  insert(_el$, createComponent(Show, {
3068
3842
  get when() {
3069
- var _a2;
3070
- return (_a2 = allPreferences().workflowPreferences) == null ? void 0 : _a2.length;
3843
+ return groupedPreferences().length > 0;
3071
3844
  },
3072
3845
  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;
3846
+ return createComponent(Show, {
3847
+ get when() {
3848
+ var _a2;
3849
+ return (_a2 = allPreferences().workflowPreferences) == null ? void 0 : _a2.length;
3083
3850
  },
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;
3851
+ get fallback() {
3852
+ return createComponent(PreferencesListSkeleton, {
3853
+ get loading() {
3854
+ return loading();
3855
+ }
3856
+ });
3857
+ },
3858
+ get children() {
3859
+ return createComponent(DefaultPreferences, {
3860
+ get workflowPreferences() {
3861
+ return allPreferences().workflowPreferences;
3098
3862
  },
3099
- get workflowId() {
3100
- var _a2;
3101
- return (_a2 = preference().workflow) == null ? void 0 : _a2.id;
3863
+ get loading() {
3864
+ return loading();
3102
3865
  },
3103
- get onChange() {
3104
- return optimisticUpdate(preference());
3105
- }
3866
+ updatePreference
3106
3867
  });
3107
3868
  }
3108
3869
  });
3870
+ },
3871
+ get children() {
3872
+ return createComponent(GroupedPreferences, {
3873
+ get groups() {
3874
+ return groupedPreferences();
3875
+ },
3876
+ get loading() {
3877
+ return loading();
3878
+ },
3879
+ updatePreference,
3880
+ bulkUpdatePreferences
3881
+ });
3109
3882
  }
3110
3883
  }), 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")));
3884
+ 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
3885
  return _el$;
3113
3886
  })();
3114
3887
  };
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>`);
3888
+ var _tmpl$54 = /* @__PURE__ */ template(`<div><div data-localization=preferences.title>`);
3235
3889
  var PreferencesHeader = (props) => {
3236
3890
  const style = useStyle();
3237
3891
  const {
3238
3892
  t
3239
3893
  } = useLocalization();
3894
+ const arrowLeftIconClass = style("preferencesHeader__back__button__icon", "nt-size-4", {
3895
+ iconKey: "arrowLeft"
3896
+ });
3240
3897
  return (() => {
3241
- var _el$ = _tmpl$46(), _el$2 = _el$.firstChild;
3898
+ var _el$ = _tmpl$54(), _el$2 = _el$.firstChild;
3242
3899
  insert(_el$, createComponent(Show, {
3243
3900
  get when() {
3244
3901
  return props.navigateToNotifications;
@@ -3252,9 +3909,13 @@ var PreferencesHeader = (props) => {
3252
3909
  return navigateToNotifications();
3253
3910
  },
3254
3911
  get children() {
3255
- return createComponent(ArrowLeft, {
3256
- get ["class"]() {
3257
- return style("preferencesHeader__back__button__icon", "nt-size-4");
3912
+ return createComponent(IconRendererWrapper, {
3913
+ iconKey: "arrowLeft",
3914
+ "class": arrowLeftIconClass,
3915
+ get fallback() {
3916
+ return createComponent(ArrowLeft, {
3917
+ "class": arrowLeftIconClass
3918
+ });
3258
3919
  }
3259
3920
  });
3260
3921
  }
@@ -3302,28 +3963,12 @@ var useTabsDropdown = ({ tabs }) => {
3302
3963
  });
3303
3964
  return { dropdownTabs, setTabsList, visibleTabs };
3304
3965
  };
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>`);
3966
+ var _tmpl$55 = /* @__PURE__ */ template(`<strong>`);
3967
+ var _tmpl$215 = /* @__PURE__ */ template(`<p>`);
3323
3968
  var Bold = (props) => {
3324
3969
  const style = useStyle();
3325
3970
  return (() => {
3326
- var _el$ = _tmpl$49();
3971
+ var _el$ = _tmpl$55();
3327
3972
  insert(_el$, () => props.children);
3328
3973
  effect(() => className(_el$, style(props.appearanceKey || "strong", "nt-font-semibold")));
3329
3974
  return _el$;
@@ -3335,7 +3980,7 @@ var Markdown = (props) => {
3335
3980
  const style = useStyle();
3336
3981
  const tokens = createMemo(() => parseMarkdownIntoTokens(local.children));
3337
3982
  return (() => {
3338
- var _el$2 = _tmpl$213();
3983
+ var _el$2 = _tmpl$215();
3339
3984
  spread(_el$2, mergeProps({
3340
3985
  get ["class"]() {
3341
3986
  return style(local.appearanceKey, cn(local.class));
@@ -3368,7 +4013,7 @@ var Markdown = (props) => {
3368
4013
  })();
3369
4014
  };
3370
4015
  var Markdown_default = Markdown;
3371
- var _tmpl$50 = /* @__PURE__ */ template(`<span>`);
4016
+ var _tmpl$56 = /* @__PURE__ */ template(`<span>`);
3372
4017
  var badgeVariants = cva(cn("nt-inline-flex nt-flex-row nt-gap-1 nt-items-center"), {
3373
4018
  variants: {
3374
4019
  variant: {
@@ -3387,7 +4032,7 @@ var Badge = (props) => {
3387
4032
  const [local, rest] = splitProps(props, ["class", "appearanceKey"]);
3388
4033
  const style = useStyle();
3389
4034
  return (() => {
3390
- var _el$ = _tmpl$50();
4035
+ var _el$ = _tmpl$56();
3391
4036
  spread(_el$, mergeProps({
3392
4037
  get ["data-variant"]() {
3393
4038
  return props.variant;
@@ -3405,21 +4050,13 @@ var Badge = (props) => {
3405
4050
  return _el$;
3406
4051
  })();
3407
4052
  };
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
4053
  var TooltipContext = createContext(void 0);
3417
4054
  function TooltipRoot(props) {
3418
4055
  const [reference, setReference] = createSignal(null);
3419
4056
  const [floating, setFloating] = createSignal(null);
3420
4057
  const position = useFloating(reference, floating, {
3421
4058
  placement: props.placement || "top",
3422
- strategy: "absolute",
4059
+ strategy: "fixed",
3423
4060
  whileElementsMounted: autoUpdate,
3424
4061
  middleware: [offset(10), flip({
3425
4062
  fallbackPlacements: props.fallbackPlacements || ["bottom"]
@@ -3460,7 +4097,7 @@ function useTooltip() {
3460
4097
  }
3461
4098
 
3462
4099
  // src/ui/components/primitives/Tooltip/TooltipContent.tsx
3463
- var _tmpl$52 = /* @__PURE__ */ template(`<div>`);
4100
+ var _tmpl$57 = /* @__PURE__ */ template(`<div>`);
3464
4101
  var tooltipContentVariants = () => "nt-bg-foreground nt-p-2 nt-shadow-tooltip nt-rounded-lg nt-text-background nt-text-xs";
3465
4102
  var TooltipContentBody = (props) => {
3466
4103
  const {
@@ -3483,7 +4120,7 @@ var TooltipContentBody = (props) => {
3483
4120
  });
3484
4121
  });
3485
4122
  return (() => {
3486
- var _el$ = _tmpl$52();
4123
+ var _el$ = _tmpl$57();
3487
4124
  use(setFloating, _el$);
3488
4125
  spread(_el$, mergeProps({
3489
4126
  get ["class"]() {
@@ -3505,12 +4142,22 @@ var TooltipContent = (props) => {
3505
4142
  const {
3506
4143
  open
3507
4144
  } = useTooltip();
4145
+ const {
4146
+ container
4147
+ } = useAppearance();
4148
+ const portalContainer = () => {
4149
+ var _a;
4150
+ return (_a = container()) != null ? _a : document.body;
4151
+ };
3508
4152
  return createComponent(Show, {
3509
4153
  get when() {
3510
4154
  return open();
3511
4155
  },
3512
4156
  get children() {
3513
4157
  return createComponent(Portal$1, {
4158
+ get mount() {
4159
+ return portalContainer();
4160
+ },
3514
4161
  get children() {
3515
4162
  return createComponent(Root, {
3516
4163
  get children() {
@@ -3522,7 +4169,7 @@ var TooltipContent = (props) => {
3522
4169
  }
3523
4170
  });
3524
4171
  };
3525
- var _tmpl$53 = /* @__PURE__ */ template(`<button>`);
4172
+ var _tmpl$58 = /* @__PURE__ */ template(`<button>`);
3526
4173
  var TooltipTrigger = (props) => {
3527
4174
  const {
3528
4175
  setReference,
@@ -3557,7 +4204,7 @@ var TooltipTrigger = (props) => {
3557
4204
  }, rest));
3558
4205
  }
3559
4206
  return (() => {
3560
- var _el$ = _tmpl$53();
4207
+ var _el$ = _tmpl$58();
3561
4208
  _el$.addEventListener("mouseleave", () => {
3562
4209
  setOpen(false);
3563
4210
  });
@@ -3588,18 +4235,8 @@ var Tooltip = {
3588
4235
  */
3589
4236
  Content: TooltipContent
3590
4237
  };
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>`);
4238
+ var _tmpl$59 = /* @__PURE__ */ template(`<div>`);
4239
+ var _tmpl$216 = /* @__PURE__ */ template(`<div><span>`);
3603
4240
  var DatePickerContext = createContext({
3604
4241
  currentDate: () => /* @__PURE__ */ new Date(),
3605
4242
  setCurrentDate: () => {
@@ -3638,7 +4275,7 @@ var DatePicker = (props) => {
3638
4275
  maxDays: () => props.maxDays
3639
4276
  },
3640
4277
  get children() {
3641
- var _el$ = _tmpl$55();
4278
+ var _el$ = _tmpl$59();
3642
4279
  spread(_el$, mergeProps({
3643
4280
  get ["class"]() {
3644
4281
  return style("datePicker", cn("nt-p-2", local.class));
@@ -3658,6 +4295,13 @@ var DatePickerHeader = (props) => {
3658
4295
  currentDate,
3659
4296
  maxDays
3660
4297
  } = useDatePicker();
4298
+ useAppearance();
4299
+ const prevIconClass = style("datePickerControlPrevTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700", {
4300
+ iconKey: "arrowLeft"
4301
+ });
4302
+ const nextIconClass = style("datePickerControlNextTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700", {
4303
+ iconKey: "arrowRight"
4304
+ });
3661
4305
  const handlePrevMonth = () => {
3662
4306
  const date = new Date(viewMonth());
3663
4307
  date.setMonth(date.getMonth() - 1);
@@ -3694,7 +4338,7 @@ var DatePickerHeader = (props) => {
3694
4338
  return view.getFullYear() === maxDate.getFullYear() && view.getMonth() === maxDate.getMonth();
3695
4339
  };
3696
4340
  return (() => {
3697
- var _el$2 = _tmpl$214(), _el$3 = _el$2.firstChild;
4341
+ var _el$2 = _tmpl$216(), _el$3 = _el$2.firstChild;
3698
4342
  spread(_el$2, mergeProps({
3699
4343
  get ["class"]() {
3700
4344
  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 +4356,13 @@ var DatePickerHeader = (props) => {
3712
4356
  },
3713
4357
  "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
4358
  get children() {
3715
- return createComponent(ArrowLeft, {
3716
- get ["class"]() {
3717
- return style("datePickerControlPrevTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700");
4359
+ return createComponent(IconRendererWrapper, {
4360
+ iconKey: "arrowLeft",
4361
+ "class": prevIconClass,
4362
+ get fallback() {
4363
+ return createComponent(ArrowLeft, {
4364
+ "class": prevIconClass
4365
+ });
3718
4366
  }
3719
4367
  });
3720
4368
  }
@@ -3735,9 +4383,13 @@ var DatePickerHeader = (props) => {
3735
4383
  },
3736
4384
  "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
4385
  get children() {
3738
- return createComponent(ArrowRight, {
3739
- get ["class"]() {
3740
- return style("datePickerControlNextTrigger__icon", "nt-size-4 nt-text-foreground-alpha-700");
4386
+ return createComponent(IconRendererWrapper, {
4387
+ iconKey: "arrowRight",
4388
+ "class": nextIconClass,
4389
+ get fallback() {
4390
+ return createComponent(ArrowRight, {
4391
+ "class": nextIconClass
4392
+ });
3741
4393
  }
3742
4394
  });
3743
4395
  }
@@ -3842,7 +4494,7 @@ var DatePickerCalendar = (props) => {
3842
4494
  return days;
3843
4495
  };
3844
4496
  return (() => {
3845
- var _el$8 = _tmpl$55();
4497
+ var _el$8 = _tmpl$59();
3846
4498
  _el$8.$$click = (e) => e.stopPropagation();
3847
4499
  spread(_el$8, mergeProps({
3848
4500
  get ["class"]() {
@@ -3858,7 +4510,7 @@ var DatePickerCalendar = (props) => {
3858
4510
  })();
3859
4511
  };
3860
4512
  delegateEvents(["click"]);
3861
- var _tmpl$56 = /* @__PURE__ */ template(`<input>`);
4513
+ var _tmpl$60 = /* @__PURE__ */ template(`<input>`);
3862
4514
  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
4515
  variants: {
3864
4516
  variant: {
@@ -3878,7 +4530,7 @@ var Input = (props) => {
3878
4530
  const [local, rest] = splitProps(props, ["class", "appearanceKey"]);
3879
4531
  const style = useStyle();
3880
4532
  return (() => {
3881
- var _el$ = _tmpl$56();
4533
+ var _el$ = _tmpl$60();
3882
4534
  spread(_el$, mergeProps({
3883
4535
  get ["data-variant"]() {
3884
4536
  return props.variant;
@@ -3898,7 +4550,7 @@ var Input = (props) => {
3898
4550
  };
3899
4551
 
3900
4552
  // 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`);
4553
+ var _tmpl$61 = /* @__PURE__ */ template(`<div><span>:</span><select><option value=AM>AM</option><option value=PM>PM`);
3902
4554
  var TimePicker = (props) => {
3903
4555
  const [local, rest] = splitProps(props, ["value", "onChange", "class", "appearanceKey"]);
3904
4556
  const style = useStyle();
@@ -3938,7 +4590,7 @@ var TimePicker = (props) => {
3938
4590
  }
3939
4591
  };
3940
4592
  return (() => {
3941
- var _el$ = _tmpl$57(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
4593
+ var _el$ = _tmpl$61(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
3942
4594
  _el$.$$click = (e) => e.stopPropagation();
3943
4595
  spread(_el$, mergeProps({
3944
4596
  get ["class"]() {
@@ -4026,7 +4678,7 @@ var enforceMinMax = (el) => {
4026
4678
  delegateEvents(["click"]);
4027
4679
 
4028
4680
  // src/ui/components/Notification/SnoozeDateTimePicker.tsx
4029
- var _tmpl$58 = /* @__PURE__ */ template(`<div><div><p></p></div><div>`);
4681
+ var _tmpl$62 = /* @__PURE__ */ template(`<div><div><p></p></div><div>`);
4030
4682
  var fiveMinutesFromNow = () => {
4031
4683
  const futureTime = new Date(Date.now() + 5 * 60 * 1e3);
4032
4684
  const hours = futureTime.getHours();
@@ -4123,7 +4775,7 @@ var SnoozeDateTimePicker = (props) => {
4123
4775
  return t("snooze.datePicker.noDateSelectedTooltip");
4124
4776
  });
4125
4777
  return (() => {
4126
- var _el$ = _tmpl$58(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling;
4778
+ var _el$ = _tmpl$62(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling;
4127
4779
  _el$.$$click = (e) => e.stopPropagation();
4128
4780
  insert(_el$, createComponent(DatePicker, {
4129
4781
  onDateChange: (date) => setSelectedDate(date),
@@ -4208,8 +4860,8 @@ var SnoozeDateTimePicker = (props) => {
4208
4860
  delegateEvents(["click"]);
4209
4861
 
4210
4862
  // src/ui/components/Notification/NotificationActions.tsx
4211
- var _tmpl$59 = /* @__PURE__ */ template(`<div><span>`);
4212
- var _tmpl$215 = /* @__PURE__ */ template(`<span>`);
4863
+ var _tmpl$63 = /* @__PURE__ */ template(`<div><span>`);
4864
+ var _tmpl$217 = /* @__PURE__ */ template(`<span>`);
4213
4865
  var SNOOZE_PRESETS = [{
4214
4866
  key: "snooze.options.anHourFromNow",
4215
4867
  hours: 1,
@@ -4251,11 +4903,18 @@ var formatSnoozeOption = (preset, t, locale) => {
4251
4903
  };
4252
4904
  var SnoozeDropdownItem = (props) => {
4253
4905
  const style = useStyle();
4906
+ const snoozeItemIconClass = style("notificationSnooze__dropdownItem__icon", "nt-size-3 nt-text-foreground-alpha-400 nt-mr-2", {
4907
+ iconKey: "clock"
4908
+ });
4254
4909
  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");
4910
+ var _el$ = _tmpl$63(), _el$2 = _el$.firstChild;
4911
+ insert(_el$, createComponent(IconRendererWrapper, {
4912
+ iconKey: "clock",
4913
+ "class": snoozeItemIconClass,
4914
+ get fallback() {
4915
+ return createComponent(Clock, {
4916
+ "class": snoozeItemIconClass
4917
+ });
4259
4918
  }
4260
4919
  }), _el$2);
4261
4920
  insert(_el$2, () => props.label);
@@ -4270,7 +4929,7 @@ var SnoozeDropdownItem = (props) => {
4270
4929
  });
4271
4930
  return _el$;
4272
4931
  })(), (() => {
4273
- var _el$3 = _tmpl$215();
4932
+ var _el$3 = _tmpl$217();
4274
4933
  insert(_el$3, () => props.time);
4275
4934
  effect(() => className(_el$3, style("dropdownItemRight__icon", "nt-text-foreground-alpha-300 nt-ml-2 nt-text-xs")));
4276
4935
  return _el$3;
@@ -4298,6 +4957,9 @@ var ReadButton = (props) => {
4298
4957
  const {
4299
4958
  t
4300
4959
  } = useLocalization();
4960
+ const readIconClass = style("notificationRead__icon", "nt-size-3", {
4961
+ iconKey: "markAsRead"
4962
+ });
4301
4963
  return createComponent(Tooltip.Root, {
4302
4964
  get children() {
4303
4965
  return [createComponent(Tooltip.Trigger, {
@@ -4311,9 +4973,13 @@ var ReadButton = (props) => {
4311
4973
  yield props.notification.read();
4312
4974
  }),
4313
4975
  get children() {
4314
- return createComponent(MarkAsRead, {
4315
- get ["class"]() {
4316
- return style("notificationRead__icon", "nt-size-3");
4976
+ return createComponent(IconRendererWrapper, {
4977
+ iconKey: "markAsRead",
4978
+ "class": readIconClass,
4979
+ get fallback() {
4980
+ return createComponent(MarkAsRead, {
4981
+ "class": readIconClass
4982
+ });
4317
4983
  }
4318
4984
  });
4319
4985
  }
@@ -4332,6 +4998,9 @@ var UnreadButton = (props) => {
4332
4998
  const {
4333
4999
  t
4334
5000
  } = useLocalization();
5001
+ const unreadIconClass = style("notificationUnread__icon", "nt-size-3", {
5002
+ iconKey: "markAsUnread"
5003
+ });
4335
5004
  return createComponent(Tooltip.Root, {
4336
5005
  get children() {
4337
5006
  return [createComponent(Tooltip.Trigger, {
@@ -4345,9 +5014,13 @@ var UnreadButton = (props) => {
4345
5014
  yield props.notification.unread();
4346
5015
  }),
4347
5016
  get children() {
4348
- return createComponent(MarkAsUnread, {
4349
- get ["class"]() {
4350
- return style("notificationUnread__icon", "nt-size-3");
5017
+ return createComponent(IconRendererWrapper, {
5018
+ iconKey: "markAsUnread",
5019
+ "class": unreadIconClass,
5020
+ get fallback() {
5021
+ return createComponent(MarkAsUnread, {
5022
+ "class": unreadIconClass
5023
+ });
4351
5024
  }
4352
5025
  });
4353
5026
  }
@@ -4366,6 +5039,9 @@ var ArchiveButton = (props) => {
4366
5039
  const {
4367
5040
  t
4368
5041
  } = useLocalization();
5042
+ const archiveIconClass = style("notificationArchive__icon", "nt-size-3", {
5043
+ iconKey: "markAsArchived"
5044
+ });
4369
5045
  return createComponent(Tooltip.Root, {
4370
5046
  get children() {
4371
5047
  return [createComponent(Tooltip.Trigger, {
@@ -4379,9 +5055,13 @@ var ArchiveButton = (props) => {
4379
5055
  yield props.notification.archive();
4380
5056
  }),
4381
5057
  get children() {
4382
- return createComponent(MarkAsArchived, {
4383
- get ["class"]() {
4384
- return style("notificationArchive__icon", "nt-size-3");
5058
+ return createComponent(IconRendererWrapper, {
5059
+ iconKey: "markAsArchived",
5060
+ "class": archiveIconClass,
5061
+ get fallback() {
5062
+ return createComponent(MarkAsArchived, {
5063
+ "class": archiveIconClass
5064
+ });
4385
5065
  }
4386
5066
  });
4387
5067
  }
@@ -4400,6 +5080,9 @@ var UnarchiveButton = (props) => {
4400
5080
  const {
4401
5081
  t
4402
5082
  } = useLocalization();
5083
+ const unarchiveIconClass = style("notificationArchive__icon", "nt-size-3", {
5084
+ iconKey: "markAsUnarchived"
5085
+ });
4403
5086
  return createComponent(Tooltip.Root, {
4404
5087
  get children() {
4405
5088
  return [createComponent(Tooltip.Trigger, {
@@ -4413,9 +5096,13 @@ var UnarchiveButton = (props) => {
4413
5096
  yield props.notification.unarchive();
4414
5097
  }),
4415
5098
  get children() {
4416
- return createComponent(MarkAsUnarchived, {
4417
- get ["class"]() {
4418
- return style("notificationArchive__icon", "nt-size-3");
5099
+ return createComponent(IconRendererWrapper, {
5100
+ iconKey: "markAsUnarchived",
5101
+ "class": unarchiveIconClass,
5102
+ get fallback() {
5103
+ return createComponent(MarkAsUnarchived, {
5104
+ "class": unarchiveIconClass
5105
+ });
4419
5106
  }
4420
5107
  });
4421
5108
  }
@@ -4434,6 +5121,9 @@ var UnsnoozeButton = (props) => {
4434
5121
  const {
4435
5122
  t
4436
5123
  } = useLocalization();
5124
+ const unsnoozeIconClass = style("notificationUnsnooze__icon", "nt-size-3", {
5125
+ iconKey: "unsnooze"
5126
+ });
4437
5127
  return createComponent(Tooltip.Root, {
4438
5128
  get children() {
4439
5129
  return [createComponent(Tooltip.Trigger, {
@@ -4447,9 +5137,13 @@ var UnsnoozeButton = (props) => {
4447
5137
  yield props.notification.unsnooze();
4448
5138
  }),
4449
5139
  get children() {
4450
- return createComponent(Unsnooze, {
4451
- get ["class"]() {
4452
- return style("notificationUnsnooze__icon", "nt-size-3");
5140
+ return createComponent(IconRendererWrapper, {
5141
+ iconKey: "unsnooze",
5142
+ "class": unsnoozeIconClass,
5143
+ get fallback() {
5144
+ return createComponent(Unsnooze, {
5145
+ "class": unsnoozeIconClass
5146
+ });
4453
5147
  }
4454
5148
  });
4455
5149
  }
@@ -4473,6 +5167,9 @@ var SnoozeButton = (props) => {
4473
5167
  maxSnoozeDurationHours
4474
5168
  } = useInboxContext();
4475
5169
  const [isSnoozeDateTimePickerOpen, setIsSnoozeDateTimePickerOpen] = createSignal(false);
5170
+ const snoozeButtonIconClass = style("notificationSnooze__icon", "nt-size-3", {
5171
+ iconKey: "clock"
5172
+ });
4476
5173
  const availableSnoozePresets = createMemo(() => {
4477
5174
  if (!maxSnoozeDurationHours()) return SNOOZE_PRESETS;
4478
5175
  return SNOOZE_PRESETS.filter((preset) => preset.hours <= maxSnoozeDurationHours());
@@ -4494,9 +5191,13 @@ var SnoozeButton = (props) => {
4494
5191
  (_a = popoverProps.onClick) == null ? void 0 : _a.call(popoverProps, e);
4495
5192
  },
4496
5193
  get children() {
4497
- return createComponent(Snooze, {
4498
- get ["class"]() {
4499
- return style("notificationSnooze__icon", "nt-size-3");
5194
+ return createComponent(IconRendererWrapper, {
5195
+ iconKey: "clock",
5196
+ "class": snoozeButtonIconClass,
5197
+ get fallback() {
5198
+ return createComponent(Clock, {
5199
+ "class": snoozeButtonIconClass
5200
+ });
4500
5201
  }
4501
5202
  });
4502
5203
  }
@@ -4603,8 +5304,8 @@ var renderNotificationActions = (notification, status) => {
4603
5304
  };
4604
5305
 
4605
5306
  // src/ui/components/Notification/DefaultNotification.tsx
4606
- var _tmpl$60 = /* @__PURE__ */ template(`<img>`);
4607
- var _tmpl$216 = /* @__PURE__ */ template(`<div>`);
5307
+ var _tmpl$64 = /* @__PURE__ */ template(`<img>`);
5308
+ var _tmpl$218 = /* @__PURE__ */ template(`<div>`);
4608
5309
  var _tmpl$311 = /* @__PURE__ */ template(`<span>`);
4609
5310
  var _tmpl$410 = /* @__PURE__ */ template(`<a><div><div></div><div></div><div>`);
4610
5311
  var DefaultNotification = (props) => {
@@ -4618,6 +5319,12 @@ var DefaultNotification = (props) => {
4618
5319
  status
4619
5320
  } = useInboxContext();
4620
5321
  const [minutesPassed, setMinutesPassed] = createSignal(0);
5322
+ const deliveredAtIconClass = style("notificationDeliveredAt__icon", "nt-size-3", {
5323
+ iconKey: "clock"
5324
+ });
5325
+ const snoozedUntilIconClass = style("notificationSnoozedUntil__icon", "nt-size-3", {
5326
+ iconKey: "clock"
5327
+ });
4621
5328
  const createdAt = createMemo(() => {
4622
5329
  minutesPassed();
4623
5330
  return formatToRelativeTime({
@@ -4683,13 +5390,13 @@ var DefaultNotification = (props) => {
4683
5390
  },
4684
5391
  get fallback() {
4685
5392
  return (() => {
4686
- var _el$9 = _tmpl$216();
5393
+ var _el$9 = _tmpl$218();
4687
5394
  effect(() => className(_el$9, style("notificationImageLoadingFallback", "nt-size-8 nt-rounded-lg nt-shrink-0 nt-aspect-square")));
4688
5395
  return _el$9;
4689
5396
  })();
4690
5397
  },
4691
5398
  get children() {
4692
- var _el$2 = _tmpl$60();
5399
+ var _el$2 = _tmpl$64();
4693
5400
  effect((_p$) => {
4694
5401
  var _v$ = style("notificationImage", "nt-size-8 nt-rounded-lg nt-object-cover nt-aspect-square"), _v$2 = props.notification.avatar;
4695
5402
  _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
@@ -4713,7 +5420,7 @@ var DefaultNotification = (props) => {
4713
5420
  },
4714
5421
  children: (subject) => createComponent(Markdown_default, {
4715
5422
  appearanceKey: "notificationSubject",
4716
- "class": "nt-text-start nt-font-medium",
5423
+ "class": "nt-text-start nt-font-medium nt-whitespace-pre-wrap [word-break:break-word]",
4717
5424
  strongAppearanceKey: "notificationSubject__strong",
4718
5425
  get children() {
4719
5426
  return subject();
@@ -4733,7 +5440,7 @@ var DefaultNotification = (props) => {
4733
5440
  return createComponent(Markdown_default, {
4734
5441
  appearanceKey: "notificationBody",
4735
5442
  strongAppearanceKey: "notificationBody__strong",
4736
- "class": "nt-text-start nt-whitespace-pre-wrap nt-text-foreground-alpha-600",
5443
+ "class": "nt-text-start nt-whitespace-pre-wrap nt-text-foreground-alpha-600 [word-break:break-word]",
4737
5444
  get children() {
4738
5445
  return props.notification.body;
4739
5446
  }
@@ -4749,7 +5456,7 @@ var DefaultNotification = (props) => {
4749
5456
  return props.notification.primaryAction || props.notification.secondaryAction;
4750
5457
  },
4751
5458
  get children() {
4752
- var _el$6 = _tmpl$216();
5459
+ var _el$6 = _tmpl$218();
4753
5460
  insert(_el$6, createComponent(Show, {
4754
5461
  get when() {
4755
5462
  return props.notification.primaryAction;
@@ -4818,9 +5525,13 @@ var DefaultNotification = (props) => {
4818
5525
  return createComponent(Badge, {
4819
5526
  appearanceKey: "notificationDeliveredAt__badge",
4820
5527
  get children() {
4821
- return [createComponent(Clock, {
4822
- get ["class"]() {
4823
- return style("notificationDeliveredAt__icon", "nt-size-3");
5528
+ return [createComponent(IconRendererWrapper, {
5529
+ iconKey: "clock",
5530
+ "class": deliveredAtIconClass,
5531
+ get fallback() {
5532
+ return createComponent(Clock, {
5533
+ "class": deliveredAtIconClass
5534
+ });
4824
5535
  }
4825
5536
  }), date];
4826
5537
  }
@@ -4832,9 +5543,13 @@ var DefaultNotification = (props) => {
4832
5543
  })
4833
5544
  });
4834
5545
  },
4835
- children: (snoozedUntil2) => [createComponent(Clock, {
4836
- get ["class"]() {
4837
- return style("notificationSnoozedUntil__icon", "nt-size-3");
5546
+ children: (snoozedUntil2) => [createComponent(IconRendererWrapper, {
5547
+ iconKey: "clock",
5548
+ "class": snoozedUntilIconClass,
5549
+ get fallback() {
5550
+ return createComponent(Clock, {
5551
+ "class": snoozedUntilIconClass
5552
+ });
4838
5553
  }
4839
5554
  }), memo(() => t("notification.snoozedUntil")), " \xB7 ", memo(snoozedUntil2)]
4840
5555
  }));
@@ -4932,14 +5647,14 @@ var NewMessagesCta = (props) => {
4932
5647
  }
4933
5648
  });
4934
5649
  };
4935
- var _tmpl$61 = /* @__PURE__ */ template(`<div>`);
5650
+ var _tmpl$65 = /* @__PURE__ */ template(`<div>`);
4936
5651
  var NotificationListSkeleton = (props) => {
4937
5652
  const style = useStyle();
4938
5653
  const {
4939
5654
  t
4940
5655
  } = useLocalization();
4941
5656
  return (() => {
4942
- var _el$ = _tmpl$61();
5657
+ var _el$ = _tmpl$65();
4943
5658
  insert(_el$, createComponent(Motion.div, {
4944
5659
  get animate() {
4945
5660
  return {
@@ -4978,7 +5693,7 @@ var NotificationListSkeleton = (props) => {
4978
5693
  appearanceKey: "notificationList__skeletonAvatar",
4979
5694
  "class": "nt-w-8 nt-h-8 nt-rounded-full nt-bg-neutral-alpha-100"
4980
5695
  }), (() => {
4981
- var _el$3 = _tmpl$61();
5696
+ var _el$3 = _tmpl$65();
4982
5697
  insert(_el$3, createComponent(SkeletonText, {
4983
5698
  appearanceKey: "notificationList__skeletonText",
4984
5699
  "class": "nt-h-2 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded"
@@ -4992,7 +5707,7 @@ var NotificationListSkeleton = (props) => {
4992
5707
  })()];
4993
5708
  }
4994
5709
  }))), (() => {
4995
- var _el$2 = _tmpl$61();
5710
+ var _el$2 = _tmpl$65();
4996
5711
  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
5712
  return _el$2;
4998
5713
  })()];
@@ -5037,10 +5752,10 @@ var NotificationListSkeleton = (props) => {
5037
5752
  };
5038
5753
 
5039
5754
  // src/ui/components/Notification/NotificationList.tsx
5040
- var _tmpl$62 = /* @__PURE__ */ template(`<div>`);
5041
- var _tmpl$217 = /* @__PURE__ */ template(`<div><div>`);
5755
+ var _tmpl$66 = /* @__PURE__ */ template(`<div>`);
5756
+ var _tmpl$219 = /* @__PURE__ */ template(`<div><div>`);
5042
5757
  var NotificationList = (props) => {
5043
- var _a, _b;
5758
+ var _a, _b, _c, _d;
5044
5759
  const options = createMemo(() => __spreadProps(__spreadValues({}, props.filter), {
5045
5760
  limit: props.limit
5046
5761
  }));
@@ -5059,7 +5774,8 @@ var NotificationList = (props) => {
5059
5774
  reset: resetNewMessagesCount
5060
5775
  } = useNewMessagesCount({
5061
5776
  filter: {
5062
- tags: (_b = (_a = props.filter) == null ? void 0 : _a.tags) != null ? _b : []
5777
+ tags: (_b = (_a = props.filter) == null ? void 0 : _a.tags) != null ? _b : [],
5778
+ data: (_d = (_c = props.filter) == null ? void 0 : _c.data) != null ? _d : {}
5063
5779
  }
5064
5780
  });
5065
5781
  const {
@@ -5081,7 +5797,7 @@ var NotificationList = (props) => {
5081
5797
  });
5082
5798
  });
5083
5799
  return (() => {
5084
- var _el$ = _tmpl$217(), _el$2 = _el$.firstChild;
5800
+ var _el$ = _tmpl$219(), _el$2 = _el$.firstChild;
5085
5801
  insert(_el$, createComponent(NewMessagesCta, {
5086
5802
  get count() {
5087
5803
  return count();
@@ -5138,7 +5854,7 @@ var NotificationList = (props) => {
5138
5854
  return !end();
5139
5855
  },
5140
5856
  get children() {
5141
- var _el$3 = _tmpl$62();
5857
+ var _el$3 = _tmpl$66();
5142
5858
  use(setEl, _el$3);
5143
5859
  insert(_el$3, createComponent(NotificationListSkeleton, {
5144
5860
  loading: true
@@ -5160,26 +5876,28 @@ var NotificationList = (props) => {
5160
5876
  return _el$;
5161
5877
  })();
5162
5878
  };
5163
- var _tmpl$63 = /* @__PURE__ */ template(`<span>`);
5879
+ var _tmpl$67 = /* @__PURE__ */ template(`<span>`);
5164
5880
  var getDisplayCount = (count) => count >= 100 ? "99+" : count;
5165
5881
  var InboxTabUnreadNotificationsCount = (props) => {
5166
5882
  const style = useStyle();
5167
5883
  const displayCount = createMemo(() => getDisplayCount(props.count));
5168
5884
  return (() => {
5169
- var _el$ = _tmpl$63();
5885
+ var _el$ = _tmpl$67();
5170
5886
  insert(_el$, displayCount);
5171
5887
  effect(() => className(_el$, style("notificationsTabsTriggerCount", "nt-rounded-full nt-bg-counter nt-px-[6px] nt-text-counter-foreground nt-text-sm")));
5172
5888
  return _el$;
5173
5889
  })();
5174
5890
  };
5175
5891
  var InboxTab = (props) => {
5892
+ var _a;
5176
5893
  const {
5177
5894
  status
5178
5895
  } = useInboxContext();
5179
5896
  const style = useStyle();
5180
5897
  const unreadCount = useUnreadCount({
5181
5898
  filter: {
5182
- tags: getTagsFromTab(props)
5899
+ tags: getTagsFromTab(props),
5900
+ data: (_a = props.filter) == null ? void 0 : _a.data
5183
5901
  }
5184
5902
  });
5185
5903
  return createComponent(Tabs.Trigger, {
@@ -5191,7 +5909,7 @@ var InboxTab = (props) => {
5191
5909
  },
5192
5910
  get children() {
5193
5911
  return [(() => {
5194
- var _el$2 = _tmpl$63();
5912
+ var _el$2 = _tmpl$67();
5195
5913
  insert(_el$2, () => props.label);
5196
5914
  effect(() => className(_el$2, style("notificationsTabsTriggerLabel", "nt-text-sm nt-font-medium")));
5197
5915
  return _el$2;
@@ -5211,13 +5929,15 @@ var InboxTab = (props) => {
5211
5929
  });
5212
5930
  };
5213
5931
  var InboxDropdownTab = (props) => {
5932
+ var _a;
5214
5933
  const {
5215
5934
  status
5216
5935
  } = useInboxContext();
5217
5936
  const style = useStyle();
5218
5937
  const unreadCount = useUnreadCount({
5219
5938
  filter: {
5220
- tags: getTagsFromTab(props)
5939
+ tags: getTagsFromTab(props),
5940
+ data: (_a = props.filter) == null ? void 0 : _a.data
5221
5941
  }
5222
5942
  });
5223
5943
  return createComponent(Dropdown.Item, {
@@ -5229,7 +5949,7 @@ var InboxDropdownTab = (props) => {
5229
5949
  },
5230
5950
  get children() {
5231
5951
  return [(() => {
5232
- var _el$3 = _tmpl$63();
5952
+ var _el$3 = _tmpl$67();
5233
5953
  insert(_el$3, () => props.label);
5234
5954
  effect(() => className(_el$3, style("moreTabs__dropdownItemLabel", "nt-mr-auto")));
5235
5955
  return _el$3;
@@ -5267,19 +5987,33 @@ var InboxTabs = (props) => {
5267
5987
  tabs: props.tabs
5268
5988
  });
5269
5989
  const dropdownTabsUnreadCounts = useUnreadCounts({
5270
- filters: dropdownTabs().map((tab) => ({
5271
- tags: getTagsFromTab(tab)
5272
- }))
5990
+ filters: dropdownTabs().map((tab) => {
5991
+ var _a;
5992
+ return {
5993
+ tags: getTagsFromTab(tab),
5994
+ data: (_a = tab.filter) == null ? void 0 : _a.data
5995
+ };
5996
+ })
5997
+ });
5998
+ const checkIconClass = style("moreTabs__dropdownItemRight__icon", "nt-size-3", {
5999
+ iconKey: "check"
5273
6000
  });
5274
6001
  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");
6002
+ rightIcon: tab.label === activeTab() ? createComponent(IconRendererWrapper, {
6003
+ iconKey: "check",
6004
+ "class": checkIconClass,
6005
+ get fallback() {
6006
+ return createComponent(Check, {
6007
+ "class": checkIconClass
6008
+ });
5278
6009
  }
5279
6010
  }) : void 0
5280
6011
  })));
5281
6012
  const dropdownTabsUnreadSum = createMemo(() => dropdownTabsUnreadCounts().reduce((accumulator, currentValue) => accumulator + currentValue, 0));
5282
6013
  const isTabsDropdownActive = createMemo(() => dropdownTabs().map((tab) => tab.label).includes(activeTab()));
6014
+ const moreTabsIconClass = style("moreTabs__icon", "nt-size-5", {
6015
+ iconKey: "arrowDown"
6016
+ });
5283
6017
  return createComponent(Tabs.Root, {
5284
6018
  appearanceKey: "notificationsTabs__tabsRoot",
5285
6019
  "class": "nt-flex nt-flex-col nt-flex-1 nt-min-h-0",
@@ -5332,9 +6066,13 @@ var InboxTabs = (props) => {
5332
6066
  return cn(tabsDropdownTriggerVariants(), "nt-ml-auto", isTabsDropdownActive() ? "after:nt-border-b-primary" : "after:nt-border-b-transparent nt-text-foreground-alpha-700");
5333
6067
  },
5334
6068
  get children() {
5335
- return [createComponent(ArrowDown, {
5336
- get ["class"]() {
5337
- return style("moreTabs__icon", "nt-size-5");
6069
+ return [createComponent(IconRendererWrapper, {
6070
+ iconKey: "arrowDown",
6071
+ "class": moreTabsIconClass,
6072
+ get fallback() {
6073
+ return createComponent(ArrowDown, {
6074
+ "class": moreTabsIconClass
6075
+ });
5338
6076
  }
5339
6077
  }), createComponent(Show, {
5340
6078
  get when() {
@@ -5398,8 +6136,10 @@ var InboxTabs = (props) => {
5398
6136
  return props.onSecondaryActionClick;
5399
6137
  },
5400
6138
  get filter() {
6139
+ var _a;
5401
6140
  return __spreadProps(__spreadValues({}, filter()), {
5402
- tags: getTagsFromTab(tab)
6141
+ tags: getTagsFromTab(tab),
6142
+ data: (_a = tab.filter) == null ? void 0 : _a.data
5403
6143
  });
5404
6144
  }
5405
6145
  });
@@ -5410,13 +6150,16 @@ var InboxTabs = (props) => {
5410
6150
  };
5411
6151
 
5412
6152
  // src/ui/components/Inbox.tsx
5413
- var _tmpl$64 = /* @__PURE__ */ template(`<div>`);
6153
+ var _tmpl$68 = /* @__PURE__ */ template(`<div>`);
5414
6154
  var InboxPage = /* @__PURE__ */ function(InboxPage2) {
5415
6155
  InboxPage2["Notifications"] = "notifications";
5416
6156
  InboxPage2["Preferences"] = "preferences";
5417
6157
  return InboxPage2;
5418
6158
  }({});
5419
6159
  var InboxContent = (props) => {
6160
+ const {
6161
+ isDevelopmentMode
6162
+ } = useInboxContext();
5420
6163
  const [currentPage, setCurrentPage] = createSignal(props.initialPage || InboxPage.Notifications);
5421
6164
  const {
5422
6165
  tabs,
@@ -5432,7 +6175,7 @@ var InboxContent = (props) => {
5432
6175
  };
5433
6176
  });
5434
6177
  return (() => {
5435
- var _el$ = _tmpl$64();
6178
+ var _el$ = _tmpl$68();
5436
6179
  insert(_el$, createComponent(Switch$1, {
5437
6180
  get children() {
5438
6181
  return [createComponent(Match, {
@@ -5516,7 +6259,10 @@ var InboxContent = (props) => {
5516
6259
  }
5517
6260
  }), null);
5518
6261
  insert(_el$, createComponent(Footer, {}), null);
5519
- effect(() => className(_el$, style("inboxContent", "nt-h-full nt-flex nt-flex-col")));
6262
+ effect(() => className(_el$, style("inboxContent", cn("nt-h-full nt-flex nt-flex-col [&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8", {
6263
+ "[&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8": isDevelopmentMode(),
6264
+ "[&_.nv-preferencesContainer]:nt-pb-4 [&_.nv-notificationList]:nt-pb-4": !isDevelopmentMode()
6265
+ }))));
5520
6266
  return _el$;
5521
6267
  })();
5522
6268
  };
@@ -5663,18 +6409,20 @@ var novuComponents = {
5663
6409
  var Renderer = (props) => {
5664
6410
  const nodes = () => [...props.nodes.keys()];
5665
6411
  onMount(() => {
5666
- const id = "novu-default-css";
5667
- const el = document.getElementById(id);
6412
+ var _a;
6413
+ const id = NOVU_DEFAULT_CSS_ID;
6414
+ const root = props.container instanceof ShadowRoot ? props.container : document;
6415
+ const el = root.getElementById(id);
5668
6416
  if (el) {
5669
6417
  return;
5670
6418
  }
5671
6419
  const styleEl = document.createElement("style");
5672
6420
  styleEl.id = id;
5673
- document.head.insertBefore(styleEl, document.head.firstChild);
5674
6421
  styleEl.innerHTML = ui_default;
6422
+ const stylesContainer = (_a = props.container) != null ? _a : document.head;
6423
+ stylesContainer.insertBefore(styleEl, stylesContainer.firstChild);
5675
6424
  onCleanup(() => {
5676
- const element = document.getElementById(id);
5677
- element == null ? void 0 : element.remove();
6425
+ styleEl.remove();
5678
6426
  });
5679
6427
  });
5680
6428
  return createComponent(NovuProvider, {
@@ -5697,6 +6445,9 @@ var Renderer = (props) => {
5697
6445
  get appearance() {
5698
6446
  return props.appearance;
5699
6447
  },
6448
+ get container() {
6449
+ return props.container;
6450
+ },
5700
6451
  get children() {
5701
6452
  return createComponent(FocusManagerProvider, {
5702
6453
  get children() {
@@ -5707,6 +6458,9 @@ var Renderer = (props) => {
5707
6458
  get preferencesFilter() {
5708
6459
  return props.preferencesFilter;
5709
6460
  },
6461
+ get preferenceGroups() {
6462
+ return props.preferenceGroups;
6463
+ },
5710
6464
  get routerPush() {
5711
6465
  return props.routerPush;
5712
6466
  },
@@ -5760,11 +6514,13 @@ var Renderer = (props) => {
5760
6514
  };
5761
6515
 
5762
6516
  // 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;
6517
+ 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
6518
  var NovuUI = class {
5765
6519
  constructor(props) {
5766
6520
  __privateAdd(this, _NovuUI_instances);
5767
6521
  __privateAdd(this, _dispose, null);
6522
+ __privateAdd(this, _container);
6523
+ __privateAdd(this, _setContainer);
5768
6524
  __privateAdd(this, _rootElement);
5769
6525
  __privateAdd(this, _mountedElements);
5770
6526
  __privateAdd(this, _setMountedElements);
@@ -5780,6 +6536,8 @@ var NovuUI = class {
5780
6536
  __privateAdd(this, _setRouterPush);
5781
6537
  __privateAdd(this, _preferencesFilter);
5782
6538
  __privateAdd(this, _setPreferencesFilter);
6539
+ __privateAdd(this, _preferenceGroups);
6540
+ __privateAdd(this, _setPreferenceGroups);
5783
6541
  __privateAdd(this, _predefinedNovu);
5784
6542
  var _a;
5785
6543
  this.id = generateRandomString(16);
@@ -5789,7 +6547,9 @@ var NovuUI = class {
5789
6547
  const [mountedElements, setMountedElements] = createSignal(/* @__PURE__ */ new Map());
5790
6548
  const [tabs, setTabs] = createSignal((_a = props.tabs) != null ? _a : []);
5791
6549
  const [preferencesFilter, setPreferencesFilter] = createSignal(props.preferencesFilter);
6550
+ const [preferenceGroups, setPreferenceGroups] = createSignal(props.preferenceGroups);
5792
6551
  const [routerPush, setRouterPush] = createSignal(props.routerPush);
6552
+ const [container, setContainer] = createSignal(__privateMethod(this, _NovuUI_instances, getContainerElement_fn).call(this, props.container));
5793
6553
  __privateSet(this, _mountedElements, mountedElements);
5794
6554
  __privateSet(this, _setMountedElements, setMountedElements);
5795
6555
  __privateSet(this, _appearance, appearance);
@@ -5805,6 +6565,10 @@ var NovuUI = class {
5805
6565
  __privateSet(this, _predefinedNovu, props.novu);
5806
6566
  __privateSet(this, _preferencesFilter, preferencesFilter);
5807
6567
  __privateSet(this, _setPreferencesFilter, setPreferencesFilter);
6568
+ __privateSet(this, _preferenceGroups, preferenceGroups);
6569
+ __privateSet(this, _setPreferenceGroups, setPreferenceGroups);
6570
+ __privateSet(this, _container, container);
6571
+ __privateSet(this, _setContainer, setContainer);
5808
6572
  __privateMethod(this, _NovuUI_instances, mountComponentRenderer_fn).call(this);
5809
6573
  }
5810
6574
  mountComponent({
@@ -5846,9 +6610,15 @@ var NovuUI = class {
5846
6610
  updatePreferencesFilter(preferencesFilter) {
5847
6611
  __privateGet(this, _setPreferencesFilter).call(this, preferencesFilter);
5848
6612
  }
6613
+ updatePreferenceGroups(preferenceGroups) {
6614
+ __privateGet(this, _setPreferenceGroups).call(this, preferenceGroups);
6615
+ }
5849
6616
  updateRouterPush(routerPush) {
5850
6617
  __privateGet(this, _setRouterPush).call(this, () => routerPush);
5851
6618
  }
6619
+ updateContainer(container) {
6620
+ __privateGet(this, _setContainer).call(this, __privateMethod(this, _NovuUI_instances, getContainerElement_fn).call(this, container));
6621
+ }
5852
6622
  unmount() {
5853
6623
  var _a, _b;
5854
6624
  (_a = __privateGet(this, _dispose)) == null ? void 0 : _a.call(this);
@@ -5857,6 +6627,8 @@ var NovuUI = class {
5857
6627
  }
5858
6628
  };
5859
6629
  _dispose = new WeakMap();
6630
+ _container = new WeakMap();
6631
+ _setContainer = new WeakMap();
5860
6632
  _rootElement = new WeakMap();
5861
6633
  _mountedElements = new WeakMap();
5862
6634
  _setMountedElements = new WeakMap();
@@ -5872,15 +6644,28 @@ _routerPush = new WeakMap();
5872
6644
  _setRouterPush = new WeakMap();
5873
6645
  _preferencesFilter = new WeakMap();
5874
6646
  _setPreferencesFilter = new WeakMap();
6647
+ _preferenceGroups = new WeakMap();
6648
+ _setPreferenceGroups = new WeakMap();
5875
6649
  _predefinedNovu = new WeakMap();
5876
6650
  _NovuUI_instances = new WeakSet();
6651
+ getContainerElement_fn = function(container) {
6652
+ var _a;
6653
+ if (container === null || container === void 0) {
6654
+ return container;
6655
+ }
6656
+ if (typeof container === "string") {
6657
+ return (_a = document.querySelector(container)) != null ? _a : document.getElementById(container);
6658
+ }
6659
+ return container;
6660
+ };
5877
6661
  mountComponentRenderer_fn = function() {
5878
6662
  if (__privateGet(this, _dispose) !== null) {
5879
6663
  return;
5880
6664
  }
5881
6665
  __privateSet(this, _rootElement, document.createElement("div"));
5882
6666
  __privateGet(this, _rootElement).setAttribute("id", `novu-ui-${this.id}`);
5883
- document.body.appendChild(__privateGet(this, _rootElement));
6667
+ const container = __privateGet(this, _container).call(this);
6668
+ (container != null ? container : document.body).appendChild(__privateGet(this, _rootElement));
5884
6669
  const dispose = render(() => {
5885
6670
  const _self$ = this;
5886
6671
  return createComponent(Renderer, {
@@ -5909,12 +6694,20 @@ mountComponentRenderer_fn = function() {
5909
6694
  var _a;
5910
6695
  return __privateGet(_a = _self$, _preferencesFilter).call(_a);
5911
6696
  },
6697
+ get preferenceGroups() {
6698
+ var _a;
6699
+ return __privateGet(_a = _self$, _preferenceGroups).call(_a);
6700
+ },
5912
6701
  get routerPush() {
5913
6702
  var _a;
5914
6703
  return __privateGet(_a = _self$, _routerPush).call(_a);
5915
6704
  },
5916
6705
  get novu() {
5917
6706
  return __privateGet(_self$, _predefinedNovu);
6707
+ },
6708
+ get container() {
6709
+ var _a;
6710
+ return __privateGet(_a = _self$, _container).call(_a);
5918
6711
  }
5919
6712
  });
5920
6713
  }, __privateGet(this, _rootElement));