@novu/js 3.11.0 → 3.12.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.
- package/dist/cjs/{chunk-VWSQDNZX.js → chunk-OZV3TKWX.js} +6 -0
- package/dist/cjs/{chunk-QQNKEWGC.js → chunk-SZEUW4CB.js} +1070 -309
- package/dist/cjs/index.d.ts +5 -4
- package/dist/cjs/index.js +26 -14
- package/dist/cjs/internal/index.d.ts +8 -2
- package/dist/cjs/internal/index.js +8 -4
- package/dist/{esm/novu-DY-mm8Og.d.mts → cjs/novu-BVtCFUxa.d.ts} +398 -203
- package/dist/cjs/themes/index.d.ts +11 -5
- package/dist/cjs/themes/index.js +17 -1
- package/dist/{esm/types-BM_9Xx5Z.d.mts → cjs/types-D-9ozWeQ.d.ts} +20 -1
- package/dist/cjs/types-Rjzg7eo3.d.ts +836 -0
- package/dist/cjs/ui/index.d.ts +74 -7
- package/dist/cjs/ui/index.js +1785 -260
- package/dist/esm/{chunk-UM35OVAD.mjs → chunk-IA6ISHOP.mjs} +1068 -310
- package/dist/esm/{chunk-RZWQYM3H.mjs → chunk-RO3GDYAG.mjs} +6 -1
- package/dist/esm/index.d.mts +5 -4
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/internal/index.d.mts +8 -2
- package/dist/esm/internal/index.mjs +1 -1
- package/dist/{cjs/novu-ThMWeiRt.d.ts → esm/novu-YP3PwsQR.d.mts} +398 -203
- package/dist/esm/themes/index.d.mts +11 -5
- package/dist/esm/themes/index.mjs +16 -2
- package/dist/{cjs/types-BM_9Xx5Z.d.ts → esm/types-D-9ozWeQ.d.mts} +20 -1
- package/dist/esm/types-DmMJ1GiR.d.mts +836 -0
- package/dist/esm/ui/index.d.mts +74 -7
- package/dist/esm/ui/index.mjs +1782 -256
- package/dist/index.css +1 -1
- package/dist/novu.min.js +12 -12
- package/dist/novu.min.js.gz +0 -0
- package/package.json +18 -17
- package/dist/cjs/types-BjANCN3c.d.ts +0 -537
- package/dist/esm/types-C5eX1GmB.d.mts +0 -537
package/dist/cjs/ui/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkSZEUW4CB_js = require('../chunk-SZEUW4CB.js');
|
|
4
|
+
var chunkOZV3TKWX_js = require('../chunk-OZV3TKWX.js');
|
|
5
5
|
var chunk7B52C2XE_js = require('../chunk-7B52C2XE.js');
|
|
6
6
|
var web = require('solid-js/web');
|
|
7
7
|
var solidJs = require('solid-js');
|
|
@@ -37,12 +37,13 @@ function _interopNamespace(e) {
|
|
|
37
37
|
var clsx__default = /*#__PURE__*/_interopDefault(clsx);
|
|
38
38
|
var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
|
|
39
39
|
|
|
40
|
-
//
|
|
41
|
-
var ui_default = `.novu{scrollbar-color:var(--nv-color-secondary-foreground-alpha-300) #0000;:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{border:0 solid #e5e7eb;box-sizing:border-box}:where(html,:host){line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}:where(body){line-height:inherit;margin:0}:where(hr){border-top-width:1px;color:inherit;height:0}:where(abbr:where([title])){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(a){color:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small){font-size:80%}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:initial}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button]),input:where([type=reset]),input:where([type=submit])){-webkit-appearance:button;background-color:initial;background-image:none}:where(:-moz-focusring){outline:auto}:where(:-moz-ui-invalid){box-shadow:none}:where(progress){vertical-align:initial}:where(*)::-webkit-inner-spin-button,:where(*)::-webkit-outer-spin-button{height:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(*)::-webkit-search-decoration{-webkit-appearance:none}:where(*)::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre){margin:0}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(ol,ul,menu){list-style:none;margin:0;padding:0}:where(dialog){padding:0}:where(textarea){resize:vertical}:where(input)::placeholder,:where(textarea)::placeholder{color:#9ca3af;opacity:1}:where(button,[role=button]){cursor:pointer}:where(:disabled){cursor:default}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block;vertical-align:middle}:where(img,video){height:auto;max-width:100%}:where([hidden]){display:none}:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(*) ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-thumb{background-clip:"padding-box";background-color:var(--nv-color-secondary-foreground-alpha-300);border-radius:.25rem}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background-color:initial}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}}.nt-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.\\!nt-pointer-events-auto{pointer-events:auto!important}.nt-invisible{visibility:hidden}.nt-absolute{position:absolute}.nt-relative{position:relative}.nt-inset-0{inset:0}.nt-inset-2{inset:.5rem}.nt-bottom-0{bottom:0}.nt-left-0{left:0}.nt-left-0\\.5{left:.125rem}.nt-right-0{right:0}.nt-right-3{right:.75rem}.nt-top-0{top:0}.nt-top-0\\.5{top:.125rem}.nt-top-3{top:.75rem}.nt-z-10{z-index:10}.nt-z-\\[-1\\]{z-index:-1}.-nt-m-1{margin:-.25rem}.nt-mx-auto{margin-left:auto;margin-right:auto}.-nt-mt-2{margin-top:-.5rem}.-nt-mt-\\[2px\\]{margin-top:-2px}.nt--mt-\\[50px\\]{margin-top:-50px}.nt-mb-1{margin-bottom:.25rem}.nt-mb-2{margin-bottom:.5rem}.nt-mb-3{margin-bottom:.75rem}.nt-mb-4{margin-bottom:1rem}.nt-mb-\\[0\\.625rem\\]{margin-bottom:.625rem}.nt-ml-1{margin-left:.25rem}.nt-ml-2{margin-left:.5rem}.nt-ml-auto{margin-left:auto}.nt-mr-2{margin-right:.5rem}.nt-mr-auto{margin-right:auto}.nt-mt-1{margin-top:.25rem}.nt-mt-1\\.5{margin-top:.375rem}.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-3\\.5{height:.875rem}.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-max-h-\\[160px\\]{max-height:160px}.nt-min-h-0{min-height:0}.nt-w-1\\.5{width:.375rem}.nt-w-1\\/3{width:33.333333%}.nt-w-2\\/3{width:66.666667%}.nt-w-5{width:1.25rem}.nt-w-7{width:1.75rem}.nt-w-8{width:2rem}.nt-w-\\[260px\\]{width:260px}.nt-w-\\[3px\\]{width:3px}.nt-w-\\[400px\\]{width:400px}.nt-w-\\[60px\\]{width:60px}.nt-w-\\[calc\\(2ch\\+2rem\\)\\]{width:calc(2ch + 2rem)}.nt-w-fit{width:fit-content}.nt-w-full{width:100%}.nt-w-max{width:max-content}.nt-min-w-52{min-width:13rem}.nt-min-w-\\[120px\\]{min-width:120px}.nt-min-w-\\[220px\\]{min-width:220px}.nt-min-w-\\[74px\\]{min-width:74px}.nt-max-w-56{max-width:14rem}.nt-max-w-\\[120px\\]{max-width:120px}.nt-max-w-\\[220px\\]{max-width:220px}.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-primary{border-color:var(--nv-color-primary)}.nt-border-t-neutral-alpha-200{border-top-color:var(--nv-color-neutral-alpha-200)}.nt-bg-\\[oklch\\(from_var\\(--nv-color-stripes\\)_l_c_h_\\/_0\\.1\\)\\]{background-color:oklch(from var(--nv-color-stripes) l c h/.1)}.nt-bg-background{background-color:var(--nv-color-background)}.nt-bg-counter{background-color:var(--nv-color-counter)}.nt-bg-foreground{background-color:var(--nv-color-foreground)}.nt-bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.nt-bg-neutral-alpha-100{background-color:var(--nv-color-neutral-alpha-100)}.nt-bg-neutral-alpha-25{background-color:var(--nv-color-neutral-alpha-25)}.nt-bg-neutral-alpha-300{background-color:var(--nv-color-neutral-alpha-300)}.nt-bg-neutral-alpha-50{background-color:var(--nv-color-neutral-alpha-50)}.nt-bg-primary{background-color:var(--nv-color-primary)}.nt-bg-primary-alpha-300{background-color:var(--nv-color-primary-alpha-300)}.nt-bg-primary-alpha-400{background-color:var(--nv-color-primary-alpha-400)}.nt-bg-secondary{background-color:var(--nv-color-secondary)}.nt-bg-severity-high{background-color:var(--nv-color-severity-high)}.nt-bg-severity-high-alpha-100{background-color:var(--nv-color-severity-high-alpha-100)}.nt-bg-severity-high-alpha-200{background-color:var(--nv-color-severity-high-alpha-200)}.nt-bg-severity-high-alpha-300{background-color:var(--nv-color-severity-high-alpha-300)}.nt-bg-severity-high-alpha-50{background-color:var(--nv-color-severity-high-alpha-50)}.nt-bg-severity-low{background-color:var(--nv-color-severity-low)}.nt-bg-severity-low-alpha-100{background-color:var(--nv-color-severity-low-alpha-100)}.nt-bg-severity-low-alpha-200{background-color:var(--nv-color-severity-low-alpha-200)}.nt-bg-severity-low-alpha-300{background-color:var(--nv-color-severity-low-alpha-300)}.nt-bg-severity-low-alpha-50{background-color:var(--nv-color-severity-low-alpha-50)}.nt-bg-severity-medium{background-color:var(--nv-color-severity-medium)}.nt-bg-severity-medium-alpha-100{background-color:var(--nv-color-severity-medium-alpha-100)}.nt-bg-severity-medium-alpha-200{background-color:var(--nv-color-severity-medium-alpha-200)}.nt-bg-severity-medium-alpha-300{background-color:var(--nv-color-severity-medium-alpha-300)}.nt-bg-severity-medium-alpha-50{background-color:var(--nv-color-severity-medium-alpha-50)}.nt-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.nt-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.nt-bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.nt-from-foreground-alpha-50{--tw-gradient-from:var(--nv-color-foreground-alpha-50) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.nt-from-primary-foreground-alpha-200{--tw-gradient-from:var(--nv-color-primary-foreground-alpha-200) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.nt-from-transparent{--tw-gradient-from:#0000 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.nt-from-20\\%{--tw-gradient-from-position:20%}.nt-to-background{--tw-gradient-to:var(--nv-color-background) var(--tw-gradient-to-position)}.nt-to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.nt-object-cover{object-fit:cover}.nt-p-0{padding:0}.nt-p-0\\.5{padding:.125rem}.nt-p-1{padding:.25rem}.nt-p-2{padding:.5rem}.nt-p-2\\.5{padding:.625rem}.nt-p-3{padding:.75rem}.nt-p-4{padding:1rem}.nt-px-1{padding-left:.25rem;padding-right:.25rem}.nt-px-2{padding-left:.5rem;padding-right:.5rem}.nt-px-3{padding-left:.75rem;padding-right:.75rem}.nt-px-4{padding-left:1rem;padding-right:1rem}.nt-px-8{padding-left:2rem;padding-right:2rem}.nt-px-\\[6px\\]{padding-left:6px;padding-right:6px}.nt-py-1{padding-bottom:.25rem;padding-top:.25rem}.nt-py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.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{padding-top:.5rem}.nt-pt-2\\.5{padding-top:.625rem}.nt-text-left{text-align:left}.nt-text-center{text-align:center}.nt-text-start{text-align:start}.nt-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.nt-text-\\[0\\.8rem\\]{font-size:.8rem}.nt-text-\\[12px\\]{font-size:12px}.nt-text-base{font-size:var(--nv-font-size-base);line-height:var(--nv-line-height-base)}.nt-text-sm{font-size:var(--nv-font-size-sm);line-height:var(--nv-line-height-sm)}.nt-text-xl{font-size:var(--nv-font-size-xl);line-height:var(--nv-line-height-xl)}.nt-text-xs{font-size:var(--nv-font-size-xs);line-height:var(--nv-line-height-xs)}.nt-font-medium{font-weight:500}.nt-font-normal{font-weight:400}.nt-font-semibold{font-weight:600}.nt-leading-none{line-height:1}.nt-text-\\[\\#000000\\]{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.nt-text-background{color:var(--nv-color-background)}.nt-text-counter-foreground{color:var(--nv-color-counter-foreground)}.nt-text-foreground{color:var(--nv-color-foreground)}.nt-text-foreground-alpha-300{color:var(--nv-color-foreground-alpha-300)}.nt-text-foreground-alpha-400{color:var(--nv-color-foreground-alpha-400)}.nt-text-foreground-alpha-600{color:var(--nv-color-foreground-alpha-600)}.nt-text-foreground-alpha-700{color:var(--nv-color-foreground-alpha-700)}.nt-text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.nt-text-neutral-alpha-500{color:var(--nv-color-neutral-alpha-500)}.nt-text-primary-foreground{color:var(--nv-color-primary-foreground)}.nt-text-secondary-foreground{color:var(--nv-color-secondary-foreground)}.nt-text-stripes{color:var(--nv-color-stripes)}.nt-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nt-underline{text-decoration-line:underline}.nt-opacity-0{opacity:0}.nt-opacity-20{opacity:.2}.nt-opacity-50{opacity:.5}.nt-shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-\\[0_0_0_0\\.5px_var\\(--nv-color-primary-600\\)\\]{--tw-shadow:0 0 0 0.5px var(--nv-color-primary-600);--tw-shadow-colored:0 0 0 0.5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-\\[0_0_0_0\\.5px_var\\(--nv-color-secondary-600\\)\\]{--tw-shadow:0 0 0 0.5px var(--nv-color-secondary-600);--tw-shadow-colored:0 0 0 0.5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-\\[0px_1px_2px_0px_rgba\\(10\\,13\\,20\\,0\\.03\\)\\]{--tw-shadow:0px 1px 2px 0px #0a0d1408;--tw-shadow-colored:0px 1px 2px 0px var(--tw-shadow-color)}.nt-shadow-\\[0px_1px_2px_0px_rgba\\(10\\,13\\,20\\,0\\.03\\)\\],.nt-shadow-dropdown{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-dropdown{--tw-shadow:0px 12px 16px -4px oklch(from var(--nv-color-shadow) l c h/0.08),0px 4px 6px -2px oklch(from var(--nv-color-shadow) l c h/0.03);--tw-shadow-colored:0px 12px 16px -4px var(--tw-shadow-color),0px 4px 6px -2px var(--tw-shadow-color)}.nt-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.nt-shadow-lg,.nt-shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.nt-shadow-popover{--tw-shadow:0px 8px 26px 0px oklch(from var(--nv-color-shadow) l c h/0.08),0px 2px 6px 0px oklch(from var(--nv-color-shadow) l c h/0.12);--tw-shadow-colored:0px 8px 26px 0px var(--tw-shadow-color),0px 2px 6px 0px var(--tw-shadow-color)}.nt-shadow-popover,.nt-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.nt-shadow-tooltip{--tw-shadow:0 5px 20px 0 oklch(from var(--nv-color-shadow) l c h/0.08);--tw-shadow-colored:0 5px 20px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-outline-none{outline:2px solid #0000;outline-offset:2px}.nt-ring-offset-background{--tw-ring-offset-color:var(--nv-color-background)}.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-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nt-duration-100{transition-duration:.1s}.nt-duration-200{transition-duration:.2s}.nt-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.nt-animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.nt-fade-in{--tw-enter-opacity:0}.nt-slide-in-from-top-2{--tw-enter-translate-y:-0.5rem}.nt-duration-100{animation-duration:.1s}.nt-duration-200{animation-duration:.2s}.nt-ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-foreground\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-foreground) 80% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-high\\)_45\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-high) 45% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-high\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-high) 80% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-low\\)_45\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-low) 45% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-low\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-low) 80% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-medium\\)_45\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-medium) 45% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-medium\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-medium) 80% c h)}.\\[--bell-gradient-start\\:var\\(--nv-color-foreground\\)\\]{--bell-gradient-start:var(--nv-color-foreground)}.\\[--bell-gradient-start\\:var\\(--nv-color-severity-high\\)\\]{--bell-gradient-start:var(--nv-color-severity-high)}.\\[--bell-gradient-start\\:var\\(--nv-color-severity-low\\)\\]{--bell-gradient-start:var(--nv-color-severity-low)}.\\[--bell-gradient-start\\:var\\(--nv-color-severity-medium\\)\\]{--bell-gradient-start:var(--nv-color-severity-medium)}.\\[interpolate-size\\:allow-keywords\\]{interpolate-size:allow-keywords}.\\[scrollbar-gutter\\:stable\\]{scrollbar-gutter:stable}.\\[word-break\\:break-word\\]{word-break:break-word}.before\\:nt-absolute:before{content:var(--tw-content);position:absolute}.before\\:nt-inset-0:before{content:var(--tw-content);inset:0}.before\\:-nt-right-\\[calc\\(0\\+var\\(--stripes-size\\)\\)\\]:before{content:var(--tw-content);right:calc(var(--stripes-size)*-1)}.before\\:nt-m-1:before{content:var(--tw-content);margin:.25rem}@keyframes nt-stripes{0%{content:var(--tw-content);transform:translateX(0)}to{content:var(--tw-content);transform:translateX(calc(var(--stripes-size)*-1))}}.before\\:nt-animate-stripes:before{animation:nt-stripes 1s linear infinite paused;content:var(--tw-content)}.before\\:nt-rounded-full:before{border-radius:var(--nv-radius-full);content:var(--tw-content)}.before\\:nt-rounded-lg:before{border-radius:var(--nv-radius-lg);content:var(--tw-content)}.before\\:nt-rounded-md:before{border-radius:var(--nv-radius-md);content:var(--tw-content)}.before\\:nt-rounded-xl:before{border-radius:var(--nv-radius-xl);content:var(--tw-content)}.before\\:nt-border:before{border-width:1px;content:var(--tw-content)}.before\\:nt-border-primary-foreground-alpha-100:before{border-color:var(--nv-color-primary-foreground-alpha-100);content:var(--tw-content)}.before\\:nt-border-secondary-foreground-alpha-100:before{border-color:var(--nv-color-secondary-foreground-alpha-100);content:var(--tw-content)}.before\\:nt-bg-severity-high-alpha-200:before{background-color:var(--nv-color-severity-high-alpha-200);content:var(--tw-content)}.before\\:nt-bg-severity-high-alpha-300:before{background-color:var(--nv-color-severity-high-alpha-300);content:var(--tw-content)}.before\\:nt-bg-severity-low-alpha-200:before{background-color:var(--nv-color-severity-low-alpha-200);content:var(--tw-content)}.before\\:nt-bg-severity-low-alpha-300:before{background-color:var(--nv-color-severity-low-alpha-300);content:var(--tw-content)}.before\\:nt-bg-severity-medium-alpha-200:before{background-color:var(--nv-color-severity-medium-alpha-200);content:var(--tw-content)}.before\\:nt-bg-severity-medium-alpha-300:before{background-color:var(--nv-color-severity-medium-alpha-300);content:var(--tw-content)}.before\\:nt-bg-dev-stripes-gradient:before{background-image:repeating-linear-gradient(135deg,oklch(from var(--nv-color-stripes) l c h/.1) 25%,oklch(from var(--nv-color-stripes) l c h/.1) 50%,oklch(from var(--nv-color-stripes) l c h/.2) 50%,oklch(from var(--nv-color-stripes) l c h/.2) 75%);content:var(--tw-content)}.before\\:nt-bg-\\[length\\:var\\(--stripes-size\\)_var\\(--stripes-size\\)\\]:before{background-size:var(--stripes-size) var(--stripes-size);content:var(--tw-content)}.before\\:nt-content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.before\\:\\[mask-image\\:linear-gradient\\(transparent_0\\%\\2c black\\)\\]:before{content:var(--tw-content);-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.after\\:nt-absolute:after{content:var(--tw-content);position:absolute}.after\\:nt-inset-0:after{content:var(--tw-content);inset:0}.after\\:-nt-top-12:after{content:var(--tw-content);top:-3rem}.after\\:nt-bottom-0:after{bottom:0;content:var(--tw-content)}.after\\:nt-left-0:after{content:var(--tw-content);left:0}.after\\:nt-left-0\\.5:after{content:var(--tw-content);left:.125rem}.after\\:nt-top-0\\.5:after{content:var(--tw-content);top:.125rem}.after\\:nt-size-3:after{content:var(--tw-content);height:.75rem;width:.75rem}.after\\:nt-h-\\[2px\\]:after{content:var(--tw-content);height:2px}.after\\:nt-w-full:after{content:var(--tw-content);width:100%}.after\\:nt-translate-x-1\\/2:after{--tw-translate-x:50%}.after\\:nt-translate-x-1\\/2:after,.after\\:nt-translate-x-full:after{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\\:nt-translate-x-full:after{--tw-translate-x:100%}.after\\:nt-rounded-full:after{border-radius:var(--nv-radius-full);content:var(--tw-content)}.after\\:nt-rounded-lg:after{border-radius:var(--nv-radius-lg);content:var(--tw-content)}.after\\:nt-rounded-md:after{border-radius:var(--nv-radius-md);content:var(--tw-content)}.after\\:nt-rounded-xl:after{border-radius:var(--nv-radius-xl);content:var(--tw-content)}.after\\:nt-border-b-2:after{border-bottom-width:2px;content:var(--tw-content)}.after\\:nt-border-background:after{border-color:var(--nv-color-background);content:var(--tw-content)}.after\\:nt-border-b-primary:after{border-bottom-color:var(--nv-color-primary);content:var(--tw-content)}.after\\:nt-border-b-transparent:after{border-bottom-color:#0000;content:var(--tw-content)}.after\\:nt-bg-background:after{background-color:var(--nv-color-background);content:var(--tw-content)}.after\\:nt-bg-\\[linear-gradient\\(180deg\\2c transparent\\2c oklch\\(from_var\\(--nv-color-background\\)_l_c_h_\\/_0\\.9\\)_55\\%\\2c transparent\\)\\]:after{background-image:linear-gradient(180deg,#0000,oklch(from var(--nv-color-background) l c h/.9) 55%,#0000);content:var(--tw-content)}.after\\:nt-bg-\\[linear-gradient\\(180deg\\2c transparent\\2c oklch\\(from_var\\(--nv-color-stripes\\)_l_c_h_\\/_0\\.07\\)_55\\%\\2c transparent\\)\\2c linear-gradient\\(180deg\\2c transparent\\2c oklch\\(from_var\\(--nv-color-background\\)_l_c_h_\\/_0\\.9\\)_55\\%\\2c transparent\\)\\]:after{background-image:linear-gradient(180deg,#0000,oklch(from var(--nv-color-stripes) l c h/.07) 55%,#0000),linear-gradient(180deg,#0000,oklch(from var(--nv-color-background) l c h/.9) 55%,#0000);content:var(--tw-content)}.after\\:nt-bg-gradient-to-b:after{background-image:linear-gradient(to bottom,var(--tw-gradient-stops));content:var(--tw-content)}.after\\:nt-from-primary-foreground-alpha-50:after{content:var(--tw-content);--tw-gradient-from:var(--nv-color-primary-foreground-alpha-50) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.after\\:nt-from-secondary-foreground-alpha-50:after{content:var(--tw-content);--tw-gradient-from:var(--nv-color-secondary-foreground-alpha-50) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.after\\:nt-to-transparent:after{content:var(--tw-content);--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.after\\:nt-opacity-0:after{content:var(--tw-content);opacity:0}.after\\:nt-transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:nt-transition-opacity:after{content:var(--tw-content);transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:nt-duration-200:after{transition-duration:.2s}.after\\:nt-content-\\[\\"\\"\\]:after,.after\\:nt-content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.after\\:nt-duration-200:after{animation-duration:.2s;content:var(--tw-content)}.hover\\:nt-bg-neutral-alpha-100:hover{background-color:var(--nv-color-neutral-alpha-100)}.hover\\:nt-bg-neutral-alpha-50:hover{background-color:var(--nv-color-neutral-alpha-50)}.hover\\:nt-bg-primary-600:hover{background-color:var(--nv-color-primary-600)}.hover\\:nt-bg-primary-alpha-25:hover{background-color:var(--nv-color-primary-alpha-25)}.hover\\:nt-bg-primary-alpha-400:hover{background-color:var(--nv-color-primary-alpha-400)}.hover\\:nt-bg-severity-high-alpha-50:hover{background-color:var(--nv-color-severity-high-alpha-50)}.hover\\:nt-bg-severity-low-alpha-50:hover{background-color:var(--nv-color-severity-low-alpha-50)}.hover\\:nt-bg-severity-medium-alpha-50:hover{background-color:var(--nv-color-severity-medium-alpha-50)}.hover\\:nt-text-foreground-alpha-800:hover{color:var(--nv-color-foreground-alpha-800)}.before\\:hover\\:\\[animation-play-state\\:running\\]:hover:before{animation-play-state:running;content:var(--tw-content)}.hover\\:after\\:nt-opacity-100:hover:after{content:var(--tw-content);opacity:1}.focus\\:nt-outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus-visible\\:nt-rounded-lg:focus-visible{border-radius:var(--nv-radius-lg)}.focus-visible\\:nt-rounded-md:focus-visible{border-radius:var(--nv-radius-md)}.focus-visible\\:nt-rounded-xl:focus-visible{border-radius:var(--nv-radius-xl)}.focus-visible\\:nt-bg-neutral-alpha-50:focus-visible{background-color:var(--nv-color-neutral-alpha-50)}.focus-visible\\:nt-outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\\:nt-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:nt-ring-primary:focus-visible{--tw-ring-color:var(--nv-color-primary)}.focus-visible\\:nt-ring-ring:focus-visible{--tw-ring-color:var(--nv-color-ring)}.focus-visible\\:nt-ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:nt-pointer-events-none:disabled{pointer-events:none}.disabled\\:nt-opacity-20:disabled{opacity:.2}.disabled\\:nt-opacity-50:disabled{opacity:.5}.nt-group:focus-within .group-focus-within\\:nt-opacity-100{opacity:1}.nt-group:hover .group-hover\\:nt-bg-severity-high-alpha-500{background-color:var(--nv-color-severity-high-alpha-500)}.nt-group:hover .group-hover\\:nt-bg-severity-low-alpha-500{background-color:var(--nv-color-severity-low-alpha-500)}.nt-group:hover .group-hover\\:nt-bg-severity-medium-alpha-500{background-color:var(--nv-color-severity-medium-alpha-500)}.nt-group:hover .group-hover\\:nt-opacity-0{opacity:0}.nt-group:hover .group-hover\\:nt-opacity-100{opacity:1}.nt-peer:focus-visible~.peer-focus-visible\\:nt-outline-none{outline:2px solid #0000;outline-offset:2px}.nt-peer:focus-visible~.peer-focus-visible\\:nt-ring-2{--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)}.nt-peer:focus-visible~.peer-focus-visible\\:nt-ring-offset-2{--tw-ring-offset-width:2px}.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\\]\\:nt-cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\\[checked\\]\\:nt-border-none[data-checked],.data-\\[indeterminate\\]\\:nt-border-none[data-indeterminate]{border-style:none}.data-\\[checked\\]\\:nt-bg-primary[data-checked],.data-\\[indeterminate\\]\\:nt-bg-primary[data-indeterminate]{background-color:var(--nv-color-primary)}.data-\\[checked\\]\\:nt-text-primary-foreground[data-checked]{color:var(--nv-color-primary-foreground)}.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-\\[indeterminate\\]\\:nt-text-primary-foreground[data-indeterminate]{color:var(--nv-color-primary-foreground)}.data-\\[state\\=active\\]\\:nt-text-foreground[data-state=active]{color:var(--nv-color-foreground)}.data-\\[disabled\\]\\:nt-opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=active\\]\\:after\\:nt-border-b-2[data-state=active]:after{border-bottom-width:2px;content:var(--tw-content)}.data-\\[state\\=active\\]\\:after\\:nt-border-primary[data-state=active]:after{border-color:var(--nv-color-primary);content:var(--tw-content)}.data-\\[state\\=active\\]\\:after\\:nt-opacity-100[data-state=active]:after{content:var(--tw-content);opacity:1}.\\[\\&\\:not\\(\\:first-child\\)\\]\\:nt-border-t:not(:first-child){border-top-width:1px}.\\[\\&_\\.nv-notificationList\\]\\:nt-pb-12 .nv-notificationList{padding-bottom:3rem}.\\[\\&_\\.nv-notificationList\\]\\:nt-pb-8 .nv-notificationList{padding-bottom:2rem}.\\[\\&_\\.nv-preferencesContainer\\]\\:nt-pb-12 .nv-preferencesContainer{padding-bottom:3rem}.\\[\\&_\\.nv-preferencesContainer\\]\\:nt-pb-8 .nv-preferencesContainer{padding-bottom:2rem}.\\[\\&_stop\\]\\:nt-transition-\\[stop-color\\] stop{transition-duration:.15s;transition-property:stop-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\\[\\&_svg\\]\\:nt-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:nt-shrink-0 svg{flex-shrink:0}`;
|
|
40
|
+
// _e80bchi7b:/Users/pavlotymchuk/projects/js/novu-2/packages/js/src/ui/index.directcss
|
|
41
|
+
var ui_default = `.novu{scrollbar-color:var(--nv-color-secondary-foreground-alpha-300) #0000;:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{border:0 solid #e5e7eb;box-sizing:border-box}:where(html,:host){line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}:where(body){line-height:inherit;margin:0}:where(hr){border-top-width:1px;color:inherit;height:0}:where(abbr:where([title])){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(a){color:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small){font-size:80%}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:initial}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button]),input:where([type=reset]),input:where([type=submit])){-webkit-appearance:button;background-color:initial;background-image:none}:where(:-moz-focusring){outline:auto}:where(:-moz-ui-invalid){box-shadow:none}:where(progress){vertical-align:initial}:where(*)::-webkit-inner-spin-button,:where(*)::-webkit-outer-spin-button{height:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(*)::-webkit-search-decoration{-webkit-appearance:none}:where(*)::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre){margin:0}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(ol,ul,menu){list-style:none;margin:0;padding:0}:where(dialog){padding:0}:where(textarea){resize:vertical}:where(input)::placeholder,:where(textarea)::placeholder{color:#9ca3af;opacity:1}:where(button,[role=button]){cursor:pointer}:where(:disabled){cursor:default}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block;vertical-align:middle}:where(img,video){height:auto;max-width:100%}:where([hidden]){display:none}:where(*),:where(*) :after,:where(*) :before,:where(*):after,:where(*):before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(*) ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-scrollbar{height:.5rem;width:.5rem}::-webkit-scrollbar-thumb{background-clip:"padding-box";background-color:var(--nv-color-secondary-foreground-alpha-300);border-radius:.25rem}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background-color:initial}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}}.nt-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.\\!nt-pointer-events-auto{pointer-events:auto!important}.nt-invisible{visibility:hidden}.nt-absolute{position:absolute}.nt-relative{position:relative}.nt-inset-0{inset:0}.nt-inset-2{inset:.5rem}.nt-bottom-0{bottom:0}.nt-left-0{left:0}.nt-left-0\\.5{left:.125rem}.nt-right-0{right:0}.nt-right-3{right:.75rem}.nt-top-0{top:0}.nt-top-0\\.5{top:.125rem}.nt-top-3{top:.75rem}.nt-z-10{z-index:10}.nt-z-\\[-1\\]{z-index:-1}.-nt-m-1{margin:-.25rem}.nt-mx-auto{margin-left:auto;margin-right:auto}.-nt-mt-2{margin-top:-.5rem}.-nt-mt-\\[2px\\]{margin-top:-2px}.nt--mt-\\[50px\\]{margin-top:-50px}.nt-mb-1{margin-bottom:.25rem}.nt-mb-2{margin-bottom:.5rem}.nt-mb-3{margin-bottom:.75rem}.nt-mb-4{margin-bottom:1rem}.nt-mb-\\[0\\.625rem\\]{margin-bottom:.625rem}.nt-ml-1{margin-left:.25rem}.nt-ml-2{margin-left:.5rem}.nt-ml-auto{margin-left:auto}.nt-mr-2{margin-right:.5rem}.nt-mr-auto{margin-right:auto}.nt-mt-1{margin-top:.25rem}.nt-mt-1\\.5{margin-top:.375rem}.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-6{height:1.5rem;width:1.5rem}.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-3\\.5{height:.875rem}.nt-h-4{height:1rem}.nt-h-5{height:1.25rem}.nt-h-6{height:1.5rem}.nt-h-7{height:1.75rem}.nt-h-8{height:2rem}.nt-h-9{height:2.25rem}.nt-h-\\[600px\\]{height:600px}.nt-h-auto{height:auto}.nt-h-fit{height:fit-content}.nt-h-full{height:100%}.nt-max-h-\\[160px\\]{max-height:160px}.nt-min-h-0{min-height:0}.nt-min-h-\\[272px\\]{min-height:272px}.nt-w-1\\.5{width:.375rem}.nt-w-1\\/3{width:33.333333%}.nt-w-2\\/3{width:66.666667%}.nt-w-5{width:1.25rem}.nt-w-7{width:1.75rem}.nt-w-8{width:2rem}.nt-w-\\[260px\\]{width:260px}.nt-w-\\[350px\\]{width:350px}.nt-w-\\[3px\\]{width:3px}.nt-w-\\[400px\\]{width:400px}.nt-w-\\[60px\\]{width:60px}.nt-w-\\[calc\\(2ch\\+2rem\\)\\]{width:calc(2ch + 2rem)}.nt-w-fit{width:fit-content}.nt-w-full{width:100%}.nt-w-max{width:max-content}.nt-min-w-52{min-width:13rem}.nt-min-w-\\[120px\\]{min-width:120px}.nt-min-w-\\[220px\\]{min-width:220px}.nt-min-w-\\[74px\\]{min-width:74px}.nt-max-w-56{max-width:14rem}.nt-max-w-\\[120px\\]{max-width:120px}.nt-max-w-\\[220px\\]{max-width:220px}.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))}@keyframes nt-shimmer{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.nt-animate-shimmer{animation:nt-shimmer 1.5s ease-in-out infinite}@keyframes nt-spin{to{transform:rotate(1turn)}}.nt-animate-spin{animation:nt-spin 1s linear infinite}.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-overflow-x-hidden{overflow-x:hidden}.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-rounded-b-lg{border-bottom-left-radius:var(--nv-radius-lg);border-bottom-right-radius:var(--nv-radius-lg)}.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-primary{border-color:var(--nv-color-primary)}.nt-border-t-neutral-alpha-200{border-top-color:var(--nv-color-neutral-alpha-200)}.nt-bg-\\[oklch\\(from_var\\(--nv-color-stripes\\)_l_c_h_\\/_0\\.1\\)\\]{background-color:oklch(from var(--nv-color-stripes) l c h/.1)}.nt-bg-background{background-color:var(--nv-color-background)}.nt-bg-counter{background-color:var(--nv-color-counter)}.nt-bg-foreground{background-color:var(--nv-color-foreground)}.nt-bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.nt-bg-neutral-alpha-100{background-color:var(--nv-color-neutral-alpha-100)}.nt-bg-neutral-alpha-25{background-color:var(--nv-color-neutral-alpha-25)}.nt-bg-neutral-alpha-300{background-color:var(--nv-color-neutral-alpha-300)}.nt-bg-neutral-alpha-50{background-color:var(--nv-color-neutral-alpha-50)}.nt-bg-primary{background-color:var(--nv-color-primary)}.nt-bg-primary-alpha-300{background-color:var(--nv-color-primary-alpha-300)}.nt-bg-primary-alpha-400{background-color:var(--nv-color-primary-alpha-400)}.nt-bg-secondary{background-color:var(--nv-color-secondary)}.nt-bg-severity-high{background-color:var(--nv-color-severity-high)}.nt-bg-severity-high-alpha-100{background-color:var(--nv-color-severity-high-alpha-100)}.nt-bg-severity-high-alpha-200{background-color:var(--nv-color-severity-high-alpha-200)}.nt-bg-severity-high-alpha-300{background-color:var(--nv-color-severity-high-alpha-300)}.nt-bg-severity-high-alpha-50{background-color:var(--nv-color-severity-high-alpha-50)}.nt-bg-severity-low{background-color:var(--nv-color-severity-low)}.nt-bg-severity-low-alpha-100{background-color:var(--nv-color-severity-low-alpha-100)}.nt-bg-severity-low-alpha-200{background-color:var(--nv-color-severity-low-alpha-200)}.nt-bg-severity-low-alpha-300{background-color:var(--nv-color-severity-low-alpha-300)}.nt-bg-severity-low-alpha-50{background-color:var(--nv-color-severity-low-alpha-50)}.nt-bg-severity-medium{background-color:var(--nv-color-severity-medium)}.nt-bg-severity-medium-alpha-100{background-color:var(--nv-color-severity-medium-alpha-100)}.nt-bg-severity-medium-alpha-200{background-color:var(--nv-color-severity-medium-alpha-200)}.nt-bg-severity-medium-alpha-300{background-color:var(--nv-color-severity-medium-alpha-300)}.nt-bg-severity-medium-alpha-50{background-color:var(--nv-color-severity-medium-alpha-50)}.nt-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.nt-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.nt-bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.nt-from-foreground-alpha-50{--tw-gradient-from:var(--nv-color-foreground-alpha-50) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.nt-from-primary-foreground-alpha-200{--tw-gradient-from:var(--nv-color-primary-foreground-alpha-200) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.nt-from-transparent{--tw-gradient-from:#0000 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.nt-from-20\\%{--tw-gradient-from-position:20%}.nt-to-background{--tw-gradient-to:var(--nv-color-background) var(--tw-gradient-to-position)}.nt-to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.nt-object-cover{object-fit:cover}.nt-p-0{padding:0}.nt-p-0\\.5{padding:.125rem}.nt-p-1{padding:.25rem}.nt-p-2{padding:.5rem}.nt-p-2\\.5{padding:.625rem}.nt-p-3{padding:.75rem}.nt-p-4{padding:1rem}.nt-px-1{padding-left:.25rem;padding-right:.25rem}.nt-px-2{padding-left:.5rem;padding-right:.5rem}.nt-px-3{padding-left:.75rem;padding-right:.75rem}.nt-px-4{padding-left:1rem;padding-right:1rem}.nt-px-8{padding-left:2rem;padding-right:2rem}.nt-px-\\[6px\\]{padding-left:6px;padding-right:6px}.nt-py-1{padding-bottom:.25rem;padding-top:.25rem}.nt-py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.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-12{padding-bottom:3rem}.nt-pb-2{padding-bottom:.5rem}.nt-pb-\\[0\\.625rem\\]{padding-bottom:.625rem}.nt-pr-0{padding-right:0}.nt-pt-2{padding-top:.5rem}.nt-pt-2\\.5{padding-top:.625rem}.nt-pt-8{padding-top:2rem}.nt-text-left{text-align:left}.nt-text-center{text-align:center}.nt-text-start{text-align:start}.nt-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.nt-text-\\[0\\.8rem\\]{font-size:.8rem}.nt-text-\\[12px\\]{font-size:12px}.nt-text-base{font-size:var(--nv-font-size-base);line-height:var(--nv-line-height-base)}.nt-text-sm{font-size:var(--nv-font-size-sm);line-height:var(--nv-line-height-sm)}.nt-text-xl{font-size:var(--nv-font-size-xl);line-height:var(--nv-line-height-xl)}.nt-text-xs{font-size:var(--nv-font-size-xs);line-height:var(--nv-line-height-xs)}.nt-font-medium{font-weight:500}.nt-font-normal{font-weight:400}.nt-font-semibold{font-weight:600}.nt-leading-none{line-height:1}.nt-text-\\[\\#000000\\]{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.nt-text-background{color:var(--nv-color-background)}.nt-text-counter-foreground{color:var(--nv-color-counter-foreground)}.nt-text-foreground{color:var(--nv-color-foreground)}.nt-text-foreground-alpha-300{color:var(--nv-color-foreground-alpha-300)}.nt-text-foreground-alpha-400{color:var(--nv-color-foreground-alpha-400)}.nt-text-foreground-alpha-600{color:var(--nv-color-foreground-alpha-600)}.nt-text-foreground-alpha-700{color:var(--nv-color-foreground-alpha-700)}.nt-text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.nt-text-neutral-alpha-500{color:var(--nv-color-neutral-alpha-500)}.nt-text-primary-foreground{color:var(--nv-color-primary-foreground)}.nt-text-secondary-foreground{color:var(--nv-color-secondary-foreground)}.nt-text-stripes{color:var(--nv-color-stripes)}.nt-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nt-underline{text-decoration-line:underline}.nt-opacity-0{opacity:0}.nt-opacity-20{opacity:.2}.nt-opacity-50{opacity:.5}.nt-shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-\\[0_0_0_0\\.5px_var\\(--nv-color-primary-600\\)\\]{--tw-shadow:0 0 0 0.5px var(--nv-color-primary-600);--tw-shadow-colored:0 0 0 0.5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-\\[0_0_0_0\\.5px_var\\(--nv-color-secondary-600\\)\\]{--tw-shadow:0 0 0 0.5px var(--nv-color-secondary-600);--tw-shadow-colored:0 0 0 0.5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-\\[0px_1px_2px_0px_rgba\\(10\\,13\\,20\\,0\\.03\\)\\]{--tw-shadow:0px 1px 2px 0px #0a0d1408;--tw-shadow-colored:0px 1px 2px 0px var(--tw-shadow-color)}.nt-shadow-\\[0px_1px_2px_0px_rgba\\(10\\,13\\,20\\,0\\.03\\)\\],.nt-shadow-dropdown{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-dropdown{--tw-shadow:0px 12px 16px -4px oklch(from var(--nv-color-shadow) l c h/0.08),0px 4px 6px -2px oklch(from var(--nv-color-shadow) l c h/0.03);--tw-shadow-colored:0px 12px 16px -4px var(--tw-shadow-color),0px 4px 6px -2px var(--tw-shadow-color)}.nt-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.nt-shadow-lg,.nt-shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.nt-shadow-popover{--tw-shadow:0px 8px 26px 0px oklch(from var(--nv-color-shadow) l c h/0.08),0px 2px 6px 0px oklch(from var(--nv-color-shadow) l c h/0.12);--tw-shadow-colored:0px 8px 26px 0px var(--tw-shadow-color),0px 2px 6px 0px var(--tw-shadow-color)}.nt-shadow-popover,.nt-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.nt-shadow-tooltip{--tw-shadow:0 5px 20px 0 oklch(from var(--nv-color-shadow) l c h/0.08);--tw-shadow-colored:0 5px 20px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.nt-outline-none{outline:2px solid #0000;outline-offset:2px}.nt-ring-offset-background{--tw-ring-offset-color:var(--nv-color-background)}.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-\\[width\\]{transition-duration:.15s;transition-property:width;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-transition-opacity{transition-duration:.15s;transition-property:opacity;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)}.nt-will-change-\\[width\\]{will-change:width}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.nt-animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.nt-fade-in{--tw-enter-opacity:0}.nt-slide-in-from-top-2{--tw-enter-translate-y:-0.5rem}.nt-duration-100{animation-duration:.1s}.nt-duration-200{animation-duration:.2s}.nt-ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-foreground\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-foreground) 80% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-high\\)_45\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-high) 45% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-high\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-high) 80% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-low\\)_45\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-low) 45% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-low\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-low) 80% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-medium\\)_45\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-medium) 45% c h)}.\\[--bell-gradient-end\\:oklch\\(from_var\\(--nv-color-severity-medium\\)_80\\%_c_h\\)\\]{--bell-gradient-end:oklch(from var(--nv-color-severity-medium) 80% c h)}.\\[--bell-gradient-start\\:var\\(--nv-color-foreground\\)\\]{--bell-gradient-start:var(--nv-color-foreground)}.\\[--bell-gradient-start\\:var\\(--nv-color-severity-high\\)\\]{--bell-gradient-start:var(--nv-color-severity-high)}.\\[--bell-gradient-start\\:var\\(--nv-color-severity-low\\)\\]{--bell-gradient-start:var(--nv-color-severity-low)}.\\[--bell-gradient-start\\:var\\(--nv-color-severity-medium\\)\\]{--bell-gradient-start:var(--nv-color-severity-medium)}.\\[interpolate-size\\:allow-keywords\\]{interpolate-size:allow-keywords}.\\[line-height\\:16px\\]{line-height:16px}.\\[scrollbar-gutter\\:stable\\]{scrollbar-gutter:stable}.\\[word-break\\:break-word\\]{word-break:break-word}.before\\:nt-absolute:before{content:var(--tw-content);position:absolute}.before\\:nt-inset-0:before{content:var(--tw-content);inset:0}.before\\:-nt-right-\\[calc\\(0\\+var\\(--stripes-size\\)\\)\\]:before{content:var(--tw-content);right:calc(var(--stripes-size)*-1)}.before\\:nt-m-1:before{content:var(--tw-content);margin:.25rem}@keyframes nt-stripes{0%{content:var(--tw-content);transform:translateX(0)}to{content:var(--tw-content);transform:translateX(calc(var(--stripes-size)*-1))}}.before\\:nt-animate-stripes:before{animation:nt-stripes 1s linear infinite paused;content:var(--tw-content)}.before\\:nt-rounded-full:before{border-radius:var(--nv-radius-full);content:var(--tw-content)}.before\\:nt-rounded-md:before{border-radius:var(--nv-radius-md);content:var(--tw-content)}.before\\:nt-rounded-xl:before{border-radius:var(--nv-radius-xl);content:var(--tw-content)}.before\\:nt-border:before{border-width:1px;content:var(--tw-content)}.before\\:nt-border-primary-foreground-alpha-100:before{border-color:var(--nv-color-primary-foreground-alpha-100);content:var(--tw-content)}.before\\:nt-border-secondary-foreground-alpha-100:before{border-color:var(--nv-color-secondary-foreground-alpha-100);content:var(--tw-content)}.before\\:nt-bg-severity-high-alpha-200:before{background-color:var(--nv-color-severity-high-alpha-200);content:var(--tw-content)}.before\\:nt-bg-severity-high-alpha-300:before{background-color:var(--nv-color-severity-high-alpha-300);content:var(--tw-content)}.before\\:nt-bg-severity-low-alpha-200:before{background-color:var(--nv-color-severity-low-alpha-200);content:var(--tw-content)}.before\\:nt-bg-severity-low-alpha-300:before{background-color:var(--nv-color-severity-low-alpha-300);content:var(--tw-content)}.before\\:nt-bg-severity-medium-alpha-200:before{background-color:var(--nv-color-severity-medium-alpha-200);content:var(--tw-content)}.before\\:nt-bg-severity-medium-alpha-300:before{background-color:var(--nv-color-severity-medium-alpha-300);content:var(--tw-content)}.before\\:nt-bg-dev-stripes-gradient:before{background-image:repeating-linear-gradient(135deg,oklch(from var(--nv-color-stripes) l c h/.1) 25%,oklch(from var(--nv-color-stripes) l c h/.1) 50%,oklch(from var(--nv-color-stripes) l c h/.2) 50%,oklch(from var(--nv-color-stripes) l c h/.2) 75%);content:var(--tw-content)}.before\\:nt-bg-\\[length\\:var\\(--stripes-size\\)_var\\(--stripes-size\\)\\]:before{background-size:var(--stripes-size) var(--stripes-size);content:var(--tw-content)}.before\\:nt-content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.before\\:\\[mask-image\\:linear-gradient\\(transparent_0\\%\\2c black\\)\\]:before{content:var(--tw-content);-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.after\\:nt-absolute:after{content:var(--tw-content);position:absolute}.after\\:nt-inset-0:after{content:var(--tw-content);inset:0}.after\\:-nt-top-12:after{content:var(--tw-content);top:-3rem}.after\\:nt-bottom-0:after{bottom:0;content:var(--tw-content)}.after\\:nt-left-0:after{content:var(--tw-content);left:0}.after\\:nt-left-0\\.5:after{content:var(--tw-content);left:.125rem}.after\\:nt-top-0\\.5:after{content:var(--tw-content);top:.125rem}.after\\:nt-size-3:after{content:var(--tw-content);height:.75rem;width:.75rem}.after\\:nt-h-\\[2px\\]:after{content:var(--tw-content);height:2px}.after\\:nt-w-full:after{content:var(--tw-content);width:100%}.after\\:nt-translate-x-1\\/2:after{--tw-translate-x:50%}.after\\:nt-translate-x-1\\/2:after,.after\\:nt-translate-x-full:after{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\\:nt-translate-x-full:after{--tw-translate-x:100%}.after\\:nt-rounded-full:after{border-radius:var(--nv-radius-full);content:var(--tw-content)}.after\\:nt-rounded-md:after{border-radius:var(--nv-radius-md);content:var(--tw-content)}.after\\:nt-rounded-xl:after{border-radius:var(--nv-radius-xl);content:var(--tw-content)}.after\\:nt-border-b-2:after{border-bottom-width:2px;content:var(--tw-content)}.after\\:nt-border-background:after{border-color:var(--nv-color-background);content:var(--tw-content)}.after\\:nt-border-b-primary:after{border-bottom-color:var(--nv-color-primary);content:var(--tw-content)}.after\\:nt-border-b-transparent:after{border-bottom-color:#0000;content:var(--tw-content)}.after\\:nt-bg-background:after{background-color:var(--nv-color-background);content:var(--tw-content)}.after\\:nt-bg-\\[linear-gradient\\(180deg\\2c transparent\\2c oklch\\(from_var\\(--nv-color-background\\)_l_c_h_\\/_0\\.9\\)_55\\%\\2c transparent\\)\\]:after{background-image:linear-gradient(180deg,#0000,oklch(from var(--nv-color-background) l c h/.9) 55%,#0000);content:var(--tw-content)}.after\\:nt-bg-\\[linear-gradient\\(180deg\\2c transparent\\2c oklch\\(from_var\\(--nv-color-stripes\\)_l_c_h_\\/_0\\.07\\)_55\\%\\2c transparent\\)\\2c linear-gradient\\(180deg\\2c transparent\\2c oklch\\(from_var\\(--nv-color-background\\)_l_c_h_\\/_0\\.9\\)_55\\%\\2c transparent\\)\\]:after{background-image:linear-gradient(180deg,#0000,oklch(from var(--nv-color-stripes) l c h/.07) 55%,#0000),linear-gradient(180deg,#0000,oklch(from var(--nv-color-background) l c h/.9) 55%,#0000);content:var(--tw-content)}.after\\:nt-bg-gradient-to-b:after{background-image:linear-gradient(to bottom,var(--tw-gradient-stops));content:var(--tw-content)}.after\\:nt-from-primary-foreground-alpha-50:after{content:var(--tw-content);--tw-gradient-from:var(--nv-color-primary-foreground-alpha-50) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.after\\:nt-from-secondary-foreground-alpha-50:after{content:var(--tw-content);--tw-gradient-from:var(--nv-color-secondary-foreground-alpha-50) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.after\\:nt-to-transparent:after{content:var(--tw-content);--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.after\\:nt-opacity-0:after{content:var(--tw-content);opacity:0}.after\\:nt-transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:nt-transition-opacity:after{content:var(--tw-content);transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:nt-duration-200:after{transition-duration:.2s}.after\\:nt-content-\\[\\"\\"\\]:after,.after\\:nt-content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.after\\:nt-duration-200:after{animation-duration:.2s;content:var(--tw-content)}.hover\\:nt-bg-neutral-alpha-100:hover{background-color:var(--nv-color-neutral-alpha-100)}.hover\\:nt-bg-neutral-alpha-50:hover{background-color:var(--nv-color-neutral-alpha-50)}.hover\\:nt-bg-primary-600:hover{background-color:var(--nv-color-primary-600)}.hover\\:nt-bg-primary-alpha-25:hover{background-color:var(--nv-color-primary-alpha-25)}.hover\\:nt-bg-primary-alpha-400:hover{background-color:var(--nv-color-primary-alpha-400)}.hover\\:nt-bg-severity-high-alpha-50:hover{background-color:var(--nv-color-severity-high-alpha-50)}.hover\\:nt-bg-severity-low-alpha-50:hover{background-color:var(--nv-color-severity-low-alpha-50)}.hover\\:nt-bg-severity-medium-alpha-50:hover{background-color:var(--nv-color-severity-medium-alpha-50)}.hover\\:nt-text-foreground-alpha-800:hover{color:var(--nv-color-foreground-alpha-800)}.before\\:hover\\:\\[animation-play-state\\:running\\]:hover:before{animation-play-state:running;content:var(--tw-content)}.hover\\:after\\:nt-opacity-100:hover:after{content:var(--tw-content);opacity:1}.focus\\:nt-outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus-visible\\:nt-rounded-lg:focus-visible{border-radius:var(--nv-radius-lg)}.focus-visible\\:nt-rounded-md:focus-visible{border-radius:var(--nv-radius-md)}.focus-visible\\:nt-rounded-xl:focus-visible{border-radius:var(--nv-radius-xl)}.focus-visible\\:nt-bg-neutral-alpha-50:focus-visible{background-color:var(--nv-color-neutral-alpha-50)}.focus-visible\\:nt-outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\\:nt-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:nt-ring-primary:focus-visible{--tw-ring-color:var(--nv-color-primary)}.focus-visible\\:nt-ring-ring:focus-visible{--tw-ring-color:var(--nv-color-ring)}.focus-visible\\:nt-ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:nt-pointer-events-none:disabled{pointer-events:none}.disabled\\:nt-opacity-20:disabled{opacity:.2}.disabled\\:nt-opacity-50:disabled{opacity:.5}.nt-group:focus-within .group-focus-within\\:nt-opacity-100{opacity:1}.nt-group:hover .group-hover\\:nt-bg-severity-high-alpha-500{background-color:var(--nv-color-severity-high-alpha-500)}.nt-group:hover .group-hover\\:nt-bg-severity-low-alpha-500{background-color:var(--nv-color-severity-low-alpha-500)}.nt-group:hover .group-hover\\:nt-bg-severity-medium-alpha-500{background-color:var(--nv-color-severity-medium-alpha-500)}.nt-group:hover .group-hover\\:nt-opacity-0{opacity:0}.nt-group:hover .group-hover\\:nt-opacity-100{opacity:1}.nt-peer:focus-visible~.peer-focus-visible\\:nt-outline-none{outline:2px solid #0000;outline-offset:2px}.nt-peer:focus-visible~.peer-focus-visible\\:nt-ring-2{--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)}.nt-peer:focus-visible~.peer-focus-visible\\:nt-ring-offset-2{--tw-ring-offset-width:2px}.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\\]\\:nt-cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\\[checked\\]\\:nt-border-none[data-checked],.data-\\[indeterminate\\]\\:nt-border-none[data-indeterminate]{border-style:none}.data-\\[checked\\]\\:nt-bg-primary[data-checked],.data-\\[indeterminate\\]\\:nt-bg-primary[data-indeterminate]{background-color:var(--nv-color-primary)}.data-\\[checked\\]\\:nt-text-primary-foreground[data-checked]{color:var(--nv-color-primary-foreground)}.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-\\[indeterminate\\]\\:nt-text-primary-foreground[data-indeterminate]{color:var(--nv-color-primary-foreground)}.data-\\[state\\=active\\]\\:nt-text-foreground[data-state=active]{color:var(--nv-color-foreground)}.data-\\[disabled\\]\\:nt-opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=active\\]\\:after\\:nt-border-b-2[data-state=active]:after{border-bottom-width:2px;content:var(--tw-content)}.data-\\[state\\=active\\]\\:after\\:nt-border-primary[data-state=active]:after{border-color:var(--nv-color-primary);content:var(--tw-content)}.data-\\[state\\=active\\]\\:after\\:nt-opacity-100[data-state=active]:after{content:var(--tw-content);opacity:1}.\\[\\&\\:not\\(\\:first-child\\)\\]\\:nt-border-t:not(:first-child){border-top-width:1px}.\\[\\&_\\.nv-notificationList\\]\\:nt-pb-12 .nv-notificationList{padding-bottom:3rem}.\\[\\&_\\.nv-notificationList\\]\\:nt-pb-8 .nv-notificationList{padding-bottom:2rem}.\\[\\&_\\.nv-preferencesContainer\\]\\:nt-pb-12 .nv-preferencesContainer{padding-bottom:3rem}.\\[\\&_\\.nv-preferencesContainer\\]\\:nt-pb-8 .nv-preferencesContainer{padding-bottom:2rem}.\\[\\&_stop\\]\\:nt-transition-\\[stop-color\\] stop{transition-duration:.15s;transition-property:stop-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\\[\\&_svg\\]\\:nt-pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:nt-shrink-0 svg{flex-shrink:0}`;
|
|
42
42
|
|
|
43
43
|
// src/ui/config/appearanceKeys.ts
|
|
44
|
-
var
|
|
44
|
+
var commonAppearanceKeys = [
|
|
45
45
|
// Primitives
|
|
46
|
+
"root",
|
|
46
47
|
"button",
|
|
47
48
|
"input",
|
|
48
49
|
"icon",
|
|
@@ -50,6 +51,27 @@ var appearanceKeys = [
|
|
|
50
51
|
"popoverContent",
|
|
51
52
|
"popoverTrigger",
|
|
52
53
|
"popoverClose",
|
|
54
|
+
"collapsible",
|
|
55
|
+
"tooltipContent",
|
|
56
|
+
"tooltipTrigger"
|
|
57
|
+
];
|
|
58
|
+
var inboxAppearanceKeys = [
|
|
59
|
+
// General
|
|
60
|
+
"bellIcon",
|
|
61
|
+
"lockIcon",
|
|
62
|
+
"bellContainer",
|
|
63
|
+
"severityHigh__bellContainer",
|
|
64
|
+
"severityMedium__bellContainer",
|
|
65
|
+
"severityLow__bellContainer",
|
|
66
|
+
"bellSeverityGlow",
|
|
67
|
+
"severityGlowHigh__bellSeverityGlow",
|
|
68
|
+
"severityGlowMedium__bellSeverityGlow",
|
|
69
|
+
"severityGlowLow__bellSeverityGlow",
|
|
70
|
+
"bellDot",
|
|
71
|
+
"preferences__button",
|
|
72
|
+
"preferencesContainer",
|
|
73
|
+
"inboxHeader",
|
|
74
|
+
"loading",
|
|
53
75
|
"dropdownContent",
|
|
54
76
|
"dropdownTrigger",
|
|
55
77
|
"dropdownItem",
|
|
@@ -58,9 +80,6 @@ var appearanceKeys = [
|
|
|
58
80
|
"dropdownItemLeft__icon",
|
|
59
81
|
"dropdownItemRight__icon",
|
|
60
82
|
"dropdownItem__icon",
|
|
61
|
-
"collapsible",
|
|
62
|
-
"tooltipContent",
|
|
63
|
-
"tooltipTrigger",
|
|
64
83
|
"datePicker",
|
|
65
84
|
"datePickerGrid",
|
|
66
85
|
"datePickerGridRow",
|
|
@@ -99,23 +118,6 @@ var appearanceKeys = [
|
|
|
99
118
|
"tabsContent",
|
|
100
119
|
"tabsTrigger",
|
|
101
120
|
"dots",
|
|
102
|
-
// General
|
|
103
|
-
"root",
|
|
104
|
-
"bellIcon",
|
|
105
|
-
"lockIcon",
|
|
106
|
-
"bellContainer",
|
|
107
|
-
"severityHigh__bellContainer",
|
|
108
|
-
"severityMedium__bellContainer",
|
|
109
|
-
"severityLow__bellContainer",
|
|
110
|
-
"bellSeverityGlow",
|
|
111
|
-
"severityGlowHigh__bellSeverityGlow",
|
|
112
|
-
"severityGlowMedium__bellSeverityGlow",
|
|
113
|
-
"severityGlowLow__bellSeverityGlow",
|
|
114
|
-
"bellDot",
|
|
115
|
-
"preferences__button",
|
|
116
|
-
"preferencesContainer",
|
|
117
|
-
"inboxHeader",
|
|
118
|
-
"loading",
|
|
119
121
|
// Inbox
|
|
120
122
|
"inboxContent",
|
|
121
123
|
"inbox__popoverTrigger",
|
|
@@ -304,8 +306,51 @@ var appearanceKeys = [
|
|
|
304
306
|
// Text formatting
|
|
305
307
|
"strong"
|
|
306
308
|
];
|
|
307
|
-
var
|
|
308
|
-
|
|
309
|
+
var subscriptionAppearanceKeys = [
|
|
310
|
+
// Subscription
|
|
311
|
+
"subscriptionContainer",
|
|
312
|
+
// Subscription Button
|
|
313
|
+
"subscriptionButton__button",
|
|
314
|
+
"subscriptionButtonContainer",
|
|
315
|
+
"subscriptionButtonIcon",
|
|
316
|
+
"subscriptionButtonLabel",
|
|
317
|
+
// Subscription Popover
|
|
318
|
+
"subscription__popoverTriggerContainer",
|
|
319
|
+
"subscription__popoverTrigger",
|
|
320
|
+
"subscriptionTriggerIcon",
|
|
321
|
+
"subscription__popoverContent",
|
|
322
|
+
// Subscription Preferences
|
|
323
|
+
"subscriptionPreferencesContainer",
|
|
324
|
+
"subscriptionPreferencesHeaderContainer",
|
|
325
|
+
"subscriptionPreferencesHeader",
|
|
326
|
+
"subscriptionPreferencesInfoIcon",
|
|
327
|
+
"subscriptionPreferencesContent",
|
|
328
|
+
"subscriptionPreferencesGroupsContainer",
|
|
329
|
+
// Subscription Preferences Fallback
|
|
330
|
+
"subscriptionPreferencesFallback",
|
|
331
|
+
"subscriptionPreferencesFallbackTexts",
|
|
332
|
+
"subscriptionPreferencesFallbackHeader",
|
|
333
|
+
"subscriptionPreferencesFallbackDescription",
|
|
334
|
+
// Subscription Preference Row
|
|
335
|
+
"subscriptionPreferenceRow",
|
|
336
|
+
"subscriptionPreferenceLabel",
|
|
337
|
+
// Subscription Preference Group Row
|
|
338
|
+
"subscriptionPreferenceGroupContainer",
|
|
339
|
+
"subscriptionPreferenceGroupHeader",
|
|
340
|
+
"subscriptionPreferenceGroupLabelContainer",
|
|
341
|
+
"subscriptionPreferenceGroupLabelIcon",
|
|
342
|
+
"subscriptionPreferenceGroupLabel",
|
|
343
|
+
"subscriptionPreferenceGroupActionsContainer",
|
|
344
|
+
"subscriptionPreferenceGroupActionsContainerRight__icon",
|
|
345
|
+
"subscriptionPreferenceGroupBody",
|
|
346
|
+
"subscriptionPreferenceGroupWorkflowRow",
|
|
347
|
+
"subscriptionPreferenceGroupWorkflowLabel"
|
|
348
|
+
];
|
|
349
|
+
var appearanceKeys = [...commonAppearanceKeys, ...inboxAppearanceKeys, ...subscriptionAppearanceKeys];
|
|
350
|
+
var commonLocalization = {
|
|
351
|
+
locale: "en-US"
|
|
352
|
+
};
|
|
353
|
+
var defaultInboxLocalization = chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, commonLocalization), {
|
|
309
354
|
"inbox.filters.dropdownOptions.unread": "Unread only",
|
|
310
355
|
"inbox.filters.dropdownOptions.default": "Unread & read",
|
|
311
356
|
"inbox.filters.dropdownOptions.archived": "Archived",
|
|
@@ -360,7 +405,18 @@ var defaultLocalization = {
|
|
|
360
405
|
"snooze.options.customTime": "Custom time...",
|
|
361
406
|
"snooze.options.inOneDay": "Tomorrow",
|
|
362
407
|
"snooze.options.inOneWeek": "Next week"
|
|
363
|
-
};
|
|
408
|
+
});
|
|
409
|
+
var defaultSubscriptionLocalization = chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, commonLocalization), {
|
|
410
|
+
"subscription.subscribe": "Subscribe",
|
|
411
|
+
"subscription.unsubscribe": "Unsubscribe",
|
|
412
|
+
"subscription.preferences.header": "Manage subscription",
|
|
413
|
+
"subscription.preferences.headerInfo": "Manage which updates you\u2019d like to receive. Note: Workflow and global settings control delivery and take precedence when disabled.",
|
|
414
|
+
"subscription.preferences.notSubscribed.header": "You\u2019re not subscribed.",
|
|
415
|
+
"subscription.preferences.notSubscribed.description": "Subscribe to receive updates on new activity.",
|
|
416
|
+
"subscription.preferences.empty.header": "You\u2019re subscribed.",
|
|
417
|
+
"subscription.preferences.empty.description": "Nothing to manage right now."
|
|
418
|
+
});
|
|
419
|
+
var defaultLocalization = chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues({}, defaultInboxLocalization), defaultSubscriptionLocalization);
|
|
364
420
|
var [dynamicLocalization, setDynamicLocalization] = solidJs.createSignal({});
|
|
365
421
|
|
|
366
422
|
// src/ui/config/defaultVariables.ts
|
|
@@ -393,7 +449,10 @@ function createInfiniteScroll(fetcher, options) {
|
|
|
393
449
|
const [after, setAfter] = solidJs.createSignal(void 0);
|
|
394
450
|
const [end, setEnd] = solidJs.createSignal(false);
|
|
395
451
|
const [contents, { mutate, refetch }] = solidJs.createResource(
|
|
396
|
-
() =>
|
|
452
|
+
() => {
|
|
453
|
+
var _a;
|
|
454
|
+
return { trigger: true, after: after(), dependency: (_a = options.dependency) == null ? void 0 : _a.call(options) };
|
|
455
|
+
},
|
|
397
456
|
(params) => fetcher(params.after)
|
|
398
457
|
);
|
|
399
458
|
let observedElement = null;
|
|
@@ -747,10 +806,10 @@ var NotificationVisibilityTracker = class {
|
|
|
747
806
|
|
|
748
807
|
// src/ui/helpers/useNotificationVisibility.ts
|
|
749
808
|
function useNotificationVisibility() {
|
|
750
|
-
const
|
|
809
|
+
const novuAccessor = useNovu();
|
|
751
810
|
let tracker = null;
|
|
752
|
-
solidJs.
|
|
753
|
-
tracker = new NotificationVisibilityTracker(
|
|
811
|
+
solidJs.createEffect(() => {
|
|
812
|
+
tracker = new NotificationVisibilityTracker(novuAccessor().notifications.inboxService);
|
|
754
813
|
solidJs.onCleanup(() => {
|
|
755
814
|
if (tracker) {
|
|
756
815
|
tracker.destroy();
|
|
@@ -990,6 +1049,9 @@ var useStyle = () => {
|
|
|
990
1049
|
iconKey,
|
|
991
1050
|
context
|
|
992
1051
|
}) => {
|
|
1052
|
+
if (!key) {
|
|
1053
|
+
return cn(className);
|
|
1054
|
+
}
|
|
993
1055
|
const appearanceKeyParts = key.split("__");
|
|
994
1056
|
let finalAppearanceKeys = [];
|
|
995
1057
|
for (let i = 0; i < appearanceKeyParts.length; i += 1) {
|
|
@@ -1084,46 +1146,32 @@ function requestLock(id, cb) {
|
|
|
1084
1146
|
promiseResolve();
|
|
1085
1147
|
};
|
|
1086
1148
|
}
|
|
1087
|
-
var useBrowserTabsChannel = ({
|
|
1088
|
-
channelName,
|
|
1089
|
-
onMessage
|
|
1090
|
-
}) => {
|
|
1091
|
-
const [tabsChannel] = solidJs.createSignal(new BroadcastChannel(channelName));
|
|
1092
|
-
const postMessage = (args) => {
|
|
1093
|
-
const channel = tabsChannel();
|
|
1094
|
-
channel.postMessage(args);
|
|
1095
|
-
};
|
|
1096
|
-
solidJs.onMount(() => {
|
|
1097
|
-
const listener = (event) => {
|
|
1098
|
-
onMessage(event.data);
|
|
1099
|
-
};
|
|
1100
|
-
const channel = tabsChannel();
|
|
1101
|
-
channel.addEventListener("message", listener);
|
|
1102
|
-
solidJs.onCleanup(() => {
|
|
1103
|
-
channel.removeEventListener("message", listener);
|
|
1104
|
-
});
|
|
1105
|
-
});
|
|
1106
|
-
return { postMessage };
|
|
1107
|
-
};
|
|
1108
1149
|
|
|
1109
1150
|
// src/ui/helpers/useWebSocketEvent.ts
|
|
1110
1151
|
var useWebSocketEvent = ({
|
|
1111
1152
|
event: webSocketEvent,
|
|
1112
1153
|
eventHandler: onMessage
|
|
1113
1154
|
}) => {
|
|
1114
|
-
const
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1155
|
+
const novuAccessor = useNovu();
|
|
1156
|
+
solidJs.createEffect(() => {
|
|
1157
|
+
const currentNovu = novuAccessor();
|
|
1158
|
+
const channelName = `nv_ws_connection:a=${currentNovu.applicationIdentifier}:s=${currentNovu.subscriberId}:c=${currentNovu.contextKey}:e=${webSocketEvent}`;
|
|
1159
|
+
const tabsChannel = new BroadcastChannel(channelName);
|
|
1160
|
+
const listener = (event) => {
|
|
1161
|
+
onMessage(event.data);
|
|
1162
|
+
};
|
|
1163
|
+
tabsChannel.addEventListener("message", listener);
|
|
1164
|
+
const updateReadCount = (data) => {
|
|
1165
|
+
onMessage(data);
|
|
1166
|
+
tabsChannel.postMessage(data);
|
|
1167
|
+
};
|
|
1122
1168
|
let cleanup;
|
|
1123
1169
|
const resolveLock = requestLock(channelName, () => {
|
|
1124
|
-
cleanup =
|
|
1170
|
+
cleanup = currentNovu.on(webSocketEvent, updateReadCount);
|
|
1125
1171
|
});
|
|
1126
1172
|
solidJs.onCleanup(() => {
|
|
1173
|
+
tabsChannel.removeEventListener("message", listener);
|
|
1174
|
+
tabsChannel.close();
|
|
1127
1175
|
if (cleanup) {
|
|
1128
1176
|
cleanup();
|
|
1129
1177
|
}
|
|
@@ -1243,9 +1291,10 @@ var useNovuEvent = ({
|
|
|
1243
1291
|
event,
|
|
1244
1292
|
eventHandler
|
|
1245
1293
|
}) => {
|
|
1246
|
-
const
|
|
1247
|
-
solidJs.
|
|
1248
|
-
const
|
|
1294
|
+
const novuAccessor = useNovu();
|
|
1295
|
+
solidJs.createEffect(() => {
|
|
1296
|
+
const currentNovu = novuAccessor();
|
|
1297
|
+
const cleanup = currentNovu.on(event, eventHandler);
|
|
1249
1298
|
solidJs.onCleanup(() => {
|
|
1250
1299
|
cleanup();
|
|
1251
1300
|
});
|
|
@@ -1287,15 +1336,6 @@ function useLocalization() {
|
|
|
1287
1336
|
return context;
|
|
1288
1337
|
}
|
|
1289
1338
|
|
|
1290
|
-
// src/ui/types.ts
|
|
1291
|
-
var NotificationStatus = /* @__PURE__ */ ((NotificationStatus2) => {
|
|
1292
|
-
NotificationStatus2["UNREAD_READ"] = "unreadRead";
|
|
1293
|
-
NotificationStatus2["UNREAD"] = "unread";
|
|
1294
|
-
NotificationStatus2["ARCHIVED"] = "archived";
|
|
1295
|
-
NotificationStatus2["SNOOZED"] = "snoozed";
|
|
1296
|
-
return NotificationStatus2;
|
|
1297
|
-
})(NotificationStatus || {});
|
|
1298
|
-
|
|
1299
1339
|
// src/ui/context/InboxContext.tsx
|
|
1300
1340
|
var InboxContext = solidJs.createContext(void 0);
|
|
1301
1341
|
var STATUS_TO_FILTER = {
|
|
@@ -1455,11 +1495,12 @@ var useInboxContext = () => {
|
|
|
1455
1495
|
};
|
|
1456
1496
|
var NovuContext = solidJs.createContext(void 0);
|
|
1457
1497
|
function NovuProvider(props) {
|
|
1458
|
-
const novu = solidJs.createMemo(() =>
|
|
1498
|
+
const novu = solidJs.createMemo(() => {
|
|
1499
|
+
const novuValue = typeof props.novu === "function" ? props.novu() : props.novu;
|
|
1500
|
+
return novuValue || new chunkSZEUW4CB_js.Novu(props.options);
|
|
1501
|
+
});
|
|
1459
1502
|
return web.createComponent(NovuContext.Provider, {
|
|
1460
|
-
|
|
1461
|
-
return novu();
|
|
1462
|
-
},
|
|
1503
|
+
value: novu,
|
|
1463
1504
|
get children() {
|
|
1464
1505
|
return props.children;
|
|
1465
1506
|
}
|
|
@@ -1477,7 +1518,7 @@ function useNovu() {
|
|
|
1477
1518
|
var MIN_AMOUNT_OF_NOTIFICATIONS = 1;
|
|
1478
1519
|
var CountContext = solidJs.createContext(void 0);
|
|
1479
1520
|
var CountProvider = (props) => {
|
|
1480
|
-
const
|
|
1521
|
+
const novuAccessor = useNovu();
|
|
1481
1522
|
const {
|
|
1482
1523
|
isOpened,
|
|
1483
1524
|
tabs,
|
|
@@ -1513,7 +1554,7 @@ var CountProvider = (props) => {
|
|
|
1513
1554
|
});
|
|
1514
1555
|
const {
|
|
1515
1556
|
data
|
|
1516
|
-
} = yield
|
|
1557
|
+
} = yield novuAccessor().notifications.count({
|
|
1517
1558
|
filters
|
|
1518
1559
|
});
|
|
1519
1560
|
if (!data) {
|
|
@@ -1533,7 +1574,8 @@ var CountProvider = (props) => {
|
|
|
1533
1574
|
}
|
|
1534
1575
|
setUnreadCounts(newMap);
|
|
1535
1576
|
});
|
|
1536
|
-
solidJs.
|
|
1577
|
+
solidJs.createEffect(() => {
|
|
1578
|
+
novuAccessor();
|
|
1537
1579
|
updateTabCounts();
|
|
1538
1580
|
});
|
|
1539
1581
|
useWebSocketEvent({
|
|
@@ -1555,7 +1597,7 @@ var CountProvider = (props) => {
|
|
|
1555
1597
|
}
|
|
1556
1598
|
});
|
|
1557
1599
|
const updateNewNotificationCountsOrCache = (tabLabel, notification, tags, data, severity) => {
|
|
1558
|
-
const notificationsCache =
|
|
1600
|
+
const notificationsCache = novuAccessor().notifications.cache;
|
|
1559
1601
|
const limitValue = limit();
|
|
1560
1602
|
const tabSpecificFilterForCache = chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, filter()), {
|
|
1561
1603
|
tags,
|
|
@@ -1607,8 +1649,8 @@ var CountProvider = (props) => {
|
|
|
1607
1649
|
const tabTags = getTagsFromTab(tab);
|
|
1608
1650
|
const tabDataFilterCriteria = (_a = tab.filter) == null ? void 0 : _a.data;
|
|
1609
1651
|
const tabSeverityFilterCriteria = (_b = tab.filter) == null ? void 0 : _b.severity;
|
|
1610
|
-
const matchesTagFilter =
|
|
1611
|
-
const matchesDataFilterCriteria =
|
|
1652
|
+
const matchesTagFilter = chunkSZEUW4CB_js.checkNotificationTagFilter(notification.tags, tabTags);
|
|
1653
|
+
const matchesDataFilterCriteria = chunkSZEUW4CB_js.checkNotificationDataFilter(notification.data, tabDataFilterCriteria);
|
|
1612
1654
|
const matchesSeverityFilterCriteria = !tabSeverityFilterCriteria || Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria.length === 0 || Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria.includes(notification.severity) || !Array.isArray(tabSeverityFilterCriteria) && tabSeverityFilterCriteria === notification.severity;
|
|
1613
1655
|
if (matchesTagFilter && matchesDataFilterCriteria && matchesSeverityFilterCriteria) {
|
|
1614
1656
|
const filterKey = createKey({
|
|
@@ -2507,7 +2549,7 @@ function CopyToClipboard(props) {
|
|
|
2507
2549
|
// src/ui/components/elements/Footer.tsx
|
|
2508
2550
|
var _tmpl$31 = /* @__PURE__ */ web.template(`<span class="nt-z-10 nt-text-xs nt-text-stripes">`);
|
|
2509
2551
|
var _tmpl$210 = /* @__PURE__ */ web.template(`<span class="nt-z-10 nt-text-xs">\u2022`);
|
|
2510
|
-
var _tmpl$32 = /* @__PURE__ */ web.template(`<a target=_blank class="nt-z-10 nt-flex nt-items-center nt-gap-1 nt-justify-center"><span class=nt-text-xs
|
|
2552
|
+
var _tmpl$32 = /* @__PURE__ */ web.template(`<a target=_blank class="nt-z-10 nt-flex nt-items-center nt-gap-1 nt-justify-center"><span class=nt-text-xs></span><span class=nt-text-xs>Novu`);
|
|
2511
2553
|
var _tmpl$42 = /* @__PURE__ */ web.template(`<span class=nt-underline>Copy cURL`);
|
|
2512
2554
|
var _tmpl$52 = /* @__PURE__ */ web.template(`<div class="nt-z-10 nt-flex nt-items-center nt-gap-1 nt-text-xs nt-text-secondary-foreground"><a href=https://go.novu.co/keyless class="nt-underline nt-flex nt-items-center nt-gap-0.5"target=_blank rel="noopener noreferrer">Get API key</a><span>\u2022</span><span>\u2022</span><button type=button class=nt-underline>Send notification`);
|
|
2513
2555
|
var _tmpl$62 = /* @__PURE__ */ web.template(`<div><div class="nt-flex nt-items-center nt-gap-1">`);
|
|
@@ -2517,17 +2559,17 @@ var stripes = `before:nt-content-[""] before:nt-absolute before:nt-inset-0 befor
|
|
|
2517
2559
|
var commonAfter = 'after:nt-content-[""] after:nt-absolute after:nt-inset-0 after:-nt-top-12';
|
|
2518
2560
|
var devModeGradient = `${commonAfter} after:nt-bg-[linear-gradient(180deg,transparent,oklch(from_var(--nv-color-stripes)_l_c_h_/_0.07)_55%,transparent),linear-gradient(180deg,transparent,oklch(from_var(--nv-color-background)_l_c_h_/_0.9)_55%,transparent)]`;
|
|
2519
2561
|
var prodModeGradient = `${commonAfter} after:nt-bg-[linear-gradient(180deg,transparent,oklch(from_var(--nv-color-background)_l_c_h_/_0.9)_55%,transparent)]`;
|
|
2520
|
-
var Footer = () => {
|
|
2562
|
+
var Footer = (props) => {
|
|
2521
2563
|
const {
|
|
2522
2564
|
hideBranding,
|
|
2523
2565
|
isDevelopmentMode,
|
|
2524
2566
|
isKeyless
|
|
2525
2567
|
} = useInboxContext();
|
|
2526
|
-
const
|
|
2568
|
+
const novuAccessor = useNovu();
|
|
2527
2569
|
function handleTriggerHelloWorld() {
|
|
2528
2570
|
return chunk7B52C2XE_js.__async(this, null, function* () {
|
|
2529
2571
|
try {
|
|
2530
|
-
yield
|
|
2572
|
+
yield novuAccessor().notifications.triggerHelloWorldEvent();
|
|
2531
2573
|
} catch (error) {
|
|
2532
2574
|
console.error("Failed to send Hello World from UI via novu.notifications:", error);
|
|
2533
2575
|
}
|
|
@@ -2580,6 +2622,7 @@ var Footer = () => {
|
|
|
2580
2622
|
},
|
|
2581
2623
|
get children() {
|
|
2582
2624
|
var _el$5 = _tmpl$32(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
|
|
2625
|
+
web.insert(_el$6, () => props.name ? `${props.name} by` : "Inbox by");
|
|
2583
2626
|
web.insert(_el$5, web.createComponent(Novu2, {
|
|
2584
2627
|
"class": "nt-size-2.5"
|
|
2585
2628
|
}), _el$7);
|
|
@@ -2622,7 +2665,7 @@ var Footer = () => {
|
|
|
2622
2665
|
});
|
|
2623
2666
|
};
|
|
2624
2667
|
function getCurrentDomain() {
|
|
2625
|
-
if (
|
|
2668
|
+
if (chunkSZEUW4CB_js.isBrowser()) {
|
|
2626
2669
|
return window.location.hostname;
|
|
2627
2670
|
}
|
|
2628
2671
|
return "";
|
|
@@ -2634,7 +2677,7 @@ function getCurlCommand() {
|
|
|
2634
2677
|
return "";
|
|
2635
2678
|
}
|
|
2636
2679
|
const DEFAULT_BACKEND_URL = typeof window !== "undefined" && window.NOVU_LOCAL_BACKEND_URL || "https://api.novu.co";
|
|
2637
|
-
return `curl -X POST ${DEFAULT_BACKEND_URL}/${
|
|
2680
|
+
return `curl -X POST ${DEFAULT_BACKEND_URL}/${chunkSZEUW4CB_js.DEFAULT_API_VERSION}/events/trigger -H 'Authorization: Keyless ${identifier}' -H 'Content-Type: application/json' -d '{
|
|
2638
2681
|
"name": "hello-world",
|
|
2639
2682
|
"to": {
|
|
2640
2683
|
"subscriberId": "keyless-subscriber-id"
|
|
@@ -2659,9 +2702,9 @@ var buttonVariants = classVarianceAuthority.cva(cn('nt-inline-flex nt-gap-4 nt-i
|
|
|
2659
2702
|
none: "",
|
|
2660
2703
|
iconSm: "nt-p-1 nt-rounded-md after:nt-rounded-md before:nt-rounded-md focus-visible:nt-rounded-md",
|
|
2661
2704
|
icon: "nt-p-2.5 nt-rounded-xl before:nt-rounded-xl after:nt-rounded-xl focus-visible:nt-rounded-xl",
|
|
2662
|
-
default: "nt-px-2 nt-py-1 nt-rounded-
|
|
2705
|
+
default: "nt-h-6 nt-px-2 nt-py-1 nt-rounded-md focus-visible:nt-rounded-md before:nt-rounded-md after:nt-rounded-md",
|
|
2663
2706
|
sm: "nt-px-1 nt-py-px nt-rounded-md nt-text-xs nt-px-1 before:nt-rounded-md focus-visible:nt-rounded-md after:nt-rounded-md",
|
|
2664
|
-
lg: "nt-px-8 nt-py-2 nt-text-base before:nt-rounded-
|
|
2707
|
+
lg: "nt-px-8 nt-py-2 nt-text-base before:nt-rounded-md after:nt-rounded-md focus-visible:nt-rounded-md"
|
|
2665
2708
|
}
|
|
2666
2709
|
},
|
|
2667
2710
|
defaultVariants: {
|
|
@@ -2698,7 +2741,7 @@ var Button = (props) => {
|
|
|
2698
2741
|
var _tmpl$34 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class=size-4><path d="M5 12l5 5l10 -10">`);
|
|
2699
2742
|
var _tmpl$211 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class=size-4><path d="M5 12l14 0">`);
|
|
2700
2743
|
var Checkbox = (props) => {
|
|
2701
|
-
const [local, others] = solidJs.splitProps(props, ["class"]);
|
|
2744
|
+
const [local, others] = solidJs.splitProps(props, ["id", "class"]);
|
|
2702
2745
|
return web.createComponent(CheckboxPrimitive__namespace.Root, web.mergeProps({
|
|
2703
2746
|
get ["class"]() {
|
|
2704
2747
|
return cn("nt-items-top nt-group nt-relative nt-flex", local.class);
|
|
@@ -2706,7 +2749,10 @@ var Checkbox = (props) => {
|
|
|
2706
2749
|
}, others, {
|
|
2707
2750
|
get children() {
|
|
2708
2751
|
return [web.createComponent(CheckboxPrimitive__namespace.Input, {
|
|
2709
|
-
"class": "nt-peer"
|
|
2752
|
+
"class": "nt-peer",
|
|
2753
|
+
get id() {
|
|
2754
|
+
return local.id;
|
|
2755
|
+
}
|
|
2710
2756
|
}), web.createComponent(CheckboxPrimitive__namespace.Control, {
|
|
2711
2757
|
"class": "nt-size-4 nt-shrink-0 nt-rounded-sm nt-border nt-border-primary nt-ring-offset-background data-[disabled]:nt-cursor-not-allowed data-[disabled]:nt-opacity-50 peer-focus-visible:nt-outline-none peer-focus-visible:nt-ring-2 peer-focus-visible:ntring-ring peer-focus-visible:nt-ring-offset-2 data-[checked]:nt-border-none data-[indeterminate]:nt-border-none data-[checked]:nt-bg-primary data-[indeterminate]:nt-bg-primary data-[checked]:nt-text-primary-foreground data-[indeterminate]:nt-text-primary-foreground",
|
|
2712
2758
|
get children() {
|
|
@@ -3168,7 +3214,17 @@ function usePopover() {
|
|
|
3168
3214
|
|
|
3169
3215
|
// src/ui/components/primitives/Popover/PopoverContent.tsx
|
|
3170
3216
|
var _tmpl$38 = /* @__PURE__ */ web.template(`<div>`);
|
|
3171
|
-
var popoverContentVariants = (
|
|
3217
|
+
var popoverContentVariants = classVarianceAuthority.cva(cn("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"), {
|
|
3218
|
+
variants: {
|
|
3219
|
+
size: {
|
|
3220
|
+
inbox: "nt-w-[400px] nt-h-[600px]",
|
|
3221
|
+
subscription: "nt-w-[350px] nt-h-auto"
|
|
3222
|
+
}
|
|
3223
|
+
},
|
|
3224
|
+
defaultVariants: {
|
|
3225
|
+
size: "inbox"
|
|
3226
|
+
}
|
|
3227
|
+
});
|
|
3172
3228
|
var PopoverContentBody = (props) => {
|
|
3173
3229
|
const {
|
|
3174
3230
|
open,
|
|
@@ -3196,7 +3252,10 @@ var PopoverContentBody = (props) => {
|
|
|
3196
3252
|
get ["class"]() {
|
|
3197
3253
|
return style({
|
|
3198
3254
|
key: local.appearanceKey || "popoverContent",
|
|
3199
|
-
className: cn(popoverContentVariants(
|
|
3255
|
+
className: cn(popoverContentVariants({
|
|
3256
|
+
size: props.size
|
|
3257
|
+
}), local.class),
|
|
3258
|
+
context: props.context
|
|
3200
3259
|
});
|
|
3201
3260
|
},
|
|
3202
3261
|
get style() {
|
|
@@ -4032,14 +4091,14 @@ var StatusDropdown = () => {
|
|
|
4032
4091
|
|
|
4033
4092
|
// src/ui/api/hooks/useArchiveAll.ts
|
|
4034
4093
|
var useArchiveAll = (props) => {
|
|
4035
|
-
const
|
|
4094
|
+
const novuAccessor = useNovu();
|
|
4036
4095
|
const archiveAll = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({
|
|
4037
4096
|
tags,
|
|
4038
4097
|
data
|
|
4039
4098
|
} = {}) {
|
|
4040
4099
|
var _a, _b;
|
|
4041
4100
|
try {
|
|
4042
|
-
yield
|
|
4101
|
+
yield novuAccessor().notifications.archiveAll({ tags, data });
|
|
4043
4102
|
(_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
|
|
4044
4103
|
} catch (error) {
|
|
4045
4104
|
(_b = void 0 ) == null ? void 0 : _b.call(props, error);
|
|
@@ -4050,14 +4109,14 @@ var useArchiveAll = (props) => {
|
|
|
4050
4109
|
|
|
4051
4110
|
// src/ui/api/hooks/useArchiveAllRead.ts
|
|
4052
4111
|
var useArchiveAllRead = (props) => {
|
|
4053
|
-
const
|
|
4112
|
+
const novuAccessor = useNovu();
|
|
4054
4113
|
const archiveAllRead = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({
|
|
4055
4114
|
tags,
|
|
4056
4115
|
data
|
|
4057
4116
|
} = {}) {
|
|
4058
4117
|
var _a, _b;
|
|
4059
4118
|
try {
|
|
4060
|
-
yield
|
|
4119
|
+
yield novuAccessor().notifications.archiveAllRead({ tags, data });
|
|
4061
4120
|
(_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
|
|
4062
4121
|
} catch (error) {
|
|
4063
4122
|
(_b = void 0 ) == null ? void 0 : _b.call(props, error);
|
|
@@ -4066,63 +4125,67 @@ var useArchiveAllRead = (props) => {
|
|
|
4066
4125
|
return { archiveAllRead };
|
|
4067
4126
|
};
|
|
4068
4127
|
var useNotificationsInfiniteScroll = (props) => {
|
|
4069
|
-
const
|
|
4128
|
+
const novuAccessor = useNovu();
|
|
4070
4129
|
let filter = chunk7B52C2XE_js.__spreadValues({}, props.options());
|
|
4071
4130
|
const [data, { initialLoading, setEl, end, mutate, reset }] = createInfiniteScroll(
|
|
4072
4131
|
(after) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
4073
4132
|
var _a, _b;
|
|
4074
|
-
const { data: data2 } = yield
|
|
4133
|
+
const { data: data2 } = yield novuAccessor().notifications.list(chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, props.options() || {}), { after }));
|
|
4075
4134
|
return { data: (_a = data2 == null ? void 0 : data2.notifications) != null ? _a : [], hasMore: (_b = data2 == null ? void 0 : data2.hasMore) != null ? _b : false };
|
|
4076
4135
|
}),
|
|
4077
4136
|
{
|
|
4078
|
-
paginationField: "id"
|
|
4137
|
+
paginationField: "id",
|
|
4138
|
+
dependency: novuAccessor
|
|
4079
4139
|
}
|
|
4080
4140
|
);
|
|
4081
|
-
solidJs.
|
|
4141
|
+
solidJs.createEffect(() => {
|
|
4082
4142
|
const listener = ({ data: data2 }) => {
|
|
4083
|
-
if (!data2 || !
|
|
4143
|
+
if (!data2 || !chunkSZEUW4CB_js.isSameFilter(filter, data2.filter)) {
|
|
4084
4144
|
return;
|
|
4085
4145
|
}
|
|
4086
4146
|
mutate({ data: data2.notifications, hasMore: data2.hasMore });
|
|
4087
4147
|
};
|
|
4088
|
-
const cleanup =
|
|
4148
|
+
const cleanup = novuAccessor().on("notifications.list.updated", listener);
|
|
4089
4149
|
solidJs.onCleanup(() => cleanup());
|
|
4090
4150
|
});
|
|
4091
4151
|
solidJs.createEffect(() => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
4092
4152
|
const newFilter = chunk7B52C2XE_js.__spreadValues({}, props.options());
|
|
4093
|
-
if (
|
|
4153
|
+
if (chunkSZEUW4CB_js.isSameFilter(filter, newFilter)) {
|
|
4094
4154
|
return;
|
|
4095
4155
|
}
|
|
4096
|
-
|
|
4156
|
+
novuAccessor().notifications.clearCache();
|
|
4097
4157
|
yield reset();
|
|
4098
4158
|
filter = newFilter;
|
|
4099
4159
|
}));
|
|
4100
4160
|
const refetch = (_0) => chunk7B52C2XE_js.__async(void 0, [_0], function* ({ filter: filter2 }) {
|
|
4101
|
-
|
|
4161
|
+
novuAccessor().notifications.clearCache({ filter: filter2 });
|
|
4102
4162
|
yield reset();
|
|
4103
4163
|
});
|
|
4104
4164
|
return { data, initialLoading, setEl, end, refetch };
|
|
4105
4165
|
};
|
|
4106
4166
|
var usePreferences = (options) => {
|
|
4107
|
-
const
|
|
4167
|
+
const novuAccessor = useNovu();
|
|
4108
4168
|
const [loading, setLoading] = solidJs.createSignal(true);
|
|
4109
|
-
const [preferences, { mutate, refetch }] = solidJs.createResource(
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4169
|
+
const [preferences, { mutate, refetch }] = solidJs.createResource(
|
|
4170
|
+
() => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, options), { dependency: novuAccessor() }),
|
|
4171
|
+
(_0) => chunk7B52C2XE_js.__async(void 0, [_0], function* ({ tags, severity, criticality }) {
|
|
4172
|
+
try {
|
|
4173
|
+
const response = yield novuAccessor().preferences.list({ tags, severity, criticality });
|
|
4174
|
+
return response.data;
|
|
4175
|
+
} catch (error) {
|
|
4176
|
+
console.error("Error fetching preferences:", error);
|
|
4177
|
+
throw error;
|
|
4178
|
+
}
|
|
4179
|
+
})
|
|
4180
|
+
);
|
|
4181
|
+
solidJs.createEffect(() => {
|
|
4119
4182
|
const listener = ({ data }) => {
|
|
4120
4183
|
if (!data) {
|
|
4121
4184
|
return;
|
|
4122
4185
|
}
|
|
4123
4186
|
mutate(data);
|
|
4124
4187
|
};
|
|
4125
|
-
const cleanup =
|
|
4188
|
+
const cleanup = novuAccessor().on("preferences.list.updated", listener);
|
|
4126
4189
|
solidJs.onCleanup(() => cleanup());
|
|
4127
4190
|
});
|
|
4128
4191
|
solidJs.createEffect(() => {
|
|
@@ -4133,14 +4196,14 @@ var usePreferences = (options) => {
|
|
|
4133
4196
|
|
|
4134
4197
|
// src/ui/api/hooks/useReadAll.ts
|
|
4135
4198
|
var useReadAll = (props) => {
|
|
4136
|
-
const
|
|
4199
|
+
const novuAccessor = useNovu();
|
|
4137
4200
|
const readAll = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({
|
|
4138
4201
|
tags,
|
|
4139
4202
|
data
|
|
4140
4203
|
} = {}) {
|
|
4141
4204
|
var _a, _b;
|
|
4142
4205
|
try {
|
|
4143
|
-
yield
|
|
4206
|
+
yield novuAccessor().notifications.readAll({ tags, data });
|
|
4144
4207
|
(_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
|
|
4145
4208
|
} catch (error) {
|
|
4146
4209
|
(_b = void 0 ) == null ? void 0 : _b.call(props, error);
|
|
@@ -4643,23 +4706,25 @@ var Switch2 = (props) => {
|
|
|
4643
4706
|
className: cn("nt-relative nt-inline-flex nt-cursor-pointer nt-items-center", {
|
|
4644
4707
|
"nt-opacity-50 nt-cursor-not-allowed": disabled()
|
|
4645
4708
|
})
|
|
4646
|
-
}), _v$2 = disabled(), _v$
|
|
4709
|
+
}), _v$2 = props.id, _v$3 = disabled(), _v$4 = style({
|
|
4647
4710
|
key: "channelSwitchThumb",
|
|
4648
4711
|
className: cn(`nt-h-4 nt-w-7 nt-rounded-full nt-bg-neutral-alpha-300 after:nt-absolute after:nt-top-0.5 after:nt-size-3 after:nt-left-0.5 after:nt-rounded-full after:nt-bg-background after:nt-transition-all after:nt-content-[''] nt-transition-all nt-duration-200 after:nt-duration-200 shadow-sm`, {
|
|
4649
4712
|
"nt-bg-primary nt-shadow-none nt-border-neutral-alpha-400 after:nt-translate-x-full after:nt-border-background": isChecked(),
|
|
4650
4713
|
"after:nt-translate-x-1/2": isIndeterminate()
|
|
4651
4714
|
})
|
|
4652
|
-
}), _v$
|
|
4715
|
+
}), _v$5 = state();
|
|
4653
4716
|
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
4654
|
-
_v$2 !== _p$.t && (_el$2
|
|
4655
|
-
_v$3 !== _p$.a &&
|
|
4656
|
-
_v$4 !== _p$.o && web.
|
|
4717
|
+
_v$2 !== _p$.t && web.setAttribute(_el$2, "id", _p$.t = _v$2);
|
|
4718
|
+
_v$3 !== _p$.a && (_el$2.disabled = _p$.a = _v$3);
|
|
4719
|
+
_v$4 !== _p$.o && web.className(_el$3, _p$.o = _v$4);
|
|
4720
|
+
_v$5 !== _p$.i && web.setAttribute(_el$3, "data-state", _p$.i = _v$5);
|
|
4657
4721
|
return _p$;
|
|
4658
4722
|
}, {
|
|
4659
4723
|
e: void 0,
|
|
4660
4724
|
t: void 0,
|
|
4661
4725
|
a: void 0,
|
|
4662
|
-
o: void 0
|
|
4726
|
+
o: void 0,
|
|
4727
|
+
i: void 0
|
|
4663
4728
|
});
|
|
4664
4729
|
web.effect(() => _el$2.checked = isChecked());
|
|
4665
4730
|
return _el$;
|
|
@@ -4667,7 +4732,7 @@ var Switch2 = (props) => {
|
|
|
4667
4732
|
};
|
|
4668
4733
|
|
|
4669
4734
|
// src/ui/components/elements/Preferences/ChannelRow.tsx
|
|
4670
|
-
var _tmpl$57 = /* @__PURE__ */ web.template(`<div><div><div></div><
|
|
4735
|
+
var _tmpl$57 = /* @__PURE__ */ web.template(`<div><div><div></div><label></label></div><div>`);
|
|
4671
4736
|
var ChannelRow = (props) => {
|
|
4672
4737
|
const style = useStyle();
|
|
4673
4738
|
const updatePreference = (enabled) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
@@ -4680,6 +4745,10 @@ var ChannelRow = (props) => {
|
|
|
4680
4745
|
});
|
|
4681
4746
|
const state = () => props.channel.state;
|
|
4682
4747
|
const channel = () => props.channel.channel;
|
|
4748
|
+
const channelId = () => {
|
|
4749
|
+
var _a;
|
|
4750
|
+
return `channel-${(_a = props.workflowId) != null ? _a : ""}-${channel()}`;
|
|
4751
|
+
};
|
|
4683
4752
|
return (() => {
|
|
4684
4753
|
var _el$ = _tmpl$57(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$2.nextSibling;
|
|
4685
4754
|
web.insert(_el$3, web.createComponent(ChannelIcon, {
|
|
@@ -4697,6 +4766,9 @@ var ChannelRow = (props) => {
|
|
|
4697
4766
|
}));
|
|
4698
4767
|
web.insert(_el$4, () => getLabel(channel()));
|
|
4699
4768
|
web.insert(_el$5, web.createComponent(Switch2, {
|
|
4769
|
+
get id() {
|
|
4770
|
+
return channelId();
|
|
4771
|
+
},
|
|
4700
4772
|
get state() {
|
|
4701
4773
|
return state();
|
|
4702
4774
|
},
|
|
@@ -4716,7 +4788,7 @@ var ChannelRow = (props) => {
|
|
|
4716
4788
|
}
|
|
4717
4789
|
}), _v$2 = style({
|
|
4718
4790
|
key: "channelLabelContainer",
|
|
4719
|
-
className: "nt-flex nt-items-center nt-gap-2 nt-text-foreground",
|
|
4791
|
+
className: "nt-flex nt-items-center nt-gap-2 nt-text-foreground nt-w-full",
|
|
4720
4792
|
context: {
|
|
4721
4793
|
preference: props.preference,
|
|
4722
4794
|
preferenceGroup: props.preferenceGroup
|
|
@@ -4728,14 +4800,14 @@ var ChannelRow = (props) => {
|
|
|
4728
4800
|
preference: props.preference,
|
|
4729
4801
|
preferenceGroup: props.preferenceGroup
|
|
4730
4802
|
}
|
|
4731
|
-
}), _v$4 = style({
|
|
4803
|
+
}), _v$4 = channelId(), _v$5 = style({
|
|
4732
4804
|
key: "channelLabel",
|
|
4733
|
-
className: "nt-text-sm nt-font-semibold",
|
|
4805
|
+
className: "nt-text-sm nt-font-semibold nt-w-full nt-cursor-pointer",
|
|
4734
4806
|
context: {
|
|
4735
4807
|
preference: props.preference,
|
|
4736
4808
|
preferenceGroup: props.preferenceGroup
|
|
4737
4809
|
}
|
|
4738
|
-
}), _v$
|
|
4810
|
+
}), _v$6 = style({
|
|
4739
4811
|
key: "channelSwitchContainer",
|
|
4740
4812
|
className: "nt-flex nt-items-center",
|
|
4741
4813
|
context: {
|
|
@@ -4746,15 +4818,17 @@ var ChannelRow = (props) => {
|
|
|
4746
4818
|
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
4747
4819
|
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
4748
4820
|
_v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
|
|
4749
|
-
_v$4 !== _p$.o && web.
|
|
4750
|
-
_v$5 !== _p$.i && web.className(_el$
|
|
4821
|
+
_v$4 !== _p$.o && web.setAttribute(_el$4, "for", _p$.o = _v$4);
|
|
4822
|
+
_v$5 !== _p$.i && web.className(_el$4, _p$.i = _v$5);
|
|
4823
|
+
_v$6 !== _p$.n && web.className(_el$5, _p$.n = _v$6);
|
|
4751
4824
|
return _p$;
|
|
4752
4825
|
}, {
|
|
4753
4826
|
e: void 0,
|
|
4754
4827
|
t: void 0,
|
|
4755
4828
|
a: void 0,
|
|
4756
4829
|
o: void 0,
|
|
4757
|
-
i: void 0
|
|
4830
|
+
i: void 0,
|
|
4831
|
+
n: void 0
|
|
4758
4832
|
});
|
|
4759
4833
|
return _el$;
|
|
4760
4834
|
})();
|
|
@@ -6330,7 +6404,7 @@ web.delegateEvents(["click"]);
|
|
|
6330
6404
|
var _tmpl$67 = /* @__PURE__ */ web.template(`<div>`);
|
|
6331
6405
|
var Preferences = () => {
|
|
6332
6406
|
var _a, _b, _c;
|
|
6333
|
-
const
|
|
6407
|
+
const novuAccessor = useNovu();
|
|
6334
6408
|
const style = useStyle();
|
|
6335
6409
|
const {
|
|
6336
6410
|
preferencesFilter,
|
|
@@ -6375,7 +6449,7 @@ var Preferences = () => {
|
|
|
6375
6449
|
});
|
|
6376
6450
|
});
|
|
6377
6451
|
const bulkUpdatePreferences = (preferences2) => (channels) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
6378
|
-
yield
|
|
6452
|
+
yield novuAccessor().preferences.bulkUpdate(preferences2.map((el) => {
|
|
6379
6453
|
const oldChannels = Object.keys(el.channels);
|
|
6380
6454
|
const channelsToUpdate = Object.keys(channels).filter((channel) => oldChannels.includes(channel)).reduce((acc, channel) => {
|
|
6381
6455
|
acc[channel] = channels[channel];
|
|
@@ -6617,7 +6691,7 @@ var Text = (props) => props.children;
|
|
|
6617
6691
|
var Markdown = (props) => {
|
|
6618
6692
|
const [local, rest] = solidJs.splitProps(props, ["class", "children", "appearanceKey", "strongAppearanceKey", "context"]);
|
|
6619
6693
|
const style = useStyle();
|
|
6620
|
-
const tokens = solidJs.createMemo(() =>
|
|
6694
|
+
const tokens = solidJs.createMemo(() => chunkOZV3TKWX_js.parseMarkdownIntoTokens(local.children));
|
|
6621
6695
|
return (() => {
|
|
6622
6696
|
var _el$2 = _tmpl$222();
|
|
6623
6697
|
web.spread(_el$2, web.mergeProps({
|
|
@@ -7536,6 +7610,10 @@ var DefaultNotification = (props) => {
|
|
|
7536
7610
|
status
|
|
7537
7611
|
} = useInboxContext();
|
|
7538
7612
|
const [minutesPassed, setMinutesPassed] = solidJs.createSignal(0);
|
|
7613
|
+
const severity = solidJs.createMemo(() => {
|
|
7614
|
+
var _a;
|
|
7615
|
+
return (_a = props.notification.severity) != null ? _a : "none" /* NONE */;
|
|
7616
|
+
});
|
|
7539
7617
|
const createdAt = solidJs.createMemo(() => {
|
|
7540
7618
|
minutesPassed();
|
|
7541
7619
|
return formatToRelativeTime({
|
|
@@ -7906,22 +7984,22 @@ var DefaultNotification = (props) => {
|
|
|
7906
7984
|
web.effect((_p$) => {
|
|
7907
7985
|
var _a;
|
|
7908
7986
|
var _v$ = style({
|
|
7909
|
-
key: SEVERITY_TO_NOTIFICATION_KEYS[
|
|
7987
|
+
key: SEVERITY_TO_NOTIFICATION_KEYS[severity()],
|
|
7910
7988
|
className: cn("nt-transition nt-w-full nt-text-sm hover:nt-bg-primary-alpha-25 nt-group nt-relative nt-flex nt-items-start nt-p-4 nt-gap-2", "[&:not(:first-child)]:nt-border-t nt-border-neutral-alpha-100", {
|
|
7911
7989
|
"nt-cursor-pointer": !props.notification.isRead || !!((_a = props.notification.redirect) == null ? void 0 : _a.url),
|
|
7912
|
-
"nt-bg-severity-high-alpha-100 hover:nt-bg-severity-high-alpha-50":
|
|
7913
|
-
"nt-bg-severity-medium-alpha-100 hover:nt-bg-severity-medium-alpha-50":
|
|
7914
|
-
"nt-bg-severity-low-alpha-100 hover:nt-bg-severity-low-alpha-50":
|
|
7990
|
+
"nt-bg-severity-high-alpha-100 hover:nt-bg-severity-high-alpha-50": severity() === "high" /* HIGH */,
|
|
7991
|
+
"nt-bg-severity-medium-alpha-100 hover:nt-bg-severity-medium-alpha-50": severity() === "medium" /* MEDIUM */,
|
|
7992
|
+
"nt-bg-severity-low-alpha-100 hover:nt-bg-severity-low-alpha-50": severity() === "low" /* LOW */
|
|
7915
7993
|
}),
|
|
7916
7994
|
context: {
|
|
7917
7995
|
notification: props.notification
|
|
7918
7996
|
}
|
|
7919
7997
|
}), _v$2 = style({
|
|
7920
|
-
key: SEVERITY_TO_BAR_KEYS[
|
|
7998
|
+
key: SEVERITY_TO_BAR_KEYS[severity()],
|
|
7921
7999
|
className: cn("nt-transition nt-absolute nt-left-0 nt-top-0 nt-bottom-0 nt-w-[3px]", {
|
|
7922
|
-
"nt-bg-severity-high group-hover:nt-bg-severity-high-alpha-500":
|
|
7923
|
-
"nt-bg-severity-medium group-hover:nt-bg-severity-medium-alpha-500":
|
|
7924
|
-
"nt-bg-severity-low group-hover:nt-bg-severity-low-alpha-500":
|
|
8000
|
+
"nt-bg-severity-high group-hover:nt-bg-severity-high-alpha-500": severity() === "high" /* HIGH */,
|
|
8001
|
+
"nt-bg-severity-medium group-hover:nt-bg-severity-medium-alpha-500": severity() === "medium" /* MEDIUM */,
|
|
8002
|
+
"nt-bg-severity-low group-hover:nt-bg-severity-low-alpha-500": severity() === "low" /* LOW */
|
|
7925
8003
|
}),
|
|
7926
8004
|
context: {
|
|
7927
8005
|
notification: props.notification
|
|
@@ -8174,7 +8252,7 @@ var NotificationListSkeleton = (props) => {
|
|
|
8174
8252
|
};
|
|
8175
8253
|
function KeylessEmptyState() {
|
|
8176
8254
|
const style = useStyle();
|
|
8177
|
-
const
|
|
8255
|
+
const novuAccessor = useNovu();
|
|
8178
8256
|
return (() => {
|
|
8179
8257
|
var _el$5 = _tmpl$315(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling, _el$8 = _el$7.nextSibling, _el$9 = _el$8.firstChild;
|
|
8180
8258
|
web.insert(_el$8, web.createComponent(Button, {
|
|
@@ -8207,7 +8285,7 @@ function KeylessEmptyState() {
|
|
|
8207
8285
|
className: "nt-h-8 nt-px-4 nt-flex nt-items-center nt-justify-center nt-gap-2 nt-bg-neutral-900 nt-text-white nt-shadow-sm nt-text-[12px] nt-font-medium"
|
|
8208
8286
|
});
|
|
8209
8287
|
},
|
|
8210
|
-
onClick: () =>
|
|
8288
|
+
onClick: () => novuAccessor().notifications.triggerHelloWorldEvent(),
|
|
8211
8289
|
get children() {
|
|
8212
8290
|
return [web.createComponent(Bell, {
|
|
8213
8291
|
get ["class"]() {
|
|
@@ -8968,97 +9046,1512 @@ var Inbox = (props) => {
|
|
|
8968
9046
|
}
|
|
8969
9047
|
});
|
|
8970
9048
|
};
|
|
8971
|
-
|
|
8972
|
-
|
|
8973
|
-
|
|
8974
|
-
|
|
8975
|
-
|
|
8976
|
-
|
|
8977
|
-
|
|
8978
|
-
|
|
8979
|
-
|
|
8980
|
-
|
|
8981
|
-
|
|
8982
|
-
|
|
8983
|
-
|
|
8984
|
-
|
|
8985
|
-
|
|
8986
|
-
return web.createComponent(InboxContent, web.mergeProps(otherProps, {
|
|
8987
|
-
hideNav: true,
|
|
8988
|
-
get initialPage() {
|
|
8989
|
-
return InboxPage.Notifications;
|
|
8990
|
-
}
|
|
8991
|
-
}));
|
|
9049
|
+
var useSubscription = (options) => {
|
|
9050
|
+
const novuAccessor = useNovu();
|
|
9051
|
+
const identifier = () => {
|
|
9052
|
+
var _a;
|
|
9053
|
+
const subscriberId = novuAccessor().subscriberId;
|
|
9054
|
+
return (_a = options.identifier) != null ? _a : chunkOZV3TKWX_js.buildSubscriptionIdentifier({ topicKey: options.topicKey, subscriberId });
|
|
9055
|
+
};
|
|
9056
|
+
const [loading, setLoading] = solidJs.createSignal(true);
|
|
9057
|
+
const [subscription, { mutate, refetch }] = solidJs.createResource(options || {}, (_0) => chunk7B52C2XE_js.__async(void 0, [_0], function* ({ topicKey }) {
|
|
9058
|
+
try {
|
|
9059
|
+
const response = yield novuAccessor().subscriptions.get({ topicKey, identifier: identifier() });
|
|
9060
|
+
return response.data;
|
|
9061
|
+
} catch (error) {
|
|
9062
|
+
console.error("Error fetching subscription:", error);
|
|
9063
|
+
throw error;
|
|
8992
9064
|
}
|
|
8993
|
-
|
|
8994
|
-
|
|
8995
|
-
|
|
8996
|
-
|
|
8997
|
-
|
|
8998
|
-
|
|
8999
|
-
|
|
9065
|
+
}));
|
|
9066
|
+
const create = (args) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
9067
|
+
setLoading(true);
|
|
9068
|
+
const response = yield novuAccessor().subscriptions.create(args);
|
|
9069
|
+
if (response.data) {
|
|
9070
|
+
mutate(response.data);
|
|
9071
|
+
}
|
|
9072
|
+
setLoading(false);
|
|
9073
|
+
return response;
|
|
9074
|
+
});
|
|
9075
|
+
const remove = (args) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
9076
|
+
setLoading(true);
|
|
9077
|
+
const response = "subscription" in args ? yield novuAccessor().subscriptions.delete({ subscription: args.subscription }) : yield novuAccessor().subscriptions.delete({ topicKey: args.topicKey, subscriptionId: args.subscriptionId });
|
|
9078
|
+
mutate(null);
|
|
9079
|
+
setLoading(false);
|
|
9080
|
+
return response;
|
|
9081
|
+
});
|
|
9082
|
+
solidJs.onMount(() => {
|
|
9083
|
+
const listener = ({ data }) => {
|
|
9084
|
+
if (!data || data.topicKey !== options.topicKey || data.identifier !== identifier()) {
|
|
9085
|
+
return;
|
|
9000
9086
|
}
|
|
9001
|
-
|
|
9002
|
-
|
|
9003
|
-
|
|
9004
|
-
|
|
9005
|
-
|
|
9006
|
-
|
|
9007
|
-
|
|
9008
|
-
"renderAvatar",
|
|
9009
|
-
"renderDefaultActions",
|
|
9010
|
-
"renderCustomActions"
|
|
9011
|
-
]);
|
|
9012
|
-
return web.createComponent(InboxContent, web.mergeProps(otherProps, {
|
|
9013
|
-
hideNav: true,
|
|
9014
|
-
get initialPage() {
|
|
9015
|
-
return InboxPage.Preferences;
|
|
9016
|
-
}
|
|
9017
|
-
}));
|
|
9018
|
-
}
|
|
9019
|
-
const _b = props, propsWithoutRenderNotification = chunk7B52C2XE_js.__objRest(_b, [
|
|
9020
|
-
"renderNotification"
|
|
9021
|
-
]);
|
|
9022
|
-
return web.createComponent(InboxContent, web.mergeProps(propsWithoutRenderNotification, {
|
|
9023
|
-
hideNav: true,
|
|
9024
|
-
get initialPage() {
|
|
9025
|
-
return InboxPage.Preferences;
|
|
9087
|
+
mutate(data);
|
|
9088
|
+
setLoading(false);
|
|
9089
|
+
};
|
|
9090
|
+
const currentNovu = novuAccessor();
|
|
9091
|
+
const cleanupCreatePending = currentNovu.on("subscription.create.pending", ({ args }) => {
|
|
9092
|
+
if (!args || args.topicKey !== options.topicKey || args.identifier !== identifier()) {
|
|
9093
|
+
return;
|
|
9026
9094
|
}
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
|
|
9031
|
-
|
|
9032
|
-
|
|
9033
|
-
|
|
9034
|
-
|
|
9035
|
-
|
|
9036
|
-
|
|
9037
|
-
|
|
9038
|
-
|
|
9039
|
-
}
|
|
9040
|
-
const
|
|
9041
|
-
|
|
9042
|
-
|
|
9043
|
-
|
|
9044
|
-
|
|
9095
|
+
setLoading(true);
|
|
9096
|
+
});
|
|
9097
|
+
const cleanupCreate = currentNovu.on("subscription.create.resolved", listener);
|
|
9098
|
+
const cleanupUpdate = currentNovu.on("subscription.update.resolved", listener);
|
|
9099
|
+
const cleanupDeletePending = currentNovu.on("subscription.delete.pending", ({ args }) => {
|
|
9100
|
+
var _a, _b;
|
|
9101
|
+
const subscriptionId = (_a = subscription()) == null ? void 0 : _a.id;
|
|
9102
|
+
const subscriptionIdentifier = (_b = subscription()) == null ? void 0 : _b.identifier;
|
|
9103
|
+
if (!args || "subscriptionId" in args && args.subscriptionId !== subscriptionId && args.subscriptionId !== subscriptionIdentifier || "subscription" in args && args.subscription.id !== subscriptionId && args.subscription.identifier !== subscriptionIdentifier) {
|
|
9104
|
+
return;
|
|
9105
|
+
}
|
|
9106
|
+
setLoading(true);
|
|
9107
|
+
});
|
|
9108
|
+
const cleanupDelete = currentNovu.on("subscription.delete.resolved", ({ args }) => {
|
|
9109
|
+
var _a, _b;
|
|
9110
|
+
const subscriptionId = (_a = subscription()) == null ? void 0 : _a.id;
|
|
9111
|
+
const subscriptionIdentifier = (_b = subscription()) == null ? void 0 : _b.identifier;
|
|
9112
|
+
if (!args || "subscriptionId" in args && args.subscriptionId !== subscriptionId && args.subscriptionId !== subscriptionIdentifier || "subscription" in args && args.subscription.id !== subscriptionId && args.subscription.identifier !== subscriptionIdentifier) {
|
|
9113
|
+
return;
|
|
9114
|
+
}
|
|
9115
|
+
mutate(null);
|
|
9116
|
+
setLoading(false);
|
|
9117
|
+
});
|
|
9045
9118
|
solidJs.onCleanup(() => {
|
|
9046
|
-
|
|
9119
|
+
cleanupCreatePending();
|
|
9120
|
+
cleanupCreate();
|
|
9121
|
+
cleanupDeletePending();
|
|
9122
|
+
cleanupUpdate();
|
|
9123
|
+
cleanupDelete();
|
|
9047
9124
|
});
|
|
9048
9125
|
});
|
|
9049
|
-
|
|
9050
|
-
|
|
9051
|
-
|
|
9126
|
+
solidJs.createEffect(() => {
|
|
9127
|
+
setLoading(subscription.loading);
|
|
9128
|
+
});
|
|
9129
|
+
return { subscription, loading, mutate, refetch, create, remove };
|
|
9130
|
+
};
|
|
9131
|
+
var _tmpl$84 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 16 16"><path fill=currentColor d="M9.237 12.088c0 .362-.128.71-.357.965-.23.255-.541.398-.866.398s-.637-.143-.866-.398a1.45 1.45 0 0 1-.357-.965zM11.23 4.373a.39.39 0 0 1 .53.57l-7.402 6.903a.39.39 0 0 1-.531-.57zM11.058 6.652q.015.162.015.327v.4A4.37 4.37 0 0 0 12 10.097l.142.177c.16.2.2.487.1.732a.61.61 0 0 1-.557.402H5.96zM8.014 2.55c.338 0 .612.305.612.682v.41c.53.119 1.011.392 1.404.775L4.215 9.84c.478-.707.74-1.57.74-2.46v-.4c0-1.648 1.052-3.023 2.448-3.338v-.409c0-.377.273-.681.61-.681">`);
|
|
9132
|
+
function BellCross(props) {
|
|
9133
|
+
return (() => {
|
|
9134
|
+
var _el$ = _tmpl$84();
|
|
9135
|
+
web.spread(_el$, props, true, true);
|
|
9136
|
+
return _el$;
|
|
9137
|
+
})();
|
|
9138
|
+
}
|
|
9139
|
+
var _tmpl$85 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 16 16"><path stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=1.1 d="M7.206 12.5c.08.152.196.278.336.366a.86.86 0 0 0 .916 0 .96.96 0 0 0 .336-.366m.58-6.5h2.75M10.75 4.5v3m.918 1.732q.156.227.338.431.091.11.113.257a.54.54 0 0 1-.033.282.5.5 0 0 1-.17.217.43.43 0 0 1-.25.08H4.334a.43.43 0 0 1-.25-.08.5.5 0 0 1-.17-.217.54.54 0 0 1 .081-.539C4.604 8.978 5.25 8.25 5.25 6c0-.515.121-1.02.352-1.47.231-.448.564-.824.967-1.092a2.6 2.6 0 0 1 1.333-.436c.471-.018.94.096 1.358.332">`);
|
|
9140
|
+
function BellPlus(props) {
|
|
9141
|
+
return (() => {
|
|
9142
|
+
var _el$ = _tmpl$85();
|
|
9143
|
+
web.spread(_el$, props, true, true);
|
|
9144
|
+
return _el$;
|
|
9145
|
+
})();
|
|
9146
|
+
}
|
|
9147
|
+
var _tmpl$86 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=currentColor viewBox="0 0 24 24"><path d="M18.364 5.636 16.95 7.05A7 7 0 1 0 19 12h2a9 9 0 1 1-2.636-6.364">`);
|
|
9148
|
+
function Loader(props) {
|
|
9149
|
+
return (() => {
|
|
9150
|
+
var _el$ = _tmpl$86();
|
|
9151
|
+
web.spread(_el$, props, true, true);
|
|
9152
|
+
return _el$;
|
|
9153
|
+
})();
|
|
9154
|
+
}
|
|
9155
|
+
|
|
9156
|
+
// src/ui/components/subscription/SubscriptionButton.tsx
|
|
9157
|
+
var _tmpl$87 = /* @__PURE__ */ web.template(`<span><span>`);
|
|
9158
|
+
var iconKeyToComponentMap3 = {
|
|
9159
|
+
bellCross: BellCross,
|
|
9160
|
+
bellPlus: BellPlus
|
|
9161
|
+
};
|
|
9162
|
+
var SubscriptionButton = (props) => {
|
|
9163
|
+
const style = useStyle();
|
|
9164
|
+
const {
|
|
9165
|
+
t
|
|
9166
|
+
} = useLocalization();
|
|
9167
|
+
const subscription = solidJs.createMemo(() => {
|
|
9168
|
+
var _a;
|
|
9169
|
+
return (_a = props.subscription) != null ? _a : void 0;
|
|
9170
|
+
});
|
|
9171
|
+
const iconKey = solidJs.createMemo(() => props.subscription ? "bellCross" : "bellPlus");
|
|
9172
|
+
const IconComponent = solidJs.createMemo(() => iconKeyToComponentMap3[iconKey()]);
|
|
9173
|
+
return web.createComponent(Button, {
|
|
9174
|
+
get ["class"]() {
|
|
9175
|
+
return style({
|
|
9176
|
+
key: "subscriptionButton__button",
|
|
9177
|
+
className: "nt-transition-[width] nt-duration-800 nt-will-change-[width]",
|
|
9178
|
+
context: {
|
|
9179
|
+
subscription: subscription()
|
|
9180
|
+
}
|
|
9181
|
+
});
|
|
9052
9182
|
},
|
|
9053
|
-
|
|
9054
|
-
|
|
9183
|
+
variant: "secondary",
|
|
9184
|
+
get onClick() {
|
|
9185
|
+
return props.onClick;
|
|
9186
|
+
},
|
|
9187
|
+
get disabled() {
|
|
9188
|
+
return props.loading;
|
|
9055
9189
|
},
|
|
9056
9190
|
get children() {
|
|
9057
|
-
|
|
9058
|
-
|
|
9059
|
-
|
|
9191
|
+
var _el$ = _tmpl$87(), _el$2 = _el$.firstChild;
|
|
9192
|
+
web.insert(_el$, web.createComponent(Motion.span, {
|
|
9193
|
+
initial: {
|
|
9194
|
+
opacity: 1
|
|
9060
9195
|
},
|
|
9061
|
-
get
|
|
9196
|
+
get animate() {
|
|
9197
|
+
return {
|
|
9198
|
+
opacity: props.loading ? 0 : 1
|
|
9199
|
+
};
|
|
9200
|
+
},
|
|
9201
|
+
transition: {
|
|
9202
|
+
easing: "ease-in-out",
|
|
9203
|
+
duration: 0.2
|
|
9204
|
+
},
|
|
9205
|
+
"class": "nt-inline-flex nt-items-center",
|
|
9206
|
+
get children() {
|
|
9207
|
+
return web.createComponent(IconRendererWrapper, {
|
|
9208
|
+
get iconKey() {
|
|
9209
|
+
return iconKey();
|
|
9210
|
+
},
|
|
9211
|
+
get ["class"]() {
|
|
9212
|
+
return style({
|
|
9213
|
+
key: "subscriptionButtonIcon",
|
|
9214
|
+
className: "nt-text-foreground-alpha-600 nt-size-3.5",
|
|
9215
|
+
iconKey: iconKey(),
|
|
9216
|
+
context: {
|
|
9217
|
+
subscription: subscription()
|
|
9218
|
+
}
|
|
9219
|
+
});
|
|
9220
|
+
},
|
|
9221
|
+
get fallback() {
|
|
9222
|
+
var _a;
|
|
9223
|
+
return web.memo(() => !!IconComponent())() && ((_a = IconComponent()) == null ? void 0 : _a({
|
|
9224
|
+
class: style({
|
|
9225
|
+
key: "subscriptionButtonIcon",
|
|
9226
|
+
className: "nt-text-foreground-alpha-600 nt-size-3.5",
|
|
9227
|
+
iconKey: iconKey(),
|
|
9228
|
+
context: {
|
|
9229
|
+
subscription: subscription()
|
|
9230
|
+
}
|
|
9231
|
+
})
|
|
9232
|
+
}));
|
|
9233
|
+
}
|
|
9234
|
+
});
|
|
9235
|
+
}
|
|
9236
|
+
}), _el$2);
|
|
9237
|
+
web.insert(_el$, web.createComponent(Motion.span, {
|
|
9238
|
+
initial: {
|
|
9239
|
+
opacity: 1
|
|
9240
|
+
},
|
|
9241
|
+
get animate() {
|
|
9242
|
+
return {
|
|
9243
|
+
opacity: props.loading ? 1 : 0
|
|
9244
|
+
};
|
|
9245
|
+
},
|
|
9246
|
+
transition: {
|
|
9247
|
+
easing: "ease-in-out",
|
|
9248
|
+
duration: 0.2
|
|
9249
|
+
},
|
|
9250
|
+
"class": "nt-absolute nt-left-0 nt-inline-flex nt-items-center",
|
|
9251
|
+
get children() {
|
|
9252
|
+
return web.createComponent(IconRendererWrapper, {
|
|
9253
|
+
iconKey: "loader",
|
|
9254
|
+
get ["class"]() {
|
|
9255
|
+
return style({
|
|
9256
|
+
key: "subscriptionButtonIcon",
|
|
9257
|
+
className: "nt-text-foreground-alpha-600 nt-size-3.5 nt-animate-spin",
|
|
9258
|
+
iconKey: iconKey(),
|
|
9259
|
+
context: {
|
|
9260
|
+
subscription: subscription()
|
|
9261
|
+
}
|
|
9262
|
+
});
|
|
9263
|
+
},
|
|
9264
|
+
get fallback() {
|
|
9265
|
+
return web.createComponent(Loader, {
|
|
9266
|
+
get ["class"]() {
|
|
9267
|
+
return style({
|
|
9268
|
+
key: "subscriptionButtonIcon",
|
|
9269
|
+
className: "nt-text-foreground-alpha-600 nt-size-3.5 nt-animate-spin",
|
|
9270
|
+
iconKey: iconKey(),
|
|
9271
|
+
context: {
|
|
9272
|
+
subscription: subscription()
|
|
9273
|
+
}
|
|
9274
|
+
});
|
|
9275
|
+
}
|
|
9276
|
+
});
|
|
9277
|
+
}
|
|
9278
|
+
});
|
|
9279
|
+
}
|
|
9280
|
+
}), _el$2);
|
|
9281
|
+
web.insert(_el$2, (() => {
|
|
9282
|
+
var _c$ = web.memo(() => !!props.subscription);
|
|
9283
|
+
return () => _c$() ? t("subscription.unsubscribe") : t("subscription.subscribe");
|
|
9284
|
+
})());
|
|
9285
|
+
web.effect((_p$) => {
|
|
9286
|
+
var _v$ = style({
|
|
9287
|
+
key: "subscriptionButtonContainer",
|
|
9288
|
+
className: "nt-relative nt-overflow-hidden nt-inline-flex nt-items-center nt-justify-center nt-gap-1",
|
|
9289
|
+
context: {
|
|
9290
|
+
subscription: subscription()
|
|
9291
|
+
}
|
|
9292
|
+
}), _v$2 = style({
|
|
9293
|
+
key: "subscriptionButtonLabel",
|
|
9294
|
+
className: "[line-height:16px]",
|
|
9295
|
+
context: {
|
|
9296
|
+
subscription: subscription()
|
|
9297
|
+
}
|
|
9298
|
+
}), _v$3 = props.subscription ? "subscription.unsubscribe" : "subscription.subscribe";
|
|
9299
|
+
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
9300
|
+
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
9301
|
+
_v$3 !== _p$.a && web.setAttribute(_el$2, "data-localization", _p$.a = _v$3);
|
|
9302
|
+
return _p$;
|
|
9303
|
+
}, {
|
|
9304
|
+
e: void 0,
|
|
9305
|
+
t: void 0,
|
|
9306
|
+
a: void 0
|
|
9307
|
+
});
|
|
9308
|
+
return _el$;
|
|
9309
|
+
}
|
|
9310
|
+
});
|
|
9311
|
+
};
|
|
9312
|
+
var _tmpl$88 = /* @__PURE__ */ web.template(`<div>`);
|
|
9313
|
+
var _tmpl$227 = /* @__PURE__ */ web.template(`<div><div><div><span></span></div><div><span>`);
|
|
9314
|
+
var _tmpl$316 = /* @__PURE__ */ web.template(`<div><label>`);
|
|
9315
|
+
var SubscriptionPreferenceGroupRow = (props) => {
|
|
9316
|
+
const style = useStyle();
|
|
9317
|
+
const {
|
|
9318
|
+
t
|
|
9319
|
+
} = useLocalization();
|
|
9320
|
+
const [isOpened, setIsOpened] = solidJs.createSignal(false);
|
|
9321
|
+
const preferences = solidJs.createMemo(() => props.group.group);
|
|
9322
|
+
const groupState = solidJs.createMemo(() => {
|
|
9323
|
+
const enabledCount = preferences().filter((pref) => {
|
|
9324
|
+
return pref.preference.enabled;
|
|
9325
|
+
}).length;
|
|
9326
|
+
if (enabledCount === 0) {
|
|
9327
|
+
return {
|
|
9328
|
+
checked: false,
|
|
9329
|
+
indeterminate: false
|
|
9330
|
+
};
|
|
9331
|
+
}
|
|
9332
|
+
if (enabledCount === preferences().length) {
|
|
9333
|
+
return {
|
|
9334
|
+
checked: true,
|
|
9335
|
+
indeterminate: false
|
|
9336
|
+
};
|
|
9337
|
+
}
|
|
9338
|
+
return {
|
|
9339
|
+
checked: false,
|
|
9340
|
+
indeterminate: true
|
|
9341
|
+
};
|
|
9342
|
+
});
|
|
9343
|
+
const handleGroupChange = (checked) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
9344
|
+
const updates = props.group.group.map((pref) => ({
|
|
9345
|
+
workflowId: pref.preference.workflow.identifier || pref.preference.workflow.id,
|
|
9346
|
+
value: checked
|
|
9347
|
+
}));
|
|
9348
|
+
yield props.subscription.bulkUpdatePreferences(updates);
|
|
9349
|
+
});
|
|
9350
|
+
const handlePreferenceChange = (preference) => (checked) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
9351
|
+
yield preference.update({
|
|
9352
|
+
value: checked
|
|
9353
|
+
});
|
|
9354
|
+
});
|
|
9355
|
+
const getPreferenceChecked = (preference) => {
|
|
9356
|
+
return preference.enabled;
|
|
9357
|
+
};
|
|
9358
|
+
return (() => {
|
|
9359
|
+
var _el$ = _tmpl$227(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$3.nextSibling, _el$6 = _el$5.firstChild;
|
|
9360
|
+
_el$2.$$click = () => {
|
|
9361
|
+
setIsOpened((prev) => !prev);
|
|
9362
|
+
};
|
|
9363
|
+
web.insert(_el$3, web.createComponent(IconRendererWrapper, {
|
|
9364
|
+
iconKey: "nodeTree",
|
|
9365
|
+
get ["class"]() {
|
|
9366
|
+
return style({
|
|
9367
|
+
key: "subscriptionPreferenceGroupLabelIcon",
|
|
9368
|
+
className: "nt-text-foreground-alpha-600 nt-size-3.5",
|
|
9369
|
+
context: {
|
|
9370
|
+
group: props.group
|
|
9371
|
+
}
|
|
9372
|
+
});
|
|
9373
|
+
},
|
|
9374
|
+
get fallback() {
|
|
9375
|
+
return web.createComponent(NodeTree, {
|
|
9376
|
+
get ["class"]() {
|
|
9377
|
+
return style({
|
|
9378
|
+
key: "subscriptionPreferenceGroupLabelIcon",
|
|
9379
|
+
className: "nt-text-foreground-alpha-600 nt-size-3.5",
|
|
9380
|
+
context: {
|
|
9381
|
+
group: props.group
|
|
9382
|
+
}
|
|
9383
|
+
});
|
|
9384
|
+
}
|
|
9385
|
+
});
|
|
9386
|
+
}
|
|
9387
|
+
}), _el$4);
|
|
9388
|
+
web.insert(_el$4, () => props.group.label);
|
|
9389
|
+
web.insert(_el$5, web.createComponent(Checkbox, {
|
|
9390
|
+
get checked() {
|
|
9391
|
+
return groupState().checked;
|
|
9392
|
+
},
|
|
9393
|
+
get indeterminate() {
|
|
9394
|
+
return groupState().indeterminate;
|
|
9395
|
+
},
|
|
9396
|
+
onChange: handleGroupChange,
|
|
9397
|
+
onClick: (e) => {
|
|
9398
|
+
e.stopPropagation();
|
|
9399
|
+
}
|
|
9400
|
+
}), _el$6);
|
|
9401
|
+
web.insert(_el$6, web.createComponent(IconRendererWrapper, {
|
|
9402
|
+
iconKey: "arrowDropDown",
|
|
9403
|
+
get ["class"]() {
|
|
9404
|
+
return style({
|
|
9405
|
+
key: "moreTabs__icon",
|
|
9406
|
+
className: "nt-size-4"
|
|
9407
|
+
});
|
|
9408
|
+
},
|
|
9409
|
+
get fallback() {
|
|
9410
|
+
return web.createComponent(ArrowDropDown, {
|
|
9411
|
+
get ["class"]() {
|
|
9412
|
+
return style({
|
|
9413
|
+
key: "moreTabs__icon",
|
|
9414
|
+
className: "nt-size-4"
|
|
9415
|
+
});
|
|
9416
|
+
}
|
|
9417
|
+
});
|
|
9418
|
+
}
|
|
9419
|
+
}));
|
|
9420
|
+
web.insert(_el$, web.createComponent(Collapsible, {
|
|
9421
|
+
get open() {
|
|
9422
|
+
return isOpened();
|
|
9423
|
+
},
|
|
9424
|
+
get children() {
|
|
9425
|
+
var _el$7 = _tmpl$88();
|
|
9426
|
+
web.insert(_el$7, web.createComponent(solidJs.For, {
|
|
9427
|
+
get each() {
|
|
9428
|
+
return preferences();
|
|
9429
|
+
},
|
|
9430
|
+
children: (el) => (() => {
|
|
9431
|
+
var _el$8 = _tmpl$316(), _el$9 = _el$8.firstChild;
|
|
9432
|
+
web.insert(_el$9, () => {
|
|
9433
|
+
var _a;
|
|
9434
|
+
return (_a = el.label) != null ? _a : t(el.preference.workflow.identifier);
|
|
9435
|
+
});
|
|
9436
|
+
web.insert(_el$8, web.createComponent(Checkbox, {
|
|
9437
|
+
get id() {
|
|
9438
|
+
return `subscription-preference-${el.preference.workflow.identifier}`;
|
|
9439
|
+
},
|
|
9440
|
+
get checked() {
|
|
9441
|
+
return getPreferenceChecked(el.preference);
|
|
9442
|
+
},
|
|
9443
|
+
get onChange() {
|
|
9444
|
+
return handlePreferenceChange(el.preference);
|
|
9445
|
+
}
|
|
9446
|
+
}), null);
|
|
9447
|
+
web.effect((_p$) => {
|
|
9448
|
+
var _a;
|
|
9449
|
+
var _v$1 = style({
|
|
9450
|
+
key: "subscriptionPreferenceGroupWorkflowRow",
|
|
9451
|
+
className: "nt-flex nt-items-center nt-justify-between nt-p-2 nt-rounded nt-gap-2",
|
|
9452
|
+
context: {
|
|
9453
|
+
preference: el
|
|
9454
|
+
}
|
|
9455
|
+
}), _v$10 = `subscription-preference-${el.preference.workflow.identifier}`, _v$11 = style({
|
|
9456
|
+
key: "subscriptionPreferenceGroupWorkflowLabel",
|
|
9457
|
+
className: "nt-text-sm nt-truncate nt-text-start nt-w-full nt-cursor-pointer",
|
|
9458
|
+
context: {
|
|
9459
|
+
preference: el
|
|
9460
|
+
}
|
|
9461
|
+
}), _v$12 = el.preference.workflow.identifier, _v$13 = (_a = el.label) != null ? _a : t(el.preference.workflow.identifier);
|
|
9462
|
+
_v$1 !== _p$.e && web.className(_el$8, _p$.e = _v$1);
|
|
9463
|
+
_v$10 !== _p$.t && web.setAttribute(_el$9, "for", _p$.t = _v$10);
|
|
9464
|
+
_v$11 !== _p$.a && web.className(_el$9, _p$.a = _v$11);
|
|
9465
|
+
_v$12 !== _p$.o && web.setAttribute(_el$9, "data-localization", _p$.o = _v$12);
|
|
9466
|
+
_v$13 !== _p$.i && web.setAttribute(_el$9, "title", _p$.i = _v$13);
|
|
9467
|
+
return _p$;
|
|
9468
|
+
}, {
|
|
9469
|
+
e: void 0,
|
|
9470
|
+
t: void 0,
|
|
9471
|
+
a: void 0,
|
|
9472
|
+
o: void 0,
|
|
9473
|
+
i: void 0
|
|
9474
|
+
});
|
|
9475
|
+
return _el$8;
|
|
9476
|
+
})()
|
|
9477
|
+
}));
|
|
9478
|
+
web.effect(() => web.className(_el$7, style({
|
|
9479
|
+
key: "subscriptionPreferenceGroupBody",
|
|
9480
|
+
className: "nt-flex nt-p-2 nt-flex-col nt-gap-1 nt-bg-background nt-rounded-b-lg",
|
|
9481
|
+
context: {
|
|
9482
|
+
group: props.group
|
|
9483
|
+
}
|
|
9484
|
+
})));
|
|
9485
|
+
return _el$7;
|
|
9486
|
+
}
|
|
9487
|
+
}), null);
|
|
9488
|
+
web.effect((_p$) => {
|
|
9489
|
+
var _v$ = style({
|
|
9490
|
+
key: "subscriptionPreferenceGroupContainer",
|
|
9491
|
+
className: "nt-bg-neutral-alpha-25 nt-rounded-lg nt-border nt-border-neutral-alpha-50",
|
|
9492
|
+
context: {
|
|
9493
|
+
group: props.group
|
|
9494
|
+
}
|
|
9495
|
+
}), _v$2 = isOpened(), _v$3 = style({
|
|
9496
|
+
key: "subscriptionPreferenceGroupHeader",
|
|
9497
|
+
className: "nt-flex nt-justify-between nt-p-2 nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center nt-overflow-hidden",
|
|
9498
|
+
context: {
|
|
9499
|
+
group: props.group
|
|
9500
|
+
}
|
|
9501
|
+
}), _v$4 = style({
|
|
9502
|
+
key: "subscriptionPreferenceGroupLabelContainer",
|
|
9503
|
+
className: "nt-overflow-hidden nt-flex nt-items-center nt-gap-1",
|
|
9504
|
+
context: {
|
|
9505
|
+
group: props.group
|
|
9506
|
+
}
|
|
9507
|
+
}), _v$5 = style({
|
|
9508
|
+
key: "subscriptionPreferenceGroupLabel",
|
|
9509
|
+
className: "nt-text-sm nt-font-semibold nt-truncate nt-text-start nt-mr-2",
|
|
9510
|
+
context: {
|
|
9511
|
+
group: props.group
|
|
9512
|
+
}
|
|
9513
|
+
}), _v$6 = isOpened(), _v$7 = props.group.label, _v$8 = style({
|
|
9514
|
+
key: "subscriptionPreferenceGroupActionsContainer",
|
|
9515
|
+
className: "nt-flex nt-items-center nt-gap-1",
|
|
9516
|
+
context: {
|
|
9517
|
+
group: props.group
|
|
9518
|
+
}
|
|
9519
|
+
}), _v$9 = style({
|
|
9520
|
+
key: "subscriptionPreferenceGroupActionsContainerRight__icon",
|
|
9521
|
+
className: "nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180",
|
|
9522
|
+
context: {
|
|
9523
|
+
group: props.group
|
|
9524
|
+
}
|
|
9525
|
+
}), _v$0 = isOpened();
|
|
9526
|
+
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
9527
|
+
_v$2 !== _p$.t && web.setAttribute(_el$, "data-open", _p$.t = _v$2);
|
|
9528
|
+
_v$3 !== _p$.a && web.className(_el$2, _p$.a = _v$3);
|
|
9529
|
+
_v$4 !== _p$.o && web.className(_el$3, _p$.o = _v$4);
|
|
9530
|
+
_v$5 !== _p$.i && web.className(_el$4, _p$.i = _v$5);
|
|
9531
|
+
_v$6 !== _p$.n && web.setAttribute(_el$4, "data-open", _p$.n = _v$6);
|
|
9532
|
+
_v$7 !== _p$.s && web.setAttribute(_el$4, "title", _p$.s = _v$7);
|
|
9533
|
+
_v$8 !== _p$.h && web.className(_el$5, _p$.h = _v$8);
|
|
9534
|
+
_v$9 !== _p$.r && web.className(_el$6, _p$.r = _v$9);
|
|
9535
|
+
_v$0 !== _p$.d && web.setAttribute(_el$6, "data-open", _p$.d = _v$0);
|
|
9536
|
+
return _p$;
|
|
9537
|
+
}, {
|
|
9538
|
+
e: void 0,
|
|
9539
|
+
t: void 0,
|
|
9540
|
+
a: void 0,
|
|
9541
|
+
o: void 0,
|
|
9542
|
+
i: void 0,
|
|
9543
|
+
n: void 0,
|
|
9544
|
+
s: void 0,
|
|
9545
|
+
h: void 0,
|
|
9546
|
+
r: void 0,
|
|
9547
|
+
d: void 0
|
|
9548
|
+
});
|
|
9549
|
+
return _el$;
|
|
9550
|
+
})();
|
|
9551
|
+
};
|
|
9552
|
+
web.delegateEvents(["click"]);
|
|
9553
|
+
var _tmpl$89 = /* @__PURE__ */ web.template(`<div><label>`);
|
|
9554
|
+
var SubscriptionPreferenceRow = (props) => {
|
|
9555
|
+
const style = useStyle();
|
|
9556
|
+
const {
|
|
9557
|
+
t
|
|
9558
|
+
} = useLocalization();
|
|
9559
|
+
const preference = solidJs.createMemo(() => props.preference.preference);
|
|
9560
|
+
const handleChange = (checked) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
9561
|
+
yield preference().update({
|
|
9562
|
+
value: checked
|
|
9563
|
+
});
|
|
9564
|
+
});
|
|
9565
|
+
const isChecked = () => {
|
|
9566
|
+
return preference().enabled;
|
|
9567
|
+
};
|
|
9568
|
+
return (() => {
|
|
9569
|
+
var _el$ = _tmpl$89(), _el$2 = _el$.firstChild;
|
|
9570
|
+
web.insert(_el$2, () => {
|
|
9571
|
+
var _a;
|
|
9572
|
+
return (_a = props.preference.label) != null ? _a : t(preference().workflow.identifier);
|
|
9573
|
+
});
|
|
9574
|
+
web.insert(_el$, web.createComponent(Checkbox, {
|
|
9575
|
+
get id() {
|
|
9576
|
+
return `subscription-preference-${preference().workflow.identifier}`;
|
|
9577
|
+
},
|
|
9578
|
+
get checked() {
|
|
9579
|
+
return isChecked();
|
|
9580
|
+
},
|
|
9581
|
+
onChange: handleChange
|
|
9582
|
+
}), null);
|
|
9583
|
+
web.effect((_p$) => {
|
|
9584
|
+
var _a;
|
|
9585
|
+
var _v$ = style({
|
|
9586
|
+
key: "subscriptionPreferenceRow",
|
|
9587
|
+
className: "nt-flex nt-items-center nt-justify-between nt-p-2 nt-rounded-lg nt-gap-2",
|
|
9588
|
+
context: {
|
|
9589
|
+
preference: props.preference
|
|
9590
|
+
}
|
|
9591
|
+
}), _v$2 = `subscription-preference-${preference().workflow.identifier}`, _v$3 = style({
|
|
9592
|
+
key: "subscriptionPreferenceLabel",
|
|
9593
|
+
className: "nt-text-sm nt-font-medium nt-truncate nt-text-start nt-w-full nt-cursor-pointer",
|
|
9594
|
+
context: {
|
|
9595
|
+
preference: props.preference
|
|
9596
|
+
}
|
|
9597
|
+
}), _v$4 = preference().workflow.identifier, _v$5 = (_a = props.preference.label) != null ? _a : t(preference().workflow.identifier);
|
|
9598
|
+
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
9599
|
+
_v$2 !== _p$.t && web.setAttribute(_el$2, "for", _p$.t = _v$2);
|
|
9600
|
+
_v$3 !== _p$.a && web.className(_el$2, _p$.a = _v$3);
|
|
9601
|
+
_v$4 !== _p$.o && web.setAttribute(_el$2, "data-localization", _p$.o = _v$4);
|
|
9602
|
+
_v$5 !== _p$.i && web.setAttribute(_el$2, "title", _p$.i = _v$5);
|
|
9603
|
+
return _p$;
|
|
9604
|
+
}, {
|
|
9605
|
+
e: void 0,
|
|
9606
|
+
t: void 0,
|
|
9607
|
+
a: void 0,
|
|
9608
|
+
o: void 0,
|
|
9609
|
+
i: void 0
|
|
9610
|
+
});
|
|
9611
|
+
return _el$;
|
|
9612
|
+
})();
|
|
9613
|
+
};
|
|
9614
|
+
var _tmpl$90 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg width=138 height=100 fill=none viewBox="0 0 138 100"><rect width=131.1 height=33.1 x=3.025 y=.45 stroke=#e1e4ea stroke-dasharray="10 2.7"stroke-width=.9 rx=3.55></rect><rect width=123.1 height=25.1 x=7.025 y=4.45 fill=#fff rx=1.55></rect><rect width=123.1 height=25.1 x=7.025 y=4.45 stroke=#f2f2f2 stroke-width=.9 rx=1.55></rect><g clip-path=url(#a)><path stroke=#cacfd8 stroke-linecap=round stroke-linejoin=round stroke-width=1.08 d="m66.7 17 1.25 1.25 2.5-2.5M72.74 17a4.167 4.167 0 1 1-8.333 0 4.167 4.167 0 0 1 8.334 0"></path></g><g filter=url(#b)><g clip-path=url(#c)><rect width=132 height=29 x=1.724 y=67.207 fill=#fcfcfc rx=4 transform="rotate(-4 1.724 67.207)"></rect><path fill=#f4f4f4 d="M10.402 76.625a4 4 0 0 1 3.711-4.27l9.976-.697a4 4 0 0 1 4.27 3.711l.627 8.978a4 4 0 0 1-3.711 4.27l-9.976.697a4 4 0 0 1-4.27-3.71z"></path><path fill=#e4e4e4 d="M19.345 75.498c-.316.022-.55.319-.527.664l.027.374c-1.28.38-2.172 1.706-2.067 3.214l.026.367a3.97 3.97 0 0 1-.69 2.546l-.12.171a.67.67 0 0 0-.049.677.57.57 0 0 0 .546.332l6.84-.479a.57.57 0 0 0 .495-.404.67.67 0 0 0-.141-.664l-.143-.152a3.96 3.96 0 0 1-1.038-2.426l-.026-.366c-.105-1.508-1.173-2.699-2.493-2.896l-.026-.374c-.025-.345-.299-.606-.614-.584m1.479 9.555c.197-.248.294-.575.271-.906l-1.14.08-1.14.08c.023.331.165.64.395.86.23.218.53.328.832.307.303-.021.584-.172.782-.42"></path><rect width=27 height=3 x=36.373 y=75.311 fill=url(#d) rx=1.5 transform="rotate(-4 36.373 75.31)"></rect><rect width=59 height=3 x=36.722 y=80.299 fill=url(#e) rx=1.5 transform="rotate(-4 36.722 80.299)"></rect><rect width=59 height=3 x=36.722 y=80.299 fill=url(#f) rx=1.5 transform="rotate(-4 36.722 80.299)"></rect></g><rect width=132 height=29 x=1.724 y=67.207 stroke=#e6e6e6 stroke-opacity=.5 stroke-width=.6 rx=4 transform="rotate(-4 1.724 67.207)"></rect></g><path stroke=#e1e4ea stroke-linejoin=bevel d="M68.596 37v23.614"></path><defs><linearGradient id=d x1=29.846 x2=67.676 y1=76.586 y2=76.586 gradientUnits=userSpaceOnUse><stop stop-color=#e4e4e4></stop><stop offset=.48 stop-color=#f1f1f1></stop><stop offset=.992 stop-color=#fcfcfc stop-opacity=.75></stop></linearGradient><linearGradient id=e x1=22.458 x2=105.123 y1=81.574 y2=81.574 gradientUnits=userSpaceOnUse><stop stop-color=#e4e4e4></stop><stop offset=.48 stop-color=#f1f1f1></stop><stop offset=.992 stop-color=#fcfcfc stop-opacity=.75></stop></linearGradient><linearGradient id=f x1=22.458 x2=105.123 y1=81.574 y2=81.574 gradientUnits=userSpaceOnUse><stop stop-color=#e4e4e4></stop><stop offset=.48 stop-color=#f1f1f1></stop><stop offset=.992 stop-color=#fcfcfc stop-opacity=.75></stop></linearGradient><clipPath id=a><path fill=#fff d="M63.575 12h10v10h-10z"></path></clipPath><clipPath id=c><rect width=132 height=29 x=1.724 y=67.207 fill=#fff rx=4 transform="rotate(-4 1.724 67.207)"></rect></clipPath><filter id=b width=137.15 height=41.586 x=0 y=57.969 color-interpolation-filters=sRGB filterUnits=userSpaceOnUse><feFlood flood-opacity=0 result=BackgroundImageFix></feFlood><feColorMatrix in=SourceAlpha result=hardAlpha values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix><feOffset dy=1.693></feOffset><feGaussianBlur stdDeviation=.847></feGaussianBlur><feColorMatrix values="0 0 0 0 0.917008 0 0 0 0 0.917008 0 0 0 0 0.917008 0 0 0 0.02 0"></feColorMatrix><feBlend in2=BackgroundImageFix result=effect1_dropShadow_4908_18899></feBlend><feBlend in=SourceGraphic in2=effect1_dropShadow_4908_18899 result=shape></feBlend><feColorMatrix in=SourceAlpha result=hardAlpha values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix><feOffset dy=-2></feOffset><feComposite in2=hardAlpha k2=-1 k3=1 operator=arithmetic></feComposite><feColorMatrix values="0 0 0 0 0.975488 0 0 0 0 0.975488 0 0 0 0 0.975488 0 0 0 1 0"></feColorMatrix><feBlend in2=shape result=effect2_innerShadow_4908_18899>`);
|
|
9615
|
+
var EmptyState = () => {
|
|
9616
|
+
return _tmpl$90();
|
|
9617
|
+
};
|
|
9618
|
+
var _tmpl$91 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg width=136 height=88 fill=none viewBox="0 0 136 88"><g filter=url(#a)><g clip-path=url(#b)><rect width=132 height=29 x=1.993 y=.301 fill=#fcfcfc rx=4></rect><path fill=#f4f4f4 d="M9.993 10.3a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v9a4 4 0 0 1-4 4h-10a4 4 0 0 1-4-4z"></path><path fill=#e4e4e4 d="M18.993 9.8c-.316 0-.572.28-.572.626v.375c-1.303.289-2.285 1.55-2.285 3.062v.367c0 .918-.31 1.805-.866 2.493l-.133.162a.67.67 0 0 0-.094.672.57.57 0 0 0 .521.369h6.857a.57.57 0 0 0 .522-.37.67.67 0 0 0-.095-.671l-.132-.162a3.96 3.96 0 0 1-.866-2.492v-.368c0-1.511-.982-2.773-2.286-3.062v-.375c0-.346-.255-.625-.571-.625m.809 9.636c.214-.235.334-.553.334-.885H17.85c0 .332.12.65.334.885s.505.365.809.365c.303 0 .594-.131.809-.365"></path><rect width=27 height=3 x=35.993 y=10.801 fill=url(#c) rx=1.5></rect><rect width=59 height=3 x=35.993 y=15.801 fill=url(#d) rx=1.5></rect><rect width=59 height=3 x=35.993 y=15.801 fill=url(#e) rx=1.5></rect></g><rect width=132 height=29 x=1.993 y=.301 stroke=#e6e6e6 stroke-opacity=.5 stroke-width=.6 rx=4></rect></g><rect width=131.1 height=33.1 x=2.443 y=53.751 stroke=#e1e4ea stroke-dasharray="10 2.7"stroke-width=.9 rx=3.55></rect><rect width=123.1 height=25.1 x=6.443 y=57.751 fill=#fff rx=1.55></rect><rect width=123.1 height=25.1 x=6.443 y=57.751 stroke=#f2f2f2 stroke-width=.9 rx=1.55></rect><path fill=#cacfd8 d="M68.743 71.145v.784a2.25 2.25 0 0 0-3 2.122h-.75a3 3 0 0 1 3.75-2.906m-.75-.47a2.25 2.25 0 1 1-.001-4.498 2.25 2.25 0 0 1 .001 4.499m0-.75a1.5 1.5 0 1 0 0-2.999 1.5 1.5 0 0 0 0 3m2.47 2.25-.686-.685.53-.53 1.591 1.59-1.59 1.592-.531-.53.686-.686h-1.345v-.75z"></path><path stroke=#e1e4ea stroke-linejoin=bevel d="M67.993 50.3v-18"></path><defs><linearGradient id=c x1=29.466 x2=67.295 y1=12.076 y2=12.076 gradientUnits=userSpaceOnUse><stop stop-color=#e4e4e4></stop><stop offset=.48 stop-color=#f1f1f1></stop><stop offset=.992 stop-color=#fcfcfc stop-opacity=.75></stop></linearGradient><linearGradient id=d x1=21.729 x2=104.394 y1=17.076 y2=17.076 gradientUnits=userSpaceOnUse><stop stop-color=#e4e4e4></stop><stop offset=.48 stop-color=#f1f1f1></stop><stop offset=.992 stop-color=#fcfcfc stop-opacity=.75></stop></linearGradient><linearGradient id=e x1=21.729 x2=104.394 y1=17.076 y2=17.076 gradientUnits=userSpaceOnUse><stop stop-color=#e4e4e4></stop><stop offset=.48 stop-color=#f1f1f1></stop><stop offset=.992 stop-color=#fcfcfc stop-opacity=.75></stop></linearGradient><clipPath id=b><rect width=132 height=29 x=1.993 y=.301 fill=#fff rx=4></rect></clipPath><filter id=a width=135.986 height=32.988 x=0 y=0 color-interpolation-filters=sRGB filterUnits=userSpaceOnUse><feFlood flood-opacity=0 result=BackgroundImageFix></feFlood><feColorMatrix in=SourceAlpha result=hardAlpha values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix><feOffset dy=1.693></feOffset><feGaussianBlur stdDeviation=.847></feGaussianBlur><feColorMatrix values="0 0 0 0 0.917008 0 0 0 0 0.917008 0 0 0 0 0.917008 0 0 0 0.02 0"></feColorMatrix><feBlend in2=BackgroundImageFix result=effect1_dropShadow_4850_12317></feBlend><feBlend in=SourceGraphic in2=effect1_dropShadow_4850_12317 result=shape></feBlend><feColorMatrix in=SourceAlpha result=hardAlpha values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix><feOffset dy=-2></feOffset><feComposite in2=hardAlpha k2=-1 k3=1 operator=arithmetic></feComposite><feColorMatrix values="0 0 0 0 0.975488 0 0 0 0 0.975488 0 0 0 0 0.975488 0 0 0 1 0"></feColorMatrix><feBlend in2=shape result=effect2_innerShadow_4850_12317>`);
|
|
9619
|
+
var NotSubscribedState = () => {
|
|
9620
|
+
return _tmpl$91();
|
|
9621
|
+
};
|
|
9622
|
+
var _tmpl$92 = /* @__PURE__ */ web.template(`<div><div></div><div></div><div>`);
|
|
9623
|
+
var SubscriptionPreferencesListSkeleton = () => {
|
|
9624
|
+
const style = useStyle();
|
|
9625
|
+
return (() => {
|
|
9626
|
+
var _el$ = _tmpl$92(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling;
|
|
9627
|
+
web.insert(_el$2, web.createComponent(SkeletonText, {
|
|
9628
|
+
appearanceKey: "notificationList__skeletonText",
|
|
9629
|
+
"class": "nt-h-3.5 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded-sm nt-animate-shimmer"
|
|
9630
|
+
}), null);
|
|
9631
|
+
web.insert(_el$2, web.createComponent(SkeletonText, {
|
|
9632
|
+
appearanceKey: "preferencesList__skeletonText",
|
|
9633
|
+
"class": "nt-size-4 nt-bg-neutral-alpha-50 nt-rounded-sm nt-animate-shimmer"
|
|
9634
|
+
}), null);
|
|
9635
|
+
web.insert(_el$3, web.createComponent(SkeletonText, {
|
|
9636
|
+
appearanceKey: "notificationList__skeletonText",
|
|
9637
|
+
"class": "nt-h-3.5 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded-sm nt-animate-shimmer"
|
|
9638
|
+
}), null);
|
|
9639
|
+
web.insert(_el$3, web.createComponent(SkeletonText, {
|
|
9640
|
+
appearanceKey: "preferencesList__skeletonText",
|
|
9641
|
+
"class": "nt-size-4 nt-bg-neutral-alpha-50 nt-rounded-sm nt-animate-shimmer"
|
|
9642
|
+
}), null);
|
|
9643
|
+
web.insert(_el$4, web.createComponent(SkeletonText, {
|
|
9644
|
+
appearanceKey: "notificationList__skeletonText",
|
|
9645
|
+
"class": "nt-h-3.5 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded-sm nt-animate-shimmer"
|
|
9646
|
+
}), null);
|
|
9647
|
+
web.insert(_el$4, web.createComponent(SkeletonText, {
|
|
9648
|
+
appearanceKey: "preferencesList__skeletonText",
|
|
9649
|
+
"class": "nt-size-4 nt-bg-neutral-alpha-50 nt-rounded-sm nt-animate-shimmer"
|
|
9650
|
+
}), null);
|
|
9651
|
+
web.effect((_p$) => {
|
|
9652
|
+
var _v$ = style({
|
|
9653
|
+
key: "preferencesList__skeletonContent",
|
|
9654
|
+
className: "nt-flex nt-flex-col nt-w-full nt-gap-3 nt-py-2"
|
|
9655
|
+
}), _v$2 = style({
|
|
9656
|
+
key: "preferencesList__skeletonItem",
|
|
9657
|
+
className: "nt-flex nt-items-center nt-justify-between"
|
|
9658
|
+
}), _v$3 = style({
|
|
9659
|
+
key: "preferencesList__skeletonItem",
|
|
9660
|
+
className: "nt-flex nt-items-center nt-justify-between"
|
|
9661
|
+
}), _v$4 = style({
|
|
9662
|
+
key: "preferencesList__skeletonItem",
|
|
9663
|
+
className: "nt-flex nt-items-center nt-justify-between"
|
|
9664
|
+
});
|
|
9665
|
+
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
9666
|
+
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
9667
|
+
_v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
|
|
9668
|
+
_v$4 !== _p$.o && web.className(_el$4, _p$.o = _v$4);
|
|
9669
|
+
return _p$;
|
|
9670
|
+
}, {
|
|
9671
|
+
e: void 0,
|
|
9672
|
+
t: void 0,
|
|
9673
|
+
a: void 0,
|
|
9674
|
+
o: void 0
|
|
9675
|
+
});
|
|
9676
|
+
return _el$;
|
|
9677
|
+
})();
|
|
9678
|
+
};
|
|
9679
|
+
|
|
9680
|
+
// src/ui/components/subscription/SubscriptionPreferencesFallback.tsx
|
|
9681
|
+
var _tmpl$93 = /* @__PURE__ */ web.template(`<div><div><span></span><span>`);
|
|
9682
|
+
var SubscriptionPreferencesFallback = (props) => {
|
|
9683
|
+
const style = useStyle();
|
|
9684
|
+
const {
|
|
9685
|
+
t
|
|
9686
|
+
} = useLocalization();
|
|
9687
|
+
return web.createComponent(solidJs.Show, {
|
|
9688
|
+
get when() {
|
|
9689
|
+
return !props.loading;
|
|
9690
|
+
},
|
|
9691
|
+
get fallback() {
|
|
9692
|
+
return web.createComponent(SubscriptionPreferencesListSkeleton, {});
|
|
9693
|
+
},
|
|
9694
|
+
get children() {
|
|
9695
|
+
var _el$ = _tmpl$93(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
|
|
9696
|
+
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
9697
|
+
get when() {
|
|
9698
|
+
var _a;
|
|
9699
|
+
return ((_a = props.subscription) == null ? void 0 : _a.preferences.length) === 0;
|
|
9700
|
+
},
|
|
9701
|
+
get fallback() {
|
|
9702
|
+
return web.createComponent(NotSubscribedState, {});
|
|
9703
|
+
},
|
|
9704
|
+
get children() {
|
|
9705
|
+
return web.createComponent(EmptyState, {});
|
|
9706
|
+
}
|
|
9707
|
+
}), _el$2);
|
|
9708
|
+
web.insert(_el$3, (() => {
|
|
9709
|
+
var _c$ = web.memo(() => {
|
|
9710
|
+
var _a;
|
|
9711
|
+
return ((_a = props.subscription) == null ? void 0 : _a.preferences.length) === 0;
|
|
9712
|
+
});
|
|
9713
|
+
return () => _c$() ? t("subscription.preferences.empty.header") : t("subscription.preferences.notSubscribed.header");
|
|
9714
|
+
})());
|
|
9715
|
+
web.insert(_el$4, (() => {
|
|
9716
|
+
var _c$2 = web.memo(() => {
|
|
9717
|
+
var _a;
|
|
9718
|
+
return ((_a = props.subscription) == null ? void 0 : _a.preferences.length) === 0;
|
|
9719
|
+
});
|
|
9720
|
+
return () => _c$2() ? t("subscription.preferences.empty.description") : t("subscription.preferences.notSubscribed.description");
|
|
9721
|
+
})());
|
|
9722
|
+
web.insert(_el$, web.createComponent(SubscriptionButton, {
|
|
9723
|
+
get subscription() {
|
|
9724
|
+
return props.subscription;
|
|
9725
|
+
},
|
|
9726
|
+
get loading() {
|
|
9727
|
+
return props.loading;
|
|
9728
|
+
},
|
|
9729
|
+
get onClick() {
|
|
9730
|
+
return props.onSubscribeClick;
|
|
9731
|
+
}
|
|
9732
|
+
}), null);
|
|
9733
|
+
web.effect((_p$) => {
|
|
9734
|
+
var _a, _b, _c, _d, _e, _f;
|
|
9735
|
+
var _v$ = style({
|
|
9736
|
+
key: "subscriptionPreferencesFallback",
|
|
9737
|
+
className: "nt-flex nt-flex-col nt-items-center nt-justify-center nt-pt-8 nt-pb-12 nt-gap-6",
|
|
9738
|
+
context: {
|
|
9739
|
+
subscription: (_a = props.subscription) != null ? _a : void 0
|
|
9740
|
+
}
|
|
9741
|
+
}), _v$2 = style({
|
|
9742
|
+
key: "subscriptionPreferencesFallbackTexts",
|
|
9743
|
+
className: "nt-flex nt-flex-col nt-items-center nt-justify-center nt-gap-1",
|
|
9744
|
+
context: {
|
|
9745
|
+
subscription: (_b = props.subscription) != null ? _b : void 0
|
|
9746
|
+
}
|
|
9747
|
+
}), _v$3 = style({
|
|
9748
|
+
key: "subscriptionPreferencesFallbackHeader",
|
|
9749
|
+
className: "nt-text-xs nt-font-medium",
|
|
9750
|
+
context: {
|
|
9751
|
+
subscription: (_c = props.subscription) != null ? _c : void 0
|
|
9752
|
+
}
|
|
9753
|
+
}), _v$4 = ((_d = props.subscription) == null ? void 0 : _d.preferences.length) === 0 ? "subscription.preferences.empty.header" : "subscription.preferences.notSubscribed.header", _v$5 = style({
|
|
9754
|
+
key: "subscriptionPreferencesFallbackDescription",
|
|
9755
|
+
className: "nt-text-xs nt-font-medium nt-text-foreground-alpha-400",
|
|
9756
|
+
context: {
|
|
9757
|
+
subscription: (_e = props.subscription) != null ? _e : void 0
|
|
9758
|
+
}
|
|
9759
|
+
}), _v$6 = ((_f = props.subscription) == null ? void 0 : _f.preferences.length) === 0 ? "subscription.preferences.empty.description" : "subscription.preferences.notSubscribed.description";
|
|
9760
|
+
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
9761
|
+
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
9762
|
+
_v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
|
|
9763
|
+
_v$4 !== _p$.o && web.setAttribute(_el$3, "data-localization", _p$.o = _v$4);
|
|
9764
|
+
_v$5 !== _p$.i && web.className(_el$4, _p$.i = _v$5);
|
|
9765
|
+
_v$6 !== _p$.n && web.setAttribute(_el$4, "data-localization", _p$.n = _v$6);
|
|
9766
|
+
return _p$;
|
|
9767
|
+
}, {
|
|
9768
|
+
e: void 0,
|
|
9769
|
+
t: void 0,
|
|
9770
|
+
a: void 0,
|
|
9771
|
+
o: void 0,
|
|
9772
|
+
i: void 0,
|
|
9773
|
+
n: void 0
|
|
9774
|
+
});
|
|
9775
|
+
return _el$;
|
|
9776
|
+
}
|
|
9777
|
+
});
|
|
9778
|
+
};
|
|
9779
|
+
|
|
9780
|
+
// src/ui/components/subscription/SubscriptionPreferences.tsx
|
|
9781
|
+
var _tmpl$94 = /* @__PURE__ */ web.template(`<div class=nt-max-w-56>`);
|
|
9782
|
+
var _tmpl$228 = /* @__PURE__ */ web.template(`<div><p>`);
|
|
9783
|
+
var _tmpl$317 = /* @__PURE__ */ web.template(`<div>`);
|
|
9784
|
+
var SubscriptionPreferences = (props) => {
|
|
9785
|
+
const style = useStyle();
|
|
9786
|
+
const {
|
|
9787
|
+
isDevelopmentMode
|
|
9788
|
+
} = useInboxContext();
|
|
9789
|
+
const {
|
|
9790
|
+
t
|
|
9791
|
+
} = useLocalization();
|
|
9792
|
+
const groupedPreferences = solidJs.createMemo(() => {
|
|
9793
|
+
var _a, _b, _c;
|
|
9794
|
+
const subscriptionPreferences = (_b = (_a = props.subscription) == null ? void 0 : _a.preferences) != null ? _b : [];
|
|
9795
|
+
return (_c = props.preferences.map((preferenceFilter) => {
|
|
9796
|
+
var _a2;
|
|
9797
|
+
if (typeof preferenceFilter === "string") {
|
|
9798
|
+
const foundPreference = subscriptionPreferences.find((el) => {
|
|
9799
|
+
var _a3, _b2;
|
|
9800
|
+
return ((_a3 = el.workflow) == null ? void 0 : _a3.id) === preferenceFilter || ((_b2 = el.workflow) == null ? void 0 : _b2.identifier) === preferenceFilter;
|
|
9801
|
+
});
|
|
9802
|
+
if (foundPreference) {
|
|
9803
|
+
return {
|
|
9804
|
+
label: foundPreference.workflow.name,
|
|
9805
|
+
preference: foundPreference
|
|
9806
|
+
};
|
|
9807
|
+
}
|
|
9808
|
+
}
|
|
9809
|
+
if (typeof preferenceFilter === "object" && "workflowId" in preferenceFilter) {
|
|
9810
|
+
const foundPreference = subscriptionPreferences.find((pref) => {
|
|
9811
|
+
var _a3, _b2;
|
|
9812
|
+
return ((_a3 = pref.workflow) == null ? void 0 : _a3.id) === preferenceFilter.workflowId || ((_b2 = pref.workflow) == null ? void 0 : _b2.identifier) === preferenceFilter.workflowId;
|
|
9813
|
+
});
|
|
9814
|
+
if (foundPreference) {
|
|
9815
|
+
return {
|
|
9816
|
+
label: (_a2 = preferenceFilter.label) != null ? _a2 : foundPreference.workflow.name,
|
|
9817
|
+
preference: foundPreference
|
|
9818
|
+
};
|
|
9819
|
+
}
|
|
9820
|
+
}
|
|
9821
|
+
if (typeof preferenceFilter === "object" && "filter" in preferenceFilter) {
|
|
9822
|
+
let foundPreferences = [];
|
|
9823
|
+
if (typeof preferenceFilter.filter === "object" && "workflows" in preferenceFilter.filter) {
|
|
9824
|
+
const {
|
|
9825
|
+
workflows
|
|
9826
|
+
} = preferenceFilter.filter;
|
|
9827
|
+
foundPreferences = subscriptionPreferences.filter((pref) => {
|
|
9828
|
+
return workflows == null ? void 0 : workflows.some((workflow) => {
|
|
9829
|
+
var _a3, _b2;
|
|
9830
|
+
return workflow.workflowId === ((_a3 = pref.workflow) == null ? void 0 : _a3.id) || workflow.workflowId === ((_b2 = pref.workflow) == null ? void 0 : _b2.identifier);
|
|
9831
|
+
});
|
|
9832
|
+
}).map((pref) => {
|
|
9833
|
+
var _a3;
|
|
9834
|
+
const workflow = workflows == null ? void 0 : workflows.find((workflow2) => {
|
|
9835
|
+
var _a4, _b2;
|
|
9836
|
+
return workflow2.workflowId === ((_a4 = pref.workflow) == null ? void 0 : _a4.id) || workflow2.workflowId === ((_b2 = pref.workflow) == null ? void 0 : _b2.identifier);
|
|
9837
|
+
});
|
|
9838
|
+
return {
|
|
9839
|
+
label: (_a3 = workflow == null ? void 0 : workflow.label) != null ? _a3 : pref.workflow.name,
|
|
9840
|
+
preference: pref
|
|
9841
|
+
};
|
|
9842
|
+
});
|
|
9843
|
+
} else if (typeof preferenceFilter.filter === "object" && ("workflowIds" in preferenceFilter.filter || "tags" in preferenceFilter.filter)) {
|
|
9844
|
+
const {
|
|
9845
|
+
workflowIds,
|
|
9846
|
+
tags
|
|
9847
|
+
} = preferenceFilter.filter;
|
|
9848
|
+
foundPreferences = subscriptionPreferences.filter((pref) => {
|
|
9849
|
+
var _a3, _b2, _c2, _d;
|
|
9850
|
+
return (workflowIds == null ? void 0 : workflowIds.includes((_b2 = (_a3 = pref.workflow) == null ? void 0 : _a3.id) != null ? _b2 : "")) || (workflowIds == null ? void 0 : workflowIds.includes((_d = (_c2 = pref.workflow) == null ? void 0 : _c2.identifier) != null ? _d : "")) || (tags == null ? void 0 : tags.some((tag) => {
|
|
9851
|
+
var _a4, _b3;
|
|
9852
|
+
return (_b3 = (_a4 = pref.workflow) == null ? void 0 : _a4.tags) == null ? void 0 : _b3.includes(tag);
|
|
9853
|
+
}));
|
|
9854
|
+
}).map((pref) => ({
|
|
9855
|
+
label: pref.workflow.name,
|
|
9856
|
+
preference: pref
|
|
9857
|
+
}));
|
|
9858
|
+
}
|
|
9859
|
+
return {
|
|
9860
|
+
label: preferenceFilter.label,
|
|
9861
|
+
group: foundPreferences
|
|
9862
|
+
};
|
|
9863
|
+
}
|
|
9864
|
+
return void 0;
|
|
9865
|
+
}).filter((el) => el !== void 0)) != null ? _c : [];
|
|
9866
|
+
});
|
|
9867
|
+
solidJs.createEffect(() => {
|
|
9868
|
+
setDynamicLocalization((prev) => {
|
|
9869
|
+
var _a;
|
|
9870
|
+
return chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues({}, prev), (_a = props.subscription) == null ? void 0 : _a.preferences.reduce((acc, preference) => {
|
|
9871
|
+
var _a2, _b;
|
|
9872
|
+
if (((_a2 = preference.workflow) == null ? void 0 : _a2.identifier) && ((_b = preference.workflow) == null ? void 0 : _b.name)) {
|
|
9873
|
+
acc[preference.workflow.identifier] = preference.workflow.name;
|
|
9874
|
+
}
|
|
9875
|
+
return acc;
|
|
9876
|
+
}, {}));
|
|
9877
|
+
});
|
|
9878
|
+
});
|
|
9879
|
+
return (() => {
|
|
9880
|
+
var _el$ = _tmpl$317();
|
|
9881
|
+
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
9882
|
+
get when() {
|
|
9883
|
+
return !props.renderPreferences;
|
|
9884
|
+
},
|
|
9885
|
+
get fallback() {
|
|
9886
|
+
return web.createComponent(ExternalElementRenderer, {
|
|
9887
|
+
render: (el) => {
|
|
9888
|
+
var _a;
|
|
9889
|
+
if (props.renderPreferences) {
|
|
9890
|
+
return props.renderPreferences(el, (_a = props.subscription) != null ? _a : void 0, props.loading);
|
|
9891
|
+
}
|
|
9892
|
+
return () => {
|
|
9893
|
+
};
|
|
9894
|
+
}
|
|
9895
|
+
});
|
|
9896
|
+
},
|
|
9897
|
+
get children() {
|
|
9898
|
+
return [(() => {
|
|
9899
|
+
var _el$2 = _tmpl$228(), _el$3 = _el$2.firstChild;
|
|
9900
|
+
web.insert(_el$3, () => t("subscription.preferences.header"));
|
|
9901
|
+
web.insert(_el$2, web.createComponent(Tooltip.Root, {
|
|
9902
|
+
get children() {
|
|
9903
|
+
return [web.createComponent(Tooltip.Trigger, {
|
|
9904
|
+
get children() {
|
|
9905
|
+
return web.createComponent(IconRenderer, {
|
|
9906
|
+
iconKey: "info",
|
|
9907
|
+
get ["class"]() {
|
|
9908
|
+
var _a;
|
|
9909
|
+
return style({
|
|
9910
|
+
key: "subscriptionPreferencesInfoIcon",
|
|
9911
|
+
className: "nt-text-foreground-alpha-600 nt-size-3.5",
|
|
9912
|
+
context: {
|
|
9913
|
+
subscription: (_a = props.subscription) != null ? _a : void 0
|
|
9914
|
+
}
|
|
9915
|
+
});
|
|
9916
|
+
},
|
|
9917
|
+
fallback: Info
|
|
9918
|
+
});
|
|
9919
|
+
}
|
|
9920
|
+
}), web.createComponent(Tooltip.Content, {
|
|
9921
|
+
"data-localization": "subscription.preferences.headerInfo",
|
|
9922
|
+
get children() {
|
|
9923
|
+
var _el$4 = _tmpl$94();
|
|
9924
|
+
web.insert(_el$4, () => t("subscription.preferences.headerInfo"));
|
|
9925
|
+
return _el$4;
|
|
9926
|
+
}
|
|
9927
|
+
})];
|
|
9928
|
+
}
|
|
9929
|
+
}), null);
|
|
9930
|
+
web.effect((_p$) => {
|
|
9931
|
+
var _a, _b;
|
|
9932
|
+
var _v$ = style({
|
|
9933
|
+
key: "subscriptionPreferencesHeaderContainer",
|
|
9934
|
+
className: "nt-px-3 nt-py-2 nt-border-b nt-border-neutral-alpha-100 nt-flex nt-items-center nt-gap-1",
|
|
9935
|
+
context: {
|
|
9936
|
+
subscription: (_a = props.subscription) != null ? _a : void 0
|
|
9937
|
+
}
|
|
9938
|
+
}), _v$2 = style({
|
|
9939
|
+
key: "subscriptionPreferencesHeader",
|
|
9940
|
+
className: "nt-text-base nt-font-medium",
|
|
9941
|
+
context: {
|
|
9942
|
+
subscription: (_b = props.subscription) != null ? _b : void 0
|
|
9943
|
+
}
|
|
9944
|
+
});
|
|
9945
|
+
_v$ !== _p$.e && web.className(_el$2, _p$.e = _v$);
|
|
9946
|
+
_v$2 !== _p$.t && web.className(_el$3, _p$.t = _v$2);
|
|
9947
|
+
return _p$;
|
|
9948
|
+
}, {
|
|
9949
|
+
e: void 0,
|
|
9950
|
+
t: void 0
|
|
9951
|
+
});
|
|
9952
|
+
return _el$2;
|
|
9953
|
+
})(), (() => {
|
|
9954
|
+
var _el$5 = _tmpl$317();
|
|
9955
|
+
web.insert(_el$5, web.createComponent(solidJs.Show, {
|
|
9956
|
+
get when() {
|
|
9957
|
+
var _a, _b, _c, _d;
|
|
9958
|
+
return !props.loading && ((_b = (_a = props.subscription) == null ? void 0 : _a.preferences) == null ? void 0 : _b.length) && ((_d = (_c = props.subscription) == null ? void 0 : _c.preferences) == null ? void 0 : _d.length) > 0;
|
|
9959
|
+
},
|
|
9960
|
+
get fallback() {
|
|
9961
|
+
return web.createComponent(SubscriptionPreferencesFallback, {
|
|
9962
|
+
get subscription() {
|
|
9963
|
+
var _a;
|
|
9964
|
+
return (_a = props.subscription) != null ? _a : void 0;
|
|
9965
|
+
},
|
|
9966
|
+
get loading() {
|
|
9967
|
+
return props.loading;
|
|
9968
|
+
},
|
|
9969
|
+
get onSubscribeClick() {
|
|
9970
|
+
return props.onSubscribeClick;
|
|
9971
|
+
}
|
|
9972
|
+
});
|
|
9973
|
+
},
|
|
9974
|
+
get children() {
|
|
9975
|
+
var _el$6 = _tmpl$317();
|
|
9976
|
+
web.insert(_el$6, web.createComponent(solidJs.Index, {
|
|
9977
|
+
get each() {
|
|
9978
|
+
return groupedPreferences();
|
|
9979
|
+
},
|
|
9980
|
+
children: (preference) => web.createComponent(solidJs.Show, {
|
|
9981
|
+
get when() {
|
|
9982
|
+
return preference().group;
|
|
9983
|
+
},
|
|
9984
|
+
get fallback() {
|
|
9985
|
+
return web.createComponent(SubscriptionPreferenceRow, {
|
|
9986
|
+
get preference() {
|
|
9987
|
+
return preference();
|
|
9988
|
+
}
|
|
9989
|
+
});
|
|
9990
|
+
},
|
|
9991
|
+
get children() {
|
|
9992
|
+
return web.createComponent(solidJs.Show, {
|
|
9993
|
+
get when() {
|
|
9994
|
+
var _a;
|
|
9995
|
+
return (_a = preference().group) == null ? void 0 : _a.length;
|
|
9996
|
+
},
|
|
9997
|
+
get children() {
|
|
9998
|
+
return web.createComponent(SubscriptionPreferenceGroupRow, {
|
|
9999
|
+
get group() {
|
|
10000
|
+
return preference();
|
|
10001
|
+
},
|
|
10002
|
+
get subscription() {
|
|
10003
|
+
return props.subscription;
|
|
10004
|
+
}
|
|
10005
|
+
});
|
|
10006
|
+
}
|
|
10007
|
+
});
|
|
10008
|
+
}
|
|
10009
|
+
})
|
|
10010
|
+
}));
|
|
10011
|
+
web.effect(() => {
|
|
10012
|
+
var _a;
|
|
10013
|
+
return web.className(_el$6, style({
|
|
10014
|
+
key: "subscriptionPreferencesGroupsContainer",
|
|
10015
|
+
className: "nt-flex nt-flex-col nt-gap-2 nt-p-3 nt-pb-12",
|
|
10016
|
+
context: {
|
|
10017
|
+
subscription: (_a = props.subscription) != null ? _a : void 0
|
|
10018
|
+
}
|
|
10019
|
+
}));
|
|
10020
|
+
});
|
|
10021
|
+
return _el$6;
|
|
10022
|
+
}
|
|
10023
|
+
}));
|
|
10024
|
+
web.effect(() => {
|
|
10025
|
+
var _a;
|
|
10026
|
+
return web.className(_el$5, style({
|
|
10027
|
+
key: "subscriptionPreferencesContent",
|
|
10028
|
+
// the height is set here to ensure that the content is not jumping when the preferences are loaded or when the empty state is shown
|
|
10029
|
+
className: "nt-min-h-[272px]",
|
|
10030
|
+
context: {
|
|
10031
|
+
subscription: (_a = props.subscription) != null ? _a : void 0
|
|
10032
|
+
}
|
|
10033
|
+
}));
|
|
10034
|
+
});
|
|
10035
|
+
return _el$5;
|
|
10036
|
+
})(), web.createComponent(Footer, {
|
|
10037
|
+
name: "Subscriptions"
|
|
10038
|
+
})];
|
|
10039
|
+
}
|
|
10040
|
+
}));
|
|
10041
|
+
web.effect(() => {
|
|
10042
|
+
var _a;
|
|
10043
|
+
return web.className(_el$, style({
|
|
10044
|
+
key: "subscriptionPreferencesContainer",
|
|
10045
|
+
className: cn("nt-w-full nt-h-full nt-flex nt-flex-col [&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8 nt-overflow-x-hidden", {
|
|
10046
|
+
"[&_.nv-preferencesContainer]:nt-pb-12 [&_.nv-notificationList]:nt-pb-12": isDevelopmentMode(),
|
|
10047
|
+
"[&_.nv-preferencesContainer]:nt-pb-8 [&_.nv-notificationList]:nt-pb-8": !isDevelopmentMode()
|
|
10048
|
+
}),
|
|
10049
|
+
context: {
|
|
10050
|
+
subscription: (_a = props.subscription) != null ? _a : void 0
|
|
10051
|
+
}
|
|
10052
|
+
}));
|
|
10053
|
+
});
|
|
10054
|
+
return _el$;
|
|
10055
|
+
})();
|
|
10056
|
+
};
|
|
10057
|
+
|
|
10058
|
+
// src/ui/components/subscription/SubscriptionCog.tsx
|
|
10059
|
+
var ANIMATION_CONFIG = {
|
|
10060
|
+
initial: {
|
|
10061
|
+
opacity: 0,
|
|
10062
|
+
x: 20,
|
|
10063
|
+
width: 0,
|
|
10064
|
+
marginLeft: 0
|
|
10065
|
+
},
|
|
10066
|
+
animate: {
|
|
10067
|
+
opacity: 1,
|
|
10068
|
+
x: 0,
|
|
10069
|
+
width: "auto",
|
|
10070
|
+
marginLeft: "6px"
|
|
10071
|
+
},
|
|
10072
|
+
exit: {
|
|
10073
|
+
opacity: 0,
|
|
10074
|
+
x: 20,
|
|
10075
|
+
width: 0,
|
|
10076
|
+
marginLeft: 0
|
|
10077
|
+
},
|
|
10078
|
+
transition: {
|
|
10079
|
+
duration: 0.3,
|
|
10080
|
+
easing: [0, 0, 0.2, 1]
|
|
10081
|
+
}
|
|
10082
|
+
};
|
|
10083
|
+
var SubscriptionCog = (props) => {
|
|
10084
|
+
const style = useStyle();
|
|
10085
|
+
const subscription = solidJs.createMemo(() => {
|
|
10086
|
+
var _a;
|
|
10087
|
+
return (_a = props.subscription) != null ? _a : void 0;
|
|
10088
|
+
});
|
|
10089
|
+
const hasSubscription = solidJs.createMemo(() => !!subscription());
|
|
10090
|
+
const containerClass = solidJs.createMemo(() => style({
|
|
10091
|
+
key: "subscription__popoverTriggerContainer",
|
|
10092
|
+
className: "nt-h-6",
|
|
10093
|
+
context: {
|
|
10094
|
+
subscription: subscription()
|
|
10095
|
+
}
|
|
10096
|
+
}));
|
|
10097
|
+
const triggerClass = solidJs.createMemo(() => style({
|
|
10098
|
+
key: "subscription__popoverTrigger",
|
|
10099
|
+
className: "nt-p-1 nt-size-6",
|
|
10100
|
+
context: {
|
|
10101
|
+
subscription: subscription()
|
|
10102
|
+
}
|
|
10103
|
+
}));
|
|
10104
|
+
const iconClass = solidJs.createMemo(() => style({
|
|
10105
|
+
key: "subscriptionTriggerIcon",
|
|
10106
|
+
className: "nt-text-foreground-alpha-600 nt-size-3.5",
|
|
10107
|
+
context: {
|
|
10108
|
+
subscription: subscription()
|
|
10109
|
+
}
|
|
10110
|
+
}));
|
|
10111
|
+
const renderTrigger = (triggerProps) => web.createComponent(solidMotionone.Presence, {
|
|
10112
|
+
exitBeforeEnter: true,
|
|
10113
|
+
get children() {
|
|
10114
|
+
return web.createComponent(solidJs.Show, {
|
|
10115
|
+
get when() {
|
|
10116
|
+
return hasSubscription();
|
|
10117
|
+
},
|
|
10118
|
+
get children() {
|
|
10119
|
+
return web.createComponent(solidMotionone.Motion.span, {
|
|
10120
|
+
get initial() {
|
|
10121
|
+
return ANIMATION_CONFIG.initial;
|
|
10122
|
+
},
|
|
10123
|
+
get animate() {
|
|
10124
|
+
return ANIMATION_CONFIG.animate;
|
|
10125
|
+
},
|
|
10126
|
+
get exit() {
|
|
10127
|
+
return ANIMATION_CONFIG.exit;
|
|
10128
|
+
},
|
|
10129
|
+
get transition() {
|
|
10130
|
+
return ANIMATION_CONFIG.transition;
|
|
10131
|
+
},
|
|
10132
|
+
style: {
|
|
10133
|
+
opacity: 1,
|
|
10134
|
+
transform: "translateX(0px)",
|
|
10135
|
+
width: "auto",
|
|
10136
|
+
"margin-left": "6px"
|
|
10137
|
+
},
|
|
10138
|
+
get ["class"]() {
|
|
10139
|
+
return containerClass();
|
|
10140
|
+
},
|
|
10141
|
+
get children() {
|
|
10142
|
+
return web.createComponent(Button, web.mergeProps({
|
|
10143
|
+
get ["class"]() {
|
|
10144
|
+
return triggerClass();
|
|
10145
|
+
},
|
|
10146
|
+
variant: "secondary"
|
|
10147
|
+
}, triggerProps, {
|
|
10148
|
+
get disabled() {
|
|
10149
|
+
return !subscription() || props.loading;
|
|
10150
|
+
},
|
|
10151
|
+
get children() {
|
|
10152
|
+
return web.createComponent(Cogs, {
|
|
10153
|
+
get ["class"]() {
|
|
10154
|
+
return iconClass();
|
|
10155
|
+
}
|
|
10156
|
+
});
|
|
10157
|
+
}
|
|
10158
|
+
}));
|
|
10159
|
+
}
|
|
10160
|
+
});
|
|
10161
|
+
}
|
|
10162
|
+
});
|
|
10163
|
+
}
|
|
10164
|
+
});
|
|
10165
|
+
return web.createComponent(Popover.Root, {
|
|
10166
|
+
get open() {
|
|
10167
|
+
return props.isOpen;
|
|
10168
|
+
},
|
|
10169
|
+
get onOpenChange() {
|
|
10170
|
+
return props.onOpenChange;
|
|
10171
|
+
},
|
|
10172
|
+
get placement() {
|
|
10173
|
+
var _a;
|
|
10174
|
+
return (_a = props.placement) != null ? _a : "bottom-end";
|
|
10175
|
+
},
|
|
10176
|
+
get offset() {
|
|
10177
|
+
return props.placementOffset;
|
|
10178
|
+
},
|
|
10179
|
+
get children() {
|
|
10180
|
+
return [web.createComponent(Popover.Trigger, {
|
|
10181
|
+
asChild: renderTrigger
|
|
10182
|
+
}), web.createComponent(solidJs.Show, {
|
|
10183
|
+
get when() {
|
|
10184
|
+
return subscription();
|
|
10185
|
+
},
|
|
10186
|
+
children: (subscription2) => web.createComponent(Popover.Content, {
|
|
10187
|
+
portal: true,
|
|
10188
|
+
appearanceKey: "subscription__popoverContent",
|
|
10189
|
+
size: "subscription",
|
|
10190
|
+
get context() {
|
|
10191
|
+
return {
|
|
10192
|
+
subscription: subscription2()
|
|
10193
|
+
};
|
|
10194
|
+
},
|
|
10195
|
+
get children() {
|
|
10196
|
+
return web.createComponent(SubscriptionPreferences, {
|
|
10197
|
+
get preferences() {
|
|
10198
|
+
return props.preferences;
|
|
10199
|
+
},
|
|
10200
|
+
get renderPreferences() {
|
|
10201
|
+
return props.renderPreferences;
|
|
10202
|
+
},
|
|
10203
|
+
get subscription() {
|
|
10204
|
+
return subscription2();
|
|
10205
|
+
},
|
|
10206
|
+
get loading() {
|
|
10207
|
+
return props.loading;
|
|
10208
|
+
},
|
|
10209
|
+
get onSubscribeClick() {
|
|
10210
|
+
return props.onSubscribeClick;
|
|
10211
|
+
}
|
|
10212
|
+
});
|
|
10213
|
+
}
|
|
10214
|
+
})
|
|
10215
|
+
})];
|
|
10216
|
+
}
|
|
10217
|
+
});
|
|
10218
|
+
};
|
|
10219
|
+
|
|
10220
|
+
// src/ui/components/subscription/Subscription.tsx
|
|
10221
|
+
var _tmpl$95 = /* @__PURE__ */ web.template(`<div>`);
|
|
10222
|
+
var Subscription = (props) => {
|
|
10223
|
+
const style = useStyle();
|
|
10224
|
+
const {
|
|
10225
|
+
isOpened,
|
|
10226
|
+
setIsOpened
|
|
10227
|
+
} = useInboxContext();
|
|
10228
|
+
const isOpen = () => {
|
|
10229
|
+
var _a;
|
|
10230
|
+
return (_a = props == null ? void 0 : props.open) != null ? _a : isOpened();
|
|
10231
|
+
};
|
|
10232
|
+
const {
|
|
10233
|
+
subscription,
|
|
10234
|
+
loading,
|
|
10235
|
+
create,
|
|
10236
|
+
remove
|
|
10237
|
+
} = useSubscription({
|
|
10238
|
+
topicKey: props.topicKey,
|
|
10239
|
+
identifier: props.identifier
|
|
10240
|
+
});
|
|
10241
|
+
const onSubscribeClick = () => {
|
|
10242
|
+
const currentSubscription = subscription();
|
|
10243
|
+
if (currentSubscription) {
|
|
10244
|
+
remove({
|
|
10245
|
+
subscription: currentSubscription
|
|
10246
|
+
});
|
|
10247
|
+
} else {
|
|
10248
|
+
const preferences = props.preferences.map((preference) => {
|
|
10249
|
+
if (typeof preference === "object" && "workflowId" in preference && preference.workflowId) {
|
|
10250
|
+
return {
|
|
10251
|
+
workflowId: preference.workflowId,
|
|
10252
|
+
enabled: preference.enabled
|
|
10253
|
+
};
|
|
10254
|
+
} else if (typeof preference === "object" && "filter" in preference && preference.filter) {
|
|
10255
|
+
return {
|
|
10256
|
+
filter: preference.filter,
|
|
10257
|
+
enabled: preference.enabled
|
|
10258
|
+
};
|
|
10259
|
+
}
|
|
10260
|
+
return preference;
|
|
10261
|
+
});
|
|
10262
|
+
create({
|
|
10263
|
+
topicKey: props.topicKey,
|
|
10264
|
+
identifier: props.identifier,
|
|
10265
|
+
preferences
|
|
10266
|
+
});
|
|
10267
|
+
}
|
|
10268
|
+
};
|
|
10269
|
+
return (() => {
|
|
10270
|
+
var _el$ = _tmpl$95();
|
|
10271
|
+
web.insert(_el$, web.createComponent(SubscriptionButton, {
|
|
10272
|
+
get subscription() {
|
|
10273
|
+
return subscription();
|
|
10274
|
+
},
|
|
10275
|
+
get loading() {
|
|
10276
|
+
return loading();
|
|
10277
|
+
},
|
|
10278
|
+
onClick: onSubscribeClick
|
|
10279
|
+
}), null);
|
|
10280
|
+
web.insert(_el$, web.createComponent(SubscriptionCog, {
|
|
10281
|
+
get isOpen() {
|
|
10282
|
+
return isOpen();
|
|
10283
|
+
},
|
|
10284
|
+
onOpenChange: setIsOpened,
|
|
10285
|
+
get subscription() {
|
|
10286
|
+
return subscription();
|
|
10287
|
+
},
|
|
10288
|
+
get loading() {
|
|
10289
|
+
return loading();
|
|
10290
|
+
},
|
|
10291
|
+
get placement() {
|
|
10292
|
+
var _a;
|
|
10293
|
+
return (_a = props.placement) != null ? _a : "bottom-end";
|
|
10294
|
+
},
|
|
10295
|
+
get placementOffset() {
|
|
10296
|
+
return props.placementOffset;
|
|
10297
|
+
},
|
|
10298
|
+
get preferences() {
|
|
10299
|
+
return props.preferences;
|
|
10300
|
+
},
|
|
10301
|
+
get renderPreferences() {
|
|
10302
|
+
return props.renderPreferences;
|
|
10303
|
+
},
|
|
10304
|
+
onSubscribeClick
|
|
10305
|
+
}), null);
|
|
10306
|
+
web.effect(() => {
|
|
10307
|
+
var _a;
|
|
10308
|
+
return web.className(_el$, style({
|
|
10309
|
+
key: "subscriptionContainer",
|
|
10310
|
+
className: cn("nt-flex nt-items-center"),
|
|
10311
|
+
context: {
|
|
10312
|
+
subscription: (_a = subscription()) != null ? _a : void 0
|
|
10313
|
+
}
|
|
10314
|
+
}));
|
|
10315
|
+
});
|
|
10316
|
+
return _el$;
|
|
10317
|
+
})();
|
|
10318
|
+
};
|
|
10319
|
+
var SubscriptionButtonWrapper = (props) => {
|
|
10320
|
+
const {
|
|
10321
|
+
subscription,
|
|
10322
|
+
loading,
|
|
10323
|
+
create,
|
|
10324
|
+
remove
|
|
10325
|
+
} = useSubscription({
|
|
10326
|
+
topicKey: props.topicKey,
|
|
10327
|
+
identifier: props.identifier
|
|
10328
|
+
});
|
|
10329
|
+
const onSubscribeClick = () => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
10330
|
+
var _a, _b, _c, _d, _e;
|
|
10331
|
+
const currentSubscription = subscription();
|
|
10332
|
+
(_a = props.onClick) == null ? void 0 : _a.call(props, {
|
|
10333
|
+
subscription: currentSubscription != null ? currentSubscription : void 0
|
|
10334
|
+
});
|
|
10335
|
+
if (currentSubscription) {
|
|
10336
|
+
const {
|
|
10337
|
+
error
|
|
10338
|
+
} = yield remove({
|
|
10339
|
+
subscription: currentSubscription
|
|
10340
|
+
});
|
|
10341
|
+
if (error) {
|
|
10342
|
+
(_b = props.onDeleteError) == null ? void 0 : _b.call(props, error);
|
|
10343
|
+
return;
|
|
10344
|
+
}
|
|
10345
|
+
(_c = props.onDeleteSuccess) == null ? void 0 : _c.call(props);
|
|
10346
|
+
} else {
|
|
10347
|
+
const preferences = props.preferences.map((preference) => {
|
|
10348
|
+
if (typeof preference === "object" && "workflowId" in preference && preference.workflowId) {
|
|
10349
|
+
return {
|
|
10350
|
+
workflowId: preference.workflowId,
|
|
10351
|
+
enabled: preference.enabled
|
|
10352
|
+
};
|
|
10353
|
+
} else if (typeof preference === "object" && "filter" in preference && preference.filter) {
|
|
10354
|
+
return {
|
|
10355
|
+
filter: preference.filter,
|
|
10356
|
+
enabled: preference.enabled
|
|
10357
|
+
};
|
|
10358
|
+
}
|
|
10359
|
+
return preference;
|
|
10360
|
+
});
|
|
10361
|
+
const {
|
|
10362
|
+
data,
|
|
10363
|
+
error
|
|
10364
|
+
} = yield create({
|
|
10365
|
+
topicKey: props.topicKey,
|
|
10366
|
+
identifier: props.identifier,
|
|
10367
|
+
preferences
|
|
10368
|
+
});
|
|
10369
|
+
if (data) {
|
|
10370
|
+
(_d = props.onCreateSuccess) == null ? void 0 : _d.call(props, {
|
|
10371
|
+
subscription: data
|
|
10372
|
+
});
|
|
10373
|
+
return;
|
|
10374
|
+
}
|
|
10375
|
+
(_e = props.onCreateError) == null ? void 0 : _e.call(props, error);
|
|
10376
|
+
}
|
|
10377
|
+
});
|
|
10378
|
+
return web.createComponent(SubscriptionButton, {
|
|
10379
|
+
get subscription() {
|
|
10380
|
+
return subscription();
|
|
10381
|
+
},
|
|
10382
|
+
get loading() {
|
|
10383
|
+
return loading();
|
|
10384
|
+
},
|
|
10385
|
+
onClick: onSubscribeClick
|
|
10386
|
+
});
|
|
10387
|
+
};
|
|
10388
|
+
var SubscriptionPreferencesWrapper = (props) => {
|
|
10389
|
+
const {
|
|
10390
|
+
subscription,
|
|
10391
|
+
loading,
|
|
10392
|
+
create,
|
|
10393
|
+
remove
|
|
10394
|
+
} = useSubscription({
|
|
10395
|
+
topicKey: props.topicKey,
|
|
10396
|
+
identifier: props.identifier
|
|
10397
|
+
});
|
|
10398
|
+
const onSubscribeClick = () => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
10399
|
+
var _a, _b, _c, _d, _e;
|
|
10400
|
+
const currentSubscription = subscription();
|
|
10401
|
+
(_a = props.onClick) == null ? void 0 : _a.call(props, {
|
|
10402
|
+
subscription: currentSubscription != null ? currentSubscription : void 0
|
|
10403
|
+
});
|
|
10404
|
+
if (currentSubscription) {
|
|
10405
|
+
const {
|
|
10406
|
+
error
|
|
10407
|
+
} = yield remove({
|
|
10408
|
+
subscription: currentSubscription
|
|
10409
|
+
});
|
|
10410
|
+
if (error) {
|
|
10411
|
+
(_b = props.onDeleteError) == null ? void 0 : _b.call(props, error);
|
|
10412
|
+
return;
|
|
10413
|
+
}
|
|
10414
|
+
(_c = props.onDeleteSuccess) == null ? void 0 : _c.call(props);
|
|
10415
|
+
} else {
|
|
10416
|
+
const preferences = props.preferences.map((preference) => {
|
|
10417
|
+
if (typeof preference === "object" && "workflowId" in preference && preference.workflowId) {
|
|
10418
|
+
return {
|
|
10419
|
+
workflowId: preference.workflowId,
|
|
10420
|
+
enabled: preference.enabled
|
|
10421
|
+
};
|
|
10422
|
+
} else if (typeof preference === "object" && "filter" in preference && preference.filter) {
|
|
10423
|
+
return {
|
|
10424
|
+
filter: preference.filter,
|
|
10425
|
+
enabled: preference.enabled
|
|
10426
|
+
};
|
|
10427
|
+
}
|
|
10428
|
+
return preference;
|
|
10429
|
+
});
|
|
10430
|
+
const {
|
|
10431
|
+
data,
|
|
10432
|
+
error
|
|
10433
|
+
} = yield create({
|
|
10434
|
+
topicKey: props.topicKey,
|
|
10435
|
+
identifier: props.identifier,
|
|
10436
|
+
preferences
|
|
10437
|
+
});
|
|
10438
|
+
if (data) {
|
|
10439
|
+
(_d = props.onCreateSuccess) == null ? void 0 : _d.call(props, {
|
|
10440
|
+
subscription: data
|
|
10441
|
+
});
|
|
10442
|
+
return;
|
|
10443
|
+
}
|
|
10444
|
+
(_e = props.onCreateError) == null ? void 0 : _e.call(props, error);
|
|
10445
|
+
}
|
|
10446
|
+
});
|
|
10447
|
+
return web.createComponent(SubscriptionPreferences, {
|
|
10448
|
+
get preferences() {
|
|
10449
|
+
return props.preferences;
|
|
10450
|
+
},
|
|
10451
|
+
get subscription() {
|
|
10452
|
+
return subscription();
|
|
10453
|
+
},
|
|
10454
|
+
get loading() {
|
|
10455
|
+
return loading();
|
|
10456
|
+
},
|
|
10457
|
+
onSubscribeClick
|
|
10458
|
+
});
|
|
10459
|
+
};
|
|
10460
|
+
|
|
10461
|
+
// src/ui/components/Renderer.tsx
|
|
10462
|
+
var novuComponents = {
|
|
10463
|
+
Inbox,
|
|
10464
|
+
InboxContent,
|
|
10465
|
+
Bell: Bell2,
|
|
10466
|
+
Notifications: (props) => {
|
|
10467
|
+
if (props.renderNotification) {
|
|
10468
|
+
const _a = props, otherProps = chunk7B52C2XE_js.__objRest(_a, [
|
|
10469
|
+
"renderBody",
|
|
10470
|
+
"renderSubject",
|
|
10471
|
+
"renderAvatar",
|
|
10472
|
+
"renderDefaultActions",
|
|
10473
|
+
"renderCustomActions"
|
|
10474
|
+
]);
|
|
10475
|
+
return web.createComponent(InboxContent, web.mergeProps(otherProps, {
|
|
10476
|
+
hideNav: true,
|
|
10477
|
+
get initialPage() {
|
|
10478
|
+
return InboxPage.Notifications;
|
|
10479
|
+
}
|
|
10480
|
+
}));
|
|
10481
|
+
}
|
|
10482
|
+
const _b = props, propsWithoutRenderNotification = chunk7B52C2XE_js.__objRest(_b, [
|
|
10483
|
+
"renderNotification"
|
|
10484
|
+
]);
|
|
10485
|
+
return web.createComponent(InboxContent, web.mergeProps(propsWithoutRenderNotification, {
|
|
10486
|
+
hideNav: true,
|
|
10487
|
+
get initialPage() {
|
|
10488
|
+
return InboxPage.Notifications;
|
|
10489
|
+
}
|
|
10490
|
+
}));
|
|
10491
|
+
},
|
|
10492
|
+
Preferences: (props) => {
|
|
10493
|
+
if (props.renderNotification) {
|
|
10494
|
+
const _a = props, otherProps = chunk7B52C2XE_js.__objRest(_a, [
|
|
10495
|
+
"renderBody",
|
|
10496
|
+
"renderSubject",
|
|
10497
|
+
"renderAvatar",
|
|
10498
|
+
"renderDefaultActions",
|
|
10499
|
+
"renderCustomActions"
|
|
10500
|
+
]);
|
|
10501
|
+
return web.createComponent(InboxContent, web.mergeProps(otherProps, {
|
|
10502
|
+
hideNav: true,
|
|
10503
|
+
get initialPage() {
|
|
10504
|
+
return InboxPage.Preferences;
|
|
10505
|
+
}
|
|
10506
|
+
}));
|
|
10507
|
+
}
|
|
10508
|
+
const _b = props, propsWithoutRenderNotification = chunk7B52C2XE_js.__objRest(_b, [
|
|
10509
|
+
"renderNotification"
|
|
10510
|
+
]);
|
|
10511
|
+
return web.createComponent(InboxContent, web.mergeProps(propsWithoutRenderNotification, {
|
|
10512
|
+
hideNav: true,
|
|
10513
|
+
get initialPage() {
|
|
10514
|
+
return InboxPage.Preferences;
|
|
10515
|
+
}
|
|
10516
|
+
}));
|
|
10517
|
+
},
|
|
10518
|
+
Subscription,
|
|
10519
|
+
SubscriptionButton: SubscriptionButtonWrapper,
|
|
10520
|
+
SubscriptionPreferences: SubscriptionPreferencesWrapper
|
|
10521
|
+
};
|
|
10522
|
+
var SUBSCRIPTION_COMPONENTS = ["Subscription", "SubscriptionButton", "SubscriptionPreferences"];
|
|
10523
|
+
var Renderer = (props) => {
|
|
10524
|
+
const nodes = () => [...props.nodes.keys()];
|
|
10525
|
+
solidJs.onMount(() => {
|
|
10526
|
+
var _a;
|
|
10527
|
+
const id = NOVU_DEFAULT_CSS_ID;
|
|
10528
|
+
const root = props.container instanceof ShadowRoot ? props.container : document;
|
|
10529
|
+
const el = root.getElementById(id);
|
|
10530
|
+
if (el) {
|
|
10531
|
+
return;
|
|
10532
|
+
}
|
|
10533
|
+
const styleEl = document.createElement("style");
|
|
10534
|
+
styleEl.id = id;
|
|
10535
|
+
styleEl.innerHTML = ui_default;
|
|
10536
|
+
const stylesContainer = (_a = props.container) != null ? _a : document.head;
|
|
10537
|
+
stylesContainer.insertBefore(styleEl, stylesContainer.firstChild);
|
|
10538
|
+
solidJs.onCleanup(() => {
|
|
10539
|
+
styleEl.remove();
|
|
10540
|
+
});
|
|
10541
|
+
});
|
|
10542
|
+
return web.createComponent(NovuProvider, {
|
|
10543
|
+
get options() {
|
|
10544
|
+
return props.options;
|
|
10545
|
+
},
|
|
10546
|
+
get novu() {
|
|
10547
|
+
return props.novu;
|
|
10548
|
+
},
|
|
10549
|
+
get children() {
|
|
10550
|
+
return web.createComponent(LocalizationProvider, {
|
|
10551
|
+
get localization() {
|
|
10552
|
+
return props.localization;
|
|
10553
|
+
},
|
|
10554
|
+
get children() {
|
|
9062
10555
|
return web.createComponent(AppearanceProvider, {
|
|
9063
10556
|
get id() {
|
|
9064
10557
|
return props.novuUI.id;
|
|
@@ -9093,34 +10586,60 @@ var Renderer = (props) => {
|
|
|
9093
10586
|
return props.routerPush;
|
|
9094
10587
|
},
|
|
9095
10588
|
get children() {
|
|
9096
|
-
return web.createComponent(
|
|
9097
|
-
get
|
|
9098
|
-
return
|
|
9099
|
-
|
|
9100
|
-
|
|
9101
|
-
|
|
9102
|
-
|
|
9103
|
-
|
|
9104
|
-
|
|
9105
|
-
|
|
9106
|
-
|
|
9107
|
-
|
|
9108
|
-
|
|
9109
|
-
|
|
9110
|
-
|
|
9111
|
-
|
|
9112
|
-
|
|
10589
|
+
return web.createComponent(solidJs.For, {
|
|
10590
|
+
get each() {
|
|
10591
|
+
return nodes();
|
|
10592
|
+
},
|
|
10593
|
+
children: (node) => {
|
|
10594
|
+
const novuComponent = () => props.nodes.get(node);
|
|
10595
|
+
let portalDivElement;
|
|
10596
|
+
const Component = novuComponents[novuComponent().name];
|
|
10597
|
+
solidJs.onMount(() => {
|
|
10598
|
+
if (!["Notifications", "Preferences", "InboxContent"].includes(novuComponent().name)) return;
|
|
10599
|
+
if (node instanceof HTMLElement) {
|
|
10600
|
+
node.style.height = "100%";
|
|
10601
|
+
}
|
|
10602
|
+
if (portalDivElement) {
|
|
10603
|
+
portalDivElement.style.height = "100%";
|
|
10604
|
+
}
|
|
10605
|
+
});
|
|
10606
|
+
return web.createComponent(solidJs.Switch, {
|
|
10607
|
+
get fallback() {
|
|
10608
|
+
return web.createComponent(CountProvider, {
|
|
10609
|
+
get children() {
|
|
10610
|
+
return web.createComponent(web.Portal, {
|
|
10611
|
+
mount: node,
|
|
10612
|
+
ref: (el) => {
|
|
10613
|
+
portalDivElement = el;
|
|
10614
|
+
},
|
|
10615
|
+
get children() {
|
|
10616
|
+
return web.createComponent(Root, {
|
|
10617
|
+
get children() {
|
|
10618
|
+
return web.createComponent(Component, web.mergeProps(() => novuComponent().props));
|
|
10619
|
+
}
|
|
10620
|
+
});
|
|
10621
|
+
}
|
|
10622
|
+
});
|
|
9113
10623
|
}
|
|
9114
10624
|
});
|
|
9115
|
-
|
|
9116
|
-
|
|
9117
|
-
|
|
9118
|
-
|
|
10625
|
+
},
|
|
10626
|
+
get children() {
|
|
10627
|
+
return web.createComponent(solidJs.Match, {
|
|
10628
|
+
get when() {
|
|
10629
|
+
return SUBSCRIPTION_COMPONENTS.includes(novuComponent().name);
|
|
9119
10630
|
},
|
|
9120
10631
|
get children() {
|
|
9121
|
-
return web.createComponent(
|
|
10632
|
+
return web.createComponent(web.Portal, {
|
|
10633
|
+
mount: node,
|
|
10634
|
+
ref: (el) => {
|
|
10635
|
+
portalDivElement = el;
|
|
10636
|
+
},
|
|
9122
10637
|
get children() {
|
|
9123
|
-
return web.createComponent(
|
|
10638
|
+
return web.createComponent(Root, {
|
|
10639
|
+
get children() {
|
|
10640
|
+
return web.createComponent(Component, web.mergeProps(() => novuComponent().props));
|
|
10641
|
+
}
|
|
10642
|
+
});
|
|
9124
10643
|
}
|
|
9125
10644
|
});
|
|
9126
10645
|
}
|
|
@@ -9142,7 +10661,7 @@ var Renderer = (props) => {
|
|
|
9142
10661
|
};
|
|
9143
10662
|
|
|
9144
10663
|
// src/ui/novuUI.tsx
|
|
9145
|
-
var _dispose, _container, _setContainer, _rootElement, _mountedElements, _setMountedElements, _appearance, _setAppearance, _localization, _setLocalization, _options, _setOptions, _tabs, _setTabs, _routerPush, _setRouterPush, _preferencesFilter, _setPreferencesFilter, _preferenceGroups, _setPreferenceGroups, _preferencesSort, _setPreferencesSort,
|
|
10664
|
+
var _dispose, _container, _setContainer, _rootElement, _mountedElements, _setMountedElements, _appearance, _setAppearance, _localization, _setLocalization, _options, _setOptions, _tabs, _setTabs, _routerPush, _setRouterPush, _preferencesFilter, _setPreferencesFilter, _preferenceGroups, _setPreferenceGroups, _preferencesSort, _setPreferencesSort, _novu, _setNovu, _NovuUI_instances, getContainerElement_fn, mountComponentRenderer_fn, updateComponentProps_fn;
|
|
9146
10665
|
var NovuUI = class {
|
|
9147
10666
|
constructor(props) {
|
|
9148
10667
|
chunk7B52C2XE_js.__privateAdd(this, _NovuUI_instances);
|
|
@@ -9168,7 +10687,8 @@ var NovuUI = class {
|
|
|
9168
10687
|
chunk7B52C2XE_js.__privateAdd(this, _setPreferenceGroups);
|
|
9169
10688
|
chunk7B52C2XE_js.__privateAdd(this, _preferencesSort);
|
|
9170
10689
|
chunk7B52C2XE_js.__privateAdd(this, _setPreferencesSort);
|
|
9171
|
-
chunk7B52C2XE_js.__privateAdd(this,
|
|
10690
|
+
chunk7B52C2XE_js.__privateAdd(this, _novu);
|
|
10691
|
+
chunk7B52C2XE_js.__privateAdd(this, _setNovu);
|
|
9172
10692
|
var _a;
|
|
9173
10693
|
this.id = generateRandomString(16);
|
|
9174
10694
|
const [appearance, setAppearance] = solidJs.createSignal(props.appearance);
|
|
@@ -9181,6 +10701,7 @@ var NovuUI = class {
|
|
|
9181
10701
|
const [preferencesSort, setPreferencesSort] = solidJs.createSignal(props.preferencesSort);
|
|
9182
10702
|
const [routerPush, setRouterPush] = solidJs.createSignal(props.routerPush);
|
|
9183
10703
|
const [container, setContainer] = solidJs.createSignal(chunk7B52C2XE_js.__privateMethod(this, _NovuUI_instances, getContainerElement_fn).call(this, props.container));
|
|
10704
|
+
const [novu, setNovu] = solidJs.createSignal(props.novu);
|
|
9184
10705
|
chunk7B52C2XE_js.__privateSet(this, _mountedElements, mountedElements);
|
|
9185
10706
|
chunk7B52C2XE_js.__privateSet(this, _setMountedElements, setMountedElements);
|
|
9186
10707
|
chunk7B52C2XE_js.__privateSet(this, _appearance, appearance);
|
|
@@ -9193,7 +10714,8 @@ var NovuUI = class {
|
|
|
9193
10714
|
chunk7B52C2XE_js.__privateSet(this, _setTabs, setTabs);
|
|
9194
10715
|
chunk7B52C2XE_js.__privateSet(this, _routerPush, routerPush);
|
|
9195
10716
|
chunk7B52C2XE_js.__privateSet(this, _setRouterPush, setRouterPush);
|
|
9196
|
-
chunk7B52C2XE_js.__privateSet(this,
|
|
10717
|
+
chunk7B52C2XE_js.__privateSet(this, _novu, novu);
|
|
10718
|
+
chunk7B52C2XE_js.__privateSet(this, _setNovu, setNovu);
|
|
9197
10719
|
chunk7B52C2XE_js.__privateSet(this, _preferencesFilter, preferencesFilter);
|
|
9198
10720
|
chunk7B52C2XE_js.__privateSet(this, _setPreferencesFilter, setPreferencesFilter);
|
|
9199
10721
|
chunk7B52C2XE_js.__privateSet(this, _preferenceGroups, preferenceGroups);
|
|
@@ -9228,6 +10750,9 @@ var NovuUI = class {
|
|
|
9228
10750
|
return newMountedElements;
|
|
9229
10751
|
});
|
|
9230
10752
|
}
|
|
10753
|
+
updateNovu(novu) {
|
|
10754
|
+
chunk7B52C2XE_js.__privateGet(this, _setNovu).call(this, novu);
|
|
10755
|
+
}
|
|
9231
10756
|
updateAppearance(appearance) {
|
|
9232
10757
|
chunk7B52C2XE_js.__privateGet(this, _setAppearance).call(this, appearance);
|
|
9233
10758
|
}
|
|
@@ -9284,7 +10809,8 @@ _preferenceGroups = new WeakMap();
|
|
|
9284
10809
|
_setPreferenceGroups = new WeakMap();
|
|
9285
10810
|
_preferencesSort = new WeakMap();
|
|
9286
10811
|
_setPreferencesSort = new WeakMap();
|
|
9287
|
-
|
|
10812
|
+
_novu = new WeakMap();
|
|
10813
|
+
_setNovu = new WeakMap();
|
|
9288
10814
|
_NovuUI_instances = new WeakSet();
|
|
9289
10815
|
getContainerElement_fn = function(container) {
|
|
9290
10816
|
var _a;
|
|
@@ -9345,7 +10871,7 @@ mountComponentRenderer_fn = function() {
|
|
|
9345
10871
|
return chunk7B52C2XE_js.__privateGet(_a = _self$, _routerPush).call(_a);
|
|
9346
10872
|
},
|
|
9347
10873
|
get novu() {
|
|
9348
|
-
return chunk7B52C2XE_js.__privateGet(_self$,
|
|
10874
|
+
return chunk7B52C2XE_js.__privateGet(_self$, _novu);
|
|
9349
10875
|
},
|
|
9350
10876
|
get container() {
|
|
9351
10877
|
var _a;
|
|
@@ -9368,5 +10894,4 @@ updateComponentProps_fn = function(element, props) {
|
|
|
9368
10894
|
});
|
|
9369
10895
|
};
|
|
9370
10896
|
|
|
9371
|
-
exports.NotificationStatus = NotificationStatus;
|
|
9372
10897
|
exports.NovuUI = NovuUI;
|