@brainfish-ai/components 0.0.25 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/index.d.ts +10 -6
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react"),t=require("lucide-react"),r=require("framer-motion"),a=require("react/jsx-runtime"),o=require("class-variance-authority"),n=require("clsx"),i=require("tailwind-merge"),s=require("@radix-ui/react-dropdown-menu"),l=require("@radix-ui/react-icons"),c=require("@radix-ui/react-tooltip"),d=require("rehype-raw"),m=require("remark-gfm"),p=require("react-syntax-highlighter"),u=require("react-syntax-highlighter/dist/cjs/styles/prism"),g=require("react-markdown"),h=require("mermaid");function f(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var w=f(e),b=f(s),y=f(c);function v(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}function x(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)t.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(r[a[o]]=e[a[o]])}return r}function k(e,t,r,a){return new(r||(r=Promise))((function(o,n){function i(e){try{l(a.next(e))}catch(e){n(e)}}function s(e){try{l(a.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}l((a=a.apply(e,t||[])).next())}))}function E(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function N(...e){return t=>{let r=!1;const a=e.map((e=>{const a=E(e,t);return r||"function"!=typeof a||(r=!0),a}));if(r)return()=>{for(let t=0;t<a.length;t++){const r=a[t];"function"==typeof r?r():E(e[t],null)}}}}v('/*! tailwindcss v3.3.5 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;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;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--radius:0.5rem}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 0% 83.1%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(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: }::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:rgba(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: }.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-12{left:3rem}.left-2{left:.5rem}.left-4{left:1rem}.right-1{right:.25rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\\/2{top:50%}.top-3{top:.75rem}.z-10{z-index:10}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\\[-5px\\]{margin-top:-5px}.block{display:block}.inline-block{display:inline-block}.\\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-10{height:2.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\[44px\\]{height:44px}.h-full{height:100%}.h-px{height:1px}.min-h-\\[36px\\]{min-height:36px}.min-h-screen{min-height:100vh}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-3\\/4{width:75%}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-\\[20px\\]{min-width:20px}.min-w-\\[8rem\\]{min-width:8rem}.max-w-3xl{max-width:48rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-1,.-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-outside{list-style-position:outside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.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:.75rem}.rounded-b-lg{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\\[\\#86efac\\]{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-zinc-800\\/80{background-color:rgba(39,39,42,.8)}.bg-opacity-50{--tw-bg-opacity:0.5}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-bottom:0;padding-top:0}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-1{padding-bottom:.25rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.text-center{text-align:center}.font-sans{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}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.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-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.tracking-widest{letter-spacing:.1em}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{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 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.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(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)}.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{--tw-backdrop-blur:blur(8px);-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{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.placeholder\\:text-sm::-moz-placeholder{font-size:.875rem;line-height:1.25rem}.placeholder\\:text-sm::placeholder{font-size:.875rem;line-height:1.25rem}.placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.hover\\:bg-\\[\\#86efac\\]\\/90:hover{background-color:rgba(134,239,172,.9)}.hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\\:bg-zinc-700\\/50:hover{background-color:rgba(63,63,70,.5)}.hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.hover\\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.focus\\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:ring-1: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(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-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-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-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\:opacity-100{opacity:1}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked]{--tw-translate-x:1rem}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked],.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.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:-0.5rem}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}:is([data-mode=dark] .dark\\:border-white){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}@media (min-width:640px){.sm\\:ml-3{margin-left:.75rem}.sm\\:block{display:block}.sm\\:h-5{height:1.25rem}.sm\\:h-9{height:2.25rem}.sm\\:h-\\[52px\\]{height:52px}.sm\\:w-5{width:1.25rem}.sm\\:w-9{width:2.25rem}.sm\\:gap-3{gap:.75rem}.sm\\:text-base{font-size:1rem;line-height:1.5rem}.sm\\:placeholder\\:text-base::-moz-placeholder{font-size:1rem;line-height:1.5rem}.sm\\:placeholder\\:text-base::placeholder{font-size:1rem;line-height:1.5rem}}.\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}'),"function"==typeof SuppressedError&&SuppressedError;var C=w.forwardRef(((e,t)=>{const{children:r,...o}=e,n=w.Children.toArray(r),i=n.find(S);if(i){const e=i.props.children,r=n.map((t=>t===i?w.Children.count(e)>1?w.Children.only(null):w.isValidElement(e)?e.props.children:null:t));return a.jsx(j,{...o,ref:t,children:w.isValidElement(e)?w.cloneElement(e,void 0,r):null})}return a.jsx(j,{...o,ref:t,children:r})}));C.displayName="Slot";var j=w.forwardRef(((e,t)=>{const{children:r,...a}=e;if(w.isValidElement(r)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;if(r)return e.ref;if(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r)return e.props.ref;return e.props.ref||e.ref}(r);return w.cloneElement(r,{...O(a,r.props),ref:t?N(t,e):e})}return w.Children.count(r)>1?w.Children.only(null):null}));j.displayName="SlotClone";var z=({children:e})=>a.jsx(a.Fragment,{children:e});function S(e){return w.isValidElement(e)&&e.type===z}function O(e,t){const r={...t};for(const a in t){const o=e[a],n=t[a];/^on[A-Z]/.test(a)?o&&n?r[a]=(...e)=>{n(...e),o(...e)}:o&&(r[a]=o):"style"===a?r[a]={...o,...n}:"className"===a&&(r[a]=[o,n].filter(Boolean).join(" "))}return{...e,...r}}function I(...e){return i.twMerge(n.clsx(e))}const L=o.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),R=w.forwardRef(((e,t)=>{var{className:r,variant:a,size:o,asChild:n=!1}=e,i=x(e,["className","variant","size","asChild"]);const s=n?C:"button";return w.createElement(s,Object.assign({className:I(L({variant:a,size:o,className:r})),ref:t},i))}));R.displayName="Button";const T=b.Root,A=b.Trigger;w.forwardRef(((e,t)=>{var{className:r,inset:a,children:o}=e,n=x(e,["className","inset","children"]);return w.createElement(b.SubTrigger,Object.assign({ref:t,className:I("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a&&"pl-8",r)},n),o,w.createElement(l.ChevronRightIcon,{className:"ml-auto"}))})).displayName=b.SubTrigger.displayName;w.forwardRef(((e,t)=>{var{className:r}=e,a=x(e,["className"]);return w.createElement(b.SubContent,Object.assign({ref:t,className:I("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r)},a))})).displayName=b.SubContent.displayName;const $=w.forwardRef(((e,t)=>{var{className:r,sideOffset:a=4}=e,o=x(e,["className","sideOffset"]);return w.createElement(b.Portal,null,w.createElement(b.Content,Object.assign({ref:t,sideOffset:a,className:I("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r)},o)))}));$.displayName=b.Content.displayName;const q=w.forwardRef(((e,t)=>{var{className:r,inset:a}=e,o=x(e,["className","inset"]);return w.createElement(b.Item,Object.assign({ref:t,className:I("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",a&&"pl-8",r)},o))}));q.displayName=b.Item.displayName;w.forwardRef(((e,t)=>{var{className:r,children:a,checked:o}=e,n=x(e,["className","children","checked"]);return w.createElement(b.CheckboxItem,Object.assign({ref:t,className:I("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),checked:o},n),w.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},w.createElement(b.ItemIndicator,null,w.createElement(l.CheckIcon,{className:"h-4 w-4"}))),a)})).displayName=b.CheckboxItem.displayName;w.forwardRef(((e,t)=>{var{className:r,children:a}=e,o=x(e,["className","children"]);return w.createElement(b.RadioItem,Object.assign({ref:t,className:I("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r)},o),w.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},w.createElement(b.ItemIndicator,null,w.createElement(l.DotFilledIcon,{className:"h-2 w-2 fill-current"}))),a)})).displayName=b.RadioItem.displayName;w.forwardRef(((e,t)=>{var{className:r,inset:a}=e,o=x(e,["className","inset"]);return w.createElement(b.Label,Object.assign({ref:t,className:I("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",r)},o))})).displayName=b.Label.displayName;w.forwardRef(((e,t)=>{var{className:r}=e,a=x(e,["className"]);return w.createElement(b.Separator,Object.assign({ref:t,className:I("-mx-1 my-1 h-px bg-muted",r)},a))})).displayName=b.Separator.displayName;const F=y.Provider,_=y.Root,U=y.Trigger,P=w.forwardRef(((e,t)=>{var{className:r,sideOffset:a=4}=e,o=x(e,["className","sideOffset"]);return w.createElement(y.Portal,null,w.createElement(y.Content,Object.assign({ref:t,sideOffset:a,className:I("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r)},o)))}));function Q({suggestions:t,onQuestionClick:r,borderColor:a,title:o="Suggested questions"}){return t&&0!==t.length?e.createElement("div",{className:"w-full"},e.createElement("h3",{className:"text-base font-medium mb-4 text-gray-900"},o),e.createElement("div",{className:"flex flex-wrap gap-2"},t.map((t=>e.createElement("button",{key:t.id,onClick:()=>r(t),className:"px-4 py-2 rounded-lg border border-gray-300 text-gray-700 hover:bg-gray-50 transition-colors duration-200 text-sm flex items-center gap-2",style:{borderColor:a}},void 0!==t.messageCount&&e.createElement(F,null,e.createElement(_,null,e.createElement(U,{asChild:!0},e.createElement("span",{className:"bg-gray-100 text-gray-600 px-2 py-0.5 rounded-full text-xs min-w-[20px] border flex items-center justify-center",style:{borderColor:a}},t.messageCount)),e.createElement(P,null,e.createElement("p",null,t.messageCount," messages in this conversation")))),e.createElement("span",null,t.question)))))):null}P.displayName=y.Content.displayName;var M="generating-star-module_animate-spin__AJjwz";v(".generating-star-module_animate-spin__AJjwz{animation:generating-star-module_rotate__ChndJ 2s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes generating-star-module_rotate__ChndJ{to{transform:rotate(1turn)}}");const B=({loading:t,color:r="#000"})=>e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"mt-[-5px] inline-block"},e.createElement("path",{className:t?M:"",d:"M7.54672 16.0031L2.66234 14.2031C2.51881 14.1498 2.39502 14.0539 2.3076 13.9282C2.22019 13.8025 2.17333 13.6531 2.17333 13.5C2.17333 13.3469 2.22019 13.1975 2.3076 13.0718C2.39502 12.9461 2.51881 12.8501 2.66234 12.7969L7.54672 10.9969C7.64981 10.9589 7.74344 10.899 7.82113 10.8213C7.89882 10.7436 7.95873 10.65 7.99672 10.5469L9.79672 5.66249C9.84999 5.51896 9.94592 5.39517 10.0716 5.30775C10.1973 5.22033 10.3467 5.17348 10.4998 5.17348C10.6529 5.17348 10.8024 5.22033 10.9281 5.30775C11.0538 5.39517 11.1497 5.51896 11.203 5.66249L13.003 10.5469C13.041 10.65 13.1009 10.7436 13.1786 10.8213C13.2562 10.899 13.3499 10.9589 13.453 10.9969L18.3373 12.7969C18.4809 12.8501 18.6047 12.9461 18.6921 13.0718C18.7795 13.1975 18.8264 13.3469 18.8264 13.5C18.8264 13.6531 18.7795 13.8025 18.6921 13.9282C18.6047 14.0539 18.4809 14.1498 18.3373 14.2031L13.453 16.0031C13.3499 16.0411 13.2562 16.101 13.1786 16.1787C13.1009 16.2564 13.041 16.35 13.003 16.4531L11.203 21.3375C11.1497 21.481 11.0538 21.6048 10.9281 21.6922C10.8024 21.7796 10.6529 21.8265 10.4998 21.8265C10.3467 21.8265 10.1973 21.7796 10.0716 21.6922C9.94592 21.6048 9.84999 21.481 9.79672 21.3375L7.99672 16.4531C7.95873 16.35 7.89882 16.2564 7.82113 16.1787C7.74344 16.101 7.64981 16.0411 7.54672 16.0031Z",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",fill:t?r:"none",strokeLinejoin:"round"}),e.createElement("path",{d:"M18.7497 3.75L14.2497 3.75",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M16.4999 6V1.5",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M22.4999 8.25001H19.4999",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M20.9998 9.75002V6.75002",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}));function D({theme:t,loadingText:r="Analyzing..."}){return e.createElement("div",{className:"w-full space-y-6 rounded-xl p-6",style:{backgroundColor:t.cardBackground,borderColor:t.border,borderWidth:"1px",borderStyle:"solid"}},e.createElement("div",{className:"flex items-center gap-2"},e.createElement(B,{loading:!0,color:t.primary}),e.createElement("div",{className:"text-sm",style:{color:t.text}},r)),e.createElement("div",{className:"space-y-4 animate-pulse"},Array.from({length:4}).map(((r,a)=>e.createElement("div",{key:a,className:"h-4 rounded w-full",style:{backgroundColor:`${t.border}40`}}))),e.createElement("div",{className:"h-4 rounded w-3/4",style:{backgroundColor:`${t.border}40`}})),e.createElement("div",{className:"rounded-lg p-4",style:{backgroundColor:`${t.accent}50`}},e.createElement("div",{className:"flex items-center justify-between"},e.createElement("div",{className:"h-4 rounded w-48",style:{backgroundColor:`${t.border}80`}}),e.createElement("div",{className:"flex gap-2"},e.createElement("div",{className:"w-8 h-8 rounded-full",style:{backgroundColor:`${t.border}80`}}),e.createElement("div",{className:"w-8 h-8 rounded-full",style:{backgroundColor:`${t.border}80`}})))))}const Z={javascript:".js",python:".py",java:".java",c:".c",cpp:".cpp","c++":".cpp","c#":".cs",ruby:".rb",php:".php",swift:".swift","objective-c":".m",kotlin:".kt",typescript:".ts",go:".go",perl:".pl",rust:".rs",scala:".scala",haskell:".hs",lua:".lua",shell:".sh",sql:".sql",html:".html",css:".css"},W=p.Prism,H=e.memo((({language:r,value:a})=>{const[o,n]=e.useState(!1);return e.createElement("div",{className:"relative font-sans text-sm mt-1"},e.createElement("div",{className:"relative rounded-t-lg bg-zinc-800/80 font-sans text-sm backdrop-blur"},e.createElement("div",{className:"flex h-8 items-center justify-between px-3"},e.createElement("span",{className:"text-xs font-medium text-zinc-400"},r),e.createElement("div",{className:"flex gap-1"},e.createElement(R,{variant:"ghost",size:"icon",className:"size-5 text-zinc-400 hover:bg-zinc-700/50 hover:text-zinc-100",onClick:()=>{k(void 0,void 0,void 0,(function*(){if(navigator.clipboard&&navigator.clipboard.writeText)try{yield navigator.clipboard.writeText(a),n(!0),setTimeout((()=>{n(!1)}),2e3)}catch(e){console.error("Failed to copy:",e)}}))}},o?e.createElement(t.CheckCircle,{size:18}):e.createElement(t.Clipboard,{size:18})),e.createElement(R,{variant:"ghost",size:"icon",className:"size-5 text-zinc-400 hover:bg-zinc-700/50 hover:text-zinc-100",onClick:()=>{const e=Z[r]||".file",t=`file-${((e,t=!1)=>{const r="ABCDEFGHJKLMNPQRSTUVWXY3456789";let a="";for(let t=0;t<e;t+=1)a+=r.charAt(Math.floor(30*Math.random()));return t?a.toLowerCase():a})(3,!0)}${e}`,o=new Blob([a],{type:"text/plain"}),n=URL.createObjectURL(o),i=document.createElement("a");i.download=t,i.href=n,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(n)}},e.createElement(t.Download,{size:18}))))),e.createElement("div",{className:"rounded-b-lg"},e.createElement(W,{language:r,style:u.a11yDark,PreTag:"div",wrapLongLines:!0,customStyle:{margin:0,borderTopLeftRadius:0,borderTopRightRadius:0}},a)))}));H.displayName="CodeBlock";const Y=w.forwardRef((({src:e,border:t,width:r="100%",height:a="400px",title:o},n)=>{const[i,s]=w.useState(!1);return w.useEffect((()=>{let e=!0;return setTimeout((()=>{e&&s(!0)}),0),()=>{e=!1}}),[]),w.createElement("div",{className:"overflow-hidden rounded-lg mt-4 "+(t?"border":""),style:{width:r,height:a}},i&&w.createElement(w.Fragment,null,w.createElement("iframe",{ref:n,src:e,sandbox:"allow-same-origin allow-scripts allow-popups allow-forms allow-downloads",width:r,height:a,frameBorder:"0",title:"embed",loading:"lazy",allowFullScreen:!0,className:"block rounded-lg"}),o&&w.createElement("span",{className:"block text-center text-sm font-medium"},o)))}));function V(e){const t=e.attrs.href.replace("share","embed");return w.createElement(Y,Object.assign({},e,{src:t,title:"Loom Embed"}))}function X(e){return w.createElement(Y,Object.assign({},e,{src:e.attrs.href,title:"Supademo Embed"}))}function J(e){return w.createElement(Y,Object.assign({},e,{src:e.attrs.href,title:"Typeform Embed"}))}function K(e){const t=e.attrs.href.match(/(http|https)?:\/\/(www\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)(\d+)(?:\/|\?)?([\d\w]+)?/);if(!t)return null;const r=t[4],a=t[5],o=`https://player.vimeo.com/video/${r}?byline=0${a?`&h=${a}`:""}`;return w.createElement(Y,Object.assign({},e,{src:o,title:`Vimeo Embed (${r})`,height:"412px",border:!1}))}function G(e){const t=(e=>{const t=[/^https?:\/\/([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)\/?$/,/^https?:\/\/fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)\/?$/,/^fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)\/?$/,/^([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)\/?$/];for(const r of t){const t=e.match(r);if(t)return t}return null})(e.attrs.href);if(!t)return null;const r=t[1],a=t[2]||t[1],o=r?`https://${r}.wistia.com/embed/iframe/${a}?seo=true&videoFoam=false`:`https://fast.wistia.com/embed/iframe/${a}`;return w.createElement(Y,Object.assign({},e,{src:o,border:!0,title:`Wistia Embed (${a})`}))}function ee(e){const t=(e=>{const t=e.match(/(?:https?:\/\/)?(?:www\.)?youtu\.?be(?:\.com)?\/?.*(?:watch|embed)?(?:.*v=|v\/|\/)([a-zA-Z0-9_-]{11})$/i);return t?t[1]:null})(e.attrs.href);return t?w.createElement(Y,Object.assign({},e,{src:`https://www.youtube.com/embed/${t}?modestbranding=1`,title:`YouTube Embed (${t})`})):null}V.isMatch=e=>/^https:\/\/(www\.)?(use)?loom\.com\/(embed|share)\/(.*)$/.test(e),X.isMatch=e=>/^https:\/\/app\.supademo\.com\/embed\/(.*)$/.test(e),J.isMatch=e=>/^https:\/\/([A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)\.typeform\.com\/to\/(.*)$/.test(e),K.isMatch=e=>/^(https?):\/\/(www\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)?(\d+)(\/)?(?:\?.*|#.*)?$/i.test(e),G.isMatch=e=>[/^https?:\/\/([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^https?:\/\/fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i].some((t=>t.test(e))),ee.isMatch=e=>/^(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|v\/|shorts\/)|youtu\.be\/)([a-zA-Z0-9_-]{11})(?:\/|[?&].*)?$/i.test(e);const te=[V,X,J,ee,G,K],re=t=>{const{href:r}=t.attrs,[a,o]=e.useState(null);if(e.useEffect((()=>{let e=!0;return(()=>{try{const a=te.find((e=>e.isMatch(r)));a&&e&&o({Component:a,props:t})}catch(e){console.error("Error finding embed match:",e)}})(),()=>{e=!1}}),[r,t]),a){const{Component:e,props:t}=a;return w.createElement(e,Object.assign({},t))}return null},ae=e.memo(g,((e,t)=>e.children===t.children)),oe={startOnLoad:!1,theme:"default",securityLevel:"loose",fontFamily:"inherit"},ne=({content:t})=>{const[r,a]=e.useState(""),[o,n]=e.useState(null),i=e.useRef(null),[s,l]=e.useState(!1);return e.useEffect((()=>{(()=>{try{h.initialize(oe),l(!0)}catch(e){console.error("Error initializing mermaid:",e),n("Failed to initialize diagram renderer")}})()}),[]),e.useEffect((()=>{if(!s)return;k(void 0,void 0,void 0,(function*(){try{const e=`mermaid-${Math.random().toString(36).substr(2,9)}`,r=yield h.render(e,t);a(r.svg),n(null)}catch(e){console.error("Error rendering mermaid diagram:",e),n("Failed to render diagram")}}))}),[t,s]),o?e.createElement("div",{className:"text-red-500 bg-red-50 p-4 rounded-md"},o,e.createElement("pre",{className:"mt-2 text-sm"},t)):e.createElement("div",{ref:i,className:"my-4 overflow-auto",dangerouslySetInnerHTML:{__html:r}})},ie=e.memo((({message:t})=>(t.content=t.content.replace(/^\n+|(\n+|\\)+$/g,""),e.createElement(ae,{className:"dark:prose-invert prose flex-1",remarkPlugins:[m],rehypePlugins:[d],components:{code:t=>{var{inline:r,className:a,children:o}=t,n=x(t,["inline","className","children"]);const i=/language-(\w+)/.exec(a||""),s=i&&i[1];return r||"mermaid"!==s&&"mermaidjs"!==s?!r&&s?e.createElement(H,Object.assign({key:Math.random(),language:s,value:String(o).replace(/\n$/,"")},n)):e.createElement("code",Object.assign({className:`text-red-400 bg-slate-200 border-slate-300 border rounded p-0.5 ${a}`.trim()},n),o):e.createElement(ne,{content:String(o).replace(/\n$/,"")})},marker:({children:t})=>e.createElement("div",{className:"my-2"},e.createElement("span",{className:"highlight"},t)),table:({children:t})=>e.createElement("table",{className:"border-collapse border border-black px-3 py-1 dark:border-white"},t),th:({children:t})=>e.createElement("th",{className:"break-words border border-black bg-gray-500 px-3 py-1 text-white dark:border-white"},t),td:({children:t})=>e.createElement("td",{className:"break-words border border-black px-3 py-1 dark:border-white"},t),a(t){var{children:r}=t,a=x(t,["children"]);if(a.href){const t=re({attrs:{href:a.href}});if(e.isValidElement(t))return t}return e.createElement("a",Object.assign({className:"link",target:"_blank",rel:"noopener noreferrer"},a),r)},pre:({children:t})=>e.createElement(e.Fragment,null,t),img({src:t,alt:r}){const a=re({attrs:{href:null!=t?t:""}});return e.isValidElement(a)?a:e.createElement("img",{src:t,alt:r,className:"w-full"})},li:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("li",Object.assign({className:"py-1"},a),r)},ul:({children:t})=>e.createElement("ul",{className:"ml-4 list-outside list-disc"},t),ol:({children:t})=>e.createElement("ol",{className:"ml-4 list-outside list-decimal"},t),strong:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("span",Object.assign({className:"font-semibold"},a),r)},h1:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h1",Object.assign({className:"mb-2 mt-6 text-3xl font-semibold"},a),r)},h2:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h2",Object.assign({className:"mb-2 mt-6 text-2xl font-semibold"},a),r)},h3:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h3",Object.assign({className:"mb-2 mt-6 text-xl font-semibold"},a),r)},h4:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h4",Object.assign({className:"mb-2 mt-6 text-lg font-semibold"},a),r)},h5:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h5",Object.assign({className:"mb-2 mt-6 text-base font-semibold"},a),r)},h6:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h6",Object.assign({className:"mb-2 mt-6 text-sm font-semibold"},a),r)}}},t.content))));function se({answer:r,question:a,theme:o,searchResults:n,followUpQuestions:i,onFollowUpClick:s,isStreaming:l=!1,searchQueryId:c,feedback:d,onFeedback:m,disableFeedback:p=!1,textConfig:u={}}){const[g,h]=e.useState(!1),[f,w]=e.useState(!1),b=e.useMemo((()=>({content:r})),[r]),y=()=>k(this,void 0,void 0,(function*(){try{yield navigator.clipboard.writeText(r),h(!0),setTimeout((()=>h(!1)),2e3)}catch(e){console.error("Failed to copy text:",e)}})),v=e=>{m&&c&&m(e)};return e.createElement("div",{className:"rounded-lg p-6",style:{backgroundColor:o.cardBackground,borderColor:o.border,borderWidth:"1px",borderStyle:"solid"}},e.createElement("div",{className:"flex items-start justify-between"},e.createElement("div",{className:"flex items-center gap-2 mb-4"},e.createElement(B,{loading:l,color:o.primary}),e.createElement("h2",{className:"text-xl",style:{color:o.text}},a)),e.createElement(F,null,e.createElement(_,null,e.createElement(U,{asChild:!0},e.createElement("button",{onClick:()=>{y()},className:"flex items-center justify-center w-8 h-8 rounded-md hover:bg-gray-100 transition-colors duration-200"},g?e.createElement(t.Check,{className:"h-4 w-4 text-green-500"}):e.createElement(t.Copy,{className:"h-4 w-4 text-gray-500"}))),e.createElement(P,null,e.createElement("p",null,g?"Copied!":"Copy"))))),r&&e.createElement("div",{className:"prose prose-sm max-w-none",style:{color:o.text}},e.createElement(ie,{message:b})),r&&!l&&!p&&e.createElement("div",{className:"mt-2 flex justify-end gap-2"},e.createElement(F,null,e.createElement(_,null,e.createElement(U,{asChild:!0},e.createElement(R,{variant:"ghost",size:"sm",className:"rounded-md h-8 w-8 flex items-center justify-center "+("accept"===d?"bg-green-100 text-green-600":""),onClick:()=>v("accept"),disabled:Boolean(d)},e.createElement(t.ThumbsUp,{className:"h-4 w-4"}))),e.createElement(P,null,e.createElement("p",null,u.positiveAnswerText||"Helpful")))),e.createElement(F,null,e.createElement(_,null,e.createElement(U,{asChild:!0},e.createElement(R,{variant:"ghost",size:"sm",className:"rounded-md h-8 w-8 flex items-center justify-center "+("reject"===d?"bg-red-100 text-red-600":""),onClick:()=>v("reject"),disabled:Boolean(d)},e.createElement(t.ThumbsDown,{className:"h-4 w-4"}))),e.createElement(P,null,e.createElement("p",null,u.negativeAnswerText||"Not helpful"))))),r&&i&&i.length>0&&e.createElement("div",{className:"mt-6 space-y-3"},e.createElement("div",{className:"text-sm font-medium",style:{color:o.text}},"Follow-up Questions"),e.createElement("div",{className:"flex flex-wrap gap-2"},i.map(((t,r)=>e.createElement("button",{key:r,onClick:()=>null==s?void 0:s(t),className:"px-3 py-1.5 rounded-lg text-sm transition-all duration-200 hover:opacity-90",style:{backgroundColor:`${o.accent}30`,color:o.text,border:`1px solid ${o.border}`}},t))))),n&&n.length>0&&e.createElement("div",{className:"mt-6 rounded-lg overflow-hidden",style:{backgroundColor:o.surface,borderWidth:"1px",borderStyle:"solid",borderColor:o.border}},e.createElement("button",{onClick:()=>w(!f),className:"w-full flex items-center justify-between p-3 transition-all duration-200 hover:bg-opacity-50",style:{color:o.text,borderBottom:f?`1px solid ${o.surfaceBorder}`:"none"}},e.createElement("div",{className:"flex items-center gap-2"},e.createElement(t.FileText,{className:"h-4 w-4 flex-shrink-0",style:{color:o.primary}}),e.createElement("span",{className:"font-medium truncate"},`Related Articles (${n.length})`)),e.createElement(t.ChevronDown,{className:"h-4 w-4 flex-shrink-0 transition-transform duration-200 "+(f?"rotate-180":""),style:{color:o.text}})),e.createElement("div",{className:"overflow-hidden transition-all duration-200 ease-in-out",style:{maxHeight:f?48*n.length+"px":"0",opacity:f?1:0,transform:`translateY(${f?"0":"-10px"})`}},e.createElement("div",{className:"divide-y divide-gray-200"},n.map((r=>e.createElement("a",{key:r.id,href:r.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 p-3 transition-colors duration-200 hover:bg-gray-50",style:{color:o.text,backgroundColor:o.surface}},e.createElement(t.FileText,{className:"h-4 w-4 flex-shrink-0",style:{color:o.primary}}),e.createElement("span",{className:"flex-grow truncate"},r.title),e.createElement(t.ExternalLink,{className:"h-4 w-4 flex-shrink-0",style:{color:`${o.text}60`}}))))))),!r&&e.createElement("div",{className:"animate-pulse space-y-4"},e.createElement("div",{className:"h-4 rounded w-full",style:{backgroundColor:`${o.border}40`}}),e.createElement("div",{className:"h-4 rounded w-3/4",style:{backgroundColor:`${o.border}40`}})))}function le({questions:t,currentIndex:a,activeIndex:o,onNavigate:n,theme:i,offset:s}){return e.createElement(r.motion.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.5},className:"fixed left-4 top-1/2 -translate-y-1/2 z-50 flex flex-col gap-2",style:Object.assign({},s?{left:`${s}px`}:{})},t.map(((t,r)=>e.createElement("div",{key:r,className:"relative group"},e.createElement("button",{onClick:()=>n(r),className:"flex items-center justify-center w-8 h-8 rounded-full transition-all duration-200 "+(r<=a?"hover:opacity-90":""),style:{backgroundColor:r===o?i.primary:"#ccc",color:r===o?i.background:"#333",opacity:r>a?.5:1,cursor:"pointer"}},r+1),e.createElement("div",{className:"absolute left-12 top-0 px-3 py-2 rounded-lg whitespace-normal opacity-0 group-hover:opacity-100 w-48 text-sm transition-opacity duration-200",style:{backgroundColor:i.background,color:i.text,borderColor:i.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)"}},t,e.createElement("div",{className:"absolute left-0 top-3 -translate-x-1 w-2 h-2 rotate-45",style:{backgroundColor:i.background,borderLeft:`1px solid ${i.border}`,borderBottom:`1px solid ${i.border}`}}))))))}function ce({onClick:r,theme:a}){return e.createElement(R,{className:"fixed bottom-20 right-4 rounded-full p-2 transition-opacity duration-300",style:{backgroundColor:a.background,borderColor:a.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)"},onClick:r},e.createElement(t.ArrowDown,{className:"h-5 w-5",style:{color:a.text}}))}function de({endpoint:e,query:t,collectionId:r,headers:a,conversationId:o}){var n;return k(this,void 0,void 0,(function*(){try{const i=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},a),body:JSON.stringify(Object.assign(Object.assign({query:t,limit:5},r&&"all"!==r&&{collectionId:r}),o&&{conversationId:o}))});if(!i.ok)throw new Error("Failed to fetch search results");const s=yield i.json();return{results:null==s?void 0:s.data,searchQueryId:null===(n=null==s?void 0:s.searchQuery)||void 0===n?void 0:n.id}}catch(e){throw console.error("Error searching:",e),e}}))}function me({endpoint:e,searchQueryId:t,headers:r,conversationId:a}){return k(this,void 0,void 0,(function*(){try{const o=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},r),body:JSON.stringify(Object.assign({searchQueryId:t},a&&{conversationId:a}))});if(!o.ok)throw new Error("Failed to fetch answer");return o}catch(e){throw console.error("Error fetching answer:",e),e}}))}function pe(){return`bf-conversation-${Date.now()}-${"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}`}function ue({endpoint:e,conversationId:t,headers:r}){return k(this,void 0,void 0,(function*(){try{const a=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},r),body:JSON.stringify({conversationId:t})});if(!a.ok)throw new Error("Failed to load conversation");const o=yield a.json();return{data:o.data.map((e=>Object.assign(Object.assign({},e),{feedback:e.feedback?"positive"===e.feedback?"accept":"reject":void 0})))}}catch(e){throw console.error("Error loading conversation:",e),e}}))}const ge={primary:"#A3E635",accent:"#f9fafb",background:"white",text:"#171717",border:"#171717",hover:"#171717",surface:"#F9FAFB",surfaceBorder:"#E5E7EB",surfaceHover:"#F3F4F6",cardBackground:"white"},he={headerText:"How can we help you today?",searchPlaceholder:"Ask a question or type a search term here ...",attachImageText:"Attach image",allDocumentsText:"All documents",loadingSearchText:"Searching for relevant content...",loadingAnswerText:"Crafting a response...",errorText:"Sorry, there was an error generating the answer.",followUpPlaceholder:"Ask follow-up",positiveAnswerText:"Helpful",negativeAnswerText:"Not helpful"},fe=e.forwardRef((({suggestions:a,theme:o={},collections:n=[],selectedCollectionId:i,onCollectionChange:s,searchEndpoint:l,answerEndpoint:c,feedbackEndpoint:d,loadConversationEndpoint:m,disableFollowUpQuestions:p=!1,disableImageAttachment:u=!1,disableFeedback:g=!1,siblingNode:h,offset:f=0,headers:w,textConfig:b={}},y)=>{var v;const x=Object.assign(Object.assign({},ge),o),E=Object.assign(Object.assign({},he),b),[N,C]=e.useState(""),[j,z]=e.useState(""),[S,O]=e.useState(!1),[I,L]=e.useState(!1),[F,_]=e.useState([]),[U,P]=e.useState(!1),[M,B]=e.useState(0),[Z,W]=e.useState([]),[H,Y]=e.useState(i),[V,X]=e.useState(!0),[J,K]=e.useState(""),[G,ee]=e.useState(!1),[te,re]=e.useState(),ae=e.useRef(null),oe=e.useRef(null),ne=e.useRef([]),ie=e.useRef(null),fe=e.useRef(null),we=e.useRef([]);e.useEffect((()=>{const e=new URLSearchParams(window.location.search).get("conversation");if(e&&m)ee(!0),L(!0),ue({endpoint:m,conversationId:e,headers:w}).then((t=>{_(t.data),K(e),L(!0)})).catch((e=>{console.error("Error loading conversation:",e),re(E.errorText||"An error occurred"),L(!1),_([]);const t=pe();K(t);const r=new URL(window.location.href);r.searchParams.delete("conversation"),window.history.replaceState({},"",r.toString())})).finally((()=>{ee(!1)}));else{const e=pe();K(e)}}),[m]),e.useEffect((()=>{if(J&&F.length>0){const e=new URL(window.location.href);e.searchParams.set("conversation",J),window.history.replaceState({},"",e.toString())}}),[J,F.length]),e.useEffect((()=>{const e={showResults:I,answers:F,isLoading:G,error:te};we.current.forEach((t=>t(e)))}),[I,F,G,te]),e.useImperativeHandle(y,(()=>({createNewThread:()=>{C(""),z(""),L(!1),_([]),B(0),W([]);const e=pe();K(e);const t=new URL(window.location.href);t.searchParams.delete("conversation"),window.history.replaceState({},"",t.toString()),ae.current&&(ae.current.style.height="auto")},showFollowUpThread:e=>{X(e)},subscribeToStateChanges:e=>(we.current.push(e),e({showResults:I,answers:F,isLoading:!1,error:void 0}),()=>{we.current=we.current.filter((t=>t!==e))})}))),e.useEffect((()=>{Y(i)}),[i]);const be=e=>{e.style.height="auto",e.style.height=`${e.scrollHeight}px`},ye=()=>{requestAnimationFrame((()=>{const e=ne.current[ne.current.length-1];if(e){const t=e.getBoundingClientRect(),r=window.pageYOffset||document.documentElement.scrollTop,a=t.top+r-80;window.scrollTo({top:a,behavior:"smooth"})}}))},ve=e=>k(void 0,void 0,void 0,(function*(){var t;const r=null===(t=e.body)||void 0===t?void 0:t.getReader();if(!r)return;_((e=>{const t=[...e],r=t[t.length-1];return r&&(r.isLoading=!1,r.isStreaming=!0),t}));let a="";try{let e,t;for(;({done:e,value:t}=yield r.read()),!e;){const e=(new TextDecoder).decode(t);a+=e,_((e=>{const t=[...e],r=t[t.length-1];return r&&(r.answer=a),t}))}}finally{_((e=>{const t=[...e],r=t[t.length-1];return r&&(r.isStreaming=!1),t})),r.releaseLock()}})),xe=(e,t,r)=>k(void 0,void 0,void 0,(function*(){if(d){_((t=>{const a=[...t];return a[r]&&(a[r]=Object.assign(Object.assign({},a[r]),{feedback:e})),a}));try{yield function({endpoint:e,searchQueryId:t,response:r,headers:a,conversationId:o}){return k(this,void 0,void 0,(function*(){try{if(!(yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},a),body:JSON.stringify(Object.assign({searchQueryId:t,response:r},o&&{conversationId:o}))})).ok)throw new Error("Failed to send feedback")}catch(e){throw console.error("Error sending feedback:",e),e}}))}({endpoint:d,searchQueryId:t,response:e,headers:w,conversationId:J})}catch(e){console.error("Error sending feedback:",e),_((e=>{const t=[...e];return t[r]&&(t[r]=Object.assign(Object.assign({},t[r]),{feedback:void 0})),t}))}}})),ke=()=>k(void 0,void 0,void 0,(function*(){if(N.trim()){if(O(!0),L(!0),!J){const e=pe();K(e)}_((e=>{const t=[...e,{question:N,answer:"",isLoading:!0,isSearchLoading:!0}];return B(t.length-1),t})),ye();try{const e=yield de({endpoint:l,query:N,collectionId:H,headers:w,conversationId:J}),t=e.results,r=e.searchQueryId;_((e=>{const a=[...e];return a[a.length-1]=Object.assign(Object.assign({},a[a.length-1]),{searchResults:t,searchQueryId:r,isSearchLoading:!1}),a}));const a=yield me({endpoint:c,searchQueryId:r,headers:w,conversationId:J});yield ve(a)}catch(e){console.error("Error generating answer:",e),_((e=>{const t=[...e];return t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{answer:E.errorText||"An error occurred",isLoading:!1,isSearchLoading:!1}),t}))}finally{O(!1)}}})),Ee=()=>k(void 0,void 0,void 0,(function*(){if(j.trim()){const e=j;C(e),z(""),O(!0),_((t=>{const r=[...t,{question:e,answer:"",isLoading:!0,isSearchLoading:!0}];return B(r.length-1),r})),ye();try{const t=yield de({endpoint:l,query:e,collectionId:H,headers:w,conversationId:J}),r=t.results,a=t.searchQueryId;_((e=>{const t=[...e];return t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{searchResults:r,searchQueryId:a,isSearchLoading:!1}),t}));const o=yield me({endpoint:c,searchQueryId:a,headers:w,conversationId:J});yield ve(o)}catch(e){console.error("Error generating answer:",e),_((e=>{const t=[...e];return t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{answer:E.errorText||"An error occurred",isLoading:!1,isSearchLoading:!1}),t}))}finally{O(!1)}}}));e.useEffect((()=>{const e=()=>{const e=window.innerHeight+window.pageYOffset>=document.documentElement.scrollHeight-100;P(!e)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]),e.useEffect((()=>()=>{Z.forEach((e=>URL.revokeObjectURL(e.preview)))}),[Z]);return e.useEffect((()=>{const e=()=>{new URLSearchParams(window.location.search).get("conversation")||(C(""),z(""),L(!1),_([]),B(0),W([]),ae.current&&(ae.current.style.height="auto"))};return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)}),[]),e.createElement("div",{className:"relative min-h-screen"},e.createElement("div",{ref:ie,className:"w-full max-w-3xl mx-auto flex flex-col items-center space-y-8 px-4 py-20",style:{"--surface-border":x.surfaceBorder,"--surface-hover":x.surfaceHover}},e.createElement(r.AnimatePresence,null,G?e.createElement(r.motion.div,{key:"loading",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"w-full flex items-center justify-center py-20"},e.createElement("div",{className:"flex flex-col items-center gap-4"},e.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-2 border-t-transparent",style:{borderColor:x.primary}}),e.createElement("p",{className:"text-sm",style:{color:x.text}},"Loading conversation..."))):I?e.createElement(r.motion.div,{key:"results",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.5},className:"w-full space-y-8 py-4 mb-20"},F.map(((t,a)=>e.createElement(r.motion.div,{key:a,ref:e=>ne.current[a]=e,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.1*a}},t.isLoading?e.createElement(D,{theme:x,loadingText:t.isSearchLoading?E.loadingSearchText:E.loadingAnswerText}):e.createElement(se,{answer:t.answer,question:t.question,theme:x,searchResults:t.searchResults,followUpQuestions:p?void 0:t.followUpQuestions,onFollowUpClick:p?void 0:e=>{z(e),Ee()},isStreaming:t.isStreaming,searchQueryId:t.searchQueryId,feedback:t.feedback,onFeedback:g||!d?void 0:e=>xe(e,t.searchQueryId,a),disableFeedback:g||!d,textConfig:E}))))):e.createElement(r.motion.div,{key:"search",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.5},className:"w-full space-y-8"},e.createElement("div",{className:"w-full text-center space-y-4"},e.createElement(r.motion.h1,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3},className:"text-5xl font-bold",style:{color:x.text}},E.headerText)),e.createElement(r.motion.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.4}},e.createElement("div",{className:"relative w-full rounded-md overflow-hidden",style:{backgroundColor:x.background,borderColor:x.border,borderWidth:"1px",borderStyle:"solid"}},e.createElement("div",{className:"p-3 flex items-center"},e.createElement(t.Search,{className:"h-5 w-5 text-gray-400 mr-2"}),e.createElement("textarea",{ref:ae,placeholder:E.searchPlaceholder,value:N,onChange:e=>{C(e.target.value),be(e.target)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ke())},className:"w-full resize-none outline-none text-lg py-1 font-light min-h-[36px] overflow-hidden placeholder:text-gray-400 border-none bg-transparent",style:{color:x.text,outline:"none",boxShadow:"none",fontSize:"16px"},rows:1})),!u&&Z.length>0&&e.createElement("div",{className:"flex gap-2 mt-3 overflow-x-auto pb-1 px-3"},Z.map(((r,a)=>e.createElement("div",{key:a,className:"relative group rounded-lg overflow-hidden flex-shrink-0",style:{width:"80px",height:"80px"}},e.createElement("img",{src:r.preview,alt:`Attached ${a+1}`,className:"w-full h-full object-cover"}),e.createElement("button",{onClick:()=>(e=>{W((t=>(URL.revokeObjectURL(t[e].preview),t.filter(((t,r)=>r!==e)))))})(a),className:"absolute top-1 right-1 bg-black bg-opacity-50 rounded-full p-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200"},e.createElement(t.X,{className:"h-3 w-3 text-white"})))))),e.createElement("div",{className:"flex items-center justify-between px-3 py-2 bg-gray-100 border-t border-gray-200"},e.createElement("div",{className:"flex gap-2"},n.length>0&&e.createElement(T,null,e.createElement(A,{asChild:!0},e.createElement(R,{variant:"ghost",size:"sm",className:"hover:bg-gray-200 transition-all duration-200 rounded-md h-8 flex items-center gap-2 text-gray-700"},H&&"all"!==H?e.createElement(t.CheckCircle2,{className:"h-5 w-5 text-green-500"}):e.createElement(t.Circle,{className:"h-5 w-5 text-gray-400"}),(null===(v=n.find((e=>e.id===H)))||void 0===v?void 0:v.name)||E.allDocumentsText,e.createElement(t.ChevronDown,{className:"h-4 w-4 opacity-50"}))),e.createElement($,null,n.map((r=>e.createElement(q,{key:r.id,onClick:()=>{return e=r.id,Y(e),void(null==s||s(e));var e},className:r.id===H?"bg-gray-100":""},r.id===H?e.createElement(t.CheckCircle2,{className:"h-4 w-4 mr-2 text-green-500"}):e.createElement(t.Circle,{className:"h-4 w-4 mr-2 text-gray-400"}),r.name))))),!u&&e.createElement(e.Fragment,null,e.createElement("input",{type:"file",ref:fe,accept:"image/*",multiple:!0,className:"hidden",onChange:e=>{const t=e.target.files;if(t){const e=Array.from(t).map((e=>({file:e,preview:URL.createObjectURL(e)})));W((t=>[...t,...e]))}fe.current&&(fe.current.value="")}}),e.createElement(R,{variant:"ghost",size:"sm",className:"hover:bg-gray-200 rounded-md h-8 text-gray-700",onClick:()=>{var e;return null===(e=fe.current)||void 0===e?void 0:e.click()}},e.createElement(t.Image,{className:"h-4 w-4 mr-1.5"}),E.attachImageText))),e.createElement("div",{className:"flex items-center"},e.createElement(R,{size:"sm",disabled:!N||S,className:"rounded-md h-8 w-8 bg-[#86efac] hover:bg-[#86efac]/90 disabled:opacity-50",onClick:()=>{ke()}},S?e.createElement("div",{className:"animate-spin rounded-full h-4 w-4 border-2 border-t-transparent",style:{borderColor:"white"}}):e.createElement(t.ArrowRight,{className:"h-4 w-4 text-gray-700"})))))),e.createElement(Q,{suggestions:a||[],onQuestionClick:e=>{if(e.conversationId&&m)return ee(!0),L(!0),void ue({endpoint:m,conversationId:e.conversationId,headers:w}).then((t=>{_(t.data),K(e.conversationId),L(!0)})).catch((e=>{console.error("Error loading conversation:",e),re(E.errorText||"An error occurred"),L(!1),_([]);const t=pe();K(t);const r=new URL(window.location.href);r.searchParams.delete("conversation"),window.history.replaceState({},"",r.toString())})).finally((()=>{ee(!1)}));if(L(!0),O(!0),!J){const e=pe();K(e)}_((t=>[...t,{question:e.question,answer:"",isLoading:!0,isSearchLoading:!0}])),k(void 0,void 0,void 0,(function*(){try{const t=yield de({endpoint:l,query:e.question,collectionId:H,headers:w,conversationId:J}),r=t.results;_((e=>{const a=[...e];return a[a.length-1]=Object.assign(Object.assign({},a[a.length-1]),{searchResults:r,searchQueryId:t.searchQueryId,isSearchLoading:!1}),a}));const a=yield me({endpoint:c,searchQueryId:t.searchQueryId,headers:w,conversationId:J});yield ve(a)}catch(e){console.error("Error generating answer:",e),_((e=>{const t=[...e];return t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{answer:E.errorText||"An error occurred",isLoading:!1,isSearchLoading:!1}),t}))}finally{O(!1),ye()}}))},borderColor:x.border,title:E.suggestionsTitle}),h)),I&&F.length>1&&e.createElement("div",{className:"hidden sm:block"},e.createElement(le,{questions:F.map((e=>e.question)),currentIndex:S?F.length-1:M,activeIndex:M,onNavigate:e=>{B(e),(e=>{requestAnimationFrame((()=>{const t=ne.current[e];if(t){const e=t.getBoundingClientRect(),r=window.pageYOffset||document.documentElement.scrollTop,a=e.top+r-80;window.scrollTo({top:a,behavior:"smooth"})}}))})(e)},theme:x,offset:f})),I&&V&&e.createElement(r.motion.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5},className:"fixed bottom-4 left-4 right-4 max-w-3xl mx-auto z-10",style:{left:`${f}px`}},e.createElement("div",{className:"rounded-full h-[44px] sm:h-[52px] flex items-center justify-between",style:{backgroundColor:x.background,borderColor:x.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)",padding:"0 14px"}},e.createElement("div",{className:"flex items-center gap-2 sm:gap-3 flex-grow overflow-hidden h-full"},e.createElement(t.Search,{className:"h-4 w-4 sm:h-5 sm:w-5 flex-shrink-0",style:{color:x.primary}}),e.createElement("textarea",{ref:oe,placeholder:E.followUpPlaceholder,value:j,onChange:e=>{z(e.target.value),be(e.target)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),Ee())},disabled:S,className:"w-full bg-transparent outline-none text-sm sm:text-base resize-none overflow-hidden disabled:opacity-50 border-none h-full py-3 placeholder:text-sm sm:placeholder:text-base",style:{color:x.text,outline:"none",boxShadow:"none",fontSize:"16px"},rows:1})),e.createElement("div",{className:"flex items-center gap-2 sm:gap-3 ml-2 sm:ml-3 flex-shrink-0"},e.createElement(R,{size:"icon",variant:"ghost",disabled:S||!j.trim(),className:"rounded-full transition-colors duration-200 disabled:opacity-50 h-8 w-8 sm:h-9 sm:w-9 flex items-center justify-center",style:{color:x.text,backgroundColor:"transparent"},onClick:()=>{Ee()}},S?e.createElement("div",{className:"animate-spin rounded-full h-4 w-4 sm:h-5 sm:w-5 border-2",style:{borderColor:`${x.text}40`,borderTopColor:x.text}}):e.createElement(t.ArrowUp,{className:"h-4 w-4 sm:h-5 sm:w-5"}))))),U&&I&&e.createElement(ce,{onClick:ye,theme:x})))}));fe.displayName="ChatSearch",exports.ChatSearch=fe;
|
|
1
|
+
"use strict";var e=require("react"),t=require("lucide-react"),r=require("framer-motion"),a=require("react/jsx-runtime"),o=require("class-variance-authority"),n=require("clsx"),i=require("tailwind-merge"),s=require("@radix-ui/react-dropdown-menu"),l=require("@radix-ui/react-icons"),c=require("@radix-ui/react-tooltip"),d=require("rehype-raw"),m=require("remark-gfm"),p=require("react-syntax-highlighter"),u=require("react-syntax-highlighter/dist/cjs/styles/prism"),g=require("react-markdown"),h=require("mermaid");function w(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var f=w(e),b=w(s),v=w(c);function y(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}function x(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)t.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(r[a[o]]=e[a[o]])}return r}function k(e,t,r,a){return new(r||(r=Promise))((function(o,n){function i(e){try{l(a.next(e))}catch(e){n(e)}}function s(e){try{l(a.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}l((a=a.apply(e,t||[])).next())}))}function E(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function N(...e){return t=>{let r=!1;const a=e.map((e=>{const a=E(e,t);return r||"function"!=typeof a||(r=!0),a}));if(r)return()=>{for(let t=0;t<a.length;t++){const r=a[t];"function"==typeof r?r():E(e[t],null)}}}}y('/*! tailwindcss v3.3.5 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;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;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--radius:0.5rem}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 0% 83.1%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(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: }::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:rgba(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: }.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-12{left:3rem}.left-2{left:.5rem}.left-4{left:1rem}.right-1{right:.25rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\\/2{top:50%}.top-3{top:.75rem}.z-10{z-index:10}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\\[-5px\\]{margin-top:-5px}.block{display:block}.inline-block{display:inline-block}.\\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-10{height:2.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\[44px\\]{height:44px}.h-full{height:100%}.h-px{height:1px}.min-h-\\[36px\\]{min-height:36px}.min-h-screen{min-height:100vh}.w-1\\/4{width:25%}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-3\\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-5\\/6{width:83.333333%}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-\\[20px\\]{min-width:20px}.min-w-\\[8rem\\]{min-width:8rem}.max-w-3xl{max-width:48rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-1,.-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-outside{list-style-position:outside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.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:.75rem}.rounded-b-lg{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\\[\\#86efac\\]{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-zinc-800\\/80{background-color:rgba(39,39,42,.8)}.bg-opacity-50{--tw-bg-opacity:0.5}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-bottom:0;padding-top:0}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-1{padding-bottom:.25rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-sans{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}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.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-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-normal{line-height:1.5}.tracking-widest{letter-spacing:.1em}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{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 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.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(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)}.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{--tw-backdrop-blur:blur(8px);-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{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.placeholder\\:text-sm::-moz-placeholder{font-size:.875rem;line-height:1.25rem}.placeholder\\:text-sm::placeholder{font-size:.875rem;line-height:1.25rem}.placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:bg-\\[\\#86efac\\]\\/90:hover{background-color:rgba(134,239,172,.9)}.hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\\:bg-zinc-700\\/50:hover{background-color:rgba(63,63,70,.5)}.hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.hover\\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.focus\\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:ring-1: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(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-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-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-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.active\\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\:opacity-100{opacity:1}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked]{--tw-translate-x:1rem}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked],.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.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:-0.5rem}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}:is([data-mode=dark] .dark\\:border-white){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}@media (min-width:640px){.sm\\:ml-3{margin-left:.75rem}.sm\\:block{display:block}.sm\\:h-5{height:1.25rem}.sm\\:h-9{height:2.25rem}.sm\\:h-\\[52px\\]{height:52px}.sm\\:w-5{width:1.25rem}.sm\\:w-9{width:2.25rem}.sm\\:gap-3{gap:.75rem}.sm\\:text-base{font-size:1rem;line-height:1.5rem}.sm\\:placeholder\\:text-base::-moz-placeholder{font-size:1rem;line-height:1.5rem}.sm\\:placeholder\\:text-base::placeholder{font-size:1rem;line-height:1.5rem}}.\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}'),"function"==typeof SuppressedError&&SuppressedError;var C=f.forwardRef(((e,t)=>{const{children:r,...o}=e,n=f.Children.toArray(r),i=n.find(S);if(i){const e=i.props.children,r=n.map((t=>t===i?f.Children.count(e)>1?f.Children.only(null):f.isValidElement(e)?e.props.children:null:t));return a.jsx(j,{...o,ref:t,children:f.isValidElement(e)?f.cloneElement(e,void 0,r):null})}return a.jsx(j,{...o,ref:t,children:r})}));C.displayName="Slot";var j=f.forwardRef(((e,t)=>{const{children:r,...a}=e;if(f.isValidElement(r)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;if(r)return e.ref;if(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r)return e.props.ref;return e.props.ref||e.ref}(r);return f.cloneElement(r,{...O(a,r.props),ref:t?N(t,e):e})}return f.Children.count(r)>1?f.Children.only(null):null}));j.displayName="SlotClone";var z=({children:e})=>a.jsx(a.Fragment,{children:e});function S(e){return f.isValidElement(e)&&e.type===z}function O(e,t){const r={...t};for(const a in t){const o=e[a],n=t[a];/^on[A-Z]/.test(a)?o&&n?r[a]=(...e)=>{n(...e),o(...e)}:o&&(r[a]=o):"style"===a?r[a]={...o,...n}:"className"===a&&(r[a]=[o,n].filter(Boolean).join(" "))}return{...e,...r}}function I(...e){return i.twMerge(n.clsx(e))}const L=o.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),R=f.forwardRef(((e,t)=>{var{className:r,variant:a,size:o,asChild:n=!1}=e,i=x(e,["className","variant","size","asChild"]);const s=n?C:"button";return f.createElement(s,Object.assign({className:I(L({variant:a,size:o,className:r})),ref:t},i))}));R.displayName="Button";const T=b.Root,A=b.Trigger;f.forwardRef(((e,t)=>{var{className:r,inset:a,children:o}=e,n=x(e,["className","inset","children"]);return f.createElement(b.SubTrigger,Object.assign({ref:t,className:I("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a&&"pl-8",r)},n),o,f.createElement(l.ChevronRightIcon,{className:"ml-auto"}))})).displayName=b.SubTrigger.displayName;f.forwardRef(((e,t)=>{var{className:r}=e,a=x(e,["className"]);return f.createElement(b.SubContent,Object.assign({ref:t,className:I("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r)},a))})).displayName=b.SubContent.displayName;const $=f.forwardRef(((e,t)=>{var{className:r,sideOffset:a=4}=e,o=x(e,["className","sideOffset"]);return f.createElement(b.Portal,null,f.createElement(b.Content,Object.assign({ref:t,sideOffset:a,className:I("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r)},o)))}));$.displayName=b.Content.displayName;const q=f.forwardRef(((e,t)=>{var{className:r,inset:a}=e,o=x(e,["className","inset"]);return f.createElement(b.Item,Object.assign({ref:t,className:I("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",a&&"pl-8",r)},o))}));q.displayName=b.Item.displayName;f.forwardRef(((e,t)=>{var{className:r,children:a,checked:o}=e,n=x(e,["className","children","checked"]);return f.createElement(b.CheckboxItem,Object.assign({ref:t,className:I("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),checked:o},n),f.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},f.createElement(b.ItemIndicator,null,f.createElement(l.CheckIcon,{className:"h-4 w-4"}))),a)})).displayName=b.CheckboxItem.displayName;f.forwardRef(((e,t)=>{var{className:r,children:a}=e,o=x(e,["className","children"]);return f.createElement(b.RadioItem,Object.assign({ref:t,className:I("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r)},o),f.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},f.createElement(b.ItemIndicator,null,f.createElement(l.DotFilledIcon,{className:"h-2 w-2 fill-current"}))),a)})).displayName=b.RadioItem.displayName;f.forwardRef(((e,t)=>{var{className:r,inset:a}=e,o=x(e,["className","inset"]);return f.createElement(b.Label,Object.assign({ref:t,className:I("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",r)},o))})).displayName=b.Label.displayName;f.forwardRef(((e,t)=>{var{className:r}=e,a=x(e,["className"]);return f.createElement(b.Separator,Object.assign({ref:t,className:I("-mx-1 my-1 h-px bg-muted",r)},a))})).displayName=b.Separator.displayName;const F=v.Provider,_=v.Root,Q=v.Trigger,P=f.forwardRef(((e,t)=>{var{className:r,sideOffset:a=4}=e,o=x(e,["className","sideOffset"]);return f.createElement(v.Portal,null,f.createElement(v.Content,Object.assign({ref:t,sideOffset:a,className:I("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r)},o)))}));function U({suggestions:t,onQuestionClick:r,borderColor:a,title:o="Suggested questions"}){return t&&0!==t.length?e.createElement("div",{className:"w-full"},e.createElement("h3",{className:"text-base font-medium mb-4 text-gray-900"},o),e.createElement("div",{className:"flex flex-wrap gap-2"},t.map((t=>e.createElement("button",{key:t.id,onClick:()=>r(t),className:"px-4 py-2 rounded-lg border border-gray-300 text-gray-700 hover:bg-gray-50 transition-colors duration-200 text-sm flex items-center gap-2",style:{borderColor:a}},void 0!==t.messageCount&&e.createElement(F,null,e.createElement(_,null,e.createElement(Q,{asChild:!0},e.createElement("span",{className:"bg-gray-100 text-gray-600 px-2 py-0.5 rounded-full text-xs min-w-[20px] border flex items-center justify-center",style:{borderColor:a}},t.messageCount)),e.createElement(P,null,e.createElement("p",null,t.messageCount," messages in this conversation")))),e.createElement("span",null,t.question)))))):null}P.displayName=v.Content.displayName;const M={javascript:".js",python:".py",java:".java",c:".c",cpp:".cpp","c++":".cpp","c#":".cs",ruby:".rb",php:".php",swift:".swift","objective-c":".m",kotlin:".kt",typescript:".ts",go:".go",perl:".pl",rust:".rs",scala:".scala",haskell:".hs",lua:".lua",shell:".sh",sql:".sql",html:".html",css:".css"},B=p.Prism,D=e.memo((({language:r,value:a})=>{const[o,n]=e.useState(!1);return e.createElement("div",{className:"relative font-sans text-sm mt-1"},e.createElement("div",{className:"relative rounded-t-lg bg-zinc-800/80 font-sans text-sm backdrop-blur"},e.createElement("div",{className:"flex h-8 items-center justify-between px-3"},e.createElement("span",{className:"text-xs font-medium text-zinc-400"},r),e.createElement("div",{className:"flex gap-1"},e.createElement(R,{variant:"ghost",size:"icon",className:"size-5 text-zinc-400 hover:bg-zinc-700/50 hover:text-zinc-100",onClick:()=>{k(void 0,void 0,void 0,(function*(){if(navigator.clipboard&&navigator.clipboard.writeText)try{yield navigator.clipboard.writeText(a),n(!0),setTimeout((()=>{n(!1)}),2e3)}catch(e){console.error("Failed to copy:",e)}}))}},o?e.createElement(t.CheckCircle,{size:18}):e.createElement(t.Clipboard,{size:18})),e.createElement(R,{variant:"ghost",size:"icon",className:"size-5 text-zinc-400 hover:bg-zinc-700/50 hover:text-zinc-100",onClick:()=>{const e=M[r]||".file",t=`file-${((e,t=!1)=>{const r="ABCDEFGHJKLMNPQRSTUVWXY3456789";let a="";for(let t=0;t<e;t+=1)a+=r.charAt(Math.floor(30*Math.random()));return t?a.toLowerCase():a})(3,!0)}${e}`,o=new Blob([a],{type:"text/plain"}),n=URL.createObjectURL(o),i=document.createElement("a");i.download=t,i.href=n,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(n)}},e.createElement(t.Download,{size:18}))))),e.createElement("div",{className:"rounded-b-lg"},e.createElement(B,{language:r,style:u.a11yDark,PreTag:"div",wrapLongLines:!0,customStyle:{margin:0,borderTopLeftRadius:0,borderTopRightRadius:0}},a)))}));D.displayName="CodeBlock";const W=f.forwardRef((({src:e,border:t,width:r="100%",height:a="400px",title:o},n)=>{const[i,s]=f.useState(!1);return f.useEffect((()=>{let e=!0;return setTimeout((()=>{e&&s(!0)}),0),()=>{e=!1}}),[]),f.createElement("div",{className:"overflow-hidden rounded-lg mt-4 "+(t?"border":""),style:{width:r,height:a}},i&&f.createElement(f.Fragment,null,f.createElement("iframe",{ref:n,src:e,sandbox:"allow-same-origin allow-scripts allow-popups allow-forms allow-downloads",width:r,height:a,frameBorder:"0",title:"embed",loading:"lazy",allowFullScreen:!0,className:"block rounded-lg"}),o&&f.createElement("span",{className:"block text-center text-sm font-medium"},o)))}));function Z(e){const t=e.attrs.href.replace("share","embed");return f.createElement(W,Object.assign({},e,{src:t,title:"Loom Embed"}))}function Y(e){return f.createElement(W,Object.assign({},e,{src:e.attrs.href,title:"Supademo Embed"}))}function H(e){return f.createElement(W,Object.assign({},e,{src:e.attrs.href,title:"Typeform Embed"}))}function X(e){const t=e.attrs.href.match(/(http|https)?:\/\/(www\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)(\d+)(?:\/|\?)?([\d\w]+)?/);if(!t)return null;const r=t[4],a=t[5],o=`https://player.vimeo.com/video/${r}?byline=0${a?`&h=${a}`:""}`;return f.createElement(W,Object.assign({},e,{src:o,title:`Vimeo Embed (${r})`,height:"412px",border:!1}))}function V(e){const t=(e=>{const t=[/^https?:\/\/([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)\/?$/,/^https?:\/\/fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)\/?$/,/^fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)\/?$/,/^([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)\/?$/];for(const r of t){const t=e.match(r);if(t)return t}return null})(e.attrs.href);if(!t)return null;const r=t[1],a=t[2]||t[1],o=r?`https://${r}.wistia.com/embed/iframe/${a}?seo=true&videoFoam=false`:`https://fast.wistia.com/embed/iframe/${a}`;return f.createElement(W,Object.assign({},e,{src:o,border:!0,title:`Wistia Embed (${a})`}))}function J(e){const t=(e=>{const t=e.match(/(?:https?:\/\/)?(?:www\.)?youtu\.?be(?:\.com)?\/?.*(?:watch|embed)?(?:.*v=|v\/|\/)([a-zA-Z0-9_-]{11})$/i);return t?t[1]:null})(e.attrs.href);return t?f.createElement(W,Object.assign({},e,{src:`https://www.youtube.com/embed/${t}?modestbranding=1`,title:`YouTube Embed (${t})`})):null}Z.isMatch=e=>/^https:\/\/(www\.)?(use)?loom\.com\/(embed|share)\/(.*)$/.test(e),Y.isMatch=e=>/^https:\/\/app\.supademo\.com\/embed\/(.*)$/.test(e),H.isMatch=e=>/^https:\/\/([A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)\.typeform\.com\/to\/(.*)$/.test(e),X.isMatch=e=>/^(https?):\/\/(www\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)?(\d+)(\/)?(?:\?.*|#.*)?$/i.test(e),V.isMatch=e=>[/^https?:\/\/([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^https?:\/\/fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i].some((t=>t.test(e))),J.isMatch=e=>/^(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|v\/|shorts\/)|youtu\.be\/)([a-zA-Z0-9_-]{11})(?:\/|[?&].*)?$/i.test(e);const K=[Z,Y,H,J,V,X],G=t=>{const{href:r}=t.attrs,[a,o]=e.useState(null);if(e.useEffect((()=>{let e=!0;return(()=>{try{const a=K.find((e=>e.isMatch(r)));a&&e&&o({Component:a,props:t})}catch(e){console.error("Error finding embed match:",e)}})(),()=>{e=!1}}),[r,t]),a){const{Component:e,props:t}=a;return f.createElement(e,Object.assign({},t))}return null},ee=e.memo(g,((e,t)=>e.children===t.children)),te={startOnLoad:!1,theme:"default",securityLevel:"loose",fontFamily:"inherit"},re=({content:t})=>{const[r,a]=e.useState(""),[o,n]=e.useState(null),i=e.useRef(null),[s,l]=e.useState(!1);return e.useEffect((()=>{(()=>{try{h.initialize(te),l(!0)}catch(e){console.error("Error initializing mermaid:",e),n("Failed to initialize diagram renderer")}})()}),[]),e.useEffect((()=>{if(!s)return;k(void 0,void 0,void 0,(function*(){try{const e=`mermaid-${Math.random().toString(36).substr(2,9)}`,r=yield h.render(e,t);a(r.svg),n(null)}catch(e){console.error("Error rendering mermaid diagram:",e),n("Failed to render diagram")}}))}),[t,s]),o?e.createElement("div",{className:"text-red-500 bg-red-50 p-4 rounded-md"},o,e.createElement("pre",{className:"mt-2 text-sm"},t)):e.createElement("div",{ref:i,className:"my-4 overflow-auto",dangerouslySetInnerHTML:{__html:r}})},ae=e.memo((({message:t})=>(t.content=t.content.replace(/^\n+|(\n+|\\)+$/g,""),e.createElement(ee,{className:"dark:prose-invert prose flex-1",remarkPlugins:[m],rehypePlugins:[d],components:{code:t=>{var{inline:r,className:a,children:o}=t,n=x(t,["inline","className","children"]);const i=/language-(\w+)/.exec(a||""),s=i&&i[1];return r||"mermaid"!==s&&"mermaidjs"!==s?!r&&s?e.createElement(D,Object.assign({key:Math.random(),language:s,value:String(o).replace(/\n$/,"")},n)):e.createElement("code",Object.assign({className:`text-red-400 bg-slate-200 border-slate-300 border rounded p-0.5 ${a}`.trim()},n),o):e.createElement(re,{content:String(o).replace(/\n$/,"")})},marker:({children:t})=>e.createElement("div",{className:"my-2"},e.createElement("span",{className:"highlight"},t)),table:({children:t})=>e.createElement("table",{className:"border-collapse border border-black px-3 py-1 dark:border-white"},t),th:({children:t})=>e.createElement("th",{className:"break-words border border-black bg-gray-500 px-3 py-1 text-white dark:border-white"},t),td:({children:t})=>e.createElement("td",{className:"break-words border border-black px-3 py-1 dark:border-white"},t),a(t){var{children:r}=t,a=x(t,["children"]);if(a.href){const t=G({attrs:{href:a.href}});if(e.isValidElement(t))return t}return e.createElement("a",Object.assign({className:"link",target:"_blank",rel:"noopener noreferrer"},a),r)},pre:({children:t})=>e.createElement(e.Fragment,null,t),img({src:t,alt:r}){const a=G({attrs:{href:null!=t?t:""}});return e.isValidElement(a)?a:e.createElement("img",{src:t,alt:r,className:"w-full"})},li:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("li",Object.assign({className:"py-1"},a),r)},ul:({children:t})=>e.createElement("ul",{className:"ml-4 list-outside list-disc"},t),ol:({children:t})=>e.createElement("ol",{className:"ml-4 list-outside list-decimal"},t),strong:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("span",Object.assign({className:"font-semibold"},a),r)},h1:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h1",Object.assign({className:"mb-2 mt-6 text-3xl font-semibold"},a),r)},h2:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h2",Object.assign({className:"mb-2 mt-6 text-2xl font-semibold"},a),r)},h3:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h3",Object.assign({className:"mb-2 mt-6 text-xl font-semibold"},a),r)},h4:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h4",Object.assign({className:"mb-2 mt-6 text-lg font-semibold"},a),r)},h5:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h5",Object.assign({className:"mb-2 mt-6 text-base font-semibold"},a),r)},h6:t=>{var{children:r}=t,a=x(t,["children"]);return e.createElement("h6",Object.assign({className:"mb-2 mt-6 text-sm font-semibold"},a),r)}}},t.content))));var oe="generating-star-module_animate-spin__AJjwz";y(".generating-star-module_animate-spin__AJjwz{animation:generating-star-module_rotate__ChndJ 2s linear infinite;transform:none;transform-box:fill-box;transform-origin:center}@keyframes generating-star-module_rotate__ChndJ{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}");const ne=({loading:t,color:r="#000"})=>e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"mt-[-5px] inline-block flex-shrink-0",style:{minWidth:"24px",minHeight:"24px"}},e.createElement("path",{className:t?oe:"",d:"M7.54672 16.0031L2.66234 14.2031C2.51881 14.1498 2.39502 14.0539 2.3076 13.9282C2.22019 13.8025 2.17333 13.6531 2.17333 13.5C2.17333 13.3469 2.22019 13.1975 2.3076 13.0718C2.39502 12.9461 2.51881 12.8501 2.66234 12.7969L7.54672 10.9969C7.64981 10.9589 7.74344 10.899 7.82113 10.8213C7.89882 10.7436 7.95873 10.65 7.99672 10.5469L9.79672 5.66249C9.84999 5.51896 9.94592 5.39517 10.0716 5.30775C10.1973 5.22033 10.3467 5.17348 10.4998 5.17348C10.6529 5.17348 10.8024 5.22033 10.9281 5.30775C11.0538 5.39517 11.1497 5.51896 11.203 5.66249L13.003 10.5469C13.041 10.65 13.1009 10.7436 13.1786 10.8213C13.2562 10.899 13.3499 10.9589 13.453 10.9969L18.3373 12.7969C18.4809 12.8501 18.6047 12.9461 18.6921 13.0718C18.7795 13.1975 18.8264 13.3469 18.8264 13.5C18.8264 13.6531 18.7795 13.8025 18.6921 13.9282C18.6047 14.0539 18.4809 14.1498 18.3373 14.2031L13.453 16.0031C13.3499 16.0411 13.2562 16.101 13.1786 16.1787C13.1009 16.2564 13.041 16.35 13.003 16.4531L11.203 21.3375C11.1497 21.481 11.0538 21.6048 10.9281 21.6922C10.8024 21.7796 10.6529 21.8265 10.4998 21.8265C10.3467 21.8265 10.1973 21.7796 10.0716 21.6922C9.94592 21.6048 9.84999 21.481 9.79672 21.3375L7.99672 16.4531C7.95873 16.35 7.89882 16.2564 7.82113 16.1787C7.74344 16.101 7.64981 16.0411 7.54672 16.0031Z",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",fill:t?r:"none",strokeLinejoin:"round"}),e.createElement("path",{d:"M18.7497 3.75L14.2497 3.75",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M16.4999 6V1.5",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M22.4999 8.25001H19.4999",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M20.9998 9.75002V6.75002",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}));function ie({answer:a,question:o,theme:n,searchResults:i,isStreaming:s=!1,searchQueryId:l,feedback:c,onFeedback:d,disableFeedback:m=!1,textConfig:p={},isLoading:u=!1,isSearchLoading:g=!1}){const[h,w]=e.useState(!1),[f,b]=e.useState(!1),v=e.useMemo((()=>({content:a})),[a]),y=()=>k(this,void 0,void 0,(function*(){try{yield navigator.clipboard.writeText(a),w(!0),setTimeout((()=>w(!1)),2e3)}catch(e){console.error("Failed to copy text:",e)}})),x=e=>{d&&l&&d(e)};return e.createElement("div",{className:"rounded-lg p-6 relative",style:{backgroundColor:n.cardBackground,borderColor:n.border,borderWidth:"1px",borderStyle:"solid"}},e.createElement("div",{className:"flex items-start justify-between"},e.createElement("div",{className:"flex items-center gap-2 mb-4"},e.createElement("div",{className:"mt-1"},e.createElement(ne,{loading:u||s,color:n.primary})),e.createElement("h2",{className:"text-xl leading-normal",style:{color:n.text}},o)),a&&e.createElement(F,null,e.createElement(_,null,e.createElement(Q,{asChild:!0},e.createElement("button",{onClick:()=>{y()},className:"flex items-center justify-center w-8 h-8 rounded-md hover:bg-gray-100 transition-colors duration-200"},h?e.createElement(t.Check,{className:"h-4 w-4 text-green-500"}):e.createElement(t.Copy,{className:"h-4 w-4 text-gray-500"}))),e.createElement(P,null,e.createElement("p",null,h?"Copied!":"Copy"))))),u?e.createElement("div",{className:"space-y-4"},e.createElement("div",{className:"flex items-center gap-2"},e.createElement("div",{className:"animate-pulse h-5 rounded-full w-5",style:{backgroundColor:`${n.primary}30`}}),e.createElement("div",{className:"flex items-center gap-2 text-sm",style:{color:n.text}},g?p.loadingSearchText:p.loadingAnswerText)),e.createElement("div",{className:"space-y-3"},e.createElement("div",{className:"animate-pulse h-4 bg-gray-200 rounded w-3/4",style:{backgroundColor:`${n.border}40`}}),e.createElement("div",{className:"animate-pulse h-4 bg-gray-200 rounded w-full",style:{backgroundColor:`${n.border}40`}}),e.createElement("div",{className:"animate-pulse h-4 bg-gray-200 rounded w-5/6",style:{backgroundColor:`${n.border}40`}})),e.createElement("div",{className:"mt-6 space-y-3"},e.createElement("div",{className:"animate-pulse h-4 bg-gray-200 rounded w-1/4",style:{backgroundColor:`${n.border}40`}}),e.createElement("div",{className:"flex gap-2"},e.createElement("div",{className:"animate-pulse h-8 bg-gray-200 rounded w-32",style:{backgroundColor:`${n.border}40`}}),e.createElement("div",{className:"animate-pulse h-8 bg-gray-200 rounded w-40",style:{backgroundColor:`${n.border}40`}})))):a&&e.createElement("div",{className:"prose prose-sm max-w-none",style:{color:n.text}},e.createElement(ae,{message:v})),a&&!s&&!m&&e.createElement("div",{className:"mt-2 flex justify-end gap-2"},e.createElement(F,null,e.createElement(_,null,e.createElement(Q,{asChild:!0},e.createElement(R,{variant:"ghost",size:"sm",className:"rounded-md h-8 w-8 flex items-center justify-center transition-all duration-200 transform hover:scale-105 active:scale-95 "+("accept"===c?"bg-green-100 text-green-600 hover:bg-green-200":""),onClick:()=>x("accept"),disabled:Boolean(c)},e.createElement(r.motion.div,{initial:{scale:1},animate:{scale:"accept"===c?[1,1.2,1]:1},transition:{duration:.3}},e.createElement(t.ThumbsUp,{className:"h-4 w-4"})))),e.createElement(P,null,e.createElement("p",null,p.positiveAnswerText||"Helpful")))),e.createElement(F,null,e.createElement(_,null,e.createElement(Q,{asChild:!0},e.createElement(R,{variant:"ghost",size:"sm",className:"rounded-md h-8 w-8 flex items-center justify-center transition-all duration-200 transform hover:scale-105 active:scale-95 "+("reject"===c?"bg-red-100 text-red-600 hover:bg-red-200":""),onClick:()=>x("reject"),disabled:Boolean(c)},e.createElement(r.motion.div,{initial:{scale:1},animate:{scale:"reject"===c?[1,1.2,1]:1},transition:{duration:.3}},e.createElement(t.ThumbsDown,{className:"h-4 w-4"})))),e.createElement(P,null,e.createElement("p",null,p.negativeAnswerText||"Not helpful"))))),i&&i.length>0&&e.createElement("div",{className:"mt-6 rounded-lg overflow-hidden",style:{backgroundColor:n.surface,borderWidth:"1px",borderStyle:"solid",borderColor:n.border}},e.createElement("button",{onClick:()=>b(!f),className:"w-full flex items-center justify-between p-3 transition-all duration-200 hover:bg-opacity-50",style:{color:n.text,borderBottom:f?`1px solid ${n.surfaceBorder}`:"none"}},e.createElement("div",{className:"flex items-center gap-2"},e.createElement(t.FileText,{className:"h-4 w-4 flex-shrink-0",style:{color:n.primary}}),e.createElement("span",{className:"font-medium truncate"},`Related Articles (${i.length})`)),e.createElement(t.ChevronDown,{className:"h-4 w-4 flex-shrink-0 transition-transform duration-200 "+(f?"rotate-180":""),style:{color:n.text}})),e.createElement("div",{className:"overflow-hidden transition-all duration-200 ease-in-out",style:{maxHeight:f?48*i.length+"px":"0",opacity:f?1:0,transform:`translateY(${f?"0":"-10px"})`}},e.createElement("div",{className:"divide-y divide-gray-200"},i.map((r=>e.createElement("a",{key:r.id,href:r.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 p-3 transition-colors duration-200 hover:bg-gray-50",style:{color:n.text,backgroundColor:n.surface}},e.createElement("span",{className:"flex-grow truncate"},r.title),e.createElement(t.ExternalLink,{className:"h-4 w-4 flex-shrink-0",style:{color:`${n.text}60`}}))))))))}function se({questions:a,onQuestionClick:o,theme:n}){return a.length?e.createElement(r.motion.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"w-full"},e.createElement("div",{className:"rounded-lg overflow-hidden",style:{backgroundColor:n.surface,borderWidth:"1px",borderStyle:"solid",borderColor:n.border}},e.createElement("div",{className:"p-3 border-b",style:{borderColor:n.surfaceBorder}},e.createElement("div",{className:"flex items-center gap-2"},e.createElement(t.HelpCircle,{className:"h-4 w-4 flex-shrink-0",style:{color:n.primary}}),e.createElement("span",{className:"font-medium"},"Follow-up Questions"))),e.createElement("div",{className:"divide-y divide-gray-200"},a.map(((a,i)=>e.createElement(r.motion.button,{key:i,initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.1*i},onClick:()=>o(a),className:"w-full flex items-center gap-2 p-3 transition-colors duration-200 hover:bg-gray-50 text-left",style:{color:n.text,backgroundColor:n.surface}},e.createElement("span",{className:"flex-grow"},a),e.createElement(t.ChevronRight,{className:"h-4 w-4 flex-shrink-0",style:{color:`${n.text}60`}}))))))):null}function le({questions:t,currentIndex:a,activeIndex:o,onNavigate:n,theme:i,offset:s}){return e.createElement(r.motion.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.5},className:"fixed left-4 top-1/2 -translate-y-1/2 z-50 flex flex-col gap-2",style:Object.assign({},s?{left:`${s}px`}:{})},t.map(((t,r)=>e.createElement("div",{key:r,className:"relative group"},e.createElement("button",{onClick:()=>n(r),className:"flex items-center justify-center w-8 h-8 rounded-full transition-all duration-200 "+(r<=a?"hover:opacity-90":""),style:{backgroundColor:r===o?i.primary:"#ccc",color:r===o?i.background:"#333",opacity:r>a?.5:1,cursor:"pointer"}},r+1),e.createElement("div",{className:"absolute left-12 top-0 px-3 py-2 rounded-lg whitespace-normal opacity-0 group-hover:opacity-100 w-48 text-sm transition-opacity duration-200",style:{backgroundColor:i.background,color:i.text,borderColor:i.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)"}},t,e.createElement("div",{className:"absolute left-0 top-3 -translate-x-1 w-2 h-2 rotate-45",style:{backgroundColor:i.background,borderLeft:`1px solid ${i.border}`,borderBottom:`1px solid ${i.border}`}}))))))}function ce({onClick:r,theme:a}){return e.createElement(R,{className:"fixed bottom-20 right-4 rounded-full p-2 transition-opacity duration-300",style:{backgroundColor:a.background,borderColor:a.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)"},onClick:r},e.createElement(t.ArrowDown,{className:"h-5 w-5",style:{color:a.text}}))}function de({endpoint:e,query:t,collectionId:r,headers:a,conversationId:o}){var n;return k(this,void 0,void 0,(function*(){try{const i=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},a),body:JSON.stringify(Object.assign(Object.assign({query:t,limit:5},r&&"all"!==r&&{collectionId:r}),o&&{conversationId:o}))});if(!i.ok)throw new Error("Failed to fetch search results");const s=yield i.json();return{results:null==s?void 0:s.data,searchQueryId:null===(n=null==s?void 0:s.searchQuery)||void 0===n?void 0:n.id}}catch(e){throw console.error("Error searching:",e),e}}))}function me({endpoint:e,searchQueryId:t,headers:r,conversationId:a}){return k(this,void 0,void 0,(function*(){try{const o=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},r),body:JSON.stringify(Object.assign({searchQueryId:t},a&&{conversationId:a}))});if(!o.ok)throw new Error("Failed to fetch answer");return o}catch(e){throw console.error("Error fetching answer:",e),e}}))}function pe(){return`bf-conversation-${Date.now()}-${"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}`}function ue({endpoint:e,conversationId:t,headers:r}){return k(this,void 0,void 0,(function*(){try{const a=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},r),body:JSON.stringify({conversationId:t})});if(!a.ok)throw new Error("Failed to load conversation");const o=yield a.json();return{data:o.data.map((e=>Object.assign(Object.assign({},e),{feedback:e.feedback?"positive"===e.feedback?"accept":"reject":void 0})))}}catch(e){throw console.error("Error loading conversation:",e),e}}))}const ge={primary:"#A3E635",accent:"#f9fafb",background:"white",text:"#171717",border:"#171717",hover:"#171717",surface:"#F9FAFB",surfaceBorder:"#E5E7EB",surfaceHover:"#F3F4F6",cardBackground:"white"},he={headerText:"How can we help you today?",searchPlaceholder:"Ask a question or type a search term here ...",attachImageText:"Attach image",allDocumentsText:"All documents",loadingSearchText:"Searching for relevant content...",loadingAnswerText:"Crafting a response...",errorText:"Sorry, there was an error generating the answer.",followUpPlaceholder:"Ask follow-up",positiveAnswerText:"Helpful",negativeAnswerText:"Not helpful"},we=e.forwardRef((({suggestions:a,theme:o={},collections:n=[],selectedCollectionId:i,onCollectionChange:s,searchEndpoint:l,answerEndpoint:c,feedbackEndpoint:d,loadConversationEndpoint:m,disableFollowUpQuestions:p=!1,disableImageAttachment:u=!1,disableFeedback:g=!1,siblingNode:h,offset:w=0,headers:f,textConfig:b={},followUpQuestionsEndpoint:v},y)=>{var x;const E=Object.assign(Object.assign({},ge),o),N=Object.assign(Object.assign({},he),b),[C,j]=e.useState(""),[z,S]=e.useState(""),[O,I]=e.useState(!1),[L,F]=e.useState(!1),[_,Q]=e.useState([]),[P,M]=e.useState(!1),[B,D]=e.useState(0),[W,Z]=e.useState([]),[Y,H]=e.useState(i),[X,V]=e.useState(!0),[J,K]=e.useState(""),[G,ee]=e.useState(!1),[te,re]=e.useState(),ae=e.useRef(null),oe=e.useRef(null),ne=e.useRef([]),we=e.useRef(null),fe=e.useRef(null),be=e.useRef([]);e.useEffect((()=>{const e=new URLSearchParams(window.location.search).get("conversation");if(e&&m)ee(!0),F(!0),ue({endpoint:m,conversationId:e,headers:f}).then((t=>{Q(t.data),K(e),F(!0)})).catch((e=>{console.error("Error loading conversation:",e),re(N.errorText||"An error occurred"),F(!1),Q([]);const t=pe();K(t);const r=new URL(window.location.href);r.searchParams.delete("conversation"),window.history.replaceState({},"",r.toString())})).finally((()=>{ee(!1)}));else{const e=pe();K(e)}}),[m]),e.useEffect((()=>{if(J&&_.length>0){const e=new URL(window.location.href);e.searchParams.set("conversation",J),window.history.replaceState({},"",e.toString())}}),[J,_.length]),e.useEffect((()=>{const e={showResults:L,answers:_,isLoading:G,error:te};be.current.forEach((t=>t(e)))}),[L,_,G,te]),e.useImperativeHandle(y,(()=>({createNewThread:()=>{j(""),S(""),F(!1),Q([]),D(0),Z([]);const e=pe();K(e);const t=new URL(window.location.href);t.searchParams.delete("conversation"),window.history.replaceState({},"",t.toString()),ae.current&&(ae.current.style.height="auto")},showFollowUpThread:e=>{V(e)},subscribeToStateChanges:e=>(be.current.push(e),e({showResults:L,answers:_,isLoading:!1,error:void 0}),()=>{be.current=be.current.filter((t=>t!==e))})}))),e.useEffect((()=>{H(i)}),[i]);const ve=e=>{e.style.height="auto",e.style.height=`${e.scrollHeight}px`},ye=()=>{requestAnimationFrame((()=>{const e=ne.current[ne.current.length-1];if(e){const t=e.getBoundingClientRect(),r=window.pageYOffset||document.documentElement.scrollTop,a=t.top+r-80;window.scrollTo({top:a,behavior:"smooth"})}}))},xe=e=>k(void 0,void 0,void 0,(function*(){var t;const r=null===(t=e.body)||void 0===t?void 0:t.getReader();if(!r)return;Q((e=>{const t=[...e],r=t[t.length-1];return r&&(r.isLoading=!1,r.isStreaming=!0,r.searchResults=r.searchResults||[]),t}));let a="";try{let e,t;for(;({done:e,value:t}=yield r.read()),!e;){const e=(new TextDecoder).decode(t);a+=e,Q((e=>{const t=[...e],r=t[t.length-1];return r&&(r.answer=a,r.isLoading=!1,r.isStreaming=!0,r.searchResults=r.searchResults||[]),t}))}}finally{Q((e=>{const t=[...e],r=t[t.length-1];return r&&(r.isStreaming=!1,r.isLoading=!1,r.searchResults=r.searchResults||[],v&&!p&&r.searchQueryId&&k(void 0,void 0,void 0,(function*(){try{const e=yield function({endpoint:e,searchQueryId:t,headers:r,conversationId:a}){return k(this,void 0,void 0,(function*(){try{const o=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},r),body:JSON.stringify(Object.assign({searchQueryId:t},a&&{conversationId:a}))});if(!o.ok)throw new Error("Failed to fetch follow-up questions");return(yield o.json()).questions}catch(e){throw console.error("Error fetching follow-up questions:",e),e}}))}({endpoint:v,searchQueryId:r.searchQueryId,headers:f,conversationId:J});Q((t=>{const r=[...t],a=r[r.length-1];return a&&(a.followUpQuestions=e),r}))}catch(e){console.error("Error fetching follow-up questions:",e)}}))),t})),r.releaseLock()}})),ke=(e,t,r)=>k(void 0,void 0,void 0,(function*(){if(d){Q((t=>{const a=[...t];return a[r]&&(a[r]=Object.assign(Object.assign({},a[r]),{feedback:e})),a}));try{yield function({endpoint:e,searchQueryId:t,response:r,headers:a,conversationId:o}){return k(this,void 0,void 0,(function*(){try{if(!(yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},a),body:JSON.stringify(Object.assign({searchQueryId:t,response:r},o&&{conversationId:o}))})).ok)throw new Error("Failed to send feedback")}catch(e){throw console.error("Error sending feedback:",e),e}}))}({endpoint:d,searchQueryId:t,response:e,headers:f,conversationId:J})}catch(e){console.error("Error sending feedback:",e),Q((e=>{const t=[...e];return t[r]&&(t[r]=Object.assign(Object.assign({},t[r]),{feedback:void 0})),t}))}}})),Ee=(e=C.trim())=>k(void 0,void 0,void 0,(function*(){if(e){I(!0),F(!0);const t=J||pe();J||K(t);const r={question:e,answer:"",isLoading:!0,isSearchLoading:!0,searchResults:[],searchQueryId:void 0,isStreaming:!1};Q((e=>[...e,r]));const a=_.length;D(a),ye(),yield Promise.resolve();try{const r=yield de({endpoint:l,query:e,collectionId:Y,headers:f,conversationId:t});Q((e=>{const t=[...e];return t[t.length-1]&&(t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{searchResults:r.results,searchQueryId:r.searchQueryId,isSearchLoading:!1})),t}));const a=yield me({endpoint:c,searchQueryId:r.searchQueryId,headers:f,conversationId:t});yield xe(a)}catch(e){console.error("Error generating answer:",e),Q((e=>{const t=[...e];return t[t.length-1]&&(t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{answer:N.errorText||"An error occurred",isLoading:!1,isSearchLoading:!1,isStreaming:!1})),t}))}finally{I(!1)}}})),Ne=()=>k(void 0,void 0,void 0,(function*(){if(z.trim()){const e=z;j(e),S(""),yield Ee(e)}}));e.useEffect((()=>{const e=()=>{const e=window.innerHeight+window.pageYOffset>=document.documentElement.scrollHeight-100;M(!e)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]),e.useEffect((()=>()=>{W.forEach((e=>URL.revokeObjectURL(e.preview)))}),[W]);e.useEffect((()=>{const e=()=>{new URLSearchParams(window.location.search).get("conversation")||(j(""),S(""),F(!1),Q([]),D(0),Z([]),ae.current&&(ae.current.style.height="auto"))};return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)}),[]);const Ce=e=>{Ee(e)};return e.createElement("div",{className:"relative min-h-screen"},e.createElement("div",{ref:we,className:"w-full max-w-3xl mx-auto flex flex-col items-center space-y-8 px-4 py-20",style:{"--surface-border":E.surfaceBorder,"--surface-hover":E.surfaceHover}},e.createElement(r.AnimatePresence,null,G?e.createElement(r.motion.div,{key:"loading",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"w-full flex items-center justify-center py-20"},e.createElement("div",{className:"flex flex-col items-center gap-4"},e.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-2 border-t-transparent",style:{borderColor:E.primary}}),e.createElement("p",{className:"text-sm",style:{color:E.text}},"Loading conversation..."))):L?e.createElement(r.motion.div,{key:"results",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.5},className:"w-full space-y-4 py-4 mb-20"},_.map(((t,a)=>e.createElement(r.motion.div,{key:a,ref:e=>ne.current[a]=e,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.1*a}},e.createElement(ie,{answer:t.answer,question:t.question,theme:E,searchResults:t.searchResults,isStreaming:t.isStreaming,searchQueryId:t.searchQueryId,feedback:t.feedback,onFeedback:g||!d?void 0:e=>ke(e,t.searchQueryId,a),disableFeedback:g||!d,textConfig:N,isLoading:t.isLoading,isSearchLoading:t.isSearchLoading}),a===_.length-1&&!p&&t.followUpQuestions&&!t.isStreaming&&e.createElement("div",{className:"mt-4"},e.createElement(se,{questions:t.followUpQuestions,onQuestionClick:Ce,theme:E})))))):e.createElement(r.motion.div,{key:"search",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.5},className:"w-full space-y-8"},e.createElement("div",{className:"w-full text-center space-y-4"},e.createElement(r.motion.h1,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3},className:"text-5xl font-bold",style:{color:E.text}},N.headerText)),e.createElement(r.motion.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.4}},e.createElement("div",{className:"relative w-full rounded-md overflow-hidden",style:{backgroundColor:E.background,borderColor:E.border,borderWidth:"1px",borderStyle:"solid"}},e.createElement("div",{className:"p-3 flex items-center"},e.createElement(t.Search,{className:"h-5 w-5 text-gray-400 mr-2"}),e.createElement("textarea",{ref:ae,placeholder:N.searchPlaceholder,value:C,onChange:e=>{j(e.target.value),ve(e.target)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),Ee())},className:"w-full resize-none outline-none text-lg py-1 font-light min-h-[36px] overflow-hidden placeholder:text-gray-400 border-none bg-transparent",style:{color:E.text,outline:"none",boxShadow:"none",fontSize:"16px"},rows:1})),!u&&W.length>0&&e.createElement("div",{className:"flex gap-2 mt-3 overflow-x-auto pb-1 px-3"},W.map(((r,a)=>e.createElement("div",{key:a,className:"relative group rounded-lg overflow-hidden flex-shrink-0",style:{width:"80px",height:"80px"}},e.createElement("img",{src:r.preview,alt:`Attached ${a+1}`,className:"w-full h-full object-cover"}),e.createElement("button",{onClick:()=>(e=>{Z((t=>(URL.revokeObjectURL(t[e].preview),t.filter(((t,r)=>r!==e)))))})(a),className:"absolute top-1 right-1 bg-black bg-opacity-50 rounded-full p-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200"},e.createElement(t.X,{className:"h-3 w-3 text-white"})))))),e.createElement("div",{className:"flex items-center justify-between px-3 py-2 bg-gray-100 border-t border-gray-200"},e.createElement("div",{className:"flex gap-2"},n.length>0&&e.createElement(T,null,e.createElement(A,{asChild:!0},e.createElement(R,{variant:"ghost",size:"sm",className:"hover:bg-gray-200 transition-all duration-200 rounded-md h-8 flex items-center gap-2 text-gray-700"},Y&&"all"!==Y?e.createElement(t.CheckCircle2,{className:"h-5 w-5 text-green-500"}):e.createElement(t.Circle,{className:"h-5 w-5 text-gray-400"}),(null===(x=n.find((e=>e.id===Y)))||void 0===x?void 0:x.name)||N.allDocumentsText,e.createElement(t.ChevronDown,{className:"h-4 w-4 opacity-50"}))),e.createElement($,null,n.map((r=>e.createElement(q,{key:r.id,onClick:()=>{return e=r.id,H(e),void(null==s||s(e));var e},className:r.id===Y?"bg-gray-100":""},r.id===Y?e.createElement(t.CheckCircle2,{className:"h-4 w-4 mr-2 text-green-500"}):e.createElement(t.Circle,{className:"h-4 w-4 mr-2 text-gray-400"}),r.name))))),!u&&e.createElement(e.Fragment,null,e.createElement("input",{type:"file",ref:fe,accept:"image/*",multiple:!0,className:"hidden",onChange:e=>{const t=e.target.files;if(t){const e=Array.from(t).map((e=>({file:e,preview:URL.createObjectURL(e)})));Z((t=>[...t,...e]))}fe.current&&(fe.current.value="")}}),e.createElement(R,{variant:"ghost",size:"sm",className:"hover:bg-gray-200 rounded-md h-8 text-gray-700",onClick:()=>{var e;return null===(e=fe.current)||void 0===e?void 0:e.click()}},e.createElement(t.Image,{className:"h-4 w-4 mr-1.5"}),N.attachImageText))),e.createElement("div",{className:"flex items-center"},e.createElement(R,{size:"sm",disabled:!C||O,className:"rounded-md h-8 w-8 bg-[#86efac] hover:bg-[#86efac]/90 disabled:opacity-50",onClick:()=>{Ee()}},O?e.createElement("div",{className:"animate-spin rounded-full h-4 w-4 border-2 border-t-transparent",style:{borderColor:"white"}}):e.createElement(t.ArrowRight,{className:"h-4 w-4 text-gray-700"})))))),e.createElement(U,{suggestions:a||[],onQuestionClick:e=>{if(e.conversationId&&m)return ee(!0),F(!0),void ue({endpoint:m,conversationId:e.conversationId,headers:f}).then((t=>{Q(t.data),K(e.conversationId),F(!0)})).catch((e=>{console.error("Error loading conversation:",e),re(N.errorText||"An error occurred"),F(!1),Q([]);const t=pe();K(t);const r=new URL(window.location.href);r.searchParams.delete("conversation"),window.history.replaceState({},"",r.toString())})).finally((()=>{ee(!1)}));if(F(!0),I(!0),!J){const e=pe();K(e)}Q((t=>[...t,{question:e.question,answer:"",isLoading:!0,isSearchLoading:!0}])),k(void 0,void 0,void 0,(function*(){try{const t=yield de({endpoint:l,query:e.question,collectionId:Y,headers:f,conversationId:J}),r=t.results;Q((e=>{const a=[...e];return a[a.length-1]=Object.assign(Object.assign({},a[a.length-1]),{searchResults:r,searchQueryId:t.searchQueryId,isSearchLoading:!1}),a}));const a=yield me({endpoint:c,searchQueryId:t.searchQueryId,headers:f,conversationId:J});yield xe(a)}catch(e){console.error("Error generating answer:",e),Q((e=>{const t=[...e];return t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{answer:N.errorText||"An error occurred",isLoading:!1,isSearchLoading:!1}),t}))}finally{I(!1),ye()}}))},borderColor:E.border,title:N.suggestionsTitle}),h)),L&&_.length>1&&e.createElement("div",{className:"hidden sm:block"},e.createElement(le,{questions:_.map((e=>e.question)),currentIndex:O?_.length-1:B,activeIndex:B,onNavigate:e=>{D(e),(e=>{requestAnimationFrame((()=>{const t=ne.current[e];if(t){const e=t.getBoundingClientRect(),r=window.pageYOffset||document.documentElement.scrollTop,a=e.top+r-80;window.scrollTo({top:a,behavior:"smooth"})}}))})(e)},theme:E,offset:w})),L&&X&&e.createElement(r.motion.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5},className:"fixed bottom-4 left-4 right-4 max-w-3xl mx-auto z-10",style:{left:`${w}px`}},e.createElement("div",{className:"rounded-full h-[44px] sm:h-[52px] flex items-center justify-between",style:{backgroundColor:E.background,borderColor:E.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)",padding:"0 14px"}},e.createElement("div",{className:"flex items-center gap-2 sm:gap-3 flex-grow overflow-hidden h-full"},e.createElement(t.Search,{className:"h-4 w-4 sm:h-5 sm:w-5 flex-shrink-0",style:{color:E.primary}}),e.createElement("textarea",{ref:oe,placeholder:N.followUpPlaceholder,value:z,onChange:e=>{S(e.target.value),ve(e.target)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),Ne())},disabled:O,className:"w-full bg-transparent outline-none text-sm sm:text-base resize-none overflow-hidden disabled:opacity-50 border-none h-full py-3 placeholder:text-sm sm:placeholder:text-base",style:{color:E.text,outline:"none",boxShadow:"none",fontSize:"16px"},rows:1})),e.createElement("div",{className:"flex items-center gap-2 sm:gap-3 ml-2 sm:ml-3 flex-shrink-0"},e.createElement(R,{size:"icon",variant:"ghost",disabled:O||!z.trim(),className:"rounded-full transition-colors duration-200 disabled:opacity-50 h-8 w-8 sm:h-9 sm:w-9 flex items-center justify-center",style:{color:E.text,backgroundColor:"transparent"},onClick:()=>{Ne()}},O?e.createElement("div",{className:"animate-spin rounded-full h-4 w-4 sm:h-5 sm:w-5 border-2",style:{borderColor:`${E.text}40`,borderTopColor:E.text}}):e.createElement(t.ArrowUp,{className:"h-4 w-4 sm:h-5 sm:w-5"}))))),P&&L&&e.createElement(ce,{onClick:ye,theme:E})))}));we.displayName="ChatSearch",exports.ChatSearch=we;
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import t,{memo as r,useState as a,useEffect as o,useRef as n,useMemo as i,forwardRef as s,useImperativeHandle as l}from"react";import{CheckCircle as c,Clipboard as d,Download as m,Check as p,Copy as u,ThumbsUp as g,ThumbsDown as h,FileText as b,ChevronDown as f,ExternalLink as w,ArrowDown as y,Search as v,X as x,CheckCircle2 as k,Circle as E,Image as N,ArrowRight as C,ArrowUp as j}from"lucide-react";import{motion as z,AnimatePresence as O}from"framer-motion";import{jsx as S,Fragment as L}from"react/jsx-runtime";import{cva as I}from"class-variance-authority";import{clsx as T}from"clsx";import{twMerge as R}from"tailwind-merge";import*as $ from"@radix-ui/react-dropdown-menu";import{ChevronRightIcon as A,CheckIcon as _,DotFilledIcon as F}from"@radix-ui/react-icons";import*as U from"@radix-ui/react-tooltip";import Q from"rehype-raw";import P from"remark-gfm";import{Prism as M}from"react-syntax-highlighter";import{a11yDark as B}from"react-syntax-highlighter/dist/cjs/styles/prism";import q from"react-markdown";import Z from"mermaid";function W(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}function H(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)t.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(r[a[o]]=e[a[o]])}return r}function Y(e,t,r,a){return new(r||(r=Promise))((function(o,n){function i(e){try{l(a.next(e))}catch(e){n(e)}}function s(e){try{l(a.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}l((a=a.apply(e,t||[])).next())}))}function D(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function V(...e){return t=>{let r=!1;const a=e.map((e=>{const a=D(e,t);return r||"function"!=typeof a||(r=!0),a}));if(r)return()=>{for(let t=0;t<a.length;t++){const r=a[t];"function"==typeof r?r():D(e[t],null)}}}}W('/*! tailwindcss v3.3.5 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;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;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--radius:0.5rem}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 0% 83.1%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(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: }::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:rgba(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: }.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-12{left:3rem}.left-2{left:.5rem}.left-4{left:1rem}.right-1{right:.25rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\\/2{top:50%}.top-3{top:.75rem}.z-10{z-index:10}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\\[-5px\\]{margin-top:-5px}.block{display:block}.inline-block{display:inline-block}.\\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-10{height:2.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\[44px\\]{height:44px}.h-full{height:100%}.h-px{height:1px}.min-h-\\[36px\\]{min-height:36px}.min-h-screen{min-height:100vh}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-3\\/4{width:75%}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-\\[20px\\]{min-width:20px}.min-w-\\[8rem\\]{min-width:8rem}.max-w-3xl{max-width:48rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-1,.-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-outside{list-style-position:outside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.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:.75rem}.rounded-b-lg{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\\[\\#86efac\\]{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-zinc-800\\/80{background-color:rgba(39,39,42,.8)}.bg-opacity-50{--tw-bg-opacity:0.5}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-bottom:0;padding-top:0}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-1{padding-bottom:.25rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.text-center{text-align:center}.font-sans{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}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.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-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.tracking-widest{letter-spacing:.1em}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{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 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.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(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)}.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{--tw-backdrop-blur:blur(8px);-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{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.placeholder\\:text-sm::-moz-placeholder{font-size:.875rem;line-height:1.25rem}.placeholder\\:text-sm::placeholder{font-size:.875rem;line-height:1.25rem}.placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.hover\\:bg-\\[\\#86efac\\]\\/90:hover{background-color:rgba(134,239,172,.9)}.hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\\:bg-zinc-700\\/50:hover{background-color:rgba(63,63,70,.5)}.hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.hover\\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.focus\\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:ring-1: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(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-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-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-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\:opacity-100{opacity:1}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked]{--tw-translate-x:1rem}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked],.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.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:-0.5rem}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}:is([data-mode=dark] .dark\\:border-white){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}@media (min-width:640px){.sm\\:ml-3{margin-left:.75rem}.sm\\:block{display:block}.sm\\:h-5{height:1.25rem}.sm\\:h-9{height:2.25rem}.sm\\:h-\\[52px\\]{height:52px}.sm\\:w-5{width:1.25rem}.sm\\:w-9{width:2.25rem}.sm\\:gap-3{gap:.75rem}.sm\\:text-base{font-size:1rem;line-height:1.5rem}.sm\\:placeholder\\:text-base::-moz-placeholder{font-size:1rem;line-height:1.5rem}.sm\\:placeholder\\:text-base::placeholder{font-size:1rem;line-height:1.5rem}}.\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}'),"function"==typeof SuppressedError&&SuppressedError;var J=e.forwardRef(((t,r)=>{const{children:a,...o}=t,n=e.Children.toArray(a),i=n.find(G);if(i){const t=i.props.children,a=n.map((r=>r===i?e.Children.count(t)>1?e.Children.only(null):e.isValidElement(t)?t.props.children:null:r));return S(X,{...o,ref:r,children:e.isValidElement(t)?e.cloneElement(t,void 0,a):null})}return S(X,{...o,ref:r,children:a})}));J.displayName="Slot";var X=e.forwardRef(((t,r)=>{const{children:a,...o}=t;if(e.isValidElement(a)){const t=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;if(r)return e.ref;if(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r)return e.props.ref;return e.props.ref||e.ref}(a);return e.cloneElement(a,{...ee(o,a.props),ref:r?V(r,t):t})}return e.Children.count(a)>1?e.Children.only(null):null}));X.displayName="SlotClone";var K=({children:e})=>S(L,{children:e});function G(t){return e.isValidElement(t)&&t.type===K}function ee(e,t){const r={...t};for(const a in t){const o=e[a],n=t[a];/^on[A-Z]/.test(a)?o&&n?r[a]=(...e)=>{n(...e),o(...e)}:o&&(r[a]=o):"style"===a?r[a]={...o,...n}:"className"===a&&(r[a]=[o,n].filter(Boolean).join(" "))}return{...e,...r}}function te(...e){return R(T(e))}const re=I("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),ae=e.forwardRef(((t,r)=>{var{className:a,variant:o,size:n,asChild:i=!1}=t,s=H(t,["className","variant","size","asChild"]);const l=i?J:"button";return e.createElement(l,Object.assign({className:te(re({variant:o,size:n,className:a})),ref:r},s))}));ae.displayName="Button";const oe=$.Root,ne=$.Trigger;e.forwardRef(((t,r)=>{var{className:a,inset:o,children:n}=t,i=H(t,["className","inset","children"]);return e.createElement($.SubTrigger,Object.assign({ref:r,className:te("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",o&&"pl-8",a)},i),n,e.createElement(A,{className:"ml-auto"}))})).displayName=$.SubTrigger.displayName;e.forwardRef(((t,r)=>{var{className:a}=t,o=H(t,["className"]);return e.createElement($.SubContent,Object.assign({ref:r,className:te("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a)},o))})).displayName=$.SubContent.displayName;const ie=e.forwardRef(((t,r)=>{var{className:a,sideOffset:o=4}=t,n=H(t,["className","sideOffset"]);return e.createElement($.Portal,null,e.createElement($.Content,Object.assign({ref:r,sideOffset:o,className:te("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a)},n)))}));ie.displayName=$.Content.displayName;const se=e.forwardRef(((t,r)=>{var{className:a,inset:o}=t,n=H(t,["className","inset"]);return e.createElement($.Item,Object.assign({ref:r,className:te("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",o&&"pl-8",a)},n))}));se.displayName=$.Item.displayName;e.forwardRef(((t,r)=>{var{className:a,children:o,checked:n}=t,i=H(t,["className","children","checked"]);return e.createElement($.CheckboxItem,Object.assign({ref:r,className:te("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:n},i),e.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},e.createElement($.ItemIndicator,null,e.createElement(_,{className:"h-4 w-4"}))),o)})).displayName=$.CheckboxItem.displayName;e.forwardRef(((t,r)=>{var{className:a,children:o}=t,n=H(t,["className","children"]);return e.createElement($.RadioItem,Object.assign({ref:r,className:te("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a)},n),e.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},e.createElement($.ItemIndicator,null,e.createElement(F,{className:"h-2 w-2 fill-current"}))),o)})).displayName=$.RadioItem.displayName;e.forwardRef(((t,r)=>{var{className:a,inset:o}=t,n=H(t,["className","inset"]);return e.createElement($.Label,Object.assign({ref:r,className:te("px-2 py-1.5 text-sm font-semibold",o&&"pl-8",a)},n))})).displayName=$.Label.displayName;e.forwardRef(((t,r)=>{var{className:a}=t,o=H(t,["className"]);return e.createElement($.Separator,Object.assign({ref:r,className:te("-mx-1 my-1 h-px bg-muted",a)},o))})).displayName=$.Separator.displayName;const le=U.Provider,ce=U.Root,de=U.Trigger,me=e.forwardRef(((t,r)=>{var{className:a,sideOffset:o=4}=t,n=H(t,["className","sideOffset"]);return e.createElement(U.Portal,null,e.createElement(U.Content,Object.assign({ref:r,sideOffset:o,className:te("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a)},n)))}));function pe({suggestions:e,onQuestionClick:r,borderColor:a,title:o="Suggested questions"}){return e&&0!==e.length?t.createElement("div",{className:"w-full"},t.createElement("h3",{className:"text-base font-medium mb-4 text-gray-900"},o),t.createElement("div",{className:"flex flex-wrap gap-2"},e.map((e=>t.createElement("button",{key:e.id,onClick:()=>r(e),className:"px-4 py-2 rounded-lg border border-gray-300 text-gray-700 hover:bg-gray-50 transition-colors duration-200 text-sm flex items-center gap-2",style:{borderColor:a}},void 0!==e.messageCount&&t.createElement(le,null,t.createElement(ce,null,t.createElement(de,{asChild:!0},t.createElement("span",{className:"bg-gray-100 text-gray-600 px-2 py-0.5 rounded-full text-xs min-w-[20px] border flex items-center justify-center",style:{borderColor:a}},e.messageCount)),t.createElement(me,null,t.createElement("p",null,e.messageCount," messages in this conversation")))),t.createElement("span",null,e.question)))))):null}me.displayName=U.Content.displayName;var ue="generating-star-module_animate-spin__AJjwz";W(".generating-star-module_animate-spin__AJjwz{animation:generating-star-module_rotate__ChndJ 2s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes generating-star-module_rotate__ChndJ{to{transform:rotate(1turn)}}");const ge=({loading:e,color:r="#000"})=>t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"mt-[-5px] inline-block"},t.createElement("path",{className:e?ue:"",d:"M7.54672 16.0031L2.66234 14.2031C2.51881 14.1498 2.39502 14.0539 2.3076 13.9282C2.22019 13.8025 2.17333 13.6531 2.17333 13.5C2.17333 13.3469 2.22019 13.1975 2.3076 13.0718C2.39502 12.9461 2.51881 12.8501 2.66234 12.7969L7.54672 10.9969C7.64981 10.9589 7.74344 10.899 7.82113 10.8213C7.89882 10.7436 7.95873 10.65 7.99672 10.5469L9.79672 5.66249C9.84999 5.51896 9.94592 5.39517 10.0716 5.30775C10.1973 5.22033 10.3467 5.17348 10.4998 5.17348C10.6529 5.17348 10.8024 5.22033 10.9281 5.30775C11.0538 5.39517 11.1497 5.51896 11.203 5.66249L13.003 10.5469C13.041 10.65 13.1009 10.7436 13.1786 10.8213C13.2562 10.899 13.3499 10.9589 13.453 10.9969L18.3373 12.7969C18.4809 12.8501 18.6047 12.9461 18.6921 13.0718C18.7795 13.1975 18.8264 13.3469 18.8264 13.5C18.8264 13.6531 18.7795 13.8025 18.6921 13.9282C18.6047 14.0539 18.4809 14.1498 18.3373 14.2031L13.453 16.0031C13.3499 16.0411 13.2562 16.101 13.1786 16.1787C13.1009 16.2564 13.041 16.35 13.003 16.4531L11.203 21.3375C11.1497 21.481 11.0538 21.6048 10.9281 21.6922C10.8024 21.7796 10.6529 21.8265 10.4998 21.8265C10.3467 21.8265 10.1973 21.7796 10.0716 21.6922C9.94592 21.6048 9.84999 21.481 9.79672 21.3375L7.99672 16.4531C7.95873 16.35 7.89882 16.2564 7.82113 16.1787C7.74344 16.101 7.64981 16.0411 7.54672 16.0031Z",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",fill:e?r:"none",strokeLinejoin:"round"}),t.createElement("path",{d:"M18.7497 3.75L14.2497 3.75",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.createElement("path",{d:"M16.4999 6V1.5",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.createElement("path",{d:"M22.4999 8.25001H19.4999",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.createElement("path",{d:"M20.9998 9.75002V6.75002",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}));function he({theme:e,loadingText:r="Analyzing..."}){return t.createElement("div",{className:"w-full space-y-6 rounded-xl p-6",style:{backgroundColor:e.cardBackground,borderColor:e.border,borderWidth:"1px",borderStyle:"solid"}},t.createElement("div",{className:"flex items-center gap-2"},t.createElement(ge,{loading:!0,color:e.primary}),t.createElement("div",{className:"text-sm",style:{color:e.text}},r)),t.createElement("div",{className:"space-y-4 animate-pulse"},Array.from({length:4}).map(((r,a)=>t.createElement("div",{key:a,className:"h-4 rounded w-full",style:{backgroundColor:`${e.border}40`}}))),t.createElement("div",{className:"h-4 rounded w-3/4",style:{backgroundColor:`${e.border}40`}})),t.createElement("div",{className:"rounded-lg p-4",style:{backgroundColor:`${e.accent}50`}},t.createElement("div",{className:"flex items-center justify-between"},t.createElement("div",{className:"h-4 rounded w-48",style:{backgroundColor:`${e.border}80`}}),t.createElement("div",{className:"flex gap-2"},t.createElement("div",{className:"w-8 h-8 rounded-full",style:{backgroundColor:`${e.border}80`}}),t.createElement("div",{className:"w-8 h-8 rounded-full",style:{backgroundColor:`${e.border}80`}})))))}const be={javascript:".js",python:".py",java:".java",c:".c",cpp:".cpp","c++":".cpp","c#":".cs",ruby:".rb",php:".php",swift:".swift","objective-c":".m",kotlin:".kt",typescript:".ts",go:".go",perl:".pl",rust:".rs",scala:".scala",haskell:".hs",lua:".lua",shell:".sh",sql:".sql",html:".html",css:".css"},fe=M,we=r((({language:e,value:r})=>{const[o,n]=a(!1);return t.createElement("div",{className:"relative font-sans text-sm mt-1"},t.createElement("div",{className:"relative rounded-t-lg bg-zinc-800/80 font-sans text-sm backdrop-blur"},t.createElement("div",{className:"flex h-8 items-center justify-between px-3"},t.createElement("span",{className:"text-xs font-medium text-zinc-400"},e),t.createElement("div",{className:"flex gap-1"},t.createElement(ae,{variant:"ghost",size:"icon",className:"size-5 text-zinc-400 hover:bg-zinc-700/50 hover:text-zinc-100",onClick:()=>{Y(void 0,void 0,void 0,(function*(){if(navigator.clipboard&&navigator.clipboard.writeText)try{yield navigator.clipboard.writeText(r),n(!0),setTimeout((()=>{n(!1)}),2e3)}catch(e){console.error("Failed to copy:",e)}}))}},o?t.createElement(c,{size:18}):t.createElement(d,{size:18})),t.createElement(ae,{variant:"ghost",size:"icon",className:"size-5 text-zinc-400 hover:bg-zinc-700/50 hover:text-zinc-100",onClick:()=>{const t=be[e]||".file",a=`file-${((e,t=!1)=>{const r="ABCDEFGHJKLMNPQRSTUVWXY3456789";let a="";for(let t=0;t<e;t+=1)a+=r.charAt(Math.floor(30*Math.random()));return t?a.toLowerCase():a})(3,!0)}${t}`,o=new Blob([r],{type:"text/plain"}),n=URL.createObjectURL(o),i=document.createElement("a");i.download=a,i.href=n,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(n)}},t.createElement(m,{size:18}))))),t.createElement("div",{className:"rounded-b-lg"},t.createElement(fe,{language:e,style:B,PreTag:"div",wrapLongLines:!0,customStyle:{margin:0,borderTopLeftRadius:0,borderTopRightRadius:0}},r)))}));we.displayName="CodeBlock";const ye=e.forwardRef((({src:t,border:r,width:a="100%",height:o="400px",title:n},i)=>{const[s,l]=e.useState(!1);return e.useEffect((()=>{let e=!0;return setTimeout((()=>{e&&l(!0)}),0),()=>{e=!1}}),[]),e.createElement("div",{className:"overflow-hidden rounded-lg mt-4 "+(r?"border":""),style:{width:a,height:o}},s&&e.createElement(e.Fragment,null,e.createElement("iframe",{ref:i,src:t,sandbox:"allow-same-origin allow-scripts allow-popups allow-forms allow-downloads",width:a,height:o,frameBorder:"0",title:"embed",loading:"lazy",allowFullScreen:!0,className:"block rounded-lg"}),n&&e.createElement("span",{className:"block text-center text-sm font-medium"},n)))}));function ve(t){const r=t.attrs.href.replace("share","embed");return e.createElement(ye,Object.assign({},t,{src:r,title:"Loom Embed"}))}function xe(t){return e.createElement(ye,Object.assign({},t,{src:t.attrs.href,title:"Supademo Embed"}))}function ke(t){return e.createElement(ye,Object.assign({},t,{src:t.attrs.href,title:"Typeform Embed"}))}function Ee(t){const r=t.attrs.href.match(/(http|https)?:\/\/(www\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)(\d+)(?:\/|\?)?([\d\w]+)?/);if(!r)return null;const a=r[4],o=r[5],n=`https://player.vimeo.com/video/${a}?byline=0${o?`&h=${o}`:""}`;return e.createElement(ye,Object.assign({},t,{src:n,title:`Vimeo Embed (${a})`,height:"412px",border:!1}))}function Ne(t){const r=(e=>{const t=[/^https?:\/\/([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)\/?$/,/^https?:\/\/fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)\/?$/,/^fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)\/?$/,/^([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)\/?$/];for(const r of t){const t=e.match(r);if(t)return t}return null})(t.attrs.href);if(!r)return null;const a=r[1],o=r[2]||r[1],n=a?`https://${a}.wistia.com/embed/iframe/${o}?seo=true&videoFoam=false`:`https://fast.wistia.com/embed/iframe/${o}`;return e.createElement(ye,Object.assign({},t,{src:n,border:!0,title:`Wistia Embed (${o})`}))}function Ce(t){const r=(e=>{const t=e.match(/(?:https?:\/\/)?(?:www\.)?youtu\.?be(?:\.com)?\/?.*(?:watch|embed)?(?:.*v=|v\/|\/)([a-zA-Z0-9_-]{11})$/i);return t?t[1]:null})(t.attrs.href);return r?e.createElement(ye,Object.assign({},t,{src:`https://www.youtube.com/embed/${r}?modestbranding=1`,title:`YouTube Embed (${r})`})):null}ve.isMatch=e=>/^https:\/\/(www\.)?(use)?loom\.com\/(embed|share)\/(.*)$/.test(e),xe.isMatch=e=>/^https:\/\/app\.supademo\.com\/embed\/(.*)$/.test(e),ke.isMatch=e=>/^https:\/\/([A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)\.typeform\.com\/to\/(.*)$/.test(e),Ee.isMatch=e=>/^(https?):\/\/(www\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)?(\d+)(\/)?(?:\?.*|#.*)?$/i.test(e),Ne.isMatch=e=>[/^https?:\/\/([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^https?:\/\/fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i].some((t=>t.test(e))),Ce.isMatch=e=>/^(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|v\/|shorts\/)|youtu\.be\/)([a-zA-Z0-9_-]{11})(?:\/|[?&].*)?$/i.test(e);const je=[ve,xe,ke,Ce,Ne,Ee],ze=t=>{const{href:r}=t.attrs,[n,i]=a(null);if(o((()=>{let e=!0;return(()=>{try{const a=je.find((e=>e.isMatch(r)));a&&e&&i({Component:a,props:t})}catch(e){console.error("Error finding embed match:",e)}})(),()=>{e=!1}}),[r,t]),n){const{Component:t,props:r}=n;return e.createElement(t,Object.assign({},r))}return null},Oe=r(q,((e,t)=>e.children===t.children)),Se={startOnLoad:!1,theme:"default",securityLevel:"loose",fontFamily:"inherit"},Le=({content:e})=>{const[r,i]=a(""),[s,l]=a(null),c=n(null),[d,m]=a(!1);return o((()=>{(()=>{try{Z.initialize(Se),m(!0)}catch(e){console.error("Error initializing mermaid:",e),l("Failed to initialize diagram renderer")}})()}),[]),o((()=>{if(!d)return;Y(void 0,void 0,void 0,(function*(){try{const t=`mermaid-${Math.random().toString(36).substr(2,9)}`,r=yield Z.render(t,e);i(r.svg),l(null)}catch(e){console.error("Error rendering mermaid diagram:",e),l("Failed to render diagram")}}))}),[e,d]),s?t.createElement("div",{className:"text-red-500 bg-red-50 p-4 rounded-md"},s,t.createElement("pre",{className:"mt-2 text-sm"},e)):t.createElement("div",{ref:c,className:"my-4 overflow-auto",dangerouslySetInnerHTML:{__html:r}})},Ie=r((({message:e})=>(e.content=e.content.replace(/^\n+|(\n+|\\)+$/g,""),t.createElement(Oe,{className:"dark:prose-invert prose flex-1",remarkPlugins:[P],rehypePlugins:[Q],components:{code:e=>{var{inline:r,className:a,children:o}=e,n=H(e,["inline","className","children"]);const i=/language-(\w+)/.exec(a||""),s=i&&i[1];return r||"mermaid"!==s&&"mermaidjs"!==s?!r&&s?t.createElement(we,Object.assign({key:Math.random(),language:s,value:String(o).replace(/\n$/,"")},n)):t.createElement("code",Object.assign({className:`text-red-400 bg-slate-200 border-slate-300 border rounded p-0.5 ${a}`.trim()},n),o):t.createElement(Le,{content:String(o).replace(/\n$/,"")})},marker:({children:e})=>t.createElement("div",{className:"my-2"},t.createElement("span",{className:"highlight"},e)),table:({children:e})=>t.createElement("table",{className:"border-collapse border border-black px-3 py-1 dark:border-white"},e),th:({children:e})=>t.createElement("th",{className:"break-words border border-black bg-gray-500 px-3 py-1 text-white dark:border-white"},e),td:({children:e})=>t.createElement("td",{className:"break-words border border-black px-3 py-1 dark:border-white"},e),a(e){var{children:r}=e,a=H(e,["children"]);if(a.href){const e=ze({attrs:{href:a.href}});if(t.isValidElement(e))return e}return t.createElement("a",Object.assign({className:"link",target:"_blank",rel:"noopener noreferrer"},a),r)},pre:({children:e})=>t.createElement(t.Fragment,null,e),img({src:e,alt:r}){const a=ze({attrs:{href:null!=e?e:""}});return t.isValidElement(a)?a:t.createElement("img",{src:e,alt:r,className:"w-full"})},li:e=>{var{children:r}=e,a=H(e,["children"]);return t.createElement("li",Object.assign({className:"py-1"},a),r)},ul:({children:e})=>t.createElement("ul",{className:"ml-4 list-outside list-disc"},e),ol:({children:e})=>t.createElement("ol",{className:"ml-4 list-outside list-decimal"},e),strong:e=>{var{children:r}=e,a=H(e,["children"]);return t.createElement("span",Object.assign({className:"font-semibold"},a),r)},h1:e=>{var{children:r}=e,a=H(e,["children"]);return t.createElement("h1",Object.assign({className:"mb-2 mt-6 text-3xl font-semibold"},a),r)},h2:e=>{var{children:r}=e,a=H(e,["children"]);return t.createElement("h2",Object.assign({className:"mb-2 mt-6 text-2xl font-semibold"},a),r)},h3:e=>{var{children:r}=e,a=H(e,["children"]);return t.createElement("h3",Object.assign({className:"mb-2 mt-6 text-xl font-semibold"},a),r)},h4:e=>{var{children:r}=e,a=H(e,["children"]);return t.createElement("h4",Object.assign({className:"mb-2 mt-6 text-lg font-semibold"},a),r)},h5:e=>{var{children:r}=e,a=H(e,["children"]);return t.createElement("h5",Object.assign({className:"mb-2 mt-6 text-base font-semibold"},a),r)},h6:e=>{var{children:r}=e,a=H(e,["children"]);return t.createElement("h6",Object.assign({className:"mb-2 mt-6 text-sm font-semibold"},a),r)}}},e.content))));function Te({answer:e,question:r,theme:o,searchResults:n,followUpQuestions:s,onFollowUpClick:l,isStreaming:c=!1,searchQueryId:d,feedback:m,onFeedback:y,disableFeedback:v=!1,textConfig:x={}}){const[k,E]=a(!1),[N,C]=a(!1),j=i((()=>({content:e})),[e]),z=()=>Y(this,void 0,void 0,(function*(){try{yield navigator.clipboard.writeText(e),E(!0),setTimeout((()=>E(!1)),2e3)}catch(e){console.error("Failed to copy text:",e)}})),O=e=>{y&&d&&y(e)};return t.createElement("div",{className:"rounded-lg p-6",style:{backgroundColor:o.cardBackground,borderColor:o.border,borderWidth:"1px",borderStyle:"solid"}},t.createElement("div",{className:"flex items-start justify-between"},t.createElement("div",{className:"flex items-center gap-2 mb-4"},t.createElement(ge,{loading:c,color:o.primary}),t.createElement("h2",{className:"text-xl",style:{color:o.text}},r)),t.createElement(le,null,t.createElement(ce,null,t.createElement(de,{asChild:!0},t.createElement("button",{onClick:()=>{z()},className:"flex items-center justify-center w-8 h-8 rounded-md hover:bg-gray-100 transition-colors duration-200"},k?t.createElement(p,{className:"h-4 w-4 text-green-500"}):t.createElement(u,{className:"h-4 w-4 text-gray-500"}))),t.createElement(me,null,t.createElement("p",null,k?"Copied!":"Copy"))))),e&&t.createElement("div",{className:"prose prose-sm max-w-none",style:{color:o.text}},t.createElement(Ie,{message:j})),e&&!c&&!v&&t.createElement("div",{className:"mt-2 flex justify-end gap-2"},t.createElement(le,null,t.createElement(ce,null,t.createElement(de,{asChild:!0},t.createElement(ae,{variant:"ghost",size:"sm",className:"rounded-md h-8 w-8 flex items-center justify-center "+("accept"===m?"bg-green-100 text-green-600":""),onClick:()=>O("accept"),disabled:Boolean(m)},t.createElement(g,{className:"h-4 w-4"}))),t.createElement(me,null,t.createElement("p",null,x.positiveAnswerText||"Helpful")))),t.createElement(le,null,t.createElement(ce,null,t.createElement(de,{asChild:!0},t.createElement(ae,{variant:"ghost",size:"sm",className:"rounded-md h-8 w-8 flex items-center justify-center "+("reject"===m?"bg-red-100 text-red-600":""),onClick:()=>O("reject"),disabled:Boolean(m)},t.createElement(h,{className:"h-4 w-4"}))),t.createElement(me,null,t.createElement("p",null,x.negativeAnswerText||"Not helpful"))))),e&&s&&s.length>0&&t.createElement("div",{className:"mt-6 space-y-3"},t.createElement("div",{className:"text-sm font-medium",style:{color:o.text}},"Follow-up Questions"),t.createElement("div",{className:"flex flex-wrap gap-2"},s.map(((e,r)=>t.createElement("button",{key:r,onClick:()=>null==l?void 0:l(e),className:"px-3 py-1.5 rounded-lg text-sm transition-all duration-200 hover:opacity-90",style:{backgroundColor:`${o.accent}30`,color:o.text,border:`1px solid ${o.border}`}},e))))),n&&n.length>0&&t.createElement("div",{className:"mt-6 rounded-lg overflow-hidden",style:{backgroundColor:o.surface,borderWidth:"1px",borderStyle:"solid",borderColor:o.border}},t.createElement("button",{onClick:()=>C(!N),className:"w-full flex items-center justify-between p-3 transition-all duration-200 hover:bg-opacity-50",style:{color:o.text,borderBottom:N?`1px solid ${o.surfaceBorder}`:"none"}},t.createElement("div",{className:"flex items-center gap-2"},t.createElement(b,{className:"h-4 w-4 flex-shrink-0",style:{color:o.primary}}),t.createElement("span",{className:"font-medium truncate"},`Related Articles (${n.length})`)),t.createElement(f,{className:"h-4 w-4 flex-shrink-0 transition-transform duration-200 "+(N?"rotate-180":""),style:{color:o.text}})),t.createElement("div",{className:"overflow-hidden transition-all duration-200 ease-in-out",style:{maxHeight:N?48*n.length+"px":"0",opacity:N?1:0,transform:`translateY(${N?"0":"-10px"})`}},t.createElement("div",{className:"divide-y divide-gray-200"},n.map((e=>t.createElement("a",{key:e.id,href:e.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 p-3 transition-colors duration-200 hover:bg-gray-50",style:{color:o.text,backgroundColor:o.surface}},t.createElement(b,{className:"h-4 w-4 flex-shrink-0",style:{color:o.primary}}),t.createElement("span",{className:"flex-grow truncate"},e.title),t.createElement(w,{className:"h-4 w-4 flex-shrink-0",style:{color:`${o.text}60`}}))))))),!e&&t.createElement("div",{className:"animate-pulse space-y-4"},t.createElement("div",{className:"h-4 rounded w-full",style:{backgroundColor:`${o.border}40`}}),t.createElement("div",{className:"h-4 rounded w-3/4",style:{backgroundColor:`${o.border}40`}})))}function Re({questions:e,currentIndex:r,activeIndex:a,onNavigate:o,theme:n,offset:i}){return t.createElement(z.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.5},className:"fixed left-4 top-1/2 -translate-y-1/2 z-50 flex flex-col gap-2",style:Object.assign({},i?{left:`${i}px`}:{})},e.map(((e,i)=>t.createElement("div",{key:i,className:"relative group"},t.createElement("button",{onClick:()=>o(i),className:"flex items-center justify-center w-8 h-8 rounded-full transition-all duration-200 "+(i<=r?"hover:opacity-90":""),style:{backgroundColor:i===a?n.primary:"#ccc",color:i===a?n.background:"#333",opacity:i>r?.5:1,cursor:"pointer"}},i+1),t.createElement("div",{className:"absolute left-12 top-0 px-3 py-2 rounded-lg whitespace-normal opacity-0 group-hover:opacity-100 w-48 text-sm transition-opacity duration-200",style:{backgroundColor:n.background,color:n.text,borderColor:n.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)"}},e,t.createElement("div",{className:"absolute left-0 top-3 -translate-x-1 w-2 h-2 rotate-45",style:{backgroundColor:n.background,borderLeft:`1px solid ${n.border}`,borderBottom:`1px solid ${n.border}`}}))))))}function $e({onClick:e,theme:r}){return t.createElement(ae,{className:"fixed bottom-20 right-4 rounded-full p-2 transition-opacity duration-300",style:{backgroundColor:r.background,borderColor:r.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)"},onClick:e},t.createElement(y,{className:"h-5 w-5",style:{color:r.text}}))}function Ae({endpoint:e,query:t,collectionId:r,headers:a,conversationId:o}){var n;return Y(this,void 0,void 0,(function*(){try{const i=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},a),body:JSON.stringify(Object.assign(Object.assign({query:t,limit:5},r&&"all"!==r&&{collectionId:r}),o&&{conversationId:o}))});if(!i.ok)throw new Error("Failed to fetch search results");const s=yield i.json();return{results:null==s?void 0:s.data,searchQueryId:null===(n=null==s?void 0:s.searchQuery)||void 0===n?void 0:n.id}}catch(e){throw console.error("Error searching:",e),e}}))}function _e({endpoint:e,searchQueryId:t,headers:r,conversationId:a}){return Y(this,void 0,void 0,(function*(){try{const o=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},r),body:JSON.stringify(Object.assign({searchQueryId:t},a&&{conversationId:a}))});if(!o.ok)throw new Error("Failed to fetch answer");return o}catch(e){throw console.error("Error fetching answer:",e),e}}))}function Fe(){return`bf-conversation-${Date.now()}-${"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}`}function Ue({endpoint:e,conversationId:t,headers:r}){return Y(this,void 0,void 0,(function*(){try{const a=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},r),body:JSON.stringify({conversationId:t})});if(!a.ok)throw new Error("Failed to load conversation");const o=yield a.json();return{data:o.data.map((e=>Object.assign(Object.assign({},e),{feedback:e.feedback?"positive"===e.feedback?"accept":"reject":void 0})))}}catch(e){throw console.error("Error loading conversation:",e),e}}))}const Qe={primary:"#A3E635",accent:"#f9fafb",background:"white",text:"#171717",border:"#171717",hover:"#171717",surface:"#F9FAFB",surfaceBorder:"#E5E7EB",surfaceHover:"#F3F4F6",cardBackground:"white"},Pe={headerText:"How can we help you today?",searchPlaceholder:"Ask a question or type a search term here ...",attachImageText:"Attach image",allDocumentsText:"All documents",loadingSearchText:"Searching for relevant content...",loadingAnswerText:"Crafting a response...",errorText:"Sorry, there was an error generating the answer.",followUpPlaceholder:"Ask follow-up",positiveAnswerText:"Helpful",negativeAnswerText:"Not helpful"},Me=s((({suggestions:e,theme:r={},collections:i=[],selectedCollectionId:s,onCollectionChange:c,searchEndpoint:d,answerEndpoint:m,feedbackEndpoint:p,loadConversationEndpoint:u,disableFollowUpQuestions:g=!1,disableImageAttachment:h=!1,disableFeedback:b=!1,siblingNode:w,offset:y=0,headers:S,textConfig:L={}},I)=>{var T;const R=Object.assign(Object.assign({},Qe),r),$=Object.assign(Object.assign({},Pe),L),[A,_]=a(""),[F,U]=a(""),[Q,P]=a(!1),[M,B]=a(!1),[q,Z]=a([]),[W,H]=a(!1),[D,V]=a(0),[J,X]=a([]),[K,G]=a(s),[ee,te]=a(!0),[re,le]=a(""),[ce,de]=a(!1),[me,ue]=a(),ge=n(null),be=n(null),fe=n([]),we=n(null),ye=n(null),ve=n([]);o((()=>{const e=new URLSearchParams(window.location.search).get("conversation");if(e&&u)de(!0),B(!0),Ue({endpoint:u,conversationId:e,headers:S}).then((t=>{Z(t.data),le(e),B(!0)})).catch((e=>{console.error("Error loading conversation:",e),ue($.errorText||"An error occurred"),B(!1),Z([]);const t=Fe();le(t);const r=new URL(window.location.href);r.searchParams.delete("conversation"),window.history.replaceState({},"",r.toString())})).finally((()=>{de(!1)}));else{const e=Fe();le(e)}}),[u]),o((()=>{if(re&&q.length>0){const e=new URL(window.location.href);e.searchParams.set("conversation",re),window.history.replaceState({},"",e.toString())}}),[re,q.length]),o((()=>{const e={showResults:M,answers:q,isLoading:ce,error:me};ve.current.forEach((t=>t(e)))}),[M,q,ce,me]),l(I,(()=>({createNewThread:()=>{_(""),U(""),B(!1),Z([]),V(0),X([]);const e=Fe();le(e);const t=new URL(window.location.href);t.searchParams.delete("conversation"),window.history.replaceState({},"",t.toString()),ge.current&&(ge.current.style.height="auto")},showFollowUpThread:e=>{te(e)},subscribeToStateChanges:e=>(ve.current.push(e),e({showResults:M,answers:q,isLoading:!1,error:void 0}),()=>{ve.current=ve.current.filter((t=>t!==e))})}))),o((()=>{G(s)}),[s]);const xe=e=>{e.style.height="auto",e.style.height=`${e.scrollHeight}px`},ke=()=>{requestAnimationFrame((()=>{const e=fe.current[fe.current.length-1];if(e){const t=e.getBoundingClientRect(),r=window.pageYOffset||document.documentElement.scrollTop,a=t.top+r-80;window.scrollTo({top:a,behavior:"smooth"})}}))},Ee=e=>Y(void 0,void 0,void 0,(function*(){var t;const r=null===(t=e.body)||void 0===t?void 0:t.getReader();if(!r)return;Z((e=>{const t=[...e],r=t[t.length-1];return r&&(r.isLoading=!1,r.isStreaming=!0),t}));let a="";try{let e,t;for(;({done:e,value:t}=yield r.read()),!e;){const e=(new TextDecoder).decode(t);a+=e,Z((e=>{const t=[...e],r=t[t.length-1];return r&&(r.answer=a),t}))}}finally{Z((e=>{const t=[...e],r=t[t.length-1];return r&&(r.isStreaming=!1),t})),r.releaseLock()}})),Ne=(e,t,r)=>Y(void 0,void 0,void 0,(function*(){if(p){Z((t=>{const a=[...t];return a[r]&&(a[r]=Object.assign(Object.assign({},a[r]),{feedback:e})),a}));try{yield function({endpoint:e,searchQueryId:t,response:r,headers:a,conversationId:o}){return Y(this,void 0,void 0,(function*(){try{if(!(yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},a),body:JSON.stringify(Object.assign({searchQueryId:t,response:r},o&&{conversationId:o}))})).ok)throw new Error("Failed to send feedback")}catch(e){throw console.error("Error sending feedback:",e),e}}))}({endpoint:p,searchQueryId:t,response:e,headers:S,conversationId:re})}catch(e){console.error("Error sending feedback:",e),Z((e=>{const t=[...e];return t[r]&&(t[r]=Object.assign(Object.assign({},t[r]),{feedback:void 0})),t}))}}})),Ce=()=>Y(void 0,void 0,void 0,(function*(){if(A.trim()){if(P(!0),B(!0),!re){const e=Fe();le(e)}Z((e=>{const t=[...e,{question:A,answer:"",isLoading:!0,isSearchLoading:!0}];return V(t.length-1),t})),ke();try{const e=yield Ae({endpoint:d,query:A,collectionId:K,headers:S,conversationId:re}),t=e.results,r=e.searchQueryId;Z((e=>{const a=[...e];return a[a.length-1]=Object.assign(Object.assign({},a[a.length-1]),{searchResults:t,searchQueryId:r,isSearchLoading:!1}),a}));const a=yield _e({endpoint:m,searchQueryId:r,headers:S,conversationId:re});yield Ee(a)}catch(e){console.error("Error generating answer:",e),Z((e=>{const t=[...e];return t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{answer:$.errorText||"An error occurred",isLoading:!1,isSearchLoading:!1}),t}))}finally{P(!1)}}})),je=()=>Y(void 0,void 0,void 0,(function*(){if(F.trim()){const e=F;_(e),U(""),P(!0),Z((t=>{const r=[...t,{question:e,answer:"",isLoading:!0,isSearchLoading:!0}];return V(r.length-1),r})),ke();try{const t=yield Ae({endpoint:d,query:e,collectionId:K,headers:S,conversationId:re}),r=t.results,a=t.searchQueryId;Z((e=>{const t=[...e];return t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{searchResults:r,searchQueryId:a,isSearchLoading:!1}),t}));const o=yield _e({endpoint:m,searchQueryId:a,headers:S,conversationId:re});yield Ee(o)}catch(e){console.error("Error generating answer:",e),Z((e=>{const t=[...e];return t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{answer:$.errorText||"An error occurred",isLoading:!1,isSearchLoading:!1}),t}))}finally{P(!1)}}}));o((()=>{const e=()=>{const e=window.innerHeight+window.pageYOffset>=document.documentElement.scrollHeight-100;H(!e)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]),o((()=>()=>{J.forEach((e=>URL.revokeObjectURL(e.preview)))}),[J]);return o((()=>{const e=()=>{new URLSearchParams(window.location.search).get("conversation")||(_(""),U(""),B(!1),Z([]),V(0),X([]),ge.current&&(ge.current.style.height="auto"))};return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)}),[]),t.createElement("div",{className:"relative min-h-screen"},t.createElement("div",{ref:we,className:"w-full max-w-3xl mx-auto flex flex-col items-center space-y-8 px-4 py-20",style:{"--surface-border":R.surfaceBorder,"--surface-hover":R.surfaceHover}},t.createElement(O,null,ce?t.createElement(z.div,{key:"loading",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"w-full flex items-center justify-center py-20"},t.createElement("div",{className:"flex flex-col items-center gap-4"},t.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-2 border-t-transparent",style:{borderColor:R.primary}}),t.createElement("p",{className:"text-sm",style:{color:R.text}},"Loading conversation..."))):M?t.createElement(z.div,{key:"results",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.5},className:"w-full space-y-8 py-4 mb-20"},q.map(((e,r)=>t.createElement(z.div,{key:r,ref:e=>fe.current[r]=e,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.1*r}},e.isLoading?t.createElement(he,{theme:R,loadingText:e.isSearchLoading?$.loadingSearchText:$.loadingAnswerText}):t.createElement(Te,{answer:e.answer,question:e.question,theme:R,searchResults:e.searchResults,followUpQuestions:g?void 0:e.followUpQuestions,onFollowUpClick:g?void 0:e=>{U(e),je()},isStreaming:e.isStreaming,searchQueryId:e.searchQueryId,feedback:e.feedback,onFeedback:b||!p?void 0:t=>Ne(t,e.searchQueryId,r),disableFeedback:b||!p,textConfig:$}))))):t.createElement(z.div,{key:"search",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.5},className:"w-full space-y-8"},t.createElement("div",{className:"w-full text-center space-y-4"},t.createElement(z.h1,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3},className:"text-5xl font-bold",style:{color:R.text}},$.headerText)),t.createElement(z.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.4}},t.createElement("div",{className:"relative w-full rounded-md overflow-hidden",style:{backgroundColor:R.background,borderColor:R.border,borderWidth:"1px",borderStyle:"solid"}},t.createElement("div",{className:"p-3 flex items-center"},t.createElement(v,{className:"h-5 w-5 text-gray-400 mr-2"}),t.createElement("textarea",{ref:ge,placeholder:$.searchPlaceholder,value:A,onChange:e=>{_(e.target.value),xe(e.target)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),Ce())},className:"w-full resize-none outline-none text-lg py-1 font-light min-h-[36px] overflow-hidden placeholder:text-gray-400 border-none bg-transparent",style:{color:R.text,outline:"none",boxShadow:"none",fontSize:"16px"},rows:1})),!h&&J.length>0&&t.createElement("div",{className:"flex gap-2 mt-3 overflow-x-auto pb-1 px-3"},J.map(((e,r)=>t.createElement("div",{key:r,className:"relative group rounded-lg overflow-hidden flex-shrink-0",style:{width:"80px",height:"80px"}},t.createElement("img",{src:e.preview,alt:`Attached ${r+1}`,className:"w-full h-full object-cover"}),t.createElement("button",{onClick:()=>(e=>{X((t=>(URL.revokeObjectURL(t[e].preview),t.filter(((t,r)=>r!==e)))))})(r),className:"absolute top-1 right-1 bg-black bg-opacity-50 rounded-full p-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200"},t.createElement(x,{className:"h-3 w-3 text-white"})))))),t.createElement("div",{className:"flex items-center justify-between px-3 py-2 bg-gray-100 border-t border-gray-200"},t.createElement("div",{className:"flex gap-2"},i.length>0&&t.createElement(oe,null,t.createElement(ne,{asChild:!0},t.createElement(ae,{variant:"ghost",size:"sm",className:"hover:bg-gray-200 transition-all duration-200 rounded-md h-8 flex items-center gap-2 text-gray-700"},K&&"all"!==K?t.createElement(k,{className:"h-5 w-5 text-green-500"}):t.createElement(E,{className:"h-5 w-5 text-gray-400"}),(null===(T=i.find((e=>e.id===K)))||void 0===T?void 0:T.name)||$.allDocumentsText,t.createElement(f,{className:"h-4 w-4 opacity-50"}))),t.createElement(ie,null,i.map((e=>t.createElement(se,{key:e.id,onClick:()=>{return t=e.id,G(t),void(null==c||c(t));var t},className:e.id===K?"bg-gray-100":""},e.id===K?t.createElement(k,{className:"h-4 w-4 mr-2 text-green-500"}):t.createElement(E,{className:"h-4 w-4 mr-2 text-gray-400"}),e.name))))),!h&&t.createElement(t.Fragment,null,t.createElement("input",{type:"file",ref:ye,accept:"image/*",multiple:!0,className:"hidden",onChange:e=>{const t=e.target.files;if(t){const e=Array.from(t).map((e=>({file:e,preview:URL.createObjectURL(e)})));X((t=>[...t,...e]))}ye.current&&(ye.current.value="")}}),t.createElement(ae,{variant:"ghost",size:"sm",className:"hover:bg-gray-200 rounded-md h-8 text-gray-700",onClick:()=>{var e;return null===(e=ye.current)||void 0===e?void 0:e.click()}},t.createElement(N,{className:"h-4 w-4 mr-1.5"}),$.attachImageText))),t.createElement("div",{className:"flex items-center"},t.createElement(ae,{size:"sm",disabled:!A||Q,className:"rounded-md h-8 w-8 bg-[#86efac] hover:bg-[#86efac]/90 disabled:opacity-50",onClick:()=>{Ce()}},Q?t.createElement("div",{className:"animate-spin rounded-full h-4 w-4 border-2 border-t-transparent",style:{borderColor:"white"}}):t.createElement(C,{className:"h-4 w-4 text-gray-700"})))))),t.createElement(pe,{suggestions:e||[],onQuestionClick:e=>{if(e.conversationId&&u)return de(!0),B(!0),void Ue({endpoint:u,conversationId:e.conversationId,headers:S}).then((t=>{Z(t.data),le(e.conversationId),B(!0)})).catch((e=>{console.error("Error loading conversation:",e),ue($.errorText||"An error occurred"),B(!1),Z([]);const t=Fe();le(t);const r=new URL(window.location.href);r.searchParams.delete("conversation"),window.history.replaceState({},"",r.toString())})).finally((()=>{de(!1)}));if(B(!0),P(!0),!re){const e=Fe();le(e)}Z((t=>[...t,{question:e.question,answer:"",isLoading:!0,isSearchLoading:!0}])),Y(void 0,void 0,void 0,(function*(){try{const t=yield Ae({endpoint:d,query:e.question,collectionId:K,headers:S,conversationId:re}),r=t.results;Z((e=>{const a=[...e];return a[a.length-1]=Object.assign(Object.assign({},a[a.length-1]),{searchResults:r,searchQueryId:t.searchQueryId,isSearchLoading:!1}),a}));const a=yield _e({endpoint:m,searchQueryId:t.searchQueryId,headers:S,conversationId:re});yield Ee(a)}catch(e){console.error("Error generating answer:",e),Z((e=>{const t=[...e];return t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{answer:$.errorText||"An error occurred",isLoading:!1,isSearchLoading:!1}),t}))}finally{P(!1),ke()}}))},borderColor:R.border,title:$.suggestionsTitle}),w)),M&&q.length>1&&t.createElement("div",{className:"hidden sm:block"},t.createElement(Re,{questions:q.map((e=>e.question)),currentIndex:Q?q.length-1:D,activeIndex:D,onNavigate:e=>{V(e),(e=>{requestAnimationFrame((()=>{const t=fe.current[e];if(t){const e=t.getBoundingClientRect(),r=window.pageYOffset||document.documentElement.scrollTop,a=e.top+r-80;window.scrollTo({top:a,behavior:"smooth"})}}))})(e)},theme:R,offset:y})),M&&ee&&t.createElement(z.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5},className:"fixed bottom-4 left-4 right-4 max-w-3xl mx-auto z-10",style:{left:`${y}px`}},t.createElement("div",{className:"rounded-full h-[44px] sm:h-[52px] flex items-center justify-between",style:{backgroundColor:R.background,borderColor:R.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)",padding:"0 14px"}},t.createElement("div",{className:"flex items-center gap-2 sm:gap-3 flex-grow overflow-hidden h-full"},t.createElement(v,{className:"h-4 w-4 sm:h-5 sm:w-5 flex-shrink-0",style:{color:R.primary}}),t.createElement("textarea",{ref:be,placeholder:$.followUpPlaceholder,value:F,onChange:e=>{U(e.target.value),xe(e.target)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),je())},disabled:Q,className:"w-full bg-transparent outline-none text-sm sm:text-base resize-none overflow-hidden disabled:opacity-50 border-none h-full py-3 placeholder:text-sm sm:placeholder:text-base",style:{color:R.text,outline:"none",boxShadow:"none",fontSize:"16px"},rows:1})),t.createElement("div",{className:"flex items-center gap-2 sm:gap-3 ml-2 sm:ml-3 flex-shrink-0"},t.createElement(ae,{size:"icon",variant:"ghost",disabled:Q||!F.trim(),className:"rounded-full transition-colors duration-200 disabled:opacity-50 h-8 w-8 sm:h-9 sm:w-9 flex items-center justify-center",style:{color:R.text,backgroundColor:"transparent"},onClick:()=>{je()}},Q?t.createElement("div",{className:"animate-spin rounded-full h-4 w-4 sm:h-5 sm:w-5 border-2",style:{borderColor:`${R.text}40`,borderTopColor:R.text}}):t.createElement(j,{className:"h-4 w-4 sm:h-5 sm:w-5"}))))),W&&M&&t.createElement($e,{onClick:ke,theme:R})))}));Me.displayName="ChatSearch";export{Me as ChatSearch};
|
|
1
|
+
import*as e from"react";import t,{memo as r,useState as a,useEffect as o,useRef as n,useMemo as i,forwardRef as s,useImperativeHandle as l}from"react";import{CheckCircle as c,Clipboard as d,Download as m,Check as p,Copy as g,ThumbsUp as u,ThumbsDown as h,FileText as w,ChevronDown as b,ExternalLink as f,HelpCircle as v,ChevronRight as y,ArrowDown as x,Search as k,X as E,CheckCircle2 as N,Circle as C,Image as j,ArrowRight as z,ArrowUp as S}from"lucide-react";import{motion as O,AnimatePresence as I}from"framer-motion";import{jsx as L,Fragment as R}from"react/jsx-runtime";import{cva as T}from"class-variance-authority";import{clsx as $}from"clsx";import{twMerge as A}from"tailwind-merge";import*as _ from"@radix-ui/react-dropdown-menu";import{ChevronRightIcon as Q,CheckIcon as F,DotFilledIcon as U}from"@radix-ui/react-icons";import*as P from"@radix-ui/react-tooltip";import q from"rehype-raw";import M from"remark-gfm";import{Prism as B}from"react-syntax-highlighter";import{a11yDark as W}from"react-syntax-highlighter/dist/cjs/styles/prism";import Z from"react-markdown";import Y from"mermaid";function H(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}function X(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)t.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(r[a[o]]=e[a[o]])}return r}function D(e,t,r,a){return new(r||(r=Promise))((function(o,n){function i(e){try{l(a.next(e))}catch(e){n(e)}}function s(e){try{l(a.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}l((a=a.apply(e,t||[])).next())}))}function V(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function J(...e){return t=>{let r=!1;const a=e.map((e=>{const a=V(e,t);return r||"function"!=typeof a||(r=!0),a}));if(r)return()=>{for(let t=0;t<a.length;t++){const r=a[t];"function"==typeof r?r():V(e[t],null)}}}}H('/*! tailwindcss v3.3.5 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;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;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--radius:0.5rem}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 0% 83.1%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(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: }::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:rgba(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: }.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-12{left:3rem}.left-2{left:.5rem}.left-4{left:1rem}.right-1{right:.25rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\\/2{top:50%}.top-3{top:.75rem}.z-10{z-index:10}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\\[-5px\\]{margin-top:-5px}.block{display:block}.inline-block{display:inline-block}.\\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-10{height:2.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\[44px\\]{height:44px}.h-full{height:100%}.h-px{height:1px}.min-h-\\[36px\\]{min-height:36px}.min-h-screen{min-height:100vh}.w-1\\/4{width:25%}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-3\\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-5\\/6{width:83.333333%}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-\\[20px\\]{min-width:20px}.min-w-\\[8rem\\]{min-width:8rem}.max-w-3xl{max-width:48rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-1,.-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-outside{list-style-position:outside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.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:.75rem}.rounded-b-lg{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\\[\\#86efac\\]{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-zinc-800\\/80{background-color:rgba(39,39,42,.8)}.bg-opacity-50{--tw-bg-opacity:0.5}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-bottom:0;padding-top:0}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-1{padding-bottom:.25rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-sans{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}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.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-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-normal{line-height:1.5}.tracking-widest{letter-spacing:.1em}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{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 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.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(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)}.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{--tw-backdrop-blur:blur(8px);-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{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.placeholder\\:text-sm::-moz-placeholder{font-size:.875rem;line-height:1.25rem}.placeholder\\:text-sm::placeholder{font-size:.875rem;line-height:1.25rem}.placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:bg-\\[\\#86efac\\]\\/90:hover{background-color:rgba(134,239,172,.9)}.hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\\:bg-zinc-700\\/50:hover{background-color:rgba(63,63,70,.5)}.hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.hover\\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.focus\\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:ring-1: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(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-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-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-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.active\\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\:opacity-100{opacity:1}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked]{--tw-translate-x:1rem}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked],.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.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:-0.5rem}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}:is([data-mode=dark] .dark\\:border-white){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}@media (min-width:640px){.sm\\:ml-3{margin-left:.75rem}.sm\\:block{display:block}.sm\\:h-5{height:1.25rem}.sm\\:h-9{height:2.25rem}.sm\\:h-\\[52px\\]{height:52px}.sm\\:w-5{width:1.25rem}.sm\\:w-9{width:2.25rem}.sm\\:gap-3{gap:.75rem}.sm\\:text-base{font-size:1rem;line-height:1.5rem}.sm\\:placeholder\\:text-base::-moz-placeholder{font-size:1rem;line-height:1.5rem}.sm\\:placeholder\\:text-base::placeholder{font-size:1rem;line-height:1.5rem}}.\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}'),"function"==typeof SuppressedError&&SuppressedError;var K=e.forwardRef(((t,r)=>{const{children:a,...o}=t,n=e.Children.toArray(a),i=n.find(te);if(i){const t=i.props.children,a=n.map((r=>r===i?e.Children.count(t)>1?e.Children.only(null):e.isValidElement(t)?t.props.children:null:r));return L(G,{...o,ref:r,children:e.isValidElement(t)?e.cloneElement(t,void 0,a):null})}return L(G,{...o,ref:r,children:a})}));K.displayName="Slot";var G=e.forwardRef(((t,r)=>{const{children:a,...o}=t;if(e.isValidElement(a)){const t=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;if(r)return e.ref;if(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r)return e.props.ref;return e.props.ref||e.ref}(a);return e.cloneElement(a,{...re(o,a.props),ref:r?J(r,t):t})}return e.Children.count(a)>1?e.Children.only(null):null}));G.displayName="SlotClone";var ee=({children:e})=>L(R,{children:e});function te(t){return e.isValidElement(t)&&t.type===ee}function re(e,t){const r={...t};for(const a in t){const o=e[a],n=t[a];/^on[A-Z]/.test(a)?o&&n?r[a]=(...e)=>{n(...e),o(...e)}:o&&(r[a]=o):"style"===a?r[a]={...o,...n}:"className"===a&&(r[a]=[o,n].filter(Boolean).join(" "))}return{...e,...r}}function ae(...e){return A($(e))}const oe=T("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),ne=e.forwardRef(((t,r)=>{var{className:a,variant:o,size:n,asChild:i=!1}=t,s=X(t,["className","variant","size","asChild"]);const l=i?K:"button";return e.createElement(l,Object.assign({className:ae(oe({variant:o,size:n,className:a})),ref:r},s))}));ne.displayName="Button";const ie=_.Root,se=_.Trigger;e.forwardRef(((t,r)=>{var{className:a,inset:o,children:n}=t,i=X(t,["className","inset","children"]);return e.createElement(_.SubTrigger,Object.assign({ref:r,className:ae("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",o&&"pl-8",a)},i),n,e.createElement(Q,{className:"ml-auto"}))})).displayName=_.SubTrigger.displayName;e.forwardRef(((t,r)=>{var{className:a}=t,o=X(t,["className"]);return e.createElement(_.SubContent,Object.assign({ref:r,className:ae("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a)},o))})).displayName=_.SubContent.displayName;const le=e.forwardRef(((t,r)=>{var{className:a,sideOffset:o=4}=t,n=X(t,["className","sideOffset"]);return e.createElement(_.Portal,null,e.createElement(_.Content,Object.assign({ref:r,sideOffset:o,className:ae("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a)},n)))}));le.displayName=_.Content.displayName;const ce=e.forwardRef(((t,r)=>{var{className:a,inset:o}=t,n=X(t,["className","inset"]);return e.createElement(_.Item,Object.assign({ref:r,className:ae("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",o&&"pl-8",a)},n))}));ce.displayName=_.Item.displayName;e.forwardRef(((t,r)=>{var{className:a,children:o,checked:n}=t,i=X(t,["className","children","checked"]);return e.createElement(_.CheckboxItem,Object.assign({ref:r,className:ae("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:n},i),e.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},e.createElement(_.ItemIndicator,null,e.createElement(F,{className:"h-4 w-4"}))),o)})).displayName=_.CheckboxItem.displayName;e.forwardRef(((t,r)=>{var{className:a,children:o}=t,n=X(t,["className","children"]);return e.createElement(_.RadioItem,Object.assign({ref:r,className:ae("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a)},n),e.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},e.createElement(_.ItemIndicator,null,e.createElement(U,{className:"h-2 w-2 fill-current"}))),o)})).displayName=_.RadioItem.displayName;e.forwardRef(((t,r)=>{var{className:a,inset:o}=t,n=X(t,["className","inset"]);return e.createElement(_.Label,Object.assign({ref:r,className:ae("px-2 py-1.5 text-sm font-semibold",o&&"pl-8",a)},n))})).displayName=_.Label.displayName;e.forwardRef(((t,r)=>{var{className:a}=t,o=X(t,["className"]);return e.createElement(_.Separator,Object.assign({ref:r,className:ae("-mx-1 my-1 h-px bg-muted",a)},o))})).displayName=_.Separator.displayName;const de=P.Provider,me=P.Root,pe=P.Trigger,ge=e.forwardRef(((t,r)=>{var{className:a,sideOffset:o=4}=t,n=X(t,["className","sideOffset"]);return e.createElement(P.Portal,null,e.createElement(P.Content,Object.assign({ref:r,sideOffset:o,className:ae("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a)},n)))}));function ue({suggestions:e,onQuestionClick:r,borderColor:a,title:o="Suggested questions"}){return e&&0!==e.length?t.createElement("div",{className:"w-full"},t.createElement("h3",{className:"text-base font-medium mb-4 text-gray-900"},o),t.createElement("div",{className:"flex flex-wrap gap-2"},e.map((e=>t.createElement("button",{key:e.id,onClick:()=>r(e),className:"px-4 py-2 rounded-lg border border-gray-300 text-gray-700 hover:bg-gray-50 transition-colors duration-200 text-sm flex items-center gap-2",style:{borderColor:a}},void 0!==e.messageCount&&t.createElement(de,null,t.createElement(me,null,t.createElement(pe,{asChild:!0},t.createElement("span",{className:"bg-gray-100 text-gray-600 px-2 py-0.5 rounded-full text-xs min-w-[20px] border flex items-center justify-center",style:{borderColor:a}},e.messageCount)),t.createElement(ge,null,t.createElement("p",null,e.messageCount," messages in this conversation")))),t.createElement("span",null,e.question)))))):null}ge.displayName=P.Content.displayName;const he={javascript:".js",python:".py",java:".java",c:".c",cpp:".cpp","c++":".cpp","c#":".cs",ruby:".rb",php:".php",swift:".swift","objective-c":".m",kotlin:".kt",typescript:".ts",go:".go",perl:".pl",rust:".rs",scala:".scala",haskell:".hs",lua:".lua",shell:".sh",sql:".sql",html:".html",css:".css"},we=B,be=r((({language:e,value:r})=>{const[o,n]=a(!1);return t.createElement("div",{className:"relative font-sans text-sm mt-1"},t.createElement("div",{className:"relative rounded-t-lg bg-zinc-800/80 font-sans text-sm backdrop-blur"},t.createElement("div",{className:"flex h-8 items-center justify-between px-3"},t.createElement("span",{className:"text-xs font-medium text-zinc-400"},e),t.createElement("div",{className:"flex gap-1"},t.createElement(ne,{variant:"ghost",size:"icon",className:"size-5 text-zinc-400 hover:bg-zinc-700/50 hover:text-zinc-100",onClick:()=>{D(void 0,void 0,void 0,(function*(){if(navigator.clipboard&&navigator.clipboard.writeText)try{yield navigator.clipboard.writeText(r),n(!0),setTimeout((()=>{n(!1)}),2e3)}catch(e){console.error("Failed to copy:",e)}}))}},o?t.createElement(c,{size:18}):t.createElement(d,{size:18})),t.createElement(ne,{variant:"ghost",size:"icon",className:"size-5 text-zinc-400 hover:bg-zinc-700/50 hover:text-zinc-100",onClick:()=>{const t=he[e]||".file",a=`file-${((e,t=!1)=>{const r="ABCDEFGHJKLMNPQRSTUVWXY3456789";let a="";for(let t=0;t<e;t+=1)a+=r.charAt(Math.floor(30*Math.random()));return t?a.toLowerCase():a})(3,!0)}${t}`,o=new Blob([r],{type:"text/plain"}),n=URL.createObjectURL(o),i=document.createElement("a");i.download=a,i.href=n,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(n)}},t.createElement(m,{size:18}))))),t.createElement("div",{className:"rounded-b-lg"},t.createElement(we,{language:e,style:W,PreTag:"div",wrapLongLines:!0,customStyle:{margin:0,borderTopLeftRadius:0,borderTopRightRadius:0}},r)))}));be.displayName="CodeBlock";const fe=e.forwardRef((({src:t,border:r,width:a="100%",height:o="400px",title:n},i)=>{const[s,l]=e.useState(!1);return e.useEffect((()=>{let e=!0;return setTimeout((()=>{e&&l(!0)}),0),()=>{e=!1}}),[]),e.createElement("div",{className:"overflow-hidden rounded-lg mt-4 "+(r?"border":""),style:{width:a,height:o}},s&&e.createElement(e.Fragment,null,e.createElement("iframe",{ref:i,src:t,sandbox:"allow-same-origin allow-scripts allow-popups allow-forms allow-downloads",width:a,height:o,frameBorder:"0",title:"embed",loading:"lazy",allowFullScreen:!0,className:"block rounded-lg"}),n&&e.createElement("span",{className:"block text-center text-sm font-medium"},n)))}));function ve(t){const r=t.attrs.href.replace("share","embed");return e.createElement(fe,Object.assign({},t,{src:r,title:"Loom Embed"}))}function ye(t){return e.createElement(fe,Object.assign({},t,{src:t.attrs.href,title:"Supademo Embed"}))}function xe(t){return e.createElement(fe,Object.assign({},t,{src:t.attrs.href,title:"Typeform Embed"}))}function ke(t){const r=t.attrs.href.match(/(http|https)?:\/\/(www\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)(\d+)(?:\/|\?)?([\d\w]+)?/);if(!r)return null;const a=r[4],o=r[5],n=`https://player.vimeo.com/video/${a}?byline=0${o?`&h=${o}`:""}`;return e.createElement(fe,Object.assign({},t,{src:n,title:`Vimeo Embed (${a})`,height:"412px",border:!1}))}function Ee(t){const r=(e=>{const t=[/^https?:\/\/([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)\/?$/,/^https?:\/\/fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)\/?$/,/^fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)\/?$/,/^([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)\/?$/];for(const r of t){const t=e.match(r);if(t)return t}return null})(t.attrs.href);if(!r)return null;const a=r[1],o=r[2]||r[1],n=a?`https://${a}.wistia.com/embed/iframe/${o}?seo=true&videoFoam=false`:`https://fast.wistia.com/embed/iframe/${o}`;return e.createElement(fe,Object.assign({},t,{src:n,border:!0,title:`Wistia Embed (${o})`}))}function Ne(t){const r=(e=>{const t=e.match(/(?:https?:\/\/)?(?:www\.)?youtu\.?be(?:\.com)?\/?.*(?:watch|embed)?(?:.*v=|v\/|\/)([a-zA-Z0-9_-]{11})$/i);return t?t[1]:null})(t.attrs.href);return r?e.createElement(fe,Object.assign({},t,{src:`https://www.youtube.com/embed/${r}?modestbranding=1`,title:`YouTube Embed (${r})`})):null}ve.isMatch=e=>/^https:\/\/(www\.)?(use)?loom\.com\/(embed|share)\/(.*)$/.test(e),ye.isMatch=e=>/^https:\/\/app\.supademo\.com\/embed\/(.*)$/.test(e),xe.isMatch=e=>/^https:\/\/([A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)\.typeform\.com\/to\/(.*)$/.test(e),ke.isMatch=e=>/^(https?):\/\/(www\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)?(\d+)(\/)?(?:\?.*|#.*)?$/i.test(e),Ee.isMatch=e=>[/^https?:\/\/([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^https?:\/\/fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^fast\.wistia\.com\/embed\/iframe\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i,/^([a-zA-Z0-9-_~]+)\.wistia\.com\/medias\/([a-zA-Z0-9-_~]+)(\/)?(\?.*)?$/i].some((t=>t.test(e))),Ne.isMatch=e=>/^(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|v\/|shorts\/)|youtu\.be\/)([a-zA-Z0-9_-]{11})(?:\/|[?&].*)?$/i.test(e);const Ce=[ve,ye,xe,Ne,Ee,ke],je=t=>{const{href:r}=t.attrs,[n,i]=a(null);if(o((()=>{let e=!0;return(()=>{try{const a=Ce.find((e=>e.isMatch(r)));a&&e&&i({Component:a,props:t})}catch(e){console.error("Error finding embed match:",e)}})(),()=>{e=!1}}),[r,t]),n){const{Component:t,props:r}=n;return e.createElement(t,Object.assign({},r))}return null},ze=r(Z,((e,t)=>e.children===t.children)),Se={startOnLoad:!1,theme:"default",securityLevel:"loose",fontFamily:"inherit"},Oe=({content:e})=>{const[r,i]=a(""),[s,l]=a(null),c=n(null),[d,m]=a(!1);return o((()=>{(()=>{try{Y.initialize(Se),m(!0)}catch(e){console.error("Error initializing mermaid:",e),l("Failed to initialize diagram renderer")}})()}),[]),o((()=>{if(!d)return;D(void 0,void 0,void 0,(function*(){try{const t=`mermaid-${Math.random().toString(36).substr(2,9)}`,r=yield Y.render(t,e);i(r.svg),l(null)}catch(e){console.error("Error rendering mermaid diagram:",e),l("Failed to render diagram")}}))}),[e,d]),s?t.createElement("div",{className:"text-red-500 bg-red-50 p-4 rounded-md"},s,t.createElement("pre",{className:"mt-2 text-sm"},e)):t.createElement("div",{ref:c,className:"my-4 overflow-auto",dangerouslySetInnerHTML:{__html:r}})},Ie=r((({message:e})=>(e.content=e.content.replace(/^\n+|(\n+|\\)+$/g,""),t.createElement(ze,{className:"dark:prose-invert prose flex-1",remarkPlugins:[M],rehypePlugins:[q],components:{code:e=>{var{inline:r,className:a,children:o}=e,n=X(e,["inline","className","children"]);const i=/language-(\w+)/.exec(a||""),s=i&&i[1];return r||"mermaid"!==s&&"mermaidjs"!==s?!r&&s?t.createElement(be,Object.assign({key:Math.random(),language:s,value:String(o).replace(/\n$/,"")},n)):t.createElement("code",Object.assign({className:`text-red-400 bg-slate-200 border-slate-300 border rounded p-0.5 ${a}`.trim()},n),o):t.createElement(Oe,{content:String(o).replace(/\n$/,"")})},marker:({children:e})=>t.createElement("div",{className:"my-2"},t.createElement("span",{className:"highlight"},e)),table:({children:e})=>t.createElement("table",{className:"border-collapse border border-black px-3 py-1 dark:border-white"},e),th:({children:e})=>t.createElement("th",{className:"break-words border border-black bg-gray-500 px-3 py-1 text-white dark:border-white"},e),td:({children:e})=>t.createElement("td",{className:"break-words border border-black px-3 py-1 dark:border-white"},e),a(e){var{children:r}=e,a=X(e,["children"]);if(a.href){const e=je({attrs:{href:a.href}});if(t.isValidElement(e))return e}return t.createElement("a",Object.assign({className:"link",target:"_blank",rel:"noopener noreferrer"},a),r)},pre:({children:e})=>t.createElement(t.Fragment,null,e),img({src:e,alt:r}){const a=je({attrs:{href:null!=e?e:""}});return t.isValidElement(a)?a:t.createElement("img",{src:e,alt:r,className:"w-full"})},li:e=>{var{children:r}=e,a=X(e,["children"]);return t.createElement("li",Object.assign({className:"py-1"},a),r)},ul:({children:e})=>t.createElement("ul",{className:"ml-4 list-outside list-disc"},e),ol:({children:e})=>t.createElement("ol",{className:"ml-4 list-outside list-decimal"},e),strong:e=>{var{children:r}=e,a=X(e,["children"]);return t.createElement("span",Object.assign({className:"font-semibold"},a),r)},h1:e=>{var{children:r}=e,a=X(e,["children"]);return t.createElement("h1",Object.assign({className:"mb-2 mt-6 text-3xl font-semibold"},a),r)},h2:e=>{var{children:r}=e,a=X(e,["children"]);return t.createElement("h2",Object.assign({className:"mb-2 mt-6 text-2xl font-semibold"},a),r)},h3:e=>{var{children:r}=e,a=X(e,["children"]);return t.createElement("h3",Object.assign({className:"mb-2 mt-6 text-xl font-semibold"},a),r)},h4:e=>{var{children:r}=e,a=X(e,["children"]);return t.createElement("h4",Object.assign({className:"mb-2 mt-6 text-lg font-semibold"},a),r)},h5:e=>{var{children:r}=e,a=X(e,["children"]);return t.createElement("h5",Object.assign({className:"mb-2 mt-6 text-base font-semibold"},a),r)},h6:e=>{var{children:r}=e,a=X(e,["children"]);return t.createElement("h6",Object.assign({className:"mb-2 mt-6 text-sm font-semibold"},a),r)}}},e.content))));var Le="generating-star-module_animate-spin__AJjwz";H(".generating-star-module_animate-spin__AJjwz{animation:generating-star-module_rotate__ChndJ 2s linear infinite;transform:none;transform-box:fill-box;transform-origin:center}@keyframes generating-star-module_rotate__ChndJ{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}");const Re=({loading:e,color:r="#000"})=>t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"mt-[-5px] inline-block flex-shrink-0",style:{minWidth:"24px",minHeight:"24px"}},t.createElement("path",{className:e?Le:"",d:"M7.54672 16.0031L2.66234 14.2031C2.51881 14.1498 2.39502 14.0539 2.3076 13.9282C2.22019 13.8025 2.17333 13.6531 2.17333 13.5C2.17333 13.3469 2.22019 13.1975 2.3076 13.0718C2.39502 12.9461 2.51881 12.8501 2.66234 12.7969L7.54672 10.9969C7.64981 10.9589 7.74344 10.899 7.82113 10.8213C7.89882 10.7436 7.95873 10.65 7.99672 10.5469L9.79672 5.66249C9.84999 5.51896 9.94592 5.39517 10.0716 5.30775C10.1973 5.22033 10.3467 5.17348 10.4998 5.17348C10.6529 5.17348 10.8024 5.22033 10.9281 5.30775C11.0538 5.39517 11.1497 5.51896 11.203 5.66249L13.003 10.5469C13.041 10.65 13.1009 10.7436 13.1786 10.8213C13.2562 10.899 13.3499 10.9589 13.453 10.9969L18.3373 12.7969C18.4809 12.8501 18.6047 12.9461 18.6921 13.0718C18.7795 13.1975 18.8264 13.3469 18.8264 13.5C18.8264 13.6531 18.7795 13.8025 18.6921 13.9282C18.6047 14.0539 18.4809 14.1498 18.3373 14.2031L13.453 16.0031C13.3499 16.0411 13.2562 16.101 13.1786 16.1787C13.1009 16.2564 13.041 16.35 13.003 16.4531L11.203 21.3375C11.1497 21.481 11.0538 21.6048 10.9281 21.6922C10.8024 21.7796 10.6529 21.8265 10.4998 21.8265C10.3467 21.8265 10.1973 21.7796 10.0716 21.6922C9.94592 21.6048 9.84999 21.481 9.79672 21.3375L7.99672 16.4531C7.95873 16.35 7.89882 16.2564 7.82113 16.1787C7.74344 16.101 7.64981 16.0411 7.54672 16.0031Z",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",fill:e?r:"none",strokeLinejoin:"round"}),t.createElement("path",{d:"M18.7497 3.75L14.2497 3.75",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.createElement("path",{d:"M16.4999 6V1.5",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.createElement("path",{d:"M22.4999 8.25001H19.4999",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.createElement("path",{d:"M20.9998 9.75002V6.75002",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}));function Te({answer:e,question:r,theme:o,searchResults:n,isStreaming:s=!1,searchQueryId:l,feedback:c,onFeedback:d,disableFeedback:m=!1,textConfig:v={},isLoading:y=!1,isSearchLoading:x=!1}){const[k,E]=a(!1),[N,C]=a(!1),j=i((()=>({content:e})),[e]),z=()=>D(this,void 0,void 0,(function*(){try{yield navigator.clipboard.writeText(e),E(!0),setTimeout((()=>E(!1)),2e3)}catch(e){console.error("Failed to copy text:",e)}})),S=e=>{d&&l&&d(e)};return t.createElement("div",{className:"rounded-lg p-6 relative",style:{backgroundColor:o.cardBackground,borderColor:o.border,borderWidth:"1px",borderStyle:"solid"}},t.createElement("div",{className:"flex items-start justify-between"},t.createElement("div",{className:"flex items-center gap-2 mb-4"},t.createElement("div",{className:"mt-1"},t.createElement(Re,{loading:y||s,color:o.primary})),t.createElement("h2",{className:"text-xl leading-normal",style:{color:o.text}},r)),e&&t.createElement(de,null,t.createElement(me,null,t.createElement(pe,{asChild:!0},t.createElement("button",{onClick:()=>{z()},className:"flex items-center justify-center w-8 h-8 rounded-md hover:bg-gray-100 transition-colors duration-200"},k?t.createElement(p,{className:"h-4 w-4 text-green-500"}):t.createElement(g,{className:"h-4 w-4 text-gray-500"}))),t.createElement(ge,null,t.createElement("p",null,k?"Copied!":"Copy"))))),y?t.createElement("div",{className:"space-y-4"},t.createElement("div",{className:"flex items-center gap-2"},t.createElement("div",{className:"animate-pulse h-5 rounded-full w-5",style:{backgroundColor:`${o.primary}30`}}),t.createElement("div",{className:"flex items-center gap-2 text-sm",style:{color:o.text}},x?v.loadingSearchText:v.loadingAnswerText)),t.createElement("div",{className:"space-y-3"},t.createElement("div",{className:"animate-pulse h-4 bg-gray-200 rounded w-3/4",style:{backgroundColor:`${o.border}40`}}),t.createElement("div",{className:"animate-pulse h-4 bg-gray-200 rounded w-full",style:{backgroundColor:`${o.border}40`}}),t.createElement("div",{className:"animate-pulse h-4 bg-gray-200 rounded w-5/6",style:{backgroundColor:`${o.border}40`}})),t.createElement("div",{className:"mt-6 space-y-3"},t.createElement("div",{className:"animate-pulse h-4 bg-gray-200 rounded w-1/4",style:{backgroundColor:`${o.border}40`}}),t.createElement("div",{className:"flex gap-2"},t.createElement("div",{className:"animate-pulse h-8 bg-gray-200 rounded w-32",style:{backgroundColor:`${o.border}40`}}),t.createElement("div",{className:"animate-pulse h-8 bg-gray-200 rounded w-40",style:{backgroundColor:`${o.border}40`}})))):e&&t.createElement("div",{className:"prose prose-sm max-w-none",style:{color:o.text}},t.createElement(Ie,{message:j})),e&&!s&&!m&&t.createElement("div",{className:"mt-2 flex justify-end gap-2"},t.createElement(de,null,t.createElement(me,null,t.createElement(pe,{asChild:!0},t.createElement(ne,{variant:"ghost",size:"sm",className:"rounded-md h-8 w-8 flex items-center justify-center transition-all duration-200 transform hover:scale-105 active:scale-95 "+("accept"===c?"bg-green-100 text-green-600 hover:bg-green-200":""),onClick:()=>S("accept"),disabled:Boolean(c)},t.createElement(O.div,{initial:{scale:1},animate:{scale:"accept"===c?[1,1.2,1]:1},transition:{duration:.3}},t.createElement(u,{className:"h-4 w-4"})))),t.createElement(ge,null,t.createElement("p",null,v.positiveAnswerText||"Helpful")))),t.createElement(de,null,t.createElement(me,null,t.createElement(pe,{asChild:!0},t.createElement(ne,{variant:"ghost",size:"sm",className:"rounded-md h-8 w-8 flex items-center justify-center transition-all duration-200 transform hover:scale-105 active:scale-95 "+("reject"===c?"bg-red-100 text-red-600 hover:bg-red-200":""),onClick:()=>S("reject"),disabled:Boolean(c)},t.createElement(O.div,{initial:{scale:1},animate:{scale:"reject"===c?[1,1.2,1]:1},transition:{duration:.3}},t.createElement(h,{className:"h-4 w-4"})))),t.createElement(ge,null,t.createElement("p",null,v.negativeAnswerText||"Not helpful"))))),n&&n.length>0&&t.createElement("div",{className:"mt-6 rounded-lg overflow-hidden",style:{backgroundColor:o.surface,borderWidth:"1px",borderStyle:"solid",borderColor:o.border}},t.createElement("button",{onClick:()=>C(!N),className:"w-full flex items-center justify-between p-3 transition-all duration-200 hover:bg-opacity-50",style:{color:o.text,borderBottom:N?`1px solid ${o.surfaceBorder}`:"none"}},t.createElement("div",{className:"flex items-center gap-2"},t.createElement(w,{className:"h-4 w-4 flex-shrink-0",style:{color:o.primary}}),t.createElement("span",{className:"font-medium truncate"},`Related Articles (${n.length})`)),t.createElement(b,{className:"h-4 w-4 flex-shrink-0 transition-transform duration-200 "+(N?"rotate-180":""),style:{color:o.text}})),t.createElement("div",{className:"overflow-hidden transition-all duration-200 ease-in-out",style:{maxHeight:N?48*n.length+"px":"0",opacity:N?1:0,transform:`translateY(${N?"0":"-10px"})`}},t.createElement("div",{className:"divide-y divide-gray-200"},n.map((e=>t.createElement("a",{key:e.id,href:e.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 p-3 transition-colors duration-200 hover:bg-gray-50",style:{color:o.text,backgroundColor:o.surface}},t.createElement("span",{className:"flex-grow truncate"},e.title),t.createElement(f,{className:"h-4 w-4 flex-shrink-0",style:{color:`${o.text}60`}}))))))))}function $e({questions:e,onQuestionClick:r,theme:a}){return e.length?t.createElement(O.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"w-full"},t.createElement("div",{className:"rounded-lg overflow-hidden",style:{backgroundColor:a.surface,borderWidth:"1px",borderStyle:"solid",borderColor:a.border}},t.createElement("div",{className:"p-3 border-b",style:{borderColor:a.surfaceBorder}},t.createElement("div",{className:"flex items-center gap-2"},t.createElement(v,{className:"h-4 w-4 flex-shrink-0",style:{color:a.primary}}),t.createElement("span",{className:"font-medium"},"Follow-up Questions"))),t.createElement("div",{className:"divide-y divide-gray-200"},e.map(((e,o)=>t.createElement(O.button,{key:o,initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.1*o},onClick:()=>r(e),className:"w-full flex items-center gap-2 p-3 transition-colors duration-200 hover:bg-gray-50 text-left",style:{color:a.text,backgroundColor:a.surface}},t.createElement("span",{className:"flex-grow"},e),t.createElement(y,{className:"h-4 w-4 flex-shrink-0",style:{color:`${a.text}60`}}))))))):null}function Ae({questions:e,currentIndex:r,activeIndex:a,onNavigate:o,theme:n,offset:i}){return t.createElement(O.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.5},className:"fixed left-4 top-1/2 -translate-y-1/2 z-50 flex flex-col gap-2",style:Object.assign({},i?{left:`${i}px`}:{})},e.map(((e,i)=>t.createElement("div",{key:i,className:"relative group"},t.createElement("button",{onClick:()=>o(i),className:"flex items-center justify-center w-8 h-8 rounded-full transition-all duration-200 "+(i<=r?"hover:opacity-90":""),style:{backgroundColor:i===a?n.primary:"#ccc",color:i===a?n.background:"#333",opacity:i>r?.5:1,cursor:"pointer"}},i+1),t.createElement("div",{className:"absolute left-12 top-0 px-3 py-2 rounded-lg whitespace-normal opacity-0 group-hover:opacity-100 w-48 text-sm transition-opacity duration-200",style:{backgroundColor:n.background,color:n.text,borderColor:n.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)"}},e,t.createElement("div",{className:"absolute left-0 top-3 -translate-x-1 w-2 h-2 rotate-45",style:{backgroundColor:n.background,borderLeft:`1px solid ${n.border}`,borderBottom:`1px solid ${n.border}`}}))))))}function _e({onClick:e,theme:r}){return t.createElement(ne,{className:"fixed bottom-20 right-4 rounded-full p-2 transition-opacity duration-300",style:{backgroundColor:r.background,borderColor:r.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)"},onClick:e},t.createElement(x,{className:"h-5 w-5",style:{color:r.text}}))}function Qe({endpoint:e,query:t,collectionId:r,headers:a,conversationId:o}){var n;return D(this,void 0,void 0,(function*(){try{const i=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},a),body:JSON.stringify(Object.assign(Object.assign({query:t,limit:5},r&&"all"!==r&&{collectionId:r}),o&&{conversationId:o}))});if(!i.ok)throw new Error("Failed to fetch search results");const s=yield i.json();return{results:null==s?void 0:s.data,searchQueryId:null===(n=null==s?void 0:s.searchQuery)||void 0===n?void 0:n.id}}catch(e){throw console.error("Error searching:",e),e}}))}function Fe({endpoint:e,searchQueryId:t,headers:r,conversationId:a}){return D(this,void 0,void 0,(function*(){try{const o=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},r),body:JSON.stringify(Object.assign({searchQueryId:t},a&&{conversationId:a}))});if(!o.ok)throw new Error("Failed to fetch answer");return o}catch(e){throw console.error("Error fetching answer:",e),e}}))}function Ue(){return`bf-conversation-${Date.now()}-${"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}`}function Pe({endpoint:e,conversationId:t,headers:r}){return D(this,void 0,void 0,(function*(){try{const a=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},r),body:JSON.stringify({conversationId:t})});if(!a.ok)throw new Error("Failed to load conversation");const o=yield a.json();return{data:o.data.map((e=>Object.assign(Object.assign({},e),{feedback:e.feedback?"positive"===e.feedback?"accept":"reject":void 0})))}}catch(e){throw console.error("Error loading conversation:",e),e}}))}const qe={primary:"#A3E635",accent:"#f9fafb",background:"white",text:"#171717",border:"#171717",hover:"#171717",surface:"#F9FAFB",surfaceBorder:"#E5E7EB",surfaceHover:"#F3F4F6",cardBackground:"white"},Me={headerText:"How can we help you today?",searchPlaceholder:"Ask a question or type a search term here ...",attachImageText:"Attach image",allDocumentsText:"All documents",loadingSearchText:"Searching for relevant content...",loadingAnswerText:"Crafting a response...",errorText:"Sorry, there was an error generating the answer.",followUpPlaceholder:"Ask follow-up",positiveAnswerText:"Helpful",negativeAnswerText:"Not helpful"},Be=s((({suggestions:e,theme:r={},collections:i=[],selectedCollectionId:s,onCollectionChange:c,searchEndpoint:d,answerEndpoint:m,feedbackEndpoint:p,loadConversationEndpoint:g,disableFollowUpQuestions:u=!1,disableImageAttachment:h=!1,disableFeedback:w=!1,siblingNode:f,offset:v=0,headers:y,textConfig:x={},followUpQuestionsEndpoint:L},R)=>{var T;const $=Object.assign(Object.assign({},qe),r),A=Object.assign(Object.assign({},Me),x),[_,Q]=a(""),[F,U]=a(""),[P,q]=a(!1),[M,B]=a(!1),[W,Z]=a([]),[Y,H]=a(!1),[X,V]=a(0),[J,K]=a([]),[G,ee]=a(s),[te,re]=a(!0),[ae,oe]=a(""),[de,me]=a(!1),[pe,ge]=a(),he=n(null),we=n(null),be=n([]),fe=n(null),ve=n(null),ye=n([]);o((()=>{const e=new URLSearchParams(window.location.search).get("conversation");if(e&&g)me(!0),B(!0),Pe({endpoint:g,conversationId:e,headers:y}).then((t=>{Z(t.data),oe(e),B(!0)})).catch((e=>{console.error("Error loading conversation:",e),ge(A.errorText||"An error occurred"),B(!1),Z([]);const t=Ue();oe(t);const r=new URL(window.location.href);r.searchParams.delete("conversation"),window.history.replaceState({},"",r.toString())})).finally((()=>{me(!1)}));else{const e=Ue();oe(e)}}),[g]),o((()=>{if(ae&&W.length>0){const e=new URL(window.location.href);e.searchParams.set("conversation",ae),window.history.replaceState({},"",e.toString())}}),[ae,W.length]),o((()=>{const e={showResults:M,answers:W,isLoading:de,error:pe};ye.current.forEach((t=>t(e)))}),[M,W,de,pe]),l(R,(()=>({createNewThread:()=>{Q(""),U(""),B(!1),Z([]),V(0),K([]);const e=Ue();oe(e);const t=new URL(window.location.href);t.searchParams.delete("conversation"),window.history.replaceState({},"",t.toString()),he.current&&(he.current.style.height="auto")},showFollowUpThread:e=>{re(e)},subscribeToStateChanges:e=>(ye.current.push(e),e({showResults:M,answers:W,isLoading:!1,error:void 0}),()=>{ye.current=ye.current.filter((t=>t!==e))})}))),o((()=>{ee(s)}),[s]);const xe=e=>{e.style.height="auto",e.style.height=`${e.scrollHeight}px`},ke=()=>{requestAnimationFrame((()=>{const e=be.current[be.current.length-1];if(e){const t=e.getBoundingClientRect(),r=window.pageYOffset||document.documentElement.scrollTop,a=t.top+r-80;window.scrollTo({top:a,behavior:"smooth"})}}))},Ee=e=>D(void 0,void 0,void 0,(function*(){var t;const r=null===(t=e.body)||void 0===t?void 0:t.getReader();if(!r)return;Z((e=>{const t=[...e],r=t[t.length-1];return r&&(r.isLoading=!1,r.isStreaming=!0,r.searchResults=r.searchResults||[]),t}));let a="";try{let e,t;for(;({done:e,value:t}=yield r.read()),!e;){const e=(new TextDecoder).decode(t);a+=e,Z((e=>{const t=[...e],r=t[t.length-1];return r&&(r.answer=a,r.isLoading=!1,r.isStreaming=!0,r.searchResults=r.searchResults||[]),t}))}}finally{Z((e=>{const t=[...e],r=t[t.length-1];return r&&(r.isStreaming=!1,r.isLoading=!1,r.searchResults=r.searchResults||[],L&&!u&&r.searchQueryId&&D(void 0,void 0,void 0,(function*(){try{const e=yield function({endpoint:e,searchQueryId:t,headers:r,conversationId:a}){return D(this,void 0,void 0,(function*(){try{const o=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},r),body:JSON.stringify(Object.assign({searchQueryId:t},a&&{conversationId:a}))});if(!o.ok)throw new Error("Failed to fetch follow-up questions");return(yield o.json()).questions}catch(e){throw console.error("Error fetching follow-up questions:",e),e}}))}({endpoint:L,searchQueryId:r.searchQueryId,headers:y,conversationId:ae});Z((t=>{const r=[...t],a=r[r.length-1];return a&&(a.followUpQuestions=e),r}))}catch(e){console.error("Error fetching follow-up questions:",e)}}))),t})),r.releaseLock()}})),Ne=(e,t,r)=>D(void 0,void 0,void 0,(function*(){if(p){Z((t=>{const a=[...t];return a[r]&&(a[r]=Object.assign(Object.assign({},a[r]),{feedback:e})),a}));try{yield function({endpoint:e,searchQueryId:t,response:r,headers:a,conversationId:o}){return D(this,void 0,void 0,(function*(){try{if(!(yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},a),body:JSON.stringify(Object.assign({searchQueryId:t,response:r},o&&{conversationId:o}))})).ok)throw new Error("Failed to send feedback")}catch(e){throw console.error("Error sending feedback:",e),e}}))}({endpoint:p,searchQueryId:t,response:e,headers:y,conversationId:ae})}catch(e){console.error("Error sending feedback:",e),Z((e=>{const t=[...e];return t[r]&&(t[r]=Object.assign(Object.assign({},t[r]),{feedback:void 0})),t}))}}})),Ce=(e=_.trim())=>D(void 0,void 0,void 0,(function*(){if(e){q(!0),B(!0);const t=ae||Ue();ae||oe(t);const r={question:e,answer:"",isLoading:!0,isSearchLoading:!0,searchResults:[],searchQueryId:void 0,isStreaming:!1};Z((e=>[...e,r]));const a=W.length;V(a),ke(),yield Promise.resolve();try{const r=yield Qe({endpoint:d,query:e,collectionId:G,headers:y,conversationId:t});Z((e=>{const t=[...e];return t[t.length-1]&&(t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{searchResults:r.results,searchQueryId:r.searchQueryId,isSearchLoading:!1})),t}));const a=yield Fe({endpoint:m,searchQueryId:r.searchQueryId,headers:y,conversationId:t});yield Ee(a)}catch(e){console.error("Error generating answer:",e),Z((e=>{const t=[...e];return t[t.length-1]&&(t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{answer:A.errorText||"An error occurred",isLoading:!1,isSearchLoading:!1,isStreaming:!1})),t}))}finally{q(!1)}}})),je=()=>D(void 0,void 0,void 0,(function*(){if(F.trim()){const e=F;Q(e),U(""),yield Ce(e)}}));o((()=>{const e=()=>{const e=window.innerHeight+window.pageYOffset>=document.documentElement.scrollHeight-100;H(!e)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]),o((()=>()=>{J.forEach((e=>URL.revokeObjectURL(e.preview)))}),[J]);o((()=>{const e=()=>{new URLSearchParams(window.location.search).get("conversation")||(Q(""),U(""),B(!1),Z([]),V(0),K([]),he.current&&(he.current.style.height="auto"))};return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)}),[]);const ze=e=>{Ce(e)};return t.createElement("div",{className:"relative min-h-screen"},t.createElement("div",{ref:fe,className:"w-full max-w-3xl mx-auto flex flex-col items-center space-y-8 px-4 py-20",style:{"--surface-border":$.surfaceBorder,"--surface-hover":$.surfaceHover}},t.createElement(I,null,de?t.createElement(O.div,{key:"loading",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"w-full flex items-center justify-center py-20"},t.createElement("div",{className:"flex flex-col items-center gap-4"},t.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-2 border-t-transparent",style:{borderColor:$.primary}}),t.createElement("p",{className:"text-sm",style:{color:$.text}},"Loading conversation..."))):M?t.createElement(O.div,{key:"results",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.5},className:"w-full space-y-4 py-4 mb-20"},W.map(((e,r)=>t.createElement(O.div,{key:r,ref:e=>be.current[r]=e,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.1*r}},t.createElement(Te,{answer:e.answer,question:e.question,theme:$,searchResults:e.searchResults,isStreaming:e.isStreaming,searchQueryId:e.searchQueryId,feedback:e.feedback,onFeedback:w||!p?void 0:t=>Ne(t,e.searchQueryId,r),disableFeedback:w||!p,textConfig:A,isLoading:e.isLoading,isSearchLoading:e.isSearchLoading}),r===W.length-1&&!u&&e.followUpQuestions&&!e.isStreaming&&t.createElement("div",{className:"mt-4"},t.createElement($e,{questions:e.followUpQuestions,onQuestionClick:ze,theme:$})))))):t.createElement(O.div,{key:"search",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.5},className:"w-full space-y-8"},t.createElement("div",{className:"w-full text-center space-y-4"},t.createElement(O.h1,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3},className:"text-5xl font-bold",style:{color:$.text}},A.headerText)),t.createElement(O.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.4}},t.createElement("div",{className:"relative w-full rounded-md overflow-hidden",style:{backgroundColor:$.background,borderColor:$.border,borderWidth:"1px",borderStyle:"solid"}},t.createElement("div",{className:"p-3 flex items-center"},t.createElement(k,{className:"h-5 w-5 text-gray-400 mr-2"}),t.createElement("textarea",{ref:he,placeholder:A.searchPlaceholder,value:_,onChange:e=>{Q(e.target.value),xe(e.target)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),Ce())},className:"w-full resize-none outline-none text-lg py-1 font-light min-h-[36px] overflow-hidden placeholder:text-gray-400 border-none bg-transparent",style:{color:$.text,outline:"none",boxShadow:"none",fontSize:"16px"},rows:1})),!h&&J.length>0&&t.createElement("div",{className:"flex gap-2 mt-3 overflow-x-auto pb-1 px-3"},J.map(((e,r)=>t.createElement("div",{key:r,className:"relative group rounded-lg overflow-hidden flex-shrink-0",style:{width:"80px",height:"80px"}},t.createElement("img",{src:e.preview,alt:`Attached ${r+1}`,className:"w-full h-full object-cover"}),t.createElement("button",{onClick:()=>(e=>{K((t=>(URL.revokeObjectURL(t[e].preview),t.filter(((t,r)=>r!==e)))))})(r),className:"absolute top-1 right-1 bg-black bg-opacity-50 rounded-full p-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200"},t.createElement(E,{className:"h-3 w-3 text-white"})))))),t.createElement("div",{className:"flex items-center justify-between px-3 py-2 bg-gray-100 border-t border-gray-200"},t.createElement("div",{className:"flex gap-2"},i.length>0&&t.createElement(ie,null,t.createElement(se,{asChild:!0},t.createElement(ne,{variant:"ghost",size:"sm",className:"hover:bg-gray-200 transition-all duration-200 rounded-md h-8 flex items-center gap-2 text-gray-700"},G&&"all"!==G?t.createElement(N,{className:"h-5 w-5 text-green-500"}):t.createElement(C,{className:"h-5 w-5 text-gray-400"}),(null===(T=i.find((e=>e.id===G)))||void 0===T?void 0:T.name)||A.allDocumentsText,t.createElement(b,{className:"h-4 w-4 opacity-50"}))),t.createElement(le,null,i.map((e=>t.createElement(ce,{key:e.id,onClick:()=>{return t=e.id,ee(t),void(null==c||c(t));var t},className:e.id===G?"bg-gray-100":""},e.id===G?t.createElement(N,{className:"h-4 w-4 mr-2 text-green-500"}):t.createElement(C,{className:"h-4 w-4 mr-2 text-gray-400"}),e.name))))),!h&&t.createElement(t.Fragment,null,t.createElement("input",{type:"file",ref:ve,accept:"image/*",multiple:!0,className:"hidden",onChange:e=>{const t=e.target.files;if(t){const e=Array.from(t).map((e=>({file:e,preview:URL.createObjectURL(e)})));K((t=>[...t,...e]))}ve.current&&(ve.current.value="")}}),t.createElement(ne,{variant:"ghost",size:"sm",className:"hover:bg-gray-200 rounded-md h-8 text-gray-700",onClick:()=>{var e;return null===(e=ve.current)||void 0===e?void 0:e.click()}},t.createElement(j,{className:"h-4 w-4 mr-1.5"}),A.attachImageText))),t.createElement("div",{className:"flex items-center"},t.createElement(ne,{size:"sm",disabled:!_||P,className:"rounded-md h-8 w-8 bg-[#86efac] hover:bg-[#86efac]/90 disabled:opacity-50",onClick:()=>{Ce()}},P?t.createElement("div",{className:"animate-spin rounded-full h-4 w-4 border-2 border-t-transparent",style:{borderColor:"white"}}):t.createElement(z,{className:"h-4 w-4 text-gray-700"})))))),t.createElement(ue,{suggestions:e||[],onQuestionClick:e=>{if(e.conversationId&&g)return me(!0),B(!0),void Pe({endpoint:g,conversationId:e.conversationId,headers:y}).then((t=>{Z(t.data),oe(e.conversationId),B(!0)})).catch((e=>{console.error("Error loading conversation:",e),ge(A.errorText||"An error occurred"),B(!1),Z([]);const t=Ue();oe(t);const r=new URL(window.location.href);r.searchParams.delete("conversation"),window.history.replaceState({},"",r.toString())})).finally((()=>{me(!1)}));if(B(!0),q(!0),!ae){const e=Ue();oe(e)}Z((t=>[...t,{question:e.question,answer:"",isLoading:!0,isSearchLoading:!0}])),D(void 0,void 0,void 0,(function*(){try{const t=yield Qe({endpoint:d,query:e.question,collectionId:G,headers:y,conversationId:ae}),r=t.results;Z((e=>{const a=[...e];return a[a.length-1]=Object.assign(Object.assign({},a[a.length-1]),{searchResults:r,searchQueryId:t.searchQueryId,isSearchLoading:!1}),a}));const a=yield Fe({endpoint:m,searchQueryId:t.searchQueryId,headers:y,conversationId:ae});yield Ee(a)}catch(e){console.error("Error generating answer:",e),Z((e=>{const t=[...e];return t[t.length-1]=Object.assign(Object.assign({},t[t.length-1]),{answer:A.errorText||"An error occurred",isLoading:!1,isSearchLoading:!1}),t}))}finally{q(!1),ke()}}))},borderColor:$.border,title:A.suggestionsTitle}),f)),M&&W.length>1&&t.createElement("div",{className:"hidden sm:block"},t.createElement(Ae,{questions:W.map((e=>e.question)),currentIndex:P?W.length-1:X,activeIndex:X,onNavigate:e=>{V(e),(e=>{requestAnimationFrame((()=>{const t=be.current[e];if(t){const e=t.getBoundingClientRect(),r=window.pageYOffset||document.documentElement.scrollTop,a=e.top+r-80;window.scrollTo({top:a,behavior:"smooth"})}}))})(e)},theme:$,offset:v})),M&&te&&t.createElement(O.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5},className:"fixed bottom-4 left-4 right-4 max-w-3xl mx-auto z-10",style:{left:`${v}px`}},t.createElement("div",{className:"rounded-full h-[44px] sm:h-[52px] flex items-center justify-between",style:{backgroundColor:$.background,borderColor:$.border,borderWidth:"1px",borderStyle:"solid",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)",padding:"0 14px"}},t.createElement("div",{className:"flex items-center gap-2 sm:gap-3 flex-grow overflow-hidden h-full"},t.createElement(k,{className:"h-4 w-4 sm:h-5 sm:w-5 flex-shrink-0",style:{color:$.primary}}),t.createElement("textarea",{ref:we,placeholder:A.followUpPlaceholder,value:F,onChange:e=>{U(e.target.value),xe(e.target)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),je())},disabled:P,className:"w-full bg-transparent outline-none text-sm sm:text-base resize-none overflow-hidden disabled:opacity-50 border-none h-full py-3 placeholder:text-sm sm:placeholder:text-base",style:{color:$.text,outline:"none",boxShadow:"none",fontSize:"16px"},rows:1})),t.createElement("div",{className:"flex items-center gap-2 sm:gap-3 ml-2 sm:ml-3 flex-shrink-0"},t.createElement(ne,{size:"icon",variant:"ghost",disabled:P||!F.trim(),className:"rounded-full transition-colors duration-200 disabled:opacity-50 h-8 w-8 sm:h-9 sm:w-9 flex items-center justify-center",style:{color:$.text,backgroundColor:"transparent"},onClick:()=>{je()}},P?t.createElement("div",{className:"animate-spin rounded-full h-4 w-4 sm:h-5 sm:w-5 border-2",style:{borderColor:`${$.text}40`,borderTopColor:$.text}}):t.createElement(S,{className:"h-4 w-4 sm:h-5 sm:w-5"}))))),Y&&M&&t.createElement(_e,{onClick:ke,theme:$})))}));Be.displayName="ChatSearch";export{Be as ChatSearch};
|
package/dist/index.d.ts
CHANGED
|
@@ -55,21 +55,25 @@ interface Suggestion {
|
|
|
55
55
|
}
|
|
56
56
|
interface ChatSearchProps {
|
|
57
57
|
suggestions?: Suggestion[];
|
|
58
|
+
theme?: Partial<Theme>;
|
|
59
|
+
collections?: Array<{
|
|
60
|
+
id: string;
|
|
61
|
+
name: string;
|
|
62
|
+
}>;
|
|
63
|
+
selectedCollectionId?: string;
|
|
64
|
+
onCollectionChange?: (collectionId: string) => void;
|
|
58
65
|
searchEndpoint: string;
|
|
59
66
|
answerEndpoint: string;
|
|
60
67
|
feedbackEndpoint?: string;
|
|
61
68
|
loadConversationEndpoint?: string;
|
|
62
|
-
|
|
63
|
-
selectedCollectionId?: string;
|
|
64
|
-
onCollectionChange?: (collectionId: string) => void;
|
|
69
|
+
followUpQuestionsEndpoint?: string;
|
|
65
70
|
disableFollowUpQuestions?: boolean;
|
|
66
71
|
disableImageAttachment?: boolean;
|
|
67
72
|
disableFeedback?: boolean;
|
|
68
|
-
theme?: Theme;
|
|
69
|
-
textConfig?: TextConfig;
|
|
70
|
-
headers?: Record<string, string>;
|
|
71
73
|
siblingNode?: React.ReactNode;
|
|
72
74
|
offset?: number;
|
|
75
|
+
headers?: Record<string, string>;
|
|
76
|
+
textConfig?: TextConfig;
|
|
73
77
|
}
|
|
74
78
|
interface ChatSearchState {
|
|
75
79
|
showResults: boolean;
|