nextclaw 0.9.7 → 0.9.9
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/cli/index.js +14 -11
- package/package.json +4 -3
- package/ui-dist/assets/ChannelsList-CrQ3OXby.js +1 -0
- package/ui-dist/assets/ChatPage-Def8_fbf.js +34 -0
- package/ui-dist/assets/{DocBrowser-CkDugJv3.js → DocBrowser-Dg-b4Atq.js} +1 -1
- package/ui-dist/assets/LogoBadge-uiBOKAEe.js +1 -0
- package/ui-dist/assets/{MarketplacePage-Cxt223yL.js → MarketplacePage-BwMsA6VY.js} +1 -1
- package/ui-dist/assets/{ModelConfig-BRRJU2mk.js → ModelConfig-DVsQVvIt.js} +1 -1
- package/ui-dist/assets/ProvidersList-BSJGEhJe.js +1 -0
- package/ui-dist/assets/{RuntimeConfig-C0wurlgT.js → RuntimeConfig-CZpxTqCn.js} +1 -1
- package/ui-dist/assets/{SecretsConfig-C_3yJm1I.js → SecretsConfig-BLZW7-5k.js} +2 -2
- package/ui-dist/assets/SessionsConfig-H_gq5Wtk.js +2 -0
- package/ui-dist/assets/{card-sDEXo_R4.js → card-BoxPL3fs.js} +1 -1
- package/ui-dist/assets/index-Cwtv_w6q.js +2 -0
- package/ui-dist/assets/index-DcxYzrFm.css +1 -0
- package/ui-dist/assets/{label-DhIqXnKx.js → label-BdIFsV9G.js} +1 -1
- package/ui-dist/assets/{page-layout-CC6kzYFp.js → page-layout-BdhEwv_X.js} +1 -1
- package/ui-dist/assets/session-run-status-DJ7s-TnE.js +5 -0
- package/ui-dist/assets/{switch-DFPJEEVz.js → switch-DD9iXp2E.js} +1 -1
- package/ui-dist/assets/{tabs-custom-C_1pBckQ.js → tabs-custom-DPMQcAvE.js} +1 -1
- package/ui-dist/assets/useConfig-BiE7PGOv.js +6 -0
- package/ui-dist/assets/{useConfirmDialog-BNkeOTcY.js → useConfirmDialog-D0WoeDcH.js} +1 -1
- package/ui-dist/assets/{vendor-Dj2ULvht.js → vendor-CzIVZvq9.js} +1 -1
- package/ui-dist/index.html +3 -3
- package/ui-dist/assets/ChannelsList-DiX7ssoj.js +0 -1
- package/ui-dist/assets/ChatPage-CEEbtfae.js +0 -34
- package/ui-dist/assets/ProvidersList-Bl-OMAwu.js +0 -1
- package/ui-dist/assets/SessionsConfig-D13xFf5J.js +0 -2
- package/ui-dist/assets/chat-message-pw9oafI4.js +0 -5
- package/ui-dist/assets/index-6azf0otP.css +0 -1
- package/ui-dist/assets/index-DP9xXu9V.js +0 -2
- package/ui-dist/assets/logos-B9Qiy9wo.js +0 -1
- package/ui-dist/assets/useConfig-q7QqH3JB.js +0 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,:before,:after{--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: rgb(59 130 246 / .5);--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: }::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: rgb(59 130 246 / .5);--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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:hsl(var(--gray-200))}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:hsl(var(--gray-400))}input::placeholder,textarea::placeholder{opacity:1;color:hsl(var(--gray-400))}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--brand-50: 94 20% 95%;--brand-100: 94 20% 90%;--brand-200: 94 18% 80%;--brand-300: 94 16% 65%;--brand-400: 94 16% 50%;--brand-500: 94 13% 37%;--brand-600: 94 13% 30%;--brand-700: 94 15% 25%;--brand-800: 94 20% 18%;--brand-900: 94 25% 12%;--gray-50: 45 25% 97%;--gray-100: 45 14% 94%;--gray-200: 45 14% 88%;--gray-300: 45 10% 80%;--gray-400: 45 10% 60%;--gray-500: 45 10% 50%;--gray-600: 45 3% 39%;--gray-700: 45 5% 25%;--gray-800: 45 5% 20%;--gray-900: 45 5% 12%;--background: var(--gray-50);--background-secondary: var(--gray-100);--background-tertiary: var(--gray-200);--foreground: var(--gray-800);--foreground-secondary: var(--gray-700);--foreground-tertiary: var(--gray-500);--foreground-muted: var(--gray-400);--primary: var(--brand-500);--primary-hover: var(--brand-600);--primary-active: var(--brand-700);--primary-foreground: 0 0% 100%;--secondary: var(--gray-100);--secondary-hover: var(--gray-200);--secondary-foreground: var(--gray-800);--accent: var(--brand-50);--accent-foreground: var(--brand-700);--muted: var(--gray-100);--muted-foreground: var(--gray-500);--destructive: 0 84% 60%;--destructive-foreground: 0 0% 98%;--success: 142 76% 36%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 100%;--card: 0 0% 100%;--card-foreground: var(--gray-800);--card-border: var(--gray-200);--popover: 0 0% 100%;--popover-foreground: var(--gray-800);--border: var(--gray-200);--border-hover: var(--gray-300);--border-active: var(--brand-500);--input: 0 0% 100%;--input-border: var(--gray-200);--input-focus: var(--brand-500);--ring: var(--brand-500);--ring-offset: var(--gray-50);--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgb(30 20 10 / .04);--shadow-sm: 0 1px 3px 0 rgb(30 20 10 / .06), 0 1px 2px -1px rgb(30 20 10 / .04);--shadow-md: 0 4px 6px -1px rgb(30 20 10 / .06), 0 2px 4px -2px rgb(30 20 10 / .04);--shadow-lg: 0 10px 15px -3px rgb(30 20 10 / .06), 0 4px 6px -4px rgb(30 20 10 / .04);--shadow-xl: 0 20px 25px -5px rgb(30 20 10 / .08), 0 8px 10px -6px rgb(30 20 10 / .04);--shadow-2xl: 0 25px 50px -12px rgb(30 20 10 / .15);--shadow-card: 0 0 8px 0 rgba(0, 0, 0, .04);--shadow-card-hover: 0 0 16px 0 rgba(0, 0, 0, .06);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--text-5xl: 48px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}:root[data-theme=cool]{--brand-50: 214 100% 97%;--brand-100: 214 95% 93%;--brand-200: 213 97% 87%;--brand-300: 212 96% 78%;--brand-400: 213 94% 68%;--brand-500: 217 91% 60%;--brand-600: 221 83% 53%;--brand-700: 224 76% 48%;--brand-800: 226 71% 40%;--brand-900: 224 64% 33%;--gray-50: 210 20% 98%;--gray-100: 220 14% 96%;--gray-200: 220 13% 91%;--gray-300: 216 12% 84%;--gray-400: 218 11% 65%;--gray-500: 220 9% 46%;--gray-600: 215 14% 34%;--gray-700: 217 19% 27%;--gray-800: 220 26% 18%;--gray-900: 224 39% 11%;--background: var(--gray-50);--background-secondary: var(--gray-100);--background-tertiary: var(--gray-200);--foreground: var(--gray-800);--foreground-secondary: var(--gray-700);--foreground-tertiary: var(--gray-500);--foreground-muted: var(--gray-400);--primary: var(--brand-500);--primary-hover: var(--brand-600);--primary-active: var(--brand-700);--secondary: var(--gray-100);--secondary-hover: var(--gray-200);--secondary-foreground: var(--gray-800);--accent: var(--brand-50);--accent-foreground: var(--brand-700);--muted: var(--gray-100);--muted-foreground: var(--gray-500);--card: 0 0% 100%;--card-foreground: var(--gray-800);--card-border: var(--gray-200);--popover: 0 0% 100%;--popover-foreground: var(--gray-800);--border: var(--gray-200);--border-hover: var(--gray-300);--border-active: var(--brand-500);--input: 0 0% 100%;--input-border: var(--gray-200);--input-focus: var(--brand-500);--ring: var(--brand-500);--ring-offset: var(--gray-50);--shadow-xs: 0 1px 2px 0 rgb(15 23 42 / .04);--shadow-sm: 0 1px 3px 0 rgb(15 23 42 / .06), 0 1px 2px -1px rgb(15 23 42 / .04);--shadow-md: 0 4px 6px -1px rgb(15 23 42 / .06), 0 2px 4px -2px rgb(15 23 42 / .04);--shadow-lg: 0 10px 15px -3px rgb(15 23 42 / .06), 0 4px 6px -4px rgb(15 23 42 / .04);--shadow-xl: 0 20px 25px -5px rgb(15 23 42 / .08), 0 8px 10px -6px rgb(15 23 42 / .04);--shadow-2xl: 0 25px 50px -12px rgb(15 23 42 / .14)}:root{--radius: .75rem}*{border-color:hsl(var(--border))}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);overflow:hidden}*{scrollbar-width:thin;scrollbar-color:hsl(var(--gray-300)) transparent}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[var\(--z-popover\,50\)\]{z-index:var(--z-popover,50)}.z-\[var\(--z-tooltip\)\]{z-index:var(--z-tooltip)}.m-2{margin:.5rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[17px\]{height:17px}.h-\[180px\]{height:180px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[2px\]{height:2px}.h-\[calc\(100vh-80px\)\]{height:calc(100vh - 80px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-60{max-height:15rem}.max-h-96{max-height:24rem}.max-h-\[220px\]{max-height:220px}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:0px}.min-h-\[120px\]{min-height:120px}.min-h-\[220px\]{min-height:220px}.min-h-\[42px\]{min-height:42px}.min-h-\[520px\]{min-height:520px}.min-h-\[68px\]{min-height:68px}.min-h-\[84px\]{min-height:84px}.w-1\.5{width:.375rem}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[17px\]{width:17px}.w-\[240px\]{width:240px}.w-\[280px\]{width:280px}.w-\[320px\]{width:320px}.w-\[360px\]{width:360px}.w-\[62\%\]{width:62%}.w-\[78\%\]{width:78%}.w-\[84\%\]{width:84%}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-20{min-width:5rem}.min-w-\[100px\]{min-width:100px}.min-w-\[180px\]{min-width:180px}.min-w-\[18px\]{min-width:18px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.min-w-\[56px\]{min-width:56px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-\[100px\]{max-width:100px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[400px\]{max-width:400px}.max-w-\[420px\]{max-width:420px}.max-w-\[85\%\]{max-width:85%}.max-w-\[92\%\]{max-width:92%}.max-w-\[min\(1120px\,100\%\)\]{max-width:min(1120px,100%)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-3{--tw-rotate: -3deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-3{--tw-rotate: 3deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-45deg\]{--tw-rotate: -45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.animate-slide-in{animation:slideIn .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.cursor-se-resize{cursor:se-resize}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[minmax\(0\,1fr\)_0\.875rem\]{grid-template-columns:minmax(0,1fr) .875rem}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-3xl{border-radius:1.5rem}.rounded-\[1\.25rem\]{border-radius:1.25rem}.rounded-\[14px\]{border-radius:14px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-tr-sm{border-top-right-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#dde0ea\]{--tw-border-opacity: 1;border-color:rgb(221 224 234 / var(--tw-border-opacity, 1))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-200\/70{border-color:#fde68ab3}.border-amber-200\/80{border-color:#fde68acc}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-gray-100{border-color:hsl(var(--gray-100))}.border-gray-100\/50{border-color:hsl(var(--gray-100) / .5)}.border-gray-200{border-color:hsl(var(--gray-200))}.border-gray-200\/40{border-color:hsl(var(--gray-200) / .4)}.border-gray-200\/50{border-color:hsl(var(--gray-200) / .5)}.border-gray-200\/60{border-color:hsl(var(--gray-200) / .6)}.border-gray-200\/70{border-color:hsl(var(--gray-200) / .7)}.border-gray-200\/80{border-color:hsl(var(--gray-200) / .8)}.border-gray-300{border-color:hsl(var(--gray-300))}.border-orange-200\/80{border-color:#fed7aacc}.border-primary{border-color:hsl(var(--primary))}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity, 1))}.border-rose-100{--tw-border-opacity: 1;border-color:rgb(255 228 230 / var(--tw-border-opacity, 1))}.border-rose-200{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-100\/40{background-color:#fef3c766}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-50\/50{background-color:#fffbeb80}.bg-amber-50\/60{background-color:#fffbeb99}.bg-amber-50\/70{background-color:#fffbebb3}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-black\/40{background-color:#0006}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-card\/40{background-color:hsl(var(--card) / .4)}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-gray-100\/80{background-color:hsl(var(--gray-100) / .8)}.bg-gray-200{background-color:hsl(var(--gray-200))}.bg-gray-200\/80{background-color:hsl(var(--gray-200) / .8)}.bg-gray-300{background-color:hsl(var(--gray-300))}.bg-gray-50\/50{background-color:hsl(var(--gray-50) / .5)}.bg-gray-50\/70{background-color:hsl(var(--gray-50) / .7)}.bg-muted{background-color:hsl(var(--muted))}.bg-orange-50\/70{background-color:#fff7edb3}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-50\/40{background-color:hsl(var(--brand-50) / .4)}.bg-primary-50\/50{background-color:hsl(var(--brand-50) / .5)}.bg-primary-700\/60{background-color:hsl(var(--brand-700) / .6)}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-rose-500{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-stone-600{--tw-bg-opacity: 1;background-color:rgb(87 83 78 / var(--tw-bg-opacity, 1))}.bg-teal-600{--tw-bg-opacity: 1;background-color:rgb(13 148 136 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-violet-500{--tw-bg-opacity: 1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-yellow-600{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.from-gray-50\/60{--tw-gradient-from: hsl(var(--gray-50) / .6) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--gray-50) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.to-white\/10{--tw-gradient-to: rgb(255 255 255 / .1) var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-10{padding-bottom:2.5rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pl-2{padding-left:.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[28px\]{font-size:28px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-700\/80{color:#b45309cc}.text-amber-700\/90{color:#b45309e6}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-800\/90{color:#92400ee6}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-amber-900\/80{color:#78350fcc}.text-amber-900\/90{color:#78350fe6}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-gray-300{color:hsl(var(--gray-300))}.text-gray-400{color:hsl(var(--gray-400))}.text-gray-500\/90{color:hsl(var(--gray-500) / .9)}.text-gray-700{color:hsl(var(--gray-700))}.text-gray-800{color:hsl(var(--gray-800))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-100{color:hsl(var(--brand-100))}.text-primary-200{color:hsl(var(--brand-200))}.text-primary-300{color:hsl(var(--brand-300))}.text-primary-50{color:hsl(var(--brand-50))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-rose-500{--tw-text-opacity: 1;color:rgb(244 63 94 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.mix-blend-multiply{mix-blend-mode:multiply}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--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)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.02\)\]{--tw-shadow: 0 1px 2px rgba(0,0,0,.02);--tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_2px_8px_-2px_rgba\(0\,0\,0\,0\.02\)\]{--tw-shadow: 0 2px 8px -2px rgba(0,0,0,.02);--tw-shadow-colored: 0 2px 8px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-card{--tw-shadow: var(--shadow-card);--tw-shadow-colored: var(--shadow-card);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 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)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-card{--tw-shadow-color: hsl(var(--card));--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--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(0px + 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)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.ring-offset-white{--tw-ring-offset-color: #fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-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)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200,.duration-base{transition-duration:.2s}.duration-fast{transition-duration:.15s}.duration-slow{transition-duration:.3s}@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))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-150{animation-duration:.15s}.duration-200,.duration-base{animation-duration:.2s}.duration-fast{animation-duration:.15s}.duration-slow{animation-duration:.3s}.running{animation-play-state:running}.bg-brand-50{background-color:hsl(var(--brand-50))}.text-brand-600{color:hsl(var(--brand-600))}.bg-gray-50{background-color:hsl(var(--gray-50))}.bg-gray-100{background-color:hsl(var(--gray-100))}.text-gray-500{color:hsl(var(--gray-500))}.text-gray-600{color:hsl(var(--gray-600))}.text-gray-900{color:hsl(var(--gray-900))}.shadow-card{box-shadow:var(--shadow-card)}.custom-scrollbar::-webkit-scrollbar{width:5px;height:5px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:hsl(var(--gray-300));border-radius:6px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:hsl(var(--gray-400))}.shadow-card{box-shadow:0 1px 3px -1px #1e140a08,0 1px 2px -1px #1e140a05}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.85}}.animate-fade-in{animation:fadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-in{animation:slideIn .3s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-in{animation:scaleIn .3s cubic-bezier(.16,1,.3,1) forwards}.animate-pulse-soft{animation:pulse-soft 3s ease-in-out infinite}.chat-markdown{--md-text: #0f172a;--md-muted: #334155;--md-border: rgba(148, 163, 184, .34);--md-link: hsl(var(--primary));--md-inline-code-bg: rgba(15, 23, 42, .08);--md-inline-code-color: #1e293b;--md-blockquote-border: rgba(14, 165, 233, .45);--md-blockquote-bg: rgba(14, 165, 233, .08);--md-code-surface: #0b1220;--md-code-toolbar-bg: rgba(15, 23, 42, .56);--md-code-toolbar-border: rgba(148, 163, 184, .3);--md-code-text: #e5e7eb;--md-table-head-bg: rgba(148, 163, 184, .14);color:var(--md-text);font-size:.925rem;line-height:1.72;word-break:break-word}.chat-markdown-user{--md-text: rgba(255, 255, 255, .97);--md-muted: rgba(219, 234, 254, .92);--md-border: rgba(191, 219, 254, .35);--md-link: #dbeafe;--md-inline-code-bg: rgba(15, 23, 42, .35);--md-inline-code-color: #eff6ff;--md-blockquote-border: rgba(191, 219, 254, .8);--md-blockquote-bg: rgba(15, 23, 42, .2);--md-code-surface: rgba(2, 6, 23, .92);--md-code-toolbar-bg: rgba(2, 6, 23, .88);--md-code-toolbar-border: rgba(191, 219, 254, .26);--md-code-text: #e2e8f0;--md-table-head-bg: rgba(191, 219, 254, .16)}.chat-markdown>*+*{margin-top:.72rem}.chat-markdown p,.chat-markdown li,.chat-markdown blockquote{color:var(--md-text)}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4,.chat-markdown h5,.chat-markdown h6{margin:.2rem 0 0;font-weight:700;line-height:1.35;letter-spacing:-.01em}.chat-markdown h1{font-size:1.22rem}.chat-markdown h2{font-size:1.12rem}.chat-markdown h3{font-size:1.02rem}.chat-markdown h4,.chat-markdown h5,.chat-markdown h6{font-size:.96rem}.chat-markdown ul,.chat-markdown ol{margin:.35rem 0;padding-left:1.5rem;list-style-position:outside}.chat-markdown ul{list-style-type:disc}.chat-markdown ol{list-style-type:decimal}.chat-markdown ul ul{list-style-type:circle}.chat-markdown ul ul ul{list-style-type:square}.chat-markdown ol ol{list-style-type:lower-alpha}.chat-markdown ol ol ol{list-style-type:lower-roman}.chat-markdown li{display:list-item}.chat-markdown li::marker{color:#334155e6;font-weight:600}.chat-markdown li+li{margin-top:.25rem}.chat-markdown li>p{margin:0}.chat-markdown ul.contains-task-list,.chat-markdown ol.contains-task-list{list-style:none;padding-left:.2rem}.chat-markdown li.task-list-item{display:flex;align-items:flex-start;gap:.52rem}.chat-markdown-user li::marker{color:#dbeafef2}.chat-markdown .chat-task-checkbox{position:relative;top:.2rem;width:.92rem;height:.92rem;cursor:default}.chat-markdown hr{border:0;border-top:1px solid var(--md-border);margin:.92rem 0}.chat-markdown a{color:var(--md-link);text-decoration-line:underline;text-decoration-thickness:1.2px;text-underline-offset:2px;word-break:break-all}.chat-markdown .chat-link-invalid{color:var(--md-muted);text-decoration-line:underline;text-decoration-style:dotted}.chat-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.82rem}.chat-markdown .chat-inline-code,.chat-markdown :not(pre)>code{padding:.1rem .35rem;border-radius:.4rem;background:var(--md-inline-code-bg);color:var(--md-inline-code-color);border:1px solid var(--md-border);font-weight:520}.chat-codeblock{margin:.2rem 0 .1rem;border:1px solid var(--md-code-toolbar-border);border-radius:.78rem;overflow:hidden;background:var(--md-code-surface)}.chat-codeblock-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.43rem .58rem;background:var(--md-code-toolbar-bg);border-bottom:1px solid var(--md-code-toolbar-border)}.chat-codeblock-language{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--md-code-text);opacity:.8}.chat-codeblock-copy{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;color:var(--md-code-text);border:1px solid var(--md-code-toolbar-border);border-radius:.48rem;padding:.18rem .36rem;background:transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.chat-codeblock-copy:hover{background:#94a3b833}.chat-codeblock pre{margin:0;padding:.75rem .82rem .8rem;overflow-x:auto;background:transparent}.chat-codeblock code{display:block;min-width:-moz-max-content;min-width:max-content;white-space:pre;line-height:1.58;color:var(--md-code-text)}.chat-table-wrap{margin:.15rem 0;border:1px solid var(--md-border);border-radius:.72rem;overflow-x:auto}.chat-markdown table{width:100%;min-width:420px;border-collapse:separate;border-spacing:0;font-size:.82rem}.chat-markdown thead{background:var(--md-table-head-bg)}.chat-markdown th,.chat-markdown td{padding:.45rem .58rem;border-bottom:1px solid var(--md-border);text-align:left;vertical-align:top}.chat-markdown th+th,.chat-markdown td+td{border-left:1px solid var(--md-border)}.chat-markdown tbody tr:last-child td{border-bottom:none}.chat-markdown th,.chat-markdown strong{font-weight:650}.chat-markdown img{max-width:100%;border-radius:.75rem;border:1px solid var(--md-border)}.chat-markdown blockquote{margin:.2rem 0;border-left:3px solid var(--md-blockquote-border);border-radius:0 .55rem .55rem 0;padding:.45rem .72rem;background:var(--md-blockquote-bg);color:var(--md-muted)}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:font-normal::-moz-placeholder{font-weight:400}.placeholder\:font-normal::placeholder{font-weight:400}.placeholder\:text-gray-300::-moz-placeholder{color:hsl(var(--gray-300))}.placeholder\:text-gray-300::placeholder{color:hsl(var(--gray-300))}.placeholder\:text-gray-400::-moz-placeholder{color:hsl(var(--gray-400))}.placeholder\:text-gray-400::placeholder{color:hsl(var(--gray-400))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:border-blue-300\/80:hover{border-color:#93c5fdcc}.hover\:border-gray-200:hover{border-color:hsl(var(--gray-200))}.hover\:border-gray-300:hover{border-color:hsl(var(--gray-300))}.hover\:border-red-200:hover{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.hover\:border-rose-200:hover{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#e4e7ef\]:hover{--tw-bg-opacity: 1;background-color:rgb(228 231 239 / var(--tw-bg-opacity, 1))}.hover\:bg-black\/10:hover{background-color:#0000001a}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-100\/70:hover{background-color:hsl(var(--gray-100) / .7)}.hover\:bg-gray-100\/80:hover{background-color:hsl(var(--gray-100) / .8)}.hover\:bg-gray-200:hover{background-color:hsl(var(--gray-200))}.hover\:bg-gray-200\/60:hover{background-color:hsl(var(--gray-200) / .6)}.hover\:bg-gray-200\/80:hover{background-color:hsl(var(--gray-200) / .8)}.hover\:bg-gray-300\/80:hover{background-color:hsl(var(--gray-300) / .8)}.hover\:bg-gray-50\/70:hover{background-color:hsl(var(--gray-50) / .7)}.hover\:bg-gray-50\/80:hover{background-color:hsl(var(--gray-50) / .8)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary-600:hover{background-color:hsl(var(--brand-600))}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-50:hover{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/50:hover{background-color:#ffffff80}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-gray-700:hover{color:hsl(var(--gray-700))}.hover\:text-gray-800:hover{color:hsl(var(--gray-800))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-card-hover:hover{--tw-shadow: var(--shadow-card-hover);--tw-shadow-colored: var(--shadow-card-hover);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:bg-gray-50:hover{background-color:hsl(var(--gray-50))}.hover\:bg-gray-100:hover{background-color:hsl(var(--gray-100))}.hover\:text-gray-500:hover{color:hsl(var(--gray-500))}.hover\:text-gray-600:hover{color:hsl(var(--gray-600))}.hover\:text-gray-900:hover{color:hsl(var(--gray-900))}.hover\:shadow-card-hover:hover{box-shadow:var(--shadow-card-hover);box-shadow:0 8px 20px -4px #1e140a0f,0 4px 8px -4px #1e140a08}.focus\:border-primary\/40:focus{border-color:hsl(var(--primary) / .4)}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--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(0px + 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\:ring-1:focus{--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(1px + 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\:ring-primary\/30:focus{--tw-ring-color: hsl(var(--primary) / .3)}.focus\:ring-primary\/40:focus{--tw-ring-color: hsl(var(--primary) / .4)}.focus\:bg-gray-100:focus{background-color:hsl(var(--gray-100))}.focus-visible\:bg-white:focus-visible{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\: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\:ring-primary:focus-visible{--tw-ring-color: hsl(var(--primary))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-white:focus-visible{--tw-ring-offset-color: #fff}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-primary-700:active{background-color:hsl(var(--brand-700))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group\/action:hover .group-hover\/action\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-gray-800{color:hsl(var(--gray-800))}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group:hover .group-hover\:opacity-100{opacity:1}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:bg-emerald-500[data-state=checked]{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}@media not all and (min-width:1024px){.max-lg\:w-full{width:100%}}@media(min-width:640px){.sm\:inline-flex{display:inline-flex}.sm\:w-\[38\%\]{width:38%}.sm\:min-w-\[170px\]{min-width:170px}.sm\:max-w-\[240px\]{max-width:240px}.sm\:flex-1{flex:1 1 0%}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-0{gap:0px}.sm\:gap-3{gap:.75rem}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:opacity-0{opacity:0}.group:focus-within .md\:group-focus-within\:opacity-100{opacity:1}.group:hover .md\:group-hover\:opacity-100{opacity:1}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1280px){.xl\:flex{display:flex}.xl\:h-\[calc\(100vh-180px\)\]{height:calc(100vh - 180px)}.xl\:h-full{height:100%}.xl\:max-h-\[860px\]{max-height:860px}.xl\:min-h-0{min-height:0px}.xl\:min-h-\[600px\]{min-height:600px}.xl\:flex-1{flex:1 1 0%}.xl\:grid-cols-\[340px_minmax\(0\,1fr\)\]{grid-template-columns:340px minmax(0,1fr)}.xl\:flex-col{flex-direction:column}.xl\:overflow-hidden{overflow:hidden}.xl\:pb-0{padding-bottom:0}}@media(min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb{border-radius:9999px}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-300\/80::-webkit-scrollbar-thumb{background-color:hsl(var(--gray-300) / .8)}.\[\&\:\:-webkit-scrollbar\]\:w-2::-webkit-scrollbar{width:.5rem}.\[\&\>\:last-child\]\:hidden>:last-child{display:none}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,j as o}from"./vendor-
|
|
1
|
+
import{r as s,j as o}from"./vendor-CzIVZvq9.js";import{c as t}from"./index-Cwtv_w6q.js";const l=s.forwardRef(({className:e,...a},r)=>o.jsx("label",{ref:r,className:t("text-sm font-medium leading-none text-gray-700 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",e),...a}));l.displayName="Label";export{l as L};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as p,r as N,j as n}from"./vendor-
|
|
1
|
+
import{c as p,r as N,j as n}from"./vendor-CzIVZvq9.js";import{c as v}from"./index-Cwtv_w6q.js";const y=r=>typeof r=="boolean"?`${r}`:r===0?"0":r,f=p,w=(r,t)=>e=>{var i;if((t==null?void 0:t.variants)==null)return f(r,e==null?void 0:e.class,e==null?void 0:e.className);const{variants:u,defaultVariants:o}=t,g=Object.keys(u).map(a=>{const s=e==null?void 0:e[a],d=o==null?void 0:o[a];if(s===null)return null;const l=y(s)||y(d);return u[a][l]}),m=e&&Object.entries(e).reduce((a,s)=>{let[d,l]=s;return l===void 0||(a[d]=l),a},{}),b=t==null||(i=t.compoundVariants)===null||i===void 0?void 0:i.reduce((a,s)=>{let{class:d,className:l,...h}=s;return Object.entries(h).every(j=>{let[x,c]=j;return Array.isArray(c)?c.includes({...o,...m}[x]):{...o,...m}[x]===c})?[...a,d,l]:a},[]);return f(r,g,b,e==null?void 0:e.class,e==null?void 0:e.className)},V=w("inline-flex items-center justify-center whitespace-nowrap rounded-full text-sm font-medium ring-offset-background transition-all duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary-600 active:bg-primary-700 shadow-sm",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-gray-200 bg-white hover:bg-gray-50 hover:text-gray-800 text-gray-600",secondary:"bg-gray-100 text-gray-700 hover:bg-gray-200/80",ghost:"hover:bg-gray-100/80 hover:text-gray-800",link:"text-primary underline-offset-4 hover:underline",primary:"bg-primary text-primary-foreground hover:bg-primary-600 active:bg-primary-700 shadow-sm",subtle:"bg-gray-100 text-gray-600 hover:bg-gray-200/80","primary-outline":"border border-primary/30 text-primary hover:bg-primary hover:text-primary-foreground"},size:{default:"h-9 px-4 py-2",sm:"h-8 px-3 text-xs",lg:"h-11 px-5 text-[14px]",xl:"h-12 px-6 text-[15px]",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),k=N.forwardRef(({className:r,variant:t,size:e,...i},u)=>n.jsx("button",{className:v(V({variant:t,size:e,className:r})),ref:u,...i}));k.displayName="Button";function O({children:r,fullHeight:t=!1,className:e}){return n.jsx("div",{className:v("animate-fade-in",t?"h-[calc(100vh-80px)] w-full flex flex-col":"pb-16",e),children:r})}function B({title:r,description:t,actions:e,className:i}){return n.jsxs("div",{className:v("flex items-center justify-between mb-6 shrink-0",i),children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:r}),t&&n.jsx("p",{className:"text-sm text-gray-500 mt-1",children:t})]}),e&&n.jsx("div",{className:"flex items-center gap-2 shrink-0",children:e})]})}export{k as B,O as P,B as a};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{j as h,W as C}from"./vendor-CzIVZvq9.js";import{t as b,c as N}from"./index-Cwtv_w6q.js";function L({status:t,className:n}){const e=t==="running"?b("sessionsRunStatusRunning"):b("sessionsRunStatusQueued");return h.jsxs("span",{className:N("inline-flex h-3.5 w-3.5 items-center justify-center text-gray-400",n),title:e,"aria-label":e,children:[h.jsx(C,{className:"h-3 w-3 animate-spin"}),h.jsx("span",{className:"sr-only",children:e})]})}const j=["cmd","command","query","q","path","url","to","channel","agentId","sessionKey"];function d(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function x(t,n=2400){return t.length<=n?t:`${t.slice(0,n)}
|
|
2
|
+
…`}function S(t){if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return String(t);if(t==null)return"";try{return x(JSON.stringify(t,null,2))}catch{return String(t)}}function w(t){if(d(t))return t;if(typeof t!="string")return null;const n=t.trim();if(!n.startsWith("{")&&!n.startsWith("["))return null;try{const e=JSON.parse(n);return d(e)?e:null}catch{return null}}function F(t){const n=w(t);if(!n){const s=S(t).trim();return s?x(s,120):void 0}const e=[];for(const s of j){const i=n[s];if(typeof i=="string"&&i.trim()?e.push(`${s}: ${i.trim()}`):(typeof i=="number"||typeof i=="boolean")&&e.push(`${s}: ${String(i)}`),e.length>=2)break}return e.length>0?e.join(" · "):x(S(n),140)}function T(t){return typeof t!="string"||!t.trim()?"tool":t.trim()}function q(t){return Array.isArray(t.tool_calls)&&t.tool_calls.length>0}function A(t){const n=t.role.toLowerCase().trim();return n==="user"?"user":n==="assistant"?"assistant":n==="system"?"system":n==="tool"||n==="tool_result"||n==="toolresult"||n==="function"||typeof t.tool_call_id=="string"||Array.isArray(t.tool_calls)||typeof t.name=="string"?"tool":"other"}function y(t){if(typeof t=="string")return t;if(Array.isArray(t)){const n=[];for(const e of t){if(typeof e=="string"){n.push(e);continue}if(d(e)){if(typeof e.text=="string"){n.push(e.text);continue}typeof e.content=="string"&&n.push(e.content)}}if(n.length>0)return n.join(`
|
|
3
|
+
`)}return S(t)}function k(t){const n=[],e=Array.isArray(t.tool_calls)?t.tool_calls:[];for(const s of e){if(!d(s))continue;const i=d(s.function)?s.function:null,c=T((i==null?void 0:i.name)??s.name),_=(i==null?void 0:i.arguments)??s.arguments;n.push({kind:"call",name:c,detail:F(_),callId:typeof s.id=="string"&&s.id.trim()?s.id:void 0,hasResult:!1})}return n}function z(t){var s;const n=k(t);return(A(t)==="tool"||typeof t.tool_call_id=="string")&&n.push({kind:"result",name:T(t.name??((s=n[0])==null?void 0:s.name)),text:y(t.content).trim(),callId:typeof t.tool_call_id=="string"?t.tool_call_id:void 0,hasResult:!0}),n}function M(t,n){var i;const e=Number.isFinite(t.seq)&&t.seq>0?Math.trunc(t.seq):n+1,s=typeof t.timestamp=="string"&&t.timestamp?t.timestamp:((i=t.message)==null?void 0:i.timestamp)??new Date().toISOString();return{...t,timestamp:s,_idx:n,_seq:e}}function B(t){const n=A(t);return n==="assistant"&&q(t)?"assistant.tool_call":n==="tool"?"tool.result":`message.${n}`}function P(t){return t.map((n,e)=>({seq:e+1,type:B(n),timestamp:n.timestamp,message:n}))}function O(t,n){return n?t?`${t}
|
|
4
|
+
|
|
5
|
+
${n}`:n:t}function U(t){const n=t.map((o,r)=>M(o,r)).sort((o,r)=>{if(o._seq!==r._seq)return o._seq-r._seq;const a=Date.parse(o.timestamp),u=Date.parse(r.timestamp);return Number.isFinite(a)&&Number.isFinite(u)&&a!==u?a-u:o._idx-r._idx}),e=[];let s=null;const i=()=>{s=null},c=(o,r)=>{if(s)return s.item.timestamp=r,s;const a={kind:"assistant_turn",key:`turn-${o}`,role:"assistant",timestamp:r,segments:[]};return e.push(a),s={item:a,cardByCallId:new Map},s},_=(o,r,a)=>{const u=y(a.content).trim(),m=typeof a.reasoning_content=="string"?a.reasoning_content.trim():"";!u&&!m||o.item.segments.push({kind:"assistant_message",key:`assistant-${r}-${o.item.segments.length}`,text:u,reasoning:m})};for(const o of n){const r=o.message;if(!r)continue;const a=A(r),u=typeof r.timestamp=="string"&&r.timestamp?r.timestamp:o.timestamp,m=`${o._seq}-${o._idx}`;if(a==="assistant"){const l=c(m,u);if(_(l,m,r),!q(r))continue;const p=k(r);for(const f of p)l.item.segments.push({kind:"tool_card",key:`tool-call-${m}-${l.item.segments.length}`,card:f}),typeof f.callId=="string"&&f.callId.trim()&&l.cardByCallId.set(f.callId,f);continue}if(a==="tool"){const l=c(m,u),p=typeof r.tool_call_id=="string"&&r.tool_call_id.trim()?r.tool_call_id.trim():void 0;if(p&&l.cardByCallId.has(p)){const f=l.cardByCallId.get(p),I=y(r.content).trim();f.text=O(f.text??"",I),f.hasResult=!0,typeof r.name=="string"&&r.name.trim()&&(f.name=r.name.trim()),l.item.timestamp=u;continue}l.item.segments.push({kind:"tool_card",key:`tool-result-${m}-${l.item.segments.length}`,card:{kind:"result",name:T(r.name),text:y(r.content).trim(),callId:p,hasResult:!0}});continue}e.push({kind:"message",key:`message-${o._seq}-${o._idx}`,role:a,timestamp:u,message:r}),i()}return e}const R={queued:1,running:2};function g(t){return t==="queued"||t==="running"?t:null}function $(t){const n=Date.parse(t??"");return Number.isFinite(n)?n:0}function D(t,n){const e=g(t.state),s=g(n.state);if(!e||!s)return!1;const i=R[e],c=R[s];return c!==i?c>i:$(n.requestedAt)>=$(t.requestedAt)}function W(t){var e;const n=new Map;for(const s of t){const i=(e=s.sessionKey)==null?void 0:e.trim();if(!i||!g(s.state))continue;const c=n.get(i);(!c||D(c,s))&&n.set(i,s)}return n}function J(t){const n=new Map;for(const[e,s]of t.entries()){const i=g(s.state);i&&n.set(e,i)}return n}export{L as S,z as a,U as b,P as c,W as d,y as e,J as f,A as n};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,j as i}from"./vendor-
|
|
1
|
+
import{r as e,j as i}from"./vendor-CzIVZvq9.js";import{c as t}from"./index-Cwtv_w6q.js";const l=e.forwardRef(({className:o,checked:r=!1,onCheckedChange:s,...a},n)=>i.jsx("button",{type:"button",role:"switch","aria-checked":r,ref:n,className:t("peer inline-flex h-[22px] w-10 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-not-allowed disabled:opacity-50",r?"bg-primary":"bg-gray-200/80 hover:bg-gray-300/80",o),onClick:()=>s==null?void 0:s(!r),...a,children:i.jsx("span",{className:t("pointer-events-none block h-5 w-5 rounded-full bg-white shadow-md ring-0 transition-transform duration-fast",r?"translate-x-5":"translate-x-0")})}));l.displayName="Switch";export{l as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./vendor-
|
|
1
|
+
import{j as e}from"./vendor-CzIVZvq9.js";import{l as m,c as s}from"./index-Cwtv_w6q.js";function c({tabs:a,activeTab:i,onChange:o,className:n}){return e.jsx("div",{className:s("flex items-center gap-6 border-b border-gray-200/60 mb-6",n),children:a.map(t=>{const r=i===t.id;return e.jsxs("button",{onClick:()=>o(t.id),className:s("relative pb-3 text-[14px] font-medium transition-all duration-fast flex items-center gap-1.5",r?"text-gray-900":"text-gray-600 hover:text-gray-900"),children:[t.label,t.count!==void 0&&e.jsx("span",{className:s("text-[11px] font-medium","text-gray-500"),children:m(t.count)}),r&&e.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-[2px] bg-primary rounded-full"})]},t.id)})})}export{c as T};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{r as F,j as b,aP as y,aF as d,aQ as f,aG as i}from"./vendor-CzIVZvq9.js";import{c as x,j as s,A as E,t as a}from"./index-Cwtv_w6q.js";const K=F.forwardRef(({className:e,type:t,...n},r)=>b.jsx("input",{type:t,className:x("flex h-9 w-full rounded-xl border border-gray-200/80 bg-white px-3.5 py-2 text-sm text-gray-900 file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-300 placeholder:font-normal focus:outline-none focus:ring-1 focus:ring-primary/40 focus:border-primary/40 transition-colors disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));K.displayName="Input";async function A(){const e=await s.get("/api/config");if(!e.ok)throw new Error(e.error.message);return e.data}async function I(){const e=await s.get("/api/config/meta");if(!e.ok)throw new Error(e.error.message);return e.data}async function k(){const e=await s.get("/api/config/schema");if(!e.ok)throw new Error(e.error.message);return e.data}async function P(e){const t=await s.put("/api/config/model",e);if(!t.ok)throw new Error(t.error.message);return t.data}async function R(e,t){const n=await s.put(`/api/config/providers/${e}`,t);if(!n.ok)throw new Error(n.error.message);return n.data}async function $(e={}){const t=await s.post("/api/config/providers",e);if(!t.ok)throw new Error(t.error.message);return t.data}async function Q(e){const t=await s.delete(`/api/config/providers/${e}`);if(!t.ok)throw new Error(t.error.message);return t.data}async function M(e,t){const n=await s.post(`/api/config/providers/${e}/test`,t);if(!n.ok)throw new Error(n.error.message);return n.data}async function T(e){const t=await s.post(`/api/config/providers/${e}/auth/start`,{});if(!t.ok)throw new Error(t.error.message);return t.data}async function U(e,t){const n=await s.post(`/api/config/providers/${e}/auth/poll`,t);if(!n.ok)throw new Error(n.error.message);return n.data}async function J(e){const t=await s.post(`/api/config/providers/${e}/auth/import-cli`,{});if(!t.ok)throw new Error(t.error.message);return t.data}async function N(e,t){const n=await s.put(`/api/config/channels/${e}`,t);if(!n.ok)throw new Error(n.error.message);return n.data}async function O(e){const t=await s.put("/api/config/runtime",e);if(!t.ok)throw new Error(t.error.message);return t.data}async function j(e){const t=await s.put("/api/config/secrets",e);if(!t.ok)throw new Error(t.error.message);return t.data}async function D(e,t){const n=await s.post(`/api/config/actions/${e}/execute`,t);if(!n.ok)throw new Error(n.error.message);return n.data}async function L(e){var o;const t=new URLSearchParams;(o=e==null?void 0:e.q)!=null&&o.trim()&&t.set("q",e.q.trim()),typeof(e==null?void 0:e.limit)=="number"&&Number.isFinite(e.limit)&&t.set("limit",String(Math.max(0,Math.trunc(e.limit)))),typeof(e==null?void 0:e.activeMinutes)=="number"&&Number.isFinite(e.activeMinutes)&&t.set("activeMinutes",String(Math.max(0,Math.trunc(e.activeMinutes))));const n=t.toString(),r=await s.get(n?"/api/sessions?"+n:"/api/sessions");if(!r.ok)throw new Error(r.error.message);return r.data}async function B(e,t=200){const n=await s.get(`/api/sessions/${encodeURIComponent(e)}/history?limit=${Math.max(1,Math.trunc(t))}`);if(!n.ok)throw new Error(n.error.message);return n.data}async function _(e,t){const n=await s.put(`/api/sessions/${encodeURIComponent(e)}`,t);if(!n.ok)throw new Error(n.error.message);return n.data}async function W(e){const t=await s.delete(`/api/sessions/${encodeURIComponent(e)}`);if(!t.ok)throw new Error(t.error.message);return t.data}async function G(e){var o,l;const t=new URLSearchParams;(o=e==null?void 0:e.sessionKey)!=null&&o.trim()&&t.set("sessionKey",e.sessionKey.trim()),(l=e==null?void 0:e.agentId)!=null&&l.trim()&&t.set("agentId",e.agentId.trim());const n=t.toString(),r=await s.get(n?`/api/chat/capabilities?${n}`:"/api/chat/capabilities");if(!r.ok)throw new Error(r.error.message);return r.data}async function ne(e){const t=await s.post("/api/chat/turn/stop",e);if(!t.ok)throw new Error(t.error.message);return t.data}async function H(e){var o;const t=new URLSearchParams;(o=e==null?void 0:e.sessionKey)!=null&&o.trim()&&t.set("sessionKey",e.sessionKey.trim()),Array.isArray(e==null?void 0:e.states)&&e.states.length>0&&t.set("states",e.states.join(",")),typeof(e==null?void 0:e.limit)=="number"&&Number.isFinite(e.limit)&&t.set("limit",String(Math.max(0,Math.trunc(e.limit))));const n=t.toString(),r=await s.get(n?`/api/chat/runs?${n}`:"/api/chat/runs");if(!r.ok)throw new Error(r.error.message);return r.data}function z(e){const t=e.split(/\r?\n/);let n="message";const r=[];for(const o of t){if(o.startsWith("event:")){n=o.slice(6).trim()||"message";continue}o.startsWith("data:")&&r.push(o.slice(5).trimStart())}return r.length===0?null:{event:n,data:r.join(`
|
|
2
|
+
`)}}async function C(e,t={}){var p;if(!e.ok){let g=`chat stream failed (${e.status} ${e.statusText})`;try{const c=await e.json();(p=c==null?void 0:c.error)!=null&&p.message&&(g=c.error.message)}catch{const c=await e.text().catch(()=>"");c.trim()&&(g=c.trim())}throw new Error(g)}if(!e.body)throw new Error("chat stream is not readable");const n=e.body.getReader(),r=new TextDecoder;let o="",l=null;const m=g=>{var h,w,q;const c=z(g);if(c){if(c.event==="ready"){try{const u=JSON.parse(c.data);(h=t.onReady)==null||h.call(t,{event:"ready",sessionKey:String(u.sessionKey??""),requestedAt:String(u.requestedAt??""),...typeof u.runId=="string"&&u.runId.trim().length>0?{runId:u.runId.trim()}:{},...typeof u.stopSupported=="boolean"?{stopSupported:u.stopSupported}:{},...typeof u.stopReason=="string"&&u.stopReason.trim().length>0?{stopReason:u.stopReason.trim()}:{}})}catch{}return}if(c.event==="delta"){try{const u=JSON.parse(c.data);typeof u.delta=="string"&&u.delta.length>0&&((w=t.onDelta)==null||w.call(t,{event:"delta",delta:u.delta}))}catch{}return}if(c.event==="session_event"){try{(q=t.onSessionEvent)==null||q.call(t,{event:"session_event",data:JSON.parse(c.data)})}catch{}return}if(c.event==="final"){l=JSON.parse(c.data);return}if(c.event==="error")try{const u=JSON.parse(c.data);throw new Error(typeof u.message=="string"&&u.message?u.message:"chat stream failed")}catch(u){throw u instanceof Error?u:new Error("chat stream failed")}}};let v=!1;for(;!v;){const{done:g,value:c}=await n.read();if(g){v=!0;continue}o+=r.decode(c,{stream:!0});let h=o.indexOf(`
|
|
3
|
+
|
|
4
|
+
`);for(;h!==-1;){const w=o.slice(0,h).trim();o=o.slice(h+2),w&&m(w),h=o.indexOf(`
|
|
5
|
+
|
|
6
|
+
`)}}const S=o.trim();if(S&&m(S),!l)throw new Error("chat stream ended without final result");return l}async function re(e,t={}){const n=await fetch(`${E}/api/chat/turn/stream`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(e),signal:t.signal});return C(n,t)}async function oe(e,t={}){const n=new URLSearchParams;typeof e.fromEventIndex=="number"&&Number.isFinite(e.fromEventIndex)&&n.set("fromEventIndex",String(Math.max(0,Math.trunc(e.fromEventIndex))));const r=n.toString(),o=`${E}/api/chat/runs/${encodeURIComponent(e.runId)}/stream${r?`?${r}`:""}`,l=await fetch(o,{method:"GET",headers:{Accept:"text/event-stream"},signal:t.signal});return C(l,t)}async function V(e){const t=new URLSearchParams;e!=null&&e.all&&t.set("all","1");const n=t.toString(),r=await s.get(n?"/api/cron?"+n:"/api/cron");if(!r.ok)throw new Error(r.error.message);return r.data}async function X(e){const t=await s.delete(`/api/cron/${encodeURIComponent(e)}`);if(!t.ok)throw new Error(t.error.message);return t.data}async function Y(e,t){const n=await s.put(`/api/cron/${encodeURIComponent(e)}/enable`,t);if(!n.ok)throw new Error(n.error.message);return n.data}async function Z(e,t){const n=await s.post(`/api/cron/${encodeURIComponent(e)}/run`,t);if(!n.ok)throw new Error(n.error.message);return n.data}function se(){return y({queryKey:["config"],queryFn:A,staleTime:3e4,refetchOnWindowFocus:!0})}function ie(){return y({queryKey:["config-meta"],queryFn:I,staleTime:1/0})}function ae(){return y({queryKey:["config-schema"],queryFn:k,staleTime:1/0})}function ce(){const e=d();return f({mutationFn:P,onSuccess:()=>{e.invalidateQueries({queryKey:["config"]}),i.success(a("configSaved"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function ue(){const e=d();return f({mutationFn:({provider:t,data:n})=>R(t,n),onSuccess:()=>{e.invalidateQueries({queryKey:["config"]}),e.invalidateQueries({queryKey:["config-meta"]}),i.success(a("configSaved"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function fe(){const e=d();return f({mutationFn:({data:t})=>$(t??{}),onSuccess:()=>{e.invalidateQueries({queryKey:["config"]}),e.invalidateQueries({queryKey:["config-meta"]}),i.success(a("configSaved"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function de(){const e=d();return f({mutationFn:({provider:t})=>Q(t),onSuccess:()=>{e.invalidateQueries({queryKey:["config"]}),e.invalidateQueries({queryKey:["config-meta"]}),i.success(a("configSaved"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function le(){return f({mutationFn:({provider:e,data:t})=>M(e,t)})}function ye(){return f({mutationFn:({provider:e})=>T(e)})}function ge(){return f({mutationFn:({provider:e,data:t})=>U(e,t)})}function he(){return f({mutationFn:({provider:e})=>J(e)})}function we(){const e=d();return f({mutationFn:({channel:t,data:n})=>N(t,n),onSuccess:()=>{e.invalidateQueries({queryKey:["config"]}),i.success(a("configSavedApplied"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function me(){const e=d();return f({mutationFn:({data:t})=>O(t),onSuccess:()=>{e.invalidateQueries({queryKey:["config"]}),i.success(a("configSavedApplied"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function ve(){const e=d();return f({mutationFn:({data:t})=>j(t),onSuccess:()=>{e.invalidateQueries({queryKey:["config"]}),i.success(a("configSavedApplied"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function Se(){return f({mutationFn:({actionId:e,data:t})=>D(e,t),onError:e=>{i.error(a("error")+": "+e.message)}})}function pe(e){return y({queryKey:["sessions",e],queryFn:()=>L(e),staleTime:1e4})}function qe(e,t=200){return y({queryKey:["session-history",e,t],queryFn:()=>B(e,t),enabled:!!e,staleTime:5e3,retry:!1})}function Ee(){const e=d();return f({mutationFn:({key:t,data:n})=>_(t,n),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session-history",n.key]}),i.success(a("configSavedApplied"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function Ce(){const e=d();return f({mutationFn:({key:t})=>W(t),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session-history"]}),i.success(a("configSavedApplied"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function Fe(e){var r,o;const t=((r=e==null?void 0:e.sessionKey)==null?void 0:r.trim())||void 0,n=((o=e==null?void 0:e.agentId)==null?void 0:o.trim())||void 0;return y({queryKey:["chat-capabilities",t??null,n??null],queryFn:async()=>{try{return await G({sessionKey:t,agentId:n})}catch{return{stopSupported:!1}}},staleTime:1e4,retry:!1})}function be(e){var r;const t=((r=e==null?void 0:e.sessionKey)==null?void 0:r.trim())||void 0,n=Array.isArray(e==null?void 0:e.states)&&e.states.length>0?e.states:void 0;return y({queryKey:["chat-runs",t??null,n??null,(e==null?void 0:e.limit)??null],queryFn:()=>H({...t?{sessionKey:t}:{},...n?{states:n}:{},...typeof(e==null?void 0:e.limit)=="number"?{limit:e.limit}:{}}),enabled:!!t||!!n,staleTime:5e3,retry:!1})}function xe(e={all:!0}){return y({queryKey:["cron",e],queryFn:()=>V(e),staleTime:1e4})}function Ke(){const e=d();return f({mutationFn:({id:t})=>X(t),onSuccess:()=>{e.invalidateQueries({queryKey:["cron"]}),i.success(a("configSavedApplied"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function Ae(){const e=d();return f({mutationFn:({id:t,enabled:n})=>Y(t,{enabled:n}),onSuccess:()=>{e.invalidateQueries({queryKey:["cron"]}),i.success(a("configSavedApplied"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}function Ie(){const e=d();return f({mutationFn:({id:t,force:n})=>Z(t,{force:n}),onSuccess:()=>{e.invalidateQueries({queryKey:["cron"]}),i.success(a("configSavedApplied"))},onError:t=>{i.error(a("configSaveFailed")+": "+t.message)}})}export{Ee as A,ve as B,K as I,ie as a,ae as b,ce as c,xe as d,Ke as e,Ae as f,Ie as g,re as h,oe as i,pe as j,Fe as k,qe as l,Ce as m,be as n,ue as o,de as p,le as q,ye as r,ne as s,ge as t,se as u,he as v,fe as w,we as x,Se as y,me as z};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as i,ac as b,aU as I,a9 as ie,j as s,ab as j,ah as le,ad as h,ae as D,ai as ce,aj as de,ak as ue,am as fe,an as ge,ao as me,al as pe,aV as ve,at as xe}from"./vendor-
|
|
1
|
+
import{r as i,ac as b,aU as I,a9 as ie,j as s,ab as j,ah as le,ad as h,ae as D,ai as ce,aj as de,ak as ue,am as fe,an as ge,ao as me,al as pe,aV as ve,at as xe}from"./vendor-CzIVZvq9.js";import{c as N,t as x}from"./index-Cwtv_w6q.js";import{B as w}from"./page-layout-BdhEwv_X.js";function Ne(e,t){return i.useReducer((o,a)=>t[o][a]??o,e)}var E=e=>{const{present:t,children:o}=e,a=De(t),r=typeof o=="function"?o({present:a.isPresent}):i.Children.only(o),n=b(a.ref,he(r));return typeof o=="function"||a.isPresent?i.cloneElement(r,{ref:n}):null};E.displayName="Presence";function De(e){const[t,o]=i.useState(),a=i.useRef(null),r=i.useRef(e),n=i.useRef("none"),l=e?"mounted":"unmounted",[c,u]=Ne(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return i.useEffect(()=>{const d=y(a.current);n.current=c==="mounted"?d:"none"},[c]),I(()=>{const d=a.current,f=r.current;if(f!==e){const C=n.current,p=y(d);e?u("MOUNT"):p==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(f&&C!==p?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,u]),I(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,m=p=>{const re=y(a.current).includes(CSS.escape(p.animationName));if(p.target===t&&re&&(u("ANIMATION_END"),!r.current)){const se=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=se)})}},C=p=>{p.target===t&&(n.current=y(a.current))};return t.addEventListener("animationstart",C),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",C),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:i.useCallback(d=>{a.current=d?getComputedStyle(d):null,o(d)},[])}}function y(e){return(e==null?void 0:e.animationName)||"none"}function he(e){var a,r;let t=(a=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:a.get,o=t&&"isReactWarning"in t&&t.isReactWarning;return o?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,o=t&&"isReactWarning"in t&&t.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}var O="Dialog",[M]=ce(O),[Ce,g]=M(O),T=e=>{const{__scopeDialog:t,children:o,open:a,defaultOpen:r,onOpenChange:n,modal:l=!0}=e,c=i.useRef(null),u=i.useRef(null),[d,f]=ie({prop:a,defaultProp:r??!1,onChange:n,caller:O});return s.jsx(Ce,{scope:t,triggerRef:c,contentRef:u,contentId:j(),titleId:j(),descriptionId:j(),open:d,onOpenChange:f,onOpenToggle:i.useCallback(()=>f(m=>!m),[f]),modal:l,children:o})};T.displayName=O;var S="DialogTrigger",ye=i.forwardRef((e,t)=>{const{__scopeDialog:o,...a}=e,r=g(S,o),n=b(t,r.triggerRef);return s.jsx(h.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":_(r.open),...a,ref:n,onClick:D(e.onClick,r.onOpenToggle)})});ye.displayName=S;var A="DialogPortal",[Re,F]=M(A,{forceMount:void 0}),L=e=>{const{__scopeDialog:t,forceMount:o,children:a,container:r}=e,n=g(A,t);return s.jsx(Re,{scope:t,forceMount:o,children:i.Children.map(a,l=>s.jsx(E,{present:o||n.open,children:s.jsx(le,{asChild:!0,container:r,children:l})}))})};L.displayName=A;var R="DialogOverlay",k=i.forwardRef((e,t)=>{const o=F(R,e.__scopeDialog),{forceMount:a=o.forceMount,...r}=e,n=g(R,e.__scopeDialog);return n.modal?s.jsx(E,{present:a||n.open,children:s.jsx(Ee,{...r,ref:t})}):null});k.displayName=R;var be=pe("DialogOverlay.RemoveScroll"),Ee=i.forwardRef((e,t)=>{const{__scopeDialog:o,...a}=e,r=g(R,o);return s.jsx(ue,{as:be,allowPinchZoom:!0,shards:[r.contentRef],children:s.jsx(h.div,{"data-state":_(r.open),...a,ref:t,style:{pointerEvents:"auto",...a.style}})})}),v="DialogContent",W=i.forwardRef((e,t)=>{const o=F(v,e.__scopeDialog),{forceMount:a=o.forceMount,...r}=e,n=g(v,e.__scopeDialog);return s.jsx(E,{present:a||n.open,children:n.modal?s.jsx(Oe,{...r,ref:t}):s.jsx(je,{...r,ref:t})})});W.displayName=v;var Oe=i.forwardRef((e,t)=>{const o=g(v,e.__scopeDialog),a=i.useRef(null),r=b(t,o.contentRef,a);return i.useEffect(()=>{const n=a.current;if(n)return de(n)},[]),s.jsx(U,{...e,ref:r,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:D(e.onCloseAutoFocus,n=>{var l;n.preventDefault(),(l=o.triggerRef.current)==null||l.focus()}),onPointerDownOutside:D(e.onPointerDownOutside,n=>{const l=n.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0;(l.button===2||c)&&n.preventDefault()}),onFocusOutside:D(e.onFocusOutside,n=>n.preventDefault())})}),je=i.forwardRef((e,t)=>{const o=g(v,e.__scopeDialog),a=i.useRef(!1),r=i.useRef(!1);return s.jsx(U,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{var l,c;(l=e.onCloseAutoFocus)==null||l.call(e,n),n.defaultPrevented||(a.current||(c=o.triggerRef.current)==null||c.focus(),n.preventDefault()),a.current=!1,r.current=!1},onInteractOutside:n=>{var u,d;(u=e.onInteractOutside)==null||u.call(e,n),n.defaultPrevented||(a.current=!0,n.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const l=n.target;((d=o.triggerRef.current)==null?void 0:d.contains(l))&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&r.current&&n.preventDefault()}})}),U=i.forwardRef((e,t)=>{const{__scopeDialog:o,trapFocus:a,onOpenAutoFocus:r,onCloseAutoFocus:n,...l}=e,c=g(v,o),u=i.useRef(null),d=b(t,u);return fe(),s.jsxs(s.Fragment,{children:[s.jsx(ge,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:r,onUnmountAutoFocus:n,children:s.jsx(me,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":_(c.open),...l,ref:d,onDismiss:()=>c.onOpenChange(!1)})}),s.jsxs(s.Fragment,{children:[s.jsx(Ae,{titleId:c.titleId}),s.jsx(_e,{contentRef:u,descriptionId:c.descriptionId})]})]})}),P="DialogTitle",$=i.forwardRef((e,t)=>{const{__scopeDialog:o,...a}=e,r=g(P,o);return s.jsx(h.h2,{id:r.titleId,...a,ref:t})});$.displayName=P;var G="DialogDescription",B=i.forwardRef((e,t)=>{const{__scopeDialog:o,...a}=e,r=g(G,o);return s.jsx(h.p,{id:r.descriptionId,...a,ref:t})});B.displayName=G;var z="DialogClose",H=i.forwardRef((e,t)=>{const{__scopeDialog:o,...a}=e,r=g(z,o);return s.jsx(h.button,{type:"button",...a,ref:t,onClick:D(e.onClick,()=>r.onOpenChange(!1))})});H.displayName=z;function _(e){return e?"open":"closed"}var V="DialogTitleWarning",[$e,q]=ve(V,{contentName:v,titleName:P,docsSlug:"dialog"}),Ae=({titleId:e})=>{const t=q(V),o=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
2
2
|
|
|
3
3
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
4
|
|
|
@@ -399,4 +399,4 @@ Please change the parent <Route path="${R}"> to <Route path="${R==="/"?"*":`${R}
|
|
|
399
399
|
.block-interactivity-`.concat(n,` {pointer-events: none;}
|
|
400
400
|
.allow-interactivity-`).concat(n,` {pointer-events: all;}
|
|
401
401
|
`)},$2=0,Xo=[];function W2(n){var r=g.useRef([]),i=g.useRef([0,0]),l=g.useRef(),u=g.useState($2++)[0],c=g.useState(Iv)[0],f=g.useRef(n);g.useEffect(function(){f.current=n},[n]),g.useEffect(function(){if(n.inert){document.body.classList.add("block-interactivity-".concat(u));var S=d2([n.lockRef.current],(n.shards||[]).map(Yh),!0).filter(Boolean);return S.forEach(function(C){return C.classList.add("allow-interactivity-".concat(u))}),function(){document.body.classList.remove("block-interactivity-".concat(u)),S.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(u))})}}},[n.inert,n.lockRef.current,n.shards]);var p=g.useCallback(function(S,C){if("touches"in S&&S.touches.length===2||S.type==="wheel"&&S.ctrlKey)return!f.current.allowPinchZoom;var P=$l(S),T=i.current,R="deltaX"in S?S.deltaX:T[0]-P[0],L="deltaY"in S?S.deltaY:T[1]-P[1],z,U=S.target,H=Math.abs(R)>Math.abs(L)?"h":"v";if("touches"in S&&H==="h"&&U.type==="range")return!1;var Y=window.getSelection(),Z=Y&&Y.anchorNode,te=Z?Z===U||Z.contains(U):!1;if(te)return!1;var he=Qh(H,U);if(!he)return!0;if(he?z=H:(z=H==="v"?"h":"v",he=Qh(H,U)),!he)return!1;if(!l.current&&"changedTouches"in S&&(R||L)&&(l.current=z),!z)return!0;var X=l.current||z;return B2(X,C,S,X==="h"?R:L)},[]),h=g.useCallback(function(S){var C=S;if(!(!Xo.length||Xo[Xo.length-1]!==c)){var P="deltaY"in C?Kh(C):$l(C),T=r.current.filter(function(z){return z.name===C.type&&(z.target===C.target||C.target===z.shadowParent)&&U2(z.delta,P)})[0];if(T&&T.should){C.cancelable&&C.preventDefault();return}if(!T){var R=(f.current.shards||[]).map(Yh).filter(Boolean).filter(function(z){return z.contains(C.target)}),L=R.length>0?p(C,R[0]):!f.current.noIsolation;L&&C.cancelable&&C.preventDefault()}}},[]),v=g.useCallback(function(S,C,P,T){var R={name:S,delta:C,target:P,should:T,shadowParent:V2(P)};r.current.push(R),setTimeout(function(){r.current=r.current.filter(function(L){return L!==R})},1)},[]),w=g.useCallback(function(S){i.current=$l(S),l.current=void 0},[]),x=g.useCallback(function(S){v(S.type,Kh(S),S.target,p(S,n.lockRef.current))},[]),E=g.useCallback(function(S){v(S.type,$l(S),S.target,p(S,n.lockRef.current))},[]);g.useEffect(function(){return Xo.push(c),n.setCallbacks({onScrollCapture:x,onWheelCapture:x,onTouchMoveCapture:E}),document.addEventListener("wheel",h,qo),document.addEventListener("touchmove",h,qo),document.addEventListener("touchstart",w,qo),function(){Xo=Xo.filter(function(S){return S!==c}),document.removeEventListener("wheel",h,qo),document.removeEventListener("touchmove",h,qo),document.removeEventListener("touchstart",w,qo)}},[]);var y=n.removeScrollBar,O=n.inert;return g.createElement(g.Fragment,null,O?g.createElement(c,{styles:H2(u)}):null,y?g.createElement(L2,{noRelative:n.noRelative,gapMode:n.gapMode}):null)}function V2(n){for(var r=null;n!==null;)n instanceof ShadowRoot&&(r=n.host,n=n.host),n=n.parentNode;return r}const Q2=x2(Lv,W2);var zv=g.forwardRef(function(n,r){return g.createElement(fa,Ln({},n,{ref:r,sideCar:Q2}))});zv.classNames=fa.classNames;var K2=[" ","Enter","ArrowUp","ArrowDown"],Y2=[" ","Enter"],xo="Select",[pa,ha,G2]=ax(xo),[Si]=id(xo,[G2,gv]),ma=gv(),[q2,$r]=Si(xo),[X2,Z2]=Si(xo),jv=n=>{const{__scopeSelect:r,children:i,open:l,defaultOpen:u,onOpenChange:c,value:f,defaultValue:p,onValueChange:h,dir:v,name:w,autoComplete:x,disabled:E,required:y,form:O}=n,S=ma(r),[C,P]=g.useState(null),[T,R]=g.useState(null),[L,z]=g.useState(!1),U=cx(v),[H,Y]=$h({prop:l,defaultProp:u??!1,onChange:c,caller:xo}),[Z,te]=$h({prop:f,defaultProp:p,onChange:h,caller:xo}),he=g.useRef(null),X=C?O||!!C.closest("form"):!0,[ye,ce]=g.useState(new Set),xe=Array.from(ye).map(ae=>ae.props.value).join(";");return ee.jsx(XS,{...S,children:ee.jsxs(q2,{required:y,scope:r,trigger:C,onTriggerChange:P,valueNode:T,onValueNodeChange:R,valueNodeHasChildren:L,onValueNodeHasChildrenChange:z,contentId:sd(),value:Z,onValueChange:te,open:H,onOpenChange:Y,dir:U,triggerPointerDownPosRef:he,disabled:E,children:[ee.jsx(pa.Provider,{scope:r,children:ee.jsx(X2,{scope:n.__scopeSelect,onNativeOptionAdd:g.useCallback(ae=>{ce(ie=>new Set(ie).add(ae))},[]),onNativeOptionRemove:g.useCallback(ae=>{ce(ie=>{const j=new Set(ie);return j.delete(ae),j})},[]),children:i})}),X?ee.jsxs(uy,{"aria-hidden":!0,required:y,tabIndex:-1,name:w,autoComplete:x,value:Z,onChange:ae=>te(ae.target.value),disabled:E,form:O,children:[Z===void 0?ee.jsx("option",{value:""}):null,Array.from(ye)]},xe):null]})})};jv.displayName=xo;var Bv="SelectTrigger",Uv=g.forwardRef((n,r)=>{const{__scopeSelect:i,disabled:l=!1,...u}=n,c=ma(i),f=$r(Bv,i),p=f.disabled||l,h=ct(r,f.onTriggerChange),v=ha(i),w=g.useRef("touch"),[x,E,y]=dy(S=>{const C=v().filter(R=>!R.disabled),P=C.find(R=>R.value===f.value),T=fy(C,S,P);T!==void 0&&f.onValueChange(T.value)}),O=S=>{p||(f.onOpenChange(!0),y()),S&&(f.triggerPointerDownPosRef.current={x:Math.round(S.pageX),y:Math.round(S.pageY)})};return ee.jsx(ZS,{asChild:!0,...c,children:ee.jsx(Xe.button,{type:"button",role:"combobox","aria-controls":f.contentId,"aria-expanded":f.open,"aria-required":f.required,"aria-autocomplete":"none",dir:f.dir,"data-state":f.open?"open":"closed",disabled:p,"data-disabled":p?"":void 0,"data-placeholder":cy(f.value)?"":void 0,...u,ref:h,onClick:Je(u.onClick,S=>{S.currentTarget.focus(),w.current!=="mouse"&&O(S)}),onPointerDown:Je(u.onPointerDown,S=>{w.current=S.pointerType;const C=S.target;C.hasPointerCapture(S.pointerId)&&C.releasePointerCapture(S.pointerId),S.button===0&&S.ctrlKey===!1&&S.pointerType==="mouse"&&(O(S),S.preventDefault())}),onKeyDown:Je(u.onKeyDown,S=>{const C=x.current!=="";!(S.ctrlKey||S.altKey||S.metaKey)&&S.key.length===1&&E(S.key),!(C&&S.key===" ")&&K2.includes(S.key)&&(O(),S.preventDefault())})})})});Uv.displayName=Bv;var Hv="SelectValue",$v=g.forwardRef((n,r)=>{const{__scopeSelect:i,className:l,style:u,children:c,placeholder:f="",...p}=n,h=$r(Hv,i),{onValueNodeHasChildrenChange:v}=h,w=c!==void 0,x=ct(r,h.onValueNodeChange);return It(()=>{v(w)},[v,w]),ee.jsx(Xe.span,{...p,ref:x,style:{pointerEvents:"none"},children:cy(h.value)?ee.jsx(ee.Fragment,{children:f}):c})});$v.displayName=Hv;var J2="SelectIcon",Wv=g.forwardRef((n,r)=>{const{__scopeSelect:i,children:l,...u}=n;return ee.jsx(Xe.span,{"aria-hidden":!0,...u,ref:r,children:l||"▼"})});Wv.displayName=J2;var eC="SelectPortal",Vv=n=>ee.jsx(Pv,{asChild:!0,...n});Vv.displayName=eC;var So="SelectContent",Qv=g.forwardRef((n,r)=>{const i=$r(So,n.__scopeSelect),[l,u]=g.useState();if(It(()=>{u(new DocumentFragment)},[]),!i.open){const c=l;return c?xs.createPortal(ee.jsx(Kv,{scope:n.__scopeSelect,children:ee.jsx(pa.Slot,{scope:n.__scopeSelect,children:ee.jsx("div",{children:n.children})})}),c):null}return ee.jsx(Yv,{...n,ref:r})});Qv.displayName=So;var cn=10,[Kv,Wr]=Si(So),tC="SelectContentImpl",nC=ea("SelectContent.RemoveScroll"),Yv=g.forwardRef((n,r)=>{const{__scopeSelect:i,position:l="item-aligned",onCloseAutoFocus:u,onEscapeKeyDown:c,onPointerDownOutside:f,side:p,sideOffset:h,align:v,alignOffset:w,arrowPadding:x,collisionBoundary:E,collisionPadding:y,sticky:O,hideWhenDetached:S,avoidCollisions:C,...P}=n,T=$r(So,i),[R,L]=g.useState(null),[z,U]=g.useState(null),H=ct(r,K=>L(K)),[Y,Z]=g.useState(null),[te,he]=g.useState(null),X=ha(i),[ye,ce]=g.useState(!1),xe=g.useRef(!1);g.useEffect(()=>{if(R)return c2(R)},[R]),Sx();const ae=g.useCallback(K=>{const[fe,...Ce]=X().map(Oe=>Oe.ref.current),[be]=Ce.slice(-1),Me=document.activeElement;for(const Oe of K)if(Oe===Me||(Oe==null||Oe.scrollIntoView({block:"nearest"}),Oe===fe&&z&&(z.scrollTop=0),Oe===be&&z&&(z.scrollTop=z.scrollHeight),Oe==null||Oe.focus(),document.activeElement!==Me))return},[X,z]),ie=g.useCallback(()=>ae([Y,R]),[ae,Y,R]);g.useEffect(()=>{ye&&ie()},[ye,ie]);const{onOpenChange:j,triggerPointerDownPosRef:B}=T;g.useEffect(()=>{if(R){let K={x:0,y:0};const fe=be=>{var Me,Oe;K={x:Math.abs(Math.round(be.pageX)-(((Me=B.current)==null?void 0:Me.x)??0)),y:Math.abs(Math.round(be.pageY)-(((Oe=B.current)==null?void 0:Oe.y)??0))}},Ce=be=>{K.x<=10&&K.y<=10?be.preventDefault():R.contains(be.target)||j(!1),document.removeEventListener("pointermove",fe),B.current=null};return B.current!==null&&(document.addEventListener("pointermove",fe),document.addEventListener("pointerup",Ce,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",fe),document.removeEventListener("pointerup",Ce,{capture:!0})}}},[R,j,B]),g.useEffect(()=>{const K=()=>j(!1);return window.addEventListener("blur",K),window.addEventListener("resize",K),()=>{window.removeEventListener("blur",K),window.removeEventListener("resize",K)}},[j]);const[V,N]=dy(K=>{const fe=X().filter(Me=>!Me.disabled),Ce=fe.find(Me=>Me.ref.current===document.activeElement),be=fy(fe,K,Ce);be&&setTimeout(()=>be.ref.current.focus())}),F=g.useCallback((K,fe,Ce)=>{const be=!xe.current&&!Ce;(T.value!==void 0&&T.value===fe||be)&&(Z(K),be&&(xe.current=!0))},[T.value]),ne=g.useCallback(()=>R==null?void 0:R.focus(),[R]),re=g.useCallback((K,fe,Ce)=>{const be=!xe.current&&!Ce;(T.value!==void 0&&T.value===fe||be)&&he(K)},[T.value]),ve=l==="popper"?zc:Gv,Se=ve===zc?{side:p,sideOffset:h,align:v,alignOffset:w,arrowPadding:x,collisionBoundary:E,collisionPadding:y,sticky:O,hideWhenDetached:S,avoidCollisions:C}:{};return ee.jsx(Kv,{scope:i,content:R,viewport:z,onViewportChange:U,itemRefCallback:F,selectedItem:Y,onItemLeave:ne,itemTextRefCallback:re,focusSelectedItem:ie,selectedItemText:te,position:l,isPositioned:ye,searchRef:V,children:ee.jsx(zv,{as:nC,allowPinchZoom:!0,children:ee.jsx(rv,{asChild:!0,trapped:T.open,onMountAutoFocus:K=>{K.preventDefault()},onUnmountAutoFocus:Je(u,K=>{var fe;(fe=T.trigger)==null||fe.focus({preventScroll:!0}),K.preventDefault()}),children:ee.jsx(tv,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:c,onPointerDownOutside:f,onFocusOutside:K=>K.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:ee.jsx(ve,{role:"listbox",id:T.contentId,"data-state":T.open?"open":"closed",dir:T.dir,onContextMenu:K=>K.preventDefault(),...P,...Se,onPlaced:()=>ce(!0),ref:H,style:{display:"flex",flexDirection:"column",outline:"none",...P.style},onKeyDown:Je(P.onKeyDown,K=>{const fe=K.ctrlKey||K.altKey||K.metaKey;if(K.key==="Tab"&&K.preventDefault(),!fe&&K.key.length===1&&N(K.key),["ArrowUp","ArrowDown","Home","End"].includes(K.key)){let be=X().filter(Me=>!Me.disabled).map(Me=>Me.ref.current);if(["ArrowUp","End"].includes(K.key)&&(be=be.slice().reverse()),["ArrowUp","ArrowDown"].includes(K.key)){const Me=K.target,Oe=be.indexOf(Me);be=be.slice(Oe+1)}setTimeout(()=>ae(be)),K.preventDefault()}})})})})})})});Yv.displayName=tC;var rC="SelectItemAlignedPosition",Gv=g.forwardRef((n,r)=>{const{__scopeSelect:i,onPlaced:l,...u}=n,c=$r(So,i),f=Wr(So,i),[p,h]=g.useState(null),[v,w]=g.useState(null),x=ct(r,H=>w(H)),E=ha(i),y=g.useRef(!1),O=g.useRef(!0),{viewport:S,selectedItem:C,selectedItemText:P,focusSelectedItem:T}=f,R=g.useCallback(()=>{if(c.trigger&&c.valueNode&&p&&v&&S&&C&&P){const H=c.trigger.getBoundingClientRect(),Y=v.getBoundingClientRect(),Z=c.valueNode.getBoundingClientRect(),te=P.getBoundingClientRect();if(c.dir!=="rtl"){const Me=te.left-Y.left,Oe=Z.left-Me,Ye=H.left-Oe,dt=H.width+Ye,yn=Math.max(dt,Y.width),Xt=window.innerWidth-cn,Zt=Eh(Oe,[cn,Math.max(cn,Xt-yn)]);p.style.minWidth=dt+"px",p.style.left=Zt+"px"}else{const Me=Y.right-te.right,Oe=window.innerWidth-Z.right-Me,Ye=window.innerWidth-H.right-Oe,dt=H.width+Ye,yn=Math.max(dt,Y.width),Xt=window.innerWidth-cn,Zt=Eh(Oe,[cn,Math.max(cn,Xt-yn)]);p.style.minWidth=dt+"px",p.style.right=Zt+"px"}const he=E(),X=window.innerHeight-cn*2,ye=S.scrollHeight,ce=window.getComputedStyle(v),xe=parseInt(ce.borderTopWidth,10),ae=parseInt(ce.paddingTop,10),ie=parseInt(ce.borderBottomWidth,10),j=parseInt(ce.paddingBottom,10),B=xe+ae+ye+j+ie,V=Math.min(C.offsetHeight*5,B),N=window.getComputedStyle(S),F=parseInt(N.paddingTop,10),ne=parseInt(N.paddingBottom,10),re=H.top+H.height/2-cn,ve=X-re,Se=C.offsetHeight/2,K=C.offsetTop+Se,fe=xe+ae+K,Ce=B-fe;if(fe<=re){const Me=he.length>0&&C===he[he.length-1].ref.current;p.style.bottom="0px";const Oe=v.clientHeight-S.offsetTop-S.offsetHeight,Ye=Math.max(ve,Se+(Me?ne:0)+Oe+ie),dt=fe+Ye;p.style.height=dt+"px"}else{const Me=he.length>0&&C===he[0].ref.current;p.style.top="0px";const Ye=Math.max(re,xe+S.offsetTop+(Me?F:0)+Se)+Ce;p.style.height=Ye+"px",S.scrollTop=fe-re+S.offsetTop}p.style.margin=`${cn}px 0`,p.style.minHeight=V+"px",p.style.maxHeight=X+"px",l==null||l(),requestAnimationFrame(()=>y.current=!0)}},[E,c.trigger,c.valueNode,p,v,S,C,P,c.dir,l]);It(()=>R(),[R]);const[L,z]=g.useState();It(()=>{v&&z(window.getComputedStyle(v).zIndex)},[v]);const U=g.useCallback(H=>{H&&O.current===!0&&(R(),T==null||T(),O.current=!1)},[R,T]);return ee.jsx(iC,{scope:i,contentWrapper:p,shouldExpandOnScrollRef:y,onScrollButtonChange:U,children:ee.jsx("div",{ref:h,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:L},children:ee.jsx(Xe.div,{...u,ref:x,style:{boxSizing:"border-box",maxHeight:"100%",...u.style}})})})});Gv.displayName=rC;var oC="SelectPopperPosition",zc=g.forwardRef((n,r)=>{const{__scopeSelect:i,align:l="start",collisionPadding:u=cn,...c}=n,f=ma(i);return ee.jsx(JS,{...f,...c,ref:r,align:l,collisionPadding:u,style:{boxSizing:"border-box",...c.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});zc.displayName=oC;var[iC,md]=Si(So,{}),jc="SelectViewport",qv=g.forwardRef((n,r)=>{const{__scopeSelect:i,nonce:l,...u}=n,c=Wr(jc,i),f=md(jc,i),p=ct(r,c.onViewportChange),h=g.useRef(0);return ee.jsxs(ee.Fragment,{children:[ee.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),ee.jsx(pa.Slot,{scope:i,children:ee.jsx(Xe.div,{"data-radix-select-viewport":"",role:"presentation",...u,ref:p,style:{position:"relative",flex:1,overflow:"hidden auto",...u.style},onScroll:Je(u.onScroll,v=>{const w=v.currentTarget,{contentWrapper:x,shouldExpandOnScrollRef:E}=f;if(E!=null&&E.current&&x){const y=Math.abs(h.current-w.scrollTop);if(y>0){const O=window.innerHeight-cn*2,S=parseFloat(x.style.minHeight),C=parseFloat(x.style.height),P=Math.max(S,C);if(P<O){const T=P+y,R=Math.min(O,T),L=T-R;x.style.height=R+"px",x.style.bottom==="0px"&&(w.scrollTop=L>0?L:0,x.style.justifyContent="flex-end")}}}h.current=w.scrollTop})})})]})});qv.displayName=jc;var Xv="SelectGroup",[sC,lC]=Si(Xv),aC=g.forwardRef((n,r)=>{const{__scopeSelect:i,...l}=n,u=sd();return ee.jsx(sC,{scope:i,id:u,children:ee.jsx(Xe.div,{role:"group","aria-labelledby":u,...l,ref:r})})});aC.displayName=Xv;var Zv="SelectLabel",Jv=g.forwardRef((n,r)=>{const{__scopeSelect:i,...l}=n,u=lC(Zv,i);return ee.jsx(Xe.div,{id:u.id,...l,ref:r})});Jv.displayName=Zv;var ia="SelectItem",[uC,ey]=Si(ia),ty=g.forwardRef((n,r)=>{const{__scopeSelect:i,value:l,disabled:u=!1,textValue:c,...f}=n,p=$r(ia,i),h=Wr(ia,i),v=p.value===l,[w,x]=g.useState(c??""),[E,y]=g.useState(!1),O=ct(r,T=>{var R;return(R=h.itemRefCallback)==null?void 0:R.call(h,T,l,u)}),S=sd(),C=g.useRef("touch"),P=()=>{u||(p.onValueChange(l),p.onOpenChange(!1))};if(l==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return ee.jsx(uC,{scope:i,value:l,disabled:u,textId:S,isSelected:v,onItemTextChange:g.useCallback(T=>{x(R=>R||((T==null?void 0:T.textContent)??"").trim())},[]),children:ee.jsx(pa.ItemSlot,{scope:i,value:l,disabled:u,textValue:w,children:ee.jsx(Xe.div,{role:"option","aria-labelledby":S,"data-highlighted":E?"":void 0,"aria-selected":v&&E,"data-state":v?"checked":"unchecked","aria-disabled":u||void 0,"data-disabled":u?"":void 0,tabIndex:u?void 0:-1,...f,ref:O,onFocus:Je(f.onFocus,()=>y(!0)),onBlur:Je(f.onBlur,()=>y(!1)),onClick:Je(f.onClick,()=>{C.current!=="mouse"&&P()}),onPointerUp:Je(f.onPointerUp,()=>{C.current==="mouse"&&P()}),onPointerDown:Je(f.onPointerDown,T=>{C.current=T.pointerType}),onPointerMove:Je(f.onPointerMove,T=>{var R;C.current=T.pointerType,u?(R=h.onItemLeave)==null||R.call(h):C.current==="mouse"&&T.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Je(f.onPointerLeave,T=>{var R;T.currentTarget===document.activeElement&&((R=h.onItemLeave)==null||R.call(h))}),onKeyDown:Je(f.onKeyDown,T=>{var L;((L=h.searchRef)==null?void 0:L.current)!==""&&T.key===" "||(Y2.includes(T.key)&&P(),T.key===" "&&T.preventDefault())})})})})});ty.displayName=ia;var us="SelectItemText",ny=g.forwardRef((n,r)=>{const{__scopeSelect:i,className:l,style:u,...c}=n,f=$r(us,i),p=Wr(us,i),h=ey(us,i),v=Z2(us,i),[w,x]=g.useState(null),E=ct(r,P=>x(P),h.onItemTextChange,P=>{var T;return(T=p.itemTextRefCallback)==null?void 0:T.call(p,P,h.value,h.disabled)}),y=w==null?void 0:w.textContent,O=g.useMemo(()=>ee.jsx("option",{value:h.value,disabled:h.disabled,children:y},h.value),[h.disabled,h.value,y]),{onNativeOptionAdd:S,onNativeOptionRemove:C}=v;return It(()=>(S(O),()=>C(O)),[S,C,O]),ee.jsxs(ee.Fragment,{children:[ee.jsx(Xe.span,{id:h.textId,...c,ref:E}),h.isSelected&&f.valueNode&&!f.valueNodeHasChildren?xs.createPortal(c.children,f.valueNode):null]})});ny.displayName=us;var ry="SelectItemIndicator",oy=g.forwardRef((n,r)=>{const{__scopeSelect:i,...l}=n;return ey(ry,i).isSelected?ee.jsx(Xe.span,{"aria-hidden":!0,...l,ref:r}):null});oy.displayName=ry;var Bc="SelectScrollUpButton",iy=g.forwardRef((n,r)=>{const i=Wr(Bc,n.__scopeSelect),l=md(Bc,n.__scopeSelect),[u,c]=g.useState(!1),f=ct(r,l.onScrollButtonChange);return It(()=>{if(i.viewport&&i.isPositioned){let p=function(){const v=h.scrollTop>0;c(v)};const h=i.viewport;return p(),h.addEventListener("scroll",p),()=>h.removeEventListener("scroll",p)}},[i.viewport,i.isPositioned]),u?ee.jsx(ly,{...n,ref:f,onAutoScroll:()=>{const{viewport:p,selectedItem:h}=i;p&&h&&(p.scrollTop=p.scrollTop-h.offsetHeight)}}):null});iy.displayName=Bc;var Uc="SelectScrollDownButton",sy=g.forwardRef((n,r)=>{const i=Wr(Uc,n.__scopeSelect),l=md(Uc,n.__scopeSelect),[u,c]=g.useState(!1),f=ct(r,l.onScrollButtonChange);return It(()=>{if(i.viewport&&i.isPositioned){let p=function(){const v=h.scrollHeight-h.clientHeight,w=Math.ceil(h.scrollTop)<v;c(w)};const h=i.viewport;return p(),h.addEventListener("scroll",p),()=>h.removeEventListener("scroll",p)}},[i.viewport,i.isPositioned]),u?ee.jsx(ly,{...n,ref:f,onAutoScroll:()=>{const{viewport:p,selectedItem:h}=i;p&&h&&(p.scrollTop=p.scrollTop+h.offsetHeight)}}):null});sy.displayName=Uc;var ly=g.forwardRef((n,r)=>{const{__scopeSelect:i,onAutoScroll:l,...u}=n,c=Wr("SelectScrollButton",i),f=g.useRef(null),p=ha(i),h=g.useCallback(()=>{f.current!==null&&(window.clearInterval(f.current),f.current=null)},[]);return g.useEffect(()=>()=>h(),[h]),It(()=>{var w;const v=p().find(x=>x.ref.current===document.activeElement);(w=v==null?void 0:v.ref.current)==null||w.scrollIntoView({block:"nearest"})},[p]),ee.jsx(Xe.div,{"aria-hidden":!0,...u,ref:r,style:{flexShrink:0,...u.style},onPointerDown:Je(u.onPointerDown,()=>{f.current===null&&(f.current=window.setInterval(l,50))}),onPointerMove:Je(u.onPointerMove,()=>{var v;(v=c.onItemLeave)==null||v.call(c),f.current===null&&(f.current=window.setInterval(l,50))}),onPointerLeave:Je(u.onPointerLeave,()=>{h()})})}),cC="SelectSeparator",ay=g.forwardRef((n,r)=>{const{__scopeSelect:i,...l}=n;return ee.jsx(Xe.div,{"aria-hidden":!0,...l,ref:r})});ay.displayName=cC;var Hc="SelectArrow",dC=g.forwardRef((n,r)=>{const{__scopeSelect:i,...l}=n,u=ma(i),c=$r(Hc,i),f=Wr(Hc,i);return c.open&&f.position==="popper"?ee.jsx(e2,{...u,...l,ref:r}):null});dC.displayName=Hc;var fC="SelectBubbleInput",uy=g.forwardRef(({__scopeSelect:n,value:r,...i},l)=>{const u=g.useRef(null),c=ct(l,u),f=i2(r);return g.useEffect(()=>{const p=u.current;if(!p)return;const h=window.HTMLSelectElement.prototype,w=Object.getOwnPropertyDescriptor(h,"value").set;if(f!==r&&w){const x=new Event("change",{bubbles:!0});w.call(p,r),p.dispatchEvent(x)}},[f,r]),ee.jsx(Xe.select,{...i,style:{...Mv,...i.style},ref:c,defaultValue:r})});uy.displayName=fC;function cy(n){return n===""||n===void 0}function dy(n){const r=go(n),i=g.useRef(""),l=g.useRef(0),u=g.useCallback(f=>{const p=i.current+f;r(p),(function h(v){i.current=v,window.clearTimeout(l.current),v!==""&&(l.current=window.setTimeout(()=>h(""),1e3))})(p)},[r]),c=g.useCallback(()=>{i.current="",window.clearTimeout(l.current)},[]);return g.useEffect(()=>()=>window.clearTimeout(l.current),[]),[i,u,c]}function fy(n,r,i){const u=r.length>1&&Array.from(r).every(v=>v===r[0])?r[0]:r,c=i?n.indexOf(i):-1;let f=pC(n,Math.max(c,0));u.length===1&&(f=f.filter(v=>v!==i));const h=f.find(v=>v.textValue.toLowerCase().startsWith(u.toLowerCase()));return h!==i?h:void 0}function pC(n,r){return n.map((i,l)=>n[(r+l)%n.length])}var uk=jv,ck=Uv,dk=$v,fk=Wv,pk=Vv,hk=Qv,mk=qv,vk=Jv,yk=ty,gk=ny,wk=oy,xk=iy,Sk=sy,Ck=ay;const Gh=n=>{let r;const i=new Set,l=(v,w)=>{const x=typeof v=="function"?v(r):v;if(!Object.is(x,r)){const E=r;r=w??(typeof x!="object"||x===null)?x:Object.assign({},r,x),i.forEach(y=>y(r,E))}},u=()=>r,p={setState:l,getState:u,getInitialState:()=>h,subscribe:v=>(i.add(v),()=>i.delete(v))},h=r=n(l,u,p);return p},hC=(n=>n?Gh(n):Gh),mC=n=>n;function vC(n,r=mC){const i=q.useSyncExternalStore(n.subscribe,q.useCallback(()=>r(n.getState()),[n,r]),q.useCallback(()=>r(n.getInitialState()),[n,r]));return q.useDebugValue(i),i}const qh=n=>{const r=hC(n),i=l=>vC(r,l);return Object.assign(i,r),i},Ek=(n=>n?qh(n):qh);var yC=n=>{switch(n){case"success":return xC;case"info":return CC;case"warning":return SC;case"error":return EC;default:return null}},gC=Array(12).fill(0),wC=({visible:n,className:r})=>q.createElement("div",{className:["sonner-loading-wrapper",r].filter(Boolean).join(" "),"data-visible":n},q.createElement("div",{className:"sonner-spinner"},gC.map((i,l)=>q.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${l}`})))),xC=q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},q.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),SC=q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},q.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),CC=q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},q.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),EC=q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},q.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),kC=q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},q.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),q.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),bC=()=>{let[n,r]=q.useState(document.hidden);return q.useEffect(()=>{let i=()=>{r(document.hidden)};return document.addEventListener("visibilitychange",i),()=>window.removeEventListener("visibilitychange",i)},[]),n},$c=1,RC=class{constructor(){this.subscribe=n=>(this.subscribers.push(n),()=>{let r=this.subscribers.indexOf(n);this.subscribers.splice(r,1)}),this.publish=n=>{this.subscribers.forEach(r=>r(n))},this.addToast=n=>{this.publish(n),this.toasts=[...this.toasts,n]},this.create=n=>{var r;let{message:i,...l}=n,u=typeof(n==null?void 0:n.id)=="number"||((r=n.id)==null?void 0:r.length)>0?n.id:$c++,c=this.toasts.find(p=>p.id===u),f=n.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(u)&&this.dismissedToasts.delete(u),c?this.toasts=this.toasts.map(p=>p.id===u?(this.publish({...p,...n,id:u,title:i}),{...p,...n,id:u,dismissible:f,title:i}):p):this.addToast({title:i,...l,dismissible:f,id:u}),u},this.dismiss=n=>(this.dismissedToasts.add(n),n||this.toasts.forEach(r=>{this.subscribers.forEach(i=>i({id:r.id,dismiss:!0}))}),this.subscribers.forEach(r=>r({id:n,dismiss:!0})),n),this.message=(n,r)=>this.create({...r,message:n}),this.error=(n,r)=>this.create({...r,message:n,type:"error"}),this.success=(n,r)=>this.create({...r,type:"success",message:n}),this.info=(n,r)=>this.create({...r,type:"info",message:n}),this.warning=(n,r)=>this.create({...r,type:"warning",message:n}),this.loading=(n,r)=>this.create({...r,type:"loading",message:n}),this.promise=(n,r)=>{if(!r)return;let i;r.loading!==void 0&&(i=this.create({...r,promise:n,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));let l=n instanceof Promise?n:n(),u=i!==void 0,c,f=l.then(async h=>{if(c=["resolve",h],q.isValidElement(h))u=!1,this.create({id:i,type:"default",message:h});else if(MC(h)&&!h.ok){u=!1;let v=typeof r.error=="function"?await r.error(`HTTP error! status: ${h.status}`):r.error,w=typeof r.description=="function"?await r.description(`HTTP error! status: ${h.status}`):r.description;this.create({id:i,type:"error",message:v,description:w})}else if(r.success!==void 0){u=!1;let v=typeof r.success=="function"?await r.success(h):r.success,w=typeof r.description=="function"?await r.description(h):r.description;this.create({id:i,type:"success",message:v,description:w})}}).catch(async h=>{if(c=["reject",h],r.error!==void 0){u=!1;let v=typeof r.error=="function"?await r.error(h):r.error,w=typeof r.description=="function"?await r.description(h):r.description;this.create({id:i,type:"error",message:v,description:w})}}).finally(()=>{var h;u&&(this.dismiss(i),i=void 0),(h=r.finally)==null||h.call(r)}),p=()=>new Promise((h,v)=>f.then(()=>c[0]==="reject"?v(c[1]):h(c[1])).catch(v));return typeof i!="string"&&typeof i!="number"?{unwrap:p}:Object.assign(i,{unwrap:p})},this.custom=(n,r)=>{let i=(r==null?void 0:r.id)||$c++;return this.create({jsx:n(i),id:i,...r}),i},this.getActiveToasts=()=>this.toasts.filter(n=>!this.dismissedToasts.has(n.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Lt=new RC,PC=(n,r)=>{let i=(r==null?void 0:r.id)||$c++;return Lt.addToast({title:n,...r,id:i}),i},MC=n=>n&&typeof n=="object"&&"ok"in n&&typeof n.ok=="boolean"&&"status"in n&&typeof n.status=="number",TC=PC,OC=()=>Lt.toasts,NC=()=>Lt.getActiveToasts(),kk=Object.assign(TC,{success:Lt.success,info:Lt.info,warning:Lt.warning,error:Lt.error,custom:Lt.custom,message:Lt.message,promise:Lt.promise,dismiss:Lt.dismiss,loading:Lt.loading},{getHistory:OC,getToasts:NC});function _C(n,{insertAt:r}={}){if(typeof document>"u")return;let i=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css",r==="top"&&i.firstChild?i.insertBefore(l,i.firstChild):i.appendChild(l),l.styleSheet?l.styleSheet.cssText=n:l.appendChild(document.createTextNode(n))}_C(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
|
|
402
|
-
`);function Wl(n){return n.label!==void 0}var LC=3,IC="32px",AC="16px",Xh=4e3,DC=356,FC=14,zC=20,jC=200;function un(...n){return n.filter(Boolean).join(" ")}function BC(n){let[r,i]=n.split("-"),l=[];return r&&l.push(r),i&&l.push(i),l}var UC=n=>{var r,i,l,u,c,f,p,h,v,w,x;let{invert:E,toast:y,unstyled:O,interacting:S,setHeights:C,visibleToasts:P,heights:T,index:R,toasts:L,expanded:z,removeToast:U,defaultRichColors:H,closeButton:Y,style:Z,cancelButtonStyle:te,actionButtonStyle:he,className:X="",descriptionClassName:ye="",duration:ce,position:xe,gap:ae,loadingIcon:ie,expandByDefault:j,classNames:B,icons:V,closeButtonAriaLabel:N="Close toast",pauseWhenPageIsHidden:F}=n,[ne,re]=q.useState(null),[ve,Se]=q.useState(null),[K,fe]=q.useState(!1),[Ce,be]=q.useState(!1),[Me,Oe]=q.useState(!1),[Ye,dt]=q.useState(!1),[yn,Xt]=q.useState(!1),[Zt,or]=q.useState(0),[gn,ir]=q.useState(0),Ht=q.useRef(y.duration||ce||Xh),Co=q.useRef(null),wn=q.useRef(null),Cs=R===0,Es=R+1<=P,yt=y.type,xn=y.dismissible!==!1,Eo=y.className||"",ks=y.descriptionClassName||"",Sn=q.useMemo(()=>T.findIndex(ke=>ke.toastId===y.id)||0,[T,y.id]),Vr=q.useMemo(()=>{var ke;return(ke=y.closeButton)!=null?ke:Y},[y.closeButton,Y]),bs=q.useMemo(()=>y.duration||ce||Xh,[y.duration,ce]),ko=q.useRef(0),zn=q.useRef(0),Rs=q.useRef(0),Cn=q.useRef(null),[Ci,Ei]=xe.split("-"),bo=q.useMemo(()=>T.reduce((ke,Ie,Fe)=>Fe>=Sn?ke:ke+Ie.height,0),[T,Sn]),Ro=bC(),sr=y.invert||E,En=yt==="loading";zn.current=q.useMemo(()=>Sn*ae+bo,[Sn,bo]),q.useEffect(()=>{Ht.current=bs},[bs]),q.useEffect(()=>{fe(!0)},[]),q.useEffect(()=>{let ke=wn.current;if(ke){let Ie=ke.getBoundingClientRect().height;return ir(Ie),C(Fe=>[{toastId:y.id,height:Ie,position:y.position},...Fe]),()=>C(Fe=>Fe.filter(gt=>gt.toastId!==y.id))}},[C,y.id]),q.useLayoutEffect(()=>{if(!K)return;let ke=wn.current,Ie=ke.style.height;ke.style.height="auto";let Fe=ke.getBoundingClientRect().height;ke.style.height=Ie,ir(Fe),C(gt=>gt.find(Et=>Et.toastId===y.id)?gt.map(Et=>Et.toastId===y.id?{...Et,height:Fe}:Et):[{toastId:y.id,height:Fe,position:y.position},...gt])},[K,y.title,y.description,C,y.id]);let Jt=q.useCallback(()=>{be(!0),or(zn.current),C(ke=>ke.filter(Ie=>Ie.toastId!==y.id)),setTimeout(()=>{U(y)},jC)},[y,U,C,zn]);q.useEffect(()=>{if(y.promise&&yt==="loading"||y.duration===1/0||y.type==="loading")return;let ke;return z||S||F&&Ro?(()=>{if(Rs.current<ko.current){let Ie=new Date().getTime()-ko.current;Ht.current=Ht.current-Ie}Rs.current=new Date().getTime()})():Ht.current!==1/0&&(ko.current=new Date().getTime(),ke=setTimeout(()=>{var Ie;(Ie=y.onAutoClose)==null||Ie.call(y,y),Jt()},Ht.current)),()=>clearTimeout(ke)},[z,S,y,yt,F,Ro,Jt]),q.useEffect(()=>{y.delete&&Jt()},[Jt,y.delete]);function Ps(){var ke,Ie,Fe;return V!=null&&V.loading?q.createElement("div",{className:un(B==null?void 0:B.loader,(ke=y==null?void 0:y.classNames)==null?void 0:ke.loader,"sonner-loader"),"data-visible":yt==="loading"},V.loading):ie?q.createElement("div",{className:un(B==null?void 0:B.loader,(Ie=y==null?void 0:y.classNames)==null?void 0:Ie.loader,"sonner-loader"),"data-visible":yt==="loading"},ie):q.createElement(wC,{className:un(B==null?void 0:B.loader,(Fe=y==null?void 0:y.classNames)==null?void 0:Fe.loader),visible:yt==="loading"})}return q.createElement("li",{tabIndex:0,ref:wn,className:un(X,Eo,B==null?void 0:B.toast,(r=y==null?void 0:y.classNames)==null?void 0:r.toast,B==null?void 0:B.default,B==null?void 0:B[yt],(i=y==null?void 0:y.classNames)==null?void 0:i[yt]),"data-sonner-toast":"","data-rich-colors":(l=y.richColors)!=null?l:H,"data-styled":!(y.jsx||y.unstyled||O),"data-mounted":K,"data-promise":!!y.promise,"data-swiped":yn,"data-removed":Ce,"data-visible":Es,"data-y-position":Ci,"data-x-position":Ei,"data-index":R,"data-front":Cs,"data-swiping":Me,"data-dismissible":xn,"data-type":yt,"data-invert":sr,"data-swipe-out":Ye,"data-swipe-direction":ve,"data-expanded":!!(z||j&&K),style:{"--index":R,"--toasts-before":R,"--z-index":L.length-R,"--offset":`${Ce?Zt:zn.current}px`,"--initial-height":j?"auto":`${gn}px`,...Z,...y.style},onDragEnd:()=>{Oe(!1),re(null),Cn.current=null},onPointerDown:ke=>{En||!xn||(Co.current=new Date,or(zn.current),ke.target.setPointerCapture(ke.pointerId),ke.target.tagName!=="BUTTON"&&(Oe(!0),Cn.current={x:ke.clientX,y:ke.clientY}))},onPointerUp:()=>{var ke,Ie,Fe,gt;if(Ye||!xn)return;Cn.current=null;let Et=Number(((ke=wn.current)==null?void 0:ke.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),kt=Number(((Ie=wn.current)==null?void 0:Ie.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),en=new Date().getTime()-((Fe=Co.current)==null?void 0:Fe.getTime()),lt=ne==="x"?Et:kt,kn=Math.abs(lt)/en;if(Math.abs(lt)>=zC||kn>.11){or(zn.current),(gt=y.onDismiss)==null||gt.call(y,y),Se(ne==="x"?Et>0?"right":"left":kt>0?"down":"up"),Jt(),dt(!0),Xt(!1);return}Oe(!1),re(null)},onPointerMove:ke=>{var Ie,Fe,gt,Et;if(!Cn.current||!xn||((Ie=window.getSelection())==null?void 0:Ie.toString().length)>0)return;let kt=ke.clientY-Cn.current.y,en=ke.clientX-Cn.current.x,lt=(Fe=n.swipeDirections)!=null?Fe:BC(xe);!ne&&(Math.abs(en)>1||Math.abs(kt)>1)&&re(Math.abs(en)>Math.abs(kt)?"x":"y");let kn={x:0,y:0};ne==="y"?(lt.includes("top")||lt.includes("bottom"))&&(lt.includes("top")&&kt<0||lt.includes("bottom")&&kt>0)&&(kn.y=kt):ne==="x"&&(lt.includes("left")||lt.includes("right"))&&(lt.includes("left")&&en<0||lt.includes("right")&&en>0)&&(kn.x=en),(Math.abs(kn.x)>0||Math.abs(kn.y)>0)&&Xt(!0),(gt=wn.current)==null||gt.style.setProperty("--swipe-amount-x",`${kn.x}px`),(Et=wn.current)==null||Et.style.setProperty("--swipe-amount-y",`${kn.y}px`)}},Vr&&!y.jsx?q.createElement("button",{"aria-label":N,"data-disabled":En,"data-close-button":!0,onClick:En||!xn?()=>{}:()=>{var ke;Jt(),(ke=y.onDismiss)==null||ke.call(y,y)},className:un(B==null?void 0:B.closeButton,(u=y==null?void 0:y.classNames)==null?void 0:u.closeButton)},(c=V==null?void 0:V.close)!=null?c:kC):null,y.jsx||g.isValidElement(y.title)?y.jsx?y.jsx:typeof y.title=="function"?y.title():y.title:q.createElement(q.Fragment,null,yt||y.icon||y.promise?q.createElement("div",{"data-icon":"",className:un(B==null?void 0:B.icon,(f=y==null?void 0:y.classNames)==null?void 0:f.icon)},y.promise||y.type==="loading"&&!y.icon?y.icon||Ps():null,y.type!=="loading"?y.icon||(V==null?void 0:V[yt])||yC(yt):null):null,q.createElement("div",{"data-content":"",className:un(B==null?void 0:B.content,(p=y==null?void 0:y.classNames)==null?void 0:p.content)},q.createElement("div",{"data-title":"",className:un(B==null?void 0:B.title,(h=y==null?void 0:y.classNames)==null?void 0:h.title)},typeof y.title=="function"?y.title():y.title),y.description?q.createElement("div",{"data-description":"",className:un(ye,ks,B==null?void 0:B.description,(v=y==null?void 0:y.classNames)==null?void 0:v.description)},typeof y.description=="function"?y.description():y.description):null),g.isValidElement(y.cancel)?y.cancel:y.cancel&&Wl(y.cancel)?q.createElement("button",{"data-button":!0,"data-cancel":!0,style:y.cancelButtonStyle||te,onClick:ke=>{var Ie,Fe;Wl(y.cancel)&&xn&&((Fe=(Ie=y.cancel).onClick)==null||Fe.call(Ie,ke),Jt())},className:un(B==null?void 0:B.cancelButton,(w=y==null?void 0:y.classNames)==null?void 0:w.cancelButton)},y.cancel.label):null,g.isValidElement(y.action)?y.action:y.action&&Wl(y.action)?q.createElement("button",{"data-button":!0,"data-action":!0,style:y.actionButtonStyle||he,onClick:ke=>{var Ie,Fe;Wl(y.action)&&((Fe=(Ie=y.action).onClick)==null||Fe.call(Ie,ke),!ke.defaultPrevented&&Jt())},className:un(B==null?void 0:B.actionButton,(x=y==null?void 0:y.classNames)==null?void 0:x.actionButton)},y.action.label):null))};function Zh(){if(typeof window>"u"||typeof document>"u")return"ltr";let n=document.documentElement.getAttribute("dir");return n==="auto"||!n?window.getComputedStyle(document.documentElement).direction:n}function HC(n,r){let i={};return[n,r].forEach((l,u)=>{let c=u===1,f=c?"--mobile-offset":"--offset",p=c?AC:IC;function h(v){["top","right","bottom","left"].forEach(w=>{i[`${f}-${w}`]=typeof v=="number"?`${v}px`:v})}typeof l=="number"||typeof l=="string"?h(l):typeof l=="object"?["top","right","bottom","left"].forEach(v=>{l[v]===void 0?i[`${f}-${v}`]=p:i[`${f}-${v}`]=typeof l[v]=="number"?`${l[v]}px`:l[v]}):h(p)}),i}var bk=g.forwardRef(function(n,r){let{invert:i,position:l="bottom-right",hotkey:u=["altKey","KeyT"],expand:c,closeButton:f,className:p,offset:h,mobileOffset:v,theme:w="light",richColors:x,duration:E,style:y,visibleToasts:O=LC,toastOptions:S,dir:C=Zh(),gap:P=FC,loadingIcon:T,icons:R,containerAriaLabel:L="Notifications",pauseWhenPageIsHidden:z}=n,[U,H]=q.useState([]),Y=q.useMemo(()=>Array.from(new Set([l].concat(U.filter(F=>F.position).map(F=>F.position)))),[U,l]),[Z,te]=q.useState([]),[he,X]=q.useState(!1),[ye,ce]=q.useState(!1),[xe,ae]=q.useState(w!=="system"?w:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ie=q.useRef(null),j=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),B=q.useRef(null),V=q.useRef(!1),N=q.useCallback(F=>{H(ne=>{var re;return(re=ne.find(ve=>ve.id===F.id))!=null&&re.delete||Lt.dismiss(F.id),ne.filter(({id:ve})=>ve!==F.id)})},[]);return q.useEffect(()=>Lt.subscribe(F=>{if(F.dismiss){H(ne=>ne.map(re=>re.id===F.id?{...re,delete:!0}:re));return}setTimeout(()=>{_m.flushSync(()=>{H(ne=>{let re=ne.findIndex(ve=>ve.id===F.id);return re!==-1?[...ne.slice(0,re),{...ne[re],...F},...ne.slice(re+1)]:[F,...ne]})})})}),[]),q.useEffect(()=>{if(w!=="system"){ae(w);return}if(w==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?ae("dark"):ae("light")),typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");try{F.addEventListener("change",({matches:ne})=>{ae(ne?"dark":"light")})}catch{F.addListener(({matches:re})=>{try{ae(re?"dark":"light")}catch(ve){console.error(ve)}})}},[w]),q.useEffect(()=>{U.length<=1&&X(!1)},[U]),q.useEffect(()=>{let F=ne=>{var re,ve;u.every(Se=>ne[Se]||ne.code===Se)&&(X(!0),(re=ie.current)==null||re.focus()),ne.code==="Escape"&&(document.activeElement===ie.current||(ve=ie.current)!=null&&ve.contains(document.activeElement))&&X(!1)};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[u]),q.useEffect(()=>{if(ie.current)return()=>{B.current&&(B.current.focus({preventScroll:!0}),B.current=null,V.current=!1)}},[ie.current]),q.createElement("section",{ref:r,"aria-label":`${L} ${j}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},Y.map((F,ne)=>{var re;let[ve,Se]=F.split("-");return U.length?q.createElement("ol",{key:F,dir:C==="auto"?Zh():C,tabIndex:-1,ref:ie,className:p,"data-sonner-toaster":!0,"data-theme":xe,"data-y-position":ve,"data-lifted":he&&U.length>1&&!c,"data-x-position":Se,style:{"--front-toast-height":`${((re=Z[0])==null?void 0:re.height)||0}px`,"--width":`${DC}px`,"--gap":`${P}px`,...y,...HC(h,v)},onBlur:K=>{V.current&&!K.currentTarget.contains(K.relatedTarget)&&(V.current=!1,B.current&&(B.current.focus({preventScroll:!0}),B.current=null))},onFocus:K=>{K.target instanceof HTMLElement&&K.target.dataset.dismissible==="false"||V.current||(V.current=!0,B.current=K.relatedTarget)},onMouseEnter:()=>X(!0),onMouseMove:()=>X(!0),onMouseLeave:()=>{ye||X(!1)},onDragEnd:()=>X(!1),onPointerDown:K=>{K.target instanceof HTMLElement&&K.target.dataset.dismissible==="false"||ce(!0)},onPointerUp:()=>ce(!1)},U.filter(K=>!K.position&&ne===0||K.position===F).map((K,fe)=>{var Ce,be;return q.createElement(UC,{key:K.id,icons:R,index:fe,toast:K,defaultRichColors:x,duration:(Ce=S==null?void 0:S.duration)!=null?Ce:E,className:S==null?void 0:S.className,descriptionClassName:S==null?void 0:S.descriptionClassName,invert:i,visibleToasts:O,closeButton:(be=S==null?void 0:S.closeButton)!=null?be:f,interacting:ye,position:F,style:S==null?void 0:S.style,unstyled:S==null?void 0:S.unstyled,classNames:S==null?void 0:S.classNames,cancelButtonStyle:S==null?void 0:S.cancelButtonStyle,actionButtonStyle:S==null?void 0:S.actionButtonStyle,removeToast:N,toasts:U.filter(Me=>Me.position==K.position),heights:Z.filter(Me=>Me.position==K.position),setHeights:te,expandByDefault:c,gap:P,loadingIcon:T,expanded:he,pauseWhenPageIsHidden:z,swipeDirections:n.swipeDirections})})):null}))});export{bk as $,nE as A,lE as B,uE as C,u1 as D,QC as E,WC as F,CE as G,RE as H,fk as I,YC as J,ME as K,vk as L,LE as M,I1 as N,dE as O,pk as P,qC as Q,uk as R,xk as S,ck as T,SE as U,mk as V,OE as W,HE as X,KE as Y,IE as Z,cm as _,cE as a,rk as a0,sE as a1,ok as a2,mE as a3,ek as a4,EE as a5,xE as a6,YE as a7,pE as a8,$h as a9,$E as aA,Em as aB,VC as aC,gE as aD,wE as aE,qE as aF,fE as aG,kk as aH,NE as aI,bE as aJ,tk as aK,QE as aL,PE as aM,hE as aN,ZC as aO,$m as aP,JC as aQ,ak as aR,lk as aS,DE as aT,It as aU,sk as aV,_E as aW,zE as aX,oE as aY,kE as aZ,XS as aa,sd as ab,ct as ac,Xe as ad,Je as ae,ZS as af,gv as ag,Pv as ah,id as ai,c2 as aj,zv as ak,ea as al,Sx as am,rv as an,tv as ao,JS as ap,e2 as aq,WE as ar,yE as as,ik as at,jE as au,JE as av,GE as aw,nk as ax,VE as ay,BE as az,Sk as b,eE as c,hk as d,yk as e,wk as f,aE as g,gk as h,Ck as i,ee as j,dk as k,vE as l,ZE as m,AE as n,UE as o,rE as p,XE as q,g as r,FE as s,tE as t,TE as u,iE as v,Hr as w,Ek as x,XC as y,KC as z};
|
|
402
|
+
`);function Wl(n){return n.label!==void 0}var LC=3,IC="32px",AC="16px",Xh=4e3,DC=356,FC=14,zC=20,jC=200;function un(...n){return n.filter(Boolean).join(" ")}function BC(n){let[r,i]=n.split("-"),l=[];return r&&l.push(r),i&&l.push(i),l}var UC=n=>{var r,i,l,u,c,f,p,h,v,w,x;let{invert:E,toast:y,unstyled:O,interacting:S,setHeights:C,visibleToasts:P,heights:T,index:R,toasts:L,expanded:z,removeToast:U,defaultRichColors:H,closeButton:Y,style:Z,cancelButtonStyle:te,actionButtonStyle:he,className:X="",descriptionClassName:ye="",duration:ce,position:xe,gap:ae,loadingIcon:ie,expandByDefault:j,classNames:B,icons:V,closeButtonAriaLabel:N="Close toast",pauseWhenPageIsHidden:F}=n,[ne,re]=q.useState(null),[ve,Se]=q.useState(null),[K,fe]=q.useState(!1),[Ce,be]=q.useState(!1),[Me,Oe]=q.useState(!1),[Ye,dt]=q.useState(!1),[yn,Xt]=q.useState(!1),[Zt,or]=q.useState(0),[gn,ir]=q.useState(0),Ht=q.useRef(y.duration||ce||Xh),Co=q.useRef(null),wn=q.useRef(null),Cs=R===0,Es=R+1<=P,yt=y.type,xn=y.dismissible!==!1,Eo=y.className||"",ks=y.descriptionClassName||"",Sn=q.useMemo(()=>T.findIndex(ke=>ke.toastId===y.id)||0,[T,y.id]),Vr=q.useMemo(()=>{var ke;return(ke=y.closeButton)!=null?ke:Y},[y.closeButton,Y]),bs=q.useMemo(()=>y.duration||ce||Xh,[y.duration,ce]),ko=q.useRef(0),zn=q.useRef(0),Rs=q.useRef(0),Cn=q.useRef(null),[Ci,Ei]=xe.split("-"),bo=q.useMemo(()=>T.reduce((ke,Ie,Fe)=>Fe>=Sn?ke:ke+Ie.height,0),[T,Sn]),Ro=bC(),sr=y.invert||E,En=yt==="loading";zn.current=q.useMemo(()=>Sn*ae+bo,[Sn,bo]),q.useEffect(()=>{Ht.current=bs},[bs]),q.useEffect(()=>{fe(!0)},[]),q.useEffect(()=>{let ke=wn.current;if(ke){let Ie=ke.getBoundingClientRect().height;return ir(Ie),C(Fe=>[{toastId:y.id,height:Ie,position:y.position},...Fe]),()=>C(Fe=>Fe.filter(gt=>gt.toastId!==y.id))}},[C,y.id]),q.useLayoutEffect(()=>{if(!K)return;let ke=wn.current,Ie=ke.style.height;ke.style.height="auto";let Fe=ke.getBoundingClientRect().height;ke.style.height=Ie,ir(Fe),C(gt=>gt.find(Et=>Et.toastId===y.id)?gt.map(Et=>Et.toastId===y.id?{...Et,height:Fe}:Et):[{toastId:y.id,height:Fe,position:y.position},...gt])},[K,y.title,y.description,C,y.id]);let Jt=q.useCallback(()=>{be(!0),or(zn.current),C(ke=>ke.filter(Ie=>Ie.toastId!==y.id)),setTimeout(()=>{U(y)},jC)},[y,U,C,zn]);q.useEffect(()=>{if(y.promise&&yt==="loading"||y.duration===1/0||y.type==="loading")return;let ke;return z||S||F&&Ro?(()=>{if(Rs.current<ko.current){let Ie=new Date().getTime()-ko.current;Ht.current=Ht.current-Ie}Rs.current=new Date().getTime()})():Ht.current!==1/0&&(ko.current=new Date().getTime(),ke=setTimeout(()=>{var Ie;(Ie=y.onAutoClose)==null||Ie.call(y,y),Jt()},Ht.current)),()=>clearTimeout(ke)},[z,S,y,yt,F,Ro,Jt]),q.useEffect(()=>{y.delete&&Jt()},[Jt,y.delete]);function Ps(){var ke,Ie,Fe;return V!=null&&V.loading?q.createElement("div",{className:un(B==null?void 0:B.loader,(ke=y==null?void 0:y.classNames)==null?void 0:ke.loader,"sonner-loader"),"data-visible":yt==="loading"},V.loading):ie?q.createElement("div",{className:un(B==null?void 0:B.loader,(Ie=y==null?void 0:y.classNames)==null?void 0:Ie.loader,"sonner-loader"),"data-visible":yt==="loading"},ie):q.createElement(wC,{className:un(B==null?void 0:B.loader,(Fe=y==null?void 0:y.classNames)==null?void 0:Fe.loader),visible:yt==="loading"})}return q.createElement("li",{tabIndex:0,ref:wn,className:un(X,Eo,B==null?void 0:B.toast,(r=y==null?void 0:y.classNames)==null?void 0:r.toast,B==null?void 0:B.default,B==null?void 0:B[yt],(i=y==null?void 0:y.classNames)==null?void 0:i[yt]),"data-sonner-toast":"","data-rich-colors":(l=y.richColors)!=null?l:H,"data-styled":!(y.jsx||y.unstyled||O),"data-mounted":K,"data-promise":!!y.promise,"data-swiped":yn,"data-removed":Ce,"data-visible":Es,"data-y-position":Ci,"data-x-position":Ei,"data-index":R,"data-front":Cs,"data-swiping":Me,"data-dismissible":xn,"data-type":yt,"data-invert":sr,"data-swipe-out":Ye,"data-swipe-direction":ve,"data-expanded":!!(z||j&&K),style:{"--index":R,"--toasts-before":R,"--z-index":L.length-R,"--offset":`${Ce?Zt:zn.current}px`,"--initial-height":j?"auto":`${gn}px`,...Z,...y.style},onDragEnd:()=>{Oe(!1),re(null),Cn.current=null},onPointerDown:ke=>{En||!xn||(Co.current=new Date,or(zn.current),ke.target.setPointerCapture(ke.pointerId),ke.target.tagName!=="BUTTON"&&(Oe(!0),Cn.current={x:ke.clientX,y:ke.clientY}))},onPointerUp:()=>{var ke,Ie,Fe,gt;if(Ye||!xn)return;Cn.current=null;let Et=Number(((ke=wn.current)==null?void 0:ke.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),kt=Number(((Ie=wn.current)==null?void 0:Ie.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),en=new Date().getTime()-((Fe=Co.current)==null?void 0:Fe.getTime()),lt=ne==="x"?Et:kt,kn=Math.abs(lt)/en;if(Math.abs(lt)>=zC||kn>.11){or(zn.current),(gt=y.onDismiss)==null||gt.call(y,y),Se(ne==="x"?Et>0?"right":"left":kt>0?"down":"up"),Jt(),dt(!0),Xt(!1);return}Oe(!1),re(null)},onPointerMove:ke=>{var Ie,Fe,gt,Et;if(!Cn.current||!xn||((Ie=window.getSelection())==null?void 0:Ie.toString().length)>0)return;let kt=ke.clientY-Cn.current.y,en=ke.clientX-Cn.current.x,lt=(Fe=n.swipeDirections)!=null?Fe:BC(xe);!ne&&(Math.abs(en)>1||Math.abs(kt)>1)&&re(Math.abs(en)>Math.abs(kt)?"x":"y");let kn={x:0,y:0};ne==="y"?(lt.includes("top")||lt.includes("bottom"))&&(lt.includes("top")&&kt<0||lt.includes("bottom")&&kt>0)&&(kn.y=kt):ne==="x"&&(lt.includes("left")||lt.includes("right"))&&(lt.includes("left")&&en<0||lt.includes("right")&&en>0)&&(kn.x=en),(Math.abs(kn.x)>0||Math.abs(kn.y)>0)&&Xt(!0),(gt=wn.current)==null||gt.style.setProperty("--swipe-amount-x",`${kn.x}px`),(Et=wn.current)==null||Et.style.setProperty("--swipe-amount-y",`${kn.y}px`)}},Vr&&!y.jsx?q.createElement("button",{"aria-label":N,"data-disabled":En,"data-close-button":!0,onClick:En||!xn?()=>{}:()=>{var ke;Jt(),(ke=y.onDismiss)==null||ke.call(y,y)},className:un(B==null?void 0:B.closeButton,(u=y==null?void 0:y.classNames)==null?void 0:u.closeButton)},(c=V==null?void 0:V.close)!=null?c:kC):null,y.jsx||g.isValidElement(y.title)?y.jsx?y.jsx:typeof y.title=="function"?y.title():y.title:q.createElement(q.Fragment,null,yt||y.icon||y.promise?q.createElement("div",{"data-icon":"",className:un(B==null?void 0:B.icon,(f=y==null?void 0:y.classNames)==null?void 0:f.icon)},y.promise||y.type==="loading"&&!y.icon?y.icon||Ps():null,y.type!=="loading"?y.icon||(V==null?void 0:V[yt])||yC(yt):null):null,q.createElement("div",{"data-content":"",className:un(B==null?void 0:B.content,(p=y==null?void 0:y.classNames)==null?void 0:p.content)},q.createElement("div",{"data-title":"",className:un(B==null?void 0:B.title,(h=y==null?void 0:y.classNames)==null?void 0:h.title)},typeof y.title=="function"?y.title():y.title),y.description?q.createElement("div",{"data-description":"",className:un(ye,ks,B==null?void 0:B.description,(v=y==null?void 0:y.classNames)==null?void 0:v.description)},typeof y.description=="function"?y.description():y.description):null),g.isValidElement(y.cancel)?y.cancel:y.cancel&&Wl(y.cancel)?q.createElement("button",{"data-button":!0,"data-cancel":!0,style:y.cancelButtonStyle||te,onClick:ke=>{var Ie,Fe;Wl(y.cancel)&&xn&&((Fe=(Ie=y.cancel).onClick)==null||Fe.call(Ie,ke),Jt())},className:un(B==null?void 0:B.cancelButton,(w=y==null?void 0:y.classNames)==null?void 0:w.cancelButton)},y.cancel.label):null,g.isValidElement(y.action)?y.action:y.action&&Wl(y.action)?q.createElement("button",{"data-button":!0,"data-action":!0,style:y.actionButtonStyle||he,onClick:ke=>{var Ie,Fe;Wl(y.action)&&((Fe=(Ie=y.action).onClick)==null||Fe.call(Ie,ke),!ke.defaultPrevented&&Jt())},className:un(B==null?void 0:B.actionButton,(x=y==null?void 0:y.classNames)==null?void 0:x.actionButton)},y.action.label):null))};function Zh(){if(typeof window>"u"||typeof document>"u")return"ltr";let n=document.documentElement.getAttribute("dir");return n==="auto"||!n?window.getComputedStyle(document.documentElement).direction:n}function HC(n,r){let i={};return[n,r].forEach((l,u)=>{let c=u===1,f=c?"--mobile-offset":"--offset",p=c?AC:IC;function h(v){["top","right","bottom","left"].forEach(w=>{i[`${f}-${w}`]=typeof v=="number"?`${v}px`:v})}typeof l=="number"||typeof l=="string"?h(l):typeof l=="object"?["top","right","bottom","left"].forEach(v=>{l[v]===void 0?i[`${f}-${v}`]=p:i[`${f}-${v}`]=typeof l[v]=="number"?`${l[v]}px`:l[v]}):h(p)}),i}var bk=g.forwardRef(function(n,r){let{invert:i,position:l="bottom-right",hotkey:u=["altKey","KeyT"],expand:c,closeButton:f,className:p,offset:h,mobileOffset:v,theme:w="light",richColors:x,duration:E,style:y,visibleToasts:O=LC,toastOptions:S,dir:C=Zh(),gap:P=FC,loadingIcon:T,icons:R,containerAriaLabel:L="Notifications",pauseWhenPageIsHidden:z}=n,[U,H]=q.useState([]),Y=q.useMemo(()=>Array.from(new Set([l].concat(U.filter(F=>F.position).map(F=>F.position)))),[U,l]),[Z,te]=q.useState([]),[he,X]=q.useState(!1),[ye,ce]=q.useState(!1),[xe,ae]=q.useState(w!=="system"?w:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ie=q.useRef(null),j=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),B=q.useRef(null),V=q.useRef(!1),N=q.useCallback(F=>{H(ne=>{var re;return(re=ne.find(ve=>ve.id===F.id))!=null&&re.delete||Lt.dismiss(F.id),ne.filter(({id:ve})=>ve!==F.id)})},[]);return q.useEffect(()=>Lt.subscribe(F=>{if(F.dismiss){H(ne=>ne.map(re=>re.id===F.id?{...re,delete:!0}:re));return}setTimeout(()=>{_m.flushSync(()=>{H(ne=>{let re=ne.findIndex(ve=>ve.id===F.id);return re!==-1?[...ne.slice(0,re),{...ne[re],...F},...ne.slice(re+1)]:[F,...ne]})})})}),[]),q.useEffect(()=>{if(w!=="system"){ae(w);return}if(w==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?ae("dark"):ae("light")),typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");try{F.addEventListener("change",({matches:ne})=>{ae(ne?"dark":"light")})}catch{F.addListener(({matches:re})=>{try{ae(re?"dark":"light")}catch(ve){console.error(ve)}})}},[w]),q.useEffect(()=>{U.length<=1&&X(!1)},[U]),q.useEffect(()=>{let F=ne=>{var re,ve;u.every(Se=>ne[Se]||ne.code===Se)&&(X(!0),(re=ie.current)==null||re.focus()),ne.code==="Escape"&&(document.activeElement===ie.current||(ve=ie.current)!=null&&ve.contains(document.activeElement))&&X(!1)};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[u]),q.useEffect(()=>{if(ie.current)return()=>{B.current&&(B.current.focus({preventScroll:!0}),B.current=null,V.current=!1)}},[ie.current]),q.createElement("section",{ref:r,"aria-label":`${L} ${j}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},Y.map((F,ne)=>{var re;let[ve,Se]=F.split("-");return U.length?q.createElement("ol",{key:F,dir:C==="auto"?Zh():C,tabIndex:-1,ref:ie,className:p,"data-sonner-toaster":!0,"data-theme":xe,"data-y-position":ve,"data-lifted":he&&U.length>1&&!c,"data-x-position":Se,style:{"--front-toast-height":`${((re=Z[0])==null?void 0:re.height)||0}px`,"--width":`${DC}px`,"--gap":`${P}px`,...y,...HC(h,v)},onBlur:K=>{V.current&&!K.currentTarget.contains(K.relatedTarget)&&(V.current=!1,B.current&&(B.current.focus({preventScroll:!0}),B.current=null))},onFocus:K=>{K.target instanceof HTMLElement&&K.target.dataset.dismissible==="false"||V.current||(V.current=!0,B.current=K.relatedTarget)},onMouseEnter:()=>X(!0),onMouseMove:()=>X(!0),onMouseLeave:()=>{ye||X(!1)},onDragEnd:()=>X(!1),onPointerDown:K=>{K.target instanceof HTMLElement&&K.target.dataset.dismissible==="false"||ce(!0)},onPointerUp:()=>ce(!1)},U.filter(K=>!K.position&&ne===0||K.position===F).map((K,fe)=>{var Ce,be;return q.createElement(UC,{key:K.id,icons:R,index:fe,toast:K,defaultRichColors:x,duration:(Ce=S==null?void 0:S.duration)!=null?Ce:E,className:S==null?void 0:S.className,descriptionClassName:S==null?void 0:S.descriptionClassName,invert:i,visibleToasts:O,closeButton:(be=S==null?void 0:S.closeButton)!=null?be:f,interacting:ye,position:F,style:S==null?void 0:S.style,unstyled:S==null?void 0:S.unstyled,classNames:S==null?void 0:S.classNames,cancelButtonStyle:S==null?void 0:S.cancelButtonStyle,actionButtonStyle:S==null?void 0:S.actionButtonStyle,removeToast:N,toasts:U.filter(Me=>Me.position==K.position),heights:Z.filter(Me=>Me.position==K.position),setHeights:te,expandByDefault:c,gap:P,loadingIcon:T,expanded:he,pauseWhenPageIsHidden:z,swipeDirections:n.swipeDirections})})):null}))});export{bk as $,nE as A,lE as B,uE as C,u1 as D,QC as E,WC as F,CE as G,RE as H,fk as I,YC as J,ME as K,vk as L,LE as M,I1 as N,dE as O,pk as P,qC as Q,uk as R,xk as S,ck as T,SE as U,mk as V,OE as W,HE as X,KE as Y,IE as Z,cm as _,cE as a,rk as a0,sE as a1,ok as a2,mE as a3,ek as a4,EE as a5,xE as a6,YE as a7,pE as a8,$h as a9,$E as aA,Em as aB,VC as aC,gE as aD,wE as aE,$m as aF,kk as aG,qE as aH,fE as aI,NE as aJ,bE as aK,tk as aL,QE as aM,PE as aN,hE as aO,ZC as aP,JC as aQ,ak as aR,lk as aS,DE as aT,It as aU,sk as aV,_E as aW,zE as aX,oE as aY,kE as aZ,XS as aa,sd as ab,ct as ac,Xe as ad,Je as ae,ZS as af,gv as ag,Pv as ah,id as ai,c2 as aj,zv as ak,ea as al,Sx as am,rv as an,tv as ao,JS as ap,e2 as aq,WE as ar,yE as as,ik as at,jE as au,JE as av,GE as aw,nk as ax,VE as ay,BE as az,Sk as b,eE as c,hk as d,yk as e,wk as f,aE as g,gk as h,Ck as i,ee as j,dk as k,vE as l,ZE as m,AE as n,UE as o,rE as p,XE as q,g as r,FE as s,tE as t,TE as u,iE as v,Hr as w,Ek as x,XC as y,KC as z};
|
package/ui-dist/index.html
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
8
|
<title>NextClaw - 系统配置</title>
|
|
9
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/vendor-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-Cwtv_w6q.js"></script>
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/vendor-CzIVZvq9.js">
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DcxYzrFm.css">
|
|
12
12
|
</head>
|
|
13
13
|
|
|
14
14
|
<body>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as j,j as a,at as Z,v as ee,aH as T,K as ae,a5 as te,aI as se,aJ as ne,aK as le,q as re,Y as oe,as as ce,n as ie}from"./vendor-Dj2ULvht.js";import{u as q,a as K,b as $,t as me,v as pe,I as D}from"./useConfig-q7QqH3JB.js";import{B as E,P as de,a as be}from"./page-layout-CC6kzYFp.js";import{L as ue}from"./label-DhIqXnKx.js";import{S as xe}from"./switch-DFPJEEVz.js";import{t as e,c as P,h as ye,S as ge,a as he,b as fe,d as we,e as je}from"./index-DP9xXu9V.js";import{C as ve,a as ke,L as H,d as J,S as z,c as Se,b as Ce}from"./logos-B9Qiy9wo.js";import{h as _}from"./config-hints-CApS3K_7.js";import{T as Ne}from"./tabs-custom-C_1pBckQ.js";function Ie({value:t,onChange:p,className:i,placeholder:c=""}){const[r,u]=j.useState(""),d=x=>{x.key==="Enter"&&r.trim()?(x.preventDefault(),p([...t,r.trim()]),u("")):x.key==="Backspace"&&!r&&t.length>0&&p(t.slice(0,-1))},g=x=>{p(t.filter((v,h)=>h!==x))};return a.jsxs("div",{className:P("flex flex-wrap gap-2 p-2 border rounded-md min-h-[42px]",i),children:[t.map((x,v)=>a.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 bg-primary text-primary-foreground rounded text-sm",children:[x,a.jsx("button",{type:"button",onClick:()=>g(v),className:"hover:text-red-300 transition-colors",children:a.jsx(Z,{className:"h-3 w-3"})})]},v)),a.jsx("input",{type:"text",value:r,onChange:x=>u(x.target.value),onKeyDown:d,className:"flex-1 outline-none min-w-[100px] bg-transparent text-sm",placeholder:c||e("enterTag")})]})}function Y(t){var c,r;const p=ye();return((c=t.tutorialUrls)==null?void 0:c[p])||((r=t.tutorialUrls)==null?void 0:r.default)||t.tutorialUrl}const B=[{value:"pairing",label:"pairing"},{value:"allowlist",label:"allowlist"},{value:"open",label:"open"},{value:"disabled",label:"disabled"}],R=[{value:"open",label:"open"},{value:"allowlist",label:"allowlist"},{value:"disabled",label:"disabled"}],Pe=[{value:"off",label:"off"},{value:"partial",label:"partial"},{value:"block",label:"block"},{value:"progress",label:"progress"}],Fe=t=>t.includes("token")||t.includes("secret")||t.includes("password")?a.jsx(ae,{className:"h-3.5 w-3.5 text-gray-500"}):t.includes("url")||t.includes("host")?a.jsx(te,{className:"h-3.5 w-3.5 text-gray-500"}):t.includes("email")||t.includes("mail")?a.jsx(se,{className:"h-3.5 w-3.5 text-gray-500"}):t.includes("id")||t.includes("from")?a.jsx(ne,{className:"h-3.5 w-3.5 text-gray-500"}):t==="enabled"||t==="consentGranted"?a.jsx(le,{className:"h-3.5 w-3.5 text-gray-500"}):a.jsx(re,{className:"h-3.5 w-3.5 text-gray-500"});function G(){return{telegram:[{name:"enabled",type:"boolean",label:e("enabled")},{name:"token",type:"password",label:e("botToken")},{name:"allowFrom",type:"tags",label:e("allowFrom")},{name:"proxy",type:"text",label:e("proxy")},{name:"accountId",type:"text",label:e("accountId")},{name:"dmPolicy",type:"select",label:e("dmPolicy"),options:B},{name:"groupPolicy",type:"select",label:e("groupPolicy"),options:R},{name:"groupAllowFrom",type:"tags",label:e("groupAllowFrom")},{name:"requireMention",type:"boolean",label:e("requireMention")},{name:"mentionPatterns",type:"tags",label:e("mentionPatterns")},{name:"groups",type:"json",label:e("groupRulesJson")}],discord:[{name:"enabled",type:"boolean",label:e("enabled")},{name:"token",type:"password",label:e("botToken")},{name:"allowBots",type:"boolean",label:e("allowBotMessages")},{name:"allowFrom",type:"tags",label:e("allowFrom")},{name:"gatewayUrl",type:"text",label:e("gatewayUrl")},{name:"intents",type:"number",label:e("intents")},{name:"proxy",type:"text",label:e("proxy")},{name:"mediaMaxMb",type:"number",label:e("attachmentMaxSizeMb")},{name:"streaming",type:"select",label:e("streamingMode"),options:Pe},{name:"draftChunk",type:"json",label:e("draftChunkingJson")},{name:"textChunkLimit",type:"number",label:e("textChunkLimit")},{name:"accountId",type:"text",label:e("accountId")},{name:"dmPolicy",type:"select",label:e("dmPolicy"),options:B},{name:"groupPolicy",type:"select",label:e("groupPolicy"),options:R},{name:"groupAllowFrom",type:"tags",label:e("groupAllowFrom")},{name:"requireMention",type:"boolean",label:e("requireMention")},{name:"mentionPatterns",type:"tags",label:e("mentionPatterns")},{name:"groups",type:"json",label:e("groupRulesJson")}],whatsapp:[{name:"enabled",type:"boolean",label:e("enabled")},{name:"bridgeUrl",type:"text",label:e("bridgeUrl")},{name:"allowFrom",type:"tags",label:e("allowFrom")}],feishu:[{name:"enabled",type:"boolean",label:e("enabled")},{name:"appId",type:"text",label:e("appId")},{name:"appSecret",type:"password",label:e("appSecret")},{name:"encryptKey",type:"password",label:e("encryptKey")},{name:"verificationToken",type:"password",label:e("verificationToken")},{name:"allowFrom",type:"tags",label:e("allowFrom")}],dingtalk:[{name:"enabled",type:"boolean",label:e("enabled")},{name:"clientId",type:"text",label:e("clientId")},{name:"clientSecret",type:"password",label:e("clientSecret")},{name:"allowFrom",type:"tags",label:e("allowFrom")}],wecom:[{name:"enabled",type:"boolean",label:e("enabled")},{name:"corpId",type:"text",label:e("corpId")},{name:"agentId",type:"text",label:e("agentId")},{name:"secret",type:"password",label:e("secret")},{name:"token",type:"password",label:e("token")},{name:"callbackPort",type:"number",label:e("callbackPort")},{name:"callbackPath",type:"text",label:e("callbackPath")},{name:"allowFrom",type:"tags",label:e("allowFrom")}],slack:[{name:"enabled",type:"boolean",label:e("enabled")},{name:"mode",type:"text",label:e("mode")},{name:"webhookPath",type:"text",label:e("webhookPath")},{name:"allowBots",type:"boolean",label:e("allowBotMessages")},{name:"botToken",type:"password",label:e("botToken")},{name:"appToken",type:"password",label:e("appToken")}],email:[{name:"enabled",type:"boolean",label:e("enabled")},{name:"consentGranted",type:"boolean",label:e("consentGranted")},{name:"imapHost",type:"text",label:e("imapHost")},{name:"imapPort",type:"number",label:e("imapPort")},{name:"imapUsername",type:"text",label:e("imapUsername")},{name:"imapPassword",type:"password",label:e("imapPassword")},{name:"fromAddress",type:"email",label:e("fromAddress")}],mochat:[{name:"enabled",type:"boolean",label:e("enabled")},{name:"baseUrl",type:"text",label:e("baseUrl")},{name:"clawToken",type:"password",label:e("clawToken")},{name:"agentUserId",type:"text",label:e("agentUserId")},{name:"allowFrom",type:"tags",label:e("allowFrom")}],qq:[{name:"enabled",type:"boolean",label:e("enabled")},{name:"appId",type:"text",label:e("appId")},{name:"secret",type:"password",label:e("appSecret")},{name:"markdownSupport",type:"boolean",label:e("markdownSupport")},{name:"allowFrom",type:"tags",label:e("allowFrom")}]}}function A(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function V(t,p){const i={...t};for(const[c,r]of Object.entries(p)){const u=i[c];if(A(u)&&A(r)){i[c]=V(u,r);continue}i[c]=r}return i}function Te(t,p){const i=t.split("."),c={};let r=c;for(let u=0;u<i.length-1;u+=1){const d=i[u];r[d]={},r=r[d]}return r[i[i.length-1]]=p,c}function De({channelName:t}){var U,O;const{data:p}=q(),{data:i}=K(),{data:c}=$(),r=me(),u=pe(),[d,g]=j.useState({}),[x,v]=j.useState({}),[h,f]=j.useState(null),k=t?p==null?void 0:p.channels[t]:null,w=t?G()[t]??[]:[],o=c==null?void 0:c.uiHints,m=t?`channels.${t}`:null,S=((U=c==null?void 0:c.actions)==null?void 0:U.filter(s=>s.scope===m))??[],C=t&&(((O=_(`channels.${t}`,o))==null?void 0:O.label)??t),I=i==null?void 0:i.channels.find(s=>s.name===t),F=I?Y(I):void 0;j.useEffect(()=>{if(k){g({...k});const s={};(t?G()[t]??[]:[]).filter(l=>l.type==="json").forEach(l=>{const y=k[l.name];s[l.name]=JSON.stringify(y??{},null,2)}),v(s)}else g({}),v({})},[k,t]);const N=(s,n)=>{g(l=>({...l,[s]:n}))},L=s=>{if(s.preventDefault(),!t)return;const n={...d};for(const l of w){if(l.type!=="password")continue;const y=n[l.name];(typeof y!="string"||y.length===0)&&delete n[l.name]}for(const l of w){if(l.type!=="json")continue;const y=x[l.name]??"";try{n[l.name]=y.trim()?JSON.parse(y):{}}catch{T.error(`${e("invalidJson")}: ${l.name}`);return}}r.mutate({channel:t,data:n})},Q=s=>{if(!s||!t)return;const n=s.channels;if(!A(n))return;const l=n[t];A(l)&&g(y=>V(y,l))},W=async s=>{if(!(!t||!m)){f(s.id);try{let n={...d};s.saveBeforeRun&&(n={...n,...s.savePatch??{}},g(n),await r.mutateAsync({channel:t,data:n}));const l=await u.mutateAsync({actionId:s.id,data:{scope:m,draftConfig:Te(m,n)}});Q(l.patch),l.ok?T.success(l.message||e("success")):T.error(l.message||e("error"))}catch(n){const l=n instanceof Error?n.message:String(n);T.error(`${e("error")}: ${l}`)}finally{f(null)}}};if(!t||!I||!k)return a.jsx("div",{className:ve,children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-base font-semibold text-gray-900",children:e("channelsSelectTitle")}),a.jsx("p",{className:"mt-2 text-sm text-gray-500",children:e("channelsSelectDescription")})]})});const M=!!k.enabled;return a.jsxs("div",{className:ke,children:[a.jsx("div",{className:"border-b border-gray-100 px-6 py-5",children:a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(H,{name:t,src:J(t),className:P("h-9 w-9 rounded-lg border",M?"border-primary/30 bg-white":"border-gray-200/70 bg-white"),imgClassName:"h-5 w-5 object-contain",fallback:a.jsx("span",{className:"text-sm font-semibold uppercase text-gray-500",children:t[0]})}),a.jsx("h3",{className:"truncate text-lg font-semibold text-gray-900 capitalize",children:C})]}),a.jsx("p",{className:"mt-2 text-sm text-gray-500",children:e("channelsFormDescription")}),F&&a.jsxs("a",{href:F,className:"mt-2 inline-flex items-center gap-1.5 text-xs text-primary transition-colors hover:text-primary-hover",children:[a.jsx(ee,{className:"h-3.5 w-3.5"}),e("channelsGuideTitle")]})]}),a.jsx(z,{status:M?"active":"inactive",label:M?e("statusActive"):e("statusInactive")})]})}),a.jsxs("form",{onSubmit:L,className:"flex min-h-0 flex-1 flex-col",children:[a.jsx("div",{className:"min-h-0 flex-1 space-y-6 overflow-y-auto overscroll-contain px-6 py-5",children:w.map(s=>{const n=t?_(`channels.${t}.${s.name}`,o):void 0,l=(n==null?void 0:n.label)??s.label,y=n==null?void 0:n.placeholder;return a.jsxs("div",{className:"space-y-2.5",children:[a.jsxs(ue,{htmlFor:s.name,className:"flex items-center gap-2 text-sm font-medium text-gray-900",children:[Fe(s.name),l]}),s.type==="boolean"&&a.jsxs("div",{className:"flex items-center justify-between rounded-xl bg-gray-50 p-3",children:[a.jsx("span",{className:"text-sm text-gray-500",children:d[s.name]?e("enabled"):e("disabled")}),a.jsx(xe,{id:s.name,checked:d[s.name]||!1,onCheckedChange:b=>N(s.name,b),className:"data-[state=checked]:bg-emerald-500"})]}),(s.type==="text"||s.type==="email")&&a.jsx(D,{id:s.name,type:s.type,value:d[s.name]||"",onChange:b=>N(s.name,b.target.value),placeholder:y,className:"rounded-xl"}),s.type==="password"&&a.jsx(D,{id:s.name,type:"password",value:d[s.name]||"",onChange:b=>N(s.name,b.target.value),placeholder:y??e("leaveBlankToKeepUnchanged"),className:"rounded-xl"}),s.type==="number"&&a.jsx(D,{id:s.name,type:"number",value:d[s.name]||0,onChange:b=>N(s.name,parseInt(b.target.value,10)||0),placeholder:y,className:"rounded-xl"}),s.type==="tags"&&a.jsx(Ie,{value:d[s.name]||[],onChange:b=>N(s.name,b)}),s.type==="select"&&a.jsxs(ge,{value:d[s.name]||"",onValueChange:b=>N(s.name,b),children:[a.jsx(he,{className:"rounded-xl",children:a.jsx(fe,{})}),a.jsx(we,{children:(s.options??[]).map(b=>a.jsx(je,{value:b.value,children:b.label},b.value))})]}),s.type==="json"&&a.jsx("textarea",{id:s.name,value:x[s.name]??"{}",onChange:b=>v(X=>({...X,[s.name]:b.target.value})),className:"min-h-[120px] w-full resize-none rounded-lg border border-gray-200 bg-white px-3 py-2 text-xs font-mono"})]},s.name)})}),a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-gray-100 px-6 py-4",children:[a.jsx("div",{className:"flex flex-wrap items-center gap-2",children:S.filter(s=>s.trigger==="manual").map(s=>a.jsx(E,{type:"button",onClick:()=>W(s),disabled:r.isPending||!!h,variant:"secondary",children:h===s.id?e("connecting"):s.title},s.id))}),a.jsx(E,{type:"submit",disabled:r.isPending||!!h,children:r.isPending?e("saving"):e("save")})]})]})]})}const Ae={telegram:"channelDescTelegram",slack:"channelDescSlack",email:"channelDescEmail",webhook:"channelDescWebhook",discord:"channelDescDiscord",feishu:"channelDescFeishu"};function qe(){const{data:t}=q(),{data:p}=K(),{data:i}=$(),[c,r]=j.useState("enabled"),[u,d]=j.useState(),[g,x]=j.useState(""),v=i==null?void 0:i.uiHints,h=p==null?void 0:p.channels,f=t==null?void 0:t.channels,k=[{id:"enabled",label:e("channelsTabEnabled"),count:(h??[]).filter(o=>{var m;return(m=f==null?void 0:f[o.name])==null?void 0:m.enabled}).length},{id:"all",label:e("channelsTabAll"),count:(h??[]).length}],w=j.useMemo(()=>{const o=g.trim().toLowerCase();return(h??[]).filter(m=>{var C;const S=((C=f==null?void 0:f[m.name])==null?void 0:C.enabled)||!1;return c==="enabled"?S:!0}).filter(m=>o?(m.displayName||m.name).toLowerCase().includes(o)||m.name.toLowerCase().includes(o):!0)},[c,f,h,g]);return j.useEffect(()=>{if(w.length===0){d(void 0);return}w.some(m=>m.name===u)||d(w[0].name)},[w,u]),!t||!p?a.jsx("div",{className:"p-8 text-gray-400",children:e("channelsLoading")}):a.jsxs(de,{className:"xl:flex xl:h-full xl:min-h-0 xl:flex-col xl:pb-0",children:[a.jsx(be,{title:e("channelsPageTitle"),description:e("channelsPageDescription")}),a.jsxs("div",{className:P(Ce,"xl:min-h-0 xl:flex-1"),children:[a.jsxs("section",{className:Se,children:[a.jsx("div",{className:"border-b border-gray-100 px-4 pt-4",children:a.jsx(Ne,{tabs:k,activeTab:c,onChange:r,className:"mb-0"})}),a.jsx("div",{className:"border-b border-gray-100 px-4 py-3",children:a.jsxs("div",{className:"relative",children:[a.jsx(oe,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-gray-400"}),a.jsx(D,{value:g,onChange:o=>x(o.target.value),placeholder:e("channelsFilterPlaceholder"),className:"h-10 rounded-xl pl-9"})]})}),a.jsxs("div",{className:"min-h-0 flex-1 space-y-2 overflow-y-auto overscroll-contain p-3",children:[w.map(o=>{const m=t.channels[o.name],S=(m==null?void 0:m.enabled)||!1,C=_(`channels.${o.name}`,v),I=Y(o),F=(C==null?void 0:C.help)||e(Ae[o.name]||"channelDescriptionDefault"),N=u===o.name;return a.jsx("button",{type:"button",onClick:()=>d(o.name),className:P("w-full rounded-xl border p-2.5 text-left transition-all",N?"border-primary/30 bg-primary-50/40 shadow-sm":"border-gray-200/70 bg-white hover:border-gray-300 hover:bg-gray-50/70"),children:a.jsxs("div",{className:"flex items-start justify-between gap-3",children:[a.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[a.jsx(H,{name:o.name,src:J(o.name),className:P("h-10 w-10 rounded-lg border",S?"border-primary/30 bg-white":"border-gray-200/70 bg-white"),imgClassName:"h-5 w-5 object-contain",fallback:a.jsx("span",{className:"text-sm font-semibold uppercase text-gray-500",children:o.name[0]})}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("p",{className:"truncate text-sm font-semibold text-gray-900",children:o.displayName||o.name}),a.jsx("p",{className:"line-clamp-1 text-[11px] text-gray-500",children:F})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[I&&a.jsx("a",{href:I,onClick:L=>L.stopPropagation(),className:"inline-flex h-7 w-7 items-center justify-center rounded-md text-gray-300 transition-colors hover:bg-gray-100/70 hover:text-gray-500",title:e("channelsGuideTitle"),children:a.jsx(ce,{className:"h-3.5 w-3.5"})}),a.jsx(z,{status:S?"active":"inactive",label:S?e("statusActive"):e("statusInactive"),className:"min-w-[56px] justify-center"})]})]})},o.name)}),w.length===0&&a.jsxs("div",{className:"flex h-full min-h-[220px] flex-col items-center justify-center rounded-xl border border-dashed border-gray-200 bg-gray-50/70 py-10 text-center",children:[a.jsx("div",{className:"mb-3 flex h-10 w-10 items-center justify-center rounded-lg bg-white",children:a.jsx(ie,{className:"h-5 w-5 text-gray-300"})}),a.jsx("p",{className:"text-sm font-medium text-gray-700",children:e("channelsNoMatch")})]})]})]}),a.jsx(De,{channelName:u})]})]})}export{qe as ChannelsList};
|